<?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>195804</bug_id>
          
          <creation_ts>2019-03-15 09:55:13 -0700</creation_ts>
          <short_desc>Compute quota after network process restart based on default quota and space used</short_desc>
          <delta_ts>2019-03-20 21:41:23 -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>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>195707</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1517003</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-03-15 09:55:13 -0700</bug_when>
    <thetext>Compute quota after network process restart based on default quota and space used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517023</commentid>
    <comment_count>1</comment_count>
      <attachid>364815</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-03-15 11:14:40 -0700</bug_when>
    <thetext>Created attachment 364815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517084</commentid>
    <comment_count>2</comment_count>
      <attachid>364825</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-03-15 13:10:45 -0700</bug_when>
    <thetext>Created attachment 364825
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517425</commentid>
    <comment_count>3</comment_count>
      <attachid>364825</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-16 08:36:11 -0700</bug_when>
    <thetext>Comment on attachment 364825
Patch

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

&gt; Source/WebCore/storage/StorageQuotaManager.cpp:71
&gt; +        initializeQuotaAccordingSpaceUsage();

Not a great name. AccordingTo at least to be correct although I wish the name was shorter.

&gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp:-60
&gt; -    quotaManager.addUser(*this);

Why this change? I thought it looked in the constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517428</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-03-16 09:07:00 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; Comment on attachment 364825 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=364825&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/storage/StorageQuotaManager.cpp:71
&gt; &gt; +        initializeQuotaAccordingSpaceUsage();
&gt; 
&gt; Not a great name. AccordingTo at least to be correct although I wish the
&gt; name was shorter.

OK.

&gt; &gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp:-60
&gt; &gt; -    quotaManager.addUser(*this);
&gt; 
&gt; Why this change? I thought it looked in the constructor.

When added as a quota user, whenInitialized will be called.
This will trigger a call to initialize which will try to ref &apos;this&apos;.
This must be done once &apos;this&apos; is adopted.

I think a follow-up patch will try to delay initialization to the first call of requestSpace with a task size greater than zero.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518962</commentid>
    <comment_count>5</comment_count>
      <attachid>365353</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-03-20 10:19:02 -0700</bug_when>
    <thetext>Created attachment 365353
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519370</commentid>
    <comment_count>6</comment_count>
      <attachid>365451</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-03-20 17:57:01 -0700</bug_when>
    <thetext>Created attachment 365451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519410</commentid>
    <comment_count>7</comment_count>
      <attachid>365451</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-20 19:48:25 -0700</bug_when>
    <thetext>Comment on attachment 365451
Patch

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

&gt; Source/WebCore/storage/StorageQuotaManager.cpp:47
&gt; +void StorageQuotaManager::setQuotaBasedOnSpaceUsage()

maybe updateQuotaBasedOnSpaceUsage() since it is not a one time thing. Also, it makes no parameter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519445</commentid>
    <comment_count>8</comment_count>
      <attachid>365477</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-03-20 20:59:40 -0700</bug_when>
    <thetext>Created attachment 365477
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519446</commentid>
    <comment_count>9</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-03-20 21:00:05 -0700</bug_when>
    <thetext>Thanks for the review.

(In reply to Chris Dumez from comment #7)
&gt; Comment on attachment 365451 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=365451&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/storage/StorageQuotaManager.cpp:47
&gt; &gt; +void StorageQuotaManager::setQuotaBasedOnSpaceUsage()
&gt; 
&gt; maybe updateQuotaBasedOnSpaceUsage() since it is not a one time thing. Also,
&gt; it makes no parameter.

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519461</commentid>
    <comment_count>10</comment_count>
      <attachid>365477</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-20 21:38:35 -0700</bug_when>
    <thetext>Comment on attachment 365477
Patch for landing

Clearing flags on attachment: 365477

Committed r243276: &lt;https://trac.webkit.org/changeset/243276&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519462</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-20 21:38:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519463</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-20 21:41:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/49093838&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364815</attachid>
            <date>2019-03-15 11:14:40 -0700</date>
            <delta_ts>2019-03-15 13:10:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195804-20190315111439.patch</filename>
            <type>text/plain</type>
            <size>13006</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZThlM2MzYmNhNGZlY2E5
ODI3NWExNDk5YjBjOWZmM2M1N2ZhMzRhYS4uZTMyOTQ0ZmQ5YzFmNzc2MDMzMTk4MjgzMDNjZjZm
YjliYTdjMWFjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTAzLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDb21wdXRlIHF1b3RhIGFm
dGVyIG5ldHdvcmsgcHJvY2VzcyByZXN0YXJ0IGJhc2VkIG9uIGRlZmF1bHQgcXVvdGEgYW5kIHNw
YWNlIHVzZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5NTgwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEF0IGNyZWF0aW9uIG9mIHF1b3RhIG1hbmFnZXIsIGEgZGVmYXVsdCBxdW90YSB3aWxsIGJlIGFz
c2lnbmVkLgorICAgICAgICBUaGlzIHZhbHVlIGlzIHRoZSBzYW1lIGZvciBhbGwgb3JpZ2lucy4K
KyAgICAgICAgU29tZSBvcmlnaW5zIG1heSBoYXZlIGJlZW4gZ3JhbnRlZCBhIGJpZ2dlciBxdW90
YSBieSB0aGUgdXNlci4KKyAgICAgICAgSW4gdGhhdCBjYXNlLCB0aGUgc3BhY2UgdXNlZCBtaWdo
dCBiZSBncmVhdGVyIGZvciB0aGVzZSBvcmlnaW5zLgorICAgICAgICBVcGRhdGUgYXQgaW5pdGlh
bGl6YXRpb24gdGltZSB0aGUgcXVvdGEgYWNjb3JkaW5nIHRoZSBzcGFjZSB1c2VkIGFzIGZvbGxv
d3M6CisgICAgICAgIC0gSWYgc3BhY2UgdXNlZCBpcyBiZWxvdyBkZWZhdWx0IHF1b3RhLCBzdGlj
ayB3aXRoIGRlZmF1bHQgcXVvdGEuCisgICAgICAgIC0gSWYgc3BhY2UgdXNlZCBpcyBhYm92ZSwg
c2V0IHF1b3RhIHRvIHNwYWNlIHVzZWQgcm91bmRlZCBieSBvbmUgdGVudGggb2YgdGhlIGRlZmF1
bHQgcXVvdGEuCisgICAgICAgIFRoZSByb3VuZGluZyBlbnN1cmVzIHRoYXQgcXVvdGEgcmVxdWVz
dHMgd2lsbCBub3QgaGFwcGVuIHRvbyBxdWlja2x5IGFmdGVyIGEgcGFnZSBpcyBsb2FkZWQuCisK
KyAgICAgICAgVGVzdDogaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1y
ZXN0YXJ0LmFueS5odG1sCisKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZVF1b3RhTWFuYWdlcjo6aW5pdGlhbGl6ZVF1
b3RhQWNjb3JkaW5nU3BhY2VVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdlUXVvdGFN
YW5hZ2VyOjphZGRVc2VyKToKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIu
aDoKKwogMjAxOS0wMy0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgSW5jbHVkZSBXQUwgYW5kIFNITSBmaWxlIHNpemUgaW4gSURCIGRhdGFiYXNlIHNpemUg
Y29tcHV0YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMDMwMGFjYTg4MjA3YzBjZGQ5ODAxMTRjYTBjMDM3Nzg1
MmQzMzQzOC4uMTg1MzMzMTA1NTcyNDRhOTZlNDIxNWQ3NDI4Y2NmYzRkOGQ0ZmRmYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMyBAQAorMjAxOS0wMy0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgQ29tcHV0ZSBxdW90YSBhZnRlciBuZXR3b3JrIHByb2Nlc3Mg
cmVzdGFydCBiYXNlZCBvbiBkZWZhdWx0IHF1b3RhIGFuZCBzcGFjZSB1c2VkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU4MDQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgdGhhdCBDYWNo
ZSBTdG9yYWdlIHF1b3RhIHVzZXIgd2FpdHMgdG8gZGVjbGFyZSBhcyBpbml0aWFsaXplZCB0byBp
dHMgbWFuYWdlcgorICAgICAgICB1bnRpbCBhbGwgZGF0YSBpcyBsb2FkZWQgc28gdGhhdCBpdCBj
YW4gcmVwb3J0IGEgdmFsaWQgc3BhY2UgdXNlZCBmcm9tIHRoZSBzdGFydC4KKworICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpjcmVhdGUpOiBOZWVkIHRvIGNhbGwg
YWRkVXNlciBoZXJlIGFzCisgICAgICAgIGl0IG1heSByZWYgdGhlIENhY2hlcyBvYmplY3Qgc28g
aXQgbmVlZHMgdG8gYmUgYWRvcHRlZCBmaXJzdC4KKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9y
YWdlOjpDYWNoZXM6OkNhY2hlcyk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2Fj
aGVzOjp3aGVuSW5pdGlhbGl6ZWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0Nh
Y2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hl
L0NhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpDYWNo
ZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpkZXJlZmVyZW5jZSk6CisgICAgICAgIFJlbW92ZSBh
c3NlcnRpb24gd2hpY2ggaXMgZmFsc2Ugd2hlbiBuZXR3b3JrIHByb2Nlc3MgaXMgY3Jhc2hpbmcu
CisKIDIwMTktMDMtMTQgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtpT1NdIFdlYktpdCBjcmFzaGVzIHdoZW4gb3BlbmluZyBwYWdlcyBkb2N1bWVudHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuY3BwCmluZGV4
IGUzMGE0MGE4OWZkNGI2MDY3Njk3OGNjZTRiNjAxN2Y1YzYxZTg4MDUuLmU5NTRjOWNiNzFmYmZh
OTg5NDAxNDYzYjU4MzJmZWVlMWU1ZWVlNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmNwcApAQCAtNDQsNiArNDQsMTUgQEAgdWludDY0X3QgU3Rv
cmFnZVF1b3RhTWFuYWdlcjo6c3BhY2VVc2FnZSgpIGNvbnN0CiAgICAgcmV0dXJuIHVzYWdlOwog
fQogCit2b2lkIFN0b3JhZ2VRdW90YU1hbmFnZXI6OmluaXRpYWxpemVRdW90YUFjY29yZGluZ1Nw
YWNlVXNhZ2UoKQoreworICAgIGlmICghbV9xdW90YSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
YXV0byBkZWZhdWx0UXVvdGFTdGVwID0gbV9xdW90YSAvIDEwOworICAgIG1fcXVvdGEgPSBzdGQ6
Om1heChtX3F1b3RhLCBkZWZhdWx0UXVvdGFTdGVwICogKChzcGFjZVVzYWdlKCkgLyBkZWZhdWx0
UXVvdGFTdGVwKSArIDEpKTsKK30KKwogdm9pZCBTdG9yYWdlUXVvdGFNYW5hZ2VyOjphZGRVc2Vy
KFN0b3JhZ2VRdW90YVVzZXImIHVzZXIpCiB7CiAgICAgQVNTRVJUKCFtX3BlbmRpbmdJbml0aWFs
aXphdGlvblVzZXJzLmNvbnRhaW5zKCZ1c2VyKSk7CkBAIC01NCw2ICs2MywxMSBAQCB2b2lkIFN0
b3JhZ2VRdW90YU1hbmFnZXI6OmFkZFVzZXIoU3RvcmFnZVF1b3RhVXNlciYgdXNlcikKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgbV9wZW5kaW5nSW5pdGlhbGl6YXRpb25Vc2Vycy5yZW1v
dmUoJnVzZXIpOwogICAgICAgICBtX3VzZXJzLmFkZCgmdXNlcik7CisKKyAgICAgICAgaWYgKCFt
X3BlbmRpbmdJbml0aWFsaXphdGlvblVzZXJzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBpbml0aWFsaXplUXVvdGFBY2NvcmRpbmdTcGFjZVVzYWdlKCk7CiAgICAg
ICAgIHByb2Nlc3NQZW5kaW5nUmVxdWVzdHMoeyB9KTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5oIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmgKaW5kZXggMWI2ZmQ4ZjcyMDRmNDc4
YWFhMjU5NmNlZTk4MTIzN2UzMmI5ODhhMC4uMDRmYWU0MzRiZjk4ZDkyZjkzMjdmYjk4OWYwMTE2
MTc3MjFhMjFmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVv
dGFNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5h
Z2VyLmgKQEAgLTY1LDYgKzY1LDcgQEAgcHJpdmF0ZToKICAgICB1aW50NjRfdCBzcGFjZVVzYWdl
KCkgY29uc3Q7CiAgICAgdm9pZCBhc2tGb3JNb3JlU3BhY2UodWludDY0X3Qgc3BhY2VVc2FnZSwg
dWludDY0X3Qgc3BhY2VJbmNyZWFzZSk7CiAgICAgdm9pZCBwcm9jZXNzUGVuZGluZ1JlcXVlc3Rz
KE9wdGlvbmFsPHVpbnQ2NF90Pik7CisgICAgdm9pZCBpbml0aWFsaXplUXVvdGFBY2NvcmRpbmdT
cGFjZVVzYWdlKCk7CiAKICAgICB1aW50NjRfdCBtX3F1b3RhIHsgMCB9OwogICAgIFNwYWNlSW5j
cmVhc2VSZXF1ZXN0ZXIgbV9zcGFjZUluY3JlYXNlUmVxdWVzdGVyOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMu
Y3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdp
bmVDYWNoZXMuY3BwCmluZGV4IDVjNWRhOWJlOGJlOTU4ODgxZjEzNjc0NjdlMDFkMTEyZDgzOWQ2
ZjUuLjY5ZWEzZTllMWY0NzYzMDc4YWQ1MjY3MGZiZjA4MGQwOGIwZjZmMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2Fj
aGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3Rv
cmFnZUVuZ2luZUNhY2hlcy5jcHAKQEAgLTUxLDEzICs1MSwxOSBAQCBzdGF0aWMgaW5saW5lIFN0
cmluZyBjYWNoZXNPcmlnaW5GaWxlbmFtZShjb25zdCBTdHJpbmcmIGNhY2hlc1Jvb3RQYXRoKQog
ICAgIHJldHVybiBGaWxlU3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQoY2FjaGVzUm9v
dFBhdGgsICJvcmlnaW4iX3MpOwogfQogCitSZWY8Q2FjaGVzPiBDYWNoZXM6OmNyZWF0ZShFbmdp
bmUmIGVuZ2luZSwgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBTdHJpbmcmJiByb290
UGF0aCwgV2ViQ29yZTo6U3RvcmFnZVF1b3RhTWFuYWdlciYgcXVvdGFNYW5hZ2VyKQoreworICAg
IGF1dG8gY2FjaGVzID0gYWRvcHRSZWYoKm5ldyBDYWNoZXMgeyBlbmdpbmUsIFdURk1vdmUob3Jp
Z2luKSwgV1RGTW92ZShyb290UGF0aCksIHF1b3RhTWFuYWdlciB9KTsKKyAgICBxdW90YU1hbmFn
ZXIuYWRkVXNlcihjYWNoZXMuZ2V0KCkpOworICAgIHJldHVybiBjYWNoZXM7Cit9CisKIENhY2hl
czo6Q2FjaGVzKEVuZ2luZSYgZW5naW5lLCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4s
IFN0cmluZyYmIHJvb3RQYXRoLCBTdG9yYWdlUXVvdGFNYW5hZ2VyJiBxdW90YU1hbmFnZXIpCiAg
ICAgOiBtX2VuZ2luZSgmZW5naW5lKQogICAgICwgbV9vcmlnaW4oV1RGTW92ZShvcmlnaW4pKQog
ICAgICwgbV9yb290UGF0aChXVEZNb3ZlKHJvb3RQYXRoKSkKICAgICAsIG1fcXVvdGFNYW5hZ2Vy
KG1ha2VXZWFrUHRyKHF1b3RhTWFuYWdlcikpCiB7Ci0gICAgcXVvdGFNYW5hZ2VyLmFkZFVzZXIo
KnRoaXMpOwogfQogCiBDYWNoZXM6On5DYWNoZXMoKQpAQCAtNjgsNiArNzQsMTUgQEAgQ2FjaGVz
Ojp+Q2FjaGVzKCkKICAgICAgICAgbV9xdW90YU1hbmFnZXItPnJlbW92ZVVzZXIoKnRoaXMpOwog
fQogCit2b2lkIENhY2hlczo6d2hlbkluaXRpYWxpemVkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjYWxsYmFjaykKK3sKKyAgICBpbml0aWFsaXplKFtjYWxsYmFjayA9IFdURk1vdmUoY2Fs
bGJhY2spXShhdXRvJiYgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJyb3IpCisgICAg
ICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihDYWNoZVN0b3JhZ2UsICJDYWNoZXM6OmluaXRpYWxp
emUgZmFpbGVkLCByZXBvcnRlZCBzcGFjZSB1c2VkIHdpbGwgYmUgemVybyIpOworICAgICAgICBj
YWxsYmFjaygpOworICAgIH0pOworfQorCiB2b2lkIENhY2hlczo6cmV0cmlldmVPcmlnaW5Gcm9t
RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgZm9sZGVyUGF0aCwgV29ya1F1ZXVlJiBxdWV1ZSwgV1RG
OjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFdlYkNvcmU6OkNsaWVudE9yaWdpbj4m
Jik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgcXVldWUuZGlzcGF0Y2goW2NvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGZpbGVuYW1lID0gY2FjaGVz
T3JpZ2luRmlsZW5hbWUoZm9sZGVyUGF0aCldKCkgbXV0YWJsZSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVD
YWNoZXMuaAppbmRleCBlZWU4MjY3ODQ5OWY1OWYwNWIyMGQzN2EzZGJkYmY2NzA1NDE1M2IxLi4z
M2ExNjJjMWQyOTgxZmM1MTdkNTUyMTRlNjMwZTNkYjY5ZmRjNmQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5n
aW5lQ2FjaGVzLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgY2xhc3MgRW5naW5lOwogCiBjbGFzcyBDYWNo
ZXMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZXM+LCBwcml2YXRlIFdlYkNvcmU6OlN0
b3JhZ2VRdW90YVVzZXIgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8Q2FjaGVzPiBjcmVhdGUo
RW5naW5lJiBlbmdpbmUsIFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgU3RyaW5nJiYg
cm9vdFBhdGgsIFdlYkNvcmU6OlN0b3JhZ2VRdW90YU1hbmFnZXImIHF1b3RhTWFuYWdlcikgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZXMgeyBlbmdpbmUsIFdURk1vdmUob3JpZ2luKSwgV1RG
TW92ZShyb290UGF0aCksIHF1b3RhTWFuYWdlciB9KTsgfQorICAgIHN0YXRpYyBSZWY8Q2FjaGVz
PiBjcmVhdGUoRW5naW5lJiwgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFN0cmluZyYmIHJvb3RQ
YXRoLCBXZWJDb3JlOjpTdG9yYWdlUXVvdGFNYW5hZ2VyJik7CiAgICAgfkNhY2hlcygpOwogCiAg
ICAgc3RhdGljIHZvaWQgcmV0cmlldmVPcmlnaW5Gcm9tRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYg
Zm9sZGVyUGF0aCwgV29ya1F1ZXVlJiwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlv
bmFsPFdlYkNvcmU6OkNsaWVudE9yaWdpbj4mJik+JiYpOwpAQCAtOTEsNiArOTEsOCBAQCBwcml2
YXRlOgogICAgIHZvaWQgcmVhZENhY2hlc0Zyb21EaXNrKFdURjo6RnVuY3Rpb248dm9pZChFeHBl
Y3RlZDxWZWN0b3I8Q2FjaGU+LCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6RXJyb3I+JiYpPiYm
KTsKICAgICB2b2lkIHdyaXRlQ2FjaGVzVG9EaXNrKFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpD
b21wbGV0aW9uQ2FsbGJhY2smJik7CiAKKyAgICB2b2lkIHdoZW5Jbml0aWFsaXplZChDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOworCiAgICAgdm9pZCBzdG9yZU9yaWdpbihXZWJD
b3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrJiYpOwogICAgIHN0YXRpYyBP
cHRpb25hbDxXZWJDb3JlOjpDbGllbnRPcmlnaW4+IHJlYWRPcmlnaW4oY29uc3QgTmV0d29ya0Nh
Y2hlOjpEYXRhJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24uY3BwCmluZGV4
IGE1ZTkwOWEzNGMzZTJkOTMzN2RkZDRjMWZkMmFiNDkyZjhkNzk4MDQuLjMyMzMzZDBiY2VhZGFl
YWNkY2I1ZGI2MWE1MDA4ZWRiMzZlNjY5MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDb25u
ZWN0aW9uLmNwcApAQCAtMTM3LDcgKzEzNyw2IEBAIHZvaWQgQ2FjaGVTdG9yYWdlRW5naW5lQ29u
bmVjdGlvbjo6ZGVyZWZlcmVuY2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCB1aW50NjRfCiAg
ICAgfSkuaXRlcmF0b3ItPnZhbHVlOwogCiAgICAgYXV0byByZWZlcmVuY2VSZXN1bHQgPSByZWZl
cmVuY2VzLmZpbmQoY2FjaGVJZGVudGlmaWVyKTsKLSAgICBBU1NFUlQocmVmZXJlbmNlUmVzdWx0
ICE9IHJlZmVyZW5jZXMuZW5kKCkpOwogICAgIGlmIChyZWZlcmVuY2VSZXN1bHQgPT0gcmVmZXJl
bmNlcy5lbmQoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjA4ZGE4MzgyYmY2NWFmMGI0
OTBiNjhjNzJiNGZjMmFkMWNiY2JkYy4uOGY5MzI5MzdjMDBhOWI2MWQ3Y2VlMjNmN2VmYWMwNDc2
MjVlYTRmNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTAzLTE1ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDb21wdXRlIHF1b3RhIGFmdGVyIG5ldHdv
cmsgcHJvY2VzcyByZXN0YXJ0IGJhc2VkIG9uIGRlZmF1bHQgcXVvdGEgYW5kIHNwYWNlIHVzZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTgwNAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC93
cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0YXJ0LmFueS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcXVvdGEt
YWZ0ZXItcmVzdGFydC5hbnkuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvY2FjaGUt
c3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0YXJ0LmFueS5qczogQWRkZWQuCisgICAgICAg
IChwcm9taXNlX3Rlc3QuYXN5bmMpOgorCiAyMDE5LTAzLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbmNsdWRlIFdBTCBhbmQgU0hNIGZpbGUgc2l6ZSBp
biBJREIgZGF0YWJhc2Ugc2l6ZSBjb21wdXRhdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0YXJ0LmFueS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXF1b3Rh
LWFmdGVyLXJlc3RhcnQuYW55LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMjA0MzE0NGU1Mjg4
NTA3YzNjYTE5NWI1MWQ4MTYwMjFiNzU4MWMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0YXJ0LmFueS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitDT05TT0xFIE1FU1NBR0U6IENhY2hlIEFQSSBv
cGVyYXRpb24gZmFpbGVkOiBRdW90YSBleGNlZWRlZAorQ09OU09MRSBNRVNTQUdFOiBDYWNoZSBB
UEkgb3BlcmF0aW9uIGZhaWxlZDogUXVvdGEgZXhjZWVkZWQKKworUEFTUyBJbmNyZWFzaW5nIHF1
b3RhIAorUEFTUyBBZnRlciBuZXR3b3JrIHByb2Nlc3MgcmVzdGFydCwgdmVyaWZ5IHF1b3RhIGlz
IGNvbXB1dGVkIGFjY29yZGluZyBzcGFjZSBiZWluZyB1c2VkIAorUEFTUyBBZnRlciBuZXR3b3Jr
IHByb2Nlc3MgcmVzdGFydCwgdmVyaWZ5IHF1b3RhIGlzIGNvbXB1dGVkIGFjY29yZGluZyBzcGFj
ZSBiZWluZyB1c2VkIGFuZCBkb2VzIG5vdCBpbmNyZWFzZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0YXJ0LmFu
eS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1h
ZnRlci1yZXN0YXJ0LmFueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2
NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jYWNoZS1zdG9yYWdlL2NhY2hlLXF1b3RhLWFmdGVyLXJlc3RhcnQuYW55Lmh0bWwKQEAgLTAs
MCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJh
c3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFn
ZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0YXJ0LmFueS5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5hbnkuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDJkMTRjN2M3NDc4YjU0NzE0OGM1MzA2NjdkZTY3YWE5MWZlMzcxMgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcXVvdGEtYWZ0
ZXItcmVzdGFydC5hbnkuanMKQEAgLTAsMCArMSw0NCBAQAordmFyIHJlc3BvbnNlMzBrbyA9IG5l
dyBSZXNwb25zZShuZXcgQXJyYXlCdWZmZXIoMzAgKiAxMDI0KSk7Cit2YXIgcmVzcG9uc2UyMDEg
PSBuZXcgUmVzcG9uc2UobmV3IEFycmF5QnVmZmVyKDIwMSAqIDEwMjQpKTsKK3ZhciByZXNwb25z
ZTQwMCA9IG5ldyBSZXNwb25zZShuZXcgQXJyYXlCdWZmZXIoNDAwICogMTAyNCkpOworCitwcm9t
aXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgIHRlc3RSdW5uZXIuc2V0QWxsb3dTdG9yYWdlUXVvdGFJbmNyZWFzZSh0cnVlKTsKKwor
ICAgIGNvbnN0IGNhY2hlID0gYXdhaXQgc2VsZi5jYWNoZXMub3BlbigidGVtcDEiKTsKKyAgICBh
d2FpdCBjYWNoZS5wdXQoIjIwMSIsIHJlc3BvbnNlMjAxLmNsb25lKCkpOworICAgIGF3YWl0IGNh
Y2hlLnB1dCgiNDAwLXYxIiwgcmVzcG9uc2U0MDAuY2xvbmUoKSk7CisgICAgYXdhaXQgY2FjaGUu
cHV0KCI0MDAtdjIiLCByZXNwb25zZTQwMC5jbG9uZSgpKTsKKworICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRBbGxvd1N0b3JhZ2VRdW90YUluY3JlYXNl
KGZhbHNlKTsKKworICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModGVzdCwgIlF1b3RhRXhjZWVk
ZWRFcnJvciIsIGNhY2hlLnB1dCgiMzBrbyIsIHJlc3BvbnNlMzBrby5jbG9uZSgpKSwgInB1dCBz
aG91bGQgZmFpbCIpOworfSwgJ0luY3JlYXNpbmcgcXVvdGEnKTsKKworcHJvbWlzZV90ZXN0KGFz
eW5jICh0ZXN0KSA9PiB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuIFByb21pc2UucmVqZWN0KCJUZXN0IHJlcXVpcmVzIGludGVybmFscyIpOworCisgICAgd2lu
ZG93LnRlc3RSdW5uZXIudGVybWluYXRlTmV0d29ya1Byb2Nlc3MoKTsKKyAgICBhd2FpdCBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMCkpOworCisgICAgLy8gU3Bh
Y2UgdXNlZCBpcyBhcm91bmQgMTAwMWtvLCBhZnRlciByb3VuZGluZyBxdW90YSBzaG91bGQgYmUg
MTA0MGtvLgorICAgIGNvbnN0IGNhY2hlID0gYXdhaXQgc2VsZi5jYWNoZXMub3BlbigidGVtcDIi
KTsKKyAgICByZXR1cm4gY2FjaGUucHV0KCIzMGtvIiwgcmVzcG9uc2UzMGtvLmNsb25lKCkpOwor
fSwgJ0FmdGVyIG5ldHdvcmsgcHJvY2VzcyByZXN0YXJ0LCB2ZXJpZnkgcXVvdGEgaXMgY29tcHV0
ZWQgYWNjb3JkaW5nIHNwYWNlIGJlaW5nIHVzZWQnKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0
ZXN0KSA9PiB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0dXJuIFBy
b21pc2UucmVqZWN0KCJUZXN0IHJlcXVpcmVzIGludGVybmFscyIpOworCisgICAgd2luZG93LnRl
c3RSdW5uZXIudGVybWluYXRlTmV0d29ya1Byb2Nlc3MoKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMCkpOworCisgICAgLy8gU3BhY2UgdXNl
ZCBpcyBhcm91bmQgMTAzMWtvLCBhZnRlciByb3VuZGluZyBxdW90YSBzaG91bGQgYmUgMTA0MGtv
LgorICAgIGNvbnN0IGNhY2hlID0gYXdhaXQgc2VsZi5jYWNoZXMub3BlbigidGVtcDMiKTsKKyAg
ICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHRlc3QsICJRdW90YUV4Y2VlZGVkRXJyb3IiLCBjYWNo
ZS5wdXQoIjMwa28iLCByZXNwb25zZTMwa28uY2xvbmUoKSksICJwdXQgc2hvdWxkIGZhaWwiKTsK
K30sICdBZnRlciBuZXR3b3JrIHByb2Nlc3MgcmVzdGFydCwgdmVyaWZ5IHF1b3RhIGlzIGNvbXB1
dGVkIGFjY29yZGluZyBzcGFjZSBiZWluZyB1c2VkIGFuZCBkb2VzIG5vdCBpbmNyZWFzZScpOwor
Citkb25lKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364825</attachid>
            <date>2019-03-15 13:10:45 -0700</date>
            <delta_ts>2019-03-20 10:19:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195804-20190315131044.patch</filename>
            <type>text/plain</type>
            <size>13403</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI4YzQ4YjFjZTQ0YWQ4
OWExNDg1MDIyZjMzNGYwZjA5ZDE1YzAwZi4uNDU2MjY0MjU1YjhiNDlmY2FiYjNhNzcwOWIxMTY1
N2RhMDY0NTUwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE5LTAzLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDb21wdXRlIHF1b3RhIGFm
dGVyIG5ldHdvcmsgcHJvY2VzcyByZXN0YXJ0IGJhc2VkIG9uIGRlZmF1bHQgcXVvdGEgYW5kIHNw
YWNlIHVzZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5NTgwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEF0IGNyZWF0aW9uIG9mIHF1b3RhIG1hbmFnZXIsIGEgZGVmYXVsdCBxdW90YSB3aWxsIGJlIGFz
c2lnbmVkLgorICAgICAgICBUaGlzIHZhbHVlIGlzIHRoZSBzYW1lIGZvciBhbGwgb3JpZ2lucy4K
KyAgICAgICAgU29tZSBvcmlnaW5zIG1heSBoYXZlIGJlZW4gZ3JhbnRlZCBhIGJpZ2dlciBxdW90
YSBieSB0aGUgdXNlci4KKyAgICAgICAgSW4gdGhhdCBjYXNlLCB0aGUgc3BhY2UgdXNlZCBtaWdo
dCBiZSBncmVhdGVyIGZvciB0aGVzZSBvcmlnaW5zLgorICAgICAgICBVcGRhdGUgYXQgaW5pdGlh
bGl6YXRpb24gdGltZSB0aGUgcXVvdGEgYWNjb3JkaW5nIHRoZSBzcGFjZSB1c2VkIGFzIGZvbGxv
d3M6CisgICAgICAgIC0gSWYgc3BhY2UgdXNlZCBpcyBiZWxvdyBkZWZhdWx0IHF1b3RhLCBzdGlj
ayB3aXRoIGRlZmF1bHQgcXVvdGEuCisgICAgICAgIC0gSWYgc3BhY2UgdXNlZCBpcyBhYm92ZSwg
c2V0IHF1b3RhIHRvIHNwYWNlIHVzZWQgcm91bmRlZCBieSBvbmUgdGVudGggb2YgdGhlIGRlZmF1
bHQgcXVvdGEuCisgICAgICAgIFRoZSByb3VuZGluZyBlbnN1cmVzIHRoYXQgcXVvdGEgcmVxdWVz
dHMgd2lsbCBub3QgaGFwcGVuIHRvbyBxdWlja2x5IGFmdGVyIGEgcGFnZSBpcyBsb2FkZWQuCisK
KyAgICAgICAgVGVzdDogaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1y
ZXN0YXJ0LmFueS5odG1sCisKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZVF1b3RhTWFuYWdlcjo6aW5pdGlhbGl6ZVF1
b3RhQWNjb3JkaW5nU3BhY2VVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdlUXVvdGFN
YW5hZ2VyOjphZGRVc2VyKToKKyAgICAgICAgTWFrZSBzdXJlIGEgZ2l2ZW4gdXNlciBpcyBtb3Zl
ZCBmcm9tIHBlbmRpbmcgdG8gYWN0dWFsIHVzZXIsIG9ubHkgaWYgaXQgaXMgYSBwZW5kaW5nIHVz
ZXIuCisgICAgICAgIEZvcmJpZCB0aGUgcG9zc2liaWxpdHkgdG8gcHJvY2VzcyBwZW5kaW5nIHJl
cXVlc3RzIGlmIHRoZXJlIGFyZSBzdGlsbCBzb21lIHBlbmRpbmcgdXNlcnMuCisgICAgICAgICog
c3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmg6CisKIDIwMTktMDMtMTUgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEluY2x1ZGUgV0FMIGFuZCBTSE0gZmls
ZSBzaXplIGluIElEQiBkYXRhYmFzZSBzaXplIGNvbXB1dGF0aW9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAzMDBh
Y2E4ODIwN2MwY2RkOTgwMTE0Y2EwYzAzNzc4NTJkMzM0MzguLjE4NTMzMzEwNTU3MjQ0YTk2ZTQy
MTVkNzQyOGNjZmM0ZDhkNGZkZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDMt
MTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIENvbXB1dGUg
cXVvdGEgYWZ0ZXIgbmV0d29yayBwcm9jZXNzIHJlc3RhcnQgYmFzZWQgb24gZGVmYXVsdCBxdW90
YSBhbmQgc3BhY2UgdXNlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk1ODA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTWFrZSBzdXJlIHRoYXQgQ2FjaGUgU3RvcmFnZSBxdW90YSB1c2VyIHdhaXRzIHRv
IGRlY2xhcmUgYXMgaW5pdGlhbGl6ZWQgdG8gaXRzIG1hbmFnZXIKKyAgICAgICAgdW50aWwgYWxs
IGRhdGEgaXMgbG9hZGVkIHNvIHRoYXQgaXQgY2FuIHJlcG9ydCBhIHZhbGlkIHNwYWNlIHVzZWQg
ZnJvbSB0aGUgc3RhcnQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0
b3JhZ2VFbmdpbmVDYWNoZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNh
Y2hlczo6Y3JlYXRlKTogTmVlZCB0byBjYWxsIGFkZFVzZXIgaGVyZSBhcworICAgICAgICBpdCBt
YXkgcmVmIHRoZSBDYWNoZXMgb2JqZWN0IHNvIGl0IG5lZWRzIHRvIGJlIGFkb3B0ZWQgZmlyc3Qu
CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpDYWNoZXMpOgorICAgICAg
ICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6d2hlbkluaXRpYWxpemVkKToKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9u
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbjo6ZGVy
ZWZlcmVuY2UpOgorICAgICAgICBSZW1vdmUgYXNzZXJ0aW9uIHdoaWNoIGlzIGZhbHNlIHdoZW4g
bmV0d29yayBwcm9jZXNzIGlzIGNyYXNoaW5nLgorCiAyMDE5LTAzLTE0ICBQZXIgQXJuZSBWb2xs
YW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBXZWJLaXQgY3Jhc2hlcyB3
aGVuIG9wZW5pbmcgcGFnZXMgZG9jdW1lbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
dG9yYWdlUXVvdGFNYW5hZ2VyLmNwcAppbmRleCAzZDM0ODM0YjM2NjQ3MzEyM2UwMDQ2NGJjYTQ5
ZmMyN2JjYjVlZGQ4Li4yNjE2M2M3M2I5ZTEyYmI4M2ZiYzQ4MTE0MGJkNTlhZGQ1MGJlMWEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5jcHAKQEAg
LTQ0LDYgKzQ0LDE1IEBAIHVpbnQ2NF90IFN0b3JhZ2VRdW90YU1hbmFnZXI6OnNwYWNlVXNhZ2Uo
KSBjb25zdAogICAgIHJldHVybiB1c2FnZTsKIH0KIAordm9pZCBTdG9yYWdlUXVvdGFNYW5hZ2Vy
Ojppbml0aWFsaXplUXVvdGFBY2NvcmRpbmdTcGFjZVVzYWdlKCkKK3sKKyAgICBpZiAoIW1fcXVv
dGEpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gZGVmYXVsdFF1b3RhU3RlcCA9IG1fcXVv
dGEgLyAxMDsKKyAgICBtX3F1b3RhID0gc3RkOjptYXgobV9xdW90YSwgZGVmYXVsdFF1b3RhU3Rl
cCAqICgoc3BhY2VVc2FnZSgpIC8gZGVmYXVsdFF1b3RhU3RlcCkgKyAxKSk7Cit9CisKIHZvaWQg
U3RvcmFnZVF1b3RhTWFuYWdlcjo6YWRkVXNlcihTdG9yYWdlUXVvdGFVc2VyJiB1c2VyKQogewog
ICAgIEFTU0VSVCghbV9wZW5kaW5nSW5pdGlhbGl6YXRpb25Vc2Vycy5jb250YWlucygmdXNlcikp
OwpAQCAtNTIsOCArNjEsMTQgQEAgdm9pZCBTdG9yYWdlUXVvdGFNYW5hZ2VyOjphZGRVc2VyKFN0
b3JhZ2VRdW90YVVzZXImIHVzZXIpCiAgICAgdXNlci53aGVuSW5pdGlhbGl6ZWQoW3RoaXMsICZ1
c2VyLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpXSgpIHsKICAgICAgICAgaWYgKCF3ZWFr
VGhpcykKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV9wZW5kaW5nSW5pdGlhbGl6YXRp
b25Vc2Vycy5yZW1vdmUoJnVzZXIpOwotICAgICAgICBtX3VzZXJzLmFkZCgmdXNlcik7CisKKyAg
ICAgICAgaWYgKG1fcGVuZGluZ0luaXRpYWxpemF0aW9uVXNlcnMucmVtb3ZlKCZ1c2VyKSkKKyAg
ICAgICAgICAgIG1fdXNlcnMuYWRkKCZ1c2VyKTsKKworICAgICAgICBpZiAoIW1fcGVuZGluZ0lu
aXRpYWxpemF0aW9uVXNlcnMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIGluaXRpYWxpemVRdW90YUFjY29yZGluZ1NwYWNlVXNhZ2UoKTsKICAgICAgICAgcHJvY2Vz
c1BlbmRpbmdSZXF1ZXN0cyh7IH0pOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuaAppbmRleCBkMGRjNjZhZWQxMzJlYjA3ZmNmMTU0YmY5
MmRjZDJlMDAxODg3YjY1Li5kMDczYWQ0YzAxMzliN2NlOWNhOWUwMmE3NGRkNTI3ZDU5ZWRlZGU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuaApAQCAt
NjYsNiArNjYsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hvdWxkQXNrRm9yTW9yZVNwYWNlKHVp
bnQ2NF90IHNwYWNlSW5jcmVhc2UpIGNvbnN0OwogICAgIHZvaWQgYXNrRm9yTW9yZVNwYWNlKHVp
bnQ2NF90IHNwYWNlSW5jcmVhc2UpOwogICAgIHZvaWQgcHJvY2Vzc1BlbmRpbmdSZXF1ZXN0cyhP
cHRpb25hbDx1aW50NjRfdD4pOworICAgIHZvaWQgaW5pdGlhbGl6ZVF1b3RhQWNjb3JkaW5nU3Bh
Y2VVc2FnZSgpOwogCiAgICAgdWludDY0X3QgbV9xdW90YSB7IDAgfTsKICAgICBTcGFjZUluY3Jl
YXNlUmVxdWVzdGVyIG1fc3BhY2VJbmNyZWFzZVJlcXVlc3RlcjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5l
Q2FjaGVzLmNwcAppbmRleCA1YzVkYTliZThiZTk1ODg4MWYxMzY3NDY3ZTAxZDExMmQ4MzlkNmY1
Li42OWVhM2U5ZTFmNDc2MzA3OGFkNTI2NzBmYmYwODBkMDhiMGY2ZjJiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hl
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VFbmdpbmVDYWNoZXMuY3BwCkBAIC01MSwxMyArNTEsMTkgQEAgc3RhdGljIGlubGluZSBTdHJp
bmcgY2FjaGVzT3JpZ2luRmlsZW5hbWUoY29uc3QgU3RyaW5nJiBjYWNoZXNSb290UGF0aCkKICAg
ICByZXR1cm4gRmlsZVN5c3RlbTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KGNhY2hlc1Jvb3RQ
YXRoLCAib3JpZ2luIl9zKTsKIH0KIAorUmVmPENhY2hlcz4gQ2FjaGVzOjpjcmVhdGUoRW5naW5l
JiBlbmdpbmUsIFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgU3RyaW5nJiYgcm9vdFBh
dGgsIFdlYkNvcmU6OlN0b3JhZ2VRdW90YU1hbmFnZXImIHF1b3RhTWFuYWdlcikKK3sKKyAgICBh
dXRvIGNhY2hlcyA9IGFkb3B0UmVmKCpuZXcgQ2FjaGVzIHsgZW5naW5lLCBXVEZNb3ZlKG9yaWdp
biksIFdURk1vdmUocm9vdFBhdGgpLCBxdW90YU1hbmFnZXIgfSk7CisgICAgcXVvdGFNYW5hZ2Vy
LmFkZFVzZXIoY2FjaGVzLmdldCgpKTsKKyAgICByZXR1cm4gY2FjaGVzOworfQorCiBDYWNoZXM6
OkNhY2hlcyhFbmdpbmUmIGVuZ2luZSwgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBT
dHJpbmcmJiByb290UGF0aCwgU3RvcmFnZVF1b3RhTWFuYWdlciYgcXVvdGFNYW5hZ2VyKQogICAg
IDogbV9lbmdpbmUoJmVuZ2luZSkKICAgICAsIG1fb3JpZ2luKFdURk1vdmUob3JpZ2luKSkKICAg
ICAsIG1fcm9vdFBhdGgoV1RGTW92ZShyb290UGF0aCkpCiAgICAgLCBtX3F1b3RhTWFuYWdlciht
YWtlV2Vha1B0cihxdW90YU1hbmFnZXIpKQogewotICAgIHF1b3RhTWFuYWdlci5hZGRVc2VyKCp0
aGlzKTsKIH0KIAogQ2FjaGVzOjp+Q2FjaGVzKCkKQEAgLTY4LDYgKzc0LDE1IEBAIENhY2hlczo6
fkNhY2hlcygpCiAgICAgICAgIG1fcXVvdGFNYW5hZ2VyLT5yZW1vdmVVc2VyKCp0aGlzKTsKIH0K
IAordm9pZCBDYWNoZXM6OndoZW5Jbml0aWFsaXplZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYgY2FsbGJhY2spCit7CisgICAgaW5pdGlhbGl6ZShbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxi
YWNrKV0oYXV0byYmIGVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKGVycm9yKQorICAgICAg
ICAgICAgUkVMRUFTRV9MT0dfRVJST1IoQ2FjaGVTdG9yYWdlLCAiQ2FjaGVzOjppbml0aWFsaXpl
IGZhaWxlZCwgcmVwb3J0ZWQgc3BhY2UgdXNlZCB3aWxsIGJlIHplcm8iKTsKKyAgICAgICAgY2Fs
bGJhY2soKTsKKyAgICB9KTsKK30KKwogdm9pZCBDYWNoZXM6OnJldHJpZXZlT3JpZ2luRnJvbURp
cmVjdG9yeShjb25zdCBTdHJpbmcmIGZvbGRlclBhdGgsIFdvcmtRdWV1ZSYgcXVldWUsIFdURjo6
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxXZWJDb3JlOjpDbGllbnRPcmlnaW4+JiYp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIHF1ZXVlLmRpc3BhdGNoKFtjb21wbGV0aW9u
SGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBmaWxlbmFtZSA9IGNhY2hlc09y
aWdpbkZpbGVuYW1lKGZvbGRlclBhdGgpXSgpIG11dGFibGUgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2Fj
aGVzLmgKaW5kZXggZWVlODI2Nzg0OTlmNTlmMDViMjBkMzdhM2RiZGJmNjcwNTQxNTNiMS4uMzNh
MTYyYzFkMjk4MWZjNTE3ZDU1MjE0ZTYzMGUzZGI2OWZkYzZkNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2lu
ZUNhY2hlcy5oCkBAIC00NCw3ICs0NCw3IEBAIGNsYXNzIEVuZ2luZTsKIAogY2xhc3MgQ2FjaGVz
IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVzPiwgcHJpdmF0ZSBXZWJDb3JlOjpTdG9y
YWdlUXVvdGFVc2VyIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENhY2hlcz4gY3JlYXRlKEVu
Z2luZSYgZW5naW5lLCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFN0cmluZyYmIHJv
b3RQYXRoLCBXZWJDb3JlOjpTdG9yYWdlUXVvdGFNYW5hZ2VyJiBxdW90YU1hbmFnZXIpIHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgQ2FjaGVzIHsgZW5naW5lLCBXVEZNb3ZlKG9yaWdpbiksIFdURk1v
dmUocm9vdFBhdGgpLCBxdW90YU1hbmFnZXIgfSk7IH0KKyAgICBzdGF0aWMgUmVmPENhY2hlcz4g
Y3JlYXRlKEVuZ2luZSYsIFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBTdHJpbmcmJiByb290UGF0
aCwgV2ViQ29yZTo6U3RvcmFnZVF1b3RhTWFuYWdlciYpOwogICAgIH5DYWNoZXMoKTsKIAogICAg
IHN0YXRpYyB2b2lkIHJldHJpZXZlT3JpZ2luRnJvbURpcmVjdG9yeShjb25zdCBTdHJpbmcmIGZv
bGRlclBhdGgsIFdvcmtRdWV1ZSYsIFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25h
bDxXZWJDb3JlOjpDbGllbnRPcmlnaW4+JiYpPiYmKTsKQEAgLTkxLDYgKzkxLDggQEAgcHJpdmF0
ZToKICAgICB2b2lkIHJlYWRDYWNoZXNGcm9tRGlzayhXVEY6OkZ1bmN0aW9uPHZvaWQoRXhwZWN0
ZWQ8VmVjdG9yPENhY2hlPiwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkVycm9yPiYmKT4mJik7
CiAgICAgdm9pZCB3cml0ZUNhY2hlc1RvRGlzayhXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29t
cGxldGlvbkNhbGxiYWNrJiYpOwogCisgICAgdm9pZCB3aGVuSW5pdGlhbGl6ZWQoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5hbDsKKwogICAgIHZvaWQgc3RvcmVPcmlnaW4oV2ViQ29y
ZTo6RE9NQ2FjaGVFbmdpbmU6OkNvbXBsZXRpb25DYWxsYmFjayYmKTsKICAgICBzdGF0aWMgT3B0
aW9uYWw8V2ViQ29yZTo6Q2xpZW50T3JpZ2luPiByZWFkT3JpZ2luKGNvbnN0IE5ldHdvcmtDYWNo
ZTo6RGF0YSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uLmNwcAppbmRleCBh
NWU5MDlhMzRjM2UyZDkzMzdkZGQ0YzFmZDJhYjQ5MmY4ZDc5ODA0Li4zMjMzM2QwYmNlYWRhZWFj
ZGNiNWRiNjFhNTAwOGVkYjM2ZTY2OTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVj
dGlvbi5jcHAKQEAgLTEzNyw3ICsxMzcsNiBAQCB2b2lkIENhY2hlU3RvcmFnZUVuZ2luZUNvbm5l
Y3Rpb246OmRlcmVmZXJlbmNlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgdWludDY0XwogICAg
IH0pLml0ZXJhdG9yLT52YWx1ZTsKIAogICAgIGF1dG8gcmVmZXJlbmNlUmVzdWx0ID0gcmVmZXJl
bmNlcy5maW5kKGNhY2hlSWRlbnRpZmllcik7Ci0gICAgQVNTRVJUKHJlZmVyZW5jZVJlc3VsdCAh
PSByZWZlcmVuY2VzLmVuZCgpKTsKICAgICBpZiAocmVmZXJlbmNlUmVzdWx0ID09IHJlZmVyZW5j
ZXMuZW5kKCkpCiAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDIwOGRhODM4MmJmNjVhZjBiNDkw
YjY4YzcyYjRmYzJhZDFjYmNiZGMuLjhmOTMyOTM3YzAwYTliNjFkN2NlZTIzZjdlZmFjMDQ3NjI1
ZWE0ZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wMy0xNSAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQ29tcHV0ZSBxdW90YSBhZnRlciBuZXR3b3Jr
IHByb2Nlc3MgcmVzdGFydCBiYXNlZCBvbiBkZWZhdWx0IHF1b3RhIGFuZCBzcGFjZSB1c2VkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU4MDQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvd3B0
L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5hbnktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXF1b3RhLWFm
dGVyLXJlc3RhcnQuYW55Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2NhY2hlLXN0
b3JhZ2UvY2FjaGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5hbnkuanM6IEFkZGVkLgorICAgICAgICAo
cHJvbWlzZV90ZXN0LmFzeW5jKToKKwogMjAxOS0wMy0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgSW5jbHVkZSBXQUwgYW5kIFNITSBmaWxlIHNpemUgaW4g
SURCIGRhdGFiYXNlIHNpemUgY29tcHV0YXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5hbnktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1h
ZnRlci1yZXN0YXJ0LmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTIwNDMxNDRlNTI4ODUw
N2MzY2ExOTViNTFkODE2MDIxYjc1ODFjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5hbnktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorQ09OU09MRSBNRVNTQUdFOiBDYWNoZSBBUEkgb3Bl
cmF0aW9uIGZhaWxlZDogUXVvdGEgZXhjZWVkZWQKK0NPTlNPTEUgTUVTU0FHRTogQ2FjaGUgQVBJ
IG9wZXJhdGlvbiBmYWlsZWQ6IFF1b3RhIGV4Y2VlZGVkCisKK1BBU1MgSW5jcmVhc2luZyBxdW90
YSAKK1BBU1MgQWZ0ZXIgbmV0d29yayBwcm9jZXNzIHJlc3RhcnQsIHZlcmlmeSBxdW90YSBpcyBj
b21wdXRlZCBhY2NvcmRpbmcgc3BhY2UgYmVpbmcgdXNlZCAKK1BBU1MgQWZ0ZXIgbmV0d29yayBw
cm9jZXNzIHJlc3RhcnQsIHZlcmlmeSBxdW90YSBpcyBjb21wdXRlZCBhY2NvcmRpbmcgc3BhY2Ug
YmVpbmcgdXNlZCBhbmQgZG9lcyBub3QgaW5jcmVhc2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5hbnku
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcXVvdGEtYWZ0
ZXItcmVzdGFydC5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYw
YTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
Y2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0YXJ0LmFueS5odG1sCkBAIC0wLDAg
KzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0
cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2Uv
Y2FjaGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5hbnkuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9j
YWNoZS1zdG9yYWdlL2NhY2hlLXF1b3RhLWFmdGVyLXJlc3RhcnQuYW55LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjAyZDE0YzdjNzQ3OGI1NDcxNDhjNTMwNjY3ZGU2N2FhOTFmZTM3MTIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXF1b3RhLWFmdGVy
LXJlc3RhcnQuYW55LmpzCkBAIC0wLDAgKzEsNDQgQEAKK3ZhciByZXNwb25zZTMwa28gPSBuZXcg
UmVzcG9uc2UobmV3IEFycmF5QnVmZmVyKDMwICogMTAyNCkpOwordmFyIHJlc3BvbnNlMjAxID0g
bmV3IFJlc3BvbnNlKG5ldyBBcnJheUJ1ZmZlcigyMDEgKiAxMDI0KSk7Cit2YXIgcmVzcG9uc2U0
MDAgPSBuZXcgUmVzcG9uc2UobmV3IEFycmF5QnVmZmVyKDQwMCAqIDEwMjQpKTsKKworcHJvbWlz
ZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICB0ZXN0UnVubmVyLnNldEFsbG93U3RvcmFnZVF1b3RhSW5jcmVhc2UodHJ1ZSk7CisKKyAg
ICBjb25zdCBjYWNoZSA9IGF3YWl0IHNlbGYuY2FjaGVzLm9wZW4oInRlbXAxIik7CisgICAgYXdh
aXQgY2FjaGUucHV0KCIyMDEiLCByZXNwb25zZTIwMS5jbG9uZSgpKTsKKyAgICBhd2FpdCBjYWNo
ZS5wdXQoIjQwMC12MSIsIHJlc3BvbnNlNDAwLmNsb25lKCkpOworICAgIGF3YWl0IGNhY2hlLnB1
dCgiNDAwLXYyIiwgcmVzcG9uc2U0MDAuY2xvbmUoKSk7CisKKyAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuc2V0QWxsb3dTdG9yYWdlUXVvdGFJbmNyZWFzZShm
YWxzZSk7CisKKyAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHRlc3QsICJRdW90YUV4Y2VlZGVk
RXJyb3IiLCBjYWNoZS5wdXQoIjMwa28iLCByZXNwb25zZTMwa28uY2xvbmUoKSksICJwdXQgc2hv
dWxkIGZhaWwiKTsKK30sICdJbmNyZWFzaW5nIHF1b3RhJyk7CisKK3Byb21pc2VfdGVzdChhc3lu
YyAodGVzdCkgPT4geworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVy
biBQcm9taXNlLnJlamVjdCgiVGVzdCByZXF1aXJlcyBpbnRlcm5hbHMiKTsKKworICAgIHdpbmRv
dy50ZXN0UnVubmVyLnRlcm1pbmF0ZU5ldHdvcmtQcm9jZXNzKCk7CisgICAgYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDApKTsKKworICAgIC8vIFNwYWNl
IHVzZWQgaXMgYXJvdW5kIDEwMDFrbywgYWZ0ZXIgcm91bmRpbmcgcXVvdGEgc2hvdWxkIGJlIDEw
NDBrby4KKyAgICBjb25zdCBjYWNoZSA9IGF3YWl0IHNlbGYuY2FjaGVzLm9wZW4oInRlbXAyIik7
CisgICAgcmV0dXJuIGNhY2hlLnB1dCgiMzBrbyIsIHJlc3BvbnNlMzBrby5jbG9uZSgpKTsKK30s
ICdBZnRlciBuZXR3b3JrIHByb2Nlc3MgcmVzdGFydCwgdmVyaWZ5IHF1b3RhIGlzIGNvbXB1dGVk
IGFjY29yZGluZyBzcGFjZSBiZWluZyB1c2VkJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVz
dCkgPT4geworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybiBQcm9t
aXNlLnJlamVjdCgiVGVzdCByZXF1aXJlcyBpbnRlcm5hbHMiKTsKKworICAgIHdpbmRvdy50ZXN0
UnVubmVyLnRlcm1pbmF0ZU5ldHdvcmtQcm9jZXNzKCk7CisgICAgYXdhaXQgbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDApKTsKKworICAgIC8vIFNwYWNlIHVzZWQg
aXMgYXJvdW5kIDEwMzFrbywgYWZ0ZXIgcm91bmRpbmcgcXVvdGEgc2hvdWxkIGJlIDEwNDBrby4K
KyAgICBjb25zdCBjYWNoZSA9IGF3YWl0IHNlbGYuY2FjaGVzLm9wZW4oInRlbXAzIik7CisgICAg
cmV0dXJuIHByb21pc2VfcmVqZWN0cyh0ZXN0LCAiUXVvdGFFeGNlZWRlZEVycm9yIiwgY2FjaGUu
cHV0KCIzMGtvIiwgcmVzcG9uc2UzMGtvLmNsb25lKCkpLCAicHV0IHNob3VsZCBmYWlsIik7Cit9
LCAnQWZ0ZXIgbmV0d29yayBwcm9jZXNzIHJlc3RhcnQsIHZlcmlmeSBxdW90YSBpcyBjb21wdXRl
ZCBhY2NvcmRpbmcgc3BhY2UgYmVpbmcgdXNlZCBhbmQgZG9lcyBub3QgaW5jcmVhc2UnKTsKKwor
ZG9uZSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365353</attachid>
            <date>2019-03-20 10:19:02 -0700</date>
            <delta_ts>2019-03-20 17:56:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195804-20190320101901.patch</filename>
            <type>text/plain</type>
            <size>13414</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTQ2NDA4ZmE1M2M1ODg1
ZjBkYThkZTc3OTNiZDRhNDQ3N2Q4ZmE2Ny4uZDVkMWY0MDM2NWVkZWFmNGQzNDQ0NmZhYTBiYmFj
ZmRjODRmYmFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE5LTAzLTIwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDb21wdXRlIHF1b3RhIGFm
dGVyIG5ldHdvcmsgcHJvY2VzcyByZXN0YXJ0IGJhc2VkIG9uIGRlZmF1bHQgcXVvdGEgYW5kIHNw
YWNlIHVzZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5NTgwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEF0IGNyZWF0aW9uIG9mIHF1b3RhIG1hbmFnZXIsIGEgZGVmYXVsdCBxdW90YSB3aWxsIGJlIGFz
c2lnbmVkLgorICAgICAgICBUaGlzIHZhbHVlIGlzIHRoZSBzYW1lIGZvciBhbGwgb3JpZ2lucy4K
KyAgICAgICAgU29tZSBvcmlnaW5zIG1heSBoYXZlIGJlZW4gZ3JhbnRlZCBhIGJpZ2dlciBxdW90
YSBieSB0aGUgdXNlci4KKyAgICAgICAgSW4gdGhhdCBjYXNlLCB0aGUgc3BhY2UgdXNlZCBtaWdo
dCBiZSBncmVhdGVyIGZvciB0aGVzZSBvcmlnaW5zLgorICAgICAgICBVcGRhdGUgYXQgaW5pdGlh
bGl6YXRpb24gdGltZSB0aGUgcXVvdGEgYWNjb3JkaW5nIHRoZSBzcGFjZSB1c2VkIGFzIGZvbGxv
d3M6CisgICAgICAgIC0gSWYgc3BhY2UgdXNlZCBpcyBiZWxvdyBkZWZhdWx0IHF1b3RhLCBzdGlj
ayB3aXRoIGRlZmF1bHQgcXVvdGEuCisgICAgICAgIC0gSWYgc3BhY2UgdXNlZCBpcyBhYm92ZSwg
c2V0IHF1b3RhIHRvIHNwYWNlIHVzZWQgcm91bmRlZCBieSBvbmUgdGVudGggb2YgdGhlIGRlZmF1
bHQgcXVvdGEuCisgICAgICAgIFRoZSByb3VuZGluZyBlbnN1cmVzIHRoYXQgcXVvdGEgcmVxdWVz
dHMgd2lsbCBub3QgaGFwcGVuIHRvbyBxdWlja2x5IGFmdGVyIGEgcGFnZSBpcyBsb2FkZWQuCisK
KyAgICAgICAgVGVzdDogaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1y
ZXN0YXJ0LmFueS5odG1sCisKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZVF1b3RhTWFuYWdlcjo6aW5pdGlhbGl6ZVF1
b3RhQWNjb3JkaW5nU3BhY2VVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdlUXVvdGFN
YW5hZ2VyOjphZGRVc2VyKToKKyAgICAgICAgTWFrZSBzdXJlIGEgZ2l2ZW4gdXNlciBpcyBtb3Zl
ZCBmcm9tIHBlbmRpbmcgdG8gYWN0dWFsIHVzZXIsIG9ubHkgaWYgaXQgaXMgYSBwZW5kaW5nIHVz
ZXIuCisgICAgICAgIEZvcmJpZCB0aGUgcG9zc2liaWxpdHkgdG8gcHJvY2VzcyBwZW5kaW5nIHJl
cXVlc3RzIGlmIHRoZXJlIGFyZSBzdGlsbCBzb21lIHBlbmRpbmcgdXNlcnMuCisgICAgICAgICog
c3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmg6CisKIDIwMTktMDMtMTkgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVwYXJlbnRpbmcgZHVyaW5nIGEgbXV0
YXRpb24gZXZlbnQgaW5zaWRlIGFwcGVuZENoaWxkIGNvdWxkIHJlc3VsdCBpbiBhIGNpcmN1bGFy
IERPTSB0cmVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU2YTllZjUyNzk0ZjkzZDc0MTc0NmQwNTE0ZmZjOGI1Mjk1
ZWNjNzcuLmViMWIwMDVkZDRmMzdhZTI3NTE5ZmFlMWMzNzk1MWYzMzE5ZGNhZjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDMtMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIENvbXB1dGUgcXVvdGEgYWZ0ZXIgbmV0d29yayBwcm9jZXNzIHJl
c3RhcnQgYmFzZWQgb24gZGVmYXVsdCBxdW90YSBhbmQgc3BhY2UgdXNlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1ODA0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBzdXJlIHRoYXQgQ2FjaGUg
U3RvcmFnZSBxdW90YSB1c2VyIHdhaXRzIHRvIGRlY2xhcmUgYXMgaW5pdGlhbGl6ZWQgdG8gaXRz
IG1hbmFnZXIKKyAgICAgICAgdW50aWwgYWxsIGRhdGEgaXMgbG9hZGVkIHNvIHRoYXQgaXQgY2Fu
IHJlcG9ydCBhIHZhbGlkIHNwYWNlIHVzZWQgZnJvbSB0aGUgc3RhcnQuCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6Y3JlYXRlKTogTmVlZCB0byBjYWxsIGFk
ZFVzZXIgaGVyZSBhcworICAgICAgICBpdCBtYXkgcmVmIHRoZSBDYWNoZXMgb2JqZWN0IHNvIGl0
IG5lZWRzIHRvIGJlIGFkb3B0ZWQgZmlyc3QuCisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFn
ZTo6Q2FjaGVzOjpDYWNoZXMpOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hl
czo6d2hlbkluaXRpYWxpemVkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNo
ZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9D
YWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVT
dG9yYWdlRW5naW5lQ29ubmVjdGlvbjo6ZGVyZWZlcmVuY2UpOgorICAgICAgICBSZW1vdmUgYXNz
ZXJ0aW9uIHdoaWNoIGlzIGZhbHNlIHdoZW4gbmV0d29yayBwcm9jZXNzIGlzIGNyYXNoaW5nLgor
CiAyMDE5LTAzLTE5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCBidWlsZCBmaXggYWZ0ZXIgcjI0MzE3My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuY3BwCmluZGV4IGUzMGE0MGE4OWZkNGI2MDY3Njk3
OGNjZTRiNjAxN2Y1YzYxZTg4MDUuLjY5YzJjNGUyZmRiYmM2Nzg4MzcwMDQyNWFkMWZlNGU3MDM1
ZTQ0OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFu
YWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2Vy
LmNwcApAQCAtNDQsNiArNDQsMTUgQEAgdWludDY0X3QgU3RvcmFnZVF1b3RhTWFuYWdlcjo6c3Bh
Y2VVc2FnZSgpIGNvbnN0CiAgICAgcmV0dXJuIHVzYWdlOwogfQogCit2b2lkIFN0b3JhZ2VRdW90
YU1hbmFnZXI6OnNldFF1b3RhQmFzZWRPblNwYWNlVXNhZ2UoKQoreworICAgIGlmICghbV9xdW90
YSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBkZWZhdWx0UXVvdGFTdGVwID0gbV9xdW90
YSAvIDEwOworICAgIG1fcXVvdGEgPSBzdGQ6Om1heChtX3F1b3RhLCBkZWZhdWx0UXVvdGFTdGVw
ICogKChzcGFjZVVzYWdlKCkgLyBkZWZhdWx0UXVvdGFTdGVwKSArIDEpKTsKK30KKwogdm9pZCBT
dG9yYWdlUXVvdGFNYW5hZ2VyOjphZGRVc2VyKFN0b3JhZ2VRdW90YVVzZXImIHVzZXIpCiB7CiAg
ICAgQVNTRVJUKCFtX3BlbmRpbmdJbml0aWFsaXphdGlvblVzZXJzLmNvbnRhaW5zKCZ1c2VyKSk7
CkBAIC01Miw4ICs2MSwxNCBAQCB2b2lkIFN0b3JhZ2VRdW90YU1hbmFnZXI6OmFkZFVzZXIoU3Rv
cmFnZVF1b3RhVXNlciYgdXNlcikKICAgICB1c2VyLndoZW5Jbml0aWFsaXplZChbdGhpcywgJnVz
ZXIsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyldKCkgewogICAgICAgICBpZiAoIXdlYWtU
aGlzKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBtX3BlbmRpbmdJbml0aWFsaXphdGlv
blVzZXJzLnJlbW92ZSgmdXNlcik7Ci0gICAgICAgIG1fdXNlcnMuYWRkKCZ1c2VyKTsKKworICAg
ICAgICBpZiAobV9wZW5kaW5nSW5pdGlhbGl6YXRpb25Vc2Vycy5yZW1vdmUoJnVzZXIpKQorICAg
ICAgICAgICAgbV91c2Vycy5hZGQoJnVzZXIpOworCisgICAgICAgIGlmICghbV9wZW5kaW5nSW5p
dGlhbGl6YXRpb25Vc2Vycy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAg
ICAgc2V0UXVvdGFCYXNlZE9uU3BhY2VVc2FnZSgpOwogICAgICAgICBwcm9jZXNzUGVuZGluZ1Jl
cXVlc3RzKHsgfSk7CiAgICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZVF1b3RhTWFuYWdlci5oCmluZGV4IDFiNmZkOGY3MjA0ZjQ3OGFhYTI1OTZjZWU5ODEyMzdlMzJi
OTg4YTAuLmEwMzgxMDkyYjQzZjJkYmEwNjAzYmE0ZGVmODg3YTJmMWRmMTczMTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5oCkBAIC02NSw2ICs2NSw3
IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3Qgc3BhY2VVc2FnZSgpIGNvbnN0OwogICAgIHZvaWQg
YXNrRm9yTW9yZVNwYWNlKHVpbnQ2NF90IHNwYWNlVXNhZ2UsIHVpbnQ2NF90IHNwYWNlSW5jcmVh
c2UpOwogICAgIHZvaWQgcHJvY2Vzc1BlbmRpbmdSZXF1ZXN0cyhPcHRpb25hbDx1aW50NjRfdD4p
OworICAgIHZvaWQgc2V0UXVvdGFCYXNlZE9uU3BhY2VVc2FnZSgpOwogCiAgICAgdWludDY0X3Qg
bV9xdW90YSB7IDAgfTsKICAgICBTcGFjZUluY3JlYXNlUmVxdWVzdGVyIG1fc3BhY2VJbmNyZWFz
ZVJlcXVlc3RlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcAppbmRleCA5YzJhYTM3MWU0
OTQwMjY5Y2E5YmMxNDgwYzI4YTI2NzVjMjRkMzVhLi5jNTMyZjFjZDc1ZmUyYTUwOGI3YzE4NGJh
ZTZmMTU1NGZmMDQ5MmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwCkBAIC01MSwx
MyArNTEsMTkgQEAgc3RhdGljIGlubGluZSBTdHJpbmcgY2FjaGVzT3JpZ2luRmlsZW5hbWUoY29u
c3QgU3RyaW5nJiBjYWNoZXNSb290UGF0aCkKICAgICByZXR1cm4gRmlsZVN5c3RlbTo6cGF0aEJ5
QXBwZW5kaW5nQ29tcG9uZW50KGNhY2hlc1Jvb3RQYXRoLCAib3JpZ2luIl9zKTsKIH0KIAorUmVm
PENhY2hlcz4gQ2FjaGVzOjpjcmVhdGUoRW5naW5lJiBlbmdpbmUsIFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYmIG9yaWdpbiwgU3RyaW5nJiYgcm9vdFBhdGgsIFdlYkNvcmU6OlN0b3JhZ2VRdW90YU1h
bmFnZXImIHF1b3RhTWFuYWdlcikKK3sKKyAgICBhdXRvIGNhY2hlcyA9IGFkb3B0UmVmKCpuZXcg
Q2FjaGVzIHsgZW5naW5lLCBXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUocm9vdFBhdGgpLCBxdW90
YU1hbmFnZXIgfSk7CisgICAgcXVvdGFNYW5hZ2VyLmFkZFVzZXIoY2FjaGVzLmdldCgpKTsKKyAg
ICByZXR1cm4gY2FjaGVzOworfQorCiBDYWNoZXM6OkNhY2hlcyhFbmdpbmUmIGVuZ2luZSwgV2Vi
Q29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBTdHJpbmcmJiByb290UGF0aCwgV2ViQ29yZTo6
U3RvcmFnZVF1b3RhTWFuYWdlciYgcXVvdGFNYW5hZ2VyKQogICAgIDogbV9lbmdpbmUoJmVuZ2lu
ZSkKICAgICAsIG1fb3JpZ2luKFdURk1vdmUob3JpZ2luKSkKICAgICAsIG1fcm9vdFBhdGgoV1RG
TW92ZShyb290UGF0aCkpCiAgICAgLCBtX3F1b3RhTWFuYWdlcihtYWtlV2Vha1B0cihxdW90YU1h
bmFnZXIpKQogewotICAgIHF1b3RhTWFuYWdlci5hZGRVc2VyKCp0aGlzKTsKIH0KIAogQ2FjaGVz
Ojp+Q2FjaGVzKCkKQEAgLTY4LDYgKzc0LDE1IEBAIENhY2hlczo6fkNhY2hlcygpCiAgICAgICAg
IG1fcXVvdGFNYW5hZ2VyLT5yZW1vdmVVc2VyKCp0aGlzKTsKIH0KIAordm9pZCBDYWNoZXM6Ondo
ZW5Jbml0aWFsaXplZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY2FsbGJhY2spCit7Cisg
ICAgaW5pdGlhbGl6ZShbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oYXV0byYmIGVycm9y
KSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKGVycm9yKQorICAgICAgICAgICAgUkVMRUFTRV9MT0df
RVJST1IoQ2FjaGVTdG9yYWdlLCAiQ2FjaGVzOjppbml0aWFsaXplIGZhaWxlZCwgcmVwb3J0ZWQg
c3BhY2UgdXNlZCB3aWxsIGJlIHplcm8iKTsKKyAgICAgICAgY2FsbGJhY2soKTsKKyAgICB9KTsK
K30KKwogdm9pZCBDYWNoZXM6OnJldHJpZXZlT3JpZ2luRnJvbURpcmVjdG9yeShjb25zdCBTdHJp
bmcmIGZvbGRlclBhdGgsIFdvcmtRdWV1ZSYgcXVldWUsIFdURjo6Q29tcGxldGlvbkhhbmRsZXI8
dm9pZChPcHRpb25hbDxXZWJDb3JlOjpDbGllbnRPcmlnaW4+JiYpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewogICAgIHF1ZXVlLmRpc3BhdGNoKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpLCBmaWxlbmFtZSA9IGNhY2hlc09yaWdpbkZpbGVuYW1lKGZvbGRl
clBhdGgpXSgpIG11dGFibGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmgKaW5kZXggZWVlODI2
Nzg0OTlmNTlmMDViMjBkMzdhM2RiZGJmNjcwNTQxNTNiMS4uMzNhMTYyYzFkMjk4MWZjNTE3ZDU1
MjE0ZTYzMGUzZGI2OWZkYzZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oCkBAIC00NCw3
ICs0NCw3IEBAIGNsYXNzIEVuZ2luZTsKIAogY2xhc3MgQ2FjaGVzIGZpbmFsIDogcHVibGljIFJl
ZkNvdW50ZWQ8Q2FjaGVzPiwgcHJpdmF0ZSBXZWJDb3JlOjpTdG9yYWdlUXVvdGFVc2VyIHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUmVmPENhY2hlcz4gY3JlYXRlKEVuZ2luZSYgZW5naW5lLCBXZWJD
b3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFN0cmluZyYmIHJvb3RQYXRoLCBXZWJDb3JlOjpT
dG9yYWdlUXVvdGFNYW5hZ2VyJiBxdW90YU1hbmFnZXIpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
Q2FjaGVzIHsgZW5naW5lLCBXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUocm9vdFBhdGgpLCBxdW90
YU1hbmFnZXIgfSk7IH0KKyAgICBzdGF0aWMgUmVmPENhY2hlcz4gY3JlYXRlKEVuZ2luZSYsIFdl
YkNvcmU6OkNsaWVudE9yaWdpbiYmLCBTdHJpbmcmJiByb290UGF0aCwgV2ViQ29yZTo6U3RvcmFn
ZVF1b3RhTWFuYWdlciYpOwogICAgIH5DYWNoZXMoKTsKIAogICAgIHN0YXRpYyB2b2lkIHJldHJp
ZXZlT3JpZ2luRnJvbURpcmVjdG9yeShjb25zdCBTdHJpbmcmIGZvbGRlclBhdGgsIFdvcmtRdWV1
ZSYsIFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxXZWJDb3JlOjpDbGllbnRP
cmlnaW4+JiYpPiYmKTsKQEAgLTkxLDYgKzkxLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlYWRD
YWNoZXNGcm9tRGlzayhXVEY6OkZ1bmN0aW9uPHZvaWQoRXhwZWN0ZWQ8VmVjdG9yPENhY2hlPiwg
V2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkVycm9yPiYmKT4mJik7CiAgICAgdm9pZCB3cml0ZUNh
Y2hlc1RvRGlzayhXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrJiYp
OwogCisgICAgdm9pZCB3aGVuSW5pdGlhbGl6ZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KSBmaW5hbDsKKwogICAgIHZvaWQgc3RvcmVPcmlnaW4oV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6
OkNvbXBsZXRpb25DYWxsYmFjayYmKTsKICAgICBzdGF0aWMgT3B0aW9uYWw8V2ViQ29yZTo6Q2xp
ZW50T3JpZ2luPiByZWFkT3JpZ2luKGNvbnN0IE5ldHdvcmtDYWNoZTo6RGF0YSYpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVu
Z2luZUNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9D
YWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uLmNwcAppbmRleCA2Y2E0NmFkMGE4MWQ5MDg2YTUy
MzU3MWI5ZjgwYzg3ZTM5ODVmZThmLi41YTIyMjM0NDMyMDM2MmFhMTk4YzE3ZDE2YTdiN2Y2ZGQ3
Zjc4YjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0Nh
Y2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbi5jcHAKQEAgLTEzOCw3
ICsxMzgsNiBAQCB2b2lkIENhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OmRlcmVmZXJlbmNl
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgdWludDY0XwogICAgIH0pLml0ZXJhdG9yLT52YWx1
ZTsKIAogICAgIGF1dG8gcmVmZXJlbmNlUmVzdWx0ID0gcmVmZXJlbmNlcy5maW5kKGNhY2hlSWRl
bnRpZmllcik7Ci0gICAgQVNTRVJUKHJlZmVyZW5jZVJlc3VsdCAhPSByZWZlcmVuY2VzLmVuZCgp
KTsKICAgICBpZiAocmVmZXJlbmNlUmVzdWx0ID09IHJlZmVyZW5jZXMuZW5kKCkpCiAgICAgICAg
IHJldHVybjsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGI4MzVlNGYxYjUxNGRiZGVkOGY4MTNhNTE5NWQ3NWYxNWE0YjNk
YjkuLjY2ODBlMjQ4OTU3MDhjYzliNWRiMTkxYzQyZjY5ZjU3YTVhYjU2NDkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxOS0wMy0yMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgQ29tcHV0ZSBxdW90YSBhZnRlciBuZXR3b3JrIHByb2Nlc3MgcmVzdGFydCBi
YXNlZCBvbiBkZWZhdWx0IHF1b3RhIGFuZCBzcGFjZSB1c2VkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU4MDQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2Fj
aGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXF1b3RhLWFmdGVyLXJlc3RhcnQuYW55Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcXVvdGEt
YWZ0ZXItcmVzdGFydC5hbnkuanM6IEFkZGVkLgorICAgICAgICAocHJvbWlzZV90ZXN0LmFzeW5j
KToKKwogMjAxOS0wMy0xOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBSZXBhcmVudGluZyBkdXJpbmcgYSBtdXRhdGlvbiBldmVudCBpbnNpZGUgYXBwZW5kQ2hp
bGQgY291bGQgcmVzdWx0IGluIGEgY2lyY3VsYXIgRE9NIHRyZWUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5h
bnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNo
ZS1xdW90YS1hZnRlci1yZXN0YXJ0LmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTIwNDMx
NDRlNTI4ODUwN2MzY2ExOTViNTFkODE2MDIxYjc1ODFjMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcXVvdGEtYWZ0ZXItcmVzdGFy
dC5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorQ09OU09MRSBNRVNTQUdFOiBDYWNo
ZSBBUEkgb3BlcmF0aW9uIGZhaWxlZDogUXVvdGEgZXhjZWVkZWQKK0NPTlNPTEUgTUVTU0FHRTog
Q2FjaGUgQVBJIG9wZXJhdGlvbiBmYWlsZWQ6IFF1b3RhIGV4Y2VlZGVkCisKK1BBU1MgSW5jcmVh
c2luZyBxdW90YSAKK1BBU1MgQWZ0ZXIgbmV0d29yayBwcm9jZXNzIHJlc3RhcnQsIHZlcmlmeSBx
dW90YSBpcyBjb21wdXRlZCBhY2NvcmRpbmcgc3BhY2UgYmVpbmcgdXNlZCAKK1BBU1MgQWZ0ZXIg
bmV0d29yayBwcm9jZXNzIHJlc3RhcnQsIHZlcmlmeSBxdW90YSBpcyBjb21wdXRlZCBhY2NvcmRp
bmcgc3BhY2UgYmVpbmcgdXNlZCBhbmQgZG9lcyBub3QgaW5jcmVhc2UgCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcXVvdGEtYWZ0ZXItcmVz
dGFydC5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUt
cXVvdGEtYWZ0ZXItcmVzdGFydC5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2Iz
YTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0YXJ0LmFueS5odG1s
CkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVz
dCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2NhY2hl
LXN0b3JhZ2UvY2FjaGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5hbnkuanMgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXF1b3RhLWFmdGVyLXJlc3RhcnQuYW55LmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE5ZDgzZDkyNzM5Zjc2MjZiZjIyZTRhNTI1NWE1ODM0NzIyODc3M2QKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXF1
b3RhLWFmdGVyLXJlc3RhcnQuYW55LmpzCkBAIC0wLDAgKzEsNDQgQEAKK3ZhciByZXNwb25zZTMw
a28gPSBuZXcgUmVzcG9uc2UobmV3IEFycmF5QnVmZmVyKDMwICogMTAyNCkpOwordmFyIHJlc3Bv
bnNlMjAxID0gbmV3IFJlc3BvbnNlKG5ldyBBcnJheUJ1ZmZlcigyMDEgKiAxMDI0KSk7Cit2YXIg
cmVzcG9uc2U0MDAgPSBuZXcgUmVzcG9uc2UobmV3IEFycmF5QnVmZmVyKDQwMCAqIDEwMjQpKTsK
KworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICB0ZXN0UnVubmVyLnNldEFsbG93U3RvcmFnZVF1b3RhSW5jcmVhc2UodHJ1
ZSk7CisKKyAgICBjb25zdCBjYWNoZSA9IGF3YWl0IHNlbGYuY2FjaGVzLm9wZW4oInRlbXAxIik7
CisgICAgYXdhaXQgY2FjaGUucHV0KCIyMDEiLCByZXNwb25zZTIwMS5jbG9uZSgpKTsKKyAgICBh
d2FpdCBjYWNoZS5wdXQoIjQwMC12MSIsIHJlc3BvbnNlNDAwLmNsb25lKCkpOworICAgIGF3YWl0
IGNhY2hlLnB1dCgiNDAwLXYyIiwgcmVzcG9uc2U0MDAuY2xvbmUoKSk7CisKKyAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuc2V0QWxsb3dTdG9yYWdlUXVvdGFJ
bmNyZWFzZShmYWxzZSk7CisKKyAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHRlc3QsICJRdW90
YUV4Y2VlZGVkRXJyb3IiLCBjYWNoZS5wdXQoIjMwa28iLCByZXNwb25zZTMwa28uY2xvbmUoKSks
ICJwdXQgc2hvdWxkIGZhaWwiKTsKK30sICdJbmNyZWFzaW5nIHF1b3RhJyk7CisKK3Byb21pc2Vf
dGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgiVGVzdCByZXF1aXJlcyBpbnRlcm5hbHMiKTsKKwor
ICAgIHdpbmRvdy50ZXN0UnVubmVyLnRlcm1pbmF0ZU5ldHdvcmtQcm9jZXNzKCk7CisgICAgYXdh
aXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDApKTsKKworICAg
IC8vIFNwYWNlIHVzZWQgaXMgYXJvdW5kIDEwMDFrby4gQWZ0ZXIgcm91bmRpbmcsIHF1b3RhIHNo
b3VsZCBiZSAxMDQwa28uCisgICAgY29uc3QgY2FjaGUgPSBhd2FpdCBzZWxmLmNhY2hlcy5vcGVu
KCJ0ZW1wMiIpOworICAgIHJldHVybiBjYWNoZS5wdXQoIjMwa28iLCByZXNwb25zZTMwa28uY2xv
bmUoKSk7Cit9LCAnQWZ0ZXIgbmV0d29yayBwcm9jZXNzIHJlc3RhcnQsIHZlcmlmeSBxdW90YSBp
cyBjb21wdXRlZCBhY2NvcmRpbmcgc3BhY2UgYmVpbmcgdXNlZCcpOworCitwcm9taXNlX3Rlc3Qo
YXN5bmMgKHRlc3QpID0+IHsKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBy
ZXR1cm4gUHJvbWlzZS5yZWplY3QoIlRlc3QgcmVxdWlyZXMgaW50ZXJuYWxzIik7CisKKyAgICB3
aW5kb3cudGVzdFJ1bm5lci50ZXJtaW5hdGVOZXR3b3JrUHJvY2VzcygpOworICAgIGF3YWl0IG5l
dyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCAwKSk7CisKKyAgICAvLyBT
cGFjZSB1c2VkIGlzIGFyb3VuZCAxMDMxa28uIEFmdGVyIHJvdW5kaW5nLCBxdW90YSBzaG91bGQg
YmUgMTA0MGtvLgorICAgIGNvbnN0IGNhY2hlID0gYXdhaXQgc2VsZi5jYWNoZXMub3BlbigidGVt
cDMiKTsKKyAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHRlc3QsICJRdW90YUV4Y2VlZGVkRXJy
b3IiLCBjYWNoZS5wdXQoIjMwa28iLCByZXNwb25zZTMwa28uY2xvbmUoKSksICJwdXQgc2hvdWxk
IGZhaWwiKTsKK30sICdBZnRlciBuZXR3b3JrIHByb2Nlc3MgcmVzdGFydCwgdmVyaWZ5IHF1b3Rh
IGlzIGNvbXB1dGVkIGFjY29yZGluZyBzcGFjZSBiZWluZyB1c2VkIGFuZCBkb2VzIG5vdCBpbmNy
ZWFzZScpOworCitkb25lKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365451</attachid>
            <date>2019-03-20 17:57:01 -0700</date>
            <delta_ts>2019-03-20 20:59:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195804-20190320175700.patch</filename>
            <type>text/plain</type>
            <size>21152</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTQ2NDA4ZmE1M2M1ODg1
ZjBkYThkZTc3OTNiZDRhNDQ3N2Q4ZmE2Ny4uMGMyNDQ5ZTA5N2QyMGNkZDJjMWJkZmRkY2Y2NDdk
N2ZhMjliODA3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE5LTAzLTIwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDb21wdXRlIHF1b3RhIGFm
dGVyIG5ldHdvcmsgcHJvY2VzcyByZXN0YXJ0IGJhc2VkIG9uIGRlZmF1bHQgcXVvdGEgYW5kIHNw
YWNlIHVzZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5NTgwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEF0IGNyZWF0aW9uIG9mIHF1b3RhIG1hbmFnZXIsIGEgZGVmYXVsdCBxdW90YSB3aWxsIGJlIGFz
c2lnbmVkLgorICAgICAgICBUaGlzIHZhbHVlIGlzIHRoZSBzYW1lIGZvciBhbGwgb3JpZ2lucy4K
KyAgICAgICAgU29tZSBvcmlnaW5zIG1heSBoYXZlIGJlZW4gZ3JhbnRlZCBhIGJpZ2dlciBxdW90
YSBieSB0aGUgdXNlci4KKyAgICAgICAgSW4gdGhhdCBjYXNlLCB0aGUgc3BhY2UgdXNlZCBtaWdo
dCBiZSBncmVhdGVyIGZvciB0aGVzZSBvcmlnaW5zLgorICAgICAgICBVcGRhdGUgYXQgaW5pdGlh
bGl6YXRpb24gdGltZSB0aGUgcXVvdGEgYWNjb3JkaW5nIHRoZSBzcGFjZSB1c2VkIGFzIGZvbGxv
d3M6CisgICAgICAgIC0gSWYgc3BhY2UgdXNlZCBpcyBiZWxvdyBkZWZhdWx0IHF1b3RhLCBzdGlj
ayB3aXRoIGRlZmF1bHQgcXVvdGEuCisgICAgICAgIC0gSWYgc3BhY2UgdXNlZCBpcyBhYm92ZSwg
c2V0IHF1b3RhIHRvIHNwYWNlIHVzZWQgcm91bmRlZCBieSBvbmUgdGVudGggb2YgdGhlIGRlZmF1
bHQgcXVvdGEuCisgICAgICAgIFRoZSByb3VuZGluZyBlbnN1cmVzIHRoYXQgcXVvdGEgcmVxdWVz
dHMgd2lsbCBub3QgaGFwcGVuIHRvbyBxdWlja2x5IGFmdGVyIGEgcGFnZSBpcyBsb2FkZWQuCisK
KyAgICAgICAgVGVzdDogaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1y
ZXN0YXJ0LmFueS5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNv
bm5lY3Rpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnNl
dFF1b3RhQmFzZWRPblNwYWNlVXNhZ2UpOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZVF1b3Rh
TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdlUXVvdGFNYW5hZ2VyOjpzZXRR
dW90YUJhc2VkT25TcGFjZVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VRdW90YU1h
bmFnZXI6OmFkZFVzZXIpOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5o
OgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
dGVybmFsczo6c2V0UXVvdGFCYXNlZE9uU3BhY2VVc2FnZSk6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTktMDMt
MTkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVwYXJlbnRp
bmcgZHVyaW5nIGEgbXV0YXRpb24gZXZlbnQgaW5zaWRlIGFwcGVuZENoaWxkIGNvdWxkIHJlc3Vs
dCBpbiBhIGNpcmN1bGFyIERPTSB0cmVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU2YTllZjUyNzk0ZjkzZDc0MTc0
NmQwNTE0ZmZjOGI1Mjk1ZWNjNzcuLjA0ZTI5YjdmNTBmNTZhMzBjZjg0YjY0ZjA5MzgwMTdiNmI3
ZmIyYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTktMDMtMjAgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIENvbXB1dGUgcXVvdGEgYWZ0ZXIgbmV0
d29yayBwcm9jZXNzIHJlc3RhcnQgYmFzZWQgb24gZGVmYXVsdCBxdW90YSBhbmQgc3BhY2UgdXNl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1ODA0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBz
dXJlIHRoYXQgQ2FjaGUgU3RvcmFnZSBxdW90YSB1c2VyIHdhaXRzIHRvIGRlY2xhcmUgYXMgaW5p
dGlhbGl6ZWQgdG8gaXRzIG1hbmFnZXIKKyAgICAgICAgdW50aWwgYWxsIGRhdGEgaXMgbG9hZGVk
IHNvIHRoYXQgaXQgY2FuIHJlcG9ydCBhIHZhbGlkIHNwYWNlIHVzZWQgZnJvbSB0aGUgc3RhcnQu
CisKKyAgICAgICAgQWRkIHRlc3QgQVBJIHRvIHJlc2V0IHRoZSBxdW90YSB0byBpdHMgZGVmYXVs
dCB2YWx1ZSBhbmQgY29tcHV0ZSBpdCBhY2NvcmRpbmcgY3VycmVudCBzcGFjZSB1c2UuCisKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjpzZXRRdW90YUJhc2VkT25TcGFjZVVzYWdlRm9yVGVzdGluZyk6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwOgorICAgICAgICAo
V2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6
Q2FjaGVTdG9yYWdlOjpDYWNoZXM6OkNhY2hlcyk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3Rv
cmFnZTo6Q2FjaGVzOjp3aGVuSW5pdGlhbGl6ZWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpkZXJlZmVyZW5jZSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6c2V0UXVvdGFCYXNlZE9uU3Bh
Y2VVc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uLmg6CisKIDIwMTktMDMtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBhZnRlciByMjQzMTczLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaApp
bmRleCA0ZGFhMzQ0OGYyMmFjZDFjNDgyMDE3MzAyZDNjNjdiOWI5NGQ4ZDhiLi5jMzhhN2FiYTli
ZTY1ZWNhZTM0MDkyOWRiOWJmMTAyYmFkODY2ZmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaApAQCAtNTUsNiArNTUs
NyBAQCBwdWJsaWM6CiAgICAgLy8gVXNlZCBvbmx5IGZvciB0ZXN0aW5nIHB1cnBvc2VzLgogICAg
IHZpcnR1YWwgdm9pZCBjbGVhck1lbW9yeVJlcHJlc2VudGF0aW9uKGNvbnN0IENsaWVudE9yaWdp
biYsIERPTUNhY2hlRW5naW5lOjpDb21wbGV0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykgeyBjYWxs
YmFjayhET01DYWNoZUVuZ2luZTo6RXJyb3I6Ok5vdEltcGxlbWVudGVkKTsgfQogICAgIHZpcnR1
YWwgdm9pZCBlbmdpbmVSZXByZXNlbnRhdGlvbihXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgU3Ry
aW5nJik+JiYgY2FsbGJhY2spIHsgY2FsbGJhY2soU3RyaW5nIHsgfSk7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgc2V0UXVvdGFCYXNlZE9uU3BhY2VVc2FnZShjb25zdCBDbGllbnRPcmlnaW4mKSB7IH0K
IAogcHJvdGVjdGVkOgogICAgIENhY2hlU3RvcmFnZUNvbm5lY3Rpb24oKSA9ICBkZWZhdWx0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5jcHAKaW5kZXgg
ZTMwYTQwYTg5ZmQ0YjYwNjc2OTc4Y2NlNGI2MDE3ZjVjNjFlODgwNS4uNjljMmM0ZTJmZGJiYzY3
ODgzNzAwNDI1YWQxZmU0ZTcwMzVlNDQ4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L1N0b3JhZ2VRdW90YU1hbmFnZXIuY3BwCkBAIC00NCw2ICs0NCwxNSBAQCB1aW50NjRfdCBTdG9y
YWdlUXVvdGFNYW5hZ2VyOjpzcGFjZVVzYWdlKCkgY29uc3QKICAgICByZXR1cm4gdXNhZ2U7CiB9
CiAKK3ZvaWQgU3RvcmFnZVF1b3RhTWFuYWdlcjo6c2V0UXVvdGFCYXNlZE9uU3BhY2VVc2FnZSgp
Cit7CisgICAgaWYgKCFtX3F1b3RhKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIGRlZmF1
bHRRdW90YVN0ZXAgPSBtX3F1b3RhIC8gMTA7CisgICAgbV9xdW90YSA9IHN0ZDo6bWF4KG1fcXVv
dGEsIGRlZmF1bHRRdW90YVN0ZXAgKiAoKHNwYWNlVXNhZ2UoKSAvIGRlZmF1bHRRdW90YVN0ZXAp
ICsgMSkpOworfQorCiB2b2lkIFN0b3JhZ2VRdW90YU1hbmFnZXI6OmFkZFVzZXIoU3RvcmFnZVF1
b3RhVXNlciYgdXNlcikKIHsKICAgICBBU1NFUlQoIW1fcGVuZGluZ0luaXRpYWxpemF0aW9uVXNl
cnMuY29udGFpbnMoJnVzZXIpKTsKQEAgLTUyLDggKzYxLDE0IEBAIHZvaWQgU3RvcmFnZVF1b3Rh
TWFuYWdlcjo6YWRkVXNlcihTdG9yYWdlUXVvdGFVc2VyJiB1c2VyKQogICAgIHVzZXIud2hlbklu
aXRpYWxpemVkKFt0aGlzLCAmdXNlciwgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKV0oKSB7
CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG1f
cGVuZGluZ0luaXRpYWxpemF0aW9uVXNlcnMucmVtb3ZlKCZ1c2VyKTsKLSAgICAgICAgbV91c2Vy
cy5hZGQoJnVzZXIpOworCisgICAgICAgIGlmIChtX3BlbmRpbmdJbml0aWFsaXphdGlvblVzZXJz
LnJlbW92ZSgmdXNlcikpCisgICAgICAgICAgICBtX3VzZXJzLmFkZCgmdXNlcik7CisKKyAgICAg
ICAgaWYgKCFtX3BlbmRpbmdJbml0aWFsaXphdGlvblVzZXJzLmlzRW1wdHkoKSkKKyAgICAgICAg
ICAgIHJldHVybjsKKworICAgICAgICBzZXRRdW90YUJhc2VkT25TcGFjZVVzYWdlKCk7CiAgICAg
ICAgIHByb2Nlc3NQZW5kaW5nUmVxdWVzdHMoeyB9KTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5oIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmgKaW5kZXggMWI2ZmQ4ZjcyMDRmNDc4
YWFhMjU5NmNlZTk4MTIzN2UzMmI5ODhhMC4uN2E1YTQ0YmFhNTFkZjA4M2NlMGQ1Y2ZjNTljNDdk
YzJiOGE0MWFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVv
dGFNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5h
Z2VyLmgKQEAgLTYxLDYgKzYxLDggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
cmVxdWVzdFNwYWNlKHVpbnQ2NF90LCBSZXF1ZXN0Q2FsbGJhY2smJik7CiAgICAgdm9pZCByZXNl
dFF1b3RhKHVpbnQ2NF90IG5ld1F1b3RhKSB7IG1fcXVvdGEgPSBuZXdRdW90YTsgfQogCisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRRdW90YUJhc2VkT25TcGFjZVVzYWdlKCk7CisKIHByaXZh
dGU6CiAgICAgdWludDY0X3Qgc3BhY2VVc2FnZSgpIGNvbnN0OwogICAgIHZvaWQgYXNrRm9yTW9y
ZVNwYWNlKHVpbnQ2NF90IHNwYWNlVXNhZ2UsIHVpbnQ2NF90IHNwYWNlSW5jcmVhc2UpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGIyZTBmNGY0YTRmNzYxYjMzNDBhNDA5
OTMyNjRiMDYwZTYyZjRhOWEuLjk3NzlhNzJlNTQ2ZDY4MTljYTE1ZDE0ZmI4ZjEzODcyOGIxYzhk
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQ3NTcsNiArNDc1Nywy
MiBAQCB2b2lkIEludGVybmFsczo6Y2FjaGVTdG9yYWdlRW5naW5lUmVwcmVzZW50YXRpb24oRE9N
UHJvbWlzZURlZmVycmVkPElETERPTVN0cmluZwogICAgIH0pOwogfQogCit2b2lkIEludGVybmFs
czo6c2V0UXVvdGFCYXNlZE9uU3BhY2VVc2FnZSgpCit7CisgICAgYXV0byogZG9jdW1lbnQgPSBj
b250ZXh0RG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50KQorICAgICAgICByZXR1cm47CisK
KyAgICBpZiAoIW1fY2FjaGVTdG9yYWdlQ29ubmVjdGlvbikgeworICAgICAgICBpZiAoYXV0byog
cGFnZSA9IGNvbnRleHREb2N1bWVudCgpLT5wYWdlKCkpCisgICAgICAgICAgICBtX2NhY2hlU3Rv
cmFnZUNvbm5lY3Rpb24gPSBwYWdlLT5jYWNoZVN0b3JhZ2VQcm92aWRlcigpLmNyZWF0ZUNhY2hl
U3RvcmFnZUNvbm5lY3Rpb24ocGFnZS0+c2Vzc2lvbklEKCkpOworICAgICAgICBpZiAoIW1fY2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbikKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBt
X2NhY2hlU3RvcmFnZUNvbm5lY3Rpb24tPnNldFF1b3RhQmFzZWRPblNwYWNlVXNhZ2UoQ2xpZW50
T3JpZ2luIHsgZG9jdW1lbnQtPnRvcE9yaWdpbigpLmRhdGEoKSwgZG9jdW1lbnQtPnNlY3VyaXR5
T3JpZ2luKCkuZGF0YSgpIH0pOworfQorCiB2b2lkIEludGVybmFsczo6c2V0Q29uc29sZU1lc3Nh
Z2VMaXN0ZW5lcihSZWZQdHI8U3RyaW5nQ2FsbGJhY2s+JiYgbGlzdGVuZXIpCiB7CiAgICAgaWYg
KCFjb250ZXh0RG9jdW1lbnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDc2
ZjBlOWY2OWZmMzEyMTY3YTVlZTI5YmJjZWZjYmYxYzY5MDA1NTcuLmNiYjQ2YzBjNjdlZjI4ZDYw
NDk0YmJmYjcwNTJmY2RlYmZiY2YyNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApA
QCAtNzA2LDYgKzcwNiw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFJlc3BvbnNlU2l6ZVdpdGhQ
YWRkaW5nKEZldGNoUmVzcG9uc2UmLCB1aW50NjRfdCBzaXplKTsKICAgICB1aW50NjRfdCByZXNw
b25zZVNpemVXaXRoUGFkZGluZyhGZXRjaFJlc3BvbnNlJikgY29uc3Q7CiAKKyAgICB2b2lkIHNl
dFF1b3RhQmFzZWRPblNwYWNlVXNhZ2UoKTsKKwogICAgIHZvaWQgc2V0Q29uc29sZU1lc3NhZ2VM
aXN0ZW5lcihSZWZQdHI8U3RyaW5nQ2FsbGJhY2s+JiYpOwogCiAjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGE5MDU5M2JiMzhi
ZTY1NDRkODI1ZTg2NWZkODY1OTE5NDg0YmZkNmYuLjgzN2U1ZTVhNTEzYjBiYzMzYTFmZGE4YzM4
MzNiMWMxMzJhZDBmYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTY4
OSw2ICs2ODksOCBAQCBlbnVtIENvbXBvc2l0aW5nUG9saWN5IHsKICAgICB2b2lkIHNldFJlc3Bv
bnNlU2l6ZVdpdGhQYWRkaW5nKEZldGNoUmVzcG9uc2UgcmVzcG9uc2UsIHVuc2lnbmVkIGxvbmcg
bG9uZyBzaXplKTsKICAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVzcG9uc2VTaXplV2l0aFBhZGRp
bmcoRmV0Y2hSZXNwb25zZSByZXNwb25zZSk7CiAKKyAgICB2b2lkIHNldFF1b3RhQmFzZWRPblNw
YWNlVXNhZ2UoKTsKKwogICAgIHZvaWQgc2V0Q29uc29sZU1lc3NhZ2VMaXN0ZW5lcihTdHJpbmdD
YWxsYmFjayBjYWxsYmFjayk7CiAKICAgICBET01TdHJpbmcgYXVkaW9TZXNzaW9uQ2F0ZWdvcnko
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAK
aW5kZXggNGY4YTM3Zjc1N2Y4MDJkYmRhMDk1NjEzODc5ODBhNGYzYWJhMTRjZi4uZmRjZmYzODk5
NDE5OGRkMDU5ZTE1YWE2MTNhMzBhMzllMWVkOTM4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTIxODYsNiArMjE4NiwxMyBAQCB2
b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRJREJQZXJPcmlnaW5RdW90YSh1aW50NjRfdCBxdW90YSkK
IH0KICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAordm9pZCBOZXR3b3JrUHJv
Y2Vzczo6c2V0UXVvdGFCYXNlZE9uU3BhY2VVc2FnZUZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBjb25zdCBDbGllbnRPcmlnaW4mIG9yaWdpbikKK3sKKyAgICBhdXRvJiBtYW5h
Z2VyID0gc3RvcmFnZVF1b3RhTWFuYWdlcihzZXNzaW9uSUQsIG9yaWdpbik7CisgICAgbWFuYWdl
ci5yZXNldFF1b3RhKG1fc3RvcmFnZVF1b3RhTWFuYWdlcnMuZmluZChzZXNzaW9uSUQpLT52YWx1
ZS5kZWZhdWx0UXVvdGEpOworICAgIG1hbmFnZXIuc2V0UXVvdGFCYXNlZE9uU3BhY2VVc2FnZSgp
OworfQorCiAjaWYgRU5BQkxFKFNBTkRCT1hfRVhURU5TSU9OUykKIHZvaWQgTmV0d29ya1Byb2Nl
c3M6OmdldFNhbmRib3hFeHRlbnNpb25zRm9yQmxvYkZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBmaWxlbmFtZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlQXJyYXkmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggMWM2ZmI2YzJlZTUzN2UyNDEyZjVi
OTE5YTJlYmNhNTVmYzFlMzg5Yy4uZWM4Y2ZhY2ViMTNkM2IxNmM2M2Y4NjE2M2ZlNmJkNmYzNDAz
YmY1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aApAQCAtMjc5LDYgKzI3OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFjY2Vzc1RvVGVtcG9yYXJ5
RmlsZUNvbXBsZXRlKGNvbnN0IFN0cmluZyYgcGF0aCkgZmluYWw7CiAgICAgdm9pZCBzZXRJREJQ
ZXJPcmlnaW5RdW90YSh1aW50NjRfdCk7CiAjZW5kaWYKKyAgICB2b2lkIHNldFF1b3RhQmFzZWRP
blNwYWNlVXNhZ2VGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklELCBjb25zdCBXZWJDb3JlOjpDbGll
bnRPcmlnaW4mKTsKIAogI2lmIEVOQUJMRShTQU5EQk9YX0VYVEVOU0lPTlMpCiAgICAgdm9pZCBn
ZXRTYW5kYm94RXh0ZW5zaW9uc0ZvckJsb2JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmls
ZW5hbWVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFy
cmF5JiYpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDMwYTU1MzJkOGQ1OWMwNjgwM2MyMDYxNmY4
ZWRkYzU2NDc3ODQwZjAuLjZhOTYyODEzMzg4YzQ1MjQ4MjFkODNkYzJkNjg3NGJhOWM3ZjU4NDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5tZXNzYWdlcy5pbgpAQCAtMTYzLDYgKzE2Myw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQ
cm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICAg
ICBTZXRJREJQZXJPcmlnaW5RdW90YSh1aW50NjRfdCBxdW90YSkKICNlbmRpZgorICAgIFNldFF1
b3RhQmFzZWRPblNwYWNlVXNhZ2VGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
c3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4pCiAKICAgICBTdG9yZUFkQ2xpY2tB
dHRyaWJ1dGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFdlYkNvcmU6OkFkQ2xpY2tBdHRy
aWJ1dGlvbiBhZENsaWNrQXR0cmlidXRpb24pCiAgICAgRHVtcEFkQ2xpY2tBdHRyaWJ1dGlvbihQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpIC0+IChTdHJpbmcgYWRDbGlja0F0dHJpYnV0aW9uU3Rh
dGUpIEFzeW5jCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKaW5kZXggOWMyYWEzNzFlNDk0
MDI2OWNhOWJjMTQ4MGMyOGEyNjc1YzI0ZDM1YS4uYzUzMmYxY2Q3NWZlMmE1MDhiN2MxODRiYWU2
ZjE1NTRmZjA0OTJmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcApAQCAtNTEsMTMg
KzUxLDE5IEBAIHN0YXRpYyBpbmxpbmUgU3RyaW5nIGNhY2hlc09yaWdpbkZpbGVuYW1lKGNvbnN0
IFN0cmluZyYgY2FjaGVzUm9vdFBhdGgpCiAgICAgcmV0dXJuIEZpbGVTeXN0ZW06OnBhdGhCeUFw
cGVuZGluZ0NvbXBvbmVudChjYWNoZXNSb290UGF0aCwgIm9yaWdpbiJfcyk7CiB9CiAKK1JlZjxD
YWNoZXM+IENhY2hlczo6Y3JlYXRlKEVuZ2luZSYgZW5naW5lLCBXZWJDb3JlOjpDbGllbnRPcmln
aW4mJiBvcmlnaW4sIFN0cmluZyYmIHJvb3RQYXRoLCBXZWJDb3JlOjpTdG9yYWdlUXVvdGFNYW5h
Z2VyJiBxdW90YU1hbmFnZXIpCit7CisgICAgYXV0byBjYWNoZXMgPSBhZG9wdFJlZigqbmV3IENh
Y2hlcyB7IGVuZ2luZSwgV1RGTW92ZShvcmlnaW4pLCBXVEZNb3ZlKHJvb3RQYXRoKSwgcXVvdGFN
YW5hZ2VyIH0pOworICAgIHF1b3RhTWFuYWdlci5hZGRVc2VyKGNhY2hlcy5nZXQoKSk7CisgICAg
cmV0dXJuIGNhY2hlczsKK30KKwogQ2FjaGVzOjpDYWNoZXMoRW5naW5lJiBlbmdpbmUsIFdlYkNv
cmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgU3RyaW5nJiYgcm9vdFBhdGgsIFdlYkNvcmU6OlN0
b3JhZ2VRdW90YU1hbmFnZXImIHF1b3RhTWFuYWdlcikKICAgICA6IG1fZW5naW5lKCZlbmdpbmUp
CiAgICAgLCBtX29yaWdpbihXVEZNb3ZlKG9yaWdpbikpCiAgICAgLCBtX3Jvb3RQYXRoKFdURk1v
dmUocm9vdFBhdGgpKQogICAgICwgbV9xdW90YU1hbmFnZXIobWFrZVdlYWtQdHIocXVvdGFNYW5h
Z2VyKSkKIHsKLSAgICBxdW90YU1hbmFnZXIuYWRkVXNlcigqdGhpcyk7CiB9CiAKIENhY2hlczo6
fkNhY2hlcygpCkBAIC02OCw2ICs3NCwxNSBAQCBDYWNoZXM6On5DYWNoZXMoKQogICAgICAgICBt
X3F1b3RhTWFuYWdlci0+cmVtb3ZlVXNlcigqdGhpcyk7CiB9CiAKK3ZvaWQgQ2FjaGVzOjp3aGVu
SW5pdGlhbGl6ZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNhbGxiYWNrKQoreworICAg
IGluaXRpYWxpemUoW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKGF1dG8mJiBlcnJvcikg
bXV0YWJsZSB7CisgICAgICAgIGlmIChlcnJvcikKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VS
Uk9SKENhY2hlU3RvcmFnZSwgIkNhY2hlczo6aW5pdGlhbGl6ZSBmYWlsZWQsIHJlcG9ydGVkIHNw
YWNlIHVzZWQgd2lsbCBiZSB6ZXJvIik7CisgICAgICAgIGNhbGxiYWNrKCk7CisgICAgfSk7Cit9
CisKIHZvaWQgQ2FjaGVzOjpyZXRyaWV2ZU9yaWdpbkZyb21EaXJlY3RvcnkoY29uc3QgU3RyaW5n
JiBmb2xkZXJQYXRoLCBXb3JrUXVldWUmIHF1ZXVlLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZv
aWQoT3B0aW9uYWw8V2ViQ29yZTo6Q2xpZW50T3JpZ2luPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKICAgICBxdWV1ZS5kaXNwYXRjaChbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSwgZmlsZW5hbWUgPSBjYWNoZXNPcmlnaW5GaWxlbmFtZShmb2xkZXJQ
YXRoKV0oKSBtdXRhYmxlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oCmluZGV4IGVlZTgyNjc4
NDk5ZjU5ZjA1YjIwZDM3YTNkYmRiZjY3MDU0MTUzYjEuLjMzYTE2MmMxZDI5ODFmYzUxN2Q1NTIx
NGU2MzBlM2RiNjlmZGM2ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmgKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaApAQCAtNDQsNyAr
NDQsNyBAQCBjbGFzcyBFbmdpbmU7CiAKIGNsYXNzIENhY2hlcyBmaW5hbCA6IHB1YmxpYyBSZWZD
b3VudGVkPENhY2hlcz4sIHByaXZhdGUgV2ViQ29yZTo6U3RvcmFnZVF1b3RhVXNlciB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFJlZjxDYWNoZXM+IGNyZWF0ZShFbmdpbmUmIGVuZ2luZSwgV2ViQ29y
ZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBTdHJpbmcmJiByb290UGF0aCwgV2ViQ29yZTo6U3Rv
cmFnZVF1b3RhTWFuYWdlciYgcXVvdGFNYW5hZ2VyKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IENh
Y2hlcyB7IGVuZ2luZSwgV1RGTW92ZShvcmlnaW4pLCBXVEZNb3ZlKHJvb3RQYXRoKSwgcXVvdGFN
YW5hZ2VyIH0pOyB9CisgICAgc3RhdGljIFJlZjxDYWNoZXM+IGNyZWF0ZShFbmdpbmUmLCBXZWJD
b3JlOjpDbGllbnRPcmlnaW4mJiwgU3RyaW5nJiYgcm9vdFBhdGgsIFdlYkNvcmU6OlN0b3JhZ2VR
dW90YU1hbmFnZXImKTsKICAgICB+Q2FjaGVzKCk7CiAKICAgICBzdGF0aWMgdm9pZCByZXRyaWV2
ZU9yaWdpbkZyb21EaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBmb2xkZXJQYXRoLCBXb3JrUXVldWUm
LCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8V2ViQ29yZTo6Q2xpZW50T3Jp
Z2luPiYmKT4mJik7CkBAIC05MSw2ICs5MSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWFkQ2Fj
aGVzRnJvbURpc2soV1RGOjpGdW5jdGlvbjx2b2lkKEV4cGVjdGVkPFZlY3RvcjxDYWNoZT4sIFdl
YkNvcmU6OkRPTUNhY2hlRW5naW5lOjpFcnJvcj4mJik+JiYpOwogICAgIHZvaWQgd3JpdGVDYWNo
ZXNUb0Rpc2soV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNvbXBsZXRpb25DYWxsYmFjayYmKTsK
IAorICAgIHZvaWQgd2hlbkluaXRpYWxpemVkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikg
ZmluYWw7CisKICAgICB2b2lkIHN0b3JlT3JpZ2luKFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpD
b21wbGV0aW9uQ2FsbGJhY2smJik7CiAgICAgc3RhdGljIE9wdGlvbmFsPFdlYkNvcmU6OkNsaWVu
dE9yaWdpbj4gcmVhZE9yaWdpbihjb25zdCBOZXR3b3JrQ2FjaGU6OkRhdGEmKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdp
bmVDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2Fj
aGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbi5jcHAKaW5kZXggNmNhNDZhZDBhODFkOTA4NmE1MjM1
NzFiOWY4MGM4N2UzOTg1ZmU4Zi4uNWEyMjIzNDQzMjAzNjJhYTE5OGMxN2QxNmE3YjdmNmRkN2Y3
OGIyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNo
ZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24uY3BwCkBAIC0xMzgsNyAr
MTM4LDYgQEAgdm9pZCBDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpkZXJlZmVyZW5jZShQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF8KICAgICB9KS5pdGVyYXRvci0+dmFsdWU7
CiAKICAgICBhdXRvIHJlZmVyZW5jZVJlc3VsdCA9IHJlZmVyZW5jZXMuZmluZChjYWNoZUlkZW50
aWZpZXIpOwotICAgIEFTU0VSVChyZWZlcmVuY2VSZXN1bHQgIT0gcmVmZXJlbmNlcy5lbmQoKSk7
CiAgICAgaWYgKHJlZmVyZW5jZVJlc3VsdCA9PSByZWZlcmVuY2VzLmVuZCgpKQogICAgICAgICBy
ZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9XZWJD
YWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNo
ZS9XZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcAppbmRleCAyMmEwMGFkYjA3MDJkM2M0Yzg1
OTNhNGU3OWJjYWZhY2VjOTMzOTY4Li5lMjkyMjYwZTkxYzkyMmM2MTc2NDFiZDQ5ODUyZWJmODVk
OGFiMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Nh
Y2hlL1dlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5j
bHVkZSAiQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAi
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdv
cmtQcm9jZXNzQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzTWVzc2FnZXMu
aCIKICNpbmNsdWRlICJXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgogI2luY2x1ZGUgIldlYkNv
cmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKQEAgLTE1MSw0ICsx
NTIsOSBAQCB2b2lkIFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmVuZ2luZVJlcHJlc2VudGF0
aW9uQ29tcGxldGVkKHVpbnQ2NF90IHJlcXVlc3RJZAogICAgICAgICBjYWxsYmFjayhyZXN1bHQp
OwogfQogCit2b2lkIFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnNldFF1b3RhQmFzZWRPblNw
YWNlVXNhZ2UoY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4pCit7CisgICAgY29ubmVjdGlvbigp
LnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRRdW90YUJhc2VkT25TcGFjZVVzYWdl
Rm9yVGVzdGluZyhtX3Nlc3Npb25JRCwgb3JpZ2luKSwgMCk7Cit9CisKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbi5oCmluZGV4IDg0ZDllNGRlNWI4MTJiZWYzODI0ZjI3ZmI1M2M3ODA0MTU2ZDIyMGMuLjU4
ZmRiNWRiODA1Yjc0Nzc5ZjIyMjFjNWZjZTc2MjNiYzcxYjBmYzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFnZUNvbm5lY3Rp
b24uaApAQCAtNjUsNiArNjUsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBjbGVhck1lbW9yeVJl
cHJlc2VudGF0aW9uKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIFdlYkNvcmU6OkRPTUNh
Y2hlRW5naW5lOjpDb21wbGV0aW9uQ2FsbGJhY2smJikgZmluYWw7CiAgICAgdm9pZCBlbmdpbmVS
ZXByZXNlbnRhdGlvbihXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgU3RyaW5nJik+JiYpIGZpbmFs
OworICAgIHZvaWQgc2V0UXVvdGFCYXNlZE9uU3BhY2VVc2FnZShjb25zdCBXZWJDb3JlOjpDbGll
bnRPcmlnaW4mKSBmaW5hbDsKIAogICAgIHZvaWQgb3BlbkNvbXBsZXRlZCh1aW50NjRfdCByZXF1
ZXN0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNhY2hlSWRlbnRp
Zmllck9yRXJyb3ImKTsKICAgICB2b2lkIHJlbW92ZUNvbXBsZXRlZCh1aW50NjRfdCByZXF1ZXN0
SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNhY2hlSWRlbnRpZmll
ck9yRXJyb3ImKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBiODM1ZTRmMWI1MTRkYmRlZDhmODEzYTUxOTVkNzVmMTVhNGIz
ZGI5Li42NjgwZTI0ODk1NzA4Y2M5YjVkYjE5MWM0MmY2OWY1N2E1YWI1NjQ5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTktMDMtMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIENvbXB1dGUgcXVvdGEgYWZ0ZXIgbmV0d29yayBwcm9jZXNzIHJlc3RhcnQg
YmFzZWQgb24gZGVmYXVsdCBxdW90YSBhbmQgc3BhY2UgdXNlZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1ODA0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2Nh
Y2hlLXF1b3RhLWFmdGVyLXJlc3RhcnQuYW55LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0YXJ0LmFueS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXF1b3Rh
LWFmdGVyLXJlc3RhcnQuYW55LmpzOiBBZGRlZC4KKyAgICAgICAgKHByb21pc2VfdGVzdC5hc3lu
Yyk6CisKIDIwMTktMDMtMTkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmVwYXJlbnRpbmcgZHVyaW5nIGEgbXV0YXRpb24gZXZlbnQgaW5zaWRlIGFwcGVuZENo
aWxkIGNvdWxkIHJlc3VsdCBpbiBhIGNpcmN1bGFyIERPTSB0cmVlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXF1b3RhLWFmdGVyLXJlc3RhcnQu
YW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2Fj
aGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5hbnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyMDQz
MTQ0ZTUyODg1MDdjM2NhMTk1YjUxZDgxNjAyMWI3NTgxYzEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXF1b3RhLWFmdGVyLXJlc3Rh
cnQuYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK0NPTlNPTEUgTUVTU0FHRTogQ2Fj
aGUgQVBJIG9wZXJhdGlvbiBmYWlsZWQ6IFF1b3RhIGV4Y2VlZGVkCitDT05TT0xFIE1FU1NBR0U6
IENhY2hlIEFQSSBvcGVyYXRpb24gZmFpbGVkOiBRdW90YSBleGNlZWRlZAorCitQQVNTIEluY3Jl
YXNpbmcgcXVvdGEgCitQQVNTIEFmdGVyIG5ldHdvcmsgcHJvY2VzcyByZXN0YXJ0LCB2ZXJpZnkg
cXVvdGEgaXMgY29tcHV0ZWQgYWNjb3JkaW5nIHNwYWNlIGJlaW5nIHVzZWQgCitQQVNTIEFmdGVy
IG5ldHdvcmsgcHJvY2VzcyByZXN0YXJ0LCB2ZXJpZnkgcXVvdGEgaXMgY29tcHV0ZWQgYWNjb3Jk
aW5nIHNwYWNlIGJlaW5nIHVzZWQgYW5kIGRvZXMgbm90IGluY3JlYXNlIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXF1b3RhLWFmdGVyLXJl
c3RhcnQuYW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hl
LXF1b3RhLWFmdGVyLXJlc3RhcnQuYW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNi
M2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5hbnkuaHRt
bApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRl
c3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNo
ZS1zdG9yYWdlL2NhY2hlLXF1b3RhLWFmdGVyLXJlc3RhcnQuYW55LmpzIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0YXJ0LmFueS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42N2U4ZmIwZWEwM2ZlMmNhZjEwOGM4NDQxZTA5ODI5YTM2MDg5NjQyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1x
dW90YS1hZnRlci1yZXN0YXJ0LmFueS5qcwpAQCAtMCwwICsxLDQ0IEBACit2YXIgcmVzcG9uc2Ux
ID0gbmV3IFJlc3BvbnNlKG5ldyBBcnJheUJ1ZmZlcigxICogMTAyNCkpOwordmFyIHJlc3BvbnNl
MzBrbyA9IG5ldyBSZXNwb25zZShuZXcgQXJyYXlCdWZmZXIoMzAgKiAxMDI0KSk7Cit2YXIgcmVz
cG9uc2U0MDAgPSBuZXcgUmVzcG9uc2UobmV3IEFycmF5QnVmZmVyKDQwMCAqIDEwMjQpKTsKKwor
cHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCJUZXN0IHJlcXVpcmVzIGludGVybmFs
cyIpOworCisgICAgdGVzdFJ1bm5lci5zZXRBbGxvd1N0b3JhZ2VRdW90YUluY3JlYXNlKHRydWUp
OworCisgICAgY29uc3QgY2FjaGUgPSBhd2FpdCBzZWxmLmNhY2hlcy5vcGVuKCJ0ZW1wMSIpOwor
ICAgIGF3YWl0IGNhY2hlLnB1dCgiNDAwLXYxIiwgcmVzcG9uc2U0MDAuY2xvbmUoKSk7CisgICAg
YXdhaXQgY2FjaGUucHV0KCIxIiwgcmVzcG9uc2UxLmNsb25lKCkpOworICAgIC8vIHF1b3RhIHNo
b3VsZCBiZSBlcXVhbCB0byA4MDFrbyBub3cuCisgICAgYXdhaXQgY2FjaGUucHV0KCI0MDAtdjIi
LCByZXNwb25zZTQwMC5jbG9uZSgpKTsKKworICAgIHRlc3RSdW5uZXIuc2V0QWxsb3dTdG9yYWdl
UXVvdGFJbmNyZWFzZShmYWxzZSk7CisKKyAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHRlc3Qs
ICJRdW90YUV4Y2VlZGVkRXJyb3IiLCBjYWNoZS5wdXQoIjMwa28iLCByZXNwb25zZTMwa28uY2xv
bmUoKSksICJwdXQgc2hvdWxkIGZhaWwiKTsKK30sICdJbmNyZWFzaW5nIHF1b3RhJyk7CisKK3By
b21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGlmICghd2luZG93LmludGVybmFscykK
KyAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCJUZXN0IHJlcXVpcmVzIGludGVybmFscyIp
OworCisgICAgLy8gU3BhY2UgdXNlZCBpcyBhcm91bmQgODAxa28uIEFmdGVyIHJvdW5kaW5nLCBx
dW90YSBzaG91bGQgYmUgODQwa28uCisgICAgaW50ZXJuYWxzLnNldFF1b3RhQmFzZWRPblNwYWNl
VXNhZ2UoKTsKKworICAgIGNvbnN0IGNhY2hlID0gYXdhaXQgc2VsZi5jYWNoZXMub3BlbigidGVt
cDEiKTsKKyAgICByZXR1cm4gY2FjaGUucHV0KCIzMGtvMSIsIHJlc3BvbnNlMzBrby5jbG9uZSgp
KTsKK30sICdBZnRlciBuZXR3b3JrIHByb2Nlc3MgcmVzdGFydCwgdmVyaWZ5IHF1b3RhIGlzIGNv
bXB1dGVkIGFjY29yZGluZyBzcGFjZSBiZWluZyB1c2VkJyk7CisKK3Byb21pc2VfdGVzdChhc3lu
YyAodGVzdCkgPT4geworICAgIGlmICghd2luZG93LmludGVybmFscykKKyAgICAgICAgcmV0dXJu
IFByb21pc2UucmVqZWN0KCJUZXN0IHJlcXVpcmVzIGludGVybmFscyIpOworCisgICAgLy8gU3Bh
Y2UgdXNlZCBpcyBhcm91bmQgODMxa28uIEFmdGVyIHJvdW5kaW5nLCBxdW90YSBzaG91bGQgYmUg
ODQwa28uCisgICAgaW50ZXJuYWxzLnNldFF1b3RhQmFzZWRPblNwYWNlVXNhZ2UoKTsKKworICAg
IGNvbnN0IGNhY2hlID0gYXdhaXQgc2VsZi5jYWNoZXMub3BlbigidGVtcDEiKTsKKyAgICByZXR1
cm4gcHJvbWlzZV9yZWplY3RzKHRlc3QsICJRdW90YUV4Y2VlZGVkRXJyb3IiLCBjYWNoZS5wdXQo
IjMwa28yIiwgcmVzcG9uc2UzMGtvLmNsb25lKCkpLCAicHV0IHNob3VsZCBmYWlsIik7Cit9LCAn
QWZ0ZXIgbmV0d29yayBwcm9jZXNzIHJlc3RhcnQsIHZlcmlmeSBxdW90YSBpcyBjb21wdXRlZCBh
Y2NvcmRpbmcgc3BhY2UgYmVpbmcgdXNlZCBhbmQgZG9lcyBub3QgaW5jcmVhc2UnKTsKKworZG9u
ZSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365477</attachid>
            <date>2019-03-20 20:59:40 -0700</date>
            <delta_ts>2019-03-20 21:38:35 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-195804-20190320205940.patch</filename>
            <type>text/plain</type>
            <size>21067</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzA4NTNkMzEzN2Q4NGJh
MGNhNzE1MzQzZDdkZmMzMjEzODEwNmZmYS4uM2Y1NWIyYzA1YzQ1ZDE4NmNkZTBhMDc5M2RlMjgw
YTNkN2FjMGVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE5LTAzLTIwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDb21wdXRlIHF1b3RhIGFm
dGVyIG5ldHdvcmsgcHJvY2VzcyByZXN0YXJ0IGJhc2VkIG9uIGRlZmF1bHQgcXVvdGEgYW5kIHNw
YWNlIHVzZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5NTgwNAorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgIEF0
IGNyZWF0aW9uIG9mIHF1b3RhIG1hbmFnZXIsIGEgZGVmYXVsdCBxdW90YSB3aWxsIGJlIGFzc2ln
bmVkLgorICAgICAgICBUaGlzIHZhbHVlIGlzIHRoZSBzYW1lIGZvciBhbGwgb3JpZ2lucy4KKyAg
ICAgICAgU29tZSBvcmlnaW5zIG1heSBoYXZlIGJlZW4gZ3JhbnRlZCBhIGJpZ2dlciBxdW90YSBi
eSB0aGUgdXNlci4KKyAgICAgICAgSW4gdGhhdCBjYXNlLCB0aGUgc3BhY2UgdXNlZCBtaWdodCBi
ZSBncmVhdGVyIGZvciB0aGVzZSBvcmlnaW5zLgorICAgICAgICBVcGRhdGUgYXQgaW5pdGlhbGl6
YXRpb24gdGltZSB0aGUgcXVvdGEgYWNjb3JkaW5nIHRoZSBzcGFjZSB1c2VkIGFzIGZvbGxvd3M6
CisgICAgICAgIC0gSWYgc3BhY2UgdXNlZCBpcyBiZWxvdyBkZWZhdWx0IHF1b3RhLCBzdGljayB3
aXRoIGRlZmF1bHQgcXVvdGEuCisgICAgICAgIC0gSWYgc3BhY2UgdXNlZCBpcyBhYm92ZSwgc2V0
IHF1b3RhIHRvIHNwYWNlIHVzZWQgcm91bmRlZCBieSBvbmUgdGVudGggb2YgdGhlIGRlZmF1bHQg
cXVvdGEuCisgICAgICAgIFRoZSByb3VuZGluZyBlbnN1cmVzIHRoYXQgcXVvdGEgcmVxdWVzdHMg
d2lsbCBub3QgaGFwcGVuIHRvbyBxdWlja2x5IGFmdGVyIGEgcGFnZSBpcyBsb2FkZWQuCisKKyAg
ICAgICAgVGVzdDogaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0
YXJ0LmFueS5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5l
Y3Rpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnNldFF1
b3RhQmFzZWRPblNwYWNlVXNhZ2UpOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZVF1b3RhTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdlUXVvdGFNYW5hZ2VyOjpzZXRRdW90
YUJhc2VkT25TcGFjZVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VRdW90YU1hbmFn
ZXI6OmFkZFVzZXIpOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5oOgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVy
bmFsczo6dXBkYXRlUXVvdGFCYXNlZE9uU3BhY2VVc2FnZSk6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTktMDMt
MjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEluY2x1ZGUg
V0FMIGFuZCBTSE0gZmlsZSBzaXplIGluIElEQiBkYXRhYmFzZSBzaXplIGNvbXB1dGF0aW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDgzZWQwNTlmN2M1OGM2NWJhYTM1MTNlNmJhZmUwZjU4OGE5N2U5NDkuLjY4MjFj
MDczMDNkM2RiNmVhOTc3M2E3ODE5ZTE2NWFkYzI3OTYzMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzAgQEAKKzIwMTktMDMtMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisg
ICAgICAgIENvbXB1dGUgcXVvdGEgYWZ0ZXIgbmV0d29yayBwcm9jZXNzIHJlc3RhcnQgYmFzZWQg
b24gZGVmYXVsdCBxdW90YSBhbmQgc3BhY2UgdXNlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1ODA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hy
aXMgRHVtZXouCisKKyAgICAgICAgTWFrZSBzdXJlIHRoYXQgQ2FjaGUgU3RvcmFnZSBxdW90YSB1
c2VyIHdhaXRzIHRvIGRlY2xhcmUgYXMgaW5pdGlhbGl6ZWQgdG8gaXRzIG1hbmFnZXIKKyAgICAg
ICAgdW50aWwgYWxsIGRhdGEgaXMgbG9hZGVkIHNvIHRoYXQgaXQgY2FuIHJlcG9ydCBhIHZhbGlk
IHNwYWNlIHVzZWQgZnJvbSB0aGUgc3RhcnQuCisKKyAgICAgICAgQWRkIHRlc3QgQVBJIHRvIHJl
c2V0IHRoZSBxdW90YSB0byBpdHMgZGVmYXVsdCB2YWx1ZSBhbmQgY29tcHV0ZSBpdCBhY2NvcmRp
bmcgY3VycmVudCBzcGFjZSB1c2UuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjp1cGRhdGVRdW90
YUJhc2VkT25TcGFjZVVzYWdlRm9yVGVzdGluZyk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VFbmdpbmVDYWNoZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hl
czo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZXM6OkNhY2hl
cyk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjp3aGVuSW5pdGlhbGl6
ZWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNh
Y2hlcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2lu
ZUNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2VFbmdpbmVDb25u
ZWN0aW9uOjpkZXJlZmVyZW5jZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNo
ZVN0b3JhZ2VDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVTdG9yYWdl
Q29ubmVjdGlvbjo6c2V0UXVvdGFCYXNlZE9uU3BhY2VVc2FnZSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmg6CisKIDIwMTktMDMtMjAgIEpp
ZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHRlbmQgTmV0d29y
a2luZyBQcm9jZXNzIHNhbmRib3ggZm9yIHNvbWUgc3lzdGVtIGZyYW1ld29ya3MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgK
aW5kZXggNGRhYTM0NDhmMjJhY2QxYzQ4MjAxNzMwMmQzYzY3YjliOTRkOGQ4Yi4uMmEwNjBmYjk3
NTQ2YjhmMDg5Y2NlMjNkNTJiOWIyYjY4YTI5MDQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKQEAgLTU1LDYgKzU1
LDcgQEAgcHVibGljOgogICAgIC8vIFVzZWQgb25seSBmb3IgdGVzdGluZyBwdXJwb3Nlcy4KICAg
ICB2aXJ0dWFsIHZvaWQgY2xlYXJNZW1vcnlSZXByZXNlbnRhdGlvbihjb25zdCBDbGllbnRPcmln
aW4mLCBET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spIHsgY2Fs
bGJhY2soRE9NQ2FjaGVFbmdpbmU6OkVycm9yOjpOb3RJbXBsZW1lbnRlZCk7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZW5naW5lUmVwcmVzZW50YXRpb24oV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IFN0
cmluZyYpPiYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKFN0cmluZyB7IH0pOyB9CisgICAgdmlydHVh
bCB2b2lkIHVwZGF0ZVF1b3RhQmFzZWRPblNwYWNlVXNhZ2UoY29uc3QgQ2xpZW50T3JpZ2luJikg
eyB9CiAKIHByb3RlY3RlZDoKICAgICBDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKCkgPSAgZGVmYXVs
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuY3BwCmlu
ZGV4IDNkMzQ4MzRiMzY2NDczMTIzZTAwNDY0YmNhNDlmYzI3YmNiNWVkZDguLmI3ZTcxYmVkNzky
YzZkZjgyY2E1NWVjZjczZTY2NDFmZjg1ODFmM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmNwcApAQCAtNDQsNiArNDQsMTUgQEAgdWludDY0X3Qg
U3RvcmFnZVF1b3RhTWFuYWdlcjo6c3BhY2VVc2FnZSgpIGNvbnN0CiAgICAgcmV0dXJuIHVzYWdl
OwogfQogCit2b2lkIFN0b3JhZ2VRdW90YU1hbmFnZXI6OnVwZGF0ZVF1b3RhQmFzZWRPblNwYWNl
VXNhZ2UoKQoreworICAgIGlmICghbV9xdW90YSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0
byBkZWZhdWx0UXVvdGFTdGVwID0gbV9xdW90YSAvIDEwOworICAgIG1fcXVvdGEgPSBzdGQ6Om1h
eChtX3F1b3RhLCBkZWZhdWx0UXVvdGFTdGVwICogKChzcGFjZVVzYWdlKCkgLyBkZWZhdWx0UXVv
dGFTdGVwKSArIDEpKTsKK30KKwogdm9pZCBTdG9yYWdlUXVvdGFNYW5hZ2VyOjphZGRVc2VyKFN0
b3JhZ2VRdW90YVVzZXImIHVzZXIpCiB7CiAgICAgQVNTRVJUKCFtX3BlbmRpbmdJbml0aWFsaXph
dGlvblVzZXJzLmNvbnRhaW5zKCZ1c2VyKSk7CkBAIC01Miw4ICs2MSwxNCBAQCB2b2lkIFN0b3Jh
Z2VRdW90YU1hbmFnZXI6OmFkZFVzZXIoU3RvcmFnZVF1b3RhVXNlciYgdXNlcikKICAgICB1c2Vy
LndoZW5Jbml0aWFsaXplZChbdGhpcywgJnVzZXIsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhp
cyldKCkgewogICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICBtX3BlbmRpbmdJbml0aWFsaXphdGlvblVzZXJzLnJlbW92ZSgmdXNlcik7Ci0gICAgICAg
IG1fdXNlcnMuYWRkKCZ1c2VyKTsKKworICAgICAgICBpZiAobV9wZW5kaW5nSW5pdGlhbGl6YXRp
b25Vc2Vycy5yZW1vdmUoJnVzZXIpKQorICAgICAgICAgICAgbV91c2Vycy5hZGQoJnVzZXIpOwor
CisgICAgICAgIGlmICghbV9wZW5kaW5nSW5pdGlhbGl6YXRpb25Vc2Vycy5pc0VtcHR5KCkpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdXBkYXRlUXVvdGFCYXNlZE9uU3BhY2VVc2Fn
ZSgpOwogICAgICAgICBwcm9jZXNzUGVuZGluZ1JlcXVlc3RzKHsgfSk7CiAgICAgfSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5oCmluZGV4IDBhYWI1
NDgyZTY0NWUyNmVkNzk5MzUxNjIzNDYxN2RiNzIyNjlhOGQuLmEwNTg1YWIxNzM1MmRhOWQ0MmM2
MDQ3MzgwNTY0ZWQzODNiZGU2NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
U3RvcmFnZVF1b3RhTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZVF1b3RhTWFuYWdlci5oCkBAIC02Miw2ICs2Miw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHJlcXVlc3RTcGFjZSh1aW50NjRfdCwgUmVxdWVzdENhbGxiYWNrJiYpOwogICAg
IHZvaWQgcmVzZXRRdW90YSh1aW50NjRfdCBuZXdRdW90YSkgeyBtX3F1b3RhID0gbmV3UXVvdGE7
IH0KIAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlUXVvdGFCYXNlZE9uU3BhY2VVc2Fn
ZSgpOworCiBwcml2YXRlOgogICAgIHVpbnQ2NF90IHNwYWNlVXNhZ2UoKSBjb25zdDsKICAgICBi
b29sIHNob3VsZEFza0Zvck1vcmVTcGFjZSh1aW50NjRfdCBzcGFjZUluY3JlYXNlKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBiMmUwZjRmNGE0Zjc2MWIzMzQw
YTQwOTkzMjY0YjA2MGU2MmY0YTlhLi4wN2RlOTQ2OWNjZTRiNTkyYzIzYzhkMjc4ZjljYTM2MGIx
OGU4ZDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00NzU3LDYgKzQ3
NTcsMjIgQEAgdm9pZCBJbnRlcm5hbHM6OmNhY2hlU3RvcmFnZUVuZ2luZVJlcHJlc2VudGF0aW9u
KERPTVByb21pc2VEZWZlcnJlZDxJRExET01TdHJpbmcKICAgICB9KTsKIH0KIAordm9pZCBJbnRl
cm5hbHM6OnVwZGF0ZVF1b3RhQmFzZWRPblNwYWNlVXNhZ2UoKQoreworICAgIGF1dG8qIGRvY3Vt
ZW50ID0gY29udGV4dERvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgaWYgKCFtX2NhY2hlU3RvcmFnZUNvbm5lY3Rpb24pIHsKKyAgICAgICAgaWYg
KGF1dG8qIHBhZ2UgPSBjb250ZXh0RG9jdW1lbnQoKS0+cGFnZSgpKQorICAgICAgICAgICAgbV9j
YWNoZVN0b3JhZ2VDb25uZWN0aW9uID0gcGFnZS0+Y2FjaGVTdG9yYWdlUHJvdmlkZXIoKS5jcmVh
dGVDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKHBhZ2UtPnNlc3Npb25JRCgpKTsKKyAgICAgICAgaWYg
KCFtX2NhY2hlU3RvcmFnZUNvbm5lY3Rpb24pCisgICAgICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgbV9jYWNoZVN0b3JhZ2VDb25uZWN0aW9uLT51cGRhdGVRdW90YUJhc2VkT25TcGFjZVVz
YWdlKENsaWVudE9yaWdpbiB7IGRvY3VtZW50LT50b3BPcmlnaW4oKS5kYXRhKCksIGRvY3VtZW50
LT5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSB9KTsKK30KKwogdm9pZCBJbnRlcm5hbHM6OnNldENv
bnNvbGVNZXNzYWdlTGlzdGVuZXIoUmVmUHRyPFN0cmluZ0NhbGxiYWNrPiYmIGxpc3RlbmVyKQog
ewogICAgIGlmICghY29udGV4dERvY3VtZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAppbmRleCA3NmYwZTlmNjlmZjMxMjE2N2E1ZWUyOWJiY2VmY2JmMWM2OTAwNTU3Li4zMTFkYjZh
Mjk2Mjc1NDIwNzFiN2VlZjZiODAyYTcxY2M2MzRmNWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgKQEAgLTcwNiw2ICs3MDYsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSZXNwb25z
ZVNpemVXaXRoUGFkZGluZyhGZXRjaFJlc3BvbnNlJiwgdWludDY0X3Qgc2l6ZSk7CiAgICAgdWlu
dDY0X3QgcmVzcG9uc2VTaXplV2l0aFBhZGRpbmcoRmV0Y2hSZXNwb25zZSYpIGNvbnN0OwogCisg
ICAgdm9pZCB1cGRhdGVRdW90YUJhc2VkT25TcGFjZVVzYWdlKCk7CisKICAgICB2b2lkIHNldENv
bnNvbGVNZXNzYWdlTGlzdGVuZXIoUmVmUHRyPFN0cmluZ0NhbGxiYWNrPiYmKTsKIAogI2lmIEVO
QUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRl
eCBhOTA1OTNiYjM4YmU2NTQ0ZDgyNWU4NjVmZDg2NTkxOTQ4NGJmZDZmLi4yNjAyNWY3MzI0OWZi
MDVlZGFhYmJmZjRmZTZmNWQ0N2VlMWFkMmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCkBAIC02ODksNiArNjg5LDggQEAgZW51bSBDb21wb3NpdGluZ1BvbGljeSB7CiAgICAg
dm9pZCBzZXRSZXNwb25zZVNpemVXaXRoUGFkZGluZyhGZXRjaFJlc3BvbnNlIHJlc3BvbnNlLCB1
bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSk7CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIHJlc3BvbnNl
U2l6ZVdpdGhQYWRkaW5nKEZldGNoUmVzcG9uc2UgcmVzcG9uc2UpOwogCisgICAgdm9pZCB1cGRh
dGVRdW90YUJhc2VkT25TcGFjZVVzYWdlKCk7CisKICAgICB2b2lkIHNldENvbnNvbGVNZXNzYWdl
TGlzdGVuZXIoU3RyaW5nQ2FsbGJhY2sgY2FsbGJhY2spOwogCiAgICAgRE9NU3RyaW5nIGF1ZGlv
U2Vzc2lvbkNhdGVnb3J5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuY3BwCmluZGV4IDU4YjM0YTA0N2RjZDA1MzZiNGY0NjkwYzUzNWU0YTBhZTk3
ZDRmNGQuLjkzN2E5N2Q2ZGMxYmJkODAyMjA3NGY0M2E5OGY1Zjg5ODg5YTM5OGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCkBAIC0yMjI4
LDYgKzIyMjgsMTMgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6c2V0SURCUGVyT3JpZ2luUXVvdGEo
dWludDY0X3QgcXVvdGEpCiB9CiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAK
K3ZvaWQgTmV0d29ya1Byb2Nlc3M6OnVwZGF0ZVF1b3RhQmFzZWRPblNwYWNlVXNhZ2VGb3JUZXN0
aW5nKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4p
Cit7CisgICAgYXV0byYgbWFuYWdlciA9IHN0b3JhZ2VRdW90YU1hbmFnZXIoc2Vzc2lvbklELCBv
cmlnaW4pOworICAgIG1hbmFnZXIucmVzZXRRdW90YShtX3N0b3JhZ2VRdW90YU1hbmFnZXJzLmZp
bmQoc2Vzc2lvbklEKS0+dmFsdWUuZGVmYXVsdFF1b3RhKTsKKyAgICBtYW5hZ2VyLnVwZGF0ZVF1
b3RhQmFzZWRPblNwYWNlVXNhZ2UoKTsKK30KKwogI2lmIEVOQUJMRShTQU5EQk9YX0VYVEVOU0lP
TlMpCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpnZXRTYW5kYm94RXh0ZW5zaW9uc0ZvckJsb2JGaWxl
cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4
IDQ0ZjgxOTc2NTFiZTFmYWViNGRjZmZhODJjZjhhOGMxNDEwMjBmZjYuLjEzM2JlYWFkMzk5MTli
OGJjNjllNmE2MDkwYzNkNDFmODA4YmRhYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTI4MSw2ICsyODEsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBhY2Nlc3NUb1RlbXBvcmFyeUZpbGVDb21wbGV0ZShjb25zdCBTdHJpbmcmIHBhdGgpIGZp
bmFsOwogICAgIHZvaWQgc2V0SURCUGVyT3JpZ2luUXVvdGEodWludDY0X3QpOwogI2VuZGlmCisg
ICAgdm9pZCB1cGRhdGVRdW90YUJhc2VkT25TcGFjZVVzYWdlRm9yVGVzdGluZyhQQUw6OlNlc3Np
b25JRCwgY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJik7CiAKICNpZiBFTkFCTEUoU0FOREJP
WF9FWFRFTlNJT05TKQogICAgIHZvaWQgZ2V0U2FuZGJveEV4dGVuc2lvbnNGb3JCbG9iRmlsZXMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1lcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChT
YW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYmKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA5
ODc3NjBmMzZmNzAwMjVmMmZiM2Y2YTUwZTIxOGNiN2RmZTdhZmE1Li4wMTMzMjVmYmY2ODNkZTky
ZjE5NWNkYmNjNTdiMDUxNzdlZjA1M2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTE2NCw2ICsxNjQs
NyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgU2V0SURCUGVyT3JpZ2luUXVvdGEodWludDY0X3Qg
cXVvdGEpCiAjZW5kaWYKKyAgICBVcGRhdGVRdW90YUJhc2VkT25TcGFjZVVzYWdlRm9yVGVzdGlu
ZyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4g
b3JpZ2luKQogCiAgICAgU3RvcmVBZENsaWNrQXR0cmlidXRpb24oUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklELCBXZWJDb3JlOjpBZENsaWNrQXR0cmlidXRpb24gYWRDbGlja0F0dHJpYnV0aW9uKQog
ICAgIER1bXBBZENsaWNrQXR0cmlidXRpb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKSAtPiAo
U3RyaW5nIGFkQ2xpY2tBdHRyaWJ1dGlvblN0YXRlKSBBc3luYwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVD
YWNoZXMuY3BwCmluZGV4IDljMmFhMzcxZTQ5NDAyNjljYTliYzE0ODBjMjhhMjY3NWMyNGQzNWEu
LmM1MzJmMWNkNzVmZTJhNTA4YjdjMTg0YmFlNmYxNTU0ZmYwNDkyZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFn
ZUVuZ2luZUNhY2hlcy5jcHAKQEAgLTUxLDEzICs1MSwxOSBAQCBzdGF0aWMgaW5saW5lIFN0cmlu
ZyBjYWNoZXNPcmlnaW5GaWxlbmFtZShjb25zdCBTdHJpbmcmIGNhY2hlc1Jvb3RQYXRoKQogICAg
IHJldHVybiBGaWxlU3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQoY2FjaGVzUm9vdFBh
dGgsICJvcmlnaW4iX3MpOwogfQogCitSZWY8Q2FjaGVzPiBDYWNoZXM6OmNyZWF0ZShFbmdpbmUm
IGVuZ2luZSwgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBTdHJpbmcmJiByb290UGF0
aCwgV2ViQ29yZTo6U3RvcmFnZVF1b3RhTWFuYWdlciYgcXVvdGFNYW5hZ2VyKQoreworICAgIGF1
dG8gY2FjaGVzID0gYWRvcHRSZWYoKm5ldyBDYWNoZXMgeyBlbmdpbmUsIFdURk1vdmUob3JpZ2lu
KSwgV1RGTW92ZShyb290UGF0aCksIHF1b3RhTWFuYWdlciB9KTsKKyAgICBxdW90YU1hbmFnZXIu
YWRkVXNlcihjYWNoZXMuZ2V0KCkpOworICAgIHJldHVybiBjYWNoZXM7Cit9CisKIENhY2hlczo6
Q2FjaGVzKEVuZ2luZSYgZW5naW5lLCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFN0
cmluZyYmIHJvb3RQYXRoLCBXZWJDb3JlOjpTdG9yYWdlUXVvdGFNYW5hZ2VyJiBxdW90YU1hbmFn
ZXIpCiAgICAgOiBtX2VuZ2luZSgmZW5naW5lKQogICAgICwgbV9vcmlnaW4oV1RGTW92ZShvcmln
aW4pKQogICAgICwgbV9yb290UGF0aChXVEZNb3ZlKHJvb3RQYXRoKSkKICAgICAsIG1fcXVvdGFN
YW5hZ2VyKG1ha2VXZWFrUHRyKHF1b3RhTWFuYWdlcikpCiB7Ci0gICAgcXVvdGFNYW5hZ2VyLmFk
ZFVzZXIoKnRoaXMpOwogfQogCiBDYWNoZXM6On5DYWNoZXMoKQpAQCAtNjgsNiArNzQsMTUgQEAg
Q2FjaGVzOjp+Q2FjaGVzKCkKICAgICAgICAgbV9xdW90YU1hbmFnZXItPnJlbW92ZVVzZXIoKnRo
aXMpOwogfQogCit2b2lkIENhY2hlczo6d2hlbkluaXRpYWxpemVkKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJiBjYWxsYmFjaykKK3sKKyAgICBpbml0aWFsaXplKFtjYWxsYmFjayA9IFdURk1v
dmUoY2FsbGJhY2spXShhdXRvJiYgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJyb3Ip
CisgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihDYWNoZVN0b3JhZ2UsICJDYWNoZXM6Omlu
aXRpYWxpemUgZmFpbGVkLCByZXBvcnRlZCBzcGFjZSB1c2VkIHdpbGwgYmUgemVybyIpOworICAg
ICAgICBjYWxsYmFjaygpOworICAgIH0pOworfQorCiB2b2lkIENhY2hlczo6cmV0cmlldmVPcmln
aW5Gcm9tRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgZm9sZGVyUGF0aCwgV29ya1F1ZXVlJiBxdWV1
ZSwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFdlYkNvcmU6OkNsaWVudE9y
aWdpbj4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgcXVldWUuZGlzcGF0Y2goW2Nv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGZpbGVuYW1lID0g
Y2FjaGVzT3JpZ2luRmlsZW5hbWUoZm9sZGVyUGF0aCldKCkgbXV0YWJsZSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNh
Y2hlcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VF
bmdpbmVDYWNoZXMuaAppbmRleCBlZWU4MjY3ODQ5OWY1OWYwNWIyMGQzN2EzZGJkYmY2NzA1NDE1
M2IxLi4zM2ExNjJjMWQyOTgxZmM1MTdkNTUyMTRlNjMwZTNkYjY5ZmRjNmQ3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNh
Y2hlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9y
YWdlRW5naW5lQ2FjaGVzLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgY2xhc3MgRW5naW5lOwogCiBjbGFz
cyBDYWNoZXMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZXM+LCBwcml2YXRlIFdlYkNv
cmU6OlN0b3JhZ2VRdW90YVVzZXIgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8Q2FjaGVzPiBj
cmVhdGUoRW5naW5lJiBlbmdpbmUsIFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgU3Ry
aW5nJiYgcm9vdFBhdGgsIFdlYkNvcmU6OlN0b3JhZ2VRdW90YU1hbmFnZXImIHF1b3RhTWFuYWdl
cikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDYWNoZXMgeyBlbmdpbmUsIFdURk1vdmUob3JpZ2lu
KSwgV1RGTW92ZShyb290UGF0aCksIHF1b3RhTWFuYWdlciB9KTsgfQorICAgIHN0YXRpYyBSZWY8
Q2FjaGVzPiBjcmVhdGUoRW5naW5lJiwgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFN0cmluZyYm
IHJvb3RQYXRoLCBXZWJDb3JlOjpTdG9yYWdlUXVvdGFNYW5hZ2VyJik7CiAgICAgfkNhY2hlcygp
OwogCiAgICAgc3RhdGljIHZvaWQgcmV0cmlldmVPcmlnaW5Gcm9tRGlyZWN0b3J5KGNvbnN0IFN0
cmluZyYgZm9sZGVyUGF0aCwgV29ya1F1ZXVlJiwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KE9wdGlvbmFsPFdlYkNvcmU6OkNsaWVudE9yaWdpbj4mJik+JiYpOwpAQCAtOTEsNiArOTEsOCBA
QCBwcml2YXRlOgogICAgIHZvaWQgcmVhZENhY2hlc0Zyb21EaXNrKFdURjo6RnVuY3Rpb248dm9p
ZChFeHBlY3RlZDxWZWN0b3I8Q2FjaGU+LCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6RXJyb3I+
JiYpPiYmKTsKICAgICB2b2lkIHdyaXRlQ2FjaGVzVG9EaXNrKFdlYkNvcmU6OkRPTUNhY2hlRW5n
aW5lOjpDb21wbGV0aW9uQ2FsbGJhY2smJik7CiAKKyAgICB2b2lkIHdoZW5Jbml0aWFsaXplZChD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOworCiAgICAgdm9pZCBzdG9yZU9yaWdp
bihXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrJiYpOwogICAgIHN0
YXRpYyBPcHRpb25hbDxXZWJDb3JlOjpDbGllbnRPcmlnaW4+IHJlYWRPcmlnaW4oY29uc3QgTmV0
d29ya0NhY2hlOjpEYXRhJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24uY3Bw
CmluZGV4IDZjYTQ2YWQwYTgxZDkwODZhNTIzNTcxYjlmODBjODdlMzk4NWZlOGYuLjVhMjIyMzQ0
MzIwMzYyYWExOThjMTdkMTZhN2I3ZjZkZDdmNzhiMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdp
bmVDb25uZWN0aW9uLmNwcApAQCAtMTM4LDcgKzEzOCw2IEBAIHZvaWQgQ2FjaGVTdG9yYWdlRW5n
aW5lQ29ubmVjdGlvbjo6ZGVyZWZlcmVuY2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCB1aW50
NjRfCiAgICAgfSkuaXRlcmF0b3ItPnZhbHVlOwogCiAgICAgYXV0byByZWZlcmVuY2VSZXN1bHQg
PSByZWZlcmVuY2VzLmZpbmQoY2FjaGVJZGVudGlmaWVyKTsKLSAgICBBU1NFUlQocmVmZXJlbmNl
UmVzdWx0ICE9IHJlZmVyZW5jZXMuZW5kKCkpOwogICAgIGlmIChyZWZlcmVuY2VSZXN1bHQgPT0g
cmVmZXJlbmNlcy5lbmQoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5j
cHAKaW5kZXggMjJhMDBhZGIwNzAyZDNjNGM4NTkzYTRlNzliY2FmYWNlYzkzMzk2OC4uZmQyNTRk
YzhlNTE0OTI4MjgzN2I1NGNjZDQ5NWY5NDc0ODRkZWQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9u
LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkNhY2hlU3RvcmFnZUVuZ2luZUNvbm5l
Y3Rpb25NZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
TWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNs
dWRlICJOZXR3b3JrUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViQ2FjaGVTdG9yYWdl
UHJvdmlkZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRl
ICJXZWJQcm9jZXNzLmgiCkBAIC0xNTEsNCArMTUyLDkgQEAgdm9pZCBXZWJDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjplbmdpbmVSZXByZXNlbnRhdGlvbkNvbXBsZXRlZCh1aW50NjRfdCByZXF1ZXN0
SWQKICAgICAgICAgY2FsbGJhY2socmVzdWx0KTsKIH0KIAordm9pZCBXZWJDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uOjp1cGRhdGVRdW90YUJhc2VkT25TcGFjZVVzYWdlKGNvbnN0IENsaWVudE9yaWdp
biYgb3JpZ2luKQoreworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJv
Y2Vzczo6VXBkYXRlUXVvdGFCYXNlZE9uU3BhY2VVc2FnZUZvclRlc3RpbmcobV9zZXNzaW9uSUQs
IG9yaWdpbiksIDApOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaAppbmRleCA4NGQ5ZTRkZTVi
ODEyYmVmMzgyNGYyN2ZiNTNjNzgwNDE1NmQyMjBjLi5jNDdmYzc0YTI2MTUzZmIxM2Y0MjZhOGVi
ZWI5MzJjMTIzNTE1YzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2Fj
aGUvV2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKQEAgLTY1LDYgKzY1LDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgY2xlYXJNZW1vcnlSZXByZXNlbnRhdGlvbihjb25zdCBXZWJD
b3JlOjpDbGllbnRPcmlnaW4mLCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNh
bGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQgZW5naW5lUmVwcmVzZW50YXRpb24oV1RGOjpGdW5j
dGlvbjx2b2lkKGNvbnN0IFN0cmluZyYpPiYmKSBmaW5hbDsKKyAgICB2b2lkIHVwZGF0ZVF1b3Rh
QmFzZWRPblNwYWNlVXNhZ2UoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJikgZmluYWw7CiAK
ICAgICB2b2lkIG9wZW5Db21wbGV0ZWQodWludDY0X3QgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0
IFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDYWNoZUlkZW50aWZpZXJPckVycm9yJik7CiAgICAg
dm9pZCByZW1vdmVDb21wbGV0ZWQodWludDY0X3QgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFdl
YkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDYWNoZUlkZW50aWZpZXJPckVycm9yJik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ZjU3ZDEwNTBhY2NlYTBmYzMxM2VkMDIyMDZkM2ZhMjRiZGY4Mzg1OS4uNjFmOTJlNjYyZjNjZmNi
ODc4NWVkOTZkOTI1NmY5YTJlOGRjY2I0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTAz
LTIwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBDb21wdXRl
IHF1b3RhIGFmdGVyIG5ldHdvcmsgcHJvY2VzcyByZXN0YXJ0IGJhc2VkIG9uIGRlZmF1bHQgcXVv
dGEgYW5kIHNwYWNlIHVzZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5NTgwNAorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisg
ICAgICAgICogaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0YXJ0
LmFueS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L2NhY2hlLXN0b3Jh
Z2UvY2FjaGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5hbnkuaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0YXJ0LmFueS5qczog
QWRkZWQuCisgICAgICAgIChwcm9taXNlX3Rlc3QuYXN5bmMpOgorCiAyMDE5LTAzLTIwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbmNsdWRlIFdBTCBhbmQg
U0hNIGZpbGUgc2l6ZSBpbiBJREIgZGF0YWJhc2Ugc2l6ZSBjb21wdXRhdGlvbgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1y
ZXN0YXJ0LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9y
YWdlL2NhY2hlLXF1b3RhLWFmdGVyLXJlc3RhcnQuYW55LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lMjA0MzE0NGU1Mjg4NTA3YzNjYTE5NWI1MWQ4MTYwMjFiNzU4MWMxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRl
ci1yZXN0YXJ0LmFueS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitDT05TT0xFIE1FU1NB
R0U6IENhY2hlIEFQSSBvcGVyYXRpb24gZmFpbGVkOiBRdW90YSBleGNlZWRlZAorQ09OU09MRSBN
RVNTQUdFOiBDYWNoZSBBUEkgb3BlcmF0aW9uIGZhaWxlZDogUXVvdGEgZXhjZWVkZWQKKworUEFT
UyBJbmNyZWFzaW5nIHF1b3RhIAorUEFTUyBBZnRlciBuZXR3b3JrIHByb2Nlc3MgcmVzdGFydCwg
dmVyaWZ5IHF1b3RhIGlzIGNvbXB1dGVkIGFjY29yZGluZyBzcGFjZSBiZWluZyB1c2VkIAorUEFT
UyBBZnRlciBuZXR3b3JrIHByb2Nlc3MgcmVzdGFydCwgdmVyaWZ5IHF1b3RhIGlzIGNvbXB1dGVk
IGFjY29yZGluZyBzcGFjZSBiZWluZyB1c2VkIGFuZCBkb2VzIG5vdCBpbmNyZWFzZSAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1h
ZnRlci1yZXN0YXJ0LmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY2FjaGUtc3RvcmFn
ZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0YXJ0LmFueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1
MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXF1b3RhLWFmdGVyLXJlc3RhcnQu
YW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdl
YktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1xdW90YS1hZnRlci1yZXN0YXJ0LmFueS5qcyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5h
bnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTFjZDdkZTE2MTkwOWEyYjI4MTU3YWVmMTA4OGZjNjBjOTI5MzEw
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2Uv
Y2FjaGUtcXVvdGEtYWZ0ZXItcmVzdGFydC5hbnkuanMKQEAgLTAsMCArMSw0MyBAQAordmFyIHJl
c3BvbnNlMSA9IG5ldyBSZXNwb25zZShuZXcgQXJyYXlCdWZmZXIoMSAqIDEwMjQpKTsKK3ZhciBy
ZXNwb25zZTMwa28gPSBuZXcgUmVzcG9uc2UobmV3IEFycmF5QnVmZmVyKDMwICogMTAyNCkpOwor
dmFyIHJlc3BvbnNlNDAwID0gbmV3IFJlc3BvbnNlKG5ldyBBcnJheUJ1ZmZlcig0MDAgKiAxMDI0
KSk7CitsZXQgY2FjaGU7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGlm
ICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgiVGVz
dCByZXF1aXJlcyBpbnRlcm5hbHMiKTsKKworICAgIHRlc3RSdW5uZXIuc2V0QWxsb3dTdG9yYWdl
UXVvdGFJbmNyZWFzZSh0cnVlKTsKKworICAgIGNhY2hlID0gYXdhaXQgc2VsZi5jYWNoZXMub3Bl
bigidGVtcDEiKTsKKyAgICBhd2FpdCBjYWNoZS5wdXQoIjQwMC12MSIsIHJlc3BvbnNlNDAwLmNs
b25lKCkpOworICAgIGF3YWl0IGNhY2hlLnB1dCgiMSIsIHJlc3BvbnNlMS5jbG9uZSgpKTsKKyAg
ICAvLyBxdW90YSBzaG91bGQgYmUgZXF1YWwgdG8gODAxa28gbm93LgorICAgIGF3YWl0IGNhY2hl
LnB1dCgiNDAwLXYyIiwgcmVzcG9uc2U0MDAuY2xvbmUoKSk7CisKKyAgICB0ZXN0UnVubmVyLnNl
dEFsbG93U3RvcmFnZVF1b3RhSW5jcmVhc2UoZmFsc2UpOworCisgICAgcmV0dXJuIHByb21pc2Vf
cmVqZWN0cyh0ZXN0LCAiUXVvdGFFeGNlZWRlZEVycm9yIiwgY2FjaGUucHV0KCIzMGtvIiwgcmVz
cG9uc2UzMGtvLmNsb25lKCkpLCAicHV0IHNob3VsZCBmYWlsIik7Cit9LCAnSW5jcmVhc2luZyBx
dW90YScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBpZiAoIXdpbmRv
dy5pbnRlcm5hbHMpCisgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgiVGVzdCByZXF1aXJl
cyBpbnRlcm5hbHMiKTsKKworICAgIC8vIFNwYWNlIHVzZWQgaXMgYXJvdW5kIDgwMWtvLiBBZnRl
ciByb3VuZGluZywgcXVvdGEgc2hvdWxkIGJlIDg0MGtvLgorICAgIGludGVybmFscy51cGRhdGVR
dW90YUJhc2VkT25TcGFjZVVzYWdlKCk7CisKKyAgICByZXR1cm4gY2FjaGUucHV0KCIzMGtvMSIs
IHJlc3BvbnNlMzBrby5jbG9uZSgpKTsKK30sICdBZnRlciBuZXR3b3JrIHByb2Nlc3MgcmVzdGFy
dCwgdmVyaWZ5IHF1b3RhIGlzIGNvbXB1dGVkIGFjY29yZGluZyBzcGFjZSBiZWluZyB1c2VkJyk7
CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGlmICghd2luZG93LmludGVy
bmFscykKKyAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCJUZXN0IHJlcXVpcmVzIGludGVy
bmFscyIpOworCisgICAgLy8gU3BhY2UgdXNlZCBpcyBhcm91bmQgODMxa28uIEFmdGVyIHJvdW5k
aW5nLCBxdW90YSBzaG91bGQgYmUgODQwa28uCisgICAgaW50ZXJuYWxzLnVwZGF0ZVF1b3RhQmFz
ZWRPblNwYWNlVXNhZ2UoKTsKKworICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModGVzdCwgIlF1
b3RhRXhjZWVkZWRFcnJvciIsIGNhY2hlLnB1dCgiMzBrbzIiLCByZXNwb25zZTMwa28uY2xvbmUo
KSksICJwdXQgc2hvdWxkIGZhaWwiKTsKK30sICdBZnRlciBuZXR3b3JrIHByb2Nlc3MgcmVzdGFy
dCwgdmVyaWZ5IHF1b3RhIGlzIGNvbXB1dGVkIGFjY29yZGluZyBzcGFjZSBiZWluZyB1c2VkIGFu
ZCBkb2VzIG5vdCBpbmNyZWFzZScpOworCitkb25lKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>