<?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>200072</bug_id>
          
          <creation_ts>2019-07-23 22:10:46 -0700</creation_ts>
          <short_desc>[ESNext] Implement nullish coalescing</short_desc>
          <delta_ts>2019-08-18 20:58:31 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=200199</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=200875</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>chi187</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>keith_miller</cc>
    
    <cc>ljharb</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mjs</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1555315</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-07-23 22:10:46 -0700</bug_when>
    <thetext>[ESNext] Implement nullish coalescing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555316</commentid>
    <comment_count>1</comment_count>
      <attachid>374762</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-07-23 22:29:02 -0700</bug_when>
    <thetext>Created attachment 374762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555323</commentid>
    <comment_count>2</comment_count>
      <attachid>374765</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-07-23 23:25:39 -0700</bug_when>
    <thetext>Created attachment 374765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555325</commentid>
    <comment_count>3</comment_count>
      <attachid>374765</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2019-07-24 00:14:18 -0700</bug_when>
    <thetext>Comment on attachment 374765
Patch

Feature flag, please! (Looks like at least a compile-time flag should be practical, and maybe even runtime if it wasn&apos;t too much of a perf hit).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555326</commentid>
    <comment_count>4</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-07-24 00:17:50 -0700</bug_when>
    <thetext>(In reply to Maciej Stachowiak from comment #3)
&gt; Comment on attachment 374765 [details]
&gt; Patch
&gt; 
&gt; Feature flag, please! (Looks like at least a compile-time flag should be
&gt; practical, and maybe even runtime if it wasn&apos;t too much of a perf hit).

Will do!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555373</commentid>
    <comment_count>5</comment_count>
      <attachid>374782</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-07-24 09:47:01 -0700</bug_when>
    <thetext>Created attachment 374782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555375</commentid>
    <comment_count>6</comment_count>
      <attachid>374782</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-07-24 09:48:40 -0700</bug_when>
    <thetext>Comment on attachment 374782
Patch

I believe it should suffice to simply refuse to lex the token -- let me know if we&apos;d like to do this differently.

(I&apos;ll probably also want to update this flag to be useNullishAwareOperators in the ?. patch but there&apos;s no need to jump the gun here.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555458</commentid>
    <comment_count>7</comment_count>
      <attachid>374795</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-07-24 12:50:47 -0700</bug_when>
    <thetext>Created attachment 374795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555488</commentid>
    <comment_count>8</comment_count>
      <attachid>374795</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2019-07-24 13:48:16 -0700</bug_when>
    <thetext>Comment on attachment 374795
Patch

LGTM overall. I think it would be good have tests covering short circuiting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555526</commentid>
    <comment_count>9</comment_count>
      <attachid>374817</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-07-24 15:08:57 -0700</bug_when>
    <thetext>Created attachment 374817
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555527</commentid>
    <comment_count>10</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-07-24 15:09:57 -0700</bug_when>
    <thetext>(In reply to Caio Lima from comment #8)
&gt; Comment on attachment 374795 [details]
&gt; Patch
&gt; 
&gt; LGTM overall. I think it would be good have tests covering short circuiting.

Good call! Added these as well as a makeMasquerader case to cover the document.all behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555617</commentid>
    <comment_count>11</comment_count>
      <attachid>374817</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-07-24 18:46:17 -0700</bug_when>
    <thetext>Comment on attachment 374817
Patch

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

&gt; Source/JavaScriptCore/parser/ASTBuilder.h:1397
&gt; +        return new (m_parserArena) CoalesceNode(location, lhs.first, rhs.first);

What’s the pro and con for extending LogicalOpNode instead adding a new class?

&gt; Source/JavaScriptCore/parser/ResultType.h:184
&gt; +            if (op1.definitelyIsBoolean() || op1.definitelyIsNumber() || op1.definitelyIsString() || op1.definitelyIsBigInt())

Could this be &quot;definitelyIsNotNull&quot; instead? I think we could possibly correctly cover more cases and have more maintainable code that way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555638</commentid>
    <comment_count>12</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-07-24 19:19:35 -0700</bug_when>
    <thetext>Thanks for the review!

(In reply to Darin Adler from comment #11)
&gt; &gt; Source/JavaScriptCore/parser/ASTBuilder.h:1397
&gt; &gt; +        return new (m_parserArena) CoalesceNode(location, lhs.first, rhs.first);
&gt; 
&gt; What’s the pro and con for extending LogicalOpNode instead adding a new
&gt; class?

Hmm, we could do that given how similar the emitBytecode implementation is, but the emitBytecodeInConditionContext would not apply (I guess we&apos;d just early out to emitBytecode) and we&apos;d still call a different ResultType function.

I personally thought the separation might be clearer, but do you have a preference? 

&gt; &gt; Source/JavaScriptCore/parser/ResultType.h:184
&gt; &gt; +            if (op1.definitelyIsBoolean() || op1.definitelyIsNumber() || op1.definitelyIsString() || op1.definitelyIsBigInt())
&gt; 
&gt; Could this be &quot;definitelyIsNotNull&quot; instead? I think we could possibly
&gt; correctly cover more cases and have more maintainable code that way.

We could do definitelyIsNotNullOrUndefined by checking against TypeMaybeNull and TypeMaybeOther, sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555684</commentid>
    <comment_count>13</comment_count>
      <attachid>374860</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-07-24 20:52:18 -0700</bug_when>
    <thetext>Created attachment 374860
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555689</commentid>
    <comment_count>14</comment_count>
      <attachid>374863</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-07-24 21:10:28 -0700</bug_when>
    <thetext>Created attachment 374863
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555690</commentid>
    <comment_count>15</comment_count>
      <attachid>374864</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-07-24 21:11:09 -0700</bug_when>
    <thetext>Created attachment 374864
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555747</commentid>
    <comment_count>16</comment_count>
      <attachid>374864</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-25 00:50:52 -0700</bug_when>
    <thetext>Comment on attachment 374864
Patch for landing

Clearing flags on attachment: 374864

Committed r247819: &lt;https://trac.webkit.org/changeset/247819&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555748</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-25 00:50:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555749</commentid>
    <comment_count>18</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-25 00:51:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/53531846&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374762</attachid>
            <date>2019-07-23 22:29:02 -0700</date>
            <delta_ts>2019-07-23 23:25:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200072-20190723222901.patch</filename>
            <type>text/plain</type>
            <size>17162</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
YmI2ODQ3ZjQ4NWJmZTIyMTlkZTZjYWNiNDU4Yzg3MDVjOGM2ZGUwLi41MjNmMjJiZTRlZTAyZjk4
NTU2YTIyNTJlZjIwMDYxYWFkZWJjNDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NCBAQAorMjAxOS0wNy0yMyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0VTTmV4dF0gSW1wbGVtZW50IG51bGxpc2ggY29hbGVzY2luZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDcyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50
IHRoZSBudWxsaXNoIGNvYWxlc2NpbmcgcHJvcG9zYWwsIGN1cnJlbnRseSBhdCBTdGFnZSAzIGlu
IFRDMzkuCisKKyAgICAgICAgVGhpcyBpbnRyb2R1Y2VzIGEgPz8gb3BlcmF0b3Igd2hpY2g6Cisg
ICAgICAgICAgLSBhY3RzIGxpa2UgfHwgYnV0IGNoZWNrcyBmb3IgbnVsbGlzaG5lc3MgaW5zdGVh
ZCBvZiB0cnV0aGluZXNzCisgICAgICAgICAgLSBoYXMgYSBwcmVjZWRlbmNlIGxvd2VyIHRoYW4g
fHwgKG9yIGFueSBvdGhlciBiaW5hcnkgb3BlcmF0b3IpCisgICAgICAgICAgLSBtdXN0IGJlIGRp
c2FtYmlndWF0ZWQgd2l0aCBwYXJlbnRoZXNlcyB3aGVuIGNvbWJpbmVkIHdpdGggfHwgb3IgJiYK
KworICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAgICAgICAoSlND
OjpDb2FsZXNjZU5vZGU6OmVtaXRCeXRlY29kZSk6CisgICAgICAgIEJ5dGVjb2RlIG11c3QgdXNl
IE9wSXNVbmRlZmluZWRPck51bGwgYW5kIG5vdCBPcE5lcU51bGwgYmVjYXVzZSBvZiBkb2N1bWVu
dC5hbGwuCisKKyAgICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpB
U1RCdWlsZGVyOjptYWtlQmluYXJ5Tm9kZSk6CisgICAgICAgICogcGFyc2VyL0xleGVyLmNwcDoK
KyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleFdpdGhvdXRDbGVhcmluZ0xpbmVUZXJtaW5hdG9y
KToKKyAgICAgICAgKiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpD
b2FsZXNjZU5vZGU6OkNvYWxlc2NlTm9kZSk6CisgICAgICAgICogcGFyc2VyL05vZGVzLmg6Cisg
ICAgICAgIEludHJvZHVjZSBuZXcgdG9rZW4gYW5kIEFTVCBub2RlLgorCisgICAgICAgICogcGFy
c2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJp
bmFyeUV4cHJlc3Npb24pOgorICAgICAgICBJbXBsZW1lbnQgZWFybHkgZXJyb3IuCisgICAgICAg
IEFkZGl0aW9uYWxseSwgaGF2ZSBuZWlnaGJvcmluZyAteCoqeSBlcnJvciB1c2Ugc2VtYW50aWNG
YWlsSWZUcnVlIHNpbmNlIGVycm9yL0VPRiB0b2tlbiBpcyBub3QgcmVsZXZhbnQuCisKKyAgICAg
ICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgIFNpbmNlIHRoaXMgcGF0Y2ggbmVl
ZHMgdG8gc2hpZnQgdGhlIHZhbHVlIG9mIGV2ZXJ5IGJpbmFyeSBvcGVyYXRvciB0b2tlbiBhbnl3
YXksCisgICAgICAgIGxldCdzIG9ubHkgYm90aGVyIHRvIGluY3JlbWVudCB0aGVpciBMU0JzIHdo
ZW4gd2UgYWN0dWFsbHkgaGF2ZSBhIHByZWNlZGVudCBjb25mbGljdC4gCisKKyAgICAgICAgKiBw
YXJzZXIvUmVzdWx0VHlwZS5oOgorICAgICAgICAoSlNDOjpSZXN1bHRUeXBlOjpkZWZpbml0ZWx5
SXNOdWxsIGNvbnN0KToKKyAgICAgICAgKEpTQzo6UmVzdWx0VHlwZTo6Zm9yQ29hbGVzY2UpOgor
ICAgICAgICBXZSBjYW4gZG8gYmV0dGVyIHRoYW4gZm9yTG9naWNhbE9wIGhlcmU7IGxldCdzIGJl
IGFzIGFjY3VyYXRlIGFzIHBvc3NpYmxlLiAKKwogMjAxOS0wNy0yMyAgSnVzdGluIE1pY2hhdWQg
IDxqdXN0aW5fbWljaGF1ZEBhcHBsZS5jb20+CiAKICAgICAgICAgU29tZXRpbWVzIHdlIG1pc3Mg
cmVtb3ZhYmxlIENoZWNrSW5Cb3VuZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCA3ZmY3YjU4OWRkMGEzMzM4M2M2MmI3
MTg1ZGI5NTgyMDY1YWMyNjczLi43Y2MwNzhjM2MwMjE1YzlkZjc5MGM4NDhhMzJkMTNiODA5MGYw
OGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVz
Q29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rl
c0NvZGVnZW4uY3BwCkBAIC0yMzM4LDYgKzIzMzgsMjEgQEAgdm9pZCBMb2dpY2FsT3BOb2RlOjpl
bWl0Qnl0ZWNvZGVJbkNvbmRpdGlvbkNvbnRleHQoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRv
ciwKICAgICBnZW5lcmF0b3IuZW1pdE5vZGVJbkNvbmRpdGlvbkNvbnRleHQobV9leHByMiwgdHJ1
ZVRhcmdldCwgZmFsc2VUYXJnZXQsIGZhbGxUaHJvdWdoTW9kZSk7CiB9CiAKKy8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDb2FsZXNjZU5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorCitSZWdpc3RlcklEKiBDb2FsZXNjZU5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29k
ZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCit7CisgICAgUmVmUHRyPFJl
Z2lzdGVySUQ+IHRlbXAgPSBnZW5lcmF0b3IudGVtcERlc3RpbmF0aW9uKGRzdCk7CisgICAgUmVm
PExhYmVsPiB0YXJnZXQgPSBnZW5lcmF0b3IubmV3TGFiZWwoKTsKKworICAgIGdlbmVyYXRvci5l
bWl0Tm9kZSh0ZW1wLmdldCgpLCBtX2V4cHIxKTsKKyAgICBnZW5lcmF0b3IuZW1pdEp1bXBJZkZh
bHNlKGdlbmVyYXRvci5lbWl0VW5hcnlPcDxPcElzVW5kZWZpbmVkT3JOdWxsPihnZW5lcmF0b3Iu
bmV3VGVtcG9yYXJ5KCksIHRlbXAuZ2V0KCkpLCB0YXJnZXQuZ2V0KCkpOworICAgIGdlbmVyYXRv
ci5lbWl0Tm9kZUluVGFpbFBvc2l0aW9uKHRlbXAuZ2V0KCksIG1fZXhwcjIpOworICAgIGdlbmVy
YXRvci5lbWl0TGFiZWwodGFyZ2V0LmdldCgpKTsKKworICAgIHJldHVybiBnZW5lcmF0b3IubW92
ZShkc3QsIHRlbXAuZ2V0KCkpOworfQorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0gQ29uZGl0aW9uYWxOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBSZWdp
c3RlcklEKiBDb25kaXRpb25hbE5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYg
Z2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
QVNUQnVpbGRlci5oCmluZGV4IGRjODc4YzU4ZGFjZmYzMThiN2Q3ZTVlNmYyYWQ1NzA3NjhhZmY1
NmYuLmRlNWIxMzM5MDY2MTEzNDEyYWNhZWVmMmJkNzVlMDMxYTMzM2ExMDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0xMzkzLDYgKzEzOTMsOSBAQCBF
eHByZXNzaW9uTm9kZSogQVNUQnVpbGRlcjo6bWFrZUZ1bmN0aW9uQ2FsbE5vZGUoY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiBsb2NhdGlvbgogRXhwcmVzc2lvbk5vZGUqIEFTVEJ1aWxkZXI6Om1ha2VC
aW5hcnlOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGludCB0b2tlbiwgc3Rk
OjpwYWlyPEV4cHJlc3Npb25Ob2RlKiwgQmluYXJ5T3BJbmZvPiBsaHMsIHN0ZDo6cGFpcjxFeHBy
ZXNzaW9uTm9kZSosIEJpbmFyeU9wSW5mbz4gcmhzKQogewogICAgIHN3aXRjaCAodG9rZW4pIHsK
KyAgICBjYXNlIENPQUxFU0NFOgorICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBD
b2FsZXNjZU5vZGUobG9jYXRpb24sIGxocy5maXJzdCwgcmhzLmZpcnN0KTsKKwogICAgIGNhc2Ug
T1I6CiAgICAgICAgIHJldHVybiBuZXcgKG1fcGFyc2VyQXJlbmEpIExvZ2ljYWxPcE5vZGUobG9j
YXRpb24sIGxocy5maXJzdCwgcmhzLmZpcnN0LCBPcExvZ2ljYWxPcik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggNDY2MmM1NGYyYTA1MzY0NjJhZTcyZTBkZDc3
MzAxZTBjZWU5OWQ0NC4uY2EyMDYyM2VkOTI5MzRjZTcyOTE1N2FhYjYwODJiM2EwNjMxMzE4MyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTIxNTMsOCArMjE1Mywx
MyBAQCBzdGFydDoKICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBD
aGFyYWN0ZXJRdWVzdGlvbjoKLSAgICAgICAgdG9rZW4gPSBRVUVTVElPTjsKICAgICAgICAgc2hp
ZnQoKTsKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPycpIHsKKyAgICAgICAgICAgIHNoaWZ0
KCk7CisgICAgICAgICAgICB0b2tlbiA9IENPQUxFU0NFOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICAgICAgdG9rZW4gPSBRVUVTVElPTjsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBDaGFyYWN0ZXJUaWxkZToKICAgICAgICAgdG9rZW4gPSBUSUxERTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggYTJiOGM1ZjBm
YzkwNDkxYzA1ODE0Yzk5NzIwNzAwMDFhNmE4ZWRjYy4uZDQxZTNhZWQ4ZTQ1ZjdhOGUyZmQzMWMy
NDQ3N2RlY2NiOGQ1NjQwZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2RlQ29uc3RydWN0b3JzLmgKQEAgLTY2OSw2ICs2NjksMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgewogICAgIH0KIAorICAgIGlubGluZSBDb2FsZXNjZU5vZGU6OkNvYWxlc2NlTm9kZShjb25z
dCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogZXhwcjEsIEV4cHJl
c3Npb25Ob2RlKiBleHByMikKKyAgICAgICAgOiBFeHByZXNzaW9uTm9kZShsb2NhdGlvbiwgUmVz
dWx0VHlwZTo6Zm9yQ29hbGVzY2UoZXhwcjEtPnJlc3VsdERlc2NyaXB0b3IoKSwgZXhwcjItPnJl
c3VsdERlc2NyaXB0b3IoKSkpCisgICAgICAgICwgbV9leHByMShleHByMSkKKyAgICAgICAgLCBt
X2V4cHIyKGV4cHIyKQorICAgIHsKKyAgICB9CisKICAgICBpbmxpbmUgQ29uZGl0aW9uYWxOb2Rl
OjpDb25kaXRpb25hbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVz
c2lvbk5vZGUqIGxvZ2ljYWwsIEV4cHJlc3Npb25Ob2RlKiBleHByMSwgRXhwcmVzc2lvbk5vZGUq
IGV4cHIyKQogICAgICAgICA6IEV4cHJlc3Npb25Ob2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1f
bG9naWNhbChsb2dpY2FsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDYw
YmE1ZWVhMmQ1MDlhNDM4ODQ4ZmQ4ZDlmYzJmMzI0ZTgxMjk2N2MuLjg2ZmRhZjNkMDRmZDBkOGY3
ZjQ4N2QxNzczNzdlMmEzN2U5NWE3ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVz
LmgKQEAgLTEzMDUsNiArMTMwNSwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRXhwcmVz
c2lvbk5vZGUqIG1fZXhwcjI7CiAgICAgfTsKIAorICAgIGNsYXNzIENvYWxlc2NlTm9kZSBmaW5h
bCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7CisgICAgcHVibGljOgorICAgICAgICBDb2FsZXNj
ZU5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvbk5vZGUqIGV4cHIxLCBFeHBy
ZXNzaW9uTm9kZSogZXhwcjIpOworCisgICAgcHJpdmF0ZToKKyAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBvdmVycmlk
ZTsKKworICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9leHByMTsKKyAgICAgICAgRXhwcmVzc2lv
bk5vZGUqIG1fZXhwcjI7CisgICAgfTsKKwogICAgIC8vIFRoZSB0ZXJuYXJ5IG9wZXJhdG9yLCAi
bV9sb2dpY2FsID8gbV9leHByMSA6IG1fZXhwcjIiCiAgICAgY2xhc3MgQ29uZGl0aW9uYWxOb2Rl
IGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggNTAyYWJmODEyMmVjYTRiZWQ1YTVmZjg1
YzY0ODM0ODQyZjU5N2IxYS4uM2RiNjA5M2FjNDk3YmRkODVkMWZjYTI1NjU0OWRiYzBiZWM0ODJl
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMzg4MywxNCAr
Mzg4MywyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUJpbmFyeUV4cHJlcwogICAgIGludCBvcGVyYXRvclN0YWNr
RGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpCaW5hcnlFeHByQ29udGV4dCBi
aW5hcnlFeHByQ29udGV4dChjb250ZXh0KTsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24o
dG9rZW5Mb2NhdGlvbigpKTsKKyAgICBib29sIGhhc0xvZ2ljYWxPcGVyYXRvciA9IGZhbHNlOwor
ICAgIGJvb2wgaGFzQ29hbGVzY2VPcGVyYXRvciA9IGZhbHNlOworCiAgICAgd2hpbGUgKHRydWUp
IHsKICAgICAgICAgSlNUZXh0UG9zaXRpb24gZXhwclN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9u
KCk7CiAgICAgICAgIGludCBpbml0aWFsQXNzaWdubWVudHMgPSBtX3BhcnNlclN0YXRlLmFzc2ln
bm1lbnRDb3VudDsKICAgICAgICAgSlNUb2tlblR5cGUgbGVhZGluZ1Rva2VuVHlwZUZvclVuYXJ5
RXhwcmVzc2lvbiA9IG1fdG9rZW4ubV90eXBlOwogICAgICAgICBUcmVlRXhwcmVzc2lvbiBjdXJy
ZW50ID0gcGFyc2VVbmFyeUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgICAgIGZhaWxJZkZhbHNl
KGN1cnJlbnQsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwotICAgICAgICAKKwogICAgICAg
ICBjb250ZXh0LmFwcGVuZEJpbmFyeUV4cHJlc3Npb25JbmZvKG9wZXJhbmRTdGFja0RlcHRoLCBj
dXJyZW50LCBleHByU3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCksIGxhc3RUb2tlbkVuZFBv
c2l0aW9uKCksIGluaXRpYWxBc3NpZ25tZW50cyAhPSBtX3BhcnNlclN0YXRlLmFzc2lnbm1lbnRD
b3VudCk7CisgICAgICAgIGludCBwcmVjZWRlbmNlID0gaXNCaW5hcnlPcGVyYXRvcihtX3Rva2Vu
Lm1fdHlwZSk7CisgICAgICAgIGlmICghcHJlY2VkZW5jZSkKKyAgICAgICAgICAgIGJyZWFrOwog
CiAgICAgICAgIC8vIDEyLjYgaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtZXhw
LW9wZXJhdG9yCiAgICAgICAgIC8vIEV4cG9uZW50aWF0aW9uRXhwcmVzaW9uIGlzIGRlc2NyaWJl
ZCBhcyBmb2xsb3dzLgpAQCAtMzkxMywxMSArMzkxOSwxNiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJpbmFyeUV4
cHJlcwogICAgICAgICAvLyAgICAgICAgICBDaGVjayB0aGlzLgogICAgICAgICAvLyBJZiB0aGUg
YmluYXJ5IG9wZXJhdG9yIDw+IGhhcyBoaWdoZXIgcHJlY2VkZW5jZSB0aGFuIG9uZSBvZiAiKioi
LCB0aGlzIGNoZWNrIGRvZXMgbm90IHdvcmsuCiAgICAgICAgIC8vIEJ1dCBpdCdzIE9LIGZvciAq
KiBiZWNhdXNlIHRoZSBvcGVyYXRvciAiKioiIGhhcyB0aGUgaGlnaGVzdCBvcGVyYXRvciBwcmVj
ZWRlbmNlIGluIHRoZSBiaW5hcnkgb3BlcmF0b3JzLgotICAgICAgICBmYWlsSWZUcnVlKG1hdGNo
KFBPVykgJiYgaXNVbmFyeU9wRXhjbHVkaW5nVXBkYXRlT3AobGVhZGluZ1Rva2VuVHlwZUZvclVu
YXJ5RXhwcmVzc2lvbiksICJBbWJpZ3VvdXMgdW5hcnkgZXhwcmVzc2lvbiBpbiB0aGUgbGVmdCBo
YW5kIHNpZGUgb2YgdGhlIGV4cG9uZW50aWF0aW9uIGV4cHJlc3Npb247IHBhcmVudGhlc2VzIG11
c3QgYmUgdXNlZCB0byBkaXNhbWJpZ3VhdGUgdGhlIGV4cHJlc3Npb24iKTsKKyAgICAgICAgc2Vt
YW50aWNGYWlsSWZUcnVlKG1hdGNoKFBPVykgJiYgaXNVbmFyeU9wRXhjbHVkaW5nVXBkYXRlT3Ao
bGVhZGluZ1Rva2VuVHlwZUZvclVuYXJ5RXhwcmVzc2lvbiksICJBbWJpZ3VvdXMgdW5hcnkgZXhw
cmVzc2lvbiBpbiB0aGUgbGVmdCBoYW5kIHNpZGUgb2YgdGhlIGV4cG9uZW50aWF0aW9uIGV4cHJl
c3Npb247IHBhcmVudGhlc2VzIG11c3QgYmUgdXNlZCB0byBkaXNhbWJpZ3VhdGUgdGhlIGV4cHJl
c3Npb24iKTsKKworICAgICAgICAvLyBNaXhpbmcgPz8gd2l0aCB8fCBvciAmJiBpcyBjdXJyZW50
bHkgc3BlY2lmaWVkIGFzIGFuIGVhcmx5IGVycm9yLgorICAgICAgICAvLyBTaW5jZSA/PyBpcyB0
aGUgbG93ZXN0LXByZWNlZGVuY2UgYmluYXJ5IG9wZXJhdG9yLCBpdCBzdWZmaWNlcyB0byBjaGVj
ayB3aGV0aGVyIHRoZXNlIGV2ZXIgY29leGlzdCBpbiB0aGUgb3BlcmF0b3Igc3RhY2suIAorICAg
ICAgICBpZiAobWF0Y2goQU5EKSB8fCBtYXRjaChPUikpCisgICAgICAgICAgICBoYXNMb2dpY2Fs
T3BlcmF0b3IgPSB0cnVlOworICAgICAgICBlbHNlIGlmIChtYXRjaChDT0FMRVNDRSkpCisgICAg
ICAgICAgICBoYXNDb2FsZXNjZU9wZXJhdG9yID0gdHJ1ZTsKKyAgICAgICAgc2VtYW50aWNGYWls
SWZUcnVlKGhhc0xvZ2ljYWxPcGVyYXRvciAmJiBoYXNDb2FsZXNjZU9wZXJhdG9yLCAiQ29hbGVz
Y2luZyBhbmQgbG9naWNhbCBvcGVyYXRvcnMgdXNlZCB0b2dldGhlciBpbiB0aGUgc2FtZSBleHBy
ZXNzaW9uOyBwYXJlbnRoZXNlcyBtdXN0IGJlIHVzZWQgdG8gZGlzYW1iaWd1YXRlIik7CiAKLSAg
ICAgICAgaW50IHByZWNlZGVuY2UgPSBpc0JpbmFyeU9wZXJhdG9yKG1fdG9rZW4ubV90eXBlKTsK
LSAgICAgICAgaWYgKCFwcmVjZWRlbmNlKQotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIG1f
cGFyc2VyU3RhdGUubm9uVHJpdmlhbEV4cHJlc3Npb25Db3VudCsrOwogICAgICAgICBtX3BhcnNl
clN0YXRlLm5vbkxIU0NvdW50Kys7CiAgICAgICAgIGludCBvcGVyYXRvclRva2VuID0gbV90b2tl
bi5tX3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
clRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaApp
bmRleCBjZmVlMzM3OThjMjRkODc4M2JkOTljNDhlMWM4NzIwODg3M2I1YzljLi4xNWNhNWVhZjI4
ZTc1OTJmNDNmM2RjZTQxZThlNDFlNjFhOWU4MTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTE0OCwzMCArMTQ4LDMxIEBAIGVudW0gSlNUb2tl
blR5cGUgewogICAgIFRZUEVPRiA9IDYgfCBVbmFyeU9wVG9rZW5GbGFnIHwgS2V5d29yZFRva2Vu
RmxhZywKICAgICBWT0lEVE9LRU4gPSA3IHwgVW5hcnlPcFRva2VuRmxhZyB8IEtleXdvcmRUb2tl
bkZsYWcsCiAgICAgREVMRVRFVE9LRU4gPSA4IHwgVW5hcnlPcFRva2VuRmxhZyB8IEtleXdvcmRU
b2tlbkZsYWcsCi0gICAgT1IgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMSksCi0gICAgQU5E
ID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDIpLAotICAgIEJJVE9SID0gMiB8IEJJTkFSWV9P
UF9QUkVDRURFTkNFKDMpLAotICAgIEJJVFhPUiA9IDMgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg0
KSwKLSAgICBCSVRBTkQgPSA0IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNSksCi0gICAgRVFFUSA9
IDUgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwKLSAgICBORSA9IDYgfCBCSU5BUllfT1BfUFJF
Q0VERU5DRSg2KSwKLSAgICBTVFJFUSA9IDcgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwKLSAg
ICBTVFJORVEgPSA4IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNiksCi0gICAgTFQgPSA5IHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoNyksCi0gICAgR1QgPSAxMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNF
KDcpLAotICAgIExFID0gMTEgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKLSAgICBHRSA9IDEy
IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNyksCi0gICAgSU5TVEFOQ0VPRiA9IDEzIHwgQklOQVJZ
X09QX1BSRUNFREVOQ0UoNykgfCBLZXl3b3JkVG9rZW5GbGFnLAotICAgIElOVE9LRU4gPSAxNCB8
IElOX09QX1BSRUNFREVOQ0UoNykgfCBLZXl3b3JkVG9rZW5GbGFnLAotICAgIExTSElGVCA9IDE1
IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCi0gICAgUlNISUZUID0gMTYgfCBCSU5BUllfT1Bf
UFJFQ0VERU5DRSg4KSwKLSAgICBVUlNISUZUID0gMTcgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg4
KSwKLSAgICBQTFVTID0gMTggfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg5KSB8IFVuYXJ5T3BUb2tl
bkZsYWcsCi0gICAgTUlOVVMgPSAxOSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDkpIHwgVW5hcnlP
cFRva2VuRmxhZywKLSAgICBUSU1FUyA9IDIwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAot
ICAgIERJVklERSA9IDIxIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAotICAgIE1PRCA9IDIy
IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAotICAgIFBPVyA9IDIzIHwgQklOQVJZX09QX1BS
RUNFREVOQ0UoMTEpIHwgUmlnaHRBc3NvY2lhdGl2ZUJpbmFyeU9wVG9rZW5GbGFnLCAvLyBNYWtl
IHN1cmUgdGhhdCBQT1cgaGFzIHRoZSBoaWdoZXN0IG9wZXJhdG9yIHByZWNlZGVuY2UuCisgICAg
Q09BTEVTQ0UgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMSksCisgICAgT1IgPSAwIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoMiksCisgICAgQU5EID0gMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNF
KDMpLAorICAgIEJJVE9SID0gMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDQpLAorICAgIEJJVFhP
UiA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg1KSwKKyAgICBCSVRBTkQgPSAwIHwgQklOQVJZ
X09QX1BSRUNFREVOQ0UoNiksCisgICAgRVFFUSA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3
KSwKKyAgICBORSA9IDEgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAgICBTVFJFUSA9IDIg
fCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAgICBTVFJORVEgPSAzIHwgQklOQVJZX09QX1BS
RUNFREVOQ0UoNyksCisgICAgTFQgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAg
R1QgPSAxIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgTEUgPSAyIHwgQklOQVJZX09Q
X1BSRUNFREVOQ0UoOCksCisgICAgR0UgPSAzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisg
ICAgSU5TVEFOQ0VPRiA9IDQgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg4KSB8IEtleXdvcmRUb2tl
bkZsYWcsCisgICAgSU5UT0tFTiA9IDUgfCBJTl9PUF9QUkVDRURFTkNFKDgpIHwgS2V5d29yZFRv
a2VuRmxhZywKKyAgICBMU0hJRlQgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOSksCisgICAg
UlNISUZUID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDkpLAorICAgIFVSU0hJRlQgPSAyIHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoOSksCisgICAgUExVUyA9IDAgfCBCSU5BUllfT1BfUFJFQ0VE
RU5DRSgxMCkgfCBVbmFyeU9wVG9rZW5GbGFnLAorICAgIE1JTlVTID0gMSB8IEJJTkFSWV9PUF9Q
UkVDRURFTkNFKDEwKSB8IFVuYXJ5T3BUb2tlbkZsYWcsCisgICAgVElNRVMgPSAwIHwgQklOQVJZ
X09QX1BSRUNFREVOQ0UoMTEpLAorICAgIERJVklERSA9IDEgfCBCSU5BUllfT1BfUFJFQ0VERU5D
RSgxMSksCisgICAgTU9EID0gMiB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDExKSwKKyAgICBQT1cg
PSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTIpIHwgUmlnaHRBc3NvY2lhdGl2ZUJpbmFyeU9w
VG9rZW5GbGFnLCAvLyBNYWtlIHN1cmUgdGhhdCBQT1cgaGFzIHRoZSBoaWdoZXN0IG9wZXJhdG9y
IHByZWNlZGVuY2UuCiAgICAgRVJST1JUT0sgPSAwIHwgRXJyb3JUb2tlbkZsYWcsCiAgICAgVU5U
RVJNSU5BVEVEX0lERU5USUZJRVJfRVNDQVBFX0VSUk9SVE9LID0gMCB8IEVycm9yVG9rZW5GbGFn
IHwgVW50ZXJtaW5hdGVkRXJyb3JUb2tlbkZsYWcsCiAgICAgSU5WQUxJRF9JREVOVElGSUVSX0VT
Q0FQRV9FUlJPUlRPSyA9IDEgfCBFcnJvclRva2VuRmxhZywKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUmVzdWx0VHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9SZXN1bHRUeXBlLmgKaW5kZXggY2NlMGY2ZDYwMDFlM2MyYzMxZDllY2E4ZTE0Zjlm
OGQ0M2VhNTlmMS4uMTJiMGViMGZlZTliMjNhYjNlOGM3Mzg5NjVjYzIxYTk2MTk0MzgxZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKQEAgLTc2LDYgKzc2LDEx
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIChtX2JpdHMgJiBUeXBlQml0
cykgPT0gVHlwZU1heWJlQmlnSW50OwogICAgICAgICB9CiAKKyAgICAgICAgY29uc3RleHByIGJv
b2wgZGVmaW5pdGVseUlzTnVsbCgpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVy
biAobV9iaXRzICYgVHlwZUJpdHMpID09IFR5cGVNYXliZU51bGw7CisgICAgICAgIH0KKwogICAg
ICAgICBjb25zdGV4cHIgYm9vbCBtaWdodEJlTnVtYmVyKCkgY29uc3QKICAgICAgICAgewogICAg
ICAgICAgICAgcmV0dXJuIG1fYml0cyAmIFR5cGVNYXliZU51bWJlcjsKQEAgLTE3Miw2ICsxNzcs
MTUgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gdW5rbm93blR5cGUoKTsK
ICAgICAgICAgfQogCisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgUmVzdWx0VHlwZSBmb3JDb2Fs
ZXNjZShSZXN1bHRUeXBlIG9wMSwgUmVzdWx0VHlwZSBvcDIpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIGlmIChvcDEuZGVmaW5pdGVseUlzTnVsbCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBv
cDI7CisgICAgICAgICAgICBpZiAob3AxLmRlZmluaXRlbHlJc0Jvb2xlYW4oKSB8fCBvcDEuZGVm
aW5pdGVseUlzTnVtYmVyKCkgfHwgb3AxLmRlZmluaXRlbHlJc1N0cmluZygpIHx8IG9wMS5kZWZp
bml0ZWx5SXNCaWdJbnQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gb3AxOworICAgICAgICAg
ICAgcmV0dXJuIHVua25vd25UeXBlKCk7CisgICAgICAgIH0KKwogICAgICAgICBzdGF0aWMgY29u
c3RleHByIFJlc3VsdFR5cGUgZm9yQml0T3AoKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1
cm4gYmlnSW50T3JJbnQzMlR5cGUoKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIv
SlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjBjNmZlZTMyYTBhZjQ5ZWFmOGRmZDk5ZWYwZmYzNGZk
ZWRkNTAxNi4uN2Y5NWQxMmQ0NmEwNTczZjk0YmU1NDVjZWEzZTVlNWVjNTNkY2E4ZiAxMDA2NDQK
LS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAxOS0wNy0yMyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5j
b20+CisKKyAgICAgICAgW0VTTmV4dF0gSW1wbGVtZW50IG51bGxpc2ggY29hbGVzY2luZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDcyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvbnVs
bGlzaC1jb2FsZXNjaW5nLmpzOiBBZGRlZC4KKwogMjAxOS0wNy0yMyAgSnVzdGluIE1pY2hhdWQg
IDxqdXN0aW5fbWljaGF1ZEBhcHBsZS5jb20+CiAKICAgICAgICAgU29tZXRpbWVzIHdlIG1pc3Mg
cmVtb3ZhYmxlIENoZWNrSW5Cb3VuZHMKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL251bGxp
c2gtY29hbGVzY2luZy5qcyBiL0pTVGVzdHMvc3RyZXNzL251bGxpc2gtY29hbGVzY2luZy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mY2RjZjBhNTkxY2MwMWQ5NjcyOWJmYzgwMGQ4YjUxZjc3NjEzMWJlCi0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvbnVsbGlzaC1jb2FsZXNjaW5nLmpzCkBAIC0w
LDAgKzEsNzIgQEAKK2Z1bmN0aW9uIHNob3VsZEJlKHNjcmlwdCwgZXhwZWN0ZWQpIHsKKyAgICBs
ZXQgYWN0dWFsID0gZXZhbChzY3JpcHQpOworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQor
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGV4cGVjdGVkICR7ZXhwZWN0ZWR9IGJ1dCBnb3QgJHth
Y3R1YWx9YCk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZE5vdFRocm93KHNjcmlwdCkgeworICAgIGV2
YWwoc2NyaXB0KTsKK30KKworZnVuY3Rpb24gc2hvdWxkVGhyb3dTeW50YXhFcnJvcihzY3JpcHQp
IHsKKyAgICBsZXQgZXJyb3I7CisgICAgdHJ5IHsKKyAgICAgICAgZXZhbChzY3JpcHQpOworICAg
IH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZXJyb3IgPSBlOworICAgIH0KKworICAgIGlmICghKGVy
cm9yIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4
cGVjdGVkIFN5bnRheEVycm9yIScpOworfQorCitzaG91bGRCZSgndW5kZWZpbmVkID8/IDMnLCAz
KTsKK3Nob3VsZEJlKCdudWxsID8/IDMnLCAzKTsKK3Nob3VsZEJlKCd0cnVlID8/IDMnLCB0cnVl
KTsKK3Nob3VsZEJlKCdmYWxzZSA/PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzAgPz8gMycsIDAp
Oworc2hvdWxkQmUoJzEgPz8gMycsIDEpOworc2hvdWxkQmUoJyIiID8/IDMnLCAnJyk7CitzaG91
bGRCZSgnImhpIiA/PyAzJywgJ2hpJyk7CitzaG91bGRCZSgnKHt9ID8/IDMpIGluc3RhbmNlb2Yg
T2JqZWN0JywgdHJ1ZSk7CitzaG91bGRCZSgnKHsgeDogImhpIiB9ID8/IDMpLngnLCAnaGknKTsK
K3Nob3VsZEJlKCcoW10gPz8gMykgaW5zdGFuY2VvZiBBcnJheScsIHRydWUpOworc2hvdWxkQmUo
JyhbImhpIl0gPz8gMylbMF0nLCAnaGknKTsKKworc2hvdWxkQmUoJzEgfCBudWxsID8/IDMnLCAx
KTsKK3Nob3VsZEJlKCcxIF4gbnVsbCA/PyAzJywgMSk7CitzaG91bGRCZSgnMSAmIG51bGwgPz8g
MycsIDApOworc2hvdWxkQmUoJzMgPT0gbnVsbCA/PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzMg
IT0gbnVsbCA/PyAzJywgdHJ1ZSk7CitzaG91bGRCZSgnMyA9PT0gbnVsbCA/PyAzJywgZmFsc2Up
Oworc2hvdWxkQmUoJzMgIT09IG51bGwgPz8gMycsIHRydWUpOworc2hvdWxkQmUoJzEgPCBudWxs
ID8/IDMnLCBmYWxzZSk7CitzaG91bGRCZSgnMSA+IG51bGwgPz8gMycsIHRydWUpOworc2hvdWxk
QmUoJzEgPD0gbnVsbCA/PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzEgPj0gbnVsbCA/PyAzJywg
dHJ1ZSk7CitzaG91bGRCZSgnMSA8PCBudWxsID8/IDMnLCAxKTsKK3Nob3VsZEJlKCcxID4+IG51
bGwgPz8gMycsIDEpOworc2hvdWxkQmUoJzEgPj4+IG51bGwgPz8gMycsIDEpOworc2hvdWxkQmUo
JzEgKyBudWxsID8/IDMnLCAxKTsKK3Nob3VsZEJlKCcxIC0gbnVsbCA/PyAzJywgMSk7CitzaG91
bGRCZSgnMSAqIG51bGwgPz8gMycsIDApOworc2hvdWxkQmUoJzEgLyBudWxsID8/IDMnLCBJbmZp
bml0eSk7CitzaG91bGRCZSgnaXNOYU4oMSAlIG51bGwgPz8gMyknLCB0cnVlKTsKK3Nob3VsZEJl
KCcxICoqIG51bGwgPz8gMycsIDEpOworCitzaG91bGRUaHJvd1N5bnRheEVycm9yKCcwIHx8IDEg
Pz8gMicpOworc2hvdWxkVGhyb3dTeW50YXhFcnJvcignMCAmJiAxID8/IDInKTsKK3Nob3VsZFRo
cm93U3ludGF4RXJyb3IoJzAgPz8gMSB8fCAyJyk7CitzaG91bGRUaHJvd1N5bnRheEVycm9yKCcw
ID8/IDEgJiYgMicpOworc2hvdWxkTm90VGhyb3coJygwIHx8IDEpID8/IDInKTsKK3Nob3VsZE5v
dFRocm93KCcwIHx8ICgxID8/IDIpJyk7CitzaG91bGROb3RUaHJvdygnKDAgJiYgMSkgPz8gMicp
Oworc2hvdWxkTm90VGhyb3coJzAgJiYgKDEgPz8gMiknKTsKK3Nob3VsZE5vdFRocm93KCcoMCA/
PyAxKSB8fCAyJyk7CitzaG91bGROb3RUaHJvdygnMCA/PyAoMSB8fCAyKScpOworc2hvdWxkTm90
VGhyb3coJygwID8/IDEpICYmIDInKTsKK3Nob3VsZE5vdFRocm93KCcwID8/ICgxICYmIDIpJyk7
CisKK3Nob3VsZE5vdFRocm93KCcwIHx8IDEgJiYgMiB8IDMgXiA0ICYgNSA9PSA2ICE9IDcgPT09
IDggIT09IDkgPCAwID4gMSA8PSAyID49IDMgPDwgNCA+PiA1ID4+PiA2ICsgNyAtIDggKiA5IC8g
MCAlIDEgKiogMicpOworc2hvdWxkVGhyb3dTeW50YXhFcnJvcignMCB8fCAxICYmIDIgfCAzIF4g
NCAmIDUgPT0gNiAhPSA3ID09PSA4ICE9PSA5IDwgMCA+IDEgPD0gMiA+PSAzIDw8IDQgPj4gNSA+
Pj4gNiArIDcgLSA4ICogOSAvIDAgJSAxICoqIDIgPz8gMycpOworc2hvdWxkVGhyb3dTeW50YXhF
cnJvcignMyA/PyAyICoqIDEgJSAwIC8gOSAqIDggLSA3ICsgNiA+Pj4gNSA+PiA0IDw8IDMgPj0g
MiA8PSAxID4gMCA8IDkgIT09IDggPT09IDcgIT0gNiA9PSA1ICYgNCBeIDMgfCAyICYmIDEgfHwg
MCcpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374765</attachid>
            <date>2019-07-23 23:25:39 -0700</date>
            <delta_ts>2019-07-24 09:46:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200072-20190723232538.patch</filename>
            <type>text/plain</type>
            <size>16691</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
YmI2ODQ3ZjQ4NWJmZTIyMTlkZTZjYWNiNDU4Yzg3MDVjOGM2ZGUwLi4yOGM2NDI0OWZjZDI1M2M1
MzM4Nzc2MTJlOGRiNWVlYzU0NzMxMWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAxOS0wNy0yMyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0VTTmV4dF0gSW1wbGVtZW50IG51bGxpc2ggY29hbGVzY2luZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDcyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50
IHRoZSBudWxsaXNoIGNvYWxlc2NpbmcgcHJvcG9zYWwsIHdoaWNoIGhhcyBub3cgcmVhY2hlZCBT
dGFnZSAzIGF0IFRDMzkuCisKKyAgICAgICAgVGhpcyBpbnRyb2R1Y2VzIGEgPz8gb3BlcmF0b3Ig
d2hpY2g6CisgICAgICAgICAgLSBhY3RzIGxpa2UgfHwgYnV0IGNoZWNrcyBmb3IgbnVsbGlzaG5l
c3MgaW5zdGVhZCBvZiB0cnV0aGluZXNzCisgICAgICAgICAgLSBoYXMgYSBwcmVjZWRlbmNlIGxv
d2VyIHRoYW4gfHwgKG9yIGFueSBvdGhlciBiaW5hcnkgb3BlcmF0b3IpCisgICAgICAgICAgLSBt
dXN0IGJlIGRpc2FtYmlndWF0ZWQgd2l0aCBwYXJlbnRoZXNlcyB3aGVuIGNvbWJpbmVkIHdpdGgg
fHwgb3IgJiYKKworICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAg
ICAgICAoSlNDOjpDb2FsZXNjZU5vZGU6OmVtaXRCeXRlY29kZSk6IEFkZGVkLgorICAgICAgICBC
eXRlY29kZSBtdXN0IHVzZSBPcElzVW5kZWZpbmVkT3JOdWxsIGFuZCBub3QgT3BOZXFOdWxsIGJl
Y2F1c2Ugb2YgZG9jdW1lbnQuYWxsLgorCisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoK
KyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6bWFrZUJpbmFyeU5vZGUpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXhXaXRob3V0Q2xlYXJp
bmdMaW5lVGVybWluYXRvcik6CisgICAgICAgICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoK
KyAgICAgICAgKEpTQzo6Q29hbGVzY2VOb2RlOjpDb2FsZXNjZU5vZGUpOiBBZGRlZC4KKyAgICAg
ICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAgICAgICAgSW50cm9kdWNlIG5ldyB0b2tlbiBhbmQgQVNU
IG5vZGUuCisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQmluYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIEltcGxlbWVu
dCBlYXJseSBlcnJvci4KKworICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAg
ICAgU2luY2UgdGhpcyBwYXRjaCBuZWVkcyB0byBzaGlmdCB0aGUgdmFsdWUgb2YgZXZlcnkgYmlu
YXJ5IG9wZXJhdG9yIHRva2VuIGFueXdheSwKKyAgICAgICAgbGV0J3Mgb25seSBib3RoZXIgdG8g
aW5jcmVtZW50IHRoZWlyIExTQnMgd2hlbiB3ZSBhY3R1YWxseSBoYXZlIGEgcHJlY2VkZW5jZSBj
b25mbGljdC4gCisKKyAgICAgICAgKiBwYXJzZXIvUmVzdWx0VHlwZS5oOgorICAgICAgICAoSlND
OjpSZXN1bHRUeXBlOjpkZWZpbml0ZWx5SXNOdWxsIGNvbnN0KTogQWRkZWQuCisgICAgICAgIChK
U0M6OlJlc3VsdFR5cGU6OmZvckNvYWxlc2NlKTogQWRkZWQuCisgICAgICAgIFdlIGNhbiBkbyBi
ZXR0ZXIgdGhhbiBmb3JMb2dpY2FsT3AgaGVyZTsgbGV0J3MgYmUgYXMgYWNjdXJhdGUgYXMgcG9z
c2libGUuIAorCiAyMDE5LTA3LTIzICBKdXN0aW4gTWljaGF1ZCAgPGp1c3Rpbl9taWNoYXVkQGFw
cGxlLmNvbT4KIAogICAgICAgICBTb21ldGltZXMgd2UgbWlzcyByZW1vdmFibGUgQ2hlY2tJbkJv
dW5kcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rl
c0NvZGVnZW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0Nv
ZGVnZW4uY3BwCmluZGV4IDdmZjdiNTg5ZGQwYTMzMzgzYzYyYjcxODVkYjk1ODIwNjVhYzI2NzMu
LjdjYzA3OGMzYzAyMTVjOWRmNzkwYzg0OGEzMmQxM2I4MDkwZjA4YTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTIz
MzgsNiArMjMzOCwyMSBAQCB2b2lkIExvZ2ljYWxPcE5vZGU6OmVtaXRCeXRlY29kZUluQ29uZGl0
aW9uQ29udGV4dChCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLAogICAgIGdlbmVyYXRvci5l
bWl0Tm9kZUluQ29uZGl0aW9uQ29udGV4dChtX2V4cHIyLCB0cnVlVGFyZ2V0LCBmYWxzZVRhcmdl
dCwgZmFsbFRocm91Z2hNb2RlKTsKIH0KIAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tIENvYWxlc2NlTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1JlZ2lzdGVy
SUQqIENvYWxlc2NlTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0
b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gdGVtcCA9IGdl
bmVyYXRvci50ZW1wRGVzdGluYXRpb24oZHN0KTsKKyAgICBSZWY8TGFiZWw+IHRhcmdldCA9IGdl
bmVyYXRvci5uZXdMYWJlbCgpOworCisgICAgZ2VuZXJhdG9yLmVtaXROb2RlKHRlbXAuZ2V0KCks
IG1fZXhwcjEpOworICAgIGdlbmVyYXRvci5lbWl0SnVtcElmRmFsc2UoZ2VuZXJhdG9yLmVtaXRV
bmFyeU9wPE9wSXNVbmRlZmluZWRPck51bGw+KGdlbmVyYXRvci5uZXdUZW1wb3JhcnkoKSwgdGVt
cC5nZXQoKSksIHRhcmdldC5nZXQoKSk7CisgICAgZ2VuZXJhdG9yLmVtaXROb2RlSW5UYWlsUG9z
aXRpb24odGVtcC5nZXQoKSwgbV9leHByMik7CisgICAgZ2VuZXJhdG9yLmVtaXRMYWJlbCh0YXJn
ZXQuZ2V0KCkpOworCisgICAgcmV0dXJuIGdlbmVyYXRvci5tb3ZlKGRzdCwgdGVtcC5nZXQoKSk7
Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDb25kaXRpb25hbE5vZGUg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIFJlZ2lzdGVySUQqIENvbmRpdGlvbmFs
Tm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVy
SUQqIGRzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVp
bGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXgg
ZGM4NzhjNThkYWNmZjMxOGI3ZDdlNWU2ZjJhZDU3MDc2OGFmZjU2Zi4uZGU1YjEzMzkwNjYxMTM0
MTJhY2FlZWYyYmQ3NWUwMzFhMzMzYTEwMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9BU1RCdWlsZGVyLmgKQEAgLTEzOTMsNiArMTM5Myw5IEBAIEV4cHJlc3Npb25Ob2RlKiBBU1RC
dWlsZGVyOjptYWtlRnVuY3Rpb25DYWxsTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0
aW9uCiBFeHByZXNzaW9uTm9kZSogQVNUQnVpbGRlcjo6bWFrZUJpbmFyeU5vZGUoY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgaW50IHRva2VuLCBzdGQ6OnBhaXI8RXhwcmVzc2lvbk5v
ZGUqLCBCaW5hcnlPcEluZm8+IGxocywgc3RkOjpwYWlyPEV4cHJlc3Npb25Ob2RlKiwgQmluYXJ5
T3BJbmZvPiByaHMpCiB7CiAgICAgc3dpdGNoICh0b2tlbikgeworICAgIGNhc2UgQ09BTEVTQ0U6
CisgICAgICAgIHJldHVybiBuZXcgKG1fcGFyc2VyQXJlbmEpIENvYWxlc2NlTm9kZShsb2NhdGlv
biwgbGhzLmZpcnN0LCByaHMuZmlyc3QpOworCiAgICAgY2FzZSBPUjoKICAgICAgICAgcmV0dXJu
IG5ldyAobV9wYXJzZXJBcmVuYSkgTG9naWNhbE9wTm9kZShsb2NhdGlvbiwgbGhzLmZpcnN0LCBy
aHMuZmlyc3QsIE9wTG9naWNhbE9yKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9MZXhlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVy
LmNwcAppbmRleCA0NjYyYzU0ZjJhMDUzNjQ2MmFlNzJlMGRkNzczMDFlMGNlZTk5ZDQ0Li5jYTIw
NjIzZWQ5MjkzNGNlNzI5MTU3YWFiNjA4MmIzYTA2MzEzMTgzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0xleGVyLmNwcApAQCAtMjE1Myw4ICsyMTUzLDEzIEBAIHN0YXJ0OgogICAgICAg
ICBzaGlmdCgpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENoYXJhY3RlclF1ZXN0aW9uOgot
ICAgICAgICB0b2tlbiA9IFFVRVNUSU9OOwogICAgICAgICBzaGlmdCgpOworICAgICAgICBpZiAo
bV9jdXJyZW50ID09ICc/JykgeworICAgICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAgICAgIHRv
a2VuID0gQ09BTEVTQ0U7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICB0
b2tlbiA9IFFVRVNUSU9OOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENoYXJhY3RlclRpbGRl
OgogICAgICAgICB0b2tlbiA9IFRJTERFOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL05vZGVDb25zdHJ1Y3RvcnMuaAppbmRleCBhMmI4YzVmMGZjOTA0OTFjMDU4MTRjOTk3MjA3
MDAwMWE2YThlZGNjLi5kNDFlM2FlZDhlNDVmN2E4ZTJmZDMxYzI0NDc3ZGVjY2I4ZDU2NDBmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaApA
QCAtNjY5LDYgKzY2OSwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB7CiAgICAgfQogCisgICAg
aW5saW5lIENvYWxlc2NlTm9kZTo6Q29hbGVzY2VOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYg
bG9jYXRpb24sIEV4cHJlc3Npb25Ob2RlKiBleHByMSwgRXhwcmVzc2lvbk5vZGUqIGV4cHIyKQor
ICAgICAgICA6IEV4cHJlc3Npb25Ob2RlKGxvY2F0aW9uLCBSZXN1bHRUeXBlOjpmb3JDb2FsZXNj
ZShleHByMS0+cmVzdWx0RGVzY3JpcHRvcigpLCBleHByMi0+cmVzdWx0RGVzY3JpcHRvcigpKSkK
KyAgICAgICAgLCBtX2V4cHIxKGV4cHIxKQorICAgICAgICAsIG1fZXhwcjIoZXhwcjIpCisgICAg
eworICAgIH0KKwogICAgIGlubGluZSBDb25kaXRpb25hbE5vZGU6OkNvbmRpdGlvbmFsTm9kZShj
b25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogbG9naWNhbCwg
RXhwcmVzc2lvbk5vZGUqIGV4cHIxLCBFeHByZXNzaW9uTm9kZSogZXhwcjIpCiAgICAgICAgIDog
RXhwcmVzc2lvbk5vZGUobG9jYXRpb24pCiAgICAgICAgICwgbV9sb2dpY2FsKGxvZ2ljYWwpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5kZXggNjBiYTVlZWEyZDUwOWE0Mzg4NDhm
ZDhkOWZjMmYzMjRlODEyOTY3Yy4uODZmZGFmM2QwNGZkMGQ4ZjdmNDg3ZDE3NzM3N2UyYTM3ZTk1
YTc4NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTMwNSw2ICsxMzA1
LDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9leHByMjsK
ICAgICB9OwogCisgICAgY2xhc3MgQ29hbGVzY2VOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Np
b25Ob2RlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIENvYWxlc2NlTm9kZShjb25zdCBKU1Rva2Vu
TG9jYXRpb24mLCBFeHByZXNzaW9uTm9kZSogZXhwcjEsIEV4cHJlc3Npb25Ob2RlKiBleHByMik7
CisKKyAgICBwcml2YXRlOgorICAgICAgICBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworCisgICAgICAgIEV4cHJl
c3Npb25Ob2RlKiBtX2V4cHIxOworICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9leHByMjsKKyAg
ICB9OworCiAgICAgLy8gVGhlIHRlcm5hcnkgb3BlcmF0b3IsICJtX2xvZ2ljYWwgPyBtX2V4cHIx
IDogbV9leHByMiIKICAgICBjbGFzcyBDb25kaXRpb25hbE5vZGUgZmluYWwgOiBwdWJsaWMgRXhw
cmVzc2lvbk5vZGUgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmNwcAppbmRleCA1MDJhYmY4MTIyZWNhNGJlZDVhNWZmODVjNjQ4MzQ4NDJmNTk3YjFhLi5k
MjM2YTQyODllNGZhNGYwOTAyYmIzZDk0YjdkM2QxMmU2YWRkOWI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0zODgzLDE0ICszODgzLDIwIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQmluYXJ5RXhwcmVzCiAgICAgaW50IG9wZXJhdG9yU3RhY2tEZXB0aCA9IDA7CiAgICAgdHlw
ZW5hbWUgVHJlZUJ1aWxkZXI6OkJpbmFyeUV4cHJDb250ZXh0IGJpbmFyeUV4cHJDb250ZXh0KGNv
bnRleHQpOwogICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwor
ICAgIGJvb2wgaGFzTG9naWNhbE9wZXJhdG9yID0gZmFsc2U7CisgICAgYm9vbCBoYXNDb2FsZXNj
ZU9wZXJhdG9yID0gZmFsc2U7CisKICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBKU1RleHRQ
b3NpdGlvbiBleHByU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgaW50IGlu
aXRpYWxBc3NpZ25tZW50cyA9IG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50OwogICAgICAg
ICBKU1Rva2VuVHlwZSBsZWFkaW5nVG9rZW5UeXBlRm9yVW5hcnlFeHByZXNzaW9uID0gbV90b2tl
bi5tX3R5cGU7CiAgICAgICAgIFRyZWVFeHByZXNzaW9uIGN1cnJlbnQgPSBwYXJzZVVuYXJ5RXhw
cmVzc2lvbihjb250ZXh0KTsKICAgICAgICAgZmFpbElmRmFsc2UoY3VycmVudCwgIkNhbm5vdCBw
YXJzZSBleHByZXNzaW9uIik7Ci0gICAgICAgIAorCiAgICAgICAgIGNvbnRleHQuYXBwZW5kQmlu
YXJ5RXhwcmVzc2lvbkluZm8ob3BlcmFuZFN0YWNrRGVwdGgsIGN1cnJlbnQsIGV4cHJTdGFydCwg
bGFzdFRva2VuRW5kUG9zaXRpb24oKSwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSwgaW5pdGlhbEFz
c2lnbm1lbnRzICE9IG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50KTsKKyAgICAgICAgaW50
IHByZWNlZGVuY2UgPSBpc0JpbmFyeU9wZXJhdG9yKG1fdG9rZW4ubV90eXBlKTsKKyAgICAgICAg
aWYgKCFwcmVjZWRlbmNlKQorICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgLy8gMTIuNiBo
dHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1leHAtb3BlcmF0b3IKICAgICAgICAg
Ly8gRXhwb25lbnRpYXRpb25FeHByZXNpb24gaXMgZGVzY3JpYmVkIGFzIGZvbGxvd3MuCkBAIC0z
OTE1LDkgKzM5MjEsMTQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCaW5hcnlFeHByZXMKICAgICAgICAgLy8gQnV0
IGl0J3MgT0sgZm9yICoqIGJlY2F1c2UgdGhlIG9wZXJhdG9yICIqKiIgaGFzIHRoZSBoaWdoZXN0
IG9wZXJhdG9yIHByZWNlZGVuY2UgaW4gdGhlIGJpbmFyeSBvcGVyYXRvcnMuCiAgICAgICAgIGZh
aWxJZlRydWUobWF0Y2goUE9XKSAmJiBpc1VuYXJ5T3BFeGNsdWRpbmdVcGRhdGVPcChsZWFkaW5n
VG9rZW5UeXBlRm9yVW5hcnlFeHByZXNzaW9uKSwgIkFtYmlndW91cyB1bmFyeSBleHByZXNzaW9u
IGluIHRoZSBsZWZ0IGhhbmQgc2lkZSBvZiB0aGUgZXhwb25lbnRpYXRpb24gZXhwcmVzc2lvbjsg
cGFyZW50aGVzZXMgbXVzdCBiZSB1c2VkIHRvIGRpc2FtYmlndWF0ZSB0aGUgZXhwcmVzc2lvbiIp
OwogCi0gICAgICAgIGludCBwcmVjZWRlbmNlID0gaXNCaW5hcnlPcGVyYXRvcihtX3Rva2VuLm1f
dHlwZSk7Ci0gICAgICAgIGlmICghcHJlY2VkZW5jZSkKLSAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAvLyBNaXhpbmcgPz8gd2l0aCB8fCBvciAmJiBpcyBjdXJyZW50bHkgc3BlY2lmaWVkIGFz
IGFuIGVhcmx5IGVycm9yLgorICAgICAgICAvLyBTaW5jZSA/PyBpcyB0aGUgbG93ZXN0LXByZWNl
ZGVuY2UgYmluYXJ5IG9wZXJhdG9yLCBpdCBzdWZmaWNlcyB0byBjaGVjayB3aGV0aGVyIHRoZXNl
IGV2ZXIgY29leGlzdCBpbiB0aGUgb3BlcmF0b3Igc3RhY2suIAorICAgICAgICBpZiAobWF0Y2go
QU5EKSB8fCBtYXRjaChPUikpCisgICAgICAgICAgICBoYXNMb2dpY2FsT3BlcmF0b3IgPSB0cnVl
OworICAgICAgICBlbHNlIGlmIChtYXRjaChDT0FMRVNDRSkpCisgICAgICAgICAgICBoYXNDb2Fs
ZXNjZU9wZXJhdG9yID0gdHJ1ZTsKKyAgICAgICAgZmFpbElmVHJ1ZShoYXNMb2dpY2FsT3BlcmF0
b3IgJiYgaGFzQ29hbGVzY2VPcGVyYXRvciwgIkNvYWxlc2NpbmcgYW5kIGxvZ2ljYWwgb3BlcmF0
b3JzIHVzZWQgdG9nZXRoZXIgaW4gdGhlIHNhbWUgZXhwcmVzc2lvbjsgcGFyZW50aGVzZXMgbXVz
dCBiZSB1c2VkIHRvIGRpc2FtYmlndWF0ZSIpOworCiAgICAgICAgIG1fcGFyc2VyU3RhdGUubm9u
VHJpdmlhbEV4cHJlc3Npb25Db3VudCsrOwogICAgICAgICBtX3BhcnNlclN0YXRlLm5vbkxIU0Nv
dW50Kys7CiAgICAgICAgIGludCBvcGVyYXRvclRva2VuID0gbV90b2tlbi5tX3R5cGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCBjZmVlMzM3OThj
MjRkODc4M2JkOTljNDhlMWM4NzIwODg3M2I1YzljLi4xNWNhNWVhZjI4ZTc1OTJmNDNmM2RjZTQx
ZThlNDFlNjFhOWU4MTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
VG9rZW5zLmgKQEAgLTE0OCwzMCArMTQ4LDMxIEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIFRZ
UEVPRiA9IDYgfCBVbmFyeU9wVG9rZW5GbGFnIHwgS2V5d29yZFRva2VuRmxhZywKICAgICBWT0lE
VE9LRU4gPSA3IHwgVW5hcnlPcFRva2VuRmxhZyB8IEtleXdvcmRUb2tlbkZsYWcsCiAgICAgREVM
RVRFVE9LRU4gPSA4IHwgVW5hcnlPcFRva2VuRmxhZyB8IEtleXdvcmRUb2tlbkZsYWcsCi0gICAg
T1IgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMSksCi0gICAgQU5EID0gMSB8IEJJTkFSWV9P
UF9QUkVDRURFTkNFKDIpLAotICAgIEJJVE9SID0gMiB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDMp
LAotICAgIEJJVFhPUiA9IDMgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg0KSwKLSAgICBCSVRBTkQg
PSA0IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNSksCi0gICAgRVFFUSA9IDUgfCBCSU5BUllfT1Bf
UFJFQ0VERU5DRSg2KSwKLSAgICBORSA9IDYgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwKLSAg
ICBTVFJFUSA9IDcgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwKLSAgICBTVFJORVEgPSA4IHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoNiksCi0gICAgTFQgPSA5IHwgQklOQVJZX09QX1BSRUNFREVO
Q0UoNyksCi0gICAgR1QgPSAxMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDcpLAotICAgIExFID0g
MTEgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKLSAgICBHRSA9IDEyIHwgQklOQVJZX09QX1BS
RUNFREVOQ0UoNyksCi0gICAgSU5TVEFOQ0VPRiA9IDEzIHwgQklOQVJZX09QX1BSRUNFREVOQ0Uo
NykgfCBLZXl3b3JkVG9rZW5GbGFnLAotICAgIElOVE9LRU4gPSAxNCB8IElOX09QX1BSRUNFREVO
Q0UoNykgfCBLZXl3b3JkVG9rZW5GbGFnLAotICAgIExTSElGVCA9IDE1IHwgQklOQVJZX09QX1BS
RUNFREVOQ0UoOCksCi0gICAgUlNISUZUID0gMTYgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg4KSwK
LSAgICBVUlNISUZUID0gMTcgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg4KSwKLSAgICBQTFVTID0g
MTggfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg5KSB8IFVuYXJ5T3BUb2tlbkZsYWcsCi0gICAgTUlO
VVMgPSAxOSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDkpIHwgVW5hcnlPcFRva2VuRmxhZywKLSAg
ICBUSU1FUyA9IDIwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAotICAgIERJVklERSA9IDIx
IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAotICAgIE1PRCA9IDIyIHwgQklOQVJZX09QX1BS
RUNFREVOQ0UoMTApLAotICAgIFBPVyA9IDIzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTEpIHwg
UmlnaHRBc3NvY2lhdGl2ZUJpbmFyeU9wVG9rZW5GbGFnLCAvLyBNYWtlIHN1cmUgdGhhdCBQT1cg
aGFzIHRoZSBoaWdoZXN0IG9wZXJhdG9yIHByZWNlZGVuY2UuCisgICAgQ09BTEVTQ0UgPSAwIHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoMSksCisgICAgT1IgPSAwIHwgQklOQVJZX09QX1BSRUNFREVO
Q0UoMiksCisgICAgQU5EID0gMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDMpLAorICAgIEJJVE9S
ID0gMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDQpLAorICAgIEJJVFhPUiA9IDAgfCBCSU5BUllf
T1BfUFJFQ0VERU5DRSg1KSwKKyAgICBCSVRBTkQgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0Uo
NiksCisgICAgRVFFUSA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAgICBORSA9IDEg
fCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAgICBTVFJFUSA9IDIgfCBCSU5BUllfT1BfUFJF
Q0VERU5DRSg3KSwKKyAgICBTVFJORVEgPSAzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNyksCisg
ICAgTFQgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgR1QgPSAxIHwgQklOQVJZ
X09QX1BSRUNFREVOQ0UoOCksCisgICAgTEUgPSAyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCks
CisgICAgR0UgPSAzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgSU5TVEFOQ0VPRiA9
IDQgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg4KSB8IEtleXdvcmRUb2tlbkZsYWcsCisgICAgSU5U
T0tFTiA9IDUgfCBJTl9PUF9QUkVDRURFTkNFKDgpIHwgS2V5d29yZFRva2VuRmxhZywKKyAgICBM
U0hJRlQgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOSksCisgICAgUlNISUZUID0gMSB8IEJJ
TkFSWV9PUF9QUkVDRURFTkNFKDkpLAorICAgIFVSU0hJRlQgPSAyIHwgQklOQVJZX09QX1BSRUNF
REVOQ0UoOSksCisgICAgUExVUyA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSgxMCkgfCBVbmFy
eU9wVG9rZW5GbGFnLAorICAgIE1JTlVTID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDEwKSB8
IFVuYXJ5T3BUb2tlbkZsYWcsCisgICAgVElNRVMgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0Uo
MTEpLAorICAgIERJVklERSA9IDEgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSgxMSksCisgICAgTU9E
ID0gMiB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDExKSwKKyAgICBQT1cgPSAwIHwgQklOQVJZX09Q
X1BSRUNFREVOQ0UoMTIpIHwgUmlnaHRBc3NvY2lhdGl2ZUJpbmFyeU9wVG9rZW5GbGFnLCAvLyBN
YWtlIHN1cmUgdGhhdCBQT1cgaGFzIHRoZSBoaWdoZXN0IG9wZXJhdG9yIHByZWNlZGVuY2UuCiAg
ICAgRVJST1JUT0sgPSAwIHwgRXJyb3JUb2tlbkZsYWcsCiAgICAgVU5URVJNSU5BVEVEX0lERU5U
SUZJRVJfRVNDQVBFX0VSUk9SVE9LID0gMCB8IEVycm9yVG9rZW5GbGFnIHwgVW50ZXJtaW5hdGVk
RXJyb3JUb2tlbkZsYWcsCiAgICAgSU5WQUxJRF9JREVOVElGSUVSX0VTQ0FQRV9FUlJPUlRPSyA9
IDEgfCBFcnJvclRva2VuRmxhZywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUmVzdWx0VHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9SZXN1bHRU
eXBlLmgKaW5kZXggY2NlMGY2ZDYwMDFlM2MyYzMxZDllY2E4ZTE0ZjlmOGQ0M2VhNTlmMS4uMTJi
MGViMGZlZTliMjNhYjNlOGM3Mzg5NjVjYzIxYTk2MTk0MzgxZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKQEAgLTc2LDYgKzc2LDExIEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICAgICAgcmV0dXJuIChtX2JpdHMgJiBUeXBlQml0cykgPT0gVHlwZU1heWJl
QmlnSW50OwogICAgICAgICB9CiAKKyAgICAgICAgY29uc3RleHByIGJvb2wgZGVmaW5pdGVseUlz
TnVsbCgpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAobV9iaXRzICYgVHlw
ZUJpdHMpID09IFR5cGVNYXliZU51bGw7CisgICAgICAgIH0KKwogICAgICAgICBjb25zdGV4cHIg
Ym9vbCBtaWdodEJlTnVtYmVyKCkgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJu
IG1fYml0cyAmIFR5cGVNYXliZU51bWJlcjsKQEAgLTE3Miw2ICsxNzcsMTUgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gdW5rbm93blR5cGUoKTsKICAgICAgICAgfQogCisg
ICAgICAgIHN0YXRpYyBjb25zdGV4cHIgUmVzdWx0VHlwZSBmb3JDb2FsZXNjZShSZXN1bHRUeXBl
IG9wMSwgUmVzdWx0VHlwZSBvcDIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChvcDEuZGVm
aW5pdGVseUlzTnVsbCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBvcDI7CisgICAgICAgICAg
ICBpZiAob3AxLmRlZmluaXRlbHlJc0Jvb2xlYW4oKSB8fCBvcDEuZGVmaW5pdGVseUlzTnVtYmVy
KCkgfHwgb3AxLmRlZmluaXRlbHlJc1N0cmluZygpIHx8IG9wMS5kZWZpbml0ZWx5SXNCaWdJbnQo
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gb3AxOworICAgICAgICAgICAgcmV0dXJuIHVua25v
d25UeXBlKCk7CisgICAgICAgIH0KKwogICAgICAgICBzdGF0aWMgY29uc3RleHByIFJlc3VsdFR5
cGUgZm9yQml0T3AoKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gYmlnSW50T3JJbnQz
MlR5cGUoKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggZjBjNmZlZTMyYTBhZjQ5ZWFmOGRmZDk5ZWYwZmYzNGZkZWRkNTAxNi4uN2Y5NWQx
MmQ0NmEwNTczZjk0YmU1NDVjZWEzZTVlNWVjNTNkY2E4ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOS0w
Ny0yMyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CisKKyAgICAgICAg
W0VTTmV4dF0gSW1wbGVtZW50IG51bGxpc2ggY29hbGVzY2luZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDcyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvbnVsbGlzaC1jb2FsZXNjaW5n
LmpzOiBBZGRlZC4KKwogMjAxOS0wNy0yMyAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgU29tZXRpbWVzIHdlIG1pc3MgcmVtb3ZhYmxlIENoZWNr
SW5Cb3VuZHMKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL251bGxpc2gtY29hbGVzY2luZy5q
cyBiL0pTVGVzdHMvc3RyZXNzL251bGxpc2gtY29hbGVzY2luZy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mY2Rj
ZjBhNTkxY2MwMWQ5NjcyOWJmYzgwMGQ4YjUxZjc3NjEzMWJlCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy9zdHJlc3MvbnVsbGlzaC1jb2FsZXNjaW5nLmpzCkBAIC0wLDAgKzEsNzIgQEAKK2Z1
bmN0aW9uIHNob3VsZEJlKHNjcmlwdCwgZXhwZWN0ZWQpIHsKKyAgICBsZXQgYWN0dWFsID0gZXZh
bChzY3JpcHQpOworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoYGV4cGVjdGVkICR7ZXhwZWN0ZWR9IGJ1dCBnb3QgJHthY3R1YWx9YCk7Cit9CisK
K2Z1bmN0aW9uIHNob3VsZE5vdFRocm93KHNjcmlwdCkgeworICAgIGV2YWwoc2NyaXB0KTsKK30K
KworZnVuY3Rpb24gc2hvdWxkVGhyb3dTeW50YXhFcnJvcihzY3JpcHQpIHsKKyAgICBsZXQgZXJy
b3I7CisgICAgdHJ5IHsKKyAgICAgICAgZXZhbChzY3JpcHQpOworICAgIH0gY2F0Y2ggKGUpIHsK
KyAgICAgICAgZXJyb3IgPSBlOworICAgIH0KKworICAgIGlmICghKGVycm9yIGluc3RhbmNlb2Yg
U3ludGF4RXJyb3IpKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIFN5bnRheEVy
cm9yIScpOworfQorCitzaG91bGRCZSgndW5kZWZpbmVkID8/IDMnLCAzKTsKK3Nob3VsZEJlKCdu
dWxsID8/IDMnLCAzKTsKK3Nob3VsZEJlKCd0cnVlID8/IDMnLCB0cnVlKTsKK3Nob3VsZEJlKCdm
YWxzZSA/PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzAgPz8gMycsIDApOworc2hvdWxkQmUoJzEg
Pz8gMycsIDEpOworc2hvdWxkQmUoJyIiID8/IDMnLCAnJyk7CitzaG91bGRCZSgnImhpIiA/PyAz
JywgJ2hpJyk7CitzaG91bGRCZSgnKHt9ID8/IDMpIGluc3RhbmNlb2YgT2JqZWN0JywgdHJ1ZSk7
CitzaG91bGRCZSgnKHsgeDogImhpIiB9ID8/IDMpLngnLCAnaGknKTsKK3Nob3VsZEJlKCcoW10g
Pz8gMykgaW5zdGFuY2VvZiBBcnJheScsIHRydWUpOworc2hvdWxkQmUoJyhbImhpIl0gPz8gMylb
MF0nLCAnaGknKTsKKworc2hvdWxkQmUoJzEgfCBudWxsID8/IDMnLCAxKTsKK3Nob3VsZEJlKCcx
IF4gbnVsbCA/PyAzJywgMSk7CitzaG91bGRCZSgnMSAmIG51bGwgPz8gMycsIDApOworc2hvdWxk
QmUoJzMgPT0gbnVsbCA/PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzMgIT0gbnVsbCA/PyAzJywg
dHJ1ZSk7CitzaG91bGRCZSgnMyA9PT0gbnVsbCA/PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzMg
IT09IG51bGwgPz8gMycsIHRydWUpOworc2hvdWxkQmUoJzEgPCBudWxsID8/IDMnLCBmYWxzZSk7
CitzaG91bGRCZSgnMSA+IG51bGwgPz8gMycsIHRydWUpOworc2hvdWxkQmUoJzEgPD0gbnVsbCA/
PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzEgPj0gbnVsbCA/PyAzJywgdHJ1ZSk7CitzaG91bGRC
ZSgnMSA8PCBudWxsID8/IDMnLCAxKTsKK3Nob3VsZEJlKCcxID4+IG51bGwgPz8gMycsIDEpOwor
c2hvdWxkQmUoJzEgPj4+IG51bGwgPz8gMycsIDEpOworc2hvdWxkQmUoJzEgKyBudWxsID8/IDMn
LCAxKTsKK3Nob3VsZEJlKCcxIC0gbnVsbCA/PyAzJywgMSk7CitzaG91bGRCZSgnMSAqIG51bGwg
Pz8gMycsIDApOworc2hvdWxkQmUoJzEgLyBudWxsID8/IDMnLCBJbmZpbml0eSk7CitzaG91bGRC
ZSgnaXNOYU4oMSAlIG51bGwgPz8gMyknLCB0cnVlKTsKK3Nob3VsZEJlKCcxICoqIG51bGwgPz8g
MycsIDEpOworCitzaG91bGRUaHJvd1N5bnRheEVycm9yKCcwIHx8IDEgPz8gMicpOworc2hvdWxk
VGhyb3dTeW50YXhFcnJvcignMCAmJiAxID8/IDInKTsKK3Nob3VsZFRocm93U3ludGF4RXJyb3Io
JzAgPz8gMSB8fCAyJyk7CitzaG91bGRUaHJvd1N5bnRheEVycm9yKCcwID8/IDEgJiYgMicpOwor
c2hvdWxkTm90VGhyb3coJygwIHx8IDEpID8/IDInKTsKK3Nob3VsZE5vdFRocm93KCcwIHx8ICgx
ID8/IDIpJyk7CitzaG91bGROb3RUaHJvdygnKDAgJiYgMSkgPz8gMicpOworc2hvdWxkTm90VGhy
b3coJzAgJiYgKDEgPz8gMiknKTsKK3Nob3VsZE5vdFRocm93KCcoMCA/PyAxKSB8fCAyJyk7Citz
aG91bGROb3RUaHJvdygnMCA/PyAoMSB8fCAyKScpOworc2hvdWxkTm90VGhyb3coJygwID8/IDEp
ICYmIDInKTsKK3Nob3VsZE5vdFRocm93KCcwID8/ICgxICYmIDIpJyk7CisKK3Nob3VsZE5vdFRo
cm93KCcwIHx8IDEgJiYgMiB8IDMgXiA0ICYgNSA9PSA2ICE9IDcgPT09IDggIT09IDkgPCAwID4g
MSA8PSAyID49IDMgPDwgNCA+PiA1ID4+PiA2ICsgNyAtIDggKiA5IC8gMCAlIDEgKiogMicpOwor
c2hvdWxkVGhyb3dTeW50YXhFcnJvcignMCB8fCAxICYmIDIgfCAzIF4gNCAmIDUgPT0gNiAhPSA3
ID09PSA4ICE9PSA5IDwgMCA+IDEgPD0gMiA+PSAzIDw8IDQgPj4gNSA+Pj4gNiArIDcgLSA4ICog
OSAvIDAgJSAxICoqIDIgPz8gMycpOworc2hvdWxkVGhyb3dTeW50YXhFcnJvcignMyA/PyAyICoq
IDEgJSAwIC8gOSAqIDggLSA3ICsgNiA+Pj4gNSA+PiA0IDw8IDMgPj0gMiA8PSAxID4gMCA8IDkg
IT09IDggPT09IDcgIT0gNiA9PSA1ICYgNCBeIDMgfCAyICYmIDEgfHwgMCcpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374782</attachid>
            <date>2019-07-24 09:47:01 -0700</date>
            <delta_ts>2019-07-24 11:22:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200072-20190724094659.patch</filename>
            <type>text/plain</type>
            <size>19313</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
YmI2ODQ3ZjQ4NWJmZTIyMTlkZTZjYWNiNDU4Yzg3MDVjOGM2ZGUwLi5mYjkzOTBlOTIwYjNiYjdh
ZGZlN2M3YWE0NTVkNjUyNTM5MDBmMTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NiBAQAorMjAxOS0wNy0yNCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0VTTmV4dF0gSW1wbGVtZW50IG51bGxpc2ggY29hbGVzY2luZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDcyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50
IHRoZSBudWxsaXNoIGNvYWxlc2NpbmcgcHJvcG9zYWwsIHdoaWNoIGhhcyBub3cgcmVhY2hlZCBT
dGFnZSAzIGF0IFRDMzkuCisKKyAgICAgICAgVGhpcyBpbnRyb2R1Y2VzIGEgPz8gb3BlcmF0b3Ig
d2hpY2g6CisgICAgICAgICAgLSBhY3RzIGxpa2UgfHwgYnV0IGNoZWNrcyBmb3IgbnVsbGlzaG5l
c3MgaW5zdGVhZCBvZiB0cnV0aGluZXNzCisgICAgICAgICAgLSBoYXMgYSBwcmVjZWRlbmNlIGxv
d2VyIHRoYW4gfHwgKG9yIGFueSBvdGhlciBiaW5hcnkgb3BlcmF0b3IpCisgICAgICAgICAgLSBt
dXN0IGJlIGRpc2FtYmlndWF0ZWQgd2l0aCBwYXJlbnRoZXNlcyB3aGVuIGNvbWJpbmVkIHdpdGgg
fHwgb3IgJiYKKworICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAg
ICAgICAoSlNDOjpDb2FsZXNjZU5vZGU6OmVtaXRCeXRlY29kZSk6IEFkZGVkLgorICAgICAgICBC
eXRlY29kZSBtdXN0IHVzZSBPcElzVW5kZWZpbmVkT3JOdWxsIGFuZCBub3QgT3BOZXFOdWxsIGJl
Y2F1c2Ugb2YgZG9jdW1lbnQuYWxsLgorCisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoK
KyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6bWFrZUJpbmFyeU5vZGUpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXhXaXRob3V0Q2xlYXJp
bmdMaW5lVGVybWluYXRvcik6CisgICAgICAgICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoK
KyAgICAgICAgKEpTQzo6Q29hbGVzY2VOb2RlOjpDb2FsZXNjZU5vZGUpOiBBZGRlZC4KKyAgICAg
ICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAgICAgICAgSW50cm9kdWNlIG5ldyB0b2tlbiBhbmQgQVNU
IG5vZGUuCisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQmluYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIEltcGxlbWVu
dCBlYXJseSBlcnJvci4KKworICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAg
ICAgU2luY2UgdGhpcyBwYXRjaCBuZWVkcyB0byBzaGlmdCB0aGUgdmFsdWUgb2YgZXZlcnkgYmlu
YXJ5IG9wZXJhdG9yIHRva2VuIGFueXdheSwKKyAgICAgICAgbGV0J3Mgb25seSBib3RoZXIgdG8g
aW5jcmVtZW50IHRoZWlyIExTQnMgd2hlbiB3ZSBhY3R1YWxseSBoYXZlIGEgcHJlY2VkZW5jZSBj
b25mbGljdC4KKworICAgICAgICAqIHBhcnNlci9SZXN1bHRUeXBlLmg6CisgICAgICAgIChKU0M6
OlJlc3VsdFR5cGU6OmRlZmluaXRlbHlJc051bGwgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKEpT
Qzo6UmVzdWx0VHlwZTo6Zm9yQ29hbGVzY2UpOiBBZGRlZC4KKyAgICAgICAgV2UgY2FuIGRvIGJl
dHRlciB0aGFuIGZvckxvZ2ljYWxPcCBoZXJlOyBsZXQncyBiZSBhcyBhY2N1cmF0ZSBhcyBwb3Nz
aWJsZS4KKworICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5oOgorICAgICAgICBBZGQgcnVudGlt
ZSBmZWF0dXJlIGZsYWcuCisKIDIwMTktMDctMjMgIEp1c3RpbiBNaWNoYXVkICA8anVzdGluX21p
Y2hhdWRAYXBwbGUuY29tPgogCiAgICAgICAgIFNvbWV0aW1lcyB3ZSBtaXNzIHJlbW92YWJsZSBD
aGVja0luQm91bmRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L05vZGVzQ29kZWdlbi5jcHAKaW5kZXggN2ZmN2I1ODlkZDBhMzMzODNjNjJiNzE4NWRiOTU4MjA2
NWFjMjY3My4uN2NjMDc4YzNjMDIxNWM5ZGY3OTBjODQ4YTMyZDEzYjgwOTBmMDhhMCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cApAQCAtMjMzOCw2ICsyMzM4LDIxIEBAIHZvaWQgTG9naWNhbE9wTm9kZTo6ZW1pdEJ5dGVjb2Rl
SW5Db25kaXRpb25Db250ZXh0KEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsCiAgICAgZ2Vu
ZXJhdG9yLmVtaXROb2RlSW5Db25kaXRpb25Db250ZXh0KG1fZXhwcjIsIHRydWVUYXJnZXQsIGZh
bHNlVGFyZ2V0LCBmYWxsVGhyb3VnaE1vZGUpOwogfQogCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gQ29hbGVzY2VOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwor
UmVnaXN0ZXJJRCogQ29hbGVzY2VOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3Im
IGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIFJlZlB0cjxSZWdpc3RlcklEPiB0
ZW1wID0gZ2VuZXJhdG9yLnRlbXBEZXN0aW5hdGlvbihkc3QpOworICAgIFJlZjxMYWJlbD4gdGFy
Z2V0ID0gZ2VuZXJhdG9yLm5ld0xhYmVsKCk7CisKKyAgICBnZW5lcmF0b3IuZW1pdE5vZGUodGVt
cC5nZXQoKSwgbV9leHByMSk7CisgICAgZ2VuZXJhdG9yLmVtaXRKdW1wSWZGYWxzZShnZW5lcmF0
b3IuZW1pdFVuYXJ5T3A8T3BJc1VuZGVmaW5lZE9yTnVsbD4oZ2VuZXJhdG9yLm5ld1RlbXBvcmFy
eSgpLCB0ZW1wLmdldCgpKSwgdGFyZ2V0LmdldCgpKTsKKyAgICBnZW5lcmF0b3IuZW1pdE5vZGVJ
blRhaWxQb3NpdGlvbih0ZW1wLmdldCgpLCBtX2V4cHIyKTsKKyAgICBnZW5lcmF0b3IuZW1pdExh
YmVsKHRhcmdldC5nZXQoKSk7CisKKyAgICByZXR1cm4gZ2VuZXJhdG9yLm1vdmUoZHN0LCB0ZW1w
LmdldCgpKTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbmRpdGlv
bmFsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogUmVnaXN0ZXJJRCogQ29u
ZGl0aW9uYWxOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwg
UmVnaXN0ZXJJRCogZHN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIu
aAppbmRleCBkYzg3OGM1OGRhY2ZmMzE4YjdkN2U1ZTZmMmFkNTcwNzY4YWZmNTZmLi5kZTViMTMz
OTA2NjExMzQxMmFjYWVlZjJiZDc1ZTAzMWEzMzNhMTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMTM5Myw2ICsxMzkzLDkgQEAgRXhwcmVzc2lvbk5v
ZGUqIEFTVEJ1aWxkZXI6Om1ha2VGdW5jdGlvbkNhbGxOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYgbG9jYXRpb24KIEV4cHJlc3Npb25Ob2RlKiBBU1RCdWlsZGVyOjptYWtlQmluYXJ5Tm9kZShj
b25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBpbnQgdG9rZW4sIHN0ZDo6cGFpcjxFeHBy
ZXNzaW9uTm9kZSosIEJpbmFyeU9wSW5mbz4gbGhzLCBzdGQ6OnBhaXI8RXhwcmVzc2lvbk5vZGUq
LCBCaW5hcnlPcEluZm8+IHJocykKIHsKICAgICBzd2l0Y2ggKHRva2VuKSB7CisgICAgY2FzZSBD
T0FMRVNDRToKKyAgICAgICAgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkgQ29hbGVzY2VOb2Rl
KGxvY2F0aW9uLCBsaHMuZmlyc3QsIHJocy5maXJzdCk7CisKICAgICBjYXNlIE9SOgogICAgICAg
ICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBMb2dpY2FsT3BOb2RlKGxvY2F0aW9uLCBsaHMu
Zmlyc3QsIHJocy5maXJzdCwgT3BMb2dpY2FsT3IpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTGV4ZXIuY3BwCmluZGV4IDQ2NjJjNTRmMmEwNTM2NDYyYWU3MmUwZGQ3NzMwMWUwY2VlOTlk
NDQuLjE2YmZhOGEyNDdiM2YwYmI0NjVhNTc2M2Q4NzVmMjZlMTRhYzI2ZTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC0yMTUzLDggKzIxNTMsMTMgQEAgc3RhcnQ6
CiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ2hhcmFjdGVyUXVl
c3Rpb246Ci0gICAgICAgIHRva2VuID0gUVVFU1RJT047CiAgICAgICAgIHNoaWZ0KCk7CisgICAg
ICAgIGlmIChPcHRpb25zOjp1c2VOdWxsaXNoQ29hbGVzY2luZygpICYmIG1fY3VycmVudCA9PSAn
PycpIHsKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IENPQUxFU0NF
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgdG9rZW4gPSBRVUVTVElP
TjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDaGFyYWN0ZXJUaWxkZToKICAgICAgICAgdG9r
ZW4gPSBUSUxERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmgKaW5kZXggYTJiOGM1ZjBmYzkwNDkxYzA1ODE0Yzk5NzIwNzAwMDFhNmE4ZWRjYy4u
ZDQxZTNhZWQ4ZTQ1ZjdhOGUyZmQzMWMyNDQ3N2RlY2NiOGQ1NjQwZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTY2OSw2ICs2Njks
MTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAorICAgIGlubGluZSBDb2FsZXNj
ZU5vZGU6OkNvYWxlc2NlTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHBy
ZXNzaW9uTm9kZSogZXhwcjEsIEV4cHJlc3Npb25Ob2RlKiBleHByMikKKyAgICAgICAgOiBFeHBy
ZXNzaW9uTm9kZShsb2NhdGlvbiwgUmVzdWx0VHlwZTo6Zm9yQ29hbGVzY2UoZXhwcjEtPnJlc3Vs
dERlc2NyaXB0b3IoKSwgZXhwcjItPnJlc3VsdERlc2NyaXB0b3IoKSkpCisgICAgICAgICwgbV9l
eHByMShleHByMSkKKyAgICAgICAgLCBtX2V4cHIyKGV4cHIyKQorICAgIHsKKyAgICB9CisKICAg
ICBpbmxpbmUgQ29uZGl0aW9uYWxOb2RlOjpDb25kaXRpb25hbE5vZGUoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGxvZ2ljYWwsIEV4cHJlc3Npb25Ob2Rl
KiBleHByMSwgRXhwcmVzc2lvbk5vZGUqIGV4cHIyKQogICAgICAgICA6IEV4cHJlc3Npb25Ob2Rl
KGxvY2F0aW9uKQogICAgICAgICAsIG1fbG9naWNhbChsb2dpY2FsKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2Rlcy5oCmluZGV4IDYwYmE1ZWVhMmQ1MDlhNDM4ODQ4ZmQ4ZDlmYzJmMzI0ZTgx
Mjk2N2MuLjg2ZmRhZjNkMDRmZDBkOGY3ZjQ4N2QxNzczNzdlMmEzN2U5NWE3ODcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTEzMDUsNiArMTMwNSwxNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1fZXhwcjI7CiAgICAgfTsKIAorICAg
IGNsYXNzIENvYWxlc2NlTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7CisgICAg
cHVibGljOgorICAgICAgICBDb2FsZXNjZU5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhw
cmVzc2lvbk5vZGUqIGV4cHIxLCBFeHByZXNzaW9uTm9kZSogZXhwcjIpOworCisgICAgcHJpdmF0
ZToKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwg
UmVnaXN0ZXJJRCogPSAwKSBvdmVycmlkZTsKKworICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9l
eHByMTsKKyAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1fZXhwcjI7CisgICAgfTsKKwogICAgIC8v
IFRoZSB0ZXJuYXJ5IG9wZXJhdG9yLCAibV9sb2dpY2FsID8gbV9leHByMSA6IG1fZXhwcjIiCiAg
ICAgY2xhc3MgQ29uZGl0aW9uYWxOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlIHsK
ICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXgg
NTAyYWJmODEyMmVjYTRiZWQ1YTVmZjg1YzY0ODM0ODQyZjU5N2IxYS4uZTI1NGRjOTA4NDI3NGRl
N2Q1MzdiOWRhMjY5MjY5MmIyMzg5Y2YwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmNwcApAQCAtMzg4MywxNCArMzg4MywyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJpbmFyeUV4cHJl
cwogICAgIGludCBvcGVyYXRvclN0YWNrRGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVCdWls
ZGVyOjpCaW5hcnlFeHByQ29udGV4dCBiaW5hcnlFeHByQ29udGV4dChjb250ZXh0KTsKICAgICBK
U1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBib29sIGhhc0xv
Z2ljYWxPcGVyYXRvciA9IGZhbHNlOworICAgIGJvb2wgaGFzQ29hbGVzY2VPcGVyYXRvciA9IGZh
bHNlOworCiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgSlNUZXh0UG9zaXRpb24gZXhwclN0
YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGludCBpbml0aWFsQXNzaWdubWVu
dHMgPSBtX3BhcnNlclN0YXRlLmFzc2lnbm1lbnRDb3VudDsKICAgICAgICAgSlNUb2tlblR5cGUg
bGVhZGluZ1Rva2VuVHlwZUZvclVuYXJ5RXhwcmVzc2lvbiA9IG1fdG9rZW4ubV90eXBlOwogICAg
ICAgICBUcmVlRXhwcmVzc2lvbiBjdXJyZW50ID0gcGFyc2VVbmFyeUV4cHJlc3Npb24oY29udGV4
dCk7CiAgICAgICAgIGZhaWxJZkZhbHNlKGN1cnJlbnQsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lv
biIpOwotICAgICAgICAKKwogICAgICAgICBjb250ZXh0LmFwcGVuZEJpbmFyeUV4cHJlc3Npb25J
bmZvKG9wZXJhbmRTdGFja0RlcHRoLCBjdXJyZW50LCBleHByU3RhcnQsIGxhc3RUb2tlbkVuZFBv
c2l0aW9uKCksIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCksIGluaXRpYWxBc3NpZ25tZW50cyAhPSBt
X3BhcnNlclN0YXRlLmFzc2lnbm1lbnRDb3VudCk7CisgICAgICAgIGludCBwcmVjZWRlbmNlID0g
aXNCaW5hcnlPcGVyYXRvcihtX3Rva2VuLm1fdHlwZSk7CisgICAgICAgIGlmICghcHJlY2VkZW5j
ZSkKKyAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIC8vIDEyLjYgaHR0cHM6Ly90YzM5Lmdp
dGh1Yi5pby9lY21hMjYyLyNzZWMtZXhwLW9wZXJhdG9yCiAgICAgICAgIC8vIEV4cG9uZW50aWF0
aW9uRXhwcmVzaW9uIGlzIGRlc2NyaWJlZCBhcyBmb2xsb3dzLgpAQCAtMzkxNSw5ICszOTIxLDE0
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlQmluYXJ5RXhwcmVzCiAgICAgICAgIC8vIEJ1dCBpdCdzIE9LIGZvciAq
KiBiZWNhdXNlIHRoZSBvcGVyYXRvciAiKioiIGhhcyB0aGUgaGlnaGVzdCBvcGVyYXRvciBwcmVj
ZWRlbmNlIGluIHRoZSBiaW5hcnkgb3BlcmF0b3JzLgogICAgICAgICBmYWlsSWZUcnVlKG1hdGNo
KFBPVykgJiYgaXNVbmFyeU9wRXhjbHVkaW5nVXBkYXRlT3AobGVhZGluZ1Rva2VuVHlwZUZvclVu
YXJ5RXhwcmVzc2lvbiksICJBbWJpZ3VvdXMgdW5hcnkgZXhwcmVzc2lvbiBpbiB0aGUgbGVmdCBo
YW5kIHNpZGUgb2YgdGhlIGV4cG9uZW50aWF0aW9uIGV4cHJlc3Npb247IHBhcmVudGhlc2VzIG11
c3QgYmUgdXNlZCB0byBkaXNhbWJpZ3VhdGUgdGhlIGV4cHJlc3Npb24iKTsKIAotICAgICAgICBp
bnQgcHJlY2VkZW5jZSA9IGlzQmluYXJ5T3BlcmF0b3IobV90b2tlbi5tX3R5cGUpOwotICAgICAg
ICBpZiAoIXByZWNlZGVuY2UpCi0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgLy8gTWl4aW5n
ID8/IHdpdGggfHwgb3IgJiYgaXMgY3VycmVudGx5IHNwZWNpZmllZCBhcyBhbiBlYXJseSBlcnJv
ci4KKyAgICAgICAgLy8gU2luY2UgPz8gaXMgdGhlIGxvd2VzdC1wcmVjZWRlbmNlIGJpbmFyeSBv
cGVyYXRvciwgaXQgc3VmZmljZXMgdG8gY2hlY2sgd2hldGhlciB0aGVzZSBldmVyIGNvZXhpc3Qg
aW4gdGhlIG9wZXJhdG9yIHN0YWNrLgorICAgICAgICBpZiAobWF0Y2goQU5EKSB8fCBtYXRjaChP
UikpCisgICAgICAgICAgICBoYXNMb2dpY2FsT3BlcmF0b3IgPSB0cnVlOworICAgICAgICBlbHNl
IGlmIChtYXRjaChDT0FMRVNDRSkpCisgICAgICAgICAgICBoYXNDb2FsZXNjZU9wZXJhdG9yID0g
dHJ1ZTsKKyAgICAgICAgZmFpbElmVHJ1ZShoYXNMb2dpY2FsT3BlcmF0b3IgJiYgaGFzQ29hbGVz
Y2VPcGVyYXRvciwgIkNvYWxlc2NpbmcgYW5kIGxvZ2ljYWwgb3BlcmF0b3JzIHVzZWQgdG9nZXRo
ZXIgaW4gdGhlIHNhbWUgZXhwcmVzc2lvbjsgcGFyZW50aGVzZXMgbXVzdCBiZSB1c2VkIHRvIGRp
c2FtYmlndWF0ZSIpOworCiAgICAgICAgIG1fcGFyc2VyU3RhdGUubm9uVHJpdmlhbEV4cHJlc3Np
b25Db3VudCsrOwogICAgICAgICBtX3BhcnNlclN0YXRlLm5vbkxIU0NvdW50Kys7CiAgICAgICAg
IGludCBvcGVyYXRvclRva2VuID0gbV90b2tlbi5tX3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCBjZmVlMzM3OThjMjRkODc4M2JkOTljNDhl
MWM4NzIwODg3M2I1YzljLi4xNWNhNWVhZjI4ZTc1OTJmNDNmM2RjZTQxZThlNDFlNjFhOWU4MTM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTE0
OCwzMCArMTQ4LDMxIEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIFRZUEVPRiA9IDYgfCBVbmFy
eU9wVG9rZW5GbGFnIHwgS2V5d29yZFRva2VuRmxhZywKICAgICBWT0lEVE9LRU4gPSA3IHwgVW5h
cnlPcFRva2VuRmxhZyB8IEtleXdvcmRUb2tlbkZsYWcsCiAgICAgREVMRVRFVE9LRU4gPSA4IHwg
VW5hcnlPcFRva2VuRmxhZyB8IEtleXdvcmRUb2tlbkZsYWcsCi0gICAgT1IgPSAwIHwgQklOQVJZ
X09QX1BSRUNFREVOQ0UoMSksCi0gICAgQU5EID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDIp
LAotICAgIEJJVE9SID0gMiB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDMpLAotICAgIEJJVFhPUiA9
IDMgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg0KSwKLSAgICBCSVRBTkQgPSA0IHwgQklOQVJZX09Q
X1BSRUNFREVOQ0UoNSksCi0gICAgRVFFUSA9IDUgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwK
LSAgICBORSA9IDYgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwKLSAgICBTVFJFUSA9IDcgfCBC
SU5BUllfT1BfUFJFQ0VERU5DRSg2KSwKLSAgICBTVFJORVEgPSA4IHwgQklOQVJZX09QX1BSRUNF
REVOQ0UoNiksCi0gICAgTFQgPSA5IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNyksCi0gICAgR1Qg
PSAxMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDcpLAotICAgIExFID0gMTEgfCBCSU5BUllfT1Bf
UFJFQ0VERU5DRSg3KSwKLSAgICBHRSA9IDEyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNyksCi0g
ICAgSU5TVEFOQ0VPRiA9IDEzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNykgfCBLZXl3b3JkVG9r
ZW5GbGFnLAotICAgIElOVE9LRU4gPSAxNCB8IElOX09QX1BSRUNFREVOQ0UoNykgfCBLZXl3b3Jk
VG9rZW5GbGFnLAotICAgIExTSElGVCA9IDE1IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCi0g
ICAgUlNISUZUID0gMTYgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg4KSwKLSAgICBVUlNISUZUID0g
MTcgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg4KSwKLSAgICBQTFVTID0gMTggfCBCSU5BUllfT1Bf
UFJFQ0VERU5DRSg5KSB8IFVuYXJ5T3BUb2tlbkZsYWcsCi0gICAgTUlOVVMgPSAxOSB8IEJJTkFS
WV9PUF9QUkVDRURFTkNFKDkpIHwgVW5hcnlPcFRva2VuRmxhZywKLSAgICBUSU1FUyA9IDIwIHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAotICAgIERJVklERSA9IDIxIHwgQklOQVJZX09QX1BS
RUNFREVOQ0UoMTApLAotICAgIE1PRCA9IDIyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAot
ICAgIFBPVyA9IDIzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTEpIHwgUmlnaHRBc3NvY2lhdGl2
ZUJpbmFyeU9wVG9rZW5GbGFnLCAvLyBNYWtlIHN1cmUgdGhhdCBQT1cgaGFzIHRoZSBoaWdoZXN0
IG9wZXJhdG9yIHByZWNlZGVuY2UuCisgICAgQ09BTEVTQ0UgPSAwIHwgQklOQVJZX09QX1BSRUNF
REVOQ0UoMSksCisgICAgT1IgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMiksCisgICAgQU5E
ID0gMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDMpLAorICAgIEJJVE9SID0gMCB8IEJJTkFSWV9P
UF9QUkVDRURFTkNFKDQpLAorICAgIEJJVFhPUiA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg1
KSwKKyAgICBCSVRBTkQgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNiksCisgICAgRVFFUSA9
IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAgICBORSA9IDEgfCBCSU5BUllfT1BfUFJF
Q0VERU5DRSg3KSwKKyAgICBTVFJFUSA9IDIgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAg
ICBTVFJORVEgPSAzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNyksCisgICAgTFQgPSAwIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgR1QgPSAxIHwgQklOQVJZX09QX1BSRUNFREVOQ0Uo
OCksCisgICAgTEUgPSAyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgR0UgPSAzIHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgSU5TVEFOQ0VPRiA9IDQgfCBCSU5BUllfT1Bf
UFJFQ0VERU5DRSg4KSB8IEtleXdvcmRUb2tlbkZsYWcsCisgICAgSU5UT0tFTiA9IDUgfCBJTl9P
UF9QUkVDRURFTkNFKDgpIHwgS2V5d29yZFRva2VuRmxhZywKKyAgICBMU0hJRlQgPSAwIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoOSksCisgICAgUlNISUZUID0gMSB8IEJJTkFSWV9PUF9QUkVDRURF
TkNFKDkpLAorICAgIFVSU0hJRlQgPSAyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOSksCisgICAg
UExVUyA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSgxMCkgfCBVbmFyeU9wVG9rZW5GbGFnLAor
ICAgIE1JTlVTID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDEwKSB8IFVuYXJ5T3BUb2tlbkZs
YWcsCisgICAgVElNRVMgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTEpLAorICAgIERJVklE
RSA9IDEgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSgxMSksCisgICAgTU9EID0gMiB8IEJJTkFSWV9P
UF9QUkVDRURFTkNFKDExKSwKKyAgICBQT1cgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTIp
IHwgUmlnaHRBc3NvY2lhdGl2ZUJpbmFyeU9wVG9rZW5GbGFnLCAvLyBNYWtlIHN1cmUgdGhhdCBQ
T1cgaGFzIHRoZSBoaWdoZXN0IG9wZXJhdG9yIHByZWNlZGVuY2UuCiAgICAgRVJST1JUT0sgPSAw
IHwgRXJyb3JUb2tlbkZsYWcsCiAgICAgVU5URVJNSU5BVEVEX0lERU5USUZJRVJfRVNDQVBFX0VS
Uk9SVE9LID0gMCB8IEVycm9yVG9rZW5GbGFnIHwgVW50ZXJtaW5hdGVkRXJyb3JUb2tlbkZsYWcs
CiAgICAgSU5WQUxJRF9JREVOVElGSUVSX0VTQ0FQRV9FUlJPUlRPSyA9IDEgfCBFcnJvclRva2Vu
RmxhZywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUmVzdWx0VHlw
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKaW5kZXggY2Nl
MGY2ZDYwMDFlM2MyYzMxZDllY2E4ZTE0ZjlmOGQ0M2VhNTlmMS4uMTJiMGViMGZlZTliMjNhYjNl
OGM3Mzg5NjVjYzIxYTk2MTk0MzgxZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9SZXN1bHRUeXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9S
ZXN1bHRUeXBlLmgKQEAgLTc2LDYgKzc2LDExIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAg
ICAgcmV0dXJuIChtX2JpdHMgJiBUeXBlQml0cykgPT0gVHlwZU1heWJlQmlnSW50OwogICAgICAg
ICB9CiAKKyAgICAgICAgY29uc3RleHByIGJvb2wgZGVmaW5pdGVseUlzTnVsbCgpIGNvbnN0Cisg
ICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAobV9iaXRzICYgVHlwZUJpdHMpID09IFR5cGVN
YXliZU51bGw7CisgICAgICAgIH0KKwogICAgICAgICBjb25zdGV4cHIgYm9vbCBtaWdodEJlTnVt
YmVyKCkgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIG1fYml0cyAmIFR5cGVN
YXliZU51bWJlcjsKQEAgLTE3Miw2ICsxNzcsMTUgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
ICAgICByZXR1cm4gdW5rbm93blR5cGUoKTsKICAgICAgICAgfQogCisgICAgICAgIHN0YXRpYyBj
b25zdGV4cHIgUmVzdWx0VHlwZSBmb3JDb2FsZXNjZShSZXN1bHRUeXBlIG9wMSwgUmVzdWx0VHlw
ZSBvcDIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChvcDEuZGVmaW5pdGVseUlzTnVsbCgp
KQorICAgICAgICAgICAgICAgIHJldHVybiBvcDI7CisgICAgICAgICAgICBpZiAob3AxLmRlZmlu
aXRlbHlJc0Jvb2xlYW4oKSB8fCBvcDEuZGVmaW5pdGVseUlzTnVtYmVyKCkgfHwgb3AxLmRlZmlu
aXRlbHlJc1N0cmluZygpIHx8IG9wMS5kZWZpbml0ZWx5SXNCaWdJbnQoKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gb3AxOworICAgICAgICAgICAgcmV0dXJuIHVua25vd25UeXBlKCk7CisgICAg
ICAgIH0KKwogICAgICAgICBzdGF0aWMgY29uc3RleHByIFJlc3VsdFR5cGUgZm9yQml0T3AoKQog
ICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gYmlnSW50T3JJbnQzMlR5cGUoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAppbmRleCBjYThmYTAxZjI5ZmY4YWNlZjlj
MWQ2NGFkMTk2NGQ0M2QxM2I5OWRhLi5mNWZlMDg4NWQ3ZmQwYzQ4OTViZmJiMmM3YzNlOTI3MWIw
YWYxZjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25z
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCkBAIC00OTQs
NiArNDk0LDcgQEAgY29uc3RleHByIGJvb2wgZW5hYmxlV2ViQXNzZW1ibHlTdHJlYW1pbmdBcGkg
PSBmYWxzZTsKICAgICB2KGJvb2wsIHVzZVdlYkFzc2VtYmx5UmVmZXJlbmNlcywgZmFsc2UsIE5v
cm1hbCwgIkFsbG93IHR5cGVzIGZyb20gdGhlIHdhc20gcmVmZXJlbmNlcyBzcGVjLiIpIFwKICAg
ICB2KGJvb2wsIHVzZVdlYWtSZWZzLCBmYWxzZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBXZWFrUmVm
IGNvbnN0cnVjdG9yLiIpIFwKICAgICB2KGJvb2wsIHVzZUJpZ0ludCwgZmFsc2UsIE5vcm1hbCwg
IklmIHRydWUsIHdlIHdpbGwgZW5hYmxlIEJpZ0ludCBzdXBwb3J0LiIpIFwKKyAgICB2KGJvb2ws
IHVzZU51bGxpc2hDb2FsZXNjaW5nLCBmYWxzZSwgTm9ybWFsLCAiRW5hYmxlIHN1cHBvcnQgZm9y
IHRoZSA/PyBvcGVyYXRvci4iKSBcCiAgICAgdihib29sLCB1c2VBcnJheUFsbG9jYXRpb25Qcm9m
aWxpbmcsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgdXNlIG91ciBub3JtYWwgYXJy
YXkgYWxsb2NhdGlvbiBwcm9maWxpbmcuIElmIGZhbHNlLCB0aGUgYWxsb2NhdGlvbiBwcm9maWxl
IHdpbGwgYWx3YXlzIGNsYWltIHRvIGJlIHVuZGVjaWRlZC4iKSBcCiAgICAgdihib29sLCBmb3Jj
ZVBvbHlQcm90bywgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIGNyZWF0ZV90aGlzIHdpbGwgYWx3
YXlzIGNyZWF0ZSBhbiBvYmplY3Qgd2l0aCBhIHBvbHkgcHJvdG8gc3RydWN0dXJlLiIpIFwKICAg
ICB2KGJvb2wsIGZvcmNlTWluaVZNTW9kZSwgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIGl0IHdp
bGwgZm9yY2UgbWluaSBWTSBtb2RlIG9uLiIpIFwKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhZWQ5YmFkMTZmODY3ZDc0ZGFkZmI1M2JmOWYyMzAz
ZmNiYTJiYzhhLi40OWVhZmYxMTM2ODlhMDlhMDQyNDVhZWM3NzdkYzFjMzY4NDhmNDAyIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTktMDctMjQgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29t
PgorCisgICAgICAgIFtFU05leHRdIEltcGxlbWVudCBudWxsaXNoIGNvYWxlc2NpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDA3MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9ydW4t
anNjLXN0cmVzcy10ZXN0czoKKwogMjAxOS0wNy0yMyAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9y
aS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbd2Via2l0cGVybF0gcHJlcGFyZS1DaGFuZ2VM
b2dfdW5pdHRlc3QvcGFyc2VyX3VuaXR0ZXN0cy5wbCBpcyBmYWlsaW5nIG9uIFdpbmRvd3MgUGVy
bApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cyBiL1Rvb2xz
L1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKaW5kZXggOWQ3N2Y1ODI3OThjMGYwNWRmYWEy
OTk0YzY1YjVkYjA3MzMwY2RmMS4uODNkYzA2MmFiMjgyMTE2MWE5MzFjMmFiZTQzZGY1ZjY2OWE4
OGRhOSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cworKysg
Yi9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCkBAIC02OTksNiArNjk5LDEwIEBA
IGRlZiBydW5CaWdJbnRFbmFibGVkKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCiAgICAg
cnVuKCJiaWctaW50LWVuYWJsZWQiLCAiLS11c2VCaWdJbnQ9dHJ1ZSIgLCAqKEZUTF9PUFRJT05T
ICsgb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKIGVuZAogCitkZWYgcnVuTnVsbGlzaENv
YWxlc2NpbmdFbmFibGVkKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCisgICAgcnVuKCJu
dWxsaXNoLWNvYWxlc2NpbmctZW5hYmxlZCIsICItLXVzZU51bGxpc2hDb2FsZXNjaW5nPXRydWUi
ICwgKihGVExfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCitlbmQKKwog
ZGVmIHJ1bkZUTE5vQ0pJVCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQogICAgIHJ1bigi
bWlzYy1mdGwtbm8tY2ppdCIsICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMgKyBvcHRp
b25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQogZW5kCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5n
ZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYwYzZmZWUzMmEwYWY0OWVhZjhkZmQ5OWVm
MGZmMzRmZGVkZDUwMTYuLjg1OGE1YzBmZGNhODNiYzMyNTI4YmRhM2Y0NzdmZTYzNTYzNGJkZjcg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTktMDctMjQgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5n
QHNvbnkuY29tPgorCisgICAgICAgIFtFU05leHRdIEltcGxlbWVudCBudWxsaXNoIGNvYWxlc2Np
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDA3
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3Ry
ZXNzL251bGxpc2gtY29hbGVzY2luZy5qczogQWRkZWQuCisKIDIwMTktMDctMjMgIEp1c3RpbiBN
aWNoYXVkICA8anVzdGluX21pY2hhdWRAYXBwbGUuY29tPgogCiAgICAgICAgIFNvbWV0aW1lcyB3
ZSBtaXNzIHJlbW92YWJsZSBDaGVja0luQm91bmRzCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVz
cy9udWxsaXNoLWNvYWxlc2NpbmcuanMgYi9KU1Rlc3RzL3N0cmVzcy9udWxsaXNoLWNvYWxlc2Np
bmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTMwYWJkYjdjMTkyYTMzNmEwNjZmNDBlNjg3YTZiZGM2YTNiMDZm
YwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL251bGxpc2gtY29hbGVzY2luZy5q
cwpAQCAtMCwwICsxLDc0IEBACisvLyBAcnVuTnVsbGlzaENvYWxlc2NpbmdFbmFibGVkCisKK2Z1
bmN0aW9uIHNob3VsZEJlKHNjcmlwdCwgZXhwZWN0ZWQpIHsKKyAgICBsZXQgYWN0dWFsID0gZXZh
bChzY3JpcHQpOworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoYGV4cGVjdGVkICR7ZXhwZWN0ZWR9IGJ1dCBnb3QgJHthY3R1YWx9YCk7Cit9CisK
K2Z1bmN0aW9uIHNob3VsZE5vdFRocm93KHNjcmlwdCkgeworICAgIGV2YWwoc2NyaXB0KTsKK30K
KworZnVuY3Rpb24gc2hvdWxkVGhyb3dTeW50YXhFcnJvcihzY3JpcHQpIHsKKyAgICBsZXQgZXJy
b3I7CisgICAgdHJ5IHsKKyAgICAgICAgZXZhbChzY3JpcHQpOworICAgIH0gY2F0Y2ggKGUpIHsK
KyAgICAgICAgZXJyb3IgPSBlOworICAgIH0KKworICAgIGlmICghKGVycm9yIGluc3RhbmNlb2Yg
U3ludGF4RXJyb3IpKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIFN5bnRheEVy
cm9yIScpOworfQorCitzaG91bGRCZSgndW5kZWZpbmVkID8/IDMnLCAzKTsKK3Nob3VsZEJlKCdu
dWxsID8/IDMnLCAzKTsKK3Nob3VsZEJlKCd0cnVlID8/IDMnLCB0cnVlKTsKK3Nob3VsZEJlKCdm
YWxzZSA/PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzAgPz8gMycsIDApOworc2hvdWxkQmUoJzEg
Pz8gMycsIDEpOworc2hvdWxkQmUoJyIiID8/IDMnLCAnJyk7CitzaG91bGRCZSgnImhpIiA/PyAz
JywgJ2hpJyk7CitzaG91bGRCZSgnKHt9ID8/IDMpIGluc3RhbmNlb2YgT2JqZWN0JywgdHJ1ZSk7
CitzaG91bGRCZSgnKHsgeDogImhpIiB9ID8/IDMpLngnLCAnaGknKTsKK3Nob3VsZEJlKCcoW10g
Pz8gMykgaW5zdGFuY2VvZiBBcnJheScsIHRydWUpOworc2hvdWxkQmUoJyhbImhpIl0gPz8gMylb
MF0nLCAnaGknKTsKKworc2hvdWxkQmUoJzEgfCBudWxsID8/IDMnLCAxKTsKK3Nob3VsZEJlKCcx
IF4gbnVsbCA/PyAzJywgMSk7CitzaG91bGRCZSgnMSAmIG51bGwgPz8gMycsIDApOworc2hvdWxk
QmUoJzMgPT0gbnVsbCA/PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzMgIT0gbnVsbCA/PyAzJywg
dHJ1ZSk7CitzaG91bGRCZSgnMyA9PT0gbnVsbCA/PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzMg
IT09IG51bGwgPz8gMycsIHRydWUpOworc2hvdWxkQmUoJzEgPCBudWxsID8/IDMnLCBmYWxzZSk7
CitzaG91bGRCZSgnMSA+IG51bGwgPz8gMycsIHRydWUpOworc2hvdWxkQmUoJzEgPD0gbnVsbCA/
PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzEgPj0gbnVsbCA/PyAzJywgdHJ1ZSk7CitzaG91bGRC
ZSgnMSA8PCBudWxsID8/IDMnLCAxKTsKK3Nob3VsZEJlKCcxID4+IG51bGwgPz8gMycsIDEpOwor
c2hvdWxkQmUoJzEgPj4+IG51bGwgPz8gMycsIDEpOworc2hvdWxkQmUoJzEgKyBudWxsID8/IDMn
LCAxKTsKK3Nob3VsZEJlKCcxIC0gbnVsbCA/PyAzJywgMSk7CitzaG91bGRCZSgnMSAqIG51bGwg
Pz8gMycsIDApOworc2hvdWxkQmUoJzEgLyBudWxsID8/IDMnLCBJbmZpbml0eSk7CitzaG91bGRC
ZSgnaXNOYU4oMSAlIG51bGwgPz8gMyknLCB0cnVlKTsKK3Nob3VsZEJlKCcxICoqIG51bGwgPz8g
MycsIDEpOworCitzaG91bGRUaHJvd1N5bnRheEVycm9yKCcwIHx8IDEgPz8gMicpOworc2hvdWxk
VGhyb3dTeW50YXhFcnJvcignMCAmJiAxID8/IDInKTsKK3Nob3VsZFRocm93U3ludGF4RXJyb3Io
JzAgPz8gMSB8fCAyJyk7CitzaG91bGRUaHJvd1N5bnRheEVycm9yKCcwID8/IDEgJiYgMicpOwor
c2hvdWxkTm90VGhyb3coJygwIHx8IDEpID8/IDInKTsKK3Nob3VsZE5vdFRocm93KCcwIHx8ICgx
ID8/IDIpJyk7CitzaG91bGROb3RUaHJvdygnKDAgJiYgMSkgPz8gMicpOworc2hvdWxkTm90VGhy
b3coJzAgJiYgKDEgPz8gMiknKTsKK3Nob3VsZE5vdFRocm93KCcoMCA/PyAxKSB8fCAyJyk7Citz
aG91bGROb3RUaHJvdygnMCA/PyAoMSB8fCAyKScpOworc2hvdWxkTm90VGhyb3coJygwID8/IDEp
ICYmIDInKTsKK3Nob3VsZE5vdFRocm93KCcwID8/ICgxICYmIDIpJyk7CisKK3Nob3VsZE5vdFRo
cm93KCcwIHx8IDEgJiYgMiB8IDMgXiA0ICYgNSA9PSA2ICE9IDcgPT09IDggIT09IDkgPCAwID4g
MSA8PSAyID49IDMgPDwgNCA+PiA1ID4+PiA2ICsgNyAtIDggKiA5IC8gMCAlIDEgKiogMicpOwor
c2hvdWxkVGhyb3dTeW50YXhFcnJvcignMCB8fCAxICYmIDIgfCAzIF4gNCAmIDUgPT0gNiAhPSA3
ID09PSA4ICE9PSA5IDwgMCA+IDEgPD0gMiA+PSAzIDw8IDQgPj4gNSA+Pj4gNiArIDcgLSA4ICog
OSAvIDAgJSAxICoqIDIgPz8gMycpOworc2hvdWxkVGhyb3dTeW50YXhFcnJvcignMyA/PyAyICoq
IDEgJSAwIC8gOSAqIDggLSA3ICsgNiA+Pj4gNSA+PiA0IDw8IDMgPj0gMiA8PSAxID4gMCA8IDkg
IT09IDggPT09IDcgIT0gNiA9PSA1ICYgNCBeIDMgfCAyICYmIDEgfHwgMCcpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374795</attachid>
            <date>2019-07-24 12:50:47 -0700</date>
            <delta_ts>2019-07-24 15:08:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200072-20190724125045.patch</filename>
            <type>text/plain</type>
            <size>19313</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
YmI2ODQ3ZjQ4NWJmZTIyMTlkZTZjYWNiNDU4Yzg3MDVjOGM2ZGUwLi5mYjkzOTBlOTIwYjNiYjdh
ZGZlN2M3YWE0NTVkNjUyNTM5MDBmMTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NiBAQAorMjAxOS0wNy0yNCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0VTTmV4dF0gSW1wbGVtZW50IG51bGxpc2ggY29hbGVzY2luZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDcyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50
IHRoZSBudWxsaXNoIGNvYWxlc2NpbmcgcHJvcG9zYWwsIHdoaWNoIGhhcyBub3cgcmVhY2hlZCBT
dGFnZSAzIGF0IFRDMzkuCisKKyAgICAgICAgVGhpcyBpbnRyb2R1Y2VzIGEgPz8gb3BlcmF0b3Ig
d2hpY2g6CisgICAgICAgICAgLSBhY3RzIGxpa2UgfHwgYnV0IGNoZWNrcyBmb3IgbnVsbGlzaG5l
c3MgaW5zdGVhZCBvZiB0cnV0aGluZXNzCisgICAgICAgICAgLSBoYXMgYSBwcmVjZWRlbmNlIGxv
d2VyIHRoYW4gfHwgKG9yIGFueSBvdGhlciBiaW5hcnkgb3BlcmF0b3IpCisgICAgICAgICAgLSBt
dXN0IGJlIGRpc2FtYmlndWF0ZWQgd2l0aCBwYXJlbnRoZXNlcyB3aGVuIGNvbWJpbmVkIHdpdGgg
fHwgb3IgJiYKKworICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAg
ICAgICAoSlNDOjpDb2FsZXNjZU5vZGU6OmVtaXRCeXRlY29kZSk6IEFkZGVkLgorICAgICAgICBC
eXRlY29kZSBtdXN0IHVzZSBPcElzVW5kZWZpbmVkT3JOdWxsIGFuZCBub3QgT3BOZXFOdWxsIGJl
Y2F1c2Ugb2YgZG9jdW1lbnQuYWxsLgorCisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoK
KyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6bWFrZUJpbmFyeU5vZGUpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXhXaXRob3V0Q2xlYXJp
bmdMaW5lVGVybWluYXRvcik6CisgICAgICAgICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoK
KyAgICAgICAgKEpTQzo6Q29hbGVzY2VOb2RlOjpDb2FsZXNjZU5vZGUpOiBBZGRlZC4KKyAgICAg
ICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAgICAgICAgSW50cm9kdWNlIG5ldyB0b2tlbiBhbmQgQVNU
IG5vZGUuCisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQmluYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIEltcGxlbWVu
dCBlYXJseSBlcnJvci4KKworICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAg
ICAgU2luY2UgdGhpcyBwYXRjaCBuZWVkcyB0byBzaGlmdCB0aGUgdmFsdWUgb2YgZXZlcnkgYmlu
YXJ5IG9wZXJhdG9yIHRva2VuIGFueXdheSwKKyAgICAgICAgbGV0J3Mgb25seSBib3RoZXIgdG8g
aW5jcmVtZW50IHRoZWlyIExTQnMgd2hlbiB3ZSBhY3R1YWxseSBoYXZlIGEgcHJlY2VkZW5jZSBj
b25mbGljdC4KKworICAgICAgICAqIHBhcnNlci9SZXN1bHRUeXBlLmg6CisgICAgICAgIChKU0M6
OlJlc3VsdFR5cGU6OmRlZmluaXRlbHlJc051bGwgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKEpT
Qzo6UmVzdWx0VHlwZTo6Zm9yQ29hbGVzY2UpOiBBZGRlZC4KKyAgICAgICAgV2UgY2FuIGRvIGJl
dHRlciB0aGFuIGZvckxvZ2ljYWxPcCBoZXJlOyBsZXQncyBiZSBhcyBhY2N1cmF0ZSBhcyBwb3Nz
aWJsZS4KKworICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5oOgorICAgICAgICBBZGQgcnVudGlt
ZSBmZWF0dXJlIGZsYWcuCisKIDIwMTktMDctMjMgIEp1c3RpbiBNaWNoYXVkICA8anVzdGluX21p
Y2hhdWRAYXBwbGUuY29tPgogCiAgICAgICAgIFNvbWV0aW1lcyB3ZSBtaXNzIHJlbW92YWJsZSBD
aGVja0luQm91bmRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L05vZGVzQ29kZWdlbi5jcHAKaW5kZXggN2ZmN2I1ODlkZDBhMzMzODNjNjJiNzE4NWRiOTU4MjA2
NWFjMjY3My4uN2NjMDc4YzNjMDIxNWM5ZGY3OTBjODQ4YTMyZDEzYjgwOTBmMDhhMCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cApAQCAtMjMzOCw2ICsyMzM4LDIxIEBAIHZvaWQgTG9naWNhbE9wTm9kZTo6ZW1pdEJ5dGVjb2Rl
SW5Db25kaXRpb25Db250ZXh0KEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsCiAgICAgZ2Vu
ZXJhdG9yLmVtaXROb2RlSW5Db25kaXRpb25Db250ZXh0KG1fZXhwcjIsIHRydWVUYXJnZXQsIGZh
bHNlVGFyZ2V0LCBmYWxsVGhyb3VnaE1vZGUpOwogfQogCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gQ29hbGVzY2VOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwor
UmVnaXN0ZXJJRCogQ29hbGVzY2VOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3Im
IGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIFJlZlB0cjxSZWdpc3RlcklEPiB0
ZW1wID0gZ2VuZXJhdG9yLnRlbXBEZXN0aW5hdGlvbihkc3QpOworICAgIFJlZjxMYWJlbD4gdGFy
Z2V0ID0gZ2VuZXJhdG9yLm5ld0xhYmVsKCk7CisKKyAgICBnZW5lcmF0b3IuZW1pdE5vZGUodGVt
cC5nZXQoKSwgbV9leHByMSk7CisgICAgZ2VuZXJhdG9yLmVtaXRKdW1wSWZGYWxzZShnZW5lcmF0
b3IuZW1pdFVuYXJ5T3A8T3BJc1VuZGVmaW5lZE9yTnVsbD4oZ2VuZXJhdG9yLm5ld1RlbXBvcmFy
eSgpLCB0ZW1wLmdldCgpKSwgdGFyZ2V0LmdldCgpKTsKKyAgICBnZW5lcmF0b3IuZW1pdE5vZGVJ
blRhaWxQb3NpdGlvbih0ZW1wLmdldCgpLCBtX2V4cHIyKTsKKyAgICBnZW5lcmF0b3IuZW1pdExh
YmVsKHRhcmdldC5nZXQoKSk7CisKKyAgICByZXR1cm4gZ2VuZXJhdG9yLm1vdmUoZHN0LCB0ZW1w
LmdldCgpKTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbmRpdGlv
bmFsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogUmVnaXN0ZXJJRCogQ29u
ZGl0aW9uYWxOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwg
UmVnaXN0ZXJJRCogZHN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIu
aAppbmRleCBkYzg3OGM1OGRhY2ZmMzE4YjdkN2U1ZTZmMmFkNTcwNzY4YWZmNTZmLi5kZTViMTMz
OTA2NjExMzQxMmFjYWVlZjJiZDc1ZTAzMWEzMzNhMTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMTM5Myw2ICsxMzkzLDkgQEAgRXhwcmVzc2lvbk5v
ZGUqIEFTVEJ1aWxkZXI6Om1ha2VGdW5jdGlvbkNhbGxOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYgbG9jYXRpb24KIEV4cHJlc3Npb25Ob2RlKiBBU1RCdWlsZGVyOjptYWtlQmluYXJ5Tm9kZShj
b25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBpbnQgdG9rZW4sIHN0ZDo6cGFpcjxFeHBy
ZXNzaW9uTm9kZSosIEJpbmFyeU9wSW5mbz4gbGhzLCBzdGQ6OnBhaXI8RXhwcmVzc2lvbk5vZGUq
LCBCaW5hcnlPcEluZm8+IHJocykKIHsKICAgICBzd2l0Y2ggKHRva2VuKSB7CisgICAgY2FzZSBD
T0FMRVNDRToKKyAgICAgICAgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkgQ29hbGVzY2VOb2Rl
KGxvY2F0aW9uLCBsaHMuZmlyc3QsIHJocy5maXJzdCk7CisKICAgICBjYXNlIE9SOgogICAgICAg
ICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBMb2dpY2FsT3BOb2RlKGxvY2F0aW9uLCBsaHMu
Zmlyc3QsIHJocy5maXJzdCwgT3BMb2dpY2FsT3IpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTGV4ZXIuY3BwCmluZGV4IDQ2NjJjNTRmMmEwNTM2NDYyYWU3MmUwZGQ3NzMwMWUwY2VlOTlk
NDQuLjE2YmZhOGEyNDdiM2YwYmI0NjVhNTc2M2Q4NzVmMjZlMTRhYzI2ZTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC0yMTUzLDggKzIxNTMsMTMgQEAgc3RhcnQ6
CiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ2hhcmFjdGVyUXVl
c3Rpb246Ci0gICAgICAgIHRva2VuID0gUVVFU1RJT047CiAgICAgICAgIHNoaWZ0KCk7CisgICAg
ICAgIGlmIChPcHRpb25zOjp1c2VOdWxsaXNoQ29hbGVzY2luZygpICYmIG1fY3VycmVudCA9PSAn
PycpIHsKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IENPQUxFU0NF
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgdG9rZW4gPSBRVUVTVElP
TjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDaGFyYWN0ZXJUaWxkZToKICAgICAgICAgdG9r
ZW4gPSBUSUxERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmgKaW5kZXggYTJiOGM1ZjBmYzkwNDkxYzA1ODE0Yzk5NzIwNzAwMDFhNmE4ZWRjYy4u
ZDQxZTNhZWQ4ZTQ1ZjdhOGUyZmQzMWMyNDQ3N2RlY2NiOGQ1NjQwZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTY2OSw2ICs2Njks
MTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAorICAgIGlubGluZSBDb2FsZXNj
ZU5vZGU6OkNvYWxlc2NlTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHBy
ZXNzaW9uTm9kZSogZXhwcjEsIEV4cHJlc3Npb25Ob2RlKiBleHByMikKKyAgICAgICAgOiBFeHBy
ZXNzaW9uTm9kZShsb2NhdGlvbiwgUmVzdWx0VHlwZTo6Zm9yQ29hbGVzY2UoZXhwcjEtPnJlc3Vs
dERlc2NyaXB0b3IoKSwgZXhwcjItPnJlc3VsdERlc2NyaXB0b3IoKSkpCisgICAgICAgICwgbV9l
eHByMShleHByMSkKKyAgICAgICAgLCBtX2V4cHIyKGV4cHIyKQorICAgIHsKKyAgICB9CisKICAg
ICBpbmxpbmUgQ29uZGl0aW9uYWxOb2RlOjpDb25kaXRpb25hbE5vZGUoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGxvZ2ljYWwsIEV4cHJlc3Npb25Ob2Rl
KiBleHByMSwgRXhwcmVzc2lvbk5vZGUqIGV4cHIyKQogICAgICAgICA6IEV4cHJlc3Npb25Ob2Rl
KGxvY2F0aW9uKQogICAgICAgICAsIG1fbG9naWNhbChsb2dpY2FsKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2Rlcy5oCmluZGV4IDYwYmE1ZWVhMmQ1MDlhNDM4ODQ4ZmQ4ZDlmYzJmMzI0ZTgx
Mjk2N2MuLjg2ZmRhZjNkMDRmZDBkOGY3ZjQ4N2QxNzczNzdlMmEzN2U5NWE3ODcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTEzMDUsNiArMTMwNSwxNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1fZXhwcjI7CiAgICAgfTsKIAorICAg
IGNsYXNzIENvYWxlc2NlTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7CisgICAg
cHVibGljOgorICAgICAgICBDb2FsZXNjZU5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhw
cmVzc2lvbk5vZGUqIGV4cHIxLCBFeHByZXNzaW9uTm9kZSogZXhwcjIpOworCisgICAgcHJpdmF0
ZToKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwg
UmVnaXN0ZXJJRCogPSAwKSBvdmVycmlkZTsKKworICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9l
eHByMTsKKyAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1fZXhwcjI7CisgICAgfTsKKwogICAgIC8v
IFRoZSB0ZXJuYXJ5IG9wZXJhdG9yLCAibV9sb2dpY2FsID8gbV9leHByMSA6IG1fZXhwcjIiCiAg
ICAgY2xhc3MgQ29uZGl0aW9uYWxOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlIHsK
ICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXgg
NTAyYWJmODEyMmVjYTRiZWQ1YTVmZjg1YzY0ODM0ODQyZjU5N2IxYS4uZTI1NGRjOTA4NDI3NGRl
N2Q1MzdiOWRhMjY5MjY5MmIyMzg5Y2YwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmNwcApAQCAtMzg4MywxNCArMzg4MywyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJpbmFyeUV4cHJl
cwogICAgIGludCBvcGVyYXRvclN0YWNrRGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVCdWls
ZGVyOjpCaW5hcnlFeHByQ29udGV4dCBiaW5hcnlFeHByQ29udGV4dChjb250ZXh0KTsKICAgICBK
U1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBib29sIGhhc0xv
Z2ljYWxPcGVyYXRvciA9IGZhbHNlOworICAgIGJvb2wgaGFzQ29hbGVzY2VPcGVyYXRvciA9IGZh
bHNlOworCiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgSlNUZXh0UG9zaXRpb24gZXhwclN0
YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGludCBpbml0aWFsQXNzaWdubWVu
dHMgPSBtX3BhcnNlclN0YXRlLmFzc2lnbm1lbnRDb3VudDsKICAgICAgICAgSlNUb2tlblR5cGUg
bGVhZGluZ1Rva2VuVHlwZUZvclVuYXJ5RXhwcmVzc2lvbiA9IG1fdG9rZW4ubV90eXBlOwogICAg
ICAgICBUcmVlRXhwcmVzc2lvbiBjdXJyZW50ID0gcGFyc2VVbmFyeUV4cHJlc3Npb24oY29udGV4
dCk7CiAgICAgICAgIGZhaWxJZkZhbHNlKGN1cnJlbnQsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lv
biIpOwotICAgICAgICAKKwogICAgICAgICBjb250ZXh0LmFwcGVuZEJpbmFyeUV4cHJlc3Npb25J
bmZvKG9wZXJhbmRTdGFja0RlcHRoLCBjdXJyZW50LCBleHByU3RhcnQsIGxhc3RUb2tlbkVuZFBv
c2l0aW9uKCksIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCksIGluaXRpYWxBc3NpZ25tZW50cyAhPSBt
X3BhcnNlclN0YXRlLmFzc2lnbm1lbnRDb3VudCk7CisgICAgICAgIGludCBwcmVjZWRlbmNlID0g
aXNCaW5hcnlPcGVyYXRvcihtX3Rva2VuLm1fdHlwZSk7CisgICAgICAgIGlmICghcHJlY2VkZW5j
ZSkKKyAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIC8vIDEyLjYgaHR0cHM6Ly90YzM5Lmdp
dGh1Yi5pby9lY21hMjYyLyNzZWMtZXhwLW9wZXJhdG9yCiAgICAgICAgIC8vIEV4cG9uZW50aWF0
aW9uRXhwcmVzaW9uIGlzIGRlc2NyaWJlZCBhcyBmb2xsb3dzLgpAQCAtMzkxNSw5ICszOTIxLDE0
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlQmluYXJ5RXhwcmVzCiAgICAgICAgIC8vIEJ1dCBpdCdzIE9LIGZvciAq
KiBiZWNhdXNlIHRoZSBvcGVyYXRvciAiKioiIGhhcyB0aGUgaGlnaGVzdCBvcGVyYXRvciBwcmVj
ZWRlbmNlIGluIHRoZSBiaW5hcnkgb3BlcmF0b3JzLgogICAgICAgICBmYWlsSWZUcnVlKG1hdGNo
KFBPVykgJiYgaXNVbmFyeU9wRXhjbHVkaW5nVXBkYXRlT3AobGVhZGluZ1Rva2VuVHlwZUZvclVu
YXJ5RXhwcmVzc2lvbiksICJBbWJpZ3VvdXMgdW5hcnkgZXhwcmVzc2lvbiBpbiB0aGUgbGVmdCBo
YW5kIHNpZGUgb2YgdGhlIGV4cG9uZW50aWF0aW9uIGV4cHJlc3Npb247IHBhcmVudGhlc2VzIG11
c3QgYmUgdXNlZCB0byBkaXNhbWJpZ3VhdGUgdGhlIGV4cHJlc3Npb24iKTsKIAotICAgICAgICBp
bnQgcHJlY2VkZW5jZSA9IGlzQmluYXJ5T3BlcmF0b3IobV90b2tlbi5tX3R5cGUpOwotICAgICAg
ICBpZiAoIXByZWNlZGVuY2UpCi0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgLy8gTWl4aW5n
ID8/IHdpdGggfHwgb3IgJiYgaXMgY3VycmVudGx5IHNwZWNpZmllZCBhcyBhbiBlYXJseSBlcnJv
ci4KKyAgICAgICAgLy8gU2luY2UgPz8gaXMgdGhlIGxvd2VzdC1wcmVjZWRlbmNlIGJpbmFyeSBv
cGVyYXRvciwgaXQgc3VmZmljZXMgdG8gY2hlY2sgd2hldGhlciB0aGVzZSBldmVyIGNvZXhpc3Qg
aW4gdGhlIG9wZXJhdG9yIHN0YWNrLgorICAgICAgICBpZiAobWF0Y2goQU5EKSB8fCBtYXRjaChP
UikpCisgICAgICAgICAgICBoYXNMb2dpY2FsT3BlcmF0b3IgPSB0cnVlOworICAgICAgICBlbHNl
IGlmIChtYXRjaChDT0FMRVNDRSkpCisgICAgICAgICAgICBoYXNDb2FsZXNjZU9wZXJhdG9yID0g
dHJ1ZTsKKyAgICAgICAgZmFpbElmVHJ1ZShoYXNMb2dpY2FsT3BlcmF0b3IgJiYgaGFzQ29hbGVz
Y2VPcGVyYXRvciwgIkNvYWxlc2NpbmcgYW5kIGxvZ2ljYWwgb3BlcmF0b3JzIHVzZWQgdG9nZXRo
ZXIgaW4gdGhlIHNhbWUgZXhwcmVzc2lvbjsgcGFyZW50aGVzZXMgbXVzdCBiZSB1c2VkIHRvIGRp
c2FtYmlndWF0ZSIpOworCiAgICAgICAgIG1fcGFyc2VyU3RhdGUubm9uVHJpdmlhbEV4cHJlc3Np
b25Db3VudCsrOwogICAgICAgICBtX3BhcnNlclN0YXRlLm5vbkxIU0NvdW50Kys7CiAgICAgICAg
IGludCBvcGVyYXRvclRva2VuID0gbV90b2tlbi5tX3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCBjZmVlMzM3OThjMjRkODc4M2JkOTljNDhl
MWM4NzIwODg3M2I1YzljLi4xNWNhNWVhZjI4ZTc1OTJmNDNmM2RjZTQxZThlNDFlNjFhOWU4MTM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTE0
OCwzMCArMTQ4LDMxIEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIFRZUEVPRiA9IDYgfCBVbmFy
eU9wVG9rZW5GbGFnIHwgS2V5d29yZFRva2VuRmxhZywKICAgICBWT0lEVE9LRU4gPSA3IHwgVW5h
cnlPcFRva2VuRmxhZyB8IEtleXdvcmRUb2tlbkZsYWcsCiAgICAgREVMRVRFVE9LRU4gPSA4IHwg
VW5hcnlPcFRva2VuRmxhZyB8IEtleXdvcmRUb2tlbkZsYWcsCi0gICAgT1IgPSAwIHwgQklOQVJZ
X09QX1BSRUNFREVOQ0UoMSksCi0gICAgQU5EID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDIp
LAotICAgIEJJVE9SID0gMiB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDMpLAotICAgIEJJVFhPUiA9
IDMgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg0KSwKLSAgICBCSVRBTkQgPSA0IHwgQklOQVJZX09Q
X1BSRUNFREVOQ0UoNSksCi0gICAgRVFFUSA9IDUgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwK
LSAgICBORSA9IDYgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwKLSAgICBTVFJFUSA9IDcgfCBC
SU5BUllfT1BfUFJFQ0VERU5DRSg2KSwKLSAgICBTVFJORVEgPSA4IHwgQklOQVJZX09QX1BSRUNF
REVOQ0UoNiksCi0gICAgTFQgPSA5IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNyksCi0gICAgR1Qg
PSAxMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDcpLAotICAgIExFID0gMTEgfCBCSU5BUllfT1Bf
UFJFQ0VERU5DRSg3KSwKLSAgICBHRSA9IDEyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNyksCi0g
ICAgSU5TVEFOQ0VPRiA9IDEzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNykgfCBLZXl3b3JkVG9r
ZW5GbGFnLAotICAgIElOVE9LRU4gPSAxNCB8IElOX09QX1BSRUNFREVOQ0UoNykgfCBLZXl3b3Jk
VG9rZW5GbGFnLAotICAgIExTSElGVCA9IDE1IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCi0g
ICAgUlNISUZUID0gMTYgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg4KSwKLSAgICBVUlNISUZUID0g
MTcgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg4KSwKLSAgICBQTFVTID0gMTggfCBCSU5BUllfT1Bf
UFJFQ0VERU5DRSg5KSB8IFVuYXJ5T3BUb2tlbkZsYWcsCi0gICAgTUlOVVMgPSAxOSB8IEJJTkFS
WV9PUF9QUkVDRURFTkNFKDkpIHwgVW5hcnlPcFRva2VuRmxhZywKLSAgICBUSU1FUyA9IDIwIHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAotICAgIERJVklERSA9IDIxIHwgQklOQVJZX09QX1BS
RUNFREVOQ0UoMTApLAotICAgIE1PRCA9IDIyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAot
ICAgIFBPVyA9IDIzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTEpIHwgUmlnaHRBc3NvY2lhdGl2
ZUJpbmFyeU9wVG9rZW5GbGFnLCAvLyBNYWtlIHN1cmUgdGhhdCBQT1cgaGFzIHRoZSBoaWdoZXN0
IG9wZXJhdG9yIHByZWNlZGVuY2UuCisgICAgQ09BTEVTQ0UgPSAwIHwgQklOQVJZX09QX1BSRUNF
REVOQ0UoMSksCisgICAgT1IgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMiksCisgICAgQU5E
ID0gMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDMpLAorICAgIEJJVE9SID0gMCB8IEJJTkFSWV9P
UF9QUkVDRURFTkNFKDQpLAorICAgIEJJVFhPUiA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg1
KSwKKyAgICBCSVRBTkQgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNiksCisgICAgRVFFUSA9
IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAgICBORSA9IDEgfCBCSU5BUllfT1BfUFJF
Q0VERU5DRSg3KSwKKyAgICBTVFJFUSA9IDIgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAg
ICBTVFJORVEgPSAzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNyksCisgICAgTFQgPSAwIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgR1QgPSAxIHwgQklOQVJZX09QX1BSRUNFREVOQ0Uo
OCksCisgICAgTEUgPSAyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgR0UgPSAzIHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgSU5TVEFOQ0VPRiA9IDQgfCBCSU5BUllfT1Bf
UFJFQ0VERU5DRSg4KSB8IEtleXdvcmRUb2tlbkZsYWcsCisgICAgSU5UT0tFTiA9IDUgfCBJTl9P
UF9QUkVDRURFTkNFKDgpIHwgS2V5d29yZFRva2VuRmxhZywKKyAgICBMU0hJRlQgPSAwIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoOSksCisgICAgUlNISUZUID0gMSB8IEJJTkFSWV9PUF9QUkVDRURF
TkNFKDkpLAorICAgIFVSU0hJRlQgPSAyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOSksCisgICAg
UExVUyA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSgxMCkgfCBVbmFyeU9wVG9rZW5GbGFnLAor
ICAgIE1JTlVTID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDEwKSB8IFVuYXJ5T3BUb2tlbkZs
YWcsCisgICAgVElNRVMgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTEpLAorICAgIERJVklE
RSA9IDEgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSgxMSksCisgICAgTU9EID0gMiB8IEJJTkFSWV9P
UF9QUkVDRURFTkNFKDExKSwKKyAgICBQT1cgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTIp
IHwgUmlnaHRBc3NvY2lhdGl2ZUJpbmFyeU9wVG9rZW5GbGFnLCAvLyBNYWtlIHN1cmUgdGhhdCBQ
T1cgaGFzIHRoZSBoaWdoZXN0IG9wZXJhdG9yIHByZWNlZGVuY2UuCiAgICAgRVJST1JUT0sgPSAw
IHwgRXJyb3JUb2tlbkZsYWcsCiAgICAgVU5URVJNSU5BVEVEX0lERU5USUZJRVJfRVNDQVBFX0VS
Uk9SVE9LID0gMCB8IEVycm9yVG9rZW5GbGFnIHwgVW50ZXJtaW5hdGVkRXJyb3JUb2tlbkZsYWcs
CiAgICAgSU5WQUxJRF9JREVOVElGSUVSX0VTQ0FQRV9FUlJPUlRPSyA9IDEgfCBFcnJvclRva2Vu
RmxhZywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUmVzdWx0VHlw
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKaW5kZXggY2Nl
MGY2ZDYwMDFlM2MyYzMxZDllY2E4ZTE0ZjlmOGQ0M2VhNTlmMS4uMTJiMGViMGZlZTliMjNhYjNl
OGM3Mzg5NjVjYzIxYTk2MTk0MzgxZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9SZXN1bHRUeXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9S
ZXN1bHRUeXBlLmgKQEAgLTc2LDYgKzc2LDExIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAg
ICAgcmV0dXJuIChtX2JpdHMgJiBUeXBlQml0cykgPT0gVHlwZU1heWJlQmlnSW50OwogICAgICAg
ICB9CiAKKyAgICAgICAgY29uc3RleHByIGJvb2wgZGVmaW5pdGVseUlzTnVsbCgpIGNvbnN0Cisg
ICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAobV9iaXRzICYgVHlwZUJpdHMpID09IFR5cGVN
YXliZU51bGw7CisgICAgICAgIH0KKwogICAgICAgICBjb25zdGV4cHIgYm9vbCBtaWdodEJlTnVt
YmVyKCkgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIG1fYml0cyAmIFR5cGVN
YXliZU51bWJlcjsKQEAgLTE3Miw2ICsxNzcsMTUgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
ICAgICByZXR1cm4gdW5rbm93blR5cGUoKTsKICAgICAgICAgfQogCisgICAgICAgIHN0YXRpYyBj
b25zdGV4cHIgUmVzdWx0VHlwZSBmb3JDb2FsZXNjZShSZXN1bHRUeXBlIG9wMSwgUmVzdWx0VHlw
ZSBvcDIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChvcDEuZGVmaW5pdGVseUlzTnVsbCgp
KQorICAgICAgICAgICAgICAgIHJldHVybiBvcDI7CisgICAgICAgICAgICBpZiAob3AxLmRlZmlu
aXRlbHlJc0Jvb2xlYW4oKSB8fCBvcDEuZGVmaW5pdGVseUlzTnVtYmVyKCkgfHwgb3AxLmRlZmlu
aXRlbHlJc1N0cmluZygpIHx8IG9wMS5kZWZpbml0ZWx5SXNCaWdJbnQoKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gb3AxOworICAgICAgICAgICAgcmV0dXJuIHVua25vd25UeXBlKCk7CisgICAg
ICAgIH0KKwogICAgICAgICBzdGF0aWMgY29uc3RleHByIFJlc3VsdFR5cGUgZm9yQml0T3AoKQog
ICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gYmlnSW50T3JJbnQzMlR5cGUoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAppbmRleCBjYThmYTAxZjI5ZmY4YWNlZjlj
MWQ2NGFkMTk2NGQ0M2QxM2I5OWRhLi5mNWZlMDg4NWQ3ZmQwYzQ4OTViZmJiMmM3YzNlOTI3MWIw
YWYxZjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25z
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCkBAIC00OTQs
NiArNDk0LDcgQEAgY29uc3RleHByIGJvb2wgZW5hYmxlV2ViQXNzZW1ibHlTdHJlYW1pbmdBcGkg
PSBmYWxzZTsKICAgICB2KGJvb2wsIHVzZVdlYkFzc2VtYmx5UmVmZXJlbmNlcywgZmFsc2UsIE5v
cm1hbCwgIkFsbG93IHR5cGVzIGZyb20gdGhlIHdhc20gcmVmZXJlbmNlcyBzcGVjLiIpIFwKICAg
ICB2KGJvb2wsIHVzZVdlYWtSZWZzLCBmYWxzZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBXZWFrUmVm
IGNvbnN0cnVjdG9yLiIpIFwKICAgICB2KGJvb2wsIHVzZUJpZ0ludCwgZmFsc2UsIE5vcm1hbCwg
IklmIHRydWUsIHdlIHdpbGwgZW5hYmxlIEJpZ0ludCBzdXBwb3J0LiIpIFwKKyAgICB2KGJvb2ws
IHVzZU51bGxpc2hDb2FsZXNjaW5nLCBmYWxzZSwgTm9ybWFsLCAiRW5hYmxlIHN1cHBvcnQgZm9y
IHRoZSA/PyBvcGVyYXRvci4iKSBcCiAgICAgdihib29sLCB1c2VBcnJheUFsbG9jYXRpb25Qcm9m
aWxpbmcsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgdXNlIG91ciBub3JtYWwgYXJy
YXkgYWxsb2NhdGlvbiBwcm9maWxpbmcuIElmIGZhbHNlLCB0aGUgYWxsb2NhdGlvbiBwcm9maWxl
IHdpbGwgYWx3YXlzIGNsYWltIHRvIGJlIHVuZGVjaWRlZC4iKSBcCiAgICAgdihib29sLCBmb3Jj
ZVBvbHlQcm90bywgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIGNyZWF0ZV90aGlzIHdpbGwgYWx3
YXlzIGNyZWF0ZSBhbiBvYmplY3Qgd2l0aCBhIHBvbHkgcHJvdG8gc3RydWN0dXJlLiIpIFwKICAg
ICB2KGJvb2wsIGZvcmNlTWluaVZNTW9kZSwgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIGl0IHdp
bGwgZm9yY2UgbWluaSBWTSBtb2RlIG9uLiIpIFwKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhZWQ5YmFkMTZmODY3ZDc0ZGFkZmI1M2JmOWYyMzAz
ZmNiYTJiYzhhLi40OWVhZmYxMTM2ODlhMDlhMDQyNDVhZWM3NzdkYzFjMzY4NDhmNDAyIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTktMDctMjQgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29t
PgorCisgICAgICAgIFtFU05leHRdIEltcGxlbWVudCBudWxsaXNoIGNvYWxlc2NpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDA3MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9ydW4t
anNjLXN0cmVzcy10ZXN0czoKKwogMjAxOS0wNy0yMyAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9y
aS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbd2Via2l0cGVybF0gcHJlcGFyZS1DaGFuZ2VM
b2dfdW5pdHRlc3QvcGFyc2VyX3VuaXR0ZXN0cy5wbCBpcyBmYWlsaW5nIG9uIFdpbmRvd3MgUGVy
bApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cyBiL1Rvb2xz
L1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKaW5kZXggOWQ3N2Y1ODI3OThjMGYwNWRmYWEy
OTk0YzY1YjVkYjA3MzMwY2RmMS4uODNkYzA2MmFiMjgyMTE2MWE5MzFjMmFiZTQzZGY1ZjY2OWE4
OGRhOSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cworKysg
Yi9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCkBAIC02OTksNiArNjk5LDEwIEBA
IGRlZiBydW5CaWdJbnRFbmFibGVkKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCiAgICAg
cnVuKCJiaWctaW50LWVuYWJsZWQiLCAiLS11c2VCaWdJbnQ9dHJ1ZSIgLCAqKEZUTF9PUFRJT05T
ICsgb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKIGVuZAogCitkZWYgcnVuTnVsbGlzaENv
YWxlc2NpbmdFbmFibGVkKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCisgICAgcnVuKCJu
dWxsaXNoLWNvYWxlc2NpbmctZW5hYmxlZCIsICItLXVzZU51bGxpc2hDb2FsZXNjaW5nPXRydWUi
ICwgKihGVExfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCitlbmQKKwog
ZGVmIHJ1bkZUTE5vQ0pJVCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQogICAgIHJ1bigi
bWlzYy1mdGwtbm8tY2ppdCIsICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMgKyBvcHRp
b25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQogZW5kCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5n
ZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYwYzZmZWUzMmEwYWY0OWVhZjhkZmQ5OWVm
MGZmMzRmZGVkZDUwMTYuLjg1OGE1YzBmZGNhODNiYzMyNTI4YmRhM2Y0NzdmZTYzNTYzNGJkZjcg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTktMDctMjQgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5n
QHNvbnkuY29tPgorCisgICAgICAgIFtFU05leHRdIEltcGxlbWVudCBudWxsaXNoIGNvYWxlc2Np
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDA3
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3Ry
ZXNzL251bGxpc2gtY29hbGVzY2luZy5qczogQWRkZWQuCisKIDIwMTktMDctMjMgIEp1c3RpbiBN
aWNoYXVkICA8anVzdGluX21pY2hhdWRAYXBwbGUuY29tPgogCiAgICAgICAgIFNvbWV0aW1lcyB3
ZSBtaXNzIHJlbW92YWJsZSBDaGVja0luQm91bmRzCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVz
cy9udWxsaXNoLWNvYWxlc2NpbmcuanMgYi9KU1Rlc3RzL3N0cmVzcy9udWxsaXNoLWNvYWxlc2Np
bmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDg2OTBhMjg4MjBjNTZlMTQxZDIyZGRiOTIyZGFlMDFjYTQ5Mjcw
OAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL251bGxpc2gtY29hbGVzY2luZy5q
cwpAQCAtMCwwICsxLDc0IEBACisvL0AgcnVuTnVsbGlzaENvYWxlc2NpbmdFbmFibGVkCisKK2Z1
bmN0aW9uIHNob3VsZEJlKHNjcmlwdCwgZXhwZWN0ZWQpIHsKKyAgICBsZXQgYWN0dWFsID0gZXZh
bChzY3JpcHQpOworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoYGV4cGVjdGVkICR7ZXhwZWN0ZWR9IGJ1dCBnb3QgJHthY3R1YWx9YCk7Cit9CisK
K2Z1bmN0aW9uIHNob3VsZE5vdFRocm93KHNjcmlwdCkgeworICAgIGV2YWwoc2NyaXB0KTsKK30K
KworZnVuY3Rpb24gc2hvdWxkVGhyb3dTeW50YXhFcnJvcihzY3JpcHQpIHsKKyAgICBsZXQgZXJy
b3I7CisgICAgdHJ5IHsKKyAgICAgICAgZXZhbChzY3JpcHQpOworICAgIH0gY2F0Y2ggKGUpIHsK
KyAgICAgICAgZXJyb3IgPSBlOworICAgIH0KKworICAgIGlmICghKGVycm9yIGluc3RhbmNlb2Yg
U3ludGF4RXJyb3IpKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIFN5bnRheEVy
cm9yIScpOworfQorCitzaG91bGRCZSgndW5kZWZpbmVkID8/IDMnLCAzKTsKK3Nob3VsZEJlKCdu
dWxsID8/IDMnLCAzKTsKK3Nob3VsZEJlKCd0cnVlID8/IDMnLCB0cnVlKTsKK3Nob3VsZEJlKCdm
YWxzZSA/PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzAgPz8gMycsIDApOworc2hvdWxkQmUoJzEg
Pz8gMycsIDEpOworc2hvdWxkQmUoJyIiID8/IDMnLCAnJyk7CitzaG91bGRCZSgnImhpIiA/PyAz
JywgJ2hpJyk7CitzaG91bGRCZSgnKHt9ID8/IDMpIGluc3RhbmNlb2YgT2JqZWN0JywgdHJ1ZSk7
CitzaG91bGRCZSgnKHsgeDogImhpIiB9ID8/IDMpLngnLCAnaGknKTsKK3Nob3VsZEJlKCcoW10g
Pz8gMykgaW5zdGFuY2VvZiBBcnJheScsIHRydWUpOworc2hvdWxkQmUoJyhbImhpIl0gPz8gMylb
MF0nLCAnaGknKTsKKworc2hvdWxkQmUoJzEgfCBudWxsID8/IDMnLCAxKTsKK3Nob3VsZEJlKCcx
IF4gbnVsbCA/PyAzJywgMSk7CitzaG91bGRCZSgnMSAmIG51bGwgPz8gMycsIDApOworc2hvdWxk
QmUoJzMgPT0gbnVsbCA/PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzMgIT0gbnVsbCA/PyAzJywg
dHJ1ZSk7CitzaG91bGRCZSgnMyA9PT0gbnVsbCA/PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzMg
IT09IG51bGwgPz8gMycsIHRydWUpOworc2hvdWxkQmUoJzEgPCBudWxsID8/IDMnLCBmYWxzZSk7
CitzaG91bGRCZSgnMSA+IG51bGwgPz8gMycsIHRydWUpOworc2hvdWxkQmUoJzEgPD0gbnVsbCA/
PyAzJywgZmFsc2UpOworc2hvdWxkQmUoJzEgPj0gbnVsbCA/PyAzJywgdHJ1ZSk7CitzaG91bGRC
ZSgnMSA8PCBudWxsID8/IDMnLCAxKTsKK3Nob3VsZEJlKCcxID4+IG51bGwgPz8gMycsIDEpOwor
c2hvdWxkQmUoJzEgPj4+IG51bGwgPz8gMycsIDEpOworc2hvdWxkQmUoJzEgKyBudWxsID8/IDMn
LCAxKTsKK3Nob3VsZEJlKCcxIC0gbnVsbCA/PyAzJywgMSk7CitzaG91bGRCZSgnMSAqIG51bGwg
Pz8gMycsIDApOworc2hvdWxkQmUoJzEgLyBudWxsID8/IDMnLCBJbmZpbml0eSk7CitzaG91bGRC
ZSgnaXNOYU4oMSAlIG51bGwgPz8gMyknLCB0cnVlKTsKK3Nob3VsZEJlKCcxICoqIG51bGwgPz8g
MycsIDEpOworCitzaG91bGRUaHJvd1N5bnRheEVycm9yKCcwIHx8IDEgPz8gMicpOworc2hvdWxk
VGhyb3dTeW50YXhFcnJvcignMCAmJiAxID8/IDInKTsKK3Nob3VsZFRocm93U3ludGF4RXJyb3Io
JzAgPz8gMSB8fCAyJyk7CitzaG91bGRUaHJvd1N5bnRheEVycm9yKCcwID8/IDEgJiYgMicpOwor
c2hvdWxkTm90VGhyb3coJygwIHx8IDEpID8/IDInKTsKK3Nob3VsZE5vdFRocm93KCcwIHx8ICgx
ID8/IDIpJyk7CitzaG91bGROb3RUaHJvdygnKDAgJiYgMSkgPz8gMicpOworc2hvdWxkTm90VGhy
b3coJzAgJiYgKDEgPz8gMiknKTsKK3Nob3VsZE5vdFRocm93KCcoMCA/PyAxKSB8fCAyJyk7Citz
aG91bGROb3RUaHJvdygnMCA/PyAoMSB8fCAyKScpOworc2hvdWxkTm90VGhyb3coJygwID8/IDEp
ICYmIDInKTsKK3Nob3VsZE5vdFRocm93KCcwID8/ICgxICYmIDIpJyk7CisKK3Nob3VsZE5vdFRo
cm93KCcwIHx8IDEgJiYgMiB8IDMgXiA0ICYgNSA9PSA2ICE9IDcgPT09IDggIT09IDkgPCAwID4g
MSA8PSAyID49IDMgPDwgNCA+PiA1ID4+PiA2ICsgNyAtIDggKiA5IC8gMCAlIDEgKiogMicpOwor
c2hvdWxkVGhyb3dTeW50YXhFcnJvcignMCB8fCAxICYmIDIgfCAzIF4gNCAmIDUgPT0gNiAhPSA3
ID09PSA4ICE9PSA5IDwgMCA+IDEgPD0gMiA+PSAzIDw8IDQgPj4gNSA+Pj4gNiArIDcgLSA4ICog
OSAvIDAgJSAxICoqIDIgPz8gMycpOworc2hvdWxkVGhyb3dTeW50YXhFcnJvcignMyA/PyAyICoq
IDEgJSAwIC8gOSAqIDggLSA3ICsgNiA+Pj4gNSA+PiA0IDw8IDMgPj0gMiA8PSAxID4gMCA8IDkg
IT09IDggPT09IDcgIT0gNiA9PSA1ICYgNCBeIDMgfCAyICYmIDEgfHwgMCcpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374817</attachid>
            <date>2019-07-24 15:08:57 -0700</date>
            <delta_ts>2019-07-24 20:52:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200072-20190724150855.patch</filename>
            <type>text/plain</type>
            <size>19472</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3Nzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
YmI2ODQ3ZjQ4NWJmZTIyMTlkZTZjYWNiNDU4Yzg3MDVjOGM2ZGUwLi5mYjkzOTBlOTIwYjNiYjdh
ZGZlN2M3YWE0NTVkNjUyNTM5MDBmMTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NiBAQAorMjAxOS0wNy0yNCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0VTTmV4dF0gSW1wbGVtZW50IG51bGxpc2ggY29hbGVzY2luZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDcyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50
IHRoZSBudWxsaXNoIGNvYWxlc2NpbmcgcHJvcG9zYWwsIHdoaWNoIGhhcyBub3cgcmVhY2hlZCBT
dGFnZSAzIGF0IFRDMzkuCisKKyAgICAgICAgVGhpcyBpbnRyb2R1Y2VzIGEgPz8gb3BlcmF0b3Ig
d2hpY2g6CisgICAgICAgICAgLSBhY3RzIGxpa2UgfHwgYnV0IGNoZWNrcyBmb3IgbnVsbGlzaG5l
c3MgaW5zdGVhZCBvZiB0cnV0aGluZXNzCisgICAgICAgICAgLSBoYXMgYSBwcmVjZWRlbmNlIGxv
d2VyIHRoYW4gfHwgKG9yIGFueSBvdGhlciBiaW5hcnkgb3BlcmF0b3IpCisgICAgICAgICAgLSBt
dXN0IGJlIGRpc2FtYmlndWF0ZWQgd2l0aCBwYXJlbnRoZXNlcyB3aGVuIGNvbWJpbmVkIHdpdGgg
fHwgb3IgJiYKKworICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAg
ICAgICAoSlNDOjpDb2FsZXNjZU5vZGU6OmVtaXRCeXRlY29kZSk6IEFkZGVkLgorICAgICAgICBC
eXRlY29kZSBtdXN0IHVzZSBPcElzVW5kZWZpbmVkT3JOdWxsIGFuZCBub3QgT3BOZXFOdWxsIGJl
Y2F1c2Ugb2YgZG9jdW1lbnQuYWxsLgorCisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoK
KyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6bWFrZUJpbmFyeU5vZGUpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXhXaXRob3V0Q2xlYXJp
bmdMaW5lVGVybWluYXRvcik6CisgICAgICAgICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoK
KyAgICAgICAgKEpTQzo6Q29hbGVzY2VOb2RlOjpDb2FsZXNjZU5vZGUpOiBBZGRlZC4KKyAgICAg
ICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAgICAgICAgSW50cm9kdWNlIG5ldyB0b2tlbiBhbmQgQVNU
IG5vZGUuCisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQmluYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIEltcGxlbWVu
dCBlYXJseSBlcnJvci4KKworICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAg
ICAgU2luY2UgdGhpcyBwYXRjaCBuZWVkcyB0byBzaGlmdCB0aGUgdmFsdWUgb2YgZXZlcnkgYmlu
YXJ5IG9wZXJhdG9yIHRva2VuIGFueXdheSwKKyAgICAgICAgbGV0J3Mgb25seSBib3RoZXIgdG8g
aW5jcmVtZW50IHRoZWlyIExTQnMgd2hlbiB3ZSBhY3R1YWxseSBoYXZlIGEgcHJlY2VkZW5jZSBj
b25mbGljdC4KKworICAgICAgICAqIHBhcnNlci9SZXN1bHRUeXBlLmg6CisgICAgICAgIChKU0M6
OlJlc3VsdFR5cGU6OmRlZmluaXRlbHlJc051bGwgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKEpT
Qzo6UmVzdWx0VHlwZTo6Zm9yQ29hbGVzY2UpOiBBZGRlZC4KKyAgICAgICAgV2UgY2FuIGRvIGJl
dHRlciB0aGFuIGZvckxvZ2ljYWxPcCBoZXJlOyBsZXQncyBiZSBhcyBhY2N1cmF0ZSBhcyBwb3Nz
aWJsZS4KKworICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5oOgorICAgICAgICBBZGQgcnVudGlt
ZSBmZWF0dXJlIGZsYWcuCisKIDIwMTktMDctMjMgIEp1c3RpbiBNaWNoYXVkICA8anVzdGluX21p
Y2hhdWRAYXBwbGUuY29tPgogCiAgICAgICAgIFNvbWV0aW1lcyB3ZSBtaXNzIHJlbW92YWJsZSBD
aGVja0luQm91bmRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L05vZGVzQ29kZWdlbi5jcHAKaW5kZXggN2ZmN2I1ODlkZDBhMzMzODNjNjJiNzE4NWRiOTU4MjA2
NWFjMjY3My4uN2NjMDc4YzNjMDIxNWM5ZGY3OTBjODQ4YTMyZDEzYjgwOTBmMDhhMCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cApAQCAtMjMzOCw2ICsyMzM4LDIxIEBAIHZvaWQgTG9naWNhbE9wTm9kZTo6ZW1pdEJ5dGVjb2Rl
SW5Db25kaXRpb25Db250ZXh0KEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsCiAgICAgZ2Vu
ZXJhdG9yLmVtaXROb2RlSW5Db25kaXRpb25Db250ZXh0KG1fZXhwcjIsIHRydWVUYXJnZXQsIGZh
bHNlVGFyZ2V0LCBmYWxsVGhyb3VnaE1vZGUpOwogfQogCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gQ29hbGVzY2VOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwor
UmVnaXN0ZXJJRCogQ29hbGVzY2VOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3Im
IGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIFJlZlB0cjxSZWdpc3RlcklEPiB0
ZW1wID0gZ2VuZXJhdG9yLnRlbXBEZXN0aW5hdGlvbihkc3QpOworICAgIFJlZjxMYWJlbD4gdGFy
Z2V0ID0gZ2VuZXJhdG9yLm5ld0xhYmVsKCk7CisKKyAgICBnZW5lcmF0b3IuZW1pdE5vZGUodGVt
cC5nZXQoKSwgbV9leHByMSk7CisgICAgZ2VuZXJhdG9yLmVtaXRKdW1wSWZGYWxzZShnZW5lcmF0
b3IuZW1pdFVuYXJ5T3A8T3BJc1VuZGVmaW5lZE9yTnVsbD4oZ2VuZXJhdG9yLm5ld1RlbXBvcmFy
eSgpLCB0ZW1wLmdldCgpKSwgdGFyZ2V0LmdldCgpKTsKKyAgICBnZW5lcmF0b3IuZW1pdE5vZGVJ
blRhaWxQb3NpdGlvbih0ZW1wLmdldCgpLCBtX2V4cHIyKTsKKyAgICBnZW5lcmF0b3IuZW1pdExh
YmVsKHRhcmdldC5nZXQoKSk7CisKKyAgICByZXR1cm4gZ2VuZXJhdG9yLm1vdmUoZHN0LCB0ZW1w
LmdldCgpKTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbmRpdGlv
bmFsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogUmVnaXN0ZXJJRCogQ29u
ZGl0aW9uYWxOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwg
UmVnaXN0ZXJJRCogZHN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIu
aAppbmRleCBkYzg3OGM1OGRhY2ZmMzE4YjdkN2U1ZTZmMmFkNTcwNzY4YWZmNTZmLi5kZTViMTMz
OTA2NjExMzQxMmFjYWVlZjJiZDc1ZTAzMWEzMzNhMTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMTM5Myw2ICsxMzkzLDkgQEAgRXhwcmVzc2lvbk5v
ZGUqIEFTVEJ1aWxkZXI6Om1ha2VGdW5jdGlvbkNhbGxOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYgbG9jYXRpb24KIEV4cHJlc3Npb25Ob2RlKiBBU1RCdWlsZGVyOjptYWtlQmluYXJ5Tm9kZShj
b25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBpbnQgdG9rZW4sIHN0ZDo6cGFpcjxFeHBy
ZXNzaW9uTm9kZSosIEJpbmFyeU9wSW5mbz4gbGhzLCBzdGQ6OnBhaXI8RXhwcmVzc2lvbk5vZGUq
LCBCaW5hcnlPcEluZm8+IHJocykKIHsKICAgICBzd2l0Y2ggKHRva2VuKSB7CisgICAgY2FzZSBD
T0FMRVNDRToKKyAgICAgICAgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkgQ29hbGVzY2VOb2Rl
KGxvY2F0aW9uLCBsaHMuZmlyc3QsIHJocy5maXJzdCk7CisKICAgICBjYXNlIE9SOgogICAgICAg
ICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBMb2dpY2FsT3BOb2RlKGxvY2F0aW9uLCBsaHMu
Zmlyc3QsIHJocy5maXJzdCwgT3BMb2dpY2FsT3IpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTGV4ZXIuY3BwCmluZGV4IDQ2NjJjNTRmMmEwNTM2NDYyYWU3MmUwZGQ3NzMwMWUwY2VlOTlk
NDQuLjE2YmZhOGEyNDdiM2YwYmI0NjVhNTc2M2Q4NzVmMjZlMTRhYzI2ZTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC0yMTUzLDggKzIxNTMsMTMgQEAgc3RhcnQ6
CiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ2hhcmFjdGVyUXVl
c3Rpb246Ci0gICAgICAgIHRva2VuID0gUVVFU1RJT047CiAgICAgICAgIHNoaWZ0KCk7CisgICAg
ICAgIGlmIChPcHRpb25zOjp1c2VOdWxsaXNoQ29hbGVzY2luZygpICYmIG1fY3VycmVudCA9PSAn
PycpIHsKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IENPQUxFU0NF
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgdG9rZW4gPSBRVUVTVElP
TjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDaGFyYWN0ZXJUaWxkZToKICAgICAgICAgdG9r
ZW4gPSBUSUxERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmgKaW5kZXggYTJiOGM1ZjBmYzkwNDkxYzA1ODE0Yzk5NzIwNzAwMDFhNmE4ZWRjYy4u
ZDQxZTNhZWQ4ZTQ1ZjdhOGUyZmQzMWMyNDQ3N2RlY2NiOGQ1NjQwZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTY2OSw2ICs2Njks
MTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAorICAgIGlubGluZSBDb2FsZXNj
ZU5vZGU6OkNvYWxlc2NlTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHBy
ZXNzaW9uTm9kZSogZXhwcjEsIEV4cHJlc3Npb25Ob2RlKiBleHByMikKKyAgICAgICAgOiBFeHBy
ZXNzaW9uTm9kZShsb2NhdGlvbiwgUmVzdWx0VHlwZTo6Zm9yQ29hbGVzY2UoZXhwcjEtPnJlc3Vs
dERlc2NyaXB0b3IoKSwgZXhwcjItPnJlc3VsdERlc2NyaXB0b3IoKSkpCisgICAgICAgICwgbV9l
eHByMShleHByMSkKKyAgICAgICAgLCBtX2V4cHIyKGV4cHIyKQorICAgIHsKKyAgICB9CisKICAg
ICBpbmxpbmUgQ29uZGl0aW9uYWxOb2RlOjpDb25kaXRpb25hbE5vZGUoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGxvZ2ljYWwsIEV4cHJlc3Npb25Ob2Rl
KiBleHByMSwgRXhwcmVzc2lvbk5vZGUqIGV4cHIyKQogICAgICAgICA6IEV4cHJlc3Npb25Ob2Rl
KGxvY2F0aW9uKQogICAgICAgICAsIG1fbG9naWNhbChsb2dpY2FsKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2Rlcy5oCmluZGV4IDYwYmE1ZWVhMmQ1MDlhNDM4ODQ4ZmQ4ZDlmYzJmMzI0ZTgx
Mjk2N2MuLjg2ZmRhZjNkMDRmZDBkOGY3ZjQ4N2QxNzczNzdlMmEzN2U5NWE3ODcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTEzMDUsNiArMTMwNSwxNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1fZXhwcjI7CiAgICAgfTsKIAorICAg
IGNsYXNzIENvYWxlc2NlTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7CisgICAg
cHVibGljOgorICAgICAgICBDb2FsZXNjZU5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhw
cmVzc2lvbk5vZGUqIGV4cHIxLCBFeHByZXNzaW9uTm9kZSogZXhwcjIpOworCisgICAgcHJpdmF0
ZToKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwg
UmVnaXN0ZXJJRCogPSAwKSBvdmVycmlkZTsKKworICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9l
eHByMTsKKyAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1fZXhwcjI7CisgICAgfTsKKwogICAgIC8v
IFRoZSB0ZXJuYXJ5IG9wZXJhdG9yLCAibV9sb2dpY2FsID8gbV9leHByMSA6IG1fZXhwcjIiCiAg
ICAgY2xhc3MgQ29uZGl0aW9uYWxOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlIHsK
ICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXgg
NTAyYWJmODEyMmVjYTRiZWQ1YTVmZjg1YzY0ODM0ODQyZjU5N2IxYS4uZTI1NGRjOTA4NDI3NGRl
N2Q1MzdiOWRhMjY5MjY5MmIyMzg5Y2YwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmNwcApAQCAtMzg4MywxNCArMzg4MywyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJpbmFyeUV4cHJl
cwogICAgIGludCBvcGVyYXRvclN0YWNrRGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVCdWls
ZGVyOjpCaW5hcnlFeHByQ29udGV4dCBiaW5hcnlFeHByQ29udGV4dChjb250ZXh0KTsKICAgICBK
U1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBib29sIGhhc0xv
Z2ljYWxPcGVyYXRvciA9IGZhbHNlOworICAgIGJvb2wgaGFzQ29hbGVzY2VPcGVyYXRvciA9IGZh
bHNlOworCiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgSlNUZXh0UG9zaXRpb24gZXhwclN0
YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGludCBpbml0aWFsQXNzaWdubWVu
dHMgPSBtX3BhcnNlclN0YXRlLmFzc2lnbm1lbnRDb3VudDsKICAgICAgICAgSlNUb2tlblR5cGUg
bGVhZGluZ1Rva2VuVHlwZUZvclVuYXJ5RXhwcmVzc2lvbiA9IG1fdG9rZW4ubV90eXBlOwogICAg
ICAgICBUcmVlRXhwcmVzc2lvbiBjdXJyZW50ID0gcGFyc2VVbmFyeUV4cHJlc3Npb24oY29udGV4
dCk7CiAgICAgICAgIGZhaWxJZkZhbHNlKGN1cnJlbnQsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lv
biIpOwotICAgICAgICAKKwogICAgICAgICBjb250ZXh0LmFwcGVuZEJpbmFyeUV4cHJlc3Npb25J
bmZvKG9wZXJhbmRTdGFja0RlcHRoLCBjdXJyZW50LCBleHByU3RhcnQsIGxhc3RUb2tlbkVuZFBv
c2l0aW9uKCksIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCksIGluaXRpYWxBc3NpZ25tZW50cyAhPSBt
X3BhcnNlclN0YXRlLmFzc2lnbm1lbnRDb3VudCk7CisgICAgICAgIGludCBwcmVjZWRlbmNlID0g
aXNCaW5hcnlPcGVyYXRvcihtX3Rva2VuLm1fdHlwZSk7CisgICAgICAgIGlmICghcHJlY2VkZW5j
ZSkKKyAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIC8vIDEyLjYgaHR0cHM6Ly90YzM5Lmdp
dGh1Yi5pby9lY21hMjYyLyNzZWMtZXhwLW9wZXJhdG9yCiAgICAgICAgIC8vIEV4cG9uZW50aWF0
aW9uRXhwcmVzaW9uIGlzIGRlc2NyaWJlZCBhcyBmb2xsb3dzLgpAQCAtMzkxNSw5ICszOTIxLDE0
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlQmluYXJ5RXhwcmVzCiAgICAgICAgIC8vIEJ1dCBpdCdzIE9LIGZvciAq
KiBiZWNhdXNlIHRoZSBvcGVyYXRvciAiKioiIGhhcyB0aGUgaGlnaGVzdCBvcGVyYXRvciBwcmVj
ZWRlbmNlIGluIHRoZSBiaW5hcnkgb3BlcmF0b3JzLgogICAgICAgICBmYWlsSWZUcnVlKG1hdGNo
KFBPVykgJiYgaXNVbmFyeU9wRXhjbHVkaW5nVXBkYXRlT3AobGVhZGluZ1Rva2VuVHlwZUZvclVu
YXJ5RXhwcmVzc2lvbiksICJBbWJpZ3VvdXMgdW5hcnkgZXhwcmVzc2lvbiBpbiB0aGUgbGVmdCBo
YW5kIHNpZGUgb2YgdGhlIGV4cG9uZW50aWF0aW9uIGV4cHJlc3Npb247IHBhcmVudGhlc2VzIG11
c3QgYmUgdXNlZCB0byBkaXNhbWJpZ3VhdGUgdGhlIGV4cHJlc3Npb24iKTsKIAotICAgICAgICBp
bnQgcHJlY2VkZW5jZSA9IGlzQmluYXJ5T3BlcmF0b3IobV90b2tlbi5tX3R5cGUpOwotICAgICAg
ICBpZiAoIXByZWNlZGVuY2UpCi0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgLy8gTWl4aW5n
ID8/IHdpdGggfHwgb3IgJiYgaXMgY3VycmVudGx5IHNwZWNpZmllZCBhcyBhbiBlYXJseSBlcnJv
ci4KKyAgICAgICAgLy8gU2luY2UgPz8gaXMgdGhlIGxvd2VzdC1wcmVjZWRlbmNlIGJpbmFyeSBv
cGVyYXRvciwgaXQgc3VmZmljZXMgdG8gY2hlY2sgd2hldGhlciB0aGVzZSBldmVyIGNvZXhpc3Qg
aW4gdGhlIG9wZXJhdG9yIHN0YWNrLgorICAgICAgICBpZiAobWF0Y2goQU5EKSB8fCBtYXRjaChP
UikpCisgICAgICAgICAgICBoYXNMb2dpY2FsT3BlcmF0b3IgPSB0cnVlOworICAgICAgICBlbHNl
IGlmIChtYXRjaChDT0FMRVNDRSkpCisgICAgICAgICAgICBoYXNDb2FsZXNjZU9wZXJhdG9yID0g
dHJ1ZTsKKyAgICAgICAgZmFpbElmVHJ1ZShoYXNMb2dpY2FsT3BlcmF0b3IgJiYgaGFzQ29hbGVz
Y2VPcGVyYXRvciwgIkNvYWxlc2NpbmcgYW5kIGxvZ2ljYWwgb3BlcmF0b3JzIHVzZWQgdG9nZXRo
ZXIgaW4gdGhlIHNhbWUgZXhwcmVzc2lvbjsgcGFyZW50aGVzZXMgbXVzdCBiZSB1c2VkIHRvIGRp
c2FtYmlndWF0ZSIpOworCiAgICAgICAgIG1fcGFyc2VyU3RhdGUubm9uVHJpdmlhbEV4cHJlc3Np
b25Db3VudCsrOwogICAgICAgICBtX3BhcnNlclN0YXRlLm5vbkxIU0NvdW50Kys7CiAgICAgICAg
IGludCBvcGVyYXRvclRva2VuID0gbV90b2tlbi5tX3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCBjZmVlMzM3OThjMjRkODc4M2JkOTljNDhl
MWM4NzIwODg3M2I1YzljLi4xNWNhNWVhZjI4ZTc1OTJmNDNmM2RjZTQxZThlNDFlNjFhOWU4MTM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTE0
OCwzMCArMTQ4LDMxIEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIFRZUEVPRiA9IDYgfCBVbmFy
eU9wVG9rZW5GbGFnIHwgS2V5d29yZFRva2VuRmxhZywKICAgICBWT0lEVE9LRU4gPSA3IHwgVW5h
cnlPcFRva2VuRmxhZyB8IEtleXdvcmRUb2tlbkZsYWcsCiAgICAgREVMRVRFVE9LRU4gPSA4IHwg
VW5hcnlPcFRva2VuRmxhZyB8IEtleXdvcmRUb2tlbkZsYWcsCi0gICAgT1IgPSAwIHwgQklOQVJZ
X09QX1BSRUNFREVOQ0UoMSksCi0gICAgQU5EID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDIp
LAotICAgIEJJVE9SID0gMiB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDMpLAotICAgIEJJVFhPUiA9
IDMgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg0KSwKLSAgICBCSVRBTkQgPSA0IHwgQklOQVJZX09Q
X1BSRUNFREVOQ0UoNSksCi0gICAgRVFFUSA9IDUgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwK
LSAgICBORSA9IDYgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwKLSAgICBTVFJFUSA9IDcgfCBC
SU5BUllfT1BfUFJFQ0VERU5DRSg2KSwKLSAgICBTVFJORVEgPSA4IHwgQklOQVJZX09QX1BSRUNF
REVOQ0UoNiksCi0gICAgTFQgPSA5IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNyksCi0gICAgR1Qg
PSAxMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDcpLAotICAgIExFID0gMTEgfCBCSU5BUllfT1Bf
UFJFQ0VERU5DRSg3KSwKLSAgICBHRSA9IDEyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNyksCi0g
ICAgSU5TVEFOQ0VPRiA9IDEzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNykgfCBLZXl3b3JkVG9r
ZW5GbGFnLAotICAgIElOVE9LRU4gPSAxNCB8IElOX09QX1BSRUNFREVOQ0UoNykgfCBLZXl3b3Jk
VG9rZW5GbGFnLAotICAgIExTSElGVCA9IDE1IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCi0g
ICAgUlNISUZUID0gMTYgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg4KSwKLSAgICBVUlNISUZUID0g
MTcgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg4KSwKLSAgICBQTFVTID0gMTggfCBCSU5BUllfT1Bf
UFJFQ0VERU5DRSg5KSB8IFVuYXJ5T3BUb2tlbkZsYWcsCi0gICAgTUlOVVMgPSAxOSB8IEJJTkFS
WV9PUF9QUkVDRURFTkNFKDkpIHwgVW5hcnlPcFRva2VuRmxhZywKLSAgICBUSU1FUyA9IDIwIHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAotICAgIERJVklERSA9IDIxIHwgQklOQVJZX09QX1BS
RUNFREVOQ0UoMTApLAotICAgIE1PRCA9IDIyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAot
ICAgIFBPVyA9IDIzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTEpIHwgUmlnaHRBc3NvY2lhdGl2
ZUJpbmFyeU9wVG9rZW5GbGFnLCAvLyBNYWtlIHN1cmUgdGhhdCBQT1cgaGFzIHRoZSBoaWdoZXN0
IG9wZXJhdG9yIHByZWNlZGVuY2UuCisgICAgQ09BTEVTQ0UgPSAwIHwgQklOQVJZX09QX1BSRUNF
REVOQ0UoMSksCisgICAgT1IgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMiksCisgICAgQU5E
ID0gMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDMpLAorICAgIEJJVE9SID0gMCB8IEJJTkFSWV9P
UF9QUkVDRURFTkNFKDQpLAorICAgIEJJVFhPUiA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg1
KSwKKyAgICBCSVRBTkQgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNiksCisgICAgRVFFUSA9
IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAgICBORSA9IDEgfCBCSU5BUllfT1BfUFJF
Q0VERU5DRSg3KSwKKyAgICBTVFJFUSA9IDIgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAg
ICBTVFJORVEgPSAzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNyksCisgICAgTFQgPSAwIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgR1QgPSAxIHwgQklOQVJZX09QX1BSRUNFREVOQ0Uo
OCksCisgICAgTEUgPSAyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgR0UgPSAzIHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgSU5TVEFOQ0VPRiA9IDQgfCBCSU5BUllfT1Bf
UFJFQ0VERU5DRSg4KSB8IEtleXdvcmRUb2tlbkZsYWcsCisgICAgSU5UT0tFTiA9IDUgfCBJTl9P
UF9QUkVDRURFTkNFKDgpIHwgS2V5d29yZFRva2VuRmxhZywKKyAgICBMU0hJRlQgPSAwIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoOSksCisgICAgUlNISUZUID0gMSB8IEJJTkFSWV9PUF9QUkVDRURF
TkNFKDkpLAorICAgIFVSU0hJRlQgPSAyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOSksCisgICAg
UExVUyA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSgxMCkgfCBVbmFyeU9wVG9rZW5GbGFnLAor
ICAgIE1JTlVTID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDEwKSB8IFVuYXJ5T3BUb2tlbkZs
YWcsCisgICAgVElNRVMgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTEpLAorICAgIERJVklE
RSA9IDEgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSgxMSksCisgICAgTU9EID0gMiB8IEJJTkFSWV9P
UF9QUkVDRURFTkNFKDExKSwKKyAgICBQT1cgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTIp
IHwgUmlnaHRBc3NvY2lhdGl2ZUJpbmFyeU9wVG9rZW5GbGFnLCAvLyBNYWtlIHN1cmUgdGhhdCBQ
T1cgaGFzIHRoZSBoaWdoZXN0IG9wZXJhdG9yIHByZWNlZGVuY2UuCiAgICAgRVJST1JUT0sgPSAw
IHwgRXJyb3JUb2tlbkZsYWcsCiAgICAgVU5URVJNSU5BVEVEX0lERU5USUZJRVJfRVNDQVBFX0VS
Uk9SVE9LID0gMCB8IEVycm9yVG9rZW5GbGFnIHwgVW50ZXJtaW5hdGVkRXJyb3JUb2tlbkZsYWcs
CiAgICAgSU5WQUxJRF9JREVOVElGSUVSX0VTQ0FQRV9FUlJPUlRPSyA9IDEgfCBFcnJvclRva2Vu
RmxhZywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUmVzdWx0VHlw
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKaW5kZXggY2Nl
MGY2ZDYwMDFlM2MyYzMxZDllY2E4ZTE0ZjlmOGQ0M2VhNTlmMS4uMTJiMGViMGZlZTliMjNhYjNl
OGM3Mzg5NjVjYzIxYTk2MTk0MzgxZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9SZXN1bHRUeXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9S
ZXN1bHRUeXBlLmgKQEAgLTc2LDYgKzc2LDExIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAg
ICAgcmV0dXJuIChtX2JpdHMgJiBUeXBlQml0cykgPT0gVHlwZU1heWJlQmlnSW50OwogICAgICAg
ICB9CiAKKyAgICAgICAgY29uc3RleHByIGJvb2wgZGVmaW5pdGVseUlzTnVsbCgpIGNvbnN0Cisg
ICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAobV9iaXRzICYgVHlwZUJpdHMpID09IFR5cGVN
YXliZU51bGw7CisgICAgICAgIH0KKwogICAgICAgICBjb25zdGV4cHIgYm9vbCBtaWdodEJlTnVt
YmVyKCkgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIG1fYml0cyAmIFR5cGVN
YXliZU51bWJlcjsKQEAgLTE3Miw2ICsxNzcsMTUgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
ICAgICByZXR1cm4gdW5rbm93blR5cGUoKTsKICAgICAgICAgfQogCisgICAgICAgIHN0YXRpYyBj
b25zdGV4cHIgUmVzdWx0VHlwZSBmb3JDb2FsZXNjZShSZXN1bHRUeXBlIG9wMSwgUmVzdWx0VHlw
ZSBvcDIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChvcDEuZGVmaW5pdGVseUlzTnVsbCgp
KQorICAgICAgICAgICAgICAgIHJldHVybiBvcDI7CisgICAgICAgICAgICBpZiAob3AxLmRlZmlu
aXRlbHlJc0Jvb2xlYW4oKSB8fCBvcDEuZGVmaW5pdGVseUlzTnVtYmVyKCkgfHwgb3AxLmRlZmlu
aXRlbHlJc1N0cmluZygpIHx8IG9wMS5kZWZpbml0ZWx5SXNCaWdJbnQoKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gb3AxOworICAgICAgICAgICAgcmV0dXJuIHVua25vd25UeXBlKCk7CisgICAg
ICAgIH0KKwogICAgICAgICBzdGF0aWMgY29uc3RleHByIFJlc3VsdFR5cGUgZm9yQml0T3AoKQog
ICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gYmlnSW50T3JJbnQzMlR5cGUoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAppbmRleCBjYThmYTAxZjI5ZmY4YWNlZjlj
MWQ2NGFkMTk2NGQ0M2QxM2I5OWRhLi5mNWZlMDg4NWQ3ZmQwYzQ4OTViZmJiMmM3YzNlOTI3MWIw
YWYxZjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25z
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCkBAIC00OTQs
NiArNDk0LDcgQEAgY29uc3RleHByIGJvb2wgZW5hYmxlV2ViQXNzZW1ibHlTdHJlYW1pbmdBcGkg
PSBmYWxzZTsKICAgICB2KGJvb2wsIHVzZVdlYkFzc2VtYmx5UmVmZXJlbmNlcywgZmFsc2UsIE5v
cm1hbCwgIkFsbG93IHR5cGVzIGZyb20gdGhlIHdhc20gcmVmZXJlbmNlcyBzcGVjLiIpIFwKICAg
ICB2KGJvb2wsIHVzZVdlYWtSZWZzLCBmYWxzZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBXZWFrUmVm
IGNvbnN0cnVjdG9yLiIpIFwKICAgICB2KGJvb2wsIHVzZUJpZ0ludCwgZmFsc2UsIE5vcm1hbCwg
IklmIHRydWUsIHdlIHdpbGwgZW5hYmxlIEJpZ0ludCBzdXBwb3J0LiIpIFwKKyAgICB2KGJvb2ws
IHVzZU51bGxpc2hDb2FsZXNjaW5nLCBmYWxzZSwgTm9ybWFsLCAiRW5hYmxlIHN1cHBvcnQgZm9y
IHRoZSA/PyBvcGVyYXRvci4iKSBcCiAgICAgdihib29sLCB1c2VBcnJheUFsbG9jYXRpb25Qcm9m
aWxpbmcsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgdXNlIG91ciBub3JtYWwgYXJy
YXkgYWxsb2NhdGlvbiBwcm9maWxpbmcuIElmIGZhbHNlLCB0aGUgYWxsb2NhdGlvbiBwcm9maWxl
IHdpbGwgYWx3YXlzIGNsYWltIHRvIGJlIHVuZGVjaWRlZC4iKSBcCiAgICAgdihib29sLCBmb3Jj
ZVBvbHlQcm90bywgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIGNyZWF0ZV90aGlzIHdpbGwgYWx3
YXlzIGNyZWF0ZSBhbiBvYmplY3Qgd2l0aCBhIHBvbHkgcHJvdG8gc3RydWN0dXJlLiIpIFwKICAg
ICB2KGJvb2wsIGZvcmNlTWluaVZNTW9kZSwgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIGl0IHdp
bGwgZm9yY2UgbWluaSBWTSBtb2RlIG9uLiIpIFwKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhZWQ5YmFkMTZmODY3ZDc0ZGFkZmI1M2JmOWYyMzAz
ZmNiYTJiYzhhLi40OWVhZmYxMTM2ODlhMDlhMDQyNDVhZWM3NzdkYzFjMzY4NDhmNDAyIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTktMDctMjQgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29t
PgorCisgICAgICAgIFtFU05leHRdIEltcGxlbWVudCBudWxsaXNoIGNvYWxlc2NpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDA3MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9ydW4t
anNjLXN0cmVzcy10ZXN0czoKKwogMjAxOS0wNy0yMyAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9y
aS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbd2Via2l0cGVybF0gcHJlcGFyZS1DaGFuZ2VM
b2dfdW5pdHRlc3QvcGFyc2VyX3VuaXR0ZXN0cy5wbCBpcyBmYWlsaW5nIG9uIFdpbmRvd3MgUGVy
bApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cyBiL1Rvb2xz
L1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKaW5kZXggOWQ3N2Y1ODI3OThjMGYwNWRmYWEy
OTk0YzY1YjVkYjA3MzMwY2RmMS4uODNkYzA2MmFiMjgyMTE2MWE5MzFjMmFiZTQzZGY1ZjY2OWE4
OGRhOSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cworKysg
Yi9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCkBAIC02OTksNiArNjk5LDEwIEBA
IGRlZiBydW5CaWdJbnRFbmFibGVkKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCiAgICAg
cnVuKCJiaWctaW50LWVuYWJsZWQiLCAiLS11c2VCaWdJbnQ9dHJ1ZSIgLCAqKEZUTF9PUFRJT05T
ICsgb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKIGVuZAogCitkZWYgcnVuTnVsbGlzaENv
YWxlc2NpbmdFbmFibGVkKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCisgICAgcnVuKCJu
dWxsaXNoLWNvYWxlc2NpbmctZW5hYmxlZCIsICItLXVzZU51bGxpc2hDb2FsZXNjaW5nPXRydWUi
ICwgKihGVExfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCitlbmQKKwog
ZGVmIHJ1bkZUTE5vQ0pJVCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQogICAgIHJ1bigi
bWlzYy1mdGwtbm8tY2ppdCIsICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMgKyBvcHRp
b25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQogZW5kCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5n
ZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYwYzZmZWUzMmEwYWY0OWVhZjhkZmQ5OWVm
MGZmMzRmZGVkZDUwMTYuLjg1OGE1YzBmZGNhODNiYzMyNTI4YmRhM2Y0NzdmZTYzNTYzNGJkZjcg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTktMDctMjQgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5n
QHNvbnkuY29tPgorCisgICAgICAgIFtFU05leHRdIEltcGxlbWVudCBudWxsaXNoIGNvYWxlc2Np
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDA3
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3Ry
ZXNzL251bGxpc2gtY29hbGVzY2luZy5qczogQWRkZWQuCisKIDIwMTktMDctMjMgIEp1c3RpbiBN
aWNoYXVkICA8anVzdGluX21pY2hhdWRAYXBwbGUuY29tPgogCiAgICAgICAgIFNvbWV0aW1lcyB3
ZSBtaXNzIHJlbW92YWJsZSBDaGVja0luQm91bmRzCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVz
cy9udWxsaXNoLWNvYWxlc2NpbmcuanMgYi9KU1Rlc3RzL3N0cmVzcy9udWxsaXNoLWNvYWxlc2Np
bmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTk1OGYxMjczYWIxNjQ3MTMwYTZlZDZlMWI4NmU1ZTFmNDRhN2M0
ZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL251bGxpc2gtY29hbGVzY2luZy5q
cwpAQCAtMCwwICsxLDg1IEBACisvL0AgcnVuTnVsbGlzaENvYWxlc2NpbmdFbmFibGVkCisKK2Z1
bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBpZiAoYWN0dWFsICE9PSBl
eHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBleHBlY3RlZCAke2V4cGVjdGVkfSBi
dXQgZ290ICR7YWN0dWFsfWApOworfQorCitmdW5jdGlvbiBzaG91bGROb3RUaHJvdyhzY3JpcHQp
IHsKKyAgICBldmFsKHNjcmlwdCk7Cit9CisKK2Z1bmN0aW9uIHNob3VsZFRocm93U3ludGF4RXJy
b3Ioc2NyaXB0KSB7CisgICAgbGV0IGVycm9yOworICAgIHRyeSB7CisgICAgICAgIGV2YWwoc2Ny
aXB0KTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGVycm9yID0gZTsKKyAgICB9CisKKyAg
ICBpZiAoIShlcnJvciBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSkKKyAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCdFeHBlY3RlZCBTeW50YXhFcnJvciEnKTsKK30KKworc2hvdWxkQmUodW5kZWZpbmVk
ID8/IDMsIDMpOworc2hvdWxkQmUobnVsbCA/PyAzLCAzKTsKK3Nob3VsZEJlKHRydWUgPz8gMywg
dHJ1ZSk7CitzaG91bGRCZShmYWxzZSA/PyAzLCBmYWxzZSk7CitzaG91bGRCZSgwID8/IDMsIDAp
Oworc2hvdWxkQmUoMSA/PyAzLCAxKTsKK3Nob3VsZEJlKCcnID8/IDMsICcnKTsKK3Nob3VsZEJl
KCdoaScgPz8gMywgJ2hpJyk7CitzaG91bGRCZSgoe30gPz8gMykgaW5zdGFuY2VvZiBPYmplY3Qs
IHRydWUpOworc2hvdWxkQmUoKHsgeDogJ2hpJyB9ID8/IDMpLngsICdoaScpOworc2hvdWxkQmUo
KFtdID8/IDMpIGluc3RhbmNlb2YgQXJyYXksIHRydWUpOworc2hvdWxkQmUoKFsnaGknXSA/PyAz
KVswXSwgJ2hpJyk7CitzaG91bGRCZSgobWFrZU1hc3F1ZXJhZGVyKCkgPz8gMykgPT0gbnVsbCwg
dHJ1ZSk7CisKK3Nob3VsZEJlKDEgfCBudWxsID8/IDMsIDEpOworc2hvdWxkQmUoMSBeIG51bGwg
Pz8gMywgMSk7CitzaG91bGRCZSgxICYgbnVsbCA/PyAzLCAwKTsKK3Nob3VsZEJlKDMgPT0gbnVs
bCA/PyAzLCBmYWxzZSk7CitzaG91bGRCZSgzICE9IG51bGwgPz8gMywgdHJ1ZSk7CitzaG91bGRC
ZSgzID09PSBudWxsID8/IDMsIGZhbHNlKTsKK3Nob3VsZEJlKDMgIT09IG51bGwgPz8gMywgdHJ1
ZSk7CitzaG91bGRCZSgxIDwgbnVsbCA/PyAzLCBmYWxzZSk7CitzaG91bGRCZSgxID4gbnVsbCA/
PyAzLCB0cnVlKTsKK3Nob3VsZEJlKDEgPD0gbnVsbCA/PyAzLCBmYWxzZSk7CitzaG91bGRCZSgx
ID49IG51bGwgPz8gMywgdHJ1ZSk7CitzaG91bGRCZSgxIDw8IG51bGwgPz8gMywgMSk7CitzaG91
bGRCZSgxID4+IG51bGwgPz8gMywgMSk7CitzaG91bGRCZSgxID4+PiBudWxsID8/IDMsIDEpOwor
c2hvdWxkQmUoMSArIG51bGwgPz8gMywgMSk7CitzaG91bGRCZSgxIC0gbnVsbCA/PyAzLCAxKTsK
K3Nob3VsZEJlKDEgKiBudWxsID8/IDMsIDApOworc2hvdWxkQmUoMSAvIG51bGwgPz8gMywgSW5m
aW5pdHkpOworc2hvdWxkQmUoaXNOYU4oMSAlIG51bGwgPz8gMyksIHRydWUpOworc2hvdWxkQmUo
MSAqKiBudWxsID8/IDMsIDEpOworCitjb25zdCBvYmogPSB7CisgICAgY291bnQ6IDAsCisgICAg
Z2V0IHgoKSB7IHRoaXMuY291bnQrKzsgcmV0dXJuICd4JzsgfQorfTsKK2ZhbHNlID8/IG9iai54
Oworc2hvdWxkQmUob2JqLmNvdW50LCAwKTsKK251bGwgPz8gb2JqLng7CitzaG91bGRCZShvYmou
Y291bnQsIDEpOworb2JqLnggPz8gb2JqLng7CitzaG91bGRCZShvYmouY291bnQsIDIpOworCitz
aG91bGRUaHJvd1N5bnRheEVycm9yKCcwIHx8IDEgPz8gMicpOworc2hvdWxkVGhyb3dTeW50YXhF
cnJvcignMCAmJiAxID8/IDInKTsKK3Nob3VsZFRocm93U3ludGF4RXJyb3IoJzAgPz8gMSB8fCAy
Jyk7CitzaG91bGRUaHJvd1N5bnRheEVycm9yKCcwID8/IDEgJiYgMicpOworc2hvdWxkTm90VGhy
b3coJygwIHx8IDEpID8/IDInKTsKK3Nob3VsZE5vdFRocm93KCcwIHx8ICgxID8/IDIpJyk7Citz
aG91bGROb3RUaHJvdygnKDAgJiYgMSkgPz8gMicpOworc2hvdWxkTm90VGhyb3coJzAgJiYgKDEg
Pz8gMiknKTsKK3Nob3VsZE5vdFRocm93KCcoMCA/PyAxKSB8fCAyJyk7CitzaG91bGROb3RUaHJv
dygnMCA/PyAoMSB8fCAyKScpOworc2hvdWxkTm90VGhyb3coJygwID8/IDEpICYmIDInKTsKK3No
b3VsZE5vdFRocm93KCcwID8/ICgxICYmIDIpJyk7CisKK3Nob3VsZE5vdFRocm93KCcwIHx8IDEg
JiYgMiB8IDMgXiA0ICYgNSA9PSA2ICE9IDcgPT09IDggIT09IDkgPCAwID4gMSA8PSAyID49IDMg
PDwgNCA+PiA1ID4+PiA2ICsgNyAtIDggKiA5IC8gMCAlIDEgKiogMicpOworc2hvdWxkVGhyb3dT
eW50YXhFcnJvcignMCB8fCAxICYmIDIgfCAzIF4gNCAmIDUgPT0gNiAhPSA3ID09PSA4ICE9PSA5
IDwgMCA+IDEgPD0gMiA+PSAzIDw8IDQgPj4gNSA+Pj4gNiArIDcgLSA4ICogOSAvIDAgJSAxICoq
IDIgPz8gMycpOworc2hvdWxkVGhyb3dTeW50YXhFcnJvcignMyA/PyAyICoqIDEgJSAwIC8gOSAq
IDggLSA3ICsgNiA+Pj4gNSA+PiA0IDw8IDMgPj0gMiA8PSAxID4gMCA8IDkgIT09IDggPT09IDcg
IT0gNiA9PSA1ICYgNCBeIDMgfCAyICYmIDEgfHwgMCcpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374860</attachid>
            <date>2019-07-24 20:52:18 -0700</date>
            <delta_ts>2019-07-24 21:10:26 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-200072-20190724205218.patch</filename>
            <type>text/plain</type>
            <size>16716</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3ODAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NjE3MDc3ODVjZjc5MDY2ZDNiZjRjNjQxZGNjZjI0YzNhMWQyYjM0Li42NjEwM2ZiOWE4ZjEwNWVm
MzIwZTU1ZTFlMzU2ZjE2YmM4ZmYxYjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAxOS0wNy0yNCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0VTTmV4dF0gSW1wbGVtZW50IG51bGxpc2ggY29hbGVzY2luZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDcyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSW1wbGVtZW50IHRo
ZSBudWxsaXNoIGNvYWxlc2NpbmcgcHJvcG9zYWwsIHdoaWNoIGhhcyBub3cgcmVhY2hlZCBTdGFn
ZSAzIGF0IFRDMzkuCisKKyAgICAgICAgVGhpcyBpbnRyb2R1Y2VzIGEgPz8gb3BlcmF0b3Igd2hp
Y2g6CisgICAgICAgICAgLSBhY3RzIGxpa2UgfHwgYnV0IGNoZWNrcyBmb3IgbnVsbGlzaG5lc3Mg
aW5zdGVhZCBvZiB0cnV0aGluZXNzCisgICAgICAgICAgLSBoYXMgYSBwcmVjZWRlbmNlIGxvd2Vy
IHRoYW4gfHwgKG9yIGFueSBvdGhlciBiaW5hcnkgb3BlcmF0b3IpCisgICAgICAgICAgLSBtdXN0
IGJlIGRpc2FtYmlndWF0ZWQgd2l0aCBwYXJlbnRoZXNlcyB3aGVuIGNvbWJpbmVkIHdpdGggfHwg
b3IgJiYKKworICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAgICAg
ICAoSlNDOjpDb2FsZXNjZU5vZGU6OmVtaXRCeXRlY29kZSk6IEFkZGVkLgorICAgICAgICBCeXRl
Y29kZSBtdXN0IHVzZSBPcElzVW5kZWZpbmVkT3JOdWxsIGFuZCBub3QgT3BOZXFOdWxsIGJlY2F1
c2Ugb2YgZG9jdW1lbnQuYWxsLgorCisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAg
ICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6bWFrZUJpbmFyeU5vZGUpOgorICAgICAgICAqIHBhcnNl
ci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXhXaXRob3V0Q2xlYXJpbmdM
aW5lVGVybWluYXRvcik6CisgICAgICAgICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAg
ICAgICAgKEpTQzo6Q29hbGVzY2VOb2RlOjpDb2FsZXNjZU5vZGUpOiBBZGRlZC4KKyAgICAgICAg
KiBwYXJzZXIvTm9kZXMuaDoKKyAgICAgICAgSW50cm9kdWNlIG5ldyB0b2tlbiBhbmQgQVNUIG5v
ZGUuCisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlQmluYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIEltcGxlbWVudCBl
YXJseSBlcnJvci4KKworICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAg
U2luY2UgdGhpcyBwYXRjaCBuZWVkcyB0byBzaGlmdCB0aGUgdmFsdWUgb2YgZXZlcnkgYmluYXJ5
IG9wZXJhdG9yIHRva2VuIGFueXdheSwKKyAgICAgICAgbGV0J3Mgb25seSBib3RoZXIgdG8gaW5j
cmVtZW50IHRoZWlyIExTQnMgd2hlbiB3ZSBhY3R1YWxseSBoYXZlIGEgcHJlY2VkZW5jZSBjb25m
bGljdC4KKworICAgICAgICAqIHBhcnNlci9SZXN1bHRUeXBlLmg6CisgICAgICAgIChKU0M6OlJl
c3VsdFR5cGU6OmRlZmluaXRlbHlJc051bGwgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6
UmVzdWx0VHlwZTo6bWlnaHRCZVVuZGVmaW5lZE9yTnVsbCBjb25zdCk6IEFkZGVkLgorICAgICAg
ICAoSlNDOjpSZXN1bHRUeXBlOjpmb3JDb2FsZXNjZSk6IEFkZGVkLgorICAgICAgICBXZSBjYW4g
ZG8gYmV0dGVyIHRoYW4gZm9yTG9naWNhbE9wIGhlcmU7IGxldCdzIGJlIGFzIGFjY3VyYXRlIGFz
IHBvc3NpYmxlLgorCisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisgICAgICAgIEFkZCBy
dW50aW1lIGZlYXR1cmUgZmxhZy4KKwogMjAxOS0wNy0yNCAgTWFyayBMYW0gIDxtYXJrLmxhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXgg
N2ZmN2I1ODlkZDBhMzMzODNjNjJiNzE4NWRiOTU4MjA2NWFjMjY3My4uN2NjMDc4YzNjMDIxNWM5
ZGY3OTBjODQ4YTMyZDEzYjgwOTBmMDhhMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMjMzOCw2ICsyMzM4LDIxIEBA
IHZvaWQgTG9naWNhbE9wTm9kZTo6ZW1pdEJ5dGVjb2RlSW5Db25kaXRpb25Db250ZXh0KEJ5dGVj
b2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsCiAgICAgZ2VuZXJhdG9yLmVtaXROb2RlSW5Db25kaXRp
b25Db250ZXh0KG1fZXhwcjIsIHRydWVUYXJnZXQsIGZhbHNlVGFyZ2V0LCBmYWxsVGhyb3VnaE1v
ZGUpOwogfQogCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ29hbGVzY2VOb2Rl
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworUmVnaXN0ZXJJRCogQ29hbGVzY2VOb2Rl
OjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCog
ZHN0KQoreworICAgIFJlZlB0cjxSZWdpc3RlcklEPiB0ZW1wID0gZ2VuZXJhdG9yLnRlbXBEZXN0
aW5hdGlvbihkc3QpOworICAgIFJlZjxMYWJlbD4gdGFyZ2V0ID0gZ2VuZXJhdG9yLm5ld0xhYmVs
KCk7CisKKyAgICBnZW5lcmF0b3IuZW1pdE5vZGUodGVtcC5nZXQoKSwgbV9leHByMSk7CisgICAg
Z2VuZXJhdG9yLmVtaXRKdW1wSWZGYWxzZShnZW5lcmF0b3IuZW1pdFVuYXJ5T3A8T3BJc1VuZGVm
aW5lZE9yTnVsbD4oZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpLCB0ZW1wLmdldCgpKSwgdGFyZ2V0
LmdldCgpKTsKKyAgICBnZW5lcmF0b3IuZW1pdE5vZGVJblRhaWxQb3NpdGlvbih0ZW1wLmdldCgp
LCBtX2V4cHIyKTsKKyAgICBnZW5lcmF0b3IuZW1pdExhYmVsKHRhcmdldC5nZXQoKSk7CisKKyAg
ICByZXR1cm4gZ2VuZXJhdG9yLm1vdmUoZHN0LCB0ZW1wLmdldCgpKTsKK30KKwogLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbmRpdGlvbmFsTm9kZSAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIAogUmVnaXN0ZXJJRCogQ29uZGl0aW9uYWxOb2RlOjplbWl0Qnl0ZWNv
ZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBkYzg3OGM1OGRhY2ZmMzE4
YjdkN2U1ZTZmMmFkNTcwNzY4YWZmNTZmLi5kZTViMTMzOTA2NjExMzQxMmFjYWVlZjJiZDc1ZTAz
MWEzMzNhMTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApA
QCAtMTM5Myw2ICsxMzkzLDkgQEAgRXhwcmVzc2lvbk5vZGUqIEFTVEJ1aWxkZXI6Om1ha2VGdW5j
dGlvbkNhbGxOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24KIEV4cHJlc3Npb25O
b2RlKiBBU1RCdWlsZGVyOjptYWtlQmluYXJ5Tm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBpbnQgdG9rZW4sIHN0ZDo6cGFpcjxFeHByZXNzaW9uTm9kZSosIEJpbmFyeU9wSW5m
bz4gbGhzLCBzdGQ6OnBhaXI8RXhwcmVzc2lvbk5vZGUqLCBCaW5hcnlPcEluZm8+IHJocykKIHsK
ICAgICBzd2l0Y2ggKHRva2VuKSB7CisgICAgY2FzZSBDT0FMRVNDRToKKyAgICAgICAgcmV0dXJu
IG5ldyAobV9wYXJzZXJBcmVuYSkgQ29hbGVzY2VOb2RlKGxvY2F0aW9uLCBsaHMuZmlyc3QsIHJo
cy5maXJzdCk7CisKICAgICBjYXNlIE9SOgogICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFy
ZW5hKSBMb2dpY2FsT3BOb2RlKGxvY2F0aW9uLCBsaHMuZmlyc3QsIHJocy5maXJzdCwgT3BMb2dp
Y2FsT3IpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVy
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDQ2NjJj
NTRmMmEwNTM2NDYyYWU3MmUwZGQ3NzMwMWUwY2VlOTlkNDQuLjE2YmZhOGEyNDdiM2YwYmI0NjVh
NTc2M2Q4NzVmMjZlMTRhYzI2ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
Y3BwCkBAIC0yMTUzLDggKzIxNTMsMTMgQEAgc3RhcnQ6CiAgICAgICAgIHNoaWZ0KCk7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgQ2hhcmFjdGVyUXVlc3Rpb246Ci0gICAgICAgIHRva2VuID0g
UVVFU1RJT047CiAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgIGlmIChPcHRpb25zOjp1c2VOdWxs
aXNoQ29hbGVzY2luZygpICYmIG1fY3VycmVudCA9PSAnPycpIHsKKyAgICAgICAgICAgIHNoaWZ0
KCk7CisgICAgICAgICAgICB0b2tlbiA9IENPQUxFU0NFOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICAgICAgdG9rZW4gPSBRVUVTVElPTjsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBDaGFyYWN0ZXJUaWxkZToKICAgICAgICAgdG9rZW4gPSBUSUxERTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggYTJiOGM1ZjBm
YzkwNDkxYzA1ODE0Yzk5NzIwNzAwMDFhNmE4ZWRjYy4uZDQxZTNhZWQ4ZTQ1ZjdhOGUyZmQzMWMy
NDQ3N2RlY2NiOGQ1NjQwZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2RlQ29uc3RydWN0b3JzLmgKQEAgLTY2OSw2ICs2NjksMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgewogICAgIH0KIAorICAgIGlubGluZSBDb2FsZXNjZU5vZGU6OkNvYWxlc2NlTm9kZShjb25z
dCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogZXhwcjEsIEV4cHJl
c3Npb25Ob2RlKiBleHByMikKKyAgICAgICAgOiBFeHByZXNzaW9uTm9kZShsb2NhdGlvbiwgUmVz
dWx0VHlwZTo6Zm9yQ29hbGVzY2UoZXhwcjEtPnJlc3VsdERlc2NyaXB0b3IoKSwgZXhwcjItPnJl
c3VsdERlc2NyaXB0b3IoKSkpCisgICAgICAgICwgbV9leHByMShleHByMSkKKyAgICAgICAgLCBt
X2V4cHIyKGV4cHIyKQorICAgIHsKKyAgICB9CisKICAgICBpbmxpbmUgQ29uZGl0aW9uYWxOb2Rl
OjpDb25kaXRpb25hbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVz
c2lvbk5vZGUqIGxvZ2ljYWwsIEV4cHJlc3Npb25Ob2RlKiBleHByMSwgRXhwcmVzc2lvbk5vZGUq
IGV4cHIyKQogICAgICAgICA6IEV4cHJlc3Npb25Ob2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1f
bG9naWNhbChsb2dpY2FsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDYw
YmE1ZWVhMmQ1MDlhNDM4ODQ4ZmQ4ZDlmYzJmMzI0ZTgxMjk2N2MuLjg2ZmRhZjNkMDRmZDBkOGY3
ZjQ4N2QxNzczNzdlMmEzN2U5NWE3ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVz
LmgKQEAgLTEzMDUsNiArMTMwNSwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRXhwcmVz
c2lvbk5vZGUqIG1fZXhwcjI7CiAgICAgfTsKIAorICAgIGNsYXNzIENvYWxlc2NlTm9kZSBmaW5h
bCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7CisgICAgcHVibGljOgorICAgICAgICBDb2FsZXNj
ZU5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvbk5vZGUqIGV4cHIxLCBFeHBy
ZXNzaW9uTm9kZSogZXhwcjIpOworCisgICAgcHJpdmF0ZToKKyAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBvdmVycmlk
ZTsKKworICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9leHByMTsKKyAgICAgICAgRXhwcmVzc2lv
bk5vZGUqIG1fZXhwcjI7CisgICAgfTsKKwogICAgIC8vIFRoZSB0ZXJuYXJ5IG9wZXJhdG9yLCAi
bV9sb2dpY2FsID8gbV9leHByMSA6IG1fZXhwcjIiCiAgICAgY2xhc3MgQ29uZGl0aW9uYWxOb2Rl
IGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggNTAyYWJmODEyMmVjYTRiZWQ1YTVmZjg1
YzY0ODM0ODQyZjU5N2IxYS4uZTI1NGRjOTA4NDI3NGRlN2Q1MzdiOWRhMjY5MjY5MmIyMzg5Y2Yw
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMzg4MywxNCAr
Mzg4MywyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUJpbmFyeUV4cHJlcwogICAgIGludCBvcGVyYXRvclN0YWNr
RGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpCaW5hcnlFeHByQ29udGV4dCBi
aW5hcnlFeHByQ29udGV4dChjb250ZXh0KTsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24o
dG9rZW5Mb2NhdGlvbigpKTsKKyAgICBib29sIGhhc0xvZ2ljYWxPcGVyYXRvciA9IGZhbHNlOwor
ICAgIGJvb2wgaGFzQ29hbGVzY2VPcGVyYXRvciA9IGZhbHNlOworCiAgICAgd2hpbGUgKHRydWUp
IHsKICAgICAgICAgSlNUZXh0UG9zaXRpb24gZXhwclN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9u
KCk7CiAgICAgICAgIGludCBpbml0aWFsQXNzaWdubWVudHMgPSBtX3BhcnNlclN0YXRlLmFzc2ln
bm1lbnRDb3VudDsKICAgICAgICAgSlNUb2tlblR5cGUgbGVhZGluZ1Rva2VuVHlwZUZvclVuYXJ5
RXhwcmVzc2lvbiA9IG1fdG9rZW4ubV90eXBlOwogICAgICAgICBUcmVlRXhwcmVzc2lvbiBjdXJy
ZW50ID0gcGFyc2VVbmFyeUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgICAgIGZhaWxJZkZhbHNl
KGN1cnJlbnQsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwotICAgICAgICAKKwogICAgICAg
ICBjb250ZXh0LmFwcGVuZEJpbmFyeUV4cHJlc3Npb25JbmZvKG9wZXJhbmRTdGFja0RlcHRoLCBj
dXJyZW50LCBleHByU3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCksIGxhc3RUb2tlbkVuZFBv
c2l0aW9uKCksIGluaXRpYWxBc3NpZ25tZW50cyAhPSBtX3BhcnNlclN0YXRlLmFzc2lnbm1lbnRD
b3VudCk7CisgICAgICAgIGludCBwcmVjZWRlbmNlID0gaXNCaW5hcnlPcGVyYXRvcihtX3Rva2Vu
Lm1fdHlwZSk7CisgICAgICAgIGlmICghcHJlY2VkZW5jZSkKKyAgICAgICAgICAgIGJyZWFrOwog
CiAgICAgICAgIC8vIDEyLjYgaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtZXhw
LW9wZXJhdG9yCiAgICAgICAgIC8vIEV4cG9uZW50aWF0aW9uRXhwcmVzaW9uIGlzIGRlc2NyaWJl
ZCBhcyBmb2xsb3dzLgpAQCAtMzkxNSw5ICszOTIxLDE0IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmluYXJ5RXhw
cmVzCiAgICAgICAgIC8vIEJ1dCBpdCdzIE9LIGZvciAqKiBiZWNhdXNlIHRoZSBvcGVyYXRvciAi
KioiIGhhcyB0aGUgaGlnaGVzdCBvcGVyYXRvciBwcmVjZWRlbmNlIGluIHRoZSBiaW5hcnkgb3Bl
cmF0b3JzLgogICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKFBPVykgJiYgaXNVbmFyeU9wRXhjbHVk
aW5nVXBkYXRlT3AobGVhZGluZ1Rva2VuVHlwZUZvclVuYXJ5RXhwcmVzc2lvbiksICJBbWJpZ3Vv
dXMgdW5hcnkgZXhwcmVzc2lvbiBpbiB0aGUgbGVmdCBoYW5kIHNpZGUgb2YgdGhlIGV4cG9uZW50
aWF0aW9uIGV4cHJlc3Npb247IHBhcmVudGhlc2VzIG11c3QgYmUgdXNlZCB0byBkaXNhbWJpZ3Vh
dGUgdGhlIGV4cHJlc3Npb24iKTsKIAotICAgICAgICBpbnQgcHJlY2VkZW5jZSA9IGlzQmluYXJ5
T3BlcmF0b3IobV90b2tlbi5tX3R5cGUpOwotICAgICAgICBpZiAoIXByZWNlZGVuY2UpCi0gICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgLy8gTWl4aW5nID8/IHdpdGggfHwgb3IgJiYgaXMgY3Vy
cmVudGx5IHNwZWNpZmllZCBhcyBhbiBlYXJseSBlcnJvci4KKyAgICAgICAgLy8gU2luY2UgPz8g
aXMgdGhlIGxvd2VzdC1wcmVjZWRlbmNlIGJpbmFyeSBvcGVyYXRvciwgaXQgc3VmZmljZXMgdG8g
Y2hlY2sgd2hldGhlciB0aGVzZSBldmVyIGNvZXhpc3QgaW4gdGhlIG9wZXJhdG9yIHN0YWNrLgor
ICAgICAgICBpZiAobWF0Y2goQU5EKSB8fCBtYXRjaChPUikpCisgICAgICAgICAgICBoYXNMb2dp
Y2FsT3BlcmF0b3IgPSB0cnVlOworICAgICAgICBlbHNlIGlmIChtYXRjaChDT0FMRVNDRSkpCisg
ICAgICAgICAgICBoYXNDb2FsZXNjZU9wZXJhdG9yID0gdHJ1ZTsKKyAgICAgICAgZmFpbElmVHJ1
ZShoYXNMb2dpY2FsT3BlcmF0b3IgJiYgaGFzQ29hbGVzY2VPcGVyYXRvciwgIkNvYWxlc2Npbmcg
YW5kIGxvZ2ljYWwgb3BlcmF0b3JzIHVzZWQgdG9nZXRoZXIgaW4gdGhlIHNhbWUgZXhwcmVzc2lv
bjsgcGFyZW50aGVzZXMgbXVzdCBiZSB1c2VkIHRvIGRpc2FtYmlndWF0ZSIpOworCiAgICAgICAg
IG1fcGFyc2VyU3RhdGUubm9uVHJpdmlhbEV4cHJlc3Npb25Db3VudCsrOwogICAgICAgICBtX3Bh
cnNlclN0YXRlLm5vbkxIU0NvdW50Kys7CiAgICAgICAgIGludCBvcGVyYXRvclRva2VuID0gbV90
b2tlbi5tX3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMu
aAppbmRleCBjZmVlMzM3OThjMjRkODc4M2JkOTljNDhlMWM4NzIwODg3M2I1YzljLi4xNWNhNWVh
ZjI4ZTc1OTJmNDNmM2RjZTQxZThlNDFlNjFhOWU4MTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTE0OCwzMCArMTQ4LDMxIEBAIGVudW0gSlNU
b2tlblR5cGUgewogICAgIFRZUEVPRiA9IDYgfCBVbmFyeU9wVG9rZW5GbGFnIHwgS2V5d29yZFRv
a2VuRmxhZywKICAgICBWT0lEVE9LRU4gPSA3IHwgVW5hcnlPcFRva2VuRmxhZyB8IEtleXdvcmRU
b2tlbkZsYWcsCiAgICAgREVMRVRFVE9LRU4gPSA4IHwgVW5hcnlPcFRva2VuRmxhZyB8IEtleXdv
cmRUb2tlbkZsYWcsCi0gICAgT1IgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMSksCi0gICAg
QU5EID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDIpLAotICAgIEJJVE9SID0gMiB8IEJJTkFS
WV9PUF9QUkVDRURFTkNFKDMpLAotICAgIEJJVFhPUiA9IDMgfCBCSU5BUllfT1BfUFJFQ0VERU5D
RSg0KSwKLSAgICBCSVRBTkQgPSA0IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNSksCi0gICAgRVFF
USA9IDUgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwKLSAgICBORSA9IDYgfCBCSU5BUllfT1Bf
UFJFQ0VERU5DRSg2KSwKLSAgICBTVFJFUSA9IDcgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwK
LSAgICBTVFJORVEgPSA4IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNiksCi0gICAgTFQgPSA5IHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoNyksCi0gICAgR1QgPSAxMCB8IEJJTkFSWV9PUF9QUkVDRURF
TkNFKDcpLAotICAgIExFID0gMTEgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKLSAgICBHRSA9
IDEyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNyksCi0gICAgSU5TVEFOQ0VPRiA9IDEzIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoNykgfCBLZXl3b3JkVG9rZW5GbGFnLAotICAgIElOVE9LRU4gPSAx
NCB8IElOX09QX1BSRUNFREVOQ0UoNykgfCBLZXl3b3JkVG9rZW5GbGFnLAotICAgIExTSElGVCA9
IDE1IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCi0gICAgUlNISUZUID0gMTYgfCBCSU5BUllf
T1BfUFJFQ0VERU5DRSg4KSwKLSAgICBVUlNISUZUID0gMTcgfCBCSU5BUllfT1BfUFJFQ0VERU5D
RSg4KSwKLSAgICBQTFVTID0gMTggfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg5KSB8IFVuYXJ5T3BU
b2tlbkZsYWcsCi0gICAgTUlOVVMgPSAxOSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDkpIHwgVW5h
cnlPcFRva2VuRmxhZywKLSAgICBUSU1FUyA9IDIwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTAp
LAotICAgIERJVklERSA9IDIxIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAotICAgIE1PRCA9
IDIyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAotICAgIFBPVyA9IDIzIHwgQklOQVJZX09Q
X1BSRUNFREVOQ0UoMTEpIHwgUmlnaHRBc3NvY2lhdGl2ZUJpbmFyeU9wVG9rZW5GbGFnLCAvLyBN
YWtlIHN1cmUgdGhhdCBQT1cgaGFzIHRoZSBoaWdoZXN0IG9wZXJhdG9yIHByZWNlZGVuY2UuCisg
ICAgQ09BTEVTQ0UgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMSksCisgICAgT1IgPSAwIHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoMiksCisgICAgQU5EID0gMCB8IEJJTkFSWV9PUF9QUkVDRURF
TkNFKDMpLAorICAgIEJJVE9SID0gMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDQpLAorICAgIEJJ
VFhPUiA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg1KSwKKyAgICBCSVRBTkQgPSAwIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoNiksCisgICAgRVFFUSA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5D
RSg3KSwKKyAgICBORSA9IDEgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAgICBTVFJFUSA9
IDIgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAgICBTVFJORVEgPSAzIHwgQklOQVJZX09Q
X1BSRUNFREVOQ0UoNyksCisgICAgTFQgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisg
ICAgR1QgPSAxIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgTEUgPSAyIHwgQklOQVJZ
X09QX1BSRUNFREVOQ0UoOCksCisgICAgR0UgPSAzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCks
CisgICAgSU5TVEFOQ0VPRiA9IDQgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg4KSB8IEtleXdvcmRU
b2tlbkZsYWcsCisgICAgSU5UT0tFTiA9IDUgfCBJTl9PUF9QUkVDRURFTkNFKDgpIHwgS2V5d29y
ZFRva2VuRmxhZywKKyAgICBMU0hJRlQgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOSksCisg
ICAgUlNISUZUID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDkpLAorICAgIFVSU0hJRlQgPSAy
IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOSksCisgICAgUExVUyA9IDAgfCBCSU5BUllfT1BfUFJF
Q0VERU5DRSgxMCkgfCBVbmFyeU9wVG9rZW5GbGFnLAorICAgIE1JTlVTID0gMSB8IEJJTkFSWV9P
UF9QUkVDRURFTkNFKDEwKSB8IFVuYXJ5T3BUb2tlbkZsYWcsCisgICAgVElNRVMgPSAwIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoMTEpLAorICAgIERJVklERSA9IDEgfCBCSU5BUllfT1BfUFJFQ0VE
RU5DRSgxMSksCisgICAgTU9EID0gMiB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDExKSwKKyAgICBQ
T1cgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTIpIHwgUmlnaHRBc3NvY2lhdGl2ZUJpbmFy
eU9wVG9rZW5GbGFnLCAvLyBNYWtlIHN1cmUgdGhhdCBQT1cgaGFzIHRoZSBoaWdoZXN0IG9wZXJh
dG9yIHByZWNlZGVuY2UuCiAgICAgRVJST1JUT0sgPSAwIHwgRXJyb3JUb2tlbkZsYWcsCiAgICAg
VU5URVJNSU5BVEVEX0lERU5USUZJRVJfRVNDQVBFX0VSUk9SVE9LID0gMCB8IEVycm9yVG9rZW5G
bGFnIHwgVW50ZXJtaW5hdGVkRXJyb3JUb2tlbkZsYWcsCiAgICAgSU5WQUxJRF9JREVOVElGSUVS
X0VTQ0FQRV9FUlJPUlRPSyA9IDEgfCBFcnJvclRva2VuRmxhZywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUmVzdWx0VHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKaW5kZXggY2NlMGY2ZDYwMDFlM2MyYzMxZDllY2E4ZTE0
ZjlmOGQ0M2VhNTlmMS4uYmFlOTIxZDg2MTc4YzU2NGJjNzUxYWQ1NWJlZDAzMjBkYmIyYTViZSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKQEAgLTc2LDYgKzc2
LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIChtX2JpdHMgJiBUeXBl
Qml0cykgPT0gVHlwZU1heWJlQmlnSW50OwogICAgICAgICB9CiAKKyAgICAgICAgY29uc3RleHBy
IGJvb2wgZGVmaW5pdGVseUlzTnVsbCgpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJl
dHVybiAobV9iaXRzICYgVHlwZUJpdHMpID09IFR5cGVNYXliZU51bGw7CisgICAgICAgIH0KKwor
ICAgICAgICBjb25zdGV4cHIgYm9vbCBtaWdodEJlVW5kZWZpbmVkT3JOdWxsKCkgY29uc3QKKyAg
ICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG1fYml0cyAmIChUeXBlTWF5YmVOdWxsIHwgVHlw
ZU1heWJlT3RoZXIpOworICAgICAgICB9CisKICAgICAgICAgY29uc3RleHByIGJvb2wgbWlnaHRC
ZU51bWJlcigpIGNvbnN0CiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBtX2JpdHMgJiBU
eXBlTWF5YmVOdW1iZXI7CkBAIC0xNzIsNiArMTgyLDE1IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICAgICAgcmV0dXJuIHVua25vd25UeXBlKCk7CiAgICAgICAgIH0KIAorICAgICAgICBzdGF0
aWMgY29uc3RleHByIFJlc3VsdFR5cGUgZm9yQ29hbGVzY2UoUmVzdWx0VHlwZSBvcDEsIFJlc3Vs
dFR5cGUgb3AyKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAob3AxLmRlZmluaXRlbHlJc051
bGwoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gb3AyOworICAgICAgICAgICAgaWYgKCFvcDEu
bWF5YmVVbmRlZmluZWRPck51bGwoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gb3AxOworICAg
ICAgICAgICAgcmV0dXJuIHVua25vd25UeXBlKCk7CisgICAgICAgIH0KKwogICAgICAgICBzdGF0
aWMgY29uc3RleHByIFJlc3VsdFR5cGUgZm9yQml0T3AoKQogICAgICAgICB7CiAgICAgICAgICAg
ICByZXR1cm4gYmlnSW50T3JJbnQzMlR5cGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09wdGlvbnMuaAppbmRleCBjYThmYTAxZjI5ZmY4YWNlZjljMWQ2NGFkMTk2NGQ0M2QxM2I5OWRh
Li5mNWZlMDg4NWQ3ZmQwYzQ4OTViZmJiMmM3YzNlOTI3MWIwYWYxZjZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCkBAIC00OTQsNiArNDk0LDcgQEAgY29uc3RleHBy
IGJvb2wgZW5hYmxlV2ViQXNzZW1ibHlTdHJlYW1pbmdBcGkgPSBmYWxzZTsKICAgICB2KGJvb2ws
IHVzZVdlYkFzc2VtYmx5UmVmZXJlbmNlcywgZmFsc2UsIE5vcm1hbCwgIkFsbG93IHR5cGVzIGZy
b20gdGhlIHdhc20gcmVmZXJlbmNlcyBzcGVjLiIpIFwKICAgICB2KGJvb2wsIHVzZVdlYWtSZWZz
LCBmYWxzZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBXZWFrUmVmIGNvbnN0cnVjdG9yLiIpIFwKICAg
ICB2KGJvb2wsIHVzZUJpZ0ludCwgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgZW5h
YmxlIEJpZ0ludCBzdXBwb3J0LiIpIFwKKyAgICB2KGJvb2wsIHVzZU51bGxpc2hDb2FsZXNjaW5n
LCBmYWxzZSwgTm9ybWFsLCAiRW5hYmxlIHN1cHBvcnQgZm9yIHRoZSA/PyBvcGVyYXRvci4iKSBc
CiAgICAgdihib29sLCB1c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmcsIHRydWUsIE5vcm1hbCwg
IklmIHRydWUsIHdlIHdpbGwgdXNlIG91ciBub3JtYWwgYXJyYXkgYWxsb2NhdGlvbiBwcm9maWxp
bmcuIElmIGZhbHNlLCB0aGUgYWxsb2NhdGlvbiBwcm9maWxlIHdpbGwgYWx3YXlzIGNsYWltIHRv
IGJlIHVuZGVjaWRlZC4iKSBcCiAgICAgdihib29sLCBmb3JjZVBvbHlQcm90bywgZmFsc2UsIE5v
cm1hbCwgIklmIHRydWUsIGNyZWF0ZV90aGlzIHdpbGwgYWx3YXlzIGNyZWF0ZSBhbiBvYmplY3Qg
d2l0aCBhIHBvbHkgcHJvdG8gc3RydWN0dXJlLiIpIFwKICAgICB2KGJvb2wsIGZvcmNlTWluaVZN
TW9kZSwgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIGl0IHdpbGwgZm9yY2UgbWluaSBWTSBtb2Rl
IG9uLiIpIFwKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCA2OGE5YmM1ZWRkYWZjOTVkM2RjM2EzNDMxN2JiY2YzYzQ4MGE1OGFiLi45NWE1ZjNkNjdk
NDk4YjQwMjY5MTExMTBhNmRmYWM2YTZjZjRlOTNlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMDctMjQgIFJv
c3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgorCisgICAgICAgIFtFU05leHRd
IEltcGxlbWVudCBudWxsaXNoIGNvYWxlc2NpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDA3MgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgICogU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0czoKKwogMjAx
OS0wNy0yNCAgWmhpZmVpIEZhbmcgIDx6aGlmZWlfZmFuZ0BhcHBsZS5jb20+CiAKICAgICAgICAg
cnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzIHdvbid0IHJlcG9ydCB0ZXN0IHJlc3VsdHMgZm9yIHRl
c3RtYXNtLCB0ZXN0YWlyLCB0ZXN0YjMsIHRlc3RkZmcgYW5kIHRlc3QgYXBpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4t
anNjLXN0cmVzcy10ZXN0cwppbmRleCA5ZDc3ZjU4Mjc5OGMwZjA1ZGZhYTI5OTRjNjViNWRiMDcz
MzBjZGYxLi44M2RjMDYyYWIyODIxMTYxYTkzMWMyYWJlNDNkZjVmNjY5YTg4ZGE5IDEwMDc1NQot
LS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCisrKyBiL1Rvb2xzL1Njcmlw
dHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKQEAgLTY5OSw2ICs2OTksMTAgQEAgZGVmIHJ1bkJpZ0lu
dEVuYWJsZWQoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKICAgICBydW4oImJpZy1pbnQt
ZW5hYmxlZCIsICItLXVzZUJpZ0ludD10cnVlIiAsICooRlRMX09QVElPTlMgKyBvcHRpb25hbFRl
c3RTcGVjaWZpY09wdGlvbnMpKQogZW5kCiAKK2RlZiBydW5OdWxsaXNoQ29hbGVzY2luZ0VuYWJs
ZWQoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKKyAgICBydW4oIm51bGxpc2gtY29hbGVz
Y2luZy1lbmFibGVkIiwgIi0tdXNlTnVsbGlzaENvYWxlc2Npbmc9dHJ1ZSIgLCAqKEZUTF9PUFRJ
T05TICsgb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKK2VuZAorCiBkZWYgcnVuRlRMTm9D
SklUKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCiAgICAgcnVuKCJtaXNjLWZ0bC1uby1j
aml0IiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNp
ZmljT3B0aW9ucykpCiBlbmQKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggZjBjNmZlZTMyYTBhZjQ5ZWFmOGRmZDk5ZWYwZmYzNGZkZWRkNTAx
Ni4uOGIyNjdkNjc1ZDFlZGFiOTYyYjVlNThhOTZjNTk0M2ZlNzUwNGVkMCAxMDA2NDQKLS0tIGEv
SlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBA
QAorMjAxOS0wNy0yNCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CisK
KyAgICAgICAgW0VTTmV4dF0gSW1wbGVtZW50IG51bGxpc2ggY29hbGVzY2luZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDcyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBzdHJlc3MvbnVsbGlzaC1jb2Fs
ZXNjaW5nLmpzOiBBZGRlZC4KKwogMjAxOS0wNy0yMyAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5f
bWljaGF1ZEBhcHBsZS5jb20+CiAKICAgICAgICAgU29tZXRpbWVzIHdlIG1pc3MgcmVtb3ZhYmxl
IENoZWNrSW5Cb3VuZHMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374863</attachid>
            <date>2019-07-24 21:10:28 -0700</date>
            <delta_ts>2019-07-24 21:11:08 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-200072-20190724211027.patch</filename>
            <type>text/plain</type>
            <size>16718</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3ODAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NjE3MDc3ODVjZjc5MDY2ZDNiZjRjNjQxZGNjZjI0YzNhMWQyYjM0Li42NjEwM2ZiOWE4ZjEwNWVm
MzIwZTU1ZTFlMzU2ZjE2YmM4ZmYxYjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAxOS0wNy0yNCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0VTTmV4dF0gSW1wbGVtZW50IG51bGxpc2ggY29hbGVzY2luZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDcyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSW1wbGVtZW50IHRo
ZSBudWxsaXNoIGNvYWxlc2NpbmcgcHJvcG9zYWwsIHdoaWNoIGhhcyBub3cgcmVhY2hlZCBTdGFn
ZSAzIGF0IFRDMzkuCisKKyAgICAgICAgVGhpcyBpbnRyb2R1Y2VzIGEgPz8gb3BlcmF0b3Igd2hp
Y2g6CisgICAgICAgICAgLSBhY3RzIGxpa2UgfHwgYnV0IGNoZWNrcyBmb3IgbnVsbGlzaG5lc3Mg
aW5zdGVhZCBvZiB0cnV0aGluZXNzCisgICAgICAgICAgLSBoYXMgYSBwcmVjZWRlbmNlIGxvd2Vy
IHRoYW4gfHwgKG9yIGFueSBvdGhlciBiaW5hcnkgb3BlcmF0b3IpCisgICAgICAgICAgLSBtdXN0
IGJlIGRpc2FtYmlndWF0ZWQgd2l0aCBwYXJlbnRoZXNlcyB3aGVuIGNvbWJpbmVkIHdpdGggfHwg
b3IgJiYKKworICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAgICAg
ICAoSlNDOjpDb2FsZXNjZU5vZGU6OmVtaXRCeXRlY29kZSk6IEFkZGVkLgorICAgICAgICBCeXRl
Y29kZSBtdXN0IHVzZSBPcElzVW5kZWZpbmVkT3JOdWxsIGFuZCBub3QgT3BOZXFOdWxsIGJlY2F1
c2Ugb2YgZG9jdW1lbnQuYWxsLgorCisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAg
ICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6bWFrZUJpbmFyeU5vZGUpOgorICAgICAgICAqIHBhcnNl
ci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXhXaXRob3V0Q2xlYXJpbmdM
aW5lVGVybWluYXRvcik6CisgICAgICAgICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAg
ICAgICAgKEpTQzo6Q29hbGVzY2VOb2RlOjpDb2FsZXNjZU5vZGUpOiBBZGRlZC4KKyAgICAgICAg
KiBwYXJzZXIvTm9kZXMuaDoKKyAgICAgICAgSW50cm9kdWNlIG5ldyB0b2tlbiBhbmQgQVNUIG5v
ZGUuCisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlQmluYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIEltcGxlbWVudCBl
YXJseSBlcnJvci4KKworICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAg
U2luY2UgdGhpcyBwYXRjaCBuZWVkcyB0byBzaGlmdCB0aGUgdmFsdWUgb2YgZXZlcnkgYmluYXJ5
IG9wZXJhdG9yIHRva2VuIGFueXdheSwKKyAgICAgICAgbGV0J3Mgb25seSBib3RoZXIgdG8gaW5j
cmVtZW50IHRoZWlyIExTQnMgd2hlbiB3ZSBhY3R1YWxseSBoYXZlIGEgcHJlY2VkZW5jZSBjb25m
bGljdC4KKworICAgICAgICAqIHBhcnNlci9SZXN1bHRUeXBlLmg6CisgICAgICAgIChKU0M6OlJl
c3VsdFR5cGU6OmRlZmluaXRlbHlJc051bGwgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6
UmVzdWx0VHlwZTo6bWlnaHRCZVVuZGVmaW5lZE9yTnVsbCBjb25zdCk6IEFkZGVkLgorICAgICAg
ICAoSlNDOjpSZXN1bHRUeXBlOjpmb3JDb2FsZXNjZSk6IEFkZGVkLgorICAgICAgICBXZSBjYW4g
ZG8gYmV0dGVyIHRoYW4gZm9yTG9naWNhbE9wIGhlcmU7IGxldCdzIGJlIGFzIGFjY3VyYXRlIGFz
IHBvc3NpYmxlLgorCisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisgICAgICAgIEFkZCBy
dW50aW1lIGZlYXR1cmUgZmxhZy4KKwogMjAxOS0wNy0yNCAgTWFyayBMYW0gIDxtYXJrLmxhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXgg
N2ZmN2I1ODlkZDBhMzMzODNjNjJiNzE4NWRiOTU4MjA2NWFjMjY3My4uN2NjMDc4YzNjMDIxNWM5
ZGY3OTBjODQ4YTMyZDEzYjgwOTBmMDhhMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMjMzOCw2ICsyMzM4LDIxIEBA
IHZvaWQgTG9naWNhbE9wTm9kZTo6ZW1pdEJ5dGVjb2RlSW5Db25kaXRpb25Db250ZXh0KEJ5dGVj
b2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsCiAgICAgZ2VuZXJhdG9yLmVtaXROb2RlSW5Db25kaXRp
b25Db250ZXh0KG1fZXhwcjIsIHRydWVUYXJnZXQsIGZhbHNlVGFyZ2V0LCBmYWxsVGhyb3VnaE1v
ZGUpOwogfQogCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ29hbGVzY2VOb2Rl
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworUmVnaXN0ZXJJRCogQ29hbGVzY2VOb2Rl
OjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCog
ZHN0KQoreworICAgIFJlZlB0cjxSZWdpc3RlcklEPiB0ZW1wID0gZ2VuZXJhdG9yLnRlbXBEZXN0
aW5hdGlvbihkc3QpOworICAgIFJlZjxMYWJlbD4gdGFyZ2V0ID0gZ2VuZXJhdG9yLm5ld0xhYmVs
KCk7CisKKyAgICBnZW5lcmF0b3IuZW1pdE5vZGUodGVtcC5nZXQoKSwgbV9leHByMSk7CisgICAg
Z2VuZXJhdG9yLmVtaXRKdW1wSWZGYWxzZShnZW5lcmF0b3IuZW1pdFVuYXJ5T3A8T3BJc1VuZGVm
aW5lZE9yTnVsbD4oZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpLCB0ZW1wLmdldCgpKSwgdGFyZ2V0
LmdldCgpKTsKKyAgICBnZW5lcmF0b3IuZW1pdE5vZGVJblRhaWxQb3NpdGlvbih0ZW1wLmdldCgp
LCBtX2V4cHIyKTsKKyAgICBnZW5lcmF0b3IuZW1pdExhYmVsKHRhcmdldC5nZXQoKSk7CisKKyAg
ICByZXR1cm4gZ2VuZXJhdG9yLm1vdmUoZHN0LCB0ZW1wLmdldCgpKTsKK30KKwogLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbmRpdGlvbmFsTm9kZSAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIAogUmVnaXN0ZXJJRCogQ29uZGl0aW9uYWxOb2RlOjplbWl0Qnl0ZWNv
ZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBkYzg3OGM1OGRhY2ZmMzE4
YjdkN2U1ZTZmMmFkNTcwNzY4YWZmNTZmLi5kZTViMTMzOTA2NjExMzQxMmFjYWVlZjJiZDc1ZTAz
MWEzMzNhMTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApA
QCAtMTM5Myw2ICsxMzkzLDkgQEAgRXhwcmVzc2lvbk5vZGUqIEFTVEJ1aWxkZXI6Om1ha2VGdW5j
dGlvbkNhbGxOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24KIEV4cHJlc3Npb25O
b2RlKiBBU1RCdWlsZGVyOjptYWtlQmluYXJ5Tm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBpbnQgdG9rZW4sIHN0ZDo6cGFpcjxFeHByZXNzaW9uTm9kZSosIEJpbmFyeU9wSW5m
bz4gbGhzLCBzdGQ6OnBhaXI8RXhwcmVzc2lvbk5vZGUqLCBCaW5hcnlPcEluZm8+IHJocykKIHsK
ICAgICBzd2l0Y2ggKHRva2VuKSB7CisgICAgY2FzZSBDT0FMRVNDRToKKyAgICAgICAgcmV0dXJu
IG5ldyAobV9wYXJzZXJBcmVuYSkgQ29hbGVzY2VOb2RlKGxvY2F0aW9uLCBsaHMuZmlyc3QsIHJo
cy5maXJzdCk7CisKICAgICBjYXNlIE9SOgogICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFy
ZW5hKSBMb2dpY2FsT3BOb2RlKGxvY2F0aW9uLCBsaHMuZmlyc3QsIHJocy5maXJzdCwgT3BMb2dp
Y2FsT3IpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVy
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDQ2NjJj
NTRmMmEwNTM2NDYyYWU3MmUwZGQ3NzMwMWUwY2VlOTlkNDQuLjE2YmZhOGEyNDdiM2YwYmI0NjVh
NTc2M2Q4NzVmMjZlMTRhYzI2ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
Y3BwCkBAIC0yMTUzLDggKzIxNTMsMTMgQEAgc3RhcnQ6CiAgICAgICAgIHNoaWZ0KCk7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgQ2hhcmFjdGVyUXVlc3Rpb246Ci0gICAgICAgIHRva2VuID0g
UVVFU1RJT047CiAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgIGlmIChPcHRpb25zOjp1c2VOdWxs
aXNoQ29hbGVzY2luZygpICYmIG1fY3VycmVudCA9PSAnPycpIHsKKyAgICAgICAgICAgIHNoaWZ0
KCk7CisgICAgICAgICAgICB0b2tlbiA9IENPQUxFU0NFOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICAgICAgdG9rZW4gPSBRVUVTVElPTjsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBDaGFyYWN0ZXJUaWxkZToKICAgICAgICAgdG9rZW4gPSBUSUxERTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggYTJiOGM1ZjBm
YzkwNDkxYzA1ODE0Yzk5NzIwNzAwMDFhNmE4ZWRjYy4uZDQxZTNhZWQ4ZTQ1ZjdhOGUyZmQzMWMy
NDQ3N2RlY2NiOGQ1NjQwZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2RlQ29uc3RydWN0b3JzLmgKQEAgLTY2OSw2ICs2NjksMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgewogICAgIH0KIAorICAgIGlubGluZSBDb2FsZXNjZU5vZGU6OkNvYWxlc2NlTm9kZShjb25z
dCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogZXhwcjEsIEV4cHJl
c3Npb25Ob2RlKiBleHByMikKKyAgICAgICAgOiBFeHByZXNzaW9uTm9kZShsb2NhdGlvbiwgUmVz
dWx0VHlwZTo6Zm9yQ29hbGVzY2UoZXhwcjEtPnJlc3VsdERlc2NyaXB0b3IoKSwgZXhwcjItPnJl
c3VsdERlc2NyaXB0b3IoKSkpCisgICAgICAgICwgbV9leHByMShleHByMSkKKyAgICAgICAgLCBt
X2V4cHIyKGV4cHIyKQorICAgIHsKKyAgICB9CisKICAgICBpbmxpbmUgQ29uZGl0aW9uYWxOb2Rl
OjpDb25kaXRpb25hbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVz
c2lvbk5vZGUqIGxvZ2ljYWwsIEV4cHJlc3Npb25Ob2RlKiBleHByMSwgRXhwcmVzc2lvbk5vZGUq
IGV4cHIyKQogICAgICAgICA6IEV4cHJlc3Npb25Ob2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1f
bG9naWNhbChsb2dpY2FsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDYw
YmE1ZWVhMmQ1MDlhNDM4ODQ4ZmQ4ZDlmYzJmMzI0ZTgxMjk2N2MuLjg2ZmRhZjNkMDRmZDBkOGY3
ZjQ4N2QxNzczNzdlMmEzN2U5NWE3ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVz
LmgKQEAgLTEzMDUsNiArMTMwNSwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRXhwcmVz
c2lvbk5vZGUqIG1fZXhwcjI7CiAgICAgfTsKIAorICAgIGNsYXNzIENvYWxlc2NlTm9kZSBmaW5h
bCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7CisgICAgcHVibGljOgorICAgICAgICBDb2FsZXNj
ZU5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvbk5vZGUqIGV4cHIxLCBFeHBy
ZXNzaW9uTm9kZSogZXhwcjIpOworCisgICAgcHJpdmF0ZToKKyAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBvdmVycmlk
ZTsKKworICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9leHByMTsKKyAgICAgICAgRXhwcmVzc2lv
bk5vZGUqIG1fZXhwcjI7CisgICAgfTsKKwogICAgIC8vIFRoZSB0ZXJuYXJ5IG9wZXJhdG9yLCAi
bV9sb2dpY2FsID8gbV9leHByMSA6IG1fZXhwcjIiCiAgICAgY2xhc3MgQ29uZGl0aW9uYWxOb2Rl
IGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggNTAyYWJmODEyMmVjYTRiZWQ1YTVmZjg1
YzY0ODM0ODQyZjU5N2IxYS4uZTI1NGRjOTA4NDI3NGRlN2Q1MzdiOWRhMjY5MjY5MmIyMzg5Y2Yw
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMzg4MywxNCAr
Mzg4MywyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUJpbmFyeUV4cHJlcwogICAgIGludCBvcGVyYXRvclN0YWNr
RGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpCaW5hcnlFeHByQ29udGV4dCBi
aW5hcnlFeHByQ29udGV4dChjb250ZXh0KTsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24o
dG9rZW5Mb2NhdGlvbigpKTsKKyAgICBib29sIGhhc0xvZ2ljYWxPcGVyYXRvciA9IGZhbHNlOwor
ICAgIGJvb2wgaGFzQ29hbGVzY2VPcGVyYXRvciA9IGZhbHNlOworCiAgICAgd2hpbGUgKHRydWUp
IHsKICAgICAgICAgSlNUZXh0UG9zaXRpb24gZXhwclN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9u
KCk7CiAgICAgICAgIGludCBpbml0aWFsQXNzaWdubWVudHMgPSBtX3BhcnNlclN0YXRlLmFzc2ln
bm1lbnRDb3VudDsKICAgICAgICAgSlNUb2tlblR5cGUgbGVhZGluZ1Rva2VuVHlwZUZvclVuYXJ5
RXhwcmVzc2lvbiA9IG1fdG9rZW4ubV90eXBlOwogICAgICAgICBUcmVlRXhwcmVzc2lvbiBjdXJy
ZW50ID0gcGFyc2VVbmFyeUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgICAgIGZhaWxJZkZhbHNl
KGN1cnJlbnQsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwotICAgICAgICAKKwogICAgICAg
ICBjb250ZXh0LmFwcGVuZEJpbmFyeUV4cHJlc3Npb25JbmZvKG9wZXJhbmRTdGFja0RlcHRoLCBj
dXJyZW50LCBleHByU3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCksIGxhc3RUb2tlbkVuZFBv
c2l0aW9uKCksIGluaXRpYWxBc3NpZ25tZW50cyAhPSBtX3BhcnNlclN0YXRlLmFzc2lnbm1lbnRD
b3VudCk7CisgICAgICAgIGludCBwcmVjZWRlbmNlID0gaXNCaW5hcnlPcGVyYXRvcihtX3Rva2Vu
Lm1fdHlwZSk7CisgICAgICAgIGlmICghcHJlY2VkZW5jZSkKKyAgICAgICAgICAgIGJyZWFrOwog
CiAgICAgICAgIC8vIDEyLjYgaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtZXhw
LW9wZXJhdG9yCiAgICAgICAgIC8vIEV4cG9uZW50aWF0aW9uRXhwcmVzaW9uIGlzIGRlc2NyaWJl
ZCBhcyBmb2xsb3dzLgpAQCAtMzkxNSw5ICszOTIxLDE0IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmluYXJ5RXhw
cmVzCiAgICAgICAgIC8vIEJ1dCBpdCdzIE9LIGZvciAqKiBiZWNhdXNlIHRoZSBvcGVyYXRvciAi
KioiIGhhcyB0aGUgaGlnaGVzdCBvcGVyYXRvciBwcmVjZWRlbmNlIGluIHRoZSBiaW5hcnkgb3Bl
cmF0b3JzLgogICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKFBPVykgJiYgaXNVbmFyeU9wRXhjbHVk
aW5nVXBkYXRlT3AobGVhZGluZ1Rva2VuVHlwZUZvclVuYXJ5RXhwcmVzc2lvbiksICJBbWJpZ3Vv
dXMgdW5hcnkgZXhwcmVzc2lvbiBpbiB0aGUgbGVmdCBoYW5kIHNpZGUgb2YgdGhlIGV4cG9uZW50
aWF0aW9uIGV4cHJlc3Npb247IHBhcmVudGhlc2VzIG11c3QgYmUgdXNlZCB0byBkaXNhbWJpZ3Vh
dGUgdGhlIGV4cHJlc3Npb24iKTsKIAotICAgICAgICBpbnQgcHJlY2VkZW5jZSA9IGlzQmluYXJ5
T3BlcmF0b3IobV90b2tlbi5tX3R5cGUpOwotICAgICAgICBpZiAoIXByZWNlZGVuY2UpCi0gICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgLy8gTWl4aW5nID8/IHdpdGggfHwgb3IgJiYgaXMgY3Vy
cmVudGx5IHNwZWNpZmllZCBhcyBhbiBlYXJseSBlcnJvci4KKyAgICAgICAgLy8gU2luY2UgPz8g
aXMgdGhlIGxvd2VzdC1wcmVjZWRlbmNlIGJpbmFyeSBvcGVyYXRvciwgaXQgc3VmZmljZXMgdG8g
Y2hlY2sgd2hldGhlciB0aGVzZSBldmVyIGNvZXhpc3QgaW4gdGhlIG9wZXJhdG9yIHN0YWNrLgor
ICAgICAgICBpZiAobWF0Y2goQU5EKSB8fCBtYXRjaChPUikpCisgICAgICAgICAgICBoYXNMb2dp
Y2FsT3BlcmF0b3IgPSB0cnVlOworICAgICAgICBlbHNlIGlmIChtYXRjaChDT0FMRVNDRSkpCisg
ICAgICAgICAgICBoYXNDb2FsZXNjZU9wZXJhdG9yID0gdHJ1ZTsKKyAgICAgICAgZmFpbElmVHJ1
ZShoYXNMb2dpY2FsT3BlcmF0b3IgJiYgaGFzQ29hbGVzY2VPcGVyYXRvciwgIkNvYWxlc2Npbmcg
YW5kIGxvZ2ljYWwgb3BlcmF0b3JzIHVzZWQgdG9nZXRoZXIgaW4gdGhlIHNhbWUgZXhwcmVzc2lv
bjsgcGFyZW50aGVzZXMgbXVzdCBiZSB1c2VkIHRvIGRpc2FtYmlndWF0ZSIpOworCiAgICAgICAg
IG1fcGFyc2VyU3RhdGUubm9uVHJpdmlhbEV4cHJlc3Npb25Db3VudCsrOwogICAgICAgICBtX3Bh
cnNlclN0YXRlLm5vbkxIU0NvdW50Kys7CiAgICAgICAgIGludCBvcGVyYXRvclRva2VuID0gbV90
b2tlbi5tX3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMu
aAppbmRleCBjZmVlMzM3OThjMjRkODc4M2JkOTljNDhlMWM4NzIwODg3M2I1YzljLi4xNWNhNWVh
ZjI4ZTc1OTJmNDNmM2RjZTQxZThlNDFlNjFhOWU4MTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTE0OCwzMCArMTQ4LDMxIEBAIGVudW0gSlNU
b2tlblR5cGUgewogICAgIFRZUEVPRiA9IDYgfCBVbmFyeU9wVG9rZW5GbGFnIHwgS2V5d29yZFRv
a2VuRmxhZywKICAgICBWT0lEVE9LRU4gPSA3IHwgVW5hcnlPcFRva2VuRmxhZyB8IEtleXdvcmRU
b2tlbkZsYWcsCiAgICAgREVMRVRFVE9LRU4gPSA4IHwgVW5hcnlPcFRva2VuRmxhZyB8IEtleXdv
cmRUb2tlbkZsYWcsCi0gICAgT1IgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMSksCi0gICAg
QU5EID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDIpLAotICAgIEJJVE9SID0gMiB8IEJJTkFS
WV9PUF9QUkVDRURFTkNFKDMpLAotICAgIEJJVFhPUiA9IDMgfCBCSU5BUllfT1BfUFJFQ0VERU5D
RSg0KSwKLSAgICBCSVRBTkQgPSA0IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNSksCi0gICAgRVFF
USA9IDUgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwKLSAgICBORSA9IDYgfCBCSU5BUllfT1Bf
UFJFQ0VERU5DRSg2KSwKLSAgICBTVFJFUSA9IDcgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwK
LSAgICBTVFJORVEgPSA4IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNiksCi0gICAgTFQgPSA5IHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoNyksCi0gICAgR1QgPSAxMCB8IEJJTkFSWV9PUF9QUkVDRURF
TkNFKDcpLAotICAgIExFID0gMTEgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKLSAgICBHRSA9
IDEyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNyksCi0gICAgSU5TVEFOQ0VPRiA9IDEzIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoNykgfCBLZXl3b3JkVG9rZW5GbGFnLAotICAgIElOVE9LRU4gPSAx
NCB8IElOX09QX1BSRUNFREVOQ0UoNykgfCBLZXl3b3JkVG9rZW5GbGFnLAotICAgIExTSElGVCA9
IDE1IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCi0gICAgUlNISUZUID0gMTYgfCBCSU5BUllf
T1BfUFJFQ0VERU5DRSg4KSwKLSAgICBVUlNISUZUID0gMTcgfCBCSU5BUllfT1BfUFJFQ0VERU5D
RSg4KSwKLSAgICBQTFVTID0gMTggfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg5KSB8IFVuYXJ5T3BU
b2tlbkZsYWcsCi0gICAgTUlOVVMgPSAxOSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDkpIHwgVW5h
cnlPcFRva2VuRmxhZywKLSAgICBUSU1FUyA9IDIwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTAp
LAotICAgIERJVklERSA9IDIxIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAotICAgIE1PRCA9
IDIyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAotICAgIFBPVyA9IDIzIHwgQklOQVJZX09Q
X1BSRUNFREVOQ0UoMTEpIHwgUmlnaHRBc3NvY2lhdGl2ZUJpbmFyeU9wVG9rZW5GbGFnLCAvLyBN
YWtlIHN1cmUgdGhhdCBQT1cgaGFzIHRoZSBoaWdoZXN0IG9wZXJhdG9yIHByZWNlZGVuY2UuCisg
ICAgQ09BTEVTQ0UgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMSksCisgICAgT1IgPSAwIHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoMiksCisgICAgQU5EID0gMCB8IEJJTkFSWV9PUF9QUkVDRURF
TkNFKDMpLAorICAgIEJJVE9SID0gMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDQpLAorICAgIEJJ
VFhPUiA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg1KSwKKyAgICBCSVRBTkQgPSAwIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoNiksCisgICAgRVFFUSA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5D
RSg3KSwKKyAgICBORSA9IDEgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAgICBTVFJFUSA9
IDIgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAgICBTVFJORVEgPSAzIHwgQklOQVJZX09Q
X1BSRUNFREVOQ0UoNyksCisgICAgTFQgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisg
ICAgR1QgPSAxIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgTEUgPSAyIHwgQklOQVJZ
X09QX1BSRUNFREVOQ0UoOCksCisgICAgR0UgPSAzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCks
CisgICAgSU5TVEFOQ0VPRiA9IDQgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg4KSB8IEtleXdvcmRU
b2tlbkZsYWcsCisgICAgSU5UT0tFTiA9IDUgfCBJTl9PUF9QUkVDRURFTkNFKDgpIHwgS2V5d29y
ZFRva2VuRmxhZywKKyAgICBMU0hJRlQgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOSksCisg
ICAgUlNISUZUID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDkpLAorICAgIFVSU0hJRlQgPSAy
IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOSksCisgICAgUExVUyA9IDAgfCBCSU5BUllfT1BfUFJF
Q0VERU5DRSgxMCkgfCBVbmFyeU9wVG9rZW5GbGFnLAorICAgIE1JTlVTID0gMSB8IEJJTkFSWV9P
UF9QUkVDRURFTkNFKDEwKSB8IFVuYXJ5T3BUb2tlbkZsYWcsCisgICAgVElNRVMgPSAwIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoMTEpLAorICAgIERJVklERSA9IDEgfCBCSU5BUllfT1BfUFJFQ0VE
RU5DRSgxMSksCisgICAgTU9EID0gMiB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDExKSwKKyAgICBQ
T1cgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTIpIHwgUmlnaHRBc3NvY2lhdGl2ZUJpbmFy
eU9wVG9rZW5GbGFnLCAvLyBNYWtlIHN1cmUgdGhhdCBQT1cgaGFzIHRoZSBoaWdoZXN0IG9wZXJh
dG9yIHByZWNlZGVuY2UuCiAgICAgRVJST1JUT0sgPSAwIHwgRXJyb3JUb2tlbkZsYWcsCiAgICAg
VU5URVJNSU5BVEVEX0lERU5USUZJRVJfRVNDQVBFX0VSUk9SVE9LID0gMCB8IEVycm9yVG9rZW5G
bGFnIHwgVW50ZXJtaW5hdGVkRXJyb3JUb2tlbkZsYWcsCiAgICAgSU5WQUxJRF9JREVOVElGSUVS
X0VTQ0FQRV9FUlJPUlRPSyA9IDEgfCBFcnJvclRva2VuRmxhZywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUmVzdWx0VHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKaW5kZXggY2NlMGY2ZDYwMDFlM2MyYzMxZDllY2E4ZTE0
ZjlmOGQ0M2VhNTlmMS4uZjVmYWRkZTZmNjYyNGU3NjBmNDljNWVhY2NmMTQ5NjAwNDQwZTAxMSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKQEAgLTc2LDYgKzc2
LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIChtX2JpdHMgJiBUeXBl
Qml0cykgPT0gVHlwZU1heWJlQmlnSW50OwogICAgICAgICB9CiAKKyAgICAgICAgY29uc3RleHBy
IGJvb2wgZGVmaW5pdGVseUlzTnVsbCgpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJl
dHVybiAobV9iaXRzICYgVHlwZUJpdHMpID09IFR5cGVNYXliZU51bGw7CisgICAgICAgIH0KKwor
ICAgICAgICBjb25zdGV4cHIgYm9vbCBtaWdodEJlVW5kZWZpbmVkT3JOdWxsKCkgY29uc3QKKyAg
ICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG1fYml0cyAmIChUeXBlTWF5YmVOdWxsIHwgVHlw
ZU1heWJlT3RoZXIpOworICAgICAgICB9CisKICAgICAgICAgY29uc3RleHByIGJvb2wgbWlnaHRC
ZU51bWJlcigpIGNvbnN0CiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBtX2JpdHMgJiBU
eXBlTWF5YmVOdW1iZXI7CkBAIC0xNzIsNiArMTgyLDE1IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICAgICAgcmV0dXJuIHVua25vd25UeXBlKCk7CiAgICAgICAgIH0KIAorICAgICAgICBzdGF0
aWMgY29uc3RleHByIFJlc3VsdFR5cGUgZm9yQ29hbGVzY2UoUmVzdWx0VHlwZSBvcDEsIFJlc3Vs
dFR5cGUgb3AyKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAob3AxLmRlZmluaXRlbHlJc051
bGwoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gb3AyOworICAgICAgICAgICAgaWYgKCFvcDEu
bWlnaHRCZVVuZGVmaW5lZE9yTnVsbCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBvcDE7Cisg
ICAgICAgICAgICByZXR1cm4gdW5rbm93blR5cGUoKTsKKyAgICAgICAgfQorCiAgICAgICAgIHN0
YXRpYyBjb25zdGV4cHIgUmVzdWx0VHlwZSBmb3JCaXRPcCgpCiAgICAgICAgIHsKICAgICAgICAg
ICAgIHJldHVybiBiaWdJbnRPckludDMyVHlwZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3B0aW9ucy5oCmluZGV4IGNhOGZhMDFmMjlmZjhhY2VmOWMxZDY0YWQxOTY0ZDQzZDEzYjk5
ZGEuLmY1ZmUwODg1ZDdmZDBjNDg5NWJmYmIyYzdjM2U5MjcxYjBhZjFmNmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKQEAgLTQ5NCw2ICs0OTQsNyBAQCBjb25zdGV4
cHIgYm9vbCBlbmFibGVXZWJBc3NlbWJseVN0cmVhbWluZ0FwaSA9IGZhbHNlOwogICAgIHYoYm9v
bCwgdXNlV2ViQXNzZW1ibHlSZWZlcmVuY2VzLCBmYWxzZSwgTm9ybWFsLCAiQWxsb3cgdHlwZXMg
ZnJvbSB0aGUgd2FzbSByZWZlcmVuY2VzIHNwZWMuIikgXAogICAgIHYoYm9vbCwgdXNlV2Vha1Jl
ZnMsIGZhbHNlLCBOb3JtYWwsICJFeHBvc2UgdGhlIFdlYWtSZWYgY29uc3RydWN0b3IuIikgXAog
ICAgIHYoYm9vbCwgdXNlQmlnSW50LCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCBl
bmFibGUgQmlnSW50IHN1cHBvcnQuIikgXAorICAgIHYoYm9vbCwgdXNlTnVsbGlzaENvYWxlc2Np
bmcsIGZhbHNlLCBOb3JtYWwsICJFbmFibGUgc3VwcG9ydCBmb3IgdGhlID8/IG9wZXJhdG9yLiIp
IFwKICAgICB2KGJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFs
LCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2Zp
bGluZy4gSWYgZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0g
dG8gYmUgdW5kZWNpZGVkLiIpIFwKICAgICB2KGJvb2wsIGZvcmNlUG9seVByb3RvLCBmYWxzZSwg
Tm9ybWFsLCAiSWYgdHJ1ZSwgY3JlYXRlX3RoaXMgd2lsbCBhbHdheXMgY3JlYXRlIGFuIG9iamVj
dCB3aXRoIGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuIikgXAogICAgIHYoYm9vbCwgZm9yY2VNaW5p
Vk1Nb2RlLCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgaXQgd2lsbCBmb3JjZSBtaW5pIFZNIG1v
ZGUgb24uIikgXApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDY4YTliYzVlZGRhZmM5NWQzZGMzYTM0MzE3YmJjZjNjNDgwYTU4YWIuLjk1YTVmM2Q2
N2Q0OThiNDAyNjkxMTExMGE2ZGZhYzZhNmNmNGU5M2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOS0wNy0yNCAg
Um9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CisKKyAgICAgICAgW0VTTmV4
dF0gSW1wbGVtZW50IG51bGxpc2ggY29hbGVzY2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzOgorCiAy
MDE5LTA3LTI0ICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KIAogICAgICAg
ICBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgd29uJ3QgcmVwb3J0IHRlc3QgcmVzdWx0cyBmb3Ig
dGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1
bi1qc2Mtc3RyZXNzLXRlc3RzCmluZGV4IDlkNzdmNTgyNzk4YzBmMDVkZmFhMjk5NGM2NWI1ZGIw
NzMzMGNkZjEuLjgzZGMwNjJhYjI4MjExNjFhOTMxYzJhYmU0M2RmNWY2NjlhODhkYTkgMTAwNzU1
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKKysrIGIvVG9vbHMvU2Ny
aXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwpAQCAtNjk5LDYgKzY5OSwxMCBAQCBkZWYgcnVuQmln
SW50RW5hYmxlZCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQogICAgIHJ1bigiYmlnLWlu
dC1lbmFibGVkIiwgIi0tdXNlQmlnSW50PXRydWUiICwgKihGVExfT1BUSU9OUyArIG9wdGlvbmFs
VGVzdFNwZWNpZmljT3B0aW9ucykpCiBlbmQKIAorZGVmIHJ1bk51bGxpc2hDb2FsZXNjaW5nRW5h
YmxlZCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQorICAgIHJ1bigibnVsbGlzaC1jb2Fs
ZXNjaW5nLWVuYWJsZWQiLCAiLS11c2VOdWxsaXNoQ29hbGVzY2luZz10cnVlIiAsICooRlRMX09Q
VElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQorZW5kCisKIGRlZiBydW5GVExO
b0NKSVQoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKICAgICBydW4oIm1pc2MtZnRsLW5v
LWNqaXQiLCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TICsgb3B0aW9uYWxUZXN0U3Bl
Y2lmaWNPcHRpb25zKSkKIGVuZApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rl
c3RzL0NoYW5nZUxvZwppbmRleCBmMGM2ZmVlMzJhMGFmNDllYWY4ZGZkOTllZjBmZjM0ZmRlZGQ1
MDE2Li44YjI2N2Q2NzVkMWVkYWI5NjJiNWU1OGE5NmM1OTQzZmU3NTA0ZWQwIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDE5LTA3LTI0ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4K
KworICAgICAgICBbRVNOZXh0XSBJbXBsZW1lbnQgbnVsbGlzaCBjb2FsZXNjaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDAwNzIKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHN0cmVzcy9udWxsaXNoLWNv
YWxlc2NpbmcuanM6IEFkZGVkLgorCiAyMDE5LTA3LTIzICBKdXN0aW4gTWljaGF1ZCAgPGp1c3Rp
bl9taWNoYXVkQGFwcGxlLmNvbT4KIAogICAgICAgICBTb21ldGltZXMgd2UgbWlzcyByZW1vdmFi
bGUgQ2hlY2tJbkJvdW5kcwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374864</attachid>
            <date>2019-07-24 21:11:09 -0700</date>
            <delta_ts>2019-07-25 00:50:52 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-200072-20190724211109.patch</filename>
            <type>text/plain</type>
            <size>19572</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3ODAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NjE3MDc3ODVjZjc5MDY2ZDNiZjRjNjQxZGNjZjI0YzNhMWQyYjM0Li42NjEwM2ZiOWE4ZjEwNWVm
MzIwZTU1ZTFlMzU2ZjE2YmM4ZmYxYjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAxOS0wNy0yNCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0VTTmV4dF0gSW1wbGVtZW50IG51bGxpc2ggY29hbGVzY2luZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDcyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSW1wbGVtZW50IHRo
ZSBudWxsaXNoIGNvYWxlc2NpbmcgcHJvcG9zYWwsIHdoaWNoIGhhcyBub3cgcmVhY2hlZCBTdGFn
ZSAzIGF0IFRDMzkuCisKKyAgICAgICAgVGhpcyBpbnRyb2R1Y2VzIGEgPz8gb3BlcmF0b3Igd2hp
Y2g6CisgICAgICAgICAgLSBhY3RzIGxpa2UgfHwgYnV0IGNoZWNrcyBmb3IgbnVsbGlzaG5lc3Mg
aW5zdGVhZCBvZiB0cnV0aGluZXNzCisgICAgICAgICAgLSBoYXMgYSBwcmVjZWRlbmNlIGxvd2Vy
IHRoYW4gfHwgKG9yIGFueSBvdGhlciBiaW5hcnkgb3BlcmF0b3IpCisgICAgICAgICAgLSBtdXN0
IGJlIGRpc2FtYmlndWF0ZWQgd2l0aCBwYXJlbnRoZXNlcyB3aGVuIGNvbWJpbmVkIHdpdGggfHwg
b3IgJiYKKworICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAgICAg
ICAoSlNDOjpDb2FsZXNjZU5vZGU6OmVtaXRCeXRlY29kZSk6IEFkZGVkLgorICAgICAgICBCeXRl
Y29kZSBtdXN0IHVzZSBPcElzVW5kZWZpbmVkT3JOdWxsIGFuZCBub3QgT3BOZXFOdWxsIGJlY2F1
c2Ugb2YgZG9jdW1lbnQuYWxsLgorCisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAg
ICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6bWFrZUJpbmFyeU5vZGUpOgorICAgICAgICAqIHBhcnNl
ci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXhXaXRob3V0Q2xlYXJpbmdM
aW5lVGVybWluYXRvcik6CisgICAgICAgICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAg
ICAgICAgKEpTQzo6Q29hbGVzY2VOb2RlOjpDb2FsZXNjZU5vZGUpOiBBZGRlZC4KKyAgICAgICAg
KiBwYXJzZXIvTm9kZXMuaDoKKyAgICAgICAgSW50cm9kdWNlIG5ldyB0b2tlbiBhbmQgQVNUIG5v
ZGUuCisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlQmluYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIEltcGxlbWVudCBl
YXJseSBlcnJvci4KKworICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAg
U2luY2UgdGhpcyBwYXRjaCBuZWVkcyB0byBzaGlmdCB0aGUgdmFsdWUgb2YgZXZlcnkgYmluYXJ5
IG9wZXJhdG9yIHRva2VuIGFueXdheSwKKyAgICAgICAgbGV0J3Mgb25seSBib3RoZXIgdG8gaW5j
cmVtZW50IHRoZWlyIExTQnMgd2hlbiB3ZSBhY3R1YWxseSBoYXZlIGEgcHJlY2VkZW5jZSBjb25m
bGljdC4KKworICAgICAgICAqIHBhcnNlci9SZXN1bHRUeXBlLmg6CisgICAgICAgIChKU0M6OlJl
c3VsdFR5cGU6OmRlZmluaXRlbHlJc051bGwgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6
UmVzdWx0VHlwZTo6bWlnaHRCZVVuZGVmaW5lZE9yTnVsbCBjb25zdCk6IEFkZGVkLgorICAgICAg
ICAoSlNDOjpSZXN1bHRUeXBlOjpmb3JDb2FsZXNjZSk6IEFkZGVkLgorICAgICAgICBXZSBjYW4g
ZG8gYmV0dGVyIHRoYW4gZm9yTG9naWNhbE9wIGhlcmU7IGxldCdzIGJlIGFzIGFjY3VyYXRlIGFz
IHBvc3NpYmxlLgorCisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisgICAgICAgIEFkZCBy
dW50aW1lIGZlYXR1cmUgZmxhZy4KKwogMjAxOS0wNy0yNCAgTWFyayBMYW0gIDxtYXJrLmxhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXgg
N2ZmN2I1ODlkZDBhMzMzODNjNjJiNzE4NWRiOTU4MjA2NWFjMjY3My4uN2NjMDc4YzNjMDIxNWM5
ZGY3OTBjODQ4YTMyZDEzYjgwOTBmMDhhMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMjMzOCw2ICsyMzM4LDIxIEBA
IHZvaWQgTG9naWNhbE9wTm9kZTo6ZW1pdEJ5dGVjb2RlSW5Db25kaXRpb25Db250ZXh0KEJ5dGVj
b2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsCiAgICAgZ2VuZXJhdG9yLmVtaXROb2RlSW5Db25kaXRp
b25Db250ZXh0KG1fZXhwcjIsIHRydWVUYXJnZXQsIGZhbHNlVGFyZ2V0LCBmYWxsVGhyb3VnaE1v
ZGUpOwogfQogCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ29hbGVzY2VOb2Rl
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworUmVnaXN0ZXJJRCogQ29hbGVzY2VOb2Rl
OjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCog
ZHN0KQoreworICAgIFJlZlB0cjxSZWdpc3RlcklEPiB0ZW1wID0gZ2VuZXJhdG9yLnRlbXBEZXN0
aW5hdGlvbihkc3QpOworICAgIFJlZjxMYWJlbD4gdGFyZ2V0ID0gZ2VuZXJhdG9yLm5ld0xhYmVs
KCk7CisKKyAgICBnZW5lcmF0b3IuZW1pdE5vZGUodGVtcC5nZXQoKSwgbV9leHByMSk7CisgICAg
Z2VuZXJhdG9yLmVtaXRKdW1wSWZGYWxzZShnZW5lcmF0b3IuZW1pdFVuYXJ5T3A8T3BJc1VuZGVm
aW5lZE9yTnVsbD4oZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpLCB0ZW1wLmdldCgpKSwgdGFyZ2V0
LmdldCgpKTsKKyAgICBnZW5lcmF0b3IuZW1pdE5vZGVJblRhaWxQb3NpdGlvbih0ZW1wLmdldCgp
LCBtX2V4cHIyKTsKKyAgICBnZW5lcmF0b3IuZW1pdExhYmVsKHRhcmdldC5nZXQoKSk7CisKKyAg
ICByZXR1cm4gZ2VuZXJhdG9yLm1vdmUoZHN0LCB0ZW1wLmdldCgpKTsKK30KKwogLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbmRpdGlvbmFsTm9kZSAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIAogUmVnaXN0ZXJJRCogQ29uZGl0aW9uYWxOb2RlOjplbWl0Qnl0ZWNv
ZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBkYzg3OGM1OGRhY2ZmMzE4
YjdkN2U1ZTZmMmFkNTcwNzY4YWZmNTZmLi5kZTViMTMzOTA2NjExMzQxMmFjYWVlZjJiZDc1ZTAz
MWEzMzNhMTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApA
QCAtMTM5Myw2ICsxMzkzLDkgQEAgRXhwcmVzc2lvbk5vZGUqIEFTVEJ1aWxkZXI6Om1ha2VGdW5j
dGlvbkNhbGxOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24KIEV4cHJlc3Npb25O
b2RlKiBBU1RCdWlsZGVyOjptYWtlQmluYXJ5Tm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBpbnQgdG9rZW4sIHN0ZDo6cGFpcjxFeHByZXNzaW9uTm9kZSosIEJpbmFyeU9wSW5m
bz4gbGhzLCBzdGQ6OnBhaXI8RXhwcmVzc2lvbk5vZGUqLCBCaW5hcnlPcEluZm8+IHJocykKIHsK
ICAgICBzd2l0Y2ggKHRva2VuKSB7CisgICAgY2FzZSBDT0FMRVNDRToKKyAgICAgICAgcmV0dXJu
IG5ldyAobV9wYXJzZXJBcmVuYSkgQ29hbGVzY2VOb2RlKGxvY2F0aW9uLCBsaHMuZmlyc3QsIHJo
cy5maXJzdCk7CisKICAgICBjYXNlIE9SOgogICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFy
ZW5hKSBMb2dpY2FsT3BOb2RlKGxvY2F0aW9uLCBsaHMuZmlyc3QsIHJocy5maXJzdCwgT3BMb2dp
Y2FsT3IpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVy
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDQ2NjJj
NTRmMmEwNTM2NDYyYWU3MmUwZGQ3NzMwMWUwY2VlOTlkNDQuLjE2YmZhOGEyNDdiM2YwYmI0NjVh
NTc2M2Q4NzVmMjZlMTRhYzI2ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
Y3BwCkBAIC0yMTUzLDggKzIxNTMsMTMgQEAgc3RhcnQ6CiAgICAgICAgIHNoaWZ0KCk7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgQ2hhcmFjdGVyUXVlc3Rpb246Ci0gICAgICAgIHRva2VuID0g
UVVFU1RJT047CiAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgIGlmIChPcHRpb25zOjp1c2VOdWxs
aXNoQ29hbGVzY2luZygpICYmIG1fY3VycmVudCA9PSAnPycpIHsKKyAgICAgICAgICAgIHNoaWZ0
KCk7CisgICAgICAgICAgICB0b2tlbiA9IENPQUxFU0NFOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICAgICAgdG9rZW4gPSBRVUVTVElPTjsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBDaGFyYWN0ZXJUaWxkZToKICAgICAgICAgdG9rZW4gPSBUSUxERTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggYTJiOGM1ZjBm
YzkwNDkxYzA1ODE0Yzk5NzIwNzAwMDFhNmE4ZWRjYy4uZDQxZTNhZWQ4ZTQ1ZjdhOGUyZmQzMWMy
NDQ3N2RlY2NiOGQ1NjQwZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2RlQ29uc3RydWN0b3JzLmgKQEAgLTY2OSw2ICs2NjksMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgewogICAgIH0KIAorICAgIGlubGluZSBDb2FsZXNjZU5vZGU6OkNvYWxlc2NlTm9kZShjb25z
dCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogZXhwcjEsIEV4cHJl
c3Npb25Ob2RlKiBleHByMikKKyAgICAgICAgOiBFeHByZXNzaW9uTm9kZShsb2NhdGlvbiwgUmVz
dWx0VHlwZTo6Zm9yQ29hbGVzY2UoZXhwcjEtPnJlc3VsdERlc2NyaXB0b3IoKSwgZXhwcjItPnJl
c3VsdERlc2NyaXB0b3IoKSkpCisgICAgICAgICwgbV9leHByMShleHByMSkKKyAgICAgICAgLCBt
X2V4cHIyKGV4cHIyKQorICAgIHsKKyAgICB9CisKICAgICBpbmxpbmUgQ29uZGl0aW9uYWxOb2Rl
OjpDb25kaXRpb25hbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVz
c2lvbk5vZGUqIGxvZ2ljYWwsIEV4cHJlc3Npb25Ob2RlKiBleHByMSwgRXhwcmVzc2lvbk5vZGUq
IGV4cHIyKQogICAgICAgICA6IEV4cHJlc3Npb25Ob2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1f
bG9naWNhbChsb2dpY2FsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDYw
YmE1ZWVhMmQ1MDlhNDM4ODQ4ZmQ4ZDlmYzJmMzI0ZTgxMjk2N2MuLjg2ZmRhZjNkMDRmZDBkOGY3
ZjQ4N2QxNzczNzdlMmEzN2U5NWE3ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVz
LmgKQEAgLTEzMDUsNiArMTMwNSwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRXhwcmVz
c2lvbk5vZGUqIG1fZXhwcjI7CiAgICAgfTsKIAorICAgIGNsYXNzIENvYWxlc2NlTm9kZSBmaW5h
bCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7CisgICAgcHVibGljOgorICAgICAgICBDb2FsZXNj
ZU5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvbk5vZGUqIGV4cHIxLCBFeHBy
ZXNzaW9uTm9kZSogZXhwcjIpOworCisgICAgcHJpdmF0ZToKKyAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBvdmVycmlk
ZTsKKworICAgICAgICBFeHByZXNzaW9uTm9kZSogbV9leHByMTsKKyAgICAgICAgRXhwcmVzc2lv
bk5vZGUqIG1fZXhwcjI7CisgICAgfTsKKwogICAgIC8vIFRoZSB0ZXJuYXJ5IG9wZXJhdG9yLCAi
bV9sb2dpY2FsID8gbV9leHByMSA6IG1fZXhwcjIiCiAgICAgY2xhc3MgQ29uZGl0aW9uYWxOb2Rl
IGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggNTAyYWJmODEyMmVjYTRiZWQ1YTVmZjg1
YzY0ODM0ODQyZjU5N2IxYS4uZTI1NGRjOTA4NDI3NGRlN2Q1MzdiOWRhMjY5MjY5MmIyMzg5Y2Yw
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMzg4MywxNCAr
Mzg4MywyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUJpbmFyeUV4cHJlcwogICAgIGludCBvcGVyYXRvclN0YWNr
RGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpCaW5hcnlFeHByQ29udGV4dCBi
aW5hcnlFeHByQ29udGV4dChjb250ZXh0KTsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24o
dG9rZW5Mb2NhdGlvbigpKTsKKyAgICBib29sIGhhc0xvZ2ljYWxPcGVyYXRvciA9IGZhbHNlOwor
ICAgIGJvb2wgaGFzQ29hbGVzY2VPcGVyYXRvciA9IGZhbHNlOworCiAgICAgd2hpbGUgKHRydWUp
IHsKICAgICAgICAgSlNUZXh0UG9zaXRpb24gZXhwclN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9u
KCk7CiAgICAgICAgIGludCBpbml0aWFsQXNzaWdubWVudHMgPSBtX3BhcnNlclN0YXRlLmFzc2ln
bm1lbnRDb3VudDsKICAgICAgICAgSlNUb2tlblR5cGUgbGVhZGluZ1Rva2VuVHlwZUZvclVuYXJ5
RXhwcmVzc2lvbiA9IG1fdG9rZW4ubV90eXBlOwogICAgICAgICBUcmVlRXhwcmVzc2lvbiBjdXJy
ZW50ID0gcGFyc2VVbmFyeUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgICAgIGZhaWxJZkZhbHNl
KGN1cnJlbnQsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwotICAgICAgICAKKwogICAgICAg
ICBjb250ZXh0LmFwcGVuZEJpbmFyeUV4cHJlc3Npb25JbmZvKG9wZXJhbmRTdGFja0RlcHRoLCBj
dXJyZW50LCBleHByU3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCksIGxhc3RUb2tlbkVuZFBv
c2l0aW9uKCksIGluaXRpYWxBc3NpZ25tZW50cyAhPSBtX3BhcnNlclN0YXRlLmFzc2lnbm1lbnRD
b3VudCk7CisgICAgICAgIGludCBwcmVjZWRlbmNlID0gaXNCaW5hcnlPcGVyYXRvcihtX3Rva2Vu
Lm1fdHlwZSk7CisgICAgICAgIGlmICghcHJlY2VkZW5jZSkKKyAgICAgICAgICAgIGJyZWFrOwog
CiAgICAgICAgIC8vIDEyLjYgaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtZXhw
LW9wZXJhdG9yCiAgICAgICAgIC8vIEV4cG9uZW50aWF0aW9uRXhwcmVzaW9uIGlzIGRlc2NyaWJl
ZCBhcyBmb2xsb3dzLgpAQCAtMzkxNSw5ICszOTIxLDE0IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmluYXJ5RXhw
cmVzCiAgICAgICAgIC8vIEJ1dCBpdCdzIE9LIGZvciAqKiBiZWNhdXNlIHRoZSBvcGVyYXRvciAi
KioiIGhhcyB0aGUgaGlnaGVzdCBvcGVyYXRvciBwcmVjZWRlbmNlIGluIHRoZSBiaW5hcnkgb3Bl
cmF0b3JzLgogICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKFBPVykgJiYgaXNVbmFyeU9wRXhjbHVk
aW5nVXBkYXRlT3AobGVhZGluZ1Rva2VuVHlwZUZvclVuYXJ5RXhwcmVzc2lvbiksICJBbWJpZ3Vv
dXMgdW5hcnkgZXhwcmVzc2lvbiBpbiB0aGUgbGVmdCBoYW5kIHNpZGUgb2YgdGhlIGV4cG9uZW50
aWF0aW9uIGV4cHJlc3Npb247IHBhcmVudGhlc2VzIG11c3QgYmUgdXNlZCB0byBkaXNhbWJpZ3Vh
dGUgdGhlIGV4cHJlc3Npb24iKTsKIAotICAgICAgICBpbnQgcHJlY2VkZW5jZSA9IGlzQmluYXJ5
T3BlcmF0b3IobV90b2tlbi5tX3R5cGUpOwotICAgICAgICBpZiAoIXByZWNlZGVuY2UpCi0gICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgLy8gTWl4aW5nID8/IHdpdGggfHwgb3IgJiYgaXMgY3Vy
cmVudGx5IHNwZWNpZmllZCBhcyBhbiBlYXJseSBlcnJvci4KKyAgICAgICAgLy8gU2luY2UgPz8g
aXMgdGhlIGxvd2VzdC1wcmVjZWRlbmNlIGJpbmFyeSBvcGVyYXRvciwgaXQgc3VmZmljZXMgdG8g
Y2hlY2sgd2hldGhlciB0aGVzZSBldmVyIGNvZXhpc3QgaW4gdGhlIG9wZXJhdG9yIHN0YWNrLgor
ICAgICAgICBpZiAobWF0Y2goQU5EKSB8fCBtYXRjaChPUikpCisgICAgICAgICAgICBoYXNMb2dp
Y2FsT3BlcmF0b3IgPSB0cnVlOworICAgICAgICBlbHNlIGlmIChtYXRjaChDT0FMRVNDRSkpCisg
ICAgICAgICAgICBoYXNDb2FsZXNjZU9wZXJhdG9yID0gdHJ1ZTsKKyAgICAgICAgZmFpbElmVHJ1
ZShoYXNMb2dpY2FsT3BlcmF0b3IgJiYgaGFzQ29hbGVzY2VPcGVyYXRvciwgIkNvYWxlc2Npbmcg
YW5kIGxvZ2ljYWwgb3BlcmF0b3JzIHVzZWQgdG9nZXRoZXIgaW4gdGhlIHNhbWUgZXhwcmVzc2lv
bjsgcGFyZW50aGVzZXMgbXVzdCBiZSB1c2VkIHRvIGRpc2FtYmlndWF0ZSIpOworCiAgICAgICAg
IG1fcGFyc2VyU3RhdGUubm9uVHJpdmlhbEV4cHJlc3Npb25Db3VudCsrOwogICAgICAgICBtX3Bh
cnNlclN0YXRlLm5vbkxIU0NvdW50Kys7CiAgICAgICAgIGludCBvcGVyYXRvclRva2VuID0gbV90
b2tlbi5tX3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMu
aAppbmRleCBjZmVlMzM3OThjMjRkODc4M2JkOTljNDhlMWM4NzIwODg3M2I1YzljLi4xNWNhNWVh
ZjI4ZTc1OTJmNDNmM2RjZTQxZThlNDFlNjFhOWU4MTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTE0OCwzMCArMTQ4LDMxIEBAIGVudW0gSlNU
b2tlblR5cGUgewogICAgIFRZUEVPRiA9IDYgfCBVbmFyeU9wVG9rZW5GbGFnIHwgS2V5d29yZFRv
a2VuRmxhZywKICAgICBWT0lEVE9LRU4gPSA3IHwgVW5hcnlPcFRva2VuRmxhZyB8IEtleXdvcmRU
b2tlbkZsYWcsCiAgICAgREVMRVRFVE9LRU4gPSA4IHwgVW5hcnlPcFRva2VuRmxhZyB8IEtleXdv
cmRUb2tlbkZsYWcsCi0gICAgT1IgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMSksCi0gICAg
QU5EID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDIpLAotICAgIEJJVE9SID0gMiB8IEJJTkFS
WV9PUF9QUkVDRURFTkNFKDMpLAotICAgIEJJVFhPUiA9IDMgfCBCSU5BUllfT1BfUFJFQ0VERU5D
RSg0KSwKLSAgICBCSVRBTkQgPSA0IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNSksCi0gICAgRVFF
USA9IDUgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwKLSAgICBORSA9IDYgfCBCSU5BUllfT1Bf
UFJFQ0VERU5DRSg2KSwKLSAgICBTVFJFUSA9IDcgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg2KSwK
LSAgICBTVFJORVEgPSA4IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNiksCi0gICAgTFQgPSA5IHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoNyksCi0gICAgR1QgPSAxMCB8IEJJTkFSWV9PUF9QUkVDRURF
TkNFKDcpLAotICAgIExFID0gMTEgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKLSAgICBHRSA9
IDEyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoNyksCi0gICAgSU5TVEFOQ0VPRiA9IDEzIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoNykgfCBLZXl3b3JkVG9rZW5GbGFnLAotICAgIElOVE9LRU4gPSAx
NCB8IElOX09QX1BSRUNFREVOQ0UoNykgfCBLZXl3b3JkVG9rZW5GbGFnLAotICAgIExTSElGVCA9
IDE1IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCi0gICAgUlNISUZUID0gMTYgfCBCSU5BUllf
T1BfUFJFQ0VERU5DRSg4KSwKLSAgICBVUlNISUZUID0gMTcgfCBCSU5BUllfT1BfUFJFQ0VERU5D
RSg4KSwKLSAgICBQTFVTID0gMTggfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg5KSB8IFVuYXJ5T3BU
b2tlbkZsYWcsCi0gICAgTUlOVVMgPSAxOSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDkpIHwgVW5h
cnlPcFRva2VuRmxhZywKLSAgICBUSU1FUyA9IDIwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTAp
LAotICAgIERJVklERSA9IDIxIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAotICAgIE1PRCA9
IDIyIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTApLAotICAgIFBPVyA9IDIzIHwgQklOQVJZX09Q
X1BSRUNFREVOQ0UoMTEpIHwgUmlnaHRBc3NvY2lhdGl2ZUJpbmFyeU9wVG9rZW5GbGFnLCAvLyBN
YWtlIHN1cmUgdGhhdCBQT1cgaGFzIHRoZSBoaWdoZXN0IG9wZXJhdG9yIHByZWNlZGVuY2UuCisg
ICAgQ09BTEVTQ0UgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMSksCisgICAgT1IgPSAwIHwg
QklOQVJZX09QX1BSRUNFREVOQ0UoMiksCisgICAgQU5EID0gMCB8IEJJTkFSWV9PUF9QUkVDRURF
TkNFKDMpLAorICAgIEJJVE9SID0gMCB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDQpLAorICAgIEJJ
VFhPUiA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg1KSwKKyAgICBCSVRBTkQgPSAwIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoNiksCisgICAgRVFFUSA9IDAgfCBCSU5BUllfT1BfUFJFQ0VERU5D
RSg3KSwKKyAgICBORSA9IDEgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAgICBTVFJFUSA9
IDIgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg3KSwKKyAgICBTVFJORVEgPSAzIHwgQklOQVJZX09Q
X1BSRUNFREVOQ0UoNyksCisgICAgTFQgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisg
ICAgR1QgPSAxIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCksCisgICAgTEUgPSAyIHwgQklOQVJZ
X09QX1BSRUNFREVOQ0UoOCksCisgICAgR0UgPSAzIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOCks
CisgICAgSU5TVEFOQ0VPRiA9IDQgfCBCSU5BUllfT1BfUFJFQ0VERU5DRSg4KSB8IEtleXdvcmRU
b2tlbkZsYWcsCisgICAgSU5UT0tFTiA9IDUgfCBJTl9PUF9QUkVDRURFTkNFKDgpIHwgS2V5d29y
ZFRva2VuRmxhZywKKyAgICBMU0hJRlQgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOSksCisg
ICAgUlNISUZUID0gMSB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDkpLAorICAgIFVSU0hJRlQgPSAy
IHwgQklOQVJZX09QX1BSRUNFREVOQ0UoOSksCisgICAgUExVUyA9IDAgfCBCSU5BUllfT1BfUFJF
Q0VERU5DRSgxMCkgfCBVbmFyeU9wVG9rZW5GbGFnLAorICAgIE1JTlVTID0gMSB8IEJJTkFSWV9P
UF9QUkVDRURFTkNFKDEwKSB8IFVuYXJ5T3BUb2tlbkZsYWcsCisgICAgVElNRVMgPSAwIHwgQklO
QVJZX09QX1BSRUNFREVOQ0UoMTEpLAorICAgIERJVklERSA9IDEgfCBCSU5BUllfT1BfUFJFQ0VE
RU5DRSgxMSksCisgICAgTU9EID0gMiB8IEJJTkFSWV9PUF9QUkVDRURFTkNFKDExKSwKKyAgICBQ
T1cgPSAwIHwgQklOQVJZX09QX1BSRUNFREVOQ0UoMTIpIHwgUmlnaHRBc3NvY2lhdGl2ZUJpbmFy
eU9wVG9rZW5GbGFnLCAvLyBNYWtlIHN1cmUgdGhhdCBQT1cgaGFzIHRoZSBoaWdoZXN0IG9wZXJh
dG9yIHByZWNlZGVuY2UuCiAgICAgRVJST1JUT0sgPSAwIHwgRXJyb3JUb2tlbkZsYWcsCiAgICAg
VU5URVJNSU5BVEVEX0lERU5USUZJRVJfRVNDQVBFX0VSUk9SVE9LID0gMCB8IEVycm9yVG9rZW5G
bGFnIHwgVW50ZXJtaW5hdGVkRXJyb3JUb2tlbkZsYWcsCiAgICAgSU5WQUxJRF9JREVOVElGSUVS
X0VTQ0FQRV9FUlJPUlRPSyA9IDEgfCBFcnJvclRva2VuRmxhZywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUmVzdWx0VHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKaW5kZXggY2NlMGY2ZDYwMDFlM2MyYzMxZDllY2E4ZTE0
ZjlmOGQ0M2VhNTlmMS4uZjVmYWRkZTZmNjYyNGU3NjBmNDljNWVhY2NmMTQ5NjAwNDQwZTAxMSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9SZXN1bHRUeXBlLmgKQEAgLTc2LDYgKzc2
LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIChtX2JpdHMgJiBUeXBl
Qml0cykgPT0gVHlwZU1heWJlQmlnSW50OwogICAgICAgICB9CiAKKyAgICAgICAgY29uc3RleHBy
IGJvb2wgZGVmaW5pdGVseUlzTnVsbCgpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJl
dHVybiAobV9iaXRzICYgVHlwZUJpdHMpID09IFR5cGVNYXliZU51bGw7CisgICAgICAgIH0KKwor
ICAgICAgICBjb25zdGV4cHIgYm9vbCBtaWdodEJlVW5kZWZpbmVkT3JOdWxsKCkgY29uc3QKKyAg
ICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG1fYml0cyAmIChUeXBlTWF5YmVOdWxsIHwgVHlw
ZU1heWJlT3RoZXIpOworICAgICAgICB9CisKICAgICAgICAgY29uc3RleHByIGJvb2wgbWlnaHRC
ZU51bWJlcigpIGNvbnN0CiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBtX2JpdHMgJiBU
eXBlTWF5YmVOdW1iZXI7CkBAIC0xNzIsNiArMTgyLDE1IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICAgICAgcmV0dXJuIHVua25vd25UeXBlKCk7CiAgICAgICAgIH0KIAorICAgICAgICBzdGF0
aWMgY29uc3RleHByIFJlc3VsdFR5cGUgZm9yQ29hbGVzY2UoUmVzdWx0VHlwZSBvcDEsIFJlc3Vs
dFR5cGUgb3AyKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAob3AxLmRlZmluaXRlbHlJc051
bGwoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gb3AyOworICAgICAgICAgICAgaWYgKCFvcDEu
bWlnaHRCZVVuZGVmaW5lZE9yTnVsbCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBvcDE7Cisg
ICAgICAgICAgICByZXR1cm4gdW5rbm93blR5cGUoKTsKKyAgICAgICAgfQorCiAgICAgICAgIHN0
YXRpYyBjb25zdGV4cHIgUmVzdWx0VHlwZSBmb3JCaXRPcCgpCiAgICAgICAgIHsKICAgICAgICAg
ICAgIHJldHVybiBiaWdJbnRPckludDMyVHlwZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3B0aW9ucy5oCmluZGV4IGNhOGZhMDFmMjlmZjhhY2VmOWMxZDY0YWQxOTY0ZDQzZDEzYjk5
ZGEuLmY1ZmUwODg1ZDdmZDBjNDg5NWJmYmIyYzdjM2U5MjcxYjBhZjFmNmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKQEAgLTQ5NCw2ICs0OTQsNyBAQCBjb25zdGV4
cHIgYm9vbCBlbmFibGVXZWJBc3NlbWJseVN0cmVhbWluZ0FwaSA9IGZhbHNlOwogICAgIHYoYm9v
bCwgdXNlV2ViQXNzZW1ibHlSZWZlcmVuY2VzLCBmYWxzZSwgTm9ybWFsLCAiQWxsb3cgdHlwZXMg
ZnJvbSB0aGUgd2FzbSByZWZlcmVuY2VzIHNwZWMuIikgXAogICAgIHYoYm9vbCwgdXNlV2Vha1Jl
ZnMsIGZhbHNlLCBOb3JtYWwsICJFeHBvc2UgdGhlIFdlYWtSZWYgY29uc3RydWN0b3IuIikgXAog
ICAgIHYoYm9vbCwgdXNlQmlnSW50LCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCBl
bmFibGUgQmlnSW50IHN1cHBvcnQuIikgXAorICAgIHYoYm9vbCwgdXNlTnVsbGlzaENvYWxlc2Np
bmcsIGZhbHNlLCBOb3JtYWwsICJFbmFibGUgc3VwcG9ydCBmb3IgdGhlID8/IG9wZXJhdG9yLiIp
IFwKICAgICB2KGJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFs
LCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2Zp
bGluZy4gSWYgZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0g
dG8gYmUgdW5kZWNpZGVkLiIpIFwKICAgICB2KGJvb2wsIGZvcmNlUG9seVByb3RvLCBmYWxzZSwg
Tm9ybWFsLCAiSWYgdHJ1ZSwgY3JlYXRlX3RoaXMgd2lsbCBhbHdheXMgY3JlYXRlIGFuIG9iamVj
dCB3aXRoIGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuIikgXAogICAgIHYoYm9vbCwgZm9yY2VNaW5p
Vk1Nb2RlLCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgaXQgd2lsbCBmb3JjZSBtaW5pIFZNIG1v
ZGUgb24uIikgXApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDY4YTliYzVlZGRhZmM5NWQzZGMzYTM0MzE3YmJjZjNjNDgwYTU4YWIuLjk1YTVmM2Q2
N2Q0OThiNDAyNjkxMTExMGE2ZGZhYzZhNmNmNGU5M2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOS0wNy0yNCAg
Um9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CisKKyAgICAgICAgW0VTTmV4
dF0gSW1wbGVtZW50IG51bGxpc2ggY29hbGVzY2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzOgorCiAy
MDE5LTA3LTI0ICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KIAogICAgICAg
ICBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgd29uJ3QgcmVwb3J0IHRlc3QgcmVzdWx0cyBmb3Ig
dGVzdG1hc20sIHRlc3RhaXIsIHRlc3RiMywgdGVzdGRmZyBhbmQgdGVzdCBhcGkKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1
bi1qc2Mtc3RyZXNzLXRlc3RzCmluZGV4IDlkNzdmNTgyNzk4YzBmMDVkZmFhMjk5NGM2NWI1ZGIw
NzMzMGNkZjEuLjgzZGMwNjJhYjI4MjExNjFhOTMxYzJhYmU0M2RmNWY2NjlhODhkYTkgMTAwNzU1
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKKysrIGIvVG9vbHMvU2Ny
aXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwpAQCAtNjk5LDYgKzY5OSwxMCBAQCBkZWYgcnVuQmln
SW50RW5hYmxlZCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQogICAgIHJ1bigiYmlnLWlu
dC1lbmFibGVkIiwgIi0tdXNlQmlnSW50PXRydWUiICwgKihGVExfT1BUSU9OUyArIG9wdGlvbmFs
VGVzdFNwZWNpZmljT3B0aW9ucykpCiBlbmQKIAorZGVmIHJ1bk51bGxpc2hDb2FsZXNjaW5nRW5h
YmxlZCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQorICAgIHJ1bigibnVsbGlzaC1jb2Fs
ZXNjaW5nLWVuYWJsZWQiLCAiLS11c2VOdWxsaXNoQ29hbGVzY2luZz10cnVlIiAsICooRlRMX09Q
VElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQorZW5kCisKIGRlZiBydW5GVExO
b0NKSVQoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKICAgICBydW4oIm1pc2MtZnRsLW5v
LWNqaXQiLCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TICsgb3B0aW9uYWxUZXN0U3Bl
Y2lmaWNPcHRpb25zKSkKIGVuZApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rl
c3RzL0NoYW5nZUxvZwppbmRleCBmMGM2ZmVlMzJhMGFmNDllYWY4ZGZkOTllZjBmZjM0ZmRlZGQ1
MDE2Li44YjI2N2Q2NzVkMWVkYWI5NjJiNWU1OGE5NmM1OTQzZmU3NTA0ZWQwIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDE5LTA3LTI0ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4K
KworICAgICAgICBbRVNOZXh0XSBJbXBsZW1lbnQgbnVsbGlzaCBjb2FsZXNjaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDAwNzIKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHN0cmVzcy9udWxsaXNoLWNv
YWxlc2NpbmcuanM6IEFkZGVkLgorCiAyMDE5LTA3LTIzICBKdXN0aW4gTWljaGF1ZCAgPGp1c3Rp
bl9taWNoYXVkQGFwcGxlLmNvbT4KIAogICAgICAgICBTb21ldGltZXMgd2UgbWlzcyByZW1vdmFi
bGUgQ2hlY2tJbkJvdW5kcwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvbnVsbGlzaC1jb2Fs
ZXNjaW5nLmpzIGIvSlNUZXN0cy9zdHJlc3MvbnVsbGlzaC1jb2FsZXNjaW5nLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU5NThmMTI3M2FiMTY0NzEzMGE2ZWQ2ZTFiODZlNWUxZjQ0YTdjNGUKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3N0cmVzcy9udWxsaXNoLWNvYWxlc2NpbmcuanMKQEAgLTAsMCArMSw4
NSBAQAorLy9AIHJ1bk51bGxpc2hDb2FsZXNjaW5nRW5hYmxlZAorCitmdW5jdGlvbiBzaG91bGRC
ZShhY3R1YWwsIGV4cGVjdGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisgICAg
ICAgIHRocm93IG5ldyBFcnJvcihgZXhwZWN0ZWQgJHtleHBlY3RlZH0gYnV0IGdvdCAke2FjdHVh
bH1gKTsKK30KKworZnVuY3Rpb24gc2hvdWxkTm90VGhyb3coc2NyaXB0KSB7CisgICAgZXZhbChz
Y3JpcHQpOworfQorCitmdW5jdGlvbiBzaG91bGRUaHJvd1N5bnRheEVycm9yKHNjcmlwdCkgewor
ICAgIGxldCBlcnJvcjsKKyAgICB0cnkgeworICAgICAgICBldmFsKHNjcmlwdCk7CisgICAgfSBj
YXRjaCAoZSkgeworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorCisgICAgaWYgKCEoZXJyb3Ig
aW5zdGFuY2VvZiBTeW50YXhFcnJvcikpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0
ZWQgU3ludGF4RXJyb3IhJyk7Cit9CisKK3Nob3VsZEJlKHVuZGVmaW5lZCA/PyAzLCAzKTsKK3No
b3VsZEJlKG51bGwgPz8gMywgMyk7CitzaG91bGRCZSh0cnVlID8/IDMsIHRydWUpOworc2hvdWxk
QmUoZmFsc2UgPz8gMywgZmFsc2UpOworc2hvdWxkQmUoMCA/PyAzLCAwKTsKK3Nob3VsZEJlKDEg
Pz8gMywgMSk7CitzaG91bGRCZSgnJyA/PyAzLCAnJyk7CitzaG91bGRCZSgnaGknID8/IDMsICdo
aScpOworc2hvdWxkQmUoKHt9ID8/IDMpIGluc3RhbmNlb2YgT2JqZWN0LCB0cnVlKTsKK3Nob3Vs
ZEJlKCh7IHg6ICdoaScgfSA/PyAzKS54LCAnaGknKTsKK3Nob3VsZEJlKChbXSA/PyAzKSBpbnN0
YW5jZW9mIEFycmF5LCB0cnVlKTsKK3Nob3VsZEJlKChbJ2hpJ10gPz8gMylbMF0sICdoaScpOwor
c2hvdWxkQmUoKG1ha2VNYXNxdWVyYWRlcigpID8/IDMpID09IG51bGwsIHRydWUpOworCitzaG91
bGRCZSgxIHwgbnVsbCA/PyAzLCAxKTsKK3Nob3VsZEJlKDEgXiBudWxsID8/IDMsIDEpOworc2hv
dWxkQmUoMSAmIG51bGwgPz8gMywgMCk7CitzaG91bGRCZSgzID09IG51bGwgPz8gMywgZmFsc2Up
Oworc2hvdWxkQmUoMyAhPSBudWxsID8/IDMsIHRydWUpOworc2hvdWxkQmUoMyA9PT0gbnVsbCA/
PyAzLCBmYWxzZSk7CitzaG91bGRCZSgzICE9PSBudWxsID8/IDMsIHRydWUpOworc2hvdWxkQmUo
MSA8IG51bGwgPz8gMywgZmFsc2UpOworc2hvdWxkQmUoMSA+IG51bGwgPz8gMywgdHJ1ZSk7Citz
aG91bGRCZSgxIDw9IG51bGwgPz8gMywgZmFsc2UpOworc2hvdWxkQmUoMSA+PSBudWxsID8/IDMs
IHRydWUpOworc2hvdWxkQmUoMSA8PCBudWxsID8/IDMsIDEpOworc2hvdWxkQmUoMSA+PiBudWxs
ID8/IDMsIDEpOworc2hvdWxkQmUoMSA+Pj4gbnVsbCA/PyAzLCAxKTsKK3Nob3VsZEJlKDEgKyBu
dWxsID8/IDMsIDEpOworc2hvdWxkQmUoMSAtIG51bGwgPz8gMywgMSk7CitzaG91bGRCZSgxICog
bnVsbCA/PyAzLCAwKTsKK3Nob3VsZEJlKDEgLyBudWxsID8/IDMsIEluZmluaXR5KTsKK3Nob3Vs
ZEJlKGlzTmFOKDEgJSBudWxsID8/IDMpLCB0cnVlKTsKK3Nob3VsZEJlKDEgKiogbnVsbCA/PyAz
LCAxKTsKKworY29uc3Qgb2JqID0geworICAgIGNvdW50OiAwLAorICAgIGdldCB4KCkgeyB0aGlz
LmNvdW50Kys7IHJldHVybiAneCc7IH0KK307CitmYWxzZSA/PyBvYmoueDsKK3Nob3VsZEJlKG9i
ai5jb3VudCwgMCk7CitudWxsID8/IG9iai54Oworc2hvdWxkQmUob2JqLmNvdW50LCAxKTsKK29i
ai54ID8/IG9iai54Oworc2hvdWxkQmUob2JqLmNvdW50LCAyKTsKKworc2hvdWxkVGhyb3dTeW50
YXhFcnJvcignMCB8fCAxID8/IDInKTsKK3Nob3VsZFRocm93U3ludGF4RXJyb3IoJzAgJiYgMSA/
PyAyJyk7CitzaG91bGRUaHJvd1N5bnRheEVycm9yKCcwID8/IDEgfHwgMicpOworc2hvdWxkVGhy
b3dTeW50YXhFcnJvcignMCA/PyAxICYmIDInKTsKK3Nob3VsZE5vdFRocm93KCcoMCB8fCAxKSA/
PyAyJyk7CitzaG91bGROb3RUaHJvdygnMCB8fCAoMSA/PyAyKScpOworc2hvdWxkTm90VGhyb3co
JygwICYmIDEpID8/IDInKTsKK3Nob3VsZE5vdFRocm93KCcwICYmICgxID8/IDIpJyk7CitzaG91
bGROb3RUaHJvdygnKDAgPz8gMSkgfHwgMicpOworc2hvdWxkTm90VGhyb3coJzAgPz8gKDEgfHwg
MiknKTsKK3Nob3VsZE5vdFRocm93KCcoMCA/PyAxKSAmJiAyJyk7CitzaG91bGROb3RUaHJvdygn
MCA/PyAoMSAmJiAyKScpOworCitzaG91bGROb3RUaHJvdygnMCB8fCAxICYmIDIgfCAzIF4gNCAm
IDUgPT0gNiAhPSA3ID09PSA4ICE9PSA5IDwgMCA+IDEgPD0gMiA+PSAzIDw8IDQgPj4gNSA+Pj4g
NiArIDcgLSA4ICogOSAvIDAgJSAxICoqIDInKTsKK3Nob3VsZFRocm93U3ludGF4RXJyb3IoJzAg
fHwgMSAmJiAyIHwgMyBeIDQgJiA1ID09IDYgIT0gNyA9PT0gOCAhPT0gOSA8IDAgPiAxIDw9IDIg
Pj0gMyA8PCA0ID4+IDUgPj4+IDYgKyA3IC0gOCAqIDkgLyAwICUgMSAqKiAyID8/IDMnKTsKK3No
b3VsZFRocm93U3ludGF4RXJyb3IoJzMgPz8gMiAqKiAxICUgMCAvIDkgKiA4IC0gNyArIDYgPj4+
IDUgPj4gNCA8PCAzID49IDIgPD0gMSA+IDAgPCA5ICE9PSA4ID09PSA3ICE9IDYgPT0gNSAmIDQg
XiAzIHwgMiAmJiAxIHx8IDAnKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>