<?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>179668</bug_id>
          
          <creation_ts>2017-11-14 07:21:06 -0800</creation_ts>
          <short_desc>WebSWClientConnection should do IPC to StorageProcess if its WebSWOriginTable is not yet initialized</short_desc>
          <delta_ts>2017-11-15 09:30:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>
          
          
          <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>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1371371</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-14 07:21:06 -0800</bug_when>
    <thetext>WebSWClientConnection should do IPC to StorageProcess if its WebSWOriginTable is not yet initialized</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371372</commentid>
    <comment_count>1</comment_count>
      <attachid>326877</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-14 07:28:52 -0800</bug_when>
    <thetext>Created attachment 326877
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371397</commentid>
    <comment_count>2</comment_count>
      <attachid>326877</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-14 09:18:47 -0800</bug_when>
    <thetext>Comment on attachment 326877
Patch

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

&gt; Source/WebKit/WebProcess/Storage/WebSWOriginTable.h:43
&gt; +    bool isInitialized() const { return m_serviceWorkerOriginTable.sharedMemory(); }

The StorageProcess only sends a SharedMemoryHandle once the store actually contains at least one item. A store can be initialized and have no shared memory, in which case it merely means it is empty. Going to the StorageProcess in such cases is wrong and unnecessarily inefficient.

&gt; LayoutTests/ChangeLog:8
&gt; +        * http/tests/workers/service/basic-unregister.https-expected.txt:

Please explain the test changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371429</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-14 10:34:17 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #2)
&gt; Comment on attachment 326877 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=326877&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/Storage/WebSWOriginTable.h:43
&gt; &gt; +    bool isInitialized() const { return m_serviceWorkerOriginTable.sharedMemory(); }
&gt; 
&gt; The StorageProcess only sends a SharedMemoryHandle once the store actually
&gt; contains at least one item. A store can be initialized and have no shared
&gt; memory, in which case it merely means it is empty. Going to the
&gt; StorageProcess in such cases is wrong and unnecessarily inefficient.

OK, let&apos;s make StorageProcess do an IPC to state that the table is empty then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371439</commentid>
    <comment_count>4</comment_count>
      <attachid>326889</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-14 10:45:53 -0800</bug_when>
    <thetext>Created attachment 326889
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371444</commentid>
    <comment_count>5</comment_count>
      <attachid>326889</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-14 10:56:23 -0800</bug_when>
    <thetext>Comment on attachment 326889
Patch

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

&gt; LayoutTests/ChangeLog:8
&gt; +        Updated tests to use hasServiceWorkerRegistration instead of hasServiceWorkerRegisteredForOrigin.

Since you kill all the call sites to hasServiceWorkerRegisteredForOrigin(), please kill internals.hasServiceWorkerRegisteredForOrigin() too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371465</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-14 11:13:57 -0800</bug_when>
    <thetext>&gt; &gt; LayoutTests/ChangeLog:8
&gt; &gt; +        Updated tests to use hasServiceWorkerRegistration instead of hasServiceWorkerRegisteredForOrigin.
&gt; 
&gt; Since you kill all the call sites to hasServiceWorkerRegisteredForOrigin(),
&gt; please kill internals.hasServiceWorkerRegisteredForOrigin() too.

It is removed from Internals.cpp/h/idl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371498</commentid>
    <comment_count>7</comment_count>
      <attachid>326889</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-14 11:48:56 -0800</bug_when>
    <thetext>Comment on attachment 326889
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371514</commentid>
    <comment_count>8</comment_count>
      <attachid>326889</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-14 12:28:38 -0800</bug_when>
    <thetext>Comment on attachment 326889
Patch

Clearing flags on attachment: 326889

Committed r224832: &lt;https://trac.webkit.org/changeset/224832&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371515</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-14 12:28:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371855</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 09:30:50 -0800</bug_when>
    <thetext>&lt;rdar://problem/35561838&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326877</attachid>
            <date>2017-11-14 07:28:52 -0800</date>
            <delta_ts>2017-11-14 10:45:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179668-20171114072851.patch</filename>
            <type>text/plain</type>
            <size>16361</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZmNDFhMTJjNDUxNWVi
MzZlYjM1OTdiMjVkNjg1MGY4MmRiNTA0ZS4uZmU3MDUwNWU4ODQ1ZDdiOTkyZWFiZDIwNTc3NGU5
OWE2OTNhN2RhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTExLTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJTV0NsaWVudENvbm5l
Y3Rpb24gc2hvdWxkIGRvIElQQyB0byBTdG9yYWdlUHJvY2VzcyBpZiBpdHMgV2ViU1dPcmlnaW5U
YWJsZSBpcyBub3QgeWV0IGluaXRpYWxpemVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk2NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IHVwZGF0ZWQgdGVzdC4KKworICAgICAgICBS
ZW1vdmluZyBoYXNTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbiBhbmQgdXNpbmcgaGFz
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnN0ZWFkLgorICAgICAgICBUaGUgbGF0dGVyIG9u
bHkgY2hlY2tzIGZvciBhIGdpdmVuIHJlZ2lzdHJhdGlvbiBidXQgZ29lcyB0byB0aGUgU3RvcmFn
ZVByb2Nlc3MgaWYgbmVlZGVkLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpoYXNTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZv
ck9yaWdpbik6IERlbGV0ZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV0NsaWVudENvbm5lY3Rpb24uaDoKKwogMjAxNy0xMS0xNCAgWmFuIERvYmVyc2VrICA8
emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NhaXJvXSBNb3ZlIGRyYXdMaW5lc0Zv
clRleHQgb3BlcmF0aW9uIGZyb20gR3JhcGhpY3NDb250ZXh0Q2Fpcm8gdG8gQ2Fpcm9PcGVyYXRp
b25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDQ4YTBhMzcwNzQyODMwMGM4NGRhZDViOTcyMjg0OGQxMDg3M2YyZWQu
LmRlODY1MDVhMzdhMDc0YTc2N2ZjNTI1OTUzYzY5ZDAyMDg2ZGFiZmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjUgQEAKKzIwMTctMTEtMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYlNXQ2xpZW50Q29ubmVjdGlvbiBzaG91bGQgZG8gSVBDIHRvIFN0b3Jh
Z2VQcm9jZXNzIGlmIGl0cyBXZWJTV09yaWdpblRhYmxlIGlzIG5vdCB5ZXQgaW5pdGlhbGl6ZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTY2OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIG1h
eSBiZSBjYXNlcyB3aGVyZSB0aGUgb3JpZ2luIHRhYmxlIGlzIG5vdCBpbml0aWFsaXplZCBhbmQg
d2Ugd291bGQgdGhpbmsgdGhlcmUgaXMgbm8gc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9uLgor
ICAgICAgICBJbiBzdWNoIGEgY2FzZSwgZ28gdG8gdGhlIFN0b3JhZ2VQcm9jZXNzLgorCisgICAg
ICAgIFJlbmFtaW5nIGhhc1NlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luIGluIG1heUhh
dmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbi4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJTV0NsaWVudENvbm5lY3Rpb246Om1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9y
aWdpbiBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6bWF0
Y2hSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NsaWVudENvbm5lY3Rpb246
Omhhc1NlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXT3JpZ2luVGFibGUuaDoKKyAgICAgICAgKFdl
YktpdDo6V2ViU1dPcmlnaW5UYWJsZTo6aXNJbml0aWFsaXplZCBjb25zdCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OnNob3VsZEhhbmRsZUZldGNoKToKKwogMjAxNy0xMS0xMyAgSm9zZXBoIFBlY29y
YXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIEdpdmUgYSBTZXJ2aWNlV29ya2Vy
IFdlYkNvbnRlbnRQcm9jZXNzIGEgZGlmZmVyZW50IGRpc3BsYXkgbmFtZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDY2ZDZhZDhkMjcwOTNiNDJiMjFjNGQ0MTkwZmUyMTYw
MmU1NDI1NjkuLjJkZTI2YTZjOGRhYjZkNWRkNjkzZjFhOGRjMzI4MGJjOWI0YWI2NGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQyMzIsMTkgKzQyMzIsNiBAQCB2b2lk
IEludGVybmFsczo6c2V0Q29uc29sZU1lc3NhZ2VMaXN0ZW5lcihSZWZQdHI8U3RyaW5nQ2FsbGJh
Y2s+JiYgbGlzdGVuZXIpCiAgICAgY29udGV4dERvY3VtZW50KCktPnNldENvbnNvbGVNZXNzYWdl
TGlzdGVuZXIoV1RGTW92ZShsaXN0ZW5lcikpOwogfQogCi1ib29sIEludGVybmFsczo6aGFzU2Vy
dmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4oY29uc3QgU3RyaW5nJiBvcmlnaW4pCi17Ci0j
aWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIGlmICghY29udGV4dERvY3VtZW50KCkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6
OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihjb250ZXh0RG9j
dW1lbnQoKS0+c2Vzc2lvbklEKCkpLmhhc1NlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2lu
KFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tU3RyaW5nKG9yaWdpbikpOwotI2Vsc2UKLSAgICBV
TlVTRURfUEFSQU0ob3JpZ2luKTsKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKLX0KLQogdm9p
ZCBJbnRlcm5hbHM6OnNldFJlc3BvbnNlU2l6ZVdpdGhQYWRkaW5nKEZldGNoUmVzcG9uc2UmIHJl
c3BvbnNlLCB1aW50NjRfdCBzaXplKQogewogICAgIHJlc3BvbnNlLnNldEJvZHlTaXplV2l0aFBh
ZGRpbmcoc2l6ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBmM2Y4ZmZmNzY2
M2VkN2E4ZDA5MzUwZWE1YTgxMWIyY2MwZGRmM2YzLi4zZjk1OWVmYzM0MGRlMjUxOWMzY2E0MmU1
NzJmMGZjZTJmMDYxYTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTYyNSw4
ICs2MjUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBoYXNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
KGNvbnN0IFN0cmluZyYgY2xpZW50VVJMLCBIYXNSZWdpc3RyYXRpb25Qcm9taXNlJiYpOwogI2Vu
ZGlmCiAKLSAgICBib29sIGhhc1NlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKGNvbnN0
IFN0cmluZyYpOwotCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAgICBNb2NrUGF5bWVudENvb3Jk
aW5hdG9yJiBtb2NrUGF5bWVudENvb3JkaW5hdG9yKCkgY29uc3Q7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCAyY2M3NTJjNjU1MmY5MTMwMTM0YjUxMTg2ODQx
MGU5YWJjNTdjYjdiLi40MWEzNGRjNDU3OGM5MGIwZGJjNmE3NTg0NDE1Zjg3MDYwZThkZDU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC01NjgsOCArNTY4LDYgQEAgZW51
bSBFdmVudFRocm90dGxpbmdCZWhhdmlvciB7CiAgICAgW0NvbmRpdGlvbmFsPVNFUlZJQ0VfV09S
S0VSLCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBGZXRjaEV2ZW50IGNyZWF0ZUJl
aW5nRGlzcGF0Y2hlZEZldGNoRXZlbnQoKTsKICAgICBbQ29uZGl0aW9uYWw9U0VSVklDRV9XT1JL
RVJdIFByb21pc2U8Ym9vbGVhbj4gaGFzU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihET01TdHJp
bmcgc2NvcGVVUkwpOwogCi0gICAgYm9vbGVhbiBoYXNTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZv
ck9yaWdpbihET01TdHJpbmcgb3JpZ2luKTsKLQogICAgIFtFbmFibGVkQXRSdW50aW1lPVdlYkFu
aW1hdGlvbnNdIERPTVN0cmluZyB0aW1lbGluZURlc2NyaXB0aW9uKEFuaW1hdGlvblRpbWVsaW5l
IHRpbWVsaW5lKTsKICAgICBbRW5hYmxlZEF0UnVudGltZT1XZWJBbmltYXRpb25zXSB2b2lkIHBh
dXNlVGltZWxpbmUoQW5pbWF0aW9uVGltZWxpbmUgdGltZWxpbmUpOwogICAgIFtFbmFibGVkQXRS
dW50aW1lPVdlYkFuaW1hdGlvbnNdIHZvaWQgc2V0VGltZWxpbmVDdXJyZW50VGltZShBbmltYXRp
b25UaW1lbGluZSB0aW1lbGluZSwgZG91YmxlIGN1cnJlbnRUaW1lKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlv
bi5oCmluZGV4IDcxOTk5MDQ0MmY0OTlkNmQ2MjI5MWQ3ZDgyYWU0OTVlYjdjODEzYTMuLjY4YzNk
MjYzYjI3YWQ1Nzc3NGU3NTEzZTYzZWYwOWI4MzM5YzgxY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24u
aApAQCAtNjYsNyArNjYsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3Nh
Z2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0
aW5hdGlvbklkZW50aWZpZXIsIFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYsIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIHNvdXJjZSkgPSAwOwogICAgIHZpcnR1YWwgdWludDY0X3QgaWRlbnRp
ZmllcigpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaGFzU2VydmljZVdvcmtlclJlZ2lz
dGVyZWRGb3JPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW4mKSBjb25zdCA9IDA7CisgICAgdmly
dHVhbCBib29sIG1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihjb25zdCBT
ZWN1cml0eU9yaWdpbiYpIGNvbnN0ID0gMDsKIAogcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQ
T1JUIFNXQ2xpZW50Q29ubmVjdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggNDIyOGZh
MmZhMzBjZjE1MzJmZTFjMDg1NjJiY2I0M2UxMDljMGZhNi4uZmZkMzI4YjlmZTFhNzRjNjljYjRi
ODk5MDJlMjljZjgxNWU3NjkwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC05NCw4ICs5NCwx
MSBAQCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6ZGlkUmVzb2x2ZVJlZ2lzdHJhdGlvblBy
b21pc2UoY29uc3QgU2VydmljZVdvcmtlclJlZwogICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXU2Vy
dmVyQ29ubmVjdGlvbjo6RGlkUmVzb2x2ZVJlZ2lzdHJhdGlvblByb21pc2Uoa2V5KSk7CiB9CiAK
LWJvb2wgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpoYXNTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZv
ck9yaWdpbihjb25zdCBTZWN1cml0eU9yaWdpbiYgb3JpZ2luKSBjb25zdAorYm9vbCBXZWJTV0Ns
aWVudENvbm5lY3Rpb246Om1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihj
b25zdCBTZWN1cml0eU9yaWdpbiYgb3JpZ2luKSBjb25zdAogeworICAgIGlmICghbV9zd09yaWdp
blRhYmxlLT5pc0luaXRpYWxpemVkKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgcmV0
dXJuIG1fc3dPcmlnaW5UYWJsZS0+Y29udGFpbnMob3JpZ2luKTsKIH0KIApAQCAtMTEyLDcgKzEx
NSw3IEBAIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpkaWRNYXRjaFJlZ2lzdHJhdGlvbih1
aW50NjRfdCBtYXRjaGluZ1JlcXVlc3QsIHN0ZDo6CiAKIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0
aW9uOjptYXRjaFJlZ2lzdHJhdGlvbihjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBj
b25zdCBVUkwmIGNsaWVudFVSTCwgUmVnaXN0cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKIHsK
LSAgICBpZiAoIWhhc1NlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKHRvcE9yaWdpbikp
IHsKKyAgICBpZiAoIW1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbih0b3BP
cmlnaW4pKSB7CiAgICAgICAgIGNhbGxiYWNrKHN0ZDo6bnVsbG9wdCk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCmluZGV4IDUxMmExZDFhYmNjY2Q4NzJhNDk0M2JiNDQx
ZWMzNmU4Zjg0MjE0NTAuLjNiMzY2ZDJkMmU0NmY1OGJiOTk1Y2E1NWM3NzAzZWZhMzY5MmQyMGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50
Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q2xpZW50Q29ubmVjdGlvbi5oCkBAIC02MCw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRp
c2Nvbm5lY3RlZEZyb21XZWJQcm9jZXNzKCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKIAotICAgIGJvb2wgaGFzU2Vy
dmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4oY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4mKSBjb25zdCBmaW5hbDsKKyAgICBib29sIG1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJl
ZEZvck9yaWdpbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYpIGNvbnN0IGZpbmFsOwog
ICAgIFJlZjxTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g+IHN0YXJ0RmV0Y2goV2ViU2VydmljZVdv
cmtlclByb3ZpZGVyJiwgUmVmPFdlYkNvcmU6OlJlc291cmNlTG9hZGVyPiYmLCB1aW50NjRfdCBp
ZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6OkNhbGxiYWNrJiYpOwogCiAgICAg
dm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudCh1aW50NjRfdCBkZXN0aW5hdGlv
blNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVu
Y2UmIG1lc3NhZ2UsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJEYXRhJiYgc291cmNlLCBjb25zdCBT
dHJpbmcmIHNvdXJjZU9yaWdpbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV09yaWdpblRhYmxlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTV09yaWdpblRhYmxlLmgKaW5kZXggZWY5NGE3MWE4Y2YxMGZhZWY5MzJkNWUy
YWRlZGQwZjcxY2I5NWExNi4uMGQ5OTIxODk3NTRmMjk4MWQ4YWEzNDgyNjhiMWVlOGE0NmZlOTRl
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dPcmln
aW5UYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXT3Jp
Z2luVGFibGUuaApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBXZWJTV09yaWdpblRhYmxlIHsKIHB1
YmxpYzoKICAgICBXZWJTV09yaWdpblRhYmxlKCkgPSBkZWZhdWx0OwogCisgICAgYm9vbCBpc0lu
aXRpYWxpemVkKCkgY29uc3QgeyByZXR1cm4gbV9zZXJ2aWNlV29ya2VyT3JpZ2luVGFibGUuc2hh
cmVkTWVtb3J5KCk7IH0KICAgICBib29sIGNvbnRhaW5zKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luJikgY29uc3Q7CiAgICAgdm9pZCBzZXRTaGFyZWRNZW1vcnkoY29uc3QgU2hhcmVkTWVt
b3J5OjpIYW5kbGUmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAKaW5kZXggNzYxZTNlZDlj
Y2IyZjAzYjE3OTk3NDE5NTVlNGNhMDljM2IxYjRhMC4uZTVlNTQ4NmYxOWZlNGU1NTkwODUzMzQ4
OWI1MjRmMTU4ZTY5YzEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwCkBAIC03NCw3ICs3
NCw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRIYW5kbGVGZXRjaChjb25zdCBXZWJTV0Ns
aWVudENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIENhCiAgICAgaWYgKCFyZXNvdXJjZSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIGNvbm5lY3Rpb24uaGFzU2VydmljZVdvcmtl
clJlZ2lzdGVyZWRGb3JPcmlnaW4oKnJlc291cmNlLT5vcmlnaW4oKSk7CisgICAgcmV0dXJuIGNv
bm5lY3Rpb24ubWF5SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKCpyZXNvdXJj
ZS0+b3JpZ2luKCkpOwogfQogCiB2b2lkIFdlYlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6aGFuZGxl
RmV0Y2goUmVzb3VyY2VMb2FkZXImIGxvYWRlciwgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaDo6Q2FsbGJh
Y2smJiBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjOWIxMzhhZjdhYWY4YzU0MzYwMzBlMjNmODhkM2JhZmQ1
MzlhYmVmLi4yZjhkMjc0Y2M3NDgyNjEzNzkzNTUzNDc0NjU3YTZhZjBmMTVmNGI1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTctMTEtMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgorCisgICAgICAgIFdlYlNXQ2xpZW50Q29ubmVjdGlvbiBzaG91bGQgZG8gSVBDIHRvIFN0
b3JhZ2VQcm9jZXNzIGlmIGl0cyBXZWJTV09yaWdpblRhYmxlIGlzIG5vdCB5ZXQgaW5pdGlhbGl6
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTY2
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0
cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2lj
LXJlZ2lzdGVyLmpzOgorICAgICAgICAoYXN5bmMudGVzdCk6CisgICAgICAgICogaHR0cC90ZXN0
cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLXVucmVnaXN0ZXIuanM6CisgICAgICAg
IChhc3luYy50ZXN0KToKKwogMjAxNy0xMS0xNCAgTXMyZ2VyICA8TXMyZ2VyQGlnYWxpYS5jb20+
CiAKICAgICAgICAgQWRkIHNvbWUgYnVnIG51bWJlcnMgZm9yIGZhaWxpbmcgWEhSIHRlc3RzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9iYXNpYy11
bnJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29y
a2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZl
NjM2NDgyMzNlNDdiNzg2MGQwODM5MjVlODk2YzlmMWRkMmQ3NzMuLjY4ZDZmYjhiMDk1NTE5NWZm
MTVmMzc5ODgzMWRlZTg5M2Q4YmFkMTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0
ZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogUEFTUzogVGhlcmUgaXMgaW5p
dGlhbGx5IG5vIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdGVyZWQgZm9yIHRoZSBvcmlnaW4KLVBBU1M6
IHJlZ2lzdHJhdGlvbiBzY29wZSBpcyBodHRwczovLzEyNy4wLjAuMTo4NDQzL3dvcmtlcnMvc2Vy
dmljZS8KK1BBU1M6IHJlZ2lzdHJhdGlvbiBzY29wZSBpcyBodHRwczovLzEyNy4wLjAuMTo4NDQz
LwogUEFTUzogVGhlcmUgaXMgYSBzZXJ2aWNlIHdvcmtlciByZWdpc3RlcmVkIGZvciB0aGUgb3Jp
Z2luCiBQQVNTOiBVbnJlZ2lzdHJhdGlvbiB3YXMgc3VjY2Vzc2Z1bAogUEFTUzogVGhlcmUgaXMg
bm8gc2VydmljZSB3b3JrZXIgcmVnaXN0ZXJlZCBmb3IgdGhlIG9yaWdpbgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLXJl
Z2lzdGVyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3Vy
Y2VzL2Jhc2ljLXJlZ2lzdGVyLmpzCmluZGV4IGEzZWJiMjdkZWI2YjRmODQ0NzJhYmExOThiNGYw
MzljNTg1MWE2YTIuLmI1ZTI0NmMzMWEzNTZjZDFmYTViMjViMzA4YjJhMTk0ZjRmNGFlNWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNl
cy9iYXNpYy1yZWdpc3Rlci5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMv
c2VydmljZS9yZXNvdXJjZXMvYmFzaWMtcmVnaXN0ZXIuanMKQEAgLTUsMTQgKzUsMTQgQEAgZnVu
Y3Rpb24gZG9uZSgpCiAKIGFzeW5jIGZ1bmN0aW9uIHRlc3QoKQogewotICAgIGlmICghaW50ZXJu
YWxzLmhhc1NlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKHNlbGYub3JpZ2luKSkKKyAg
ICBpZiAoIWF3YWl0IGludGVybmFscy5oYXNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKHNlbGYu
b3JpZ2luKSkKICAgICAgICAgbG9nKCJQQVNTOiBObyBzZXJ2aWNlIHdvcmtlciBpcyBpbml0aWFs
bHkgcmVnaXN0ZXJlZCBmb3IgdGhpcyBvcmlnaW4iKTsKICAgICBlbHNlCiAgICAgICAgIGxvZygi
RkFJTDogQSBzZXJ2aWNlIHdvcmtlciBpcyBpbml0aWFsbHkgcmVnaXN0ZXJlZCBmb3IgdGhpcyBv
cmlnaW4iKTsKIAogICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVl
KTsKIAotICAgIGlmICghaW50ZXJuYWxzLmhhc1NlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3Jp
Z2luKHNlbGYub3JpZ2luKSkKKyAgICBpZiAoIWF3YWl0IGludGVybmFscy5oYXNTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uKHNlbGYub3JpZ2luKSkKICAgICAgICAgbG9nKCJQQVNTOiBObyBzZXJ2
aWNlIHdvcmtlciBpcyBpbml0aWFsbHkgcmVnaXN0ZXJlZCBmb3IgdGhpcyBvcmlnaW4gaW4gcHJp
dmF0ZSBzZXNzaW9uIik7CiAgICAgZWxzZQogICAgICAgICBsb2coIkZBSUw6IEEgc2VydmljZSB3
b3JrZXIgaXMgaW5pdGlhbGx5IHJlZ2lzdGVyZWQgZm9yIHRoaXMgb3JpZ2luIGluIHByaXZhdGUg
c2Vzc2lvbiIpOwpAQCAtMzIsMTQgKzMyLDE0IEBAIGFzeW5jIGZ1bmN0aW9uIHRlc3QoKQogICAg
ICAgICBlbHNlCiAgICAgICAgICAgICBsb2coIkZBSUw6IHJlZ2lzdHJhdGlvbiBvYmplY3QncyB1
cGRhdGVWaWFDYWNoZSBpcyBpbnZhbGlkLCBnb3Q6ICIgKyByLnVwZGF0ZVZpYUNhY2hlKTsKIAot
ICAgICAgICBpZiAoaW50ZXJuYWxzLmhhc1NlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2lu
KHNlbGYub3JpZ2luKSkKKyAgICAgICAgaWYgKGF3YWl0IGludGVybmFscy5oYXNTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uKCIvdGVzdCIpKQogICAgICAgICAgICAgbG9nKCJQQVNTOiBBIHNlcnZp
Y2Ugd29ya2VyIGlzIG5vdyByZWdpc3RlcmVkIGZvciB0aGlzIG9yaWdpbiIpOwogICAgICAgICBl
bHNlCiAgICAgICAgICAgICBsb2coIkZBSUw6IE5vIHNlcnZpY2Ugd29ya2VyIGlzIHJlZ2lzdGVy
ZWQgZm9yIHRoaXMgb3JpZ2luIik7CiAKICAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkKHRydWUpOwogCi0gICAgICAgIGlmICghaW50ZXJuYWxzLmhhc1NlcnZpY2VX
b3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKHNlbGYub3JpZ2luKSkKKyAgICAgICAgaWYgKCFhd2Fp
dCBpbnRlcm5hbHMuaGFzU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbigiL3Rlc3QiKSkKICAgICAg
ICAgICAgIGxvZygiUEFTUzogTm8gc2VydmljZSB3b3JrZXIgaXMgcmVnaXN0ZXJlZCBmb3IgdGhp
cyBvcmlnaW4gaW4gcHJpdmF0ZSBzZXNzaW9uIik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IGxvZygiRkFJTDogQSBzZXJ2aWNlIHdvcmtlciBpcyByZWdpc3RlcmVkIGZvciB0aGlzIG9yaWdp
biBpbiBwcml2YXRlIHNlc3Npb24iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy11bnJlZ2lzdGVyLmpzIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLXVucmVnaXN0
ZXIuanMKaW5kZXggZjBlZWY3MWYwYWE3NmZkMDJjZWRjMWRkYjgzNjY2ZmJlMTFiNjEzZi4uZWMx
YWY2Y2IyNTk1YzFjZmExMmU2ZWYzYzY0ZDlhYTcyZGMxY2ZlYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLXVucmVnaXN0
ZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3Vy
Y2VzL2Jhc2ljLXVucmVnaXN0ZXIuanMKQEAgLTYsMTggKzYsMTggQEAgZnVuY3Rpb24gZG9uZSgp
CiBhc3luYyBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICB0cnkgewotICAgICAgICBpZiAoIWludGVy
bmFscy5oYXNTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihzZWxmLm9yaWdpbikpCisg
ICAgICAgIGlmICghYXdhaXQgaW50ZXJuYWxzLmhhc1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24o
c2VsZi5vcmlnaW4pKQogICAgICAgICAgICAgbG9nKCJQQVNTOiBUaGVyZSBpcyBpbml0aWFsbHkg
bm8gc2VydmljZSB3b3JrZXIgcmVnaXN0ZXJlZCBmb3IgdGhlIG9yaWdpbiIpOwogICAgICAgICBl
bHNlCiAgICAgICAgICAgICBsb2coIkZBSUw6IFRoZXJlIGlzIGluaXRpYWxseSBhIHNlcnZpY2Ug
d29ya2VyIHJlZ2lzdGVyZWQgZm9yIHRoZSBvcmlnaW4iKTsKIAotICAgICAgICBsZXQgcmVnaXN0
cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoInJlc291cmNl
cy9iYXNpYy1mZXRjaC13b3JrZXIuanMiLCB7IH0pOwotICAgICAgICBpZiAocmVnaXN0cmF0aW9u
LnNjb3BlID09PSAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93b3JrZXJzL3NlcnZpY2UvIikKKyAg
ICAgICAgbGV0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJl
Z2lzdGVyKCJyZXNvdXJjZXMvYmFzaWMtZmV0Y2gtd29ya2VyLmpzIiwgeyBzY29wZTogIi8iIH0p
OworICAgICAgICBpZiAocmVnaXN0cmF0aW9uLnNjb3BlID09PSAiaHR0cHM6Ly8xMjcuMC4wLjE6
ODQ0My8iKQogICAgICAgICAgICAgbG9nKCJQQVNTOiByZWdpc3RyYXRpb24gc2NvcGUgaXMgIiAr
IHJlZ2lzdHJhdGlvbi5zY29wZSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGxvZygiRkFJ
TDogcmVnaXN0cmF0aW9uIHNjb3BlIGlzICIgKyByZWdpc3RyYXRpb24uc2NvcGUpOwogIAotICAg
ICAgICBpZiAoaW50ZXJuYWxzLmhhc1NlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKHNl
bGYub3JpZ2luKSkKKyAgICAgICAgaWYgKGF3YWl0IGludGVybmFscy5oYXNTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uKHNlbGYub3JpZ2luKSkKICAgICAgICAgICAgIGxvZygiUEFTUzogVGhlcmUg
aXMgYSBzZXJ2aWNlIHdvcmtlciByZWdpc3RlcmVkIGZvciB0aGUgb3JpZ2luIik7CiAgICAgICAg
IGVsc2UKICAgICAgICAgICAgIGxvZygiRkFJTDogVGhlcmUgaXMgbm8gc2VydmljZSB3b3JrZXIg
cmVnaXN0ZXJlZCBmb3IgdGhlIG9yaWdpbiIpOwpAQCAtMjgsNyArMjgsNyBAQCBhc3luYyBmdW5j
dGlvbiB0ZXN0KCkKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbG9nKCJGQUlMOiBVbnJlZ2lz
dHJhdGlvbiBmYWlsZWQiKTsKIAotICAgICAgICBpZiAoIWludGVybmFscy5oYXNTZXJ2aWNlV29y
a2VyUmVnaXN0ZXJlZEZvck9yaWdpbihzZWxmLm9yaWdpbikpCisgICAgICAgIGlmICghYXdhaXQg
aW50ZXJuYWxzLmhhc1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oc2VsZi5vcmlnaW4pKQogICAg
ICAgICAgICAgbG9nKCJQQVNTOiBUaGVyZSBpcyBubyBzZXJ2aWNlIHdvcmtlciByZWdpc3RlcmVk
IGZvciB0aGUgb3JpZ2luIik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGxvZygiRkFJTDog
VGhlcmUgaXMgYSBzZXJ2aWNlIHdvcmtlciByZWdpc3RlcmVkIGZvciB0aGUgb3JpZ2luIik7CkBA
IC0zOSw3ICszOSw3IEBAIGFzeW5jIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBsb2coIkZBSUw6IFVucmVnaXN0cmF0aW9uIHN1Y2NlZWRlZCB1bmV4cGVjdGVkbHki
KTsKICAgICAgICAgCi0gICAgICAgIGlmICghaW50ZXJuYWxzLmhhc1NlcnZpY2VXb3JrZXJSZWdp
c3RlcmVkRm9yT3JpZ2luKHNlbGYub3JpZ2luKSkKKyAgICAgICAgaWYgKCFhd2FpdCBpbnRlcm5h
bHMuaGFzU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihzZWxmLm9yaWdpbikpCiAgICAgICAgICAg
ICBsb2coIlBBU1M6IFRoZXJlIGlzIG5vIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdGVyZWQgZm9yIHRo
ZSBvcmlnaW4iKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbG9nKCJGQUlMOiBUaGVyZSBp
cyBhIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdGVyZWQgZm9yIHRoZSBvcmlnaW4iKTsKQEAgLTUwLDcg
KzUwLDcgQEAgYXN5bmMgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IGxvZygiRkFJTDogcmVnaXN0cmF0aW9uIHNjb3BlIGlzICIgKyByZWdpc3RyYXRpb24uc2NvcGUp
OwogCi0gICAgICAgIGlmIChpbnRlcm5hbHMuaGFzU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JP
cmlnaW4oc2VsZi5vcmlnaW4pKQorICAgICAgICBpZiAoYXdhaXQgaW50ZXJuYWxzLmhhc1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24oIi93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL3Rlc3QiKSkK
ICAgICAgICAgICAgIGxvZygiUEFTUzogVGhlcmUgaXMgYSBzZXJ2aWNlIHdvcmtlciByZWdpc3Rl
cmVkIGZvciB0aGUgb3JpZ2luIik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGxvZygiRkFJ
TDogVGhlcmUgaXMgbm8gc2VydmljZSB3b3JrZXIgcmVnaXN0ZXJlZCBmb3IgdGhlIG9yaWdpbiIp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326889</attachid>
            <date>2017-11-14 10:45:53 -0800</date>
            <delta_ts>2017-11-14 12:28:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179668-20171114104552.patch</filename>
            <type>text/plain</type>
            <size>20158</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZmNDFhMTJjNDUxNWVi
MzZlYjM1OTdiMjVkNjg1MGY4MmRiNTA0ZS4uMThjMWRlOWJhMDQ2ZjQ4ODMyYjc2ZDdhMmM5ZGI4
NmE2NTliMjY2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE3LTExLTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJTV0NsaWVudENvbm5l
Y3Rpb24gc2hvdWxkIGRvIElQQyB0byBTdG9yYWdlUHJvY2VzcyBpZiBpdHMgV2ViU1dPcmlnaW5U
YWJsZSBpcyBub3QgeWV0IGluaXRpYWxpemVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk2NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHVwZGF0ZWQgdGVzdHMuCisK
KyAgICAgICAgUmVtb3ZpbmcgaGFzU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4gYW5k
IHVzaW5nIGhhc1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW5zdGVhZC4KKyAgICAgICAgVGhl
IGZvcm1lciBpcyBvbmx5IGNoZWNraW5nIHRoZSBzaGFyZWQgbWFwIHdoaWNoIG1pZ2h0IG5vdCBi
ZSBpbml0aWFsaXplZCBhdCB0aGUgdGltZSB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkLgorICAgICAg
ICBUaGUgbGF0dGVyIGlzIGdvaW5nIHRvIHRoZSBTdG9yYWdlUHJvY2VzcyBpZiB0aGUgbWFwIGlz
IG5vdCB5ZXQgaW5pdGlhbGl6ZWQuCisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Omhhc1NlcnZpY2VXb3JrZXJSZWdpc3RlcmVk
Rm9yT3JpZ2luKTogRGVsZXRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oOgorCiAyMDE3LTExLTE0ICBaYW4gRG9iZXJzZWsg
IDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ2Fpcm9dIE1vdmUgZHJhd0xpbmVz
Rm9yVGV4dCBvcGVyYXRpb24gZnJvbSBHcmFwaGljc0NvbnRleHRDYWlybyB0byBDYWlyb09wZXJh
dGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggNDhhMGEzNzA3NDI4MzAwYzg0ZGFkNWI5NzIyODQ4ZDEwODczZjJl
ZC4uYWYzYWVmYjdhYTI2YTQzODNmNTQ4ZGRkMTFlZjU2NWQ3MzVmNzlkMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNyBAQAorMjAxNy0xMS0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViU1dDbGllbnRDb25uZWN0aW9uIHNob3VsZCBkbyBJUEMgdG8gU3Rv
cmFnZVByb2Nlc3MgaWYgaXRzIFdlYlNXT3JpZ2luVGFibGUgaXMgbm90IHlldCBpbml0aWFsaXpl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5NjY4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUg
bWF5IGJlIGNhc2VzIHdoZXJlIHRoZSBvcmlnaW4gdGFibGUgaXMgbm90IGluaXRpYWxpemVkIGFu
ZCB3ZSB3b3VsZCB0aGluayB0aGVyZSBpcyBubyBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb24u
CisgICAgICAgIEluIHN1Y2ggYSBjYXNlLCB3ZSBzaG91bGQgZ28gdG8gdGhlIFN0b3JhZ2VQcm9j
ZXNzLgorICAgICAgICBTdG9yYWdlUHJvY2VzcyBpcyBub3cgc2VuZGluZyBhbiBJUEMgbWVzc2Fn
ZSBiYWNrIHRvIGVhY2ggcmVnaXN0ZXJlZCBTVyBjb25uZWN0aW9uIHNvIHRoYXQgV2ViUHJvY2Vz
cyB3aWxsIGtub3cgd2hldGhlciBpdHMgbWFwCisgICAgICAgIGlzIGNvcnJlY3RseSBpbml0aWFs
aXplZCBvciBub3QuCisKKyAgICAgICAgUmVuYW1pbmcgaGFzU2VydmljZVdvcmtlclJlZ2lzdGVy
ZWRGb3JPcmlnaW4gaW4gbWF5SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6bWF5SGF2ZVNlcnZpY2VX
b3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU1dD
bGllbnRDb25uZWN0aW9uOjptYXRjaFJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Oldl
YlNXQ2xpZW50Q29ubmVjdGlvbjo6aGFzU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4g
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVu
dENvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dPcmlnaW5U
YWJsZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJTV09yaWdpblRhYmxlOjppc0luaXRpYWxpemVk
IGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlclBy
b3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6c2hvdWxkSGFuZGxlRmV0Y2gpOgorCiAyMDE3
LTExLTEzICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAg
R2l2ZSBhIFNlcnZpY2VXb3JrZXIgV2ViQ29udGVudFByb2Nlc3MgYSBkaWZmZXJlbnQgZGlzcGxh
eSBuYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNjZkNmFkOGQyNzA5
M2I0MmIyMWM0ZDQxOTBmZTIxNjAyZTU0MjU2OS4uMmRlMjZhNmM4ZGFiNmQ1ZGQ2OTNmMWE4ZGMz
MjgwYmM5YjRhYjY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNDIz
MiwxOSArNDIzMiw2IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRDb25zb2xlTWVzc2FnZUxpc3RlbmVy
KFJlZlB0cjxTdHJpbmdDYWxsYmFjaz4mJiBsaXN0ZW5lcikKICAgICBjb250ZXh0RG9jdW1lbnQo
KS0+c2V0Q29uc29sZU1lc3NhZ2VMaXN0ZW5lcihXVEZNb3ZlKGxpc3RlbmVyKSk7CiB9CiAKLWJv
b2wgSW50ZXJuYWxzOjpoYXNTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihjb25zdCBT
dHJpbmcmIG9yaWdpbikKLXsKLSNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgaWYgKCFj
b250ZXh0RG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIFNl
cnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb25G
b3JTZXNzaW9uKGNvbnRleHREb2N1bWVudCgpLT5zZXNzaW9uSUQoKSkuaGFzU2VydmljZVdvcmtl
clJlZ2lzdGVyZWRGb3JPcmlnaW4oU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcob3Jp
Z2luKSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShvcmlnaW4pOwotICAgIHJldHVybiBmYWxz
ZTsKLSNlbmRpZgotfQotCiB2b2lkIEludGVybmFsczo6c2V0UmVzcG9uc2VTaXplV2l0aFBhZGRp
bmcoRmV0Y2hSZXNwb25zZSYgcmVzcG9uc2UsIHVpbnQ2NF90IHNpemUpCiB7CiAgICAgcmVzcG9u
c2Uuc2V0Qm9keVNpemVXaXRoUGFkZGluZyhzaXplKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCmluZGV4IGYzZjhmZmY3NjYzZWQ3YThkMDkzNTBlYTVhODExYjJjYzBkZGYzZjMuLjNmOTU5
ZWZjMzQwZGUyNTE5YzNjYTQyZTU3MmYwZmNlMmYwNjFhNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaApAQCAtNjI1LDggKzYyNSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGhhc1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24oY29uc3QgU3RyaW5nJiBjbGllbnRVUkwsIEhhc1JlZ2lzdHJh
dGlvblByb21pc2UmJik7CiAjZW5kaWYKIAotICAgIGJvb2wgaGFzU2VydmljZVdvcmtlclJlZ2lz
dGVyZWRGb3JPcmlnaW4oY29uc3QgU3RyaW5nJik7Ci0KICNpZiBFTkFCTEUoQVBQTEVfUEFZKQog
ICAgIE1vY2tQYXltZW50Q29vcmRpbmF0b3ImIG1vY2tQYXltZW50Q29vcmRpbmF0b3IoKSBjb25z
dDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDJjYzc1MmM2
NTUyZjkxMzAxMzRiNTExODY4NDEwZTlhYmM1N2NiN2IuLjQxYTM0ZGM0NTc4YzkwYjBkYmM2YTc1
ODQ0MTVmODcwNjBlOGRkNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAg
LTU2OCw4ICs1NjgsNiBAQCBlbnVtIEV2ZW50VGhyb3R0bGluZ0JlaGF2aW9yIHsKICAgICBbQ29u
ZGl0aW9uYWw9U0VSVklDRV9XT1JLRVIsIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRd
IEZldGNoRXZlbnQgY3JlYXRlQmVpbmdEaXNwYXRjaGVkRmV0Y2hFdmVudCgpOwogICAgIFtDb25k
aXRpb25hbD1TRVJWSUNFX1dPUktFUl0gUHJvbWlzZTxib29sZWFuPiBoYXNTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uKERPTVN0cmluZyBzY29wZVVSTCk7CiAKLSAgICBib29sZWFuIGhhc1NlcnZp
Y2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKERPTVN0cmluZyBvcmlnaW4pOwotCiAgICAgW0Vu
YWJsZWRBdFJ1bnRpbWU9V2ViQW5pbWF0aW9uc10gRE9NU3RyaW5nIHRpbWVsaW5lRGVzY3JpcHRp
b24oQW5pbWF0aW9uVGltZWxpbmUgdGltZWxpbmUpOwogICAgIFtFbmFibGVkQXRSdW50aW1lPVdl
YkFuaW1hdGlvbnNdIHZvaWQgcGF1c2VUaW1lbGluZShBbmltYXRpb25UaW1lbGluZSB0aW1lbGlu
ZSk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9V2ViQW5pbWF0aW9uc10gdm9pZCBzZXRUaW1lbGlu
ZUN1cnJlbnRUaW1lKEFuaW1hdGlvblRpbWVsaW5lIHRpbWVsaW5lLCBkb3VibGUgY3VycmVudFRp
bWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggNzE5OTkwNDQyZjQ5OWQ2ZDYyMjkxZDdkODJh
ZTQ5NWViN2M4MTNhMy4uNjhjM2QyNjNiMjdhZDU3Nzc0ZTc1MTNlNjNlZjA5YjgzMzljODFjZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV0NsaWVu
dENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKFNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgUmVmPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4mJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc291cmNlKSA9IDA7CiAgICAgdmly
dHVhbCB1aW50NjRfdCBpZGVudGlmaWVyKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBo
YXNTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihjb25zdCBTZWN1cml0eU9yaWdpbiYp
IGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgbWF5SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3Rl
cmVkRm9yT3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luJikgY29uc3QgPSAwOwogCiBwcm90ZWN0
ZWQ6CiAgICAgV0VCQ09SRV9FWFBPUlQgU1dDbGllbnRDb25uZWN0aW9uKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dPcmlnaW5T
dG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2Vi
U1dPcmlnaW5TdG9yZS5jcHAKaW5kZXggOWMwMjNhZmZlZWY2NDRhNzUyYTg0NDdlOTc1ZTE3MTcz
M2Y0M2ZlMC4uMjQwYjY3ZjMwYjlkZDM2ZTIxZjhjMTYwZWI4MmNhZTA2NGVlZGNjOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXT3Jp
Z2luU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdv
cmtlci9XZWJTV09yaWdpblN0b3JlLmNwcApAQCAtNjIsOCArNjIsMTAgQEAgdm9pZCBXZWJTV09y
aWdpblN0b3JlOjpyZWdpc3RlclNXU2VydmVyQ29ubmVjdGlvbihXZWJTV1NlcnZlckNvbm5lY3Rp
b24mIGNvbm5lY3QKIHsKICAgICBtX3dlYlNXU2VydmVyQ29ubmVjdGlvbnMuYWRkKCZjb25uZWN0
aW9uKTsKIAotICAgIGlmIChtX3N0b3JlLmlzRW1wdHkoKSkKKyAgICBpZiAobV9zdG9yZS5pc0Vt
cHR5KCkpIHsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVudENv
bm5lY3Rpb246OkluaXRpYWxpemVTV09yaWdpblRhYmxlQXNFbXB0eSgpKTsKICAgICAgICAgcmV0
dXJuOworICAgIH0KIAogICAgIHNlbmRTdG9yZUhhbmRsZShjb25uZWN0aW9uKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENv
bm5lY3Rpb24uY3BwCmluZGV4IDQyMjhmYTJmYTMwY2YxNTMyZmUxYzA4NTYyYmNiNDNlMTA5YzBm
YTYuLjZiOWVlMmE4MDNjMTA5MWQ3NzFhZGFlMGI0MzYyMTlkMGE3ODVhZmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25u
ZWN0aW9uLmNwcApAQCAtOTQsOCArOTQsMTEgQEAgdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246
OmRpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWcKICAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OkRpZFJlc29sdmVSZWdpc3Ry
YXRpb25Qcm9taXNlKGtleSkpOwogfQogCi1ib29sIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6aGFz
U2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW4mIG9y
aWdpbikgY29uc3QKK2Jvb2wgV2ViU1dDbGllbnRDb25uZWN0aW9uOjptYXlIYXZlU2VydmljZVdv
cmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW4mIG9yaWdpbikgY29u
c3QKIHsKKyAgICBpZiAoIW1fc3dPcmlnaW5UYWJsZS0+aXNJbml0aWFsaXplZCgpKQorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKwogICAgIHJldHVybiBtX3N3T3JpZ2luVGFibGUtPmNvbnRhaW5zKG9y
aWdpbik7CiB9CiAKQEAgLTEwNCw2ICsxMDcsMTEgQEAgdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rp
b246OnNldFNXT3JpZ2luVGFibGVTaGFyZWRNZW1vcnkoY29uc3QgU2hhcmVkTWVtb3J5OjpIYW4K
ICAgICBtX3N3T3JpZ2luVGFibGUtPnNldFNoYXJlZE1lbW9yeShoYW5kbGUpOwogfQogCit2b2lk
IFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6aW5pdGlhbGl6ZVNXT3JpZ2luVGFibGVBc0VtcHR5KCkK
K3sKKyAgICBtX3N3T3JpZ2luVGFibGUtPmluaXRpYWxpemVBc0VtcHR5KCk7Cit9CisKIHZvaWQg
V2ViU1dDbGllbnRDb25uZWN0aW9uOjpkaWRNYXRjaFJlZ2lzdHJhdGlvbih1aW50NjRfdCBtYXRj
aGluZ1JlcXVlc3QsIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+
JiYgcmVzdWx0KQogewogICAgIGlmIChhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0gbV9vbmdvaW5n
TWF0Y2hSZWdpc3RyYXRpb25UYXNrcy50YWtlKG1hdGNoaW5nUmVxdWVzdCkpCkBAIC0xMTIsNyAr
MTIwLDcgQEAgdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OmRpZE1hdGNoUmVnaXN0cmF0aW9u
KHVpbnQ2NF90IG1hdGNoaW5nUmVxdWVzdCwgc3RkOjoKIAogdm9pZCBXZWJTV0NsaWVudENvbm5l
Y3Rpb246Om1hdGNoUmVnaXN0cmF0aW9uKGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4s
IGNvbnN0IFVSTCYgY2xpZW50VVJMLCBSZWdpc3RyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKQog
ewotICAgIGlmICghaGFzU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4odG9wT3JpZ2lu
KSkgeworICAgIGlmICghbWF5SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKHRv
cE9yaWdpbikpIHsKICAgICAgICAgY2FsbGJhY2soc3RkOjpudWxsb3B0KTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggNTEyYTFkMWFiY2NjZDg3MmE0OTQzYmI0
NDFlYzM2ZThmODQyMTQ1MC4uOGFhMTMyMDNjZDI0YmViYTBkZGQ3NWRiZTJhODk5YjhiMTk4OGFk
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGll
bnRDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U1dDbGllbnRDb25uZWN0aW9uLmgKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAgIHZvaWQg
ZGlzY29ubmVjdGVkRnJvbVdlYlByb2Nlc3MoKTsKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCi0gICAgYm9vbCBoYXNT
ZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbiYpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgbWF5SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3Rl
cmVkRm9yT3JpZ2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJikgY29uc3QgZmluYWw7
CiAgICAgUmVmPFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaD4gc3RhcnRGZXRjaChXZWJTZXJ2aWNl
V29ya2VyUHJvdmlkZXImLCBSZWY8V2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI+JiYsIHVpbnQ2NF90
IGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaDo6Q2FsbGJhY2smJik7CiAKICAg
ICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KHVpbnQ2NF90IGRlc3RpbmF0
aW9uU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYgbWVzc2FnZSwgV2ViQ29yZTo6U2VydmljZVdvcmtlckRhdGEmJiBzb3VyY2UsIGNvbnN0
IFN0cmluZyYgc291cmNlT3JpZ2luKTsKQEAgLTgxLDYgKzgxLDcgQEAgcHJpdmF0ZToKICAgICB1
aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGZpbmFsIHsgcmV0dXJuIG1faWRl
bnRpZmllcjsgfQogCiAgICAgdm9pZCBzZXRTV09yaWdpblRhYmxlU2hhcmVkTWVtb3J5KGNvbnN0
IFNoYXJlZE1lbW9yeTo6SGFuZGxlJik7CisgICAgdm9pZCBpbml0aWFsaXplU1dPcmlnaW5UYWJs
ZUFzRW1wdHkoKTsKIAogICAgIFBBTDo6U2Vzc2lvbklEIG1fc2Vzc2lvbklEOwogICAgIHVpbnQ2
NF90IG1faWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRl
eCA0ZmMyZGYzNDU4YTllMjI0YTUyZDEwZDcwOWIyZjBjOWU2MzJiOTkyLi5lMWE1M2Q2YzJmMTJh
ZGEzMmY2YzgyYjEyNmFmMGNiMzMxYTJlZjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLm1l
c3NhZ2VzLmluCkBAIC0zMiw2ICszMiw3IEBAIG1lc3NhZ2VzIC0+IFdlYlNXQ2xpZW50Q29ubmVj
dGlvbiB7CiAgICAgVXBkYXRlV29ya2VyU3RhdGUoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50
aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIGVudW0gV2ViQ29yZTo6U2VydmljZVdvcmtl
clN0YXRlIHN0YXRlKQogICAgIEZpcmVVcGRhdGVGb3VuZEV2ZW50KFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCiAKKyAgICBJbml0aWFsaXpl
U1dPcmlnaW5UYWJsZUFzRW1wdHkoKQogICAgIFNldFNXT3JpZ2luVGFibGVTaGFyZWRNZW1vcnko
V2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGUpCiAgICAgUG9zdE1lc3NhZ2VUb1Nl
cnZpY2VXb3JrZXJDbGllbnQodWludDY0X3QgZGVzdGluYXRpb25TY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIG1lc3NhZ2UsIHN0cnVjdCBXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyRGF0YSBzb3VyY2UsIFN0cmluZyBzb3VyY2VPcmlnaW4pCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXT3JpZ2luVGFibGUu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dPcmlnaW5UYWJsZS5j
cHAKaW5kZXggMDI4NjE0ZDM3YWViYTM1MWU1MDMxZGMwODVlYzg4OTlmMjRmODhjZi4uMDliODZj
YjRlNjBhMTY1OWJkNTcxZDEzZDA4ZmQ4YWM1ZGM4NTQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dPcmlnaW5UYWJsZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dPcmlnaW5UYWJsZS5jcHAKQEAgLTQ0LDYg
KzQ0LDggQEAgYm9vbCBXZWJTV09yaWdpblRhYmxlOjpjb250YWlucyhjb25zdCBTZWN1cml0eU9y
aWdpbiYgb3JpZ2luKSBjb25zdAogCiB2b2lkIFdlYlNXT3JpZ2luVGFibGU6OnNldFNoYXJlZE1l
bW9yeShjb25zdCBTaGFyZWRNZW1vcnk6OkhhbmRsZSYgaGFuZGxlKQogeworICAgIG1faXNJbml0
aWFsaXplZCA9IHRydWU7CisKICAgICBhdXRvIHNoYXJlZE1lbW9yeSA9IFNoYXJlZE1lbW9yeTo6
bWFwKGhhbmRsZSwgU2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7CiAgICAgaWYg
KCFzaGFyZWRNZW1vcnkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXT3JpZ2luVGFibGUuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXT3JpZ2luVGFibGUuaAppbmRleCBlZjk0YTcxYThjZjEw
ZmFlZjkzMmQ1ZTJhZGVkZDBmNzFjYjk1YTE2Li5hZWUzY2YxYmVhN2ZmZDk0MGUwZDE4MDU3OGE0
YmNkNmVhZmIzNDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFn
ZS9XZWJTV09yaWdpblRhYmxlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU1dPcmlnaW5UYWJsZS5oCkBAIC00MCwxMSArNDAsMTQgQEAgY2xhc3MgV2ViU1dPcmln
aW5UYWJsZSB7CiBwdWJsaWM6CiAgICAgV2ViU1dPcmlnaW5UYWJsZSgpID0gZGVmYXVsdDsKIAor
ICAgIGJvb2wgaXNJbml0aWFsaXplZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNJbml0aWFsaXplZDsg
fQogICAgIGJvb2wgY29udGFpbnMoY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mKSBjb25z
dDsKICAgICB2b2lkIHNldFNoYXJlZE1lbW9yeShjb25zdCBTaGFyZWRNZW1vcnk6OkhhbmRsZSYp
OworICAgIHZvaWQgaW5pdGlhbGl6ZUFzRW1wdHkoKSB7IG1faXNJbml0aWFsaXplZCA9IHRydWU7
IH0KIAogcHJpdmF0ZToKICAgICBTaGFyZWRTdHJpbmdIYXNoVGFibGVSZWFkT25seSBtX3NlcnZp
Y2VXb3JrZXJPcmlnaW5UYWJsZTsKKyAgICBib29sIG1faXNJbml0aWFsaXplZCB7IGZhbHNlIH07
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuY3BwCmlu
ZGV4IDc2MWUzZWQ5Y2NiMmYwM2IxNzk5NzQxOTU1ZTRjYTA5YzNiMWI0YTAuLmU1ZTU0ODZmMTlm
ZTRlNTU5MDg1MzM0ODliNTI0ZjE1OGU2OWMxMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3JrZXJQcm92aWRlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlclByb3ZpZGVyLmNw
cApAQCAtNzQsNyArNzQsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkSGFuZGxlRmV0Y2go
Y29uc3QgV2ViU1dDbGllbnRDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBDYQogICAgIGlmICghcmVz
b3VyY2UpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiBjb25uZWN0aW9uLmhh
c1NlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKCpyZXNvdXJjZS0+b3JpZ2luKCkpOwor
ICAgIHJldHVybiBjb25uZWN0aW9uLm1heUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9y
aWdpbigqcmVzb3VyY2UtPm9yaWdpbigpKTsKIH0KIAogdm9pZCBXZWJTZXJ2aWNlV29ya2VyUHJv
dmlkZXI6OmhhbmRsZUZldGNoKFJlc291cmNlTG9hZGVyJiBsb2FkZXIsIENhY2hlZFJlc291cmNl
KiByZXNvdXJjZSwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBTZXJ2aWNlV29ya2VyQ2xpZW50
RmV0Y2g6OkNhbGxiYWNrJiYgY2FsbGJhY2spCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzliMTM4YWY3YWFmOGM1NDM2MDMw
ZTIzZjg4ZDNiYWZkNTM5YWJlZi4uMmVlYjg2ZDJmNTM4ZmM1YjY0MDRkMGM2OWY5NGIxMWQyNWM1
MDljNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTExLTE0ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJTV0NsaWVudENvbm5lY3Rpb24gc2hvdWxk
IGRvIElQQyB0byBTdG9yYWdlUHJvY2VzcyBpZiBpdHMgV2ViU1dPcmlnaW5UYWJsZSBpcyBub3Qg
eWV0IGluaXRpYWxpemVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzk2NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBVcGRhdGVkIHRlc3RzIHRvIHVzZSBoYXNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
IGluc3RlYWQgb2YgaGFzU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4uCisgICAgICAg
IFNpbmNlIHRoZSBsYXR0ZXIgaXMgdHJ5aW5nIHRvIG1hdGNoIGEgcmVnaXN0cmF0aW9uIGFuZCBj
b21wYXJlcyBzY29wZXMsIHdlIG5lZWQgdGhlIHNjb3BlcyB0byBiZSBzZXQgcmlnaHQgb24gdGhl
IHRlc3RzLgorCisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5y
ZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJz
L3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLXJlZ2lzdGVyLmpzOgorICAgICAgICAqIGh0dHAvdGVz
dHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy11bnJlZ2lzdGVyLmpzOgorCiAyMDE3
LTExLTE0ICBNczJnZXIgIDxNczJnZXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBBZGQgc29tZSBi
dWcgbnVtYmVycyBmb3IgZmFpbGluZyBYSFIgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0ZXIuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5y
ZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZmU2MzY0ODIzM2U0N2I3ODYwZDA4Mzky
NWU4OTZjOWYxZGQyZDc3My4uNjhkNmZiOGIwOTU1MTk1ZmYxNWYzNzk4ODMxZGVlODkzZDhiYWQx
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFz
aWMtdW5yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTEsNSArMSw1IEBACiBQQVNTOiBUaGVyZSBpcyBpbml0aWFsbHkgbm8gc2VydmljZSB3b3Jr
ZXIgcmVnaXN0ZXJlZCBmb3IgdGhlIG9yaWdpbgotUEFTUzogcmVnaXN0cmF0aW9uIHNjb3BlIGlz
IGh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd29ya2Vycy9zZXJ2aWNlLworUEFTUzogcmVnaXN0cmF0
aW9uIHNjb3BlIGlzIGh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvCiBQQVNTOiBUaGVyZSBpcyBhIHNl
cnZpY2Ugd29ya2VyIHJlZ2lzdGVyZWQgZm9yIHRoZSBvcmlnaW4KIFBBU1M6IFVucmVnaXN0cmF0
aW9uIHdhcyBzdWNjZXNzZnVsCiBQQVNTOiBUaGVyZSBpcyBubyBzZXJ2aWNlIHdvcmtlciByZWdp
c3RlcmVkIGZvciB0aGUgb3JpZ2luCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtcmVnaXN0ZXIuanMgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtcmVnaXN0ZXIuanMK
aW5kZXggYTNlYmIyN2RlYjZiNGY4NDQ3MmFiYTE5OGI0ZjAzOWM1ODUxYTZhMi4uYjVlMjQ2YzMx
YTM1NmNkMWZhNWIyNWIzMDhiMmExOTRmNGY0YWU1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLXJlZ2lzdGVyLmpzCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNp
Yy1yZWdpc3Rlci5qcwpAQCAtNSwxNCArNSwxNCBAQCBmdW5jdGlvbiBkb25lKCkKIAogYXN5bmMg
ZnVuY3Rpb24gdGVzdCgpCiB7Ci0gICAgaWYgKCFpbnRlcm5hbHMuaGFzU2VydmljZVdvcmtlclJl
Z2lzdGVyZWRGb3JPcmlnaW4oc2VsZi5vcmlnaW4pKQorICAgIGlmICghYXdhaXQgaW50ZXJuYWxz
Lmhhc1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oc2VsZi5vcmlnaW4pKQogICAgICAgICBsb2co
IlBBU1M6IE5vIHNlcnZpY2Ugd29ya2VyIGlzIGluaXRpYWxseSByZWdpc3RlcmVkIGZvciB0aGlz
IG9yaWdpbiIpOwogICAgIGVsc2UKICAgICAgICAgbG9nKCJGQUlMOiBBIHNlcnZpY2Ugd29ya2Vy
IGlzIGluaXRpYWxseSByZWdpc3RlcmVkIGZvciB0aGlzIG9yaWdpbiIpOwogCiAgICAgdGVzdFJ1
bm5lci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwogCi0gICAgaWYgKCFpbnRlcm5h
bHMuaGFzU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4oc2VsZi5vcmlnaW4pKQorICAg
IGlmICghYXdhaXQgaW50ZXJuYWxzLmhhc1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oc2VsZi5v
cmlnaW4pKQogICAgICAgICBsb2coIlBBU1M6IE5vIHNlcnZpY2Ugd29ya2VyIGlzIGluaXRpYWxs
eSByZWdpc3RlcmVkIGZvciB0aGlzIG9yaWdpbiBpbiBwcml2YXRlIHNlc3Npb24iKTsKICAgICBl
bHNlCiAgICAgICAgIGxvZygiRkFJTDogQSBzZXJ2aWNlIHdvcmtlciBpcyBpbml0aWFsbHkgcmVn
aXN0ZXJlZCBmb3IgdGhpcyBvcmlnaW4gaW4gcHJpdmF0ZSBzZXNzaW9uIik7CkBAIC0zMiwxNCAr
MzIsMTQgQEAgYXN5bmMgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IGxvZygiRkFJTDogcmVnaXN0cmF0aW9uIG9iamVjdCdzIHVwZGF0ZVZpYUNhY2hlIGlzIGludmFs
aWQsIGdvdDogIiArIHIudXBkYXRlVmlhQ2FjaGUpOwogCi0gICAgICAgIGlmIChpbnRlcm5hbHMu
aGFzU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4oc2VsZi5vcmlnaW4pKQorICAgICAg
ICBpZiAoYXdhaXQgaW50ZXJuYWxzLmhhc1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oIi90ZXN0
IikpCiAgICAgICAgICAgICBsb2coIlBBU1M6IEEgc2VydmljZSB3b3JrZXIgaXMgbm93IHJlZ2lz
dGVyZWQgZm9yIHRoaXMgb3JpZ2luIik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGxvZygi
RkFJTDogTm8gc2VydmljZSB3b3JrZXIgaXMgcmVnaXN0ZXJlZCBmb3IgdGhpcyBvcmlnaW4iKTsK
IAogICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CiAK
LSAgICAgICAgaWYgKCFpbnRlcm5hbHMuaGFzU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmln
aW4oc2VsZi5vcmlnaW4pKQorICAgICAgICBpZiAoIWF3YWl0IGludGVybmFscy5oYXNTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uKCIvdGVzdCIpKQogICAgICAgICAgICAgbG9nKCJQQVNTOiBObyBz
ZXJ2aWNlIHdvcmtlciBpcyByZWdpc3RlcmVkIGZvciB0aGlzIG9yaWdpbiBpbiBwcml2YXRlIHNl
c3Npb24iKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbG9nKCJGQUlMOiBBIHNlcnZpY2Ug
d29ya2VyIGlzIHJlZ2lzdGVyZWQgZm9yIHRoaXMgb3JpZ2luIGluIHByaXZhdGUgc2Vzc2lvbiIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVz
b3VyY2VzL2Jhc2ljLXVucmVnaXN0ZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtdW5yZWdpc3Rlci5qcwppbmRleCBmMGVlZjcxZjBh
YTc2ZmQwMmNlZGMxZGRiODM2NjZmYmUxMWI2MTNmLi5lYzFhZjZjYjI1OTVjMWNmYTEyZTZlZjNj
NjRkOWFhNzJkYzFjZmVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtdW5yZWdpc3Rlci5qcworKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtdW5yZWdpc3Rlci5q
cwpAQCAtNiwxOCArNiwxOCBAQCBmdW5jdGlvbiBkb25lKCkKIGFzeW5jIGZ1bmN0aW9uIHRlc3Qo
KQogewogICAgIHRyeSB7Ci0gICAgICAgIGlmICghaW50ZXJuYWxzLmhhc1NlcnZpY2VXb3JrZXJS
ZWdpc3RlcmVkRm9yT3JpZ2luKHNlbGYub3JpZ2luKSkKKyAgICAgICAgaWYgKCFhd2FpdCBpbnRl
cm5hbHMuaGFzU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihzZWxmLm9yaWdpbikpCiAgICAgICAg
ICAgICBsb2coIlBBU1M6IFRoZXJlIGlzIGluaXRpYWxseSBubyBzZXJ2aWNlIHdvcmtlciByZWdp
c3RlcmVkIGZvciB0aGUgb3JpZ2luIik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGxvZygi
RkFJTDogVGhlcmUgaXMgaW5pdGlhbGx5IGEgc2VydmljZSB3b3JrZXIgcmVnaXN0ZXJlZCBmb3Ig
dGhlIG9yaWdpbiIpOwogCi0gICAgICAgIGxldCByZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0
b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcigicmVzb3VyY2VzL2Jhc2ljLWZldGNoLXdvcmtlci5q
cyIsIHsgfSk7Ci0gICAgICAgIGlmIChyZWdpc3RyYXRpb24uc2NvcGUgPT09ICJodHRwczovLzEy
Ny4wLjAuMTo4NDQzL3dvcmtlcnMvc2VydmljZS8iKQorICAgICAgICBsZXQgcmVnaXN0cmF0aW9u
ID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoInJlc291cmNlcy9iYXNp
Yy1mZXRjaC13b3JrZXIuanMiLCB7IHNjb3BlOiAiLyIgfSk7CisgICAgICAgIGlmIChyZWdpc3Ry
YXRpb24uc2NvcGUgPT09ICJodHRwczovLzEyNy4wLjAuMTo4NDQzLyIpCiAgICAgICAgICAgICBs
b2coIlBBU1M6IHJlZ2lzdHJhdGlvbiBzY29wZSBpcyAiICsgcmVnaXN0cmF0aW9uLnNjb3BlKTsK
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgbG9nKCJGQUlMOiByZWdpc3RyYXRpb24gc2NvcGUg
aXMgIiArIHJlZ2lzdHJhdGlvbi5zY29wZSk7CiAgCi0gICAgICAgIGlmIChpbnRlcm5hbHMuaGFz
U2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4oc2VsZi5vcmlnaW4pKQorICAgICAgICBp
ZiAoYXdhaXQgaW50ZXJuYWxzLmhhc1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oc2VsZi5vcmln
aW4pKQogICAgICAgICAgICAgbG9nKCJQQVNTOiBUaGVyZSBpcyBhIHNlcnZpY2Ugd29ya2VyIHJl
Z2lzdGVyZWQgZm9yIHRoZSBvcmlnaW4iKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbG9n
KCJGQUlMOiBUaGVyZSBpcyBubyBzZXJ2aWNlIHdvcmtlciByZWdpc3RlcmVkIGZvciB0aGUgb3Jp
Z2luIik7CkBAIC0yOCw3ICsyOCw3IEBAIGFzeW5jIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICBl
bHNlCiAgICAgICAgICAgICBsb2coIkZBSUw6IFVucmVnaXN0cmF0aW9uIGZhaWxlZCIpOwogCi0g
ICAgICAgIGlmICghaW50ZXJuYWxzLmhhc1NlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2lu
KHNlbGYub3JpZ2luKSkKKyAgICAgICAgaWYgKCFhd2FpdCBpbnRlcm5hbHMuaGFzU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbihzZWxmLm9yaWdpbikpCiAgICAgICAgICAgICBsb2coIlBBU1M6IFRo
ZXJlIGlzIG5vIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdGVyZWQgZm9yIHRoZSBvcmlnaW4iKTsKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgbG9nKCJGQUlMOiBUaGVyZSBpcyBhIHNlcnZpY2Ugd29y
a2VyIHJlZ2lzdGVyZWQgZm9yIHRoZSBvcmlnaW4iKTsKQEAgLTM5LDcgKzM5LDcgQEAgYXN5bmMg
ZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGxvZygiRkFJTDogVW5y
ZWdpc3RyYXRpb24gc3VjY2VlZGVkIHVuZXhwZWN0ZWRseSIpOwogICAgICAgICAKLSAgICAgICAg
aWYgKCFpbnRlcm5hbHMuaGFzU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4oc2VsZi5v
cmlnaW4pKQorICAgICAgICBpZiAoIWF3YWl0IGludGVybmFscy5oYXNTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uKHNlbGYub3JpZ2luKSkKICAgICAgICAgICAgIGxvZygiUEFTUzogVGhlcmUgaXMg
bm8gc2VydmljZSB3b3JrZXIgcmVnaXN0ZXJlZCBmb3IgdGhlIG9yaWdpbiIpOwogICAgICAgICBl
bHNlCiAgICAgICAgICAgICBsb2coIkZBSUw6IFRoZXJlIGlzIGEgc2VydmljZSB3b3JrZXIgcmVn
aXN0ZXJlZCBmb3IgdGhlIG9yaWdpbiIpOwpAQCAtNTAsNyArNTAsNyBAQCBhc3luYyBmdW5jdGlv
biB0ZXN0KCkKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbG9nKCJGQUlMOiByZWdpc3RyYXRp
b24gc2NvcGUgaXMgIiArIHJlZ2lzdHJhdGlvbi5zY29wZSk7CiAKLSAgICAgICAgaWYgKGludGVy
bmFscy5oYXNTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihzZWxmLm9yaWdpbikpCisg
ICAgICAgIGlmIChhd2FpdCBpbnRlcm5hbHMuaGFzU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbigi
L3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvdGVzdCIpKQogICAgICAgICAgICAgbG9nKCJQQVNT
OiBUaGVyZSBpcyBhIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdGVyZWQgZm9yIHRoZSBvcmlnaW4iKTsK
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgbG9nKCJGQUlMOiBUaGVyZSBpcyBubyBzZXJ2aWNl
IHdvcmtlciByZWdpc3RlcmVkIGZvciB0aGUgb3JpZ2luIik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>