<?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>78460</bug_id>
          
          <creation_ts>2012-02-12 22:58:12 -0800</creation_ts>
          <short_desc>[WebSocket] Add owner Frame* as an argument to SocketStreamHandle::create, etc</short_desc>
          <delta_ts>2012-02-13 15:35:07 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>78459</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Takashi Toyoshima">toyoshim</reporter>
          <assigned_to name="Takashi Toyoshima">toyoshim</assigned_to>
          <cc>ap</cc>
    
    <cc>bashi</cc>
    
    <cc>rakuco</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>555026</commentid>
    <comment_count>0</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-02-12 22:58:12 -0800</bug_when>
    <thetext>Chromium port requires Frame* object to share information in the frame.
This change is a port dependent part of the change for 78459.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555036</commentid>
    <comment_count>1</comment_count>
      <attachid>126722</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-02-12 23:15:53 -0800</bug_when>
    <thetext>Created attachment 126722
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555064</commentid>
    <comment_count>2</comment_count>
      <attachid>126722</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-13 00:03:49 -0800</bug_when>
    <thetext>Comment on attachment 126722
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Add owner Frame* as an argument to SocketStreamHandle::create, etc
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=78460
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        No new tests because of just adding an unsed argument.

Please write reasons why you add an unused argument.

&gt; Source/WebCore/websockets/WebSocketChannel.cpp:143
&gt; +    Document* document = static_cast&lt;Document*&gt;(m_context);

Is this cast safe?  Can&apos;t m_context be a worker?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555082</commentid>
    <comment_count>3</comment_count>
      <attachid>126730</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-02-13 00:37:23 -0800</bug_when>
    <thetext>Created attachment 126730
to show overview to dependent change reviewers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555083</commentid>
    <comment_count>4</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-02-13 00:39:00 -0800</bug_when>
    <thetext>Sorry, please just ignore previous attachment.
I&apos;ll post it to another bug entry, but mistakenly post here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555107</commentid>
    <comment_count>5</comment_count>
      <attachid>126722</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-02-13 01:22:06 -0800</bug_when>
    <thetext>Comment on attachment 126722
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:8
&gt;&gt; +        No new tests because of just adding an unsed argument.
&gt; 
&gt; Please write reasons why you add an unused argument.

OK, I added.

&gt;&gt; Source/WebCore/websockets/WebSocketChannel.cpp:143
&gt;&gt; +    Document* document = static_cast&lt;Document*&gt;(m_context);
&gt; 
&gt; Is this cast safe?  Can&apos;t m_context be a worker?

Yes, currently m_context always has a Document.
But, it could cause a security risk for future changes.
I&apos;ll find a better way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555109</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-02-13 01:26:43 -0800</bug_when>
    <thetext>&gt; Add owner Frame* as an argument to SocketStreamHandle::create, etc

Please don&apos;t. This would be an extreme layering violation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555142</commentid>
    <comment_count>7</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-02-13 02:52:58 -0800</bug_when>
    <thetext>Ah... I see.
I should not make a dependency on WebCore in platform layer, right?
I&apos;ll find another way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555675</commentid>
    <comment_count>8</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-13 15:35:07 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; I should not make a dependency on WebCore in platform layer, right?

Right. The code in platform/ must not depend on files in other directories.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126722</attachid>
            <date>2012-02-12 23:15:53 -0800</date>
            <delta_ts>2012-02-13 01:22:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78460-20120213161552.patch</filename>
            <type>text/plain</type>
            <size>30164</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmRkNWI2ZmUzNTc2ZmJj
MzE4YTcyODBlMDQzOWZmYzFlMjJhODdiMC4uZTZkNGY5YTE2NGUyOWQ2MWQxYjQ1OWY5ZjViMGRj
NjA2OTMxNGRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEyLTAyLTEyICBUYWth
c2hpIFRveW9zaGltYSAgPHRveW9zaGltQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgb3du
ZXIgRnJhbWUqIGFzIGFuIGFyZ3VtZW50IHRvIFNvY2tldFN0cmVhbUhhbmRsZTo6Y3JlYXRlLCBl
dGMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDYw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzIGJlY2F1c2Ugb2YganVzdCBhZGRpbmcgYW4gdW5zZWQgYXJndW1lbnQuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZUJhc2UuY3BwOiBBZGQgYSBm
cmFtZSBhcmd1bWVudCBhbmQgaG9sZCBpdCBhcyBhIG1lbWJlciB2YXJpYWJsZS4KKyAgICAgICAg
KFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZUJhc2U6OlNvY2tldFN0cmVhbUhhbmRsZUJhc2Up
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlQmFzZS5oOiBB
ZGQgYSBmcmFtZSBhcmd1bWVudCBhbmQgbV9mcmFtZSBtZW1iZXIgdG8gaG9sZCBpdC4gQW5kIGZp
eCBzdHlsZSBuaXRzIG9uIGluZGVudC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU29j
a2V0U3RyZWFtSGFuZGxlQmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5k
bGVCYXNlOjp+U29ja2V0U3RyZWFtSGFuZGxlQmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpTb2Nr
ZXRTdHJlYW1IYW5kbGVCYXNlOjpidWZmZXJlZEFtb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpT
b2NrZXRTdHJlYW1IYW5kbGVCYXNlOjpjbGllbnQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvYmxhY2tiZXJyeS9Tb2NrZXRTdHJlYW1IYW5kbGUuaDogQWRkIGEgZnJhbWUgYXJndW1lbnQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRs
ZTo6Y3JlYXRlKToKKyAgICAgICAgKFNvY2tldFN0cmVhbUhhbmRsZSk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1NvY2tldFN0cmVhbUhhbmRsZUJsYWNrQmVycnkuY3Bw
OiBBZGQgYSBmcmFtZSBhcmd1bWVudCBoYW5kbGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlNvY2tl
dFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtSGFuZGxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL2NmL1NvY2tldFN0cmVhbUhhbmRsZS5oOiBBZGQgYSBmcmFtZSBhcmd1bWVudC4KKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpj
cmVhdGUpOgorICAgICAgICAoU29ja2V0U3RyZWFtSGFuZGxlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL2NmL1NvY2tldFN0cmVhbUhhbmRsZUNGTmV0LmNwcDogQWRkIGEgZnJhbWUgYXJn
dW1lbnQgaGFuZGxpbmcuCisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OlNv
Y2tldFN0cmVhbUhhbmRsZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9T
b2NrZXRTdHJlYW1IYW5kbGUuaDogQWRkIGEgZnJhbWUgYXJndW1lbnQuCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6Y3JlYXRlKToKKyAg
ICAgICAgKFNvY2tldFN0cmVhbUhhbmRsZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9j
dXJsL1NvY2tldFN0cmVhbUhhbmRsZS5oOiBBZGQgYSBmcmFtZSBhcmd1bWVudC4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpjcmVhdGUp
OgorICAgICAgICAoU29ja2V0U3RyZWFtSGFuZGxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvU29ja2V0U3RyZWFtSGFuZGxlQ3VybC5jcHA6IEFkZCBhIGZyYW1lIGFyZ3VtZW50
IGhhbmRsaW5nLgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpTb2NrZXRT
dHJlYW1IYW5kbGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFt
SGFuZGxlLmg6IEFkZCBhIGZyYW1lIGFyZ3VtZW50LgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OmNyZWF0ZSk6CisgICAgICAgIChTb2Nr
ZXRTdHJlYW1IYW5kbGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3Ry
ZWFtSGFuZGxlUXQuY3BwOiBBZGQgYSBmcmFtZSBhcmd1bWVudCBoYW5kbGluZy4KKyAgICAgICAg
KFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtSGFuZGxlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFuZGxlLmg6IEFkZCBhIGZy
YW1lIGFyZ3VtZW50LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTb2Nr
ZXRTdHJlYW1IYW5kbGU6OmNyZWF0ZSk6CisgICAgICAgIChTb2NrZXRTdHJlYW1IYW5kbGUpOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGVTb3VwLmNw
cDogQWRkIGEgZnJhbWUgYXJndW1lbnQgaGFuZGxpbmcuCisgICAgICAgIChXZWJDb3JlOjpTb2Nr
ZXRTdHJlYW1IYW5kbGU6OlNvY2tldFN0cmVhbUhhbmRsZSk6CisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay93aW4vU29ja2V0U3RyZWFtSGFuZGxlLmg6IEFkZCBhIGZyYW1lIGFyZ3VtZW50Lgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6
OmNyZWF0ZSk6CisgICAgICAgIChTb2NrZXRTdHJlYW1IYW5kbGUpOgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvd2luL1NvY2tldFN0cmVhbUhhbmRsZVdpbi5jcHA6IEFkZCBhIGZyYW1lIGFy
Z3VtZW50IGhhbmRsaW5nLgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpT
b2NrZXRTdHJlYW1IYW5kbGUpOgorICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5jcHA6IEFkZCBhIGZyYW1lIGFyZ3VtZW50IGhhbmRsaW5nLgorICAgICAgICAoV2ViQ29yZTo6
V2ViU29ja2V0Q2hhbm5lbDo6Y29ubmVjdCk6CisKIDIwMTItMDItMTAgIE1hcmsgSGFobmVuYmVy
ZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBTcGxpdCBNYXJrZWRTcGFjZSBp
bnRvIGRlc3RydWN0b3IgYW5kIGRlc3RydWN0b3ItZnJlZSBzdWJzcGFjZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggN2UzZGIwN2QxMmZiNGU4N2QyZDc3ZmYwOTE0MTVhZWM0ZjBjMGQ5
NC4uZTExNDgxNzE5ZjMzMjdkNGIyZmQ0NzM4MWY3YmVmOTJlODA2MzhiMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0xMiAgVGFrYXNoaSBUb3lv
c2hpbWEgIDx0b3lvc2hpbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIG93bmVyIEZyYW1l
KiBhcyBhbiBhcmd1bWVudCB0byBTb2NrZXRTdHJlYW1IYW5kbGU6OmNyZWF0ZSwgZXRjCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ2MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL1NvY2tldFN0
cmVhbUhhbmRsZS5jcHA6IEFkZCBhIGZyYW1lIGFyZ3VtZW50IGhhbmRsaW5nLgorICAgICAgICAo
V2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpTb2NrZXRTdHJlYW1IYW5kbGUpOgorCiAyMDEy
LTAyLTEwICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLiAgUm9sbGVkIERFUFMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZUJhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVCYXNlLmNwcAppbmRleCAz
YmEzM2YzOGRiNjk5MTNhMGQ5MzI3YmRlZGU2YmZiNWFlNDI2MGEwLi5jZDYzNDZiOTU0MjVjN2Y2
ZjBiZTZlMmQ1NTk5N2Y5NDk3YjljZTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlQmFzZS5jcHAKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEdvb2dsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExLCAyMDEyIEdvb2ds
ZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQpAQCAtMzgsOSArMzgsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCB1
bnNpZ25lZCBpbnQgYnVmZmVyU2l6ZSA9IDEwMCAqIDEwMjQgKiAxMDI0OwogCi1Tb2NrZXRTdHJl
YW1IYW5kbGVCYXNlOjpTb2NrZXRTdHJlYW1IYW5kbGVCYXNlKGNvbnN0IEtVUkwmIHVybCwgU29j
a2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBjbGllbnQpCitTb2NrZXRTdHJlYW1IYW5kbGVCYXNlOjpT
b2NrZXRTdHJlYW1IYW5kbGVCYXNlKGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxl
Q2xpZW50KiBjbGllbnQsIEZyYW1lKiBmcmFtZSkKICAgICA6IG1fdXJsKHVybCkKICAgICAsIG1f
Y2xpZW50KGNsaWVudCkKKyAgICAsIG1fZnJhbWUoZnJhbWUpCiAgICAgLCBtX3N0YXRlKENvbm5l
Y3RpbmcpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1NvY2tldFN0cmVhbUhhbmRsZUJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvU29ja2V0U3RyZWFtSGFuZGxlQmFzZS5oCmluZGV4IGVmNzYyYjIyYjk4Yzg1MmYwZmUxMWFl
ZGU2ZGFhNDZhMTRhM2QxNTguLjEzZDhjODIyMGMxOWMwNDFjNTI1MTY5ODZhYTM2MmQwOTc0NGEw
NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3Ry
ZWFtSGFuZGxlQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29j
a2V0U3RyZWFtSGFuZGxlQmFzZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDkgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDksIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zOCwzNSArMzgsMzcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi0gICAgY2xhc3MgU29ja2V0U3RyZWFtSGFuZGxlOwotICAgIGNsYXNzIFNv
Y2tldFN0cmVhbUhhbmRsZUNsaWVudDsKK2NsYXNzIEZyYW1lOworY2xhc3MgU29ja2V0U3RyZWFt
SGFuZGxlOworY2xhc3MgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50OwogCi0gICAgY2xhc3MgU29j
a2V0U3RyZWFtSGFuZGxlQmFzZSB7Ci0gICAgcHVibGljOgotICAgICAgICBlbnVtIFNvY2tldFN0
cmVhbVN0YXRlIHsgQ29ubmVjdGluZywgT3BlbiwgQ2xvc2luZywgQ2xvc2VkIH07Ci0gICAgICAg
IHZpcnR1YWwgflNvY2tldFN0cmVhbUhhbmRsZUJhc2UoKSB7IH0KLSAgICAgICAgU29ja2V0U3Ry
ZWFtU3RhdGUgc3RhdGUoKSBjb25zdDsKK2NsYXNzIFNvY2tldFN0cmVhbUhhbmRsZUJhc2Ugewor
cHVibGljOgorICAgIGVudW0gU29ja2V0U3RyZWFtU3RhdGUgeyBDb25uZWN0aW5nLCBPcGVuLCBD
bG9zaW5nLCBDbG9zZWQgfTsKKyAgICB2aXJ0dWFsIH5Tb2NrZXRTdHJlYW1IYW5kbGVCYXNlKCkg
eyB9CisgICAgU29ja2V0U3RyZWFtU3RhdGUgc3RhdGUoKSBjb25zdDsKIAotICAgICAgICBib29s
IHNlbmQoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCk7Ci0gICAgICAgIHZvaWQgY2xvc2Uo
KTsgLy8gRGlzY29ubmVjdCBhZnRlciBhbGwgZGF0YSBpbiBidWZmZXIgYXJlIHNlbnQuCi0gICAg
ICAgIHZvaWQgZGlzY29ubmVjdCgpOwotICAgICAgICBzaXplX3QgYnVmZmVyZWRBbW91bnQoKSBj
b25zdCB7IHJldHVybiBtX2J1ZmZlci5zaXplKCk7IH0KKyAgICBib29sIHNlbmQoY29uc3QgY2hh
ciogZGF0YSwgaW50IGxlbmd0aCk7CisgICAgdm9pZCBjbG9zZSgpOyAvLyBEaXNjb25uZWN0IGFm
dGVyIGFsbCBkYXRhIGluIGJ1ZmZlciBhcmUgc2VudC4KKyAgICB2b2lkIGRpc2Nvbm5lY3QoKTsK
KyAgICBzaXplX3QgYnVmZmVyZWRBbW91bnQoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlci5zaXpl
KCk7IH0KIAotICAgICAgICBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCgpIGNvbnN0
IHsgcmV0dXJuIG1fY2xpZW50OyB9Ci0gICAgICAgIHZvaWQgc2V0Q2xpZW50KFNvY2tldFN0cmVh
bUhhbmRsZUNsaWVudCopOworICAgIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xpZW50KCkg
Y29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KKyAgICB2b2lkIHNldENsaWVudChTb2NrZXRTdHJl
YW1IYW5kbGVDbGllbnQqKTsKIAotICAgIHByb3RlY3RlZDoKLSAgICAgICAgU29ja2V0U3RyZWFt
SGFuZGxlQmFzZShjb25zdCBLVVJMJiwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50Kik7Citwcm90
ZWN0ZWQ6CisgICAgU29ja2V0U3RyZWFtSGFuZGxlQmFzZShjb25zdCBLVVJMJiwgU29ja2V0U3Ry
ZWFtSGFuZGxlQ2xpZW50KiwgRnJhbWUqKTsKIAotICAgICAgICBib29sIHNlbmRQZW5kaW5nRGF0
YSgpOwotICAgICAgICB2aXJ0dWFsIGludCBwbGF0Zm9ybVNlbmQoY29uc3QgY2hhciogZGF0YSwg
aW50IGxlbmd0aCkgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1DbG9zZSgpID0g
MDsKKyAgICBib29sIHNlbmRQZW5kaW5nRGF0YSgpOworICAgIHZpcnR1YWwgaW50IHBsYXRmb3Jt
U2VuZChjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKSA9IDA7CisgICAgdmlydHVhbCB2b2lk
IHBsYXRmb3JtQ2xvc2UoKSA9IDA7CiAKLSAgICAgICAgS1VSTCBtX3VybDsKLSAgICAgICAgU29j
a2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBtX2NsaWVudDsKLSAgICAgICAgVmVjdG9yPGNoYXI+IG1f
YnVmZmVyOwotICAgICAgICBTb2NrZXRTdHJlYW1TdGF0ZSBtX3N0YXRlOwotICAgIH07CisgICAg
S1VSTCBtX3VybDsKKyAgICBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIG1fY2xpZW50OworICAg
IEZyYW1lKiBtX2ZyYW1lOworICAgIFZlY3RvcjxjaGFyPiBtX2J1ZmZlcjsKKyAgICBTb2NrZXRT
dHJlYW1TdGF0ZSBtX3N0YXRlOworfTsKIAogfSAgLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1NvY2tl
dFN0cmVhbUhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2Jl
cnJ5L1NvY2tldFN0cmVhbUhhbmRsZS5oCmluZGV4IGNjM2VkN2I5MzExYzVmYTE2ZWQ5MWQ0MzNj
OGU1ZjU3MDJhYjFlZGMuLmU2MjdiZDBjYTNmZjQxNDUyMGRhYjU0OGE3NDhkZjE3YzIwZmUxN2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9T
b2NrZXRTdHJlYW1IYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2JsYWNrYmVycnkvU29ja2V0U3RyZWFtSGFuZGxlLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENv
cHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAwOSwgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqIENvcHlyaWdodCAoQykgMjAxMCBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTQ0LDExICs0NCwxMiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwogY2xhc3Mg
Q3JlZGVudGlhbDsKK2NsYXNzIEZyYW1lOwogY2xhc3MgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50
OwogCiBjbGFzcyBTb2NrZXRTdHJlYW1IYW5kbGUgOiBwdWJsaWMgUmVmQ291bnRlZDxTb2NrZXRT
dHJlYW1IYW5kbGU+LCBwdWJsaWMgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkZpbHRlclN0cmVhbSwg
cHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUJhc2UgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFNvY2tldFN0cmVhbUhhbmRsZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgZ3JvdXBOYW1l
LCBjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xpZW50KSB7IHJl
dHVybiBhZG9wdFJlZihuZXcgU29ja2V0U3RyZWFtSGFuZGxlKGdyb3VwTmFtZSwgdXJsLCBjbGll
bnQpKTsgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvY2tldFN0cmVhbUhhbmRsZT4gY3JlYXRl
KGNvbnN0IFN0cmluZyYgZ3JvdXBOYW1lLCBjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhh
bmRsZUNsaWVudCogY2xpZW50LCBGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBT
b2NrZXRTdHJlYW1IYW5kbGUoZ3JvdXBOYW1lLCB1cmwsIGNsaWVudCwgZnJhbWUpKTsgfQogCiAg
ICAgdmlydHVhbCB+U29ja2V0U3RyZWFtSGFuZGxlKCk7CiAKQEAgLTYzLDcgKzY0LDcgQEAgcHJv
dGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUNsb3NlKCk7CiAKIHByaXZhdGU6Ci0g
ICAgU29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IFN0cmluZyYgZ3JvdXBOYW1lLCBjb25zdCBLVVJM
JiwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50Kik7CisgICAgU29ja2V0U3RyZWFtSGFuZGxlKGNv
bnN0IFN0cmluZyYgZ3JvdXBOYW1lLCBjb25zdCBLVVJMJiwgU29ja2V0U3RyZWFtSGFuZGxlQ2xp
ZW50KiwgRnJhbWUqKTsKIAogICAgIC8vIE5vIGF1dGhlbnRpY2F0aW9uIGZvciBzdHJlYW1zIHBl
ciBzZSwgYnV0IHByb3h5IG1heSBhc2sgZm9yIGNyZWRlbnRpYWxzLgogICAgIHZvaWQgZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVy
cnkvU29ja2V0U3RyZWFtSGFuZGxlQmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvU29ja2V0U3RyZWFtSGFuZGxlQmxhY2tCZXJyeS5jcHAK
aW5kZXggN2UyMGUxNzIzNjAwZmQ3NmZkZmFkMTZjYmY0MDdiYzViYmE1MjM3Yy4uYWU4OGNkZjEz
MDBlMWJlNmY2OTY0YzgzNmE3ZGQ1Mjk1NTgwMGExYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1NvY2tldFN0cmVhbUhhbmRsZUJsYWNrQmVy
cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9T
b2NrZXRTdHJlYW1IYW5kbGVCbGFja0JlcnJ5LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDksIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC00OCw4ICs0OCw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotU29ja2V0U3RyZWFtSGFuZGxlOjpTb2NrZXRTdHJlYW1IYW5k
bGUoY29uc3QgU3RyaW5nJiBncm91cE5hbWUsIGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFt
SGFuZGxlQ2xpZW50KiBjbGllbnQpCi0gICAgOiBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlKHVybCwg
Y2xpZW50KQorU29ja2V0U3RyZWFtSGFuZGxlOjpTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgU3Ry
aW5nJiBncm91cE5hbWUsIGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50
KiBjbGllbnQsIEZyYW1lKiBmcmFtZSkKKyAgICA6IFNvY2tldFN0cmVhbUhhbmRsZUJhc2UodXJs
LCBjbGllbnQsIGZyYW1lKQogewogICAgIExPRyhOZXR3b3JrLCAiU29ja2V0U3RyZWFtSGFuZGxl
ICVwIG5ldyBjbGllbnQgJXAiLCB0aGlzLCBtX2NsaWVudCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1NvY2tldFN0cmVhbUhhbmRsZS5oCmluZGV4
IDI1NGIwMzQ1YjBkODE3NWIzM2MyZmJlMTQ2MDM3MTRmNmU0ZDg5ZDguLjY2YzI1ODk2OGZmZmJk
MmU2YTdiMzlmNWQ5OTIxNTNiOWE3YzU3MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jZi9Tb2NrZXRTdHJlYW1IYW5kbGUuaApAQCAtMSw2ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNDIsMTEg
KzQyLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXV0aGVudGljYXRpb25DaGFs
bGVuZ2U7CiBjbGFzcyBDcmVkZW50aWFsOworY2xhc3MgRnJhbWU7CiBjbGFzcyBTb2NrZXRTdHJl
YW1IYW5kbGVDbGllbnQ7CiAKIGNsYXNzIFNvY2tldFN0cmVhbUhhbmRsZSA6IHB1YmxpYyBUaHJl
YWRTYWZlUmVmQ291bnRlZDxTb2NrZXRTdHJlYW1IYW5kbGU+LCBwdWJsaWMgU29ja2V0U3RyZWFt
SGFuZGxlQmFzZSwgcHVibGljIEF1dGhlbnRpY2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTb2NrZXRTdHJlYW1IYW5kbGU+IGNyZWF0ZShjb25zdCBLVVJMJiB1
cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xpZW50KSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgU29ja2V0U3RyZWFtSGFuZGxlKHVybCwgY2xpZW50KSk7IH0KKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTb2NrZXRTdHJlYW1IYW5kbGU+IGNyZWF0ZShjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0
cmVhbUhhbmRsZUNsaWVudCogY2xpZW50LCBGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVm
KG5ldyBTb2NrZXRTdHJlYW1IYW5kbGUodXJsLCBjbGllbnQsIGZyYW1lKSk7IH0KIAogICAgIHZp
cnR1YWwgflNvY2tldFN0cmVhbUhhbmRsZSgpOwogCkBAIC01Nyw3ICs1OCw3IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCBpbnQgcGxhdGZvcm1TZW5kKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5n
dGgpOwogICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUNsb3NlKCk7CiAKLSAgICBTb2NrZXRTdHJl
YW1IYW5kbGUoY29uc3QgS1VSTCYsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCopOworICAgIFNv
Y2tldFN0cmVhbUhhbmRsZShjb25zdCBLVVJMJiwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50Kiwg
RnJhbWUqKTsKICAgICB2b2lkIGNyZWF0ZVN0cmVhbXMoKTsKICAgICB2b2lkIHNjaGVkdWxlU3Ry
ZWFtcygpOwogICAgIHZvaWQgY2hvb3NlUHJveHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlQ0ZOZXQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Tb2NrZXRTdHJlYW1IYW5kbGVDRk5ldC5j
cHAKaW5kZXggOTAzMzM0MGQ4ZGNlNWM3Nzc5OWRmNDYwYTYyZTY1MGI1NjYwZTkwNS4uOTdiZTkw
YjRjNjY5Y2RiMTYzZGYzN2IxYjM5NTUxMDUwZTM1NjdjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Tb2NrZXRTdHJlYW1IYW5kbGVDRk5ldC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Tb2NrZXRTdHJlYW1IYW5kbGVD
Rk5ldC5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTIg
R29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCkBAIC01Niw4ICs1Niw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
U29ja2V0U3RyZWFtSGFuZGxlOjpTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgS1VSTCYgdXJsLCBT
b2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCkKLSAgICA6IFNvY2tldFN0cmVhbUhhbmRs
ZUJhc2UodXJsLCBjbGllbnQpCitTb2NrZXRTdHJlYW1IYW5kbGU6OlNvY2tldFN0cmVhbUhhbmRs
ZShjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xpZW50LCBGcmFt
ZSogZnJhbWUpCisgICAgOiBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlKHVybCwgY2xpZW50LCBmcmFt
ZSkKICAgICAsIG1fY29ubmVjdGluZ1N1YnN0YXRlKE5ldykKICAgICAsIG1fY29ubmVjdGlvblR5
cGUoVW5rbm93bikKICAgICAsIG1fc2VudFN0b3JlZENyZWRlbnRpYWxzKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9Tb2NrZXRTdHJl
YW1IYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vU29j
a2V0U3RyZWFtSGFuZGxlLmgKaW5kZXggNmUwMjE0ZDI0YmM4MmI2NjU1N2Q2NGJkNGU3OTE5NmVi
MjBkZjdhZi4uM2E1NjkwYTFlZWFjOGQxOTdhZmM3NTlmZGI1YTA3ZDQxYWRmZDZmMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9Tb2NrZXRTdHJl
YW1IYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVt
L1NvY2tldFN0cmVhbUhhbmRsZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDksIDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDksIDIwMTEsIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00MSwxMiArNDEsMTMgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7
CiAgICAgY2xhc3MgQ3JlZGVudGlhbDsKKyAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBTb2Nr
ZXRTdHJlYW1IYW5kbGVDbGllbnQ7CiAgICAgY2xhc3MgU29ja2V0U3RyZWFtSGFuZGxlSW50ZXJu
YWw7CiAKICAgICBjbGFzcyBTb2NrZXRTdHJlYW1IYW5kbGUgOiBwdWJsaWMgUmVmQ291bnRlZDxT
b2NrZXRTdHJlYW1IYW5kbGU+LCBwdWJsaWMgU29ja2V0U3RyZWFtSGFuZGxlQmFzZSB7CiAgICAg
cHVibGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb2NrZXRTdHJlYW1IYW5kbGU+IGNy
ZWF0ZShjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xpZW50KSB7
IHJldHVybiBhZG9wdFJlZihuZXcgU29ja2V0U3RyZWFtSGFuZGxlKHVybCwgY2xpZW50KSk7IH0K
KyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U29ja2V0U3RyZWFtSGFuZGxlPiBjcmVhdGUoY29u
c3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCwgRnJhbWUqIGZy
YW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU29ja2V0U3RyZWFtSGFuZGxlKHVybCwgY2xpZW50
LCBmcmFtZSkpOyB9CiAKICAgICAgICAgdmlydHVhbCB+U29ja2V0U3RyZWFtSGFuZGxlKCk7CiAK
QEAgLTU2LDcgKzU3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZv
aWQgcGxhdGZvcm1DbG9zZSgpIE9WRVJSSURFOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgU29j
a2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqKTsK
KyAgICAgICAgU29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmLCBTb2NrZXRTdHJlYW1IYW5k
bGVDbGllbnQqLCBGcmFtZSopOwogCiAgICAgICAgIC8vIE5vIGF1dGhlbnRpY2F0aW9uIGZvciBz
dHJlYW1zIHBlciBzZSwgYnV0IHByb3h5IG1heSBhc2sgZm9yIGNyZWRlbnRpYWxzLgogICAgICAg
ICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jdXJsL1NvY2tldFN0cmVhbUhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL1NvY2tldFN0cmVhbUhhbmRsZS5oCmluZGV4IDY0MTM5ZTVjZDMzOTg5ZmE5
ZTQ3YjAyZWZjZGRjYzZiY2MyNmFmMzMuLjFkYTRiN2VmNmQwMGYzY2UxODdiOGQ1ZDI2NjI5NTlm
MTJiZTlmYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3Vy
bC9Tb2NrZXRTdHJlYW1IYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvU29ja2V0U3RyZWFtSGFuZGxlLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwOSwgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQxLDExICs0MSwxMiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKICAg
ICBjbGFzcyBDcmVkZW50aWFsOworICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIFNvY2tldFN0
cmVhbUhhbmRsZUNsaWVudDsKIAogICAgIGNsYXNzIFNvY2tldFN0cmVhbUhhbmRsZSA6IHB1Ymxp
YyBSZWZDb3VudGVkPFNvY2tldFN0cmVhbUhhbmRsZT4sIHB1YmxpYyBTb2NrZXRTdHJlYW1IYW5k
bGVCYXNlIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvY2tldFN0
cmVhbUhhbmRsZT4gY3JlYXRlKGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xp
ZW50KiBjbGllbnQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTb2NrZXRTdHJlYW1IYW5kbGUodXJs
LCBjbGllbnQpKTsgfQorICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb2NrZXRTdHJlYW1IYW5k
bGU+IGNyZWF0ZShjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xp
ZW50LCBGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTb2NrZXRTdHJlYW1IYW5k
bGUodXJsLCBjbGllbnQsIGZyYW1lKSk7IH0KIAogICAgICAgICB2aXJ0dWFsIH5Tb2NrZXRTdHJl
YW1IYW5kbGUoKTsKIApAQCAtNTQsNyArNTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUNsb3NlKCk7CiAKICAgICBwcml2YXRlOgotICAgICAg
ICBTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgS1VSTCYsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVu
dCopOworICAgICAgICBTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgS1VSTCYsIFNvY2tldFN0cmVh
bUhhbmRsZUNsaWVudCosIEZyYW1lKik7CiAKICAgICAgICAgLy8gTm8gYXV0aGVudGljYXRpb24g
Zm9yIHN0cmVhbXMgcGVyIHNlLCBidXQgcHJveHkgbWF5IGFzayBmb3IgY3JlZGVudGlhbHMuCiAg
ICAgICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvU29ja2V0U3RyZWFtSGFuZGxlQ3VybC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvU29ja2V0U3RyZWFtSGFuZGxlQ3VybC5jcHAKaW5kZXgg
ODkxZTk2ZTUwNmYxNTAyNDZhMmZiMjA4MGY5ZDE5OTUyNDUwNzUyYS4uMTQyNzU0NWQyNGQ5ODJh
MmI0ZGUzYzdjYzQwYmVlYzBiMTQ1YWEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jdXJsL1NvY2tldFN0cmVhbUhhbmRsZUN1cmwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9Tb2NrZXRTdHJlYW1IYW5kbGVDdXJsLmNw
cApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQnJlbnQgRnVsZ2hh
bS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIElu
Yy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTIgR29v
Z2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCkBAIC0zOSw4ICszOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotU29j
a2V0U3RyZWFtSGFuZGxlOjpTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgS1VSTCYgdXJsLCBTb2Nr
ZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCkKLSAgICA6IFNvY2tldFN0cmVhbUhhbmRsZUJh
c2UodXJsLCBjbGllbnQpCitTb2NrZXRTdHJlYW1IYW5kbGU6OlNvY2tldFN0cmVhbUhhbmRsZShj
b25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xpZW50LCBGcmFtZSog
ZnJhbWUpCisgICAgOiBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlKHVybCwgY2xpZW50LCBmcmFtZSkK
IHsKICAgICBMT0coTmV0d29yaywgIlNvY2tldFN0cmVhbUhhbmRsZSAlcCBuZXcgY2xpZW50ICVw
IiwgdGhpcywgbV9jbGllbnQpOwogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9Tb2NrZXRTdHJlYW1IYW5kbGUuaApp
bmRleCBlNzI1MzQ0MDgzYzBjZjZjMzRlMzNlNTFiMDczNjA0NjI2NzU3NWE3Li5mN2I0NmFiYWE4
ZmU3MGVkMmFiNWYzZmQyNTA4NjgxZWVkYTEyOGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFuZGxlLmgKQEAgLTEsNyAr
MSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00Niwx
MiArNDYsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQXV0aGVudGljYXRp
b25DaGFsbGVuZ2U7CiAgICAgY2xhc3MgQ3JlZGVudGlhbDsKKyAgICBjbGFzcyBGcmFtZTsKICAg
ICBjbGFzcyBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQ7CiAgICAgY2xhc3MgU29ja2V0U3RyZWFt
SGFuZGxlUHJpdmF0ZTsKIAogICAgIGNsYXNzIFNvY2tldFN0cmVhbUhhbmRsZSA6IHB1YmxpYyBS
ZWZDb3VudGVkPFNvY2tldFN0cmVhbUhhbmRsZT4sIHB1YmxpYyBTb2NrZXRTdHJlYW1IYW5kbGVC
YXNlIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvY2tldFN0cmVh
bUhhbmRsZT4gY3JlYXRlKGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50
KiBjbGllbnQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTb2NrZXRTdHJlYW1IYW5kbGUodXJsLCBj
bGllbnQpKTsgfQorICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb2NrZXRTdHJlYW1IYW5kbGU+
IGNyZWF0ZShjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xpZW50
LCBGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTb2NrZXRTdHJlYW1IYW5kbGUo
dXJsLCBjbGllbnQsIGZyYW1lKSk7IH0KIAogICAgICAgICB2aXJ0dWFsIH5Tb2NrZXRTdHJlYW1I
YW5kbGUoKTsKIApAQCAtNjAsNyArNjEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUNsb3NlKCk7CiAKICAgICBwcml2YXRlOgotICAgICAgICBT
b2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgS1VSTCYsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCop
OworICAgICAgICBTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgS1VSTCYsIFNvY2tldFN0cmVhbUhh
bmRsZUNsaWVudCosIEZyYW1lKik7CiAKICAgICAgICAgLy8gTm8gYXV0aGVudGljYXRpb24gZm9y
IHN0cmVhbXMgcGVyIHNlLCBidXQgcHJveHkgbWF5IGFzayBmb3IgY3JlZGVudGlhbHMuCiAgICAg
ICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZVF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFuZGxlUXQuY3BwCmluZGV4IGQ0NjM5MDllNzVk
MGRkMDJiMTBlZWNiMGVhYmFjNjA5YmUxYjViOTkuLjc1OWRjYTgxMGZlN2NhNDAwNjRlMDliODVh
YTA0NDBhNjgzOWYzNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvcXQvU29ja2V0U3RyZWFtSGFuZGxlUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFuZGxlUXQuY3BwCkBAIC0xLDYgKzEsNiBAQAog
LyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0xNTksOCArMTU5
LDggQEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlOjpzb2NrZXRTc2xFcnJvcnMoY29u
c3QgUUxpc3Q8UVNzbEVycm9yPiYgZXJyb3IpCiB9CiAjZW5kaWYKIAotU29ja2V0U3RyZWFtSGFu
ZGxlOjpTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5k
bGVDbGllbnQqIGNsaWVudCkKLSAgICA6IFNvY2tldFN0cmVhbUhhbmRsZUJhc2UodXJsLCBjbGll
bnQpCitTb2NrZXRTdHJlYW1IYW5kbGU6OlNvY2tldFN0cmVhbUhhbmRsZShjb25zdCBLVVJMJiB1
cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xpZW50LCBGcmFtZSogZnJhbWUpCisgICAg
OiBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlKHVybCwgY2xpZW50LCBmcmFtZSkKIHsKICAgICBMT0co
TmV0d29yaywgIlNvY2tldFN0cmVhbUhhbmRsZSAlcCBuZXcgY2xpZW50ICVwIiwgdGhpcywgbV9j
bGllbnQpOwogICAgIG1fcCA9IG5ldyBTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlKHRoaXMsIHVy
bCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29j
a2V0U3RyZWFtSGFuZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
U29ja2V0U3RyZWFtSGFuZGxlLmgKaW5kZXggYzhmZTNiM2I2ODk1ZjJmMGU5ZjI2YjU4OWEyNDY1
YmJiNmRlODgwNC4uMWYwYzc1YjExYzAwN2M5M2M2YjY5OGMyMTYzOTU3ZWM4MTk0YjE0ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVh
bUhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb2Nr
ZXRTdHJlYW1IYW5kbGUuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5
IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5
LCAyMDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQpAQCAtNDEsMTEgKzQxLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwogICAgIGNsYXNzIENyZWRl
bnRpYWw7CisgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3MgU29ja2V0U3RyZWFtSGFuZGxlQ2xp
ZW50OwogCiAgICAgY2xhc3MgU29ja2V0U3RyZWFtSGFuZGxlIDogcHVibGljIFJlZkNvdW50ZWQ8
U29ja2V0U3RyZWFtSGFuZGxlPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUJhc2UgewogICAg
IHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U29ja2V0U3RyZWFtSGFuZGxlPiBj
cmVhdGUoY29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCkg
eyByZXR1cm4gYWRvcHRSZWYobmV3IFNvY2tldFN0cmVhbUhhbmRsZSh1cmwsIGNsaWVudCkpOyB9
CisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvY2tldFN0cmVhbUhhbmRsZT4gY3JlYXRlKGNv
bnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBjbGllbnQsIEZyYW1lKiBm
cmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNvY2tldFN0cmVhbUhhbmRsZSh1cmwsIGNsaWVu
dCwgZnJhbWUpKTsgfQogCiAgICAgICAgIHZpcnR1YWwgflNvY2tldFN0cmVhbUhhbmRsZSgpOwog
ICAgICAgICB2b2lkIGNvbm5lY3RlZChHU29ja2V0Q29ubmVjdGlvbiosIEdFcnJvciopOwpAQCAt
NjUsNyArNjYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGNoYXIqIG1fcmVhZEJ1
ZmZlcjsKICAgICAgICAgdm9pZCogbV9pZDsKIAotICAgICAgICBTb2NrZXRTdHJlYW1IYW5kbGUo
Y29uc3QgS1VSTCYsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCopOworICAgICAgICBTb2NrZXRT
dHJlYW1IYW5kbGUoY29uc3QgS1VSTCYsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCosIEZyYW1l
Kik7CiAKICAgICAgICAgLy8gTm8gYXV0aGVudGljYXRpb24gZm9yIHN0cmVhbXMgcGVyIHNlLCBi
dXQgcHJveHkgbWF5IGFzayBmb3IgY3JlZGVudGlhbHMuCiAgICAgICAgIHZvaWQgZGlkUmVjZWl2
ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0
U3RyZWFtSGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvU29ja2V0U3RyZWFtSGFuZGxlU291cC5jcHAKaW5kZXggMjkyNDdjM2Y5Mjc0NDE4ZmE4M2E4
NTYyYmVhMmViYjVjMDQ0M2YzMy4uZWQ5MmUzNTNjMzUyYjBhNGEzZTRhYTU2NWI5NzZmMGYyOTE1
OWNhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Nv
Y2tldFN0cmVhbUhhbmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGVTb3VwLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEsIDIwMTIgR29vZ2xlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBA
IC03OCw4ICs3OCw4IEBAIHN0YXRpYyB2b2lkKiBhY3RpdmF0ZUhhbmRsZShTb2NrZXRTdHJlYW1I
YW5kbGUqIGhhbmRsZSkKICAgICByZXR1cm4gaWQ7CiB9CiAKLVNvY2tldFN0cmVhbUhhbmRsZTo6
U29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xp
ZW50KiBjbGllbnQpCi0gICAgOiBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlKHVybCwgY2xpZW50KQor
U29ja2V0U3RyZWFtSGFuZGxlOjpTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgS1VSTCYgdXJsLCBT
b2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCwgRnJhbWUqIGZyYW1lKQorICAgIDogU29j
a2V0U3RyZWFtSGFuZGxlQmFzZSh1cmwsIGNsaWVudCwgZnJhbWUpCiAgICAgLCBtX3JlYWRCdWZm
ZXIoMCkKIHsKICAgICB1bnNpZ25lZCBpbnQgcG9ydCA9IHVybC5oYXNQb3J0KCkgPyB1cmwucG9y
dCgpIDogKHVybC5wcm90b2NvbElzKCJ3c3MiKSA/IDQ0MyA6IDgwKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1NvY2tldFN0cmVhbUhhbmRsZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vU29ja2V0U3RyZWFtSGFuZGxlLmgK
aW5kZXggNjI4MDhlYzU1MGVkMWZiZjIzMmJlMWI0NjAwZjZmMDA4YjMyNDcxMy4uMjk1MjAwODY3
NjM3NjYxNmZhY2ExN2E2OWFiMWE1MDQzMGUwMGUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay93aW4vU29ja2V0U3RyZWFtSGFuZGxlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vU29ja2V0U3RyZWFtSGFuZGxlLmgKQEAgLTEs
NiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMiBHb29nbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAg
LTQxLDExICs0MSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlOwogY2xhc3MgQ3JlZGVudGlhbDsKK2NsYXNzIEZyYW1lOwogY2xhc3MgU29j
a2V0U3RyZWFtSGFuZGxlQ2xpZW50OwogCiBjbGFzcyBTb2NrZXRTdHJlYW1IYW5kbGUgOiBwdWJs
aWMgUmVmQ291bnRlZDxTb2NrZXRTdHJlYW1IYW5kbGU+LCBwdWJsaWMgU29ja2V0U3RyZWFtSGFu
ZGxlQmFzZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U29ja2V0U3RyZWFtSGFu
ZGxlPiBjcmVhdGUoY29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNs
aWVudCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNvY2tldFN0cmVhbUhhbmRsZSh1cmwsIGNsaWVu
dCkpOyB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U29ja2V0U3RyZWFtSGFuZGxlPiBjcmVhdGUo
Y29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCwgRnJhbWUq
IGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU29ja2V0U3RyZWFtSGFuZGxlKHVybCwgY2xp
ZW50LCBmcmFtZSkpOyB9CiAKICAgICB2aXJ0dWFsIH5Tb2NrZXRTdHJlYW1IYW5kbGUoKTsKIApA
QCAtNTQsNyArNTUsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtQ2xv
c2UoKTsKIAogcHJpdmF0ZToKLSAgICBTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgS1VSTCYsIFNv
Y2tldFN0cmVhbUhhbmRsZUNsaWVudCopOworICAgIFNvY2tldFN0cmVhbUhhbmRsZShjb25zdCBL
VVJMJiwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KiwgRnJhbWUqKTsKIAogICAgIC8vIE5vIGF1
dGhlbnRpY2F0aW9uIGZvciBzdHJlYW1zIHBlciBzZSwgYnV0IHByb3h5IG1heSBhc2sgZm9yIGNy
ZWRlbnRpYWxzLgogICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNv
bnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9Tb2NrZXRTdHJlYW1IYW5kbGVXaW4uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vU29ja2V0U3RyZWFtSGFuZGxlV2luLmNwcApp
bmRleCBiMmI1NDBmYjI0YzJmYWQ3NmEyODUwOWRlZmI2ZWNhYTZkYzcwOGZiLi41M2Y0NGFkZDA5
NTY1Y2MxNTk3NDgzZGE2MmE5MGFhMjk0M2U5Y2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9Tb2NrZXRTdHJlYW1IYW5kbGVXaW4uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1NvY2tldFN0cmVhbUhhbmRsZVdpbi5j
cHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEJyZW50IEZ1bGdo
YW0uICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEyIEdv
b2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQpAQCAtMzksOCArMzksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNv
Y2tldFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmIHVybCwgU29j
a2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBjbGllbnQpCi0gICAgOiBTb2NrZXRTdHJlYW1IYW5kbGVC
YXNlKHVybCwgY2xpZW50KQorU29ja2V0U3RyZWFtSGFuZGxlOjpTb2NrZXRTdHJlYW1IYW5kbGUo
Y29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCwgRnJhbWUq
IGZyYW1lKQorICAgIDogU29ja2V0U3RyZWFtSGFuZGxlQmFzZSh1cmwsIGNsaWVudCwgZnJhbWUp
CiB7CiAgICAgTE9HKE5ldHdvcmssICJTb2NrZXRTdHJlYW1IYW5kbGUgJXAgbmV3IGNsaWVudCAl
cCIsIHRoaXMsIG1fY2xpZW50KTsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggNTM0MzZlMzlhZWI2
NzZhMzU5MTg4Y2MxMGJmM2M2NDYzZmE3ZjBiZi4uYzMyODZiZmI4YzlmMjhiZjEwNWNlNzk1NjQw
YWJjMDQ2ZjhhODE1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJT
b2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tl
dENoYW5uZWwuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwg
MjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5o
IgogI2luY2x1ZGUgIkZpbGVFcnJvci5oIgogI2luY2x1ZGUgIkZpbGVSZWFkZXJMb2FkZXIuaCIK
KyNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC0xMzksNyArMTQw
LDggQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpjb25uZWN0KGNvbnN0IEtVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICBpZiAobV9pZGVudGlmaWVyKQogICAgICAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZVdlYlNvY2tldChtX2NvbnRleHQsIG1faWRl
bnRpZmllciwgdXJsLCBtX2NvbnRleHQtPnVybCgpKTsKICAgICByZWYoKTsKLSAgICBtX2hhbmRs
ZSA9IFNvY2tldFN0cmVhbUhhbmRsZTo6Y3JlYXRlKG1faGFuZHNoYWtlLT51cmwoKSwgdGhpcyk7
CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihtX2NvbnRl
eHQpOworICAgIG1faGFuZGxlID0gU29ja2V0U3RyZWFtSGFuZGxlOjpjcmVhdGUobV9oYW5kc2hh
a2UtPnVybCgpLCB0aGlzLCBkb2N1bWVudC0+ZnJhbWUoKSk7CiB9CiAKIFN0cmluZyBXZWJTb2Nr
ZXRDaGFubmVsOjpzdWJwcm90b2NvbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9Tb2NrZXRTdHJlYW1IYW5kbGUuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvU29ja2V0U3RyZWFtSGFuZGxlLmNwcAppbmRleCBjZjhhYTAyY2RlMzgzNjdlMzY2NGMwMTAy
YzdkNWE5ZWRiYjE5YTljLi44ODMxYWQ1MDBkNjU4ZGFjMGVkMTVkMTI4NGUyZTkzM2NlYjJlYzUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Tb2NrZXRTdHJlYW1IYW5k
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NvY2tldFN0cmVhbUhhbmRs
ZS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTIgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKQEAgLTE4OSw4ICsxODksOCBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZUludGVy
bmFsOjpkaWRGYWlsKFdlYlNvY2tldFN0cmVhbUhhbmRsZSogc29ja2V0SGFuZGxlLCBjbwogCiAv
LyBTb2NrZXRTdHJlYW1IYW5kbGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1Tb2NrZXRTdHJlYW1IYW5kbGU6OlNvY2tldFN0cmVh
bUhhbmRsZShjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xpZW50
KQotICAgIDogU29ja2V0U3RyZWFtSGFuZGxlQmFzZSh1cmwsIGNsaWVudCkKK1NvY2tldFN0cmVh
bUhhbmRsZTo6U29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFt
SGFuZGxlQ2xpZW50KiBjbGllbnQsIEZyYW1lKiBmcmFtZSkKKyAgICA6IFNvY2tldFN0cmVhbUhh
bmRsZUJhc2UodXJsLCBjbGllbnQsIGZyYW1lKQogewogICAgIG1faW50ZXJuYWwgPSBTb2NrZXRT
dHJlYW1IYW5kbGVJbnRlcm5hbDo6Y3JlYXRlKHRoaXMpOwogICAgIG1faW50ZXJuYWwtPmNvbm5l
Y3QobV91cmwpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126730</attachid>
            <date>2012-02-13 00:37:23 -0800</date>
            <delta_ts>2012-02-13 00:37:23 -0800</delta_ts>
            <desc>to show overview to dependent change reviewers</desc>
            <filename>bug-78460-20120213173721.patch</filename>
            <type>text/plain</type>
            <size>37205</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmRkNWI2ZmUzNTc2ZmJj
MzE4YTcyODBlMDQzOWZmYzFlMjJhODdiMC4uZTZkNGY5YTE2NGUyOWQ2MWQxYjQ1OWY5ZjViMGRj
NjA2OTMxNGRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEyLTAyLTEyICBUYWth
c2hpIFRveW9zaGltYSAgPHRveW9zaGltQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgb3du
ZXIgRnJhbWUqIGFzIGFuIGFyZ3VtZW50IHRvIFNvY2tldFN0cmVhbUhhbmRsZTo6Y3JlYXRlLCBl
dGMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDYw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzIGJlY2F1c2Ugb2YganVzdCBhZGRpbmcgYW4gdW5zZWQgYXJndW1lbnQuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZUJhc2UuY3BwOiBBZGQgYSBm
cmFtZSBhcmd1bWVudCBhbmQgaG9sZCBpdCBhcyBhIG1lbWJlciB2YXJpYWJsZS4KKyAgICAgICAg
KFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZUJhc2U6OlNvY2tldFN0cmVhbUhhbmRsZUJhc2Up
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlQmFzZS5oOiBB
ZGQgYSBmcmFtZSBhcmd1bWVudCBhbmQgbV9mcmFtZSBtZW1iZXIgdG8gaG9sZCBpdC4gQW5kIGZp
eCBzdHlsZSBuaXRzIG9uIGluZGVudC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU29j
a2V0U3RyZWFtSGFuZGxlQmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5k
bGVCYXNlOjp+U29ja2V0U3RyZWFtSGFuZGxlQmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpTb2Nr
ZXRTdHJlYW1IYW5kbGVCYXNlOjpidWZmZXJlZEFtb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpT
b2NrZXRTdHJlYW1IYW5kbGVCYXNlOjpjbGllbnQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvYmxhY2tiZXJyeS9Tb2NrZXRTdHJlYW1IYW5kbGUuaDogQWRkIGEgZnJhbWUgYXJndW1lbnQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRs
ZTo6Y3JlYXRlKToKKyAgICAgICAgKFNvY2tldFN0cmVhbUhhbmRsZSk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1NvY2tldFN0cmVhbUhhbmRsZUJsYWNrQmVycnkuY3Bw
OiBBZGQgYSBmcmFtZSBhcmd1bWVudCBoYW5kbGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlNvY2tl
dFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtSGFuZGxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL2NmL1NvY2tldFN0cmVhbUhhbmRsZS5oOiBBZGQgYSBmcmFtZSBhcmd1bWVudC4KKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpj
cmVhdGUpOgorICAgICAgICAoU29ja2V0U3RyZWFtSGFuZGxlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL2NmL1NvY2tldFN0cmVhbUhhbmRsZUNGTmV0LmNwcDogQWRkIGEgZnJhbWUgYXJn
dW1lbnQgaGFuZGxpbmcuCisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OlNv
Y2tldFN0cmVhbUhhbmRsZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9T
b2NrZXRTdHJlYW1IYW5kbGUuaDogQWRkIGEgZnJhbWUgYXJndW1lbnQuCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6Y3JlYXRlKToKKyAg
ICAgICAgKFNvY2tldFN0cmVhbUhhbmRsZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9j
dXJsL1NvY2tldFN0cmVhbUhhbmRsZS5oOiBBZGQgYSBmcmFtZSBhcmd1bWVudC4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpjcmVhdGUp
OgorICAgICAgICAoU29ja2V0U3RyZWFtSGFuZGxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvU29ja2V0U3RyZWFtSGFuZGxlQ3VybC5jcHA6IEFkZCBhIGZyYW1lIGFyZ3VtZW50
IGhhbmRsaW5nLgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpTb2NrZXRT
dHJlYW1IYW5kbGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFt
SGFuZGxlLmg6IEFkZCBhIGZyYW1lIGFyZ3VtZW50LgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OmNyZWF0ZSk6CisgICAgICAgIChTb2Nr
ZXRTdHJlYW1IYW5kbGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3Ry
ZWFtSGFuZGxlUXQuY3BwOiBBZGQgYSBmcmFtZSBhcmd1bWVudCBoYW5kbGluZy4KKyAgICAgICAg
KFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtSGFuZGxlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFuZGxlLmg6IEFkZCBhIGZy
YW1lIGFyZ3VtZW50LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTb2Nr
ZXRTdHJlYW1IYW5kbGU6OmNyZWF0ZSk6CisgICAgICAgIChTb2NrZXRTdHJlYW1IYW5kbGUpOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGVTb3VwLmNw
cDogQWRkIGEgZnJhbWUgYXJndW1lbnQgaGFuZGxpbmcuCisgICAgICAgIChXZWJDb3JlOjpTb2Nr
ZXRTdHJlYW1IYW5kbGU6OlNvY2tldFN0cmVhbUhhbmRsZSk6CisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay93aW4vU29ja2V0U3RyZWFtSGFuZGxlLmg6IEFkZCBhIGZyYW1lIGFyZ3VtZW50Lgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6
OmNyZWF0ZSk6CisgICAgICAgIChTb2NrZXRTdHJlYW1IYW5kbGUpOgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvd2luL1NvY2tldFN0cmVhbUhhbmRsZVdpbi5jcHA6IEFkZCBhIGZyYW1lIGFy
Z3VtZW50IGhhbmRsaW5nLgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpT
b2NrZXRTdHJlYW1IYW5kbGUpOgorICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5jcHA6IEFkZCBhIGZyYW1lIGFyZ3VtZW50IGhhbmRsaW5nLgorICAgICAgICAoV2ViQ29yZTo6
V2ViU29ja2V0Q2hhbm5lbDo6Y29ubmVjdCk6CisKIDIwMTItMDItMTAgIE1hcmsgSGFobmVuYmVy
ZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBTcGxpdCBNYXJrZWRTcGFjZSBp
bnRvIGRlc3RydWN0b3IgYW5kIGRlc3RydWN0b3ItZnJlZSBzdWJzcGFjZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggN2UzZGIwN2QxMmZiNGU4N2QyZDc3ZmYwOTE0MTVhZWM0ZjBjMGQ5
NC4uMzVkMDVkYWZhYjg0MWQ2NjBlNzU5ZWJlMDc2YzIyZDFiNGQzYWQ5OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxMi0wMi0xMyAgVGFrYXNoaSBUb3lv
c2hpbWEgIDx0b3lvc2hpbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGRlbGVnYXRlIHRv
IFdlYkZyYW1lQ2xpZW50IGFuZCBXZWJTb2NrZXRTdHJlYW1IYW5kbGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDU5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWVDbGllbnQu
aDogQWRkIGEgd2lsbE9wZW5Tb2NrZXRTdHJlYW0gZnVuY3Rpb24uCisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAoV2ViRnJhbWVDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNs
aWVudDo6d2lsbE9wZW5Tb2NrZXRTdHJlYW0pOgorICAgICAgICAqIHB1YmxpYy9wbGF0Zm9ybS9X
ZWJTb2NrZXRTdHJlYW1IYW5kbGUuaDogQWRkIHNldFJlcXVlc3RvcklEIGFuZCByZXF1ZXN0b3JJ
RCBmdW5jdGlvbnMuCisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldFN0cmVhbUhhbmRsZTo6Y29u
bmVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldFN0cmVhbUhhbmRsZTo6c2VuZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNvY2tldFN0cmVhbUhhbmRsZTo6Y2xvc2UpOgorICAgICAgICAo
V2ViU29ja2V0U3RyZWFtSGFuZGxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViU29ja2V0U3RyZWFt
SGFuZGxlOjpzZXRSZXF1ZXN0b3JJRCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldFN0cmVh
bUhhbmRsZTo6cmVxdWVzdG9ySUQpOgorICAgICAgICAqIHNyYy9Tb2NrZXRTdHJlYW1IYW5kbGUu
Y3BwOiBDYWxsIGRpc3BhdGNoV2lsbE9wZW5Tb2NrZXRTdHJlYW0gYmVmb3JlIHNvY2tldCBjb25u
ZWN0cy4KKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZUludGVybmFsOjpjb25u
ZWN0KToKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDogSW1wbGVtZW50IGRpc3BhdGNo
V2lsbE9wZW5Tb2NrZXRTdHJlYW0gdG8gY2FsbCBjbGllbnQncyB3aWxsT3BlblNvY2tldFN0cmVh
bS4KKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpkaXNwYXRjaFdpbGxPcGVuU29ja2V0
U3RyZWFtKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5o
OiBBZGQgYSBkaXNwYXRjaFdpbGxPcGVuU29ja2V0U3RyZWFtIGZ1bmN0aW9uLgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKFdlYkZyYW1lSW1wbCk6CisKKzIwMTItMDItMTIgIFRha2FzaGkg
VG95b3NoaW1hICA8dG95b3NoaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBvd25lciBG
cmFtZSogYXMgYW4gYXJndW1lbnQgdG8gU29ja2V0U3RyZWFtSGFuZGxlOjpjcmVhdGUsIGV0Ywor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0NjAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9Tb2Nr
ZXRTdHJlYW1IYW5kbGUuY3BwOiBBZGQgYSBmcmFtZSBhcmd1bWVudCBoYW5kbGluZy4KKyAgICAg
ICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtSGFuZGxlKToKKwog
MjAxMi0wMi0xMCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZC4gIFJvbGxlZCBERVBTLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVCYXNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlQmFzZS5jcHAKaW5k
ZXggM2JhMzNmMzhkYjY5OTEzYTBkOTMyN2JkZWRlNmJmYjVhZTQyNjBhMC4uY2Q2MzQ2Yjk1NDI1
YzdmNmYwYmU2ZTJkNTU5OTdmOTQ5N2I5Y2U2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVCYXNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZUJhc2UuY3BwCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBHb29nbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSwgMjAxMiBH
b29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKQEAgLTM4LDkgKzM4LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29u
c3QgdW5zaWduZWQgaW50IGJ1ZmZlclNpemUgPSAxMDAgKiAxMDI0ICogMTAyNDsKIAotU29ja2V0
U3RyZWFtSGFuZGxlQmFzZTo6U29ja2V0U3RyZWFtSGFuZGxlQmFzZShjb25zdCBLVVJMJiB1cmws
IFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xpZW50KQorU29ja2V0U3RyZWFtSGFuZGxlQmFz
ZTo6U29ja2V0U3RyZWFtSGFuZGxlQmFzZShjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhh
bmRsZUNsaWVudCogY2xpZW50LCBGcmFtZSogZnJhbWUpCiAgICAgOiBtX3VybCh1cmwpCiAgICAg
LCBtX2NsaWVudChjbGllbnQpCisgICAgLCBtX2ZyYW1lKGZyYW1lKQogICAgICwgbV9zdGF0ZShD
b25uZWN0aW5nKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZUJhc2UuaAppbmRleCBlZjc2MmIyMmI5OGM4NTJmMGZl
MTFhZWRlNmRhYTQ2YTE0YTNkMTU4Li4xM2Q4YzgyMjBjMTljMDQxYzUyNTE2OTg2YWEzNjJkMDk3
NDRhMDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tl
dFN0cmVhbUhhbmRsZUJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1NvY2tldFN0cmVhbUhhbmRsZUJhc2UuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0
IChDKSAyMDA5IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDA5LCAyMDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzgsMzUgKzM4LDM3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFNvY2tldFN0cmVhbUhhbmRsZTsKLSAgICBjbGFz
cyBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQ7CitjbGFzcyBGcmFtZTsKK2NsYXNzIFNvY2tldFN0
cmVhbUhhbmRsZTsKK2NsYXNzIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudDsKIAotICAgIGNsYXNz
IFNvY2tldFN0cmVhbUhhbmRsZUJhc2UgewotICAgIHB1YmxpYzoKLSAgICAgICAgZW51bSBTb2Nr
ZXRTdHJlYW1TdGF0ZSB7IENvbm5lY3RpbmcsIE9wZW4sIENsb3NpbmcsIENsb3NlZCB9OwotICAg
ICAgICB2aXJ0dWFsIH5Tb2NrZXRTdHJlYW1IYW5kbGVCYXNlKCkgeyB9Ci0gICAgICAgIFNvY2tl
dFN0cmVhbVN0YXRlIHN0YXRlKCkgY29uc3Q7CitjbGFzcyBTb2NrZXRTdHJlYW1IYW5kbGVCYXNl
IHsKK3B1YmxpYzoKKyAgICBlbnVtIFNvY2tldFN0cmVhbVN0YXRlIHsgQ29ubmVjdGluZywgT3Bl
biwgQ2xvc2luZywgQ2xvc2VkIH07CisgICAgdmlydHVhbCB+U29ja2V0U3RyZWFtSGFuZGxlQmFz
ZSgpIHsgfQorICAgIFNvY2tldFN0cmVhbVN0YXRlIHN0YXRlKCkgY29uc3Q7CiAKLSAgICAgICAg
Ym9vbCBzZW5kKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpOwotICAgICAgICB2b2lkIGNs
b3NlKCk7IC8vIERpc2Nvbm5lY3QgYWZ0ZXIgYWxsIGRhdGEgaW4gYnVmZmVyIGFyZSBzZW50Lgot
ICAgICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKLSAgICAgICAgc2l6ZV90IGJ1ZmZlcmVkQW1vdW50
KCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXIuc2l6ZSgpOyB9CisgICAgYm9vbCBzZW5kKGNvbnN0
IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpOworICAgIHZvaWQgY2xvc2UoKTsgLy8gRGlzY29ubmVj
dCBhZnRlciBhbGwgZGF0YSBpbiBidWZmZXIgYXJlIHNlbnQuCisgICAgdm9pZCBkaXNjb25uZWN0
KCk7CisgICAgc2l6ZV90IGJ1ZmZlcmVkQW1vdW50KCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXIu
c2l6ZSgpOyB9CiAKLSAgICAgICAgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBjbGllbnQoKSBj
b25zdCB7IHJldHVybiBtX2NsaWVudDsgfQotICAgICAgICB2b2lkIHNldENsaWVudChTb2NrZXRT
dHJlYW1IYW5kbGVDbGllbnQqKTsKKyAgICBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50OyB9CisgICAgdm9pZCBzZXRDbGllbnQoU29ja2V0
U3RyZWFtSGFuZGxlQ2xpZW50Kik7CiAKLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIFNvY2tldFN0
cmVhbUhhbmRsZUJhc2UoY29uc3QgS1VSTCYsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCopOwor
cHJvdGVjdGVkOgorICAgIFNvY2tldFN0cmVhbUhhbmRsZUJhc2UoY29uc3QgS1VSTCYsIFNvY2tl
dFN0cmVhbUhhbmRsZUNsaWVudCosIEZyYW1lKik7CiAKLSAgICAgICAgYm9vbCBzZW5kUGVuZGlu
Z0RhdGEoKTsKLSAgICAgICAgdmlydHVhbCBpbnQgcGxhdGZvcm1TZW5kKGNvbnN0IGNoYXIqIGRh
dGEsIGludCBsZW5ndGgpID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtQ2xvc2Uo
KSA9IDA7CisgICAgYm9vbCBzZW5kUGVuZGluZ0RhdGEoKTsKKyAgICB2aXJ0dWFsIGludCBwbGF0
Zm9ybVNlbmQoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBwbGF0Zm9ybUNsb3NlKCkgPSAwOwogCi0gICAgICAgIEtVUkwgbV91cmw7Ci0gICAgICAg
IFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogbV9jbGllbnQ7Ci0gICAgICAgIFZlY3RvcjxjaGFy
PiBtX2J1ZmZlcjsKLSAgICAgICAgU29ja2V0U3RyZWFtU3RhdGUgbV9zdGF0ZTsKLSAgICB9Owor
ICAgIEtVUkwgbV91cmw7CisgICAgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBtX2NsaWVudDsK
KyAgICBGcmFtZSogbV9mcmFtZTsKKyAgICBWZWN0b3I8Y2hhcj4gbV9idWZmZXI7CisgICAgU29j
a2V0U3RyZWFtU3RhdGUgbV9zdGF0ZTsKK307CiAKIH0gIC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9T
b2NrZXRTdHJlYW1IYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxh
Y2tiZXJyeS9Tb2NrZXRTdHJlYW1IYW5kbGUuaAppbmRleCBjYzNlZDdiOTMxMWM1ZmExNmVkOTFk
NDMzYzhlNWY1NzAyYWIxZWRjLi5lNjI3YmQwY2EzZmY0MTQ1MjBkYWI1NDhhNzQ4ZGYxN2MyMGZl
MTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVy
cnkvU29ja2V0U3RyZWFtSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9ibGFja2JlcnJ5L1NvY2tldFN0cmVhbUhhbmRsZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoK
ICAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC00NCwxMSArNDQsMTIgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKIGNs
YXNzIENyZWRlbnRpYWw7CitjbGFzcyBGcmFtZTsKIGNsYXNzIFNvY2tldFN0cmVhbUhhbmRsZUNs
aWVudDsKIAogY2xhc3MgU29ja2V0U3RyZWFtSGFuZGxlIDogcHVibGljIFJlZkNvdW50ZWQ8U29j
a2V0U3RyZWFtSGFuZGxlPiwgcHVibGljIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpGaWx0ZXJTdHJl
YW0sIHB1YmxpYyBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UGFzc1JlZlB0cjxTb2NrZXRTdHJlYW1IYW5kbGU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGdyb3Vw
TmFtZSwgY29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCkg
eyByZXR1cm4gYWRvcHRSZWYobmV3IFNvY2tldFN0cmVhbUhhbmRsZShncm91cE5hbWUsIHVybCwg
Y2xpZW50KSk7IH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb2NrZXRTdHJlYW1IYW5kbGU+IGNy
ZWF0ZShjb25zdCBTdHJpbmcmIGdyb3VwTmFtZSwgY29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJl
YW1IYW5kbGVDbGllbnQqIGNsaWVudCwgRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgU29ja2V0U3RyZWFtSGFuZGxlKGdyb3VwTmFtZSwgdXJsLCBjbGllbnQsIGZyYW1lKSk7IH0K
IAogICAgIHZpcnR1YWwgflNvY2tldFN0cmVhbUhhbmRsZSgpOwogCkBAIC02Myw3ICs2NCw3IEBA
IHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1DbG9zZSgpOwogCiBwcml2YXRl
OgotICAgIFNvY2tldFN0cmVhbUhhbmRsZShjb25zdCBTdHJpbmcmIGdyb3VwTmFtZSwgY29uc3Qg
S1VSTCYsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCopOworICAgIFNvY2tldFN0cmVhbUhhbmRs
ZShjb25zdCBTdHJpbmcmIGdyb3VwTmFtZSwgY29uc3QgS1VSTCYsIFNvY2tldFN0cmVhbUhhbmRs
ZUNsaWVudCosIEZyYW1lKik7CiAKICAgICAvLyBObyBhdXRoZW50aWNhdGlvbiBmb3Igc3RyZWFt
cyBwZXIgc2UsIGJ1dCBwcm94eSBtYXkgYXNrIGZvciBjcmVkZW50aWFscy4KICAgICB2b2lkIGRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFj
a2JlcnJ5L1NvY2tldFN0cmVhbUhhbmRsZUJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1NvY2tldFN0cmVhbUhhbmRsZUJsYWNrQmVycnku
Y3BwCmluZGV4IDdlMjBlMTcyMzYwMGZkNzZmZGZhZDE2Y2JmNDA3YmM1YmJhNTIzN2MuLmFlODhj
ZGYxMzAwZTFiZTZmNjk2NGM4MzZhN2RkNTI5NTU4MDBhMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9Tb2NrZXRTdHJlYW1IYW5kbGVCbGFj
a0JlcnJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVy
cnkvU29ja2V0U3RyZWFtSGFuZGxlQmxhY2tCZXJyeS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEwIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNDgsOCArNDgsOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNvY2tldFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFt
SGFuZGxlKGNvbnN0IFN0cmluZyYgZ3JvdXBOYW1lLCBjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0
cmVhbUhhbmRsZUNsaWVudCogY2xpZW50KQotICAgIDogU29ja2V0U3RyZWFtSGFuZGxlQmFzZSh1
cmwsIGNsaWVudCkKK1NvY2tldFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0
IFN0cmluZyYgZ3JvdXBOYW1lLCBjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNs
aWVudCogY2xpZW50LCBGcmFtZSogZnJhbWUpCisgICAgOiBTb2NrZXRTdHJlYW1IYW5kbGVCYXNl
KHVybCwgY2xpZW50LCBmcmFtZSkKIHsKICAgICBMT0coTmV0d29yaywgIlNvY2tldFN0cmVhbUhh
bmRsZSAlcCBuZXcgY2xpZW50ICVwIiwgdGhpcywgbV9jbGllbnQpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1NvY2tldFN0cmVhbUhhbmRsZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Tb2NrZXRTdHJlYW1IYW5kbGUuaApp
bmRleCAyNTRiMDM0NWIwZDgxNzViMzNjMmZiZTE0NjAzNzE0ZjZlNGQ4OWQ4Li42NmMyNTg5Njhm
ZmZiZDJlNmE3YjM5ZjVkOTkyMTUzYjlhN2M1NzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1NvY2tldFN0cmVhbUhhbmRsZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlLmgKQEAgLTEsNiAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQy
LDExICs0MiwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlOwogY2xhc3MgQ3JlZGVudGlhbDsKK2NsYXNzIEZyYW1lOwogY2xhc3MgU29ja2V0
U3RyZWFtSGFuZGxlQ2xpZW50OwogCiBjbGFzcyBTb2NrZXRTdHJlYW1IYW5kbGUgOiBwdWJsaWMg
VGhyZWFkU2FmZVJlZkNvdW50ZWQ8U29ja2V0U3RyZWFtSGFuZGxlPiwgcHVibGljIFNvY2tldFN0
cmVhbUhhbmRsZUJhc2UsIHB1YmxpYyBBdXRoZW50aWNhdGlvbkNsaWVudCB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8U29ja2V0U3RyZWFtSGFuZGxlPiBjcmVhdGUoY29uc3QgS1VS
TCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IFNvY2tldFN0cmVhbUhhbmRsZSh1cmwsIGNsaWVudCkpOyB9CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8U29ja2V0U3RyZWFtSGFuZGxlPiBjcmVhdGUoY29uc3QgS1VSTCYgdXJsLCBTb2Nr
ZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCwgRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9w
dFJlZihuZXcgU29ja2V0U3RyZWFtSGFuZGxlKHVybCwgY2xpZW50LCBmcmFtZSkpOyB9CiAKICAg
ICB2aXJ0dWFsIH5Tb2NrZXRTdHJlYW1IYW5kbGUoKTsKIApAQCAtNTcsNyArNTgsNyBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgaW50IHBsYXRmb3JtU2VuZChjb25zdCBjaGFyKiBkYXRhLCBpbnQg
bGVuZ3RoKTsKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1DbG9zZSgpOwogCi0gICAgU29ja2V0
U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqKTsKKyAg
ICBTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgS1VSTCYsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVu
dCosIEZyYW1lKik7CiAgICAgdm9pZCBjcmVhdGVTdHJlYW1zKCk7CiAgICAgdm9pZCBzY2hlZHVs
ZVN0cmVhbXMoKTsKICAgICB2b2lkIGNob29zZVByb3h5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1NvY2tldFN0cmVhbUhhbmRsZUNGTmV0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlQ0ZO
ZXQuY3BwCmluZGV4IDkwMzMzNDBkOGRjZTVjNzc3OTlkZjQ2MGE2MmU2NTBiNTY2MGU5MDUuLjk3
YmU5MGI0YzY2OWNkYjE2M2RmMzdiMWIzOTU1MTA1MGUzNTY3Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlQ0ZOZXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFu
ZGxlQ0ZOZXQuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBB
cHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdv
b2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAy
MDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQpAQCAtNTYsOCArNTYsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVNvY2tldFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmIHVy
bCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBjbGllbnQpCi0gICAgOiBTb2NrZXRTdHJlYW1I
YW5kbGVCYXNlKHVybCwgY2xpZW50KQorU29ja2V0U3RyZWFtSGFuZGxlOjpTb2NrZXRTdHJlYW1I
YW5kbGUoY29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCwg
RnJhbWUqIGZyYW1lKQorICAgIDogU29ja2V0U3RyZWFtSGFuZGxlQmFzZSh1cmwsIGNsaWVudCwg
ZnJhbWUpCiAgICAgLCBtX2Nvbm5lY3RpbmdTdWJzdGF0ZShOZXcpCiAgICAgLCBtX2Nvbm5lY3Rp
b25UeXBlKFVua25vd24pCiAgICAgLCBtX3NlbnRTdG9yZWRDcmVkZW50aWFscyhmYWxzZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vU29ja2V0
U3RyZWFtSGFuZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVt
L1NvY2tldFN0cmVhbUhhbmRsZS5oCmluZGV4IDZlMDIxNGQyNGJjODJiNjY1NTdkNjRiZDRlNzkx
OTZlYjIwZGY3YWYuLjNhNTY5MGExZWVhYzhkMTk3YWZjNzU5ZmRiNWEwN2Q0MWFkZmQ2ZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vU29ja2V0
U3RyZWFtSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJv
bWl1bS9Tb2NrZXRTdHJlYW1IYW5kbGUuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0
IChDKSAyMDA5LCAyMDExIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDA5LCAyMDExLCAyMDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNDEsMTIgKzQxLDEz
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlOwogICAgIGNsYXNzIENyZWRlbnRpYWw7CisgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3Mg
U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50OwogICAgIGNsYXNzIFNvY2tldFN0cmVhbUhhbmRsZUlu
dGVybmFsOwogCiAgICAgY2xhc3MgU29ja2V0U3RyZWFtSGFuZGxlIDogcHVibGljIFJlZkNvdW50
ZWQ8U29ja2V0U3RyZWFtSGFuZGxlPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUJhc2Ugewog
ICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U29ja2V0U3RyZWFtSGFuZGxl
PiBjcmVhdGUoY29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVu
dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNvY2tldFN0cmVhbUhhbmRsZSh1cmwsIGNsaWVudCkp
OyB9CisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvY2tldFN0cmVhbUhhbmRsZT4gY3JlYXRl
KGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBjbGllbnQsIEZyYW1l
KiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNvY2tldFN0cmVhbUhhbmRsZSh1cmwsIGNs
aWVudCwgZnJhbWUpKTsgfQogCiAgICAgICAgIHZpcnR1YWwgflNvY2tldFN0cmVhbUhhbmRsZSgp
OwogCkBAIC01Niw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVh
bCB2b2lkIHBsYXRmb3JtQ2xvc2UoKSBPVkVSUklERTsKIAogICAgIHByaXZhdGU6Ci0gICAgICAg
IFNvY2tldFN0cmVhbUhhbmRsZShjb25zdCBLVVJMJiwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50
Kik7CisgICAgICAgIFNvY2tldFN0cmVhbUhhbmRsZShjb25zdCBLVVJMJiwgU29ja2V0U3RyZWFt
SGFuZGxlQ2xpZW50KiwgRnJhbWUqKTsKIAogICAgICAgICAvLyBObyBhdXRoZW50aWNhdGlvbiBm
b3Igc3RyZWFtcyBwZXIgc2UsIGJ1dCBwcm94eSBtYXkgYXNrIGZvciBjcmVkZW50aWFscy4KICAg
ICAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9Tb2NrZXRTdHJlYW1IYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY3VybC9Tb2NrZXRTdHJlYW1IYW5kbGUuaAppbmRleCA2NDEzOWU1Y2QzMzk4
OWZhOWU0N2IwMmVmY2RkY2M2YmNjMjZhZjMzLi4xZGE0YjdlZjZkMDBmM2NlMTg3YjhkNWQyNjYy
OTU5ZjEyYmU5ZmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvU29ja2V0U3RyZWFtSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL1NvY2tldFN0cmVhbUhhbmRsZS5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDksIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00MSwxMSArNDEsMTIgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7
CiAgICAgY2xhc3MgQ3JlZGVudGlhbDsKKyAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBTb2Nr
ZXRTdHJlYW1IYW5kbGVDbGllbnQ7CiAKICAgICBjbGFzcyBTb2NrZXRTdHJlYW1IYW5kbGUgOiBw
dWJsaWMgUmVmQ291bnRlZDxTb2NrZXRTdHJlYW1IYW5kbGU+LCBwdWJsaWMgU29ja2V0U3RyZWFt
SGFuZGxlQmFzZSB7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb2Nr
ZXRTdHJlYW1IYW5kbGU+IGNyZWF0ZShjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRs
ZUNsaWVudCogY2xpZW50KSB7IHJldHVybiBhZG9wdFJlZihuZXcgU29ja2V0U3RyZWFtSGFuZGxl
KHVybCwgY2xpZW50KSk7IH0KKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U29ja2V0U3RyZWFt
SGFuZGxlPiBjcmVhdGUoY29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQq
IGNsaWVudCwgRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU29ja2V0U3RyZWFt
SGFuZGxlKHVybCwgY2xpZW50LCBmcmFtZSkpOyB9CiAKICAgICAgICAgdmlydHVhbCB+U29ja2V0
U3RyZWFtSGFuZGxlKCk7CiAKQEAgLTU0LDcgKzU1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1DbG9zZSgpOwogCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgU29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmLCBTb2NrZXRTdHJlYW1IYW5kbGVD
bGllbnQqKTsKKyAgICAgICAgU29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmLCBTb2NrZXRT
dHJlYW1IYW5kbGVDbGllbnQqLCBGcmFtZSopOwogCiAgICAgICAgIC8vIE5vIGF1dGhlbnRpY2F0
aW9uIGZvciBzdHJlYW1zIHBlciBzZSwgYnV0IHByb3h5IG1heSBhc2sgZm9yIGNyZWRlbnRpYWxz
LgogICAgICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jdXJsL1NvY2tldFN0cmVhbUhhbmRsZUN1cmwuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1NvY2tldFN0cmVhbUhhbmRsZUN1cmwuY3BwCmlu
ZGV4IDg5MWU5NmU1MDZmMTUwMjQ2YTJmYjIwODBmOWQxOTk1MjQ1MDc1MmEuLjE0Mjc1NDVkMjRk
OTgyYTJiNGRlM2M3Y2M0MGJlZWMwYjE0NWFhMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY3VybC9Tb2NrZXRTdHJlYW1IYW5kbGVDdXJsLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvU29ja2V0U3RyZWFtSGFuZGxlQ3Vy
bC5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEJyZW50IEZ1
bGdoYW0uICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2ds
ZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEy
IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQpAQCAtMzksOCArMzksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVNvY2tldFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmIHVybCwg
U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBjbGllbnQpCi0gICAgOiBTb2NrZXRTdHJlYW1IYW5k
bGVCYXNlKHVybCwgY2xpZW50KQorU29ja2V0U3RyZWFtSGFuZGxlOjpTb2NrZXRTdHJlYW1IYW5k
bGUoY29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCwgRnJh
bWUqIGZyYW1lKQorICAgIDogU29ja2V0U3RyZWFtSGFuZGxlQmFzZSh1cmwsIGNsaWVudCwgZnJh
bWUpCiB7CiAgICAgTE9HKE5ldHdvcmssICJTb2NrZXRTdHJlYW1IYW5kbGUgJXAgbmV3IGNsaWVu
dCAlcCIsIHRoaXMsIG1fY2xpZW50KTsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9Tb2NrZXRTdHJlYW1IYW5kbGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFuZGxl
LmgKaW5kZXggZTcyNTM0NDA4M2MwY2Y2YzM0ZTMzZTUxYjA3MzYwNDYyNjc1NzVhNy4uZjdiNDZh
YmFhOGZlNzBlZDJhYjVmM2ZkMjUwODY4MWVlZGExMjhlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9Tb2NrZXRTdHJlYW1IYW5kbGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZS5oCkBAIC0x
LDcgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEyIEdvb2dsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAt
NDYsMTIgKzQ2LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlOwogICAgIGNsYXNzIENyZWRlbnRpYWw7CisgICAgY2xhc3MgRnJhbWU7
CiAgICAgY2xhc3MgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50OwogICAgIGNsYXNzIFNvY2tldFN0
cmVhbUhhbmRsZVByaXZhdGU7CiAKICAgICBjbGFzcyBTb2NrZXRTdHJlYW1IYW5kbGUgOiBwdWJs
aWMgUmVmQ291bnRlZDxTb2NrZXRTdHJlYW1IYW5kbGU+LCBwdWJsaWMgU29ja2V0U3RyZWFtSGFu
ZGxlQmFzZSB7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb2NrZXRT
dHJlYW1IYW5kbGU+IGNyZWF0ZShjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNs
aWVudCogY2xpZW50KSB7IHJldHVybiBhZG9wdFJlZihuZXcgU29ja2V0U3RyZWFtSGFuZGxlKHVy
bCwgY2xpZW50KSk7IH0KKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U29ja2V0U3RyZWFtSGFu
ZGxlPiBjcmVhdGUoY29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNs
aWVudCwgRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU29ja2V0U3RyZWFtSGFu
ZGxlKHVybCwgY2xpZW50LCBmcmFtZSkpOyB9CiAKICAgICAgICAgdmlydHVhbCB+U29ja2V0U3Ry
ZWFtSGFuZGxlKCk7CiAKQEAgLTYwLDcgKzYxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1DbG9zZSgpOwogCiAgICAgcHJpdmF0ZToKLSAgICAg
ICAgU29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGll
bnQqKTsKKyAgICAgICAgU29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmLCBTb2NrZXRTdHJl
YW1IYW5kbGVDbGllbnQqLCBGcmFtZSopOwogCiAgICAgICAgIC8vIE5vIGF1dGhlbnRpY2F0aW9u
IGZvciBzdHJlYW1zIHBlciBzZSwgYnV0IHByb3h5IG1heSBhc2sgZm9yIGNyZWRlbnRpYWxzLgog
ICAgICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9xdC9Tb2NrZXRTdHJlYW1IYW5kbGVRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZVF0LmNwcAppbmRleCBkNDYzOTA5
ZTc1ZDBkZDAyYjEwZWVjYjBlYWJhYzYwOWJlMWI1Yjk5Li43NTlkY2E4MTBmZTdjYTQwMDY0ZTA5
Yjg1YWEwNDQwYTY4MzlmMzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZVF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZVF0LmNwcApAQCAtMSw2ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMTU5LDgg
KzE1OSw4IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZTo6c29ja2V0U3NsRXJyb3Jz
KGNvbnN0IFFMaXN0PFFTc2xFcnJvcj4mIGVycm9yKQogfQogI2VuZGlmCiAKLVNvY2tldFN0cmVh
bUhhbmRsZTo6U29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFt
SGFuZGxlQ2xpZW50KiBjbGllbnQpCi0gICAgOiBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlKHVybCwg
Y2xpZW50KQorU29ja2V0U3RyZWFtSGFuZGxlOjpTb2NrZXRTdHJlYW1IYW5kbGUoY29uc3QgS1VS
TCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCwgRnJhbWUqIGZyYW1lKQor
ICAgIDogU29ja2V0U3RyZWFtSGFuZGxlQmFzZSh1cmwsIGNsaWVudCwgZnJhbWUpCiB7CiAgICAg
TE9HKE5ldHdvcmssICJTb2NrZXRTdHJlYW1IYW5kbGUgJXAgbmV3IGNsaWVudCAlcCIsIHRoaXMs
IG1fY2xpZW50KTsKICAgICBtX3AgPSBuZXcgU29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZSh0aGlz
LCB1cmwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1NvY2tldFN0cmVhbUhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1NvY2tldFN0cmVhbUhhbmRsZS5oCmluZGV4IGM4ZmUzYjNiNjg5NWYyZjBlOWYyNmI1ODlh
MjQ2NWJiYjZkZTg4MDQuLjFmMGM3NWIxMWMwMDdjOTNjNmI2OThjMjE2Mzk1N2VjODE5NGIxNGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRT
dHJlYW1IYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
U29ja2V0U3RyZWFtSGFuZGxlLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykg
MjAwOSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwOSwgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQxLDExICs0MSwxMiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKICAgICBjbGFzcyBD
cmVkZW50aWFsOworICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIFNvY2tldFN0cmVhbUhhbmRs
ZUNsaWVudDsKIAogICAgIGNsYXNzIFNvY2tldFN0cmVhbUhhbmRsZSA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFNvY2tldFN0cmVhbUhhbmRsZT4sIHB1YmxpYyBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlIHsK
ICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvY2tldFN0cmVhbUhhbmRs
ZT4gY3JlYXRlKGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBjbGll
bnQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTb2NrZXRTdHJlYW1IYW5kbGUodXJsLCBjbGllbnQp
KTsgfQorICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb2NrZXRTdHJlYW1IYW5kbGU+IGNyZWF0
ZShjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xpZW50LCBGcmFt
ZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTb2NrZXRTdHJlYW1IYW5kbGUodXJsLCBj
bGllbnQsIGZyYW1lKSk7IH0KIAogICAgICAgICB2aXJ0dWFsIH5Tb2NrZXRTdHJlYW1IYW5kbGUo
KTsKICAgICAgICAgdm9pZCBjb25uZWN0ZWQoR1NvY2tldENvbm5lY3Rpb24qLCBHRXJyb3IqKTsK
QEAgLTY1LDcgKzY2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBjaGFyKiBtX3Jl
YWRCdWZmZXI7CiAgICAgICAgIHZvaWQqIG1faWQ7CiAKLSAgICAgICAgU29ja2V0U3RyZWFtSGFu
ZGxlKGNvbnN0IEtVUkwmLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqKTsKKyAgICAgICAgU29j
a2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqLCBG
cmFtZSopOwogCiAgICAgICAgIC8vIE5vIGF1dGhlbnRpY2F0aW9uIGZvciBzdHJlYW1zIHBlciBz
ZSwgYnV0IHByb3h5IG1heSBhc2sgZm9yIGNyZWRlbnRpYWxzLgogICAgICAgICB2b2lkIGRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Nv
Y2tldFN0cmVhbUhhbmRsZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1NvY2tldFN0cmVhbUhhbmRsZVNvdXAuY3BwCmluZGV4IDI5MjQ3YzNmOTI3NDQxOGZh
ODNhODU2MmJlYTJlYmI1YzA0NDNmMzMuLmVkOTJlMzUzYzM1MmIwYTRhM2U0YWE1NjViOTc2ZjBm
MjkxNTljYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9Tb2NrZXRTdHJlYW1IYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFuZGxlU291cC5jcHAKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExLCAyMDEyIEdvb2dsZSBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQpAQCAtNzgsOCArNzgsOCBAQCBzdGF0aWMgdm9pZCogYWN0aXZhdGVIYW5kbGUoU29ja2V0U3Ry
ZWFtSGFuZGxlKiBoYW5kbGUpCiAgICAgcmV0dXJuIGlkOwogfQogCi1Tb2NrZXRTdHJlYW1IYW5k
bGU6OlNvY2tldFN0cmVhbUhhbmRsZShjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRs
ZUNsaWVudCogY2xpZW50KQotICAgIDogU29ja2V0U3RyZWFtSGFuZGxlQmFzZSh1cmwsIGNsaWVu
dCkKK1NvY2tldFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmIHVy
bCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBjbGllbnQsIEZyYW1lKiBmcmFtZSkKKyAgICA6
IFNvY2tldFN0cmVhbUhhbmRsZUJhc2UodXJsLCBjbGllbnQsIGZyYW1lKQogICAgICwgbV9yZWFk
QnVmZmVyKDApCiB7CiAgICAgdW5zaWduZWQgaW50IHBvcnQgPSB1cmwuaGFzUG9ydCgpID8gdXJs
LnBvcnQoKSA6ICh1cmwucHJvdG9jb2xJcygid3NzIikgPyA0NDMgOiA4MCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9Tb2NrZXRTdHJlYW1IYW5kbGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1NvY2tldFN0cmVhbUhhbmRs
ZS5oCmluZGV4IDYyODA4ZWM1NTBlZDFmYmYyMzJiZTFiNDYwMGY2ZjAwOGIzMjQ3MTMuLjI5NTIw
MDg2NzYzNzY2MTZmYWNhMTdhNjlhYjFhNTA0MzBlMDBlMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1NvY2tldFN0cmVhbUhhbmRsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1NvY2tldFN0cmVhbUhhbmRsZS5oCkBA
IC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTIgR29vZ2xlIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC00MSwxMSArNDEsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZTsKIGNsYXNzIENyZWRlbnRpYWw7CitjbGFzcyBGcmFtZTsKIGNsYXNz
IFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudDsKIAogY2xhc3MgU29ja2V0U3RyZWFtSGFuZGxlIDog
cHVibGljIFJlZkNvdW50ZWQ8U29ja2V0U3RyZWFtSGFuZGxlPiwgcHVibGljIFNvY2tldFN0cmVh
bUhhbmRsZUJhc2UgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvY2tldFN0cmVh
bUhhbmRsZT4gY3JlYXRlKGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50
KiBjbGllbnQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTb2NrZXRTdHJlYW1IYW5kbGUodXJsLCBj
bGllbnQpKTsgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvY2tldFN0cmVhbUhhbmRsZT4gY3Jl
YXRlKGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBjbGllbnQsIEZy
YW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNvY2tldFN0cmVhbUhhbmRsZSh1cmws
IGNsaWVudCwgZnJhbWUpKTsgfQogCiAgICAgdmlydHVhbCB+U29ja2V0U3RyZWFtSGFuZGxlKCk7
CiAKQEAgLTU0LDcgKzU1LDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9y
bUNsb3NlKCk7CiAKIHByaXZhdGU6Ci0gICAgU29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwm
LCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqKTsKKyAgICBTb2NrZXRTdHJlYW1IYW5kbGUoY29u
c3QgS1VSTCYsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCosIEZyYW1lKik7CiAKICAgICAvLyBO
byBhdXRoZW50aWNhdGlvbiBmb3Igc3RyZWFtcyBwZXIgc2UsIGJ1dCBwcm94eSBtYXkgYXNrIGZv
ciBjcmVkZW50aWFscy4KICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZShjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vU29ja2V0U3RyZWFtSGFuZGxlV2luLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1NvY2tldFN0cmVhbUhhbmRsZVdpbi5j
cHAKaW5kZXggYjJiNTQwZmIyNGMyZmFkNzZhMjg1MDlkZWZiNmVjYWE2ZGM3MDhmYi4uNTNmNDRh
ZGQwOTU2NWNjMTU5NzQ4M2RhNjJhOTBhYTI5NDNlOWNjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vU29ja2V0U3RyZWFtSGFuZGxlV2luLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9Tb2NrZXRTdHJlYW1IYW5kbGVX
aW4uY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBCcmVudCBG
dWxnaGFtLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29n
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAx
MiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKQEAgLTM5LDggKzM5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1Tb2NrZXRTdHJlYW1IYW5kbGU6OlNvY2tldFN0cmVhbUhhbmRsZShjb25zdCBLVVJMJiB1cmws
IFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xpZW50KQotICAgIDogU29ja2V0U3RyZWFtSGFu
ZGxlQmFzZSh1cmwsIGNsaWVudCkKK1NvY2tldFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtSGFu
ZGxlKGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBjbGllbnQsIEZy
YW1lKiBmcmFtZSkKKyAgICA6IFNvY2tldFN0cmVhbUhhbmRsZUJhc2UodXJsLCBjbGllbnQsIGZy
YW1lKQogewogICAgIExPRyhOZXR3b3JrLCAiU29ja2V0U3RyZWFtSGFuZGxlICVwIG5ldyBjbGll
bnQgJXAiLCB0aGlzLCBtX2NsaWVudCk7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4IDUzNDM2ZTM5
YWViNjc2YTM1OTE4OGNjMTBiZjNjNjQ2M2ZhN2YwYmYuLmMzMjg2YmZiOGM5ZjI4YmYxMDVjZTc5
NTY0MGFiYzA0NmY4YTgxNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMv
V2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJT
b2NrZXRDaGFubmVsLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEsIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJGaWxlRXJyb3IuaCIKICNpbmNsdWRlICJGaWxlUmVhZGVyTG9hZGVy
LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtMTM5LDcg
KzE0MCw4IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6Y29ubmVjdChjb25zdCBLVVJMJiB1cmws
IGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpCiAgICAgaWYgKG1faWRlbnRpZmllcikKICAgICAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVXZWJTb2NrZXQobV9jb250ZXh0LCBt
X2lkZW50aWZpZXIsIHVybCwgbV9jb250ZXh0LT51cmwoKSk7CiAgICAgcmVmKCk7Ci0gICAgbV9o
YW5kbGUgPSBTb2NrZXRTdHJlYW1IYW5kbGU6OmNyZWF0ZShtX2hhbmRzaGFrZS0+dXJsKCksIHRo
aXMpOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PERvY3VtZW50Kj4obV9j
b250ZXh0KTsKKyAgICBtX2hhbmRsZSA9IFNvY2tldFN0cmVhbUhhbmRsZTo6Y3JlYXRlKG1faGFu
ZHNoYWtlLT51cmwoKSwgdGhpcywgZG9jdW1lbnQtPmZyYW1lKCkpOwogfQogCiBTdHJpbmcgV2Vi
U29ja2V0Q2hhbm5lbDo6c3VicHJvdG9jb2woKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkZyYW1lQ2xpZW50LmgKaW5kZXggZDA1MDdlM2QxYjVkMjQ2MmJiMjQ4MWE4NzFk
MzNkOWJlYjA1MGM2Yy4uNjMxZDFkZTg5MzU5MTM4YzViYzUyNGI3NDNmOTE1ZjIyZjE1NGU4NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC02Myw2ICs2Myw3IEBAIGNsYXNzIFdlYk1lZGlhUGxheWVyQ2xpZW50OwogY2xhc3MgV2Vi
Tm9kZTsKIGNsYXNzIFdlYlBsdWdpbjsKIGNsYXNzIFdlYlNoYXJlZFdvcmtlcjsKK2NsYXNzIFdl
YlNvY2tldFN0cmVhbUhhbmRsZTsKIGNsYXNzIFdlYlN0b3JhZ2VRdW90YUNhbGxiYWNrczsKIGNs
YXNzIFdlYlN0cmluZzsKIGNsYXNzIFdlYlVSTDsKQEAgLTI4OCw2ICsyODksOSBAQCBwdWJsaWM6
CiAgICAgLy8gYW4gaWZyYW1lLCB0aGF0IGlzIGxvYWRpbmcgYSBzdWJyZXNvdXJjZSwgaXMgdHJh
bnNmZXJyZWQgYmV0d2VlbiB3aW5kb3dzLgogICAgIHZpcnR1YWwgdm9pZCBkaWRBZG9wdFVSTExv
YWRlcihXZWJVUkxMb2FkZXIqKSB7IH0KIAorICAgIC8vIFRoaXMgZnJhbWUgaGFzIGEgV2ViU29j
a2V0U3RyZWFtSGFuZGxlIG9wZW5pbmcgc3RyZWFtIGNvbm5lY3Rpb24uCisgICAgdmlydHVhbCB2
b2lkIHdpbGxPcGVuU29ja2V0U3RyZWFtKFdlYlNvY2tldFN0cmVhbUhhbmRsZSopIHsgfQorCiAg
ICAgLy8gU2NyaXB0IG5vdGlmaWNhdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAKICAgICAvLyBTY3JpcHQgaW4gdGhlIHBhZ2UgdHJpZWQgdG8g
YWxsb2NhdGUgdG9vIG11Y2ggbWVtb3J5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViU29ja2V0U3RyZWFtSGFuZGxlLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJTb2NrZXRTdHJlYW1IYW5kbGUuaAppbmRl
eCBlZGVkYTBlNDMxMzZiZmM5NDIxMWQ3OTlhNWQyODQzYzIxNTRhMTExLi43YjkzMTE5YjdiMTg5
ZTE2MTAzOWYxODYxM2E5MDNmMjliZDhmM2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJTb2NrZXRTdHJlYW1IYW5kbGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJTb2NrZXRTdHJlYW1IYW5kbGUu
aApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMiBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQpAQCAtNDQsMTMgKzQ0LDE5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJTb2NrZXRT
dHJlYW1IYW5kbGUoKSB7IH0KIAogICAgIC8vIENvbm5lY3QgbmV3IHNvY2tldCBzdHJlYW0gYXN5
bmNocm9ub3VzbHkuCi0gICAgdmlydHVhbCB2b2lkIGNvbm5lY3QoY29uc3QgV2ViVVJMJiwgV2Vi
U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0
KGNvbnN0IFdlYlVSTCYsIFdlYlNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCopIHsgfTsKIAogICAg
IC8vIFNlbmQgd2ViIHNvY2tldCBmcmFtZSBkYXRhIG9uIHRoZSBzb2NrZXQgc3RyZWFtLgotICAg
IHZpcnR1YWwgYm9vbCBzZW5kKGNvbnN0IFdlYkRhdGEmKSA9IDA7CisgICAgdmlydHVhbCBib29s
IHNlbmQoY29uc3QgV2ViRGF0YSYpIHsgcmV0dXJuIGZhbHNlOyB9OwogCiAgICAgLy8gQ2xvc2Ug
dGhlIHNvY2tldCBzdHJlYW0uCi0gICAgdmlydHVhbCB2b2lkIGNsb3NlKCkgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBjbG9zZSgpIHsgfTsKKworICAgIC8vIFNldCByZXF1ZXN0b3IgSUQgYmluZGVk
IHRvIFJlbmRlclZpZXcuCisgICAgdmlydHVhbCB2b2lkIHNldFJlcXVlc3RvcklEKGludCkgeyB9
OworCisgICAgLy8gR2V0IHJlcXVlc3RvciBJRCBiaW5kZWQgdG8gUmVuZGVyVmlldy4KKyAgICB2
aXJ0dWFsIGludCByZXF1ZXN0b3JJRCgpIHsgcmV0dXJuIDA7IH07CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NvY2tl
dFN0cmVhbUhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Tb2NrZXRTdHJl
YW1IYW5kbGUuY3BwCmluZGV4IGNmOGFhMDJjZGUzODM2N2UzNjY0YzAxMDJjN2Q1YTllZGJiMTlh
OWMuLjQxMWJjYjQ0YzVkY2QxYmI1MzFhNmExOGU0ZWE4NDExNWExMjcyOTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NvY2tldFN0cmVhbUhhbmRsZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU29ja2V0U3RyZWFtSGFuZGxlLmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAt
MzYsOCArMzYsMTAgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKICNpbmNsdWRlICJTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQuaCIKLSNpbmNsdWRl
ICJwbGF0Zm9ybS9XZWJEYXRhLmgiCisjaW5jbHVkZSAiV2ViRnJhbWVDbGllbnQuaCIKKyNpbmNs
dWRlICJXZWJGcmFtZUltcGwuaCIKICNpbmNsdWRlICJXZWJLaXQuaCIKKyNpbmNsdWRlICJwbGF0
Zm9ybS9XZWJEYXRhLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0
LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViU29ja2V0U3RyZWFtSGFuZGxlLmgiCiAjaW5jbHVk
ZSAicGxhdGZvcm0vV2ViU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50LmgiCkBAIC05Miw2ICs5NCw5
IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlSW50ZXJuYWw6OmNvbm5lY3QoY29uc3QgS1VSTCYg
dXJsKQogICAgIG1fc29ja2V0ID0gYWRvcHRQdHIod2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPmNy
ZWF0ZVNvY2tldFN0cmVhbUhhbmRsZSgpKTsKICAgICBMT0coTmV0d29yaywgImNvbm5lY3QiKTsK
ICAgICBBU1NFUlQobV9zb2NrZXQpOworICAgIE93blB0cjxXZWJGcmFtZUltcGw+IGZyYW1lID0g
YWRvcHRQdHIoV2ViRnJhbWVJbXBsOjpmcm9tRnJhbWUobV9oYW5kbGUtPm1fZnJhbWUpKTsKKyAg
ICBpZiAoZnJhbWUpCisgICAgICAgIGZyYW1lLmxlYWtQdHIoKS0+ZGlzcGF0Y2hXaWxsT3BlblNv
Y2tldFN0cmVhbSgqbV9zb2NrZXQuZ2V0KCkpOwogICAgIG1fc29ja2V0LT5jb25uZWN0KHVybCwg
dGhpcyk7CiB9CiAKQEAgLTE4OSw4ICsxOTQsOCBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZUlu
dGVybmFsOjpkaWRGYWlsKFdlYlNvY2tldFN0cmVhbUhhbmRsZSogc29ja2V0SGFuZGxlLCBjbwog
CiAvLyBTb2NrZXRTdHJlYW1IYW5kbGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1Tb2NrZXRTdHJlYW1IYW5kbGU6OlNvY2tldFN0
cmVhbUhhbmRsZShjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xp
ZW50KQotICAgIDogU29ja2V0U3RyZWFtSGFuZGxlQmFzZSh1cmwsIGNsaWVudCkKK1NvY2tldFN0
cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtSGFuZGxlKGNvbnN0IEtVUkwmIHVybCwgU29ja2V0U3Ry
ZWFtSGFuZGxlQ2xpZW50KiBjbGllbnQsIEZyYW1lKiBmcmFtZSkKKyAgICA6IFNvY2tldFN0cmVh
bUhhbmRsZUJhc2UodXJsLCBjbGllbnQsIGZyYW1lKQogewogICAgIG1faW50ZXJuYWwgPSBTb2Nr
ZXRTdHJlYW1IYW5kbGVJbnRlcm5hbDo6Y3JlYXRlKHRoaXMpOwogICAgIG1faW50ZXJuYWwtPmNv
bm5lY3QobV91cmwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RnJhbWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5j
cHAKaW5kZXggZjhkMjAzNGZkODMyNzU3OTRiNjEzNGVlNWQwZWY2Nzc2NTkwNWFlOC4uZTNiZDM4
NDI2ZWM3ZWVlYzc3ZmQwYzQ4M2I2YjIzYzZlOWY3MjhhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDA5LCAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0xMDk1LDYgKzEwOTUsMTIgQEAgdm9p
ZCBXZWJGcmFtZUltcGw6OmRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0KFdlYlVSTFJlcXVlc3QmIHJl
cXVlc3QpCiAgICAgICAgIDAsIDAsIHJlcXVlc3QudG9NdXRhYmxlUmVzb3VyY2VSZXF1ZXN0KCks
IHJlc3BvbnNlKTsKIH0KIAordm9pZCBXZWJGcmFtZUltcGw6OmRpc3BhdGNoV2lsbE9wZW5Tb2Nr
ZXRTdHJlYW0oV2ViU29ja2V0U3RyZWFtSGFuZGxlJiBoYW5kbGUpCit7CisgICAgaWYgKGNsaWVu
dCgpKQorICAgICAgICBjbGllbnQoKS0+d2lsbE9wZW5Tb2NrZXRTdHJlYW0oJmhhbmRsZSk7Cit9
CisKIFdlYlVSTExvYWRlciogV2ViRnJhbWVJbXBsOjpjcmVhdGVBc3NvY2lhdGVkVVJMTG9hZGVy
KGNvbnN0IFdlYlVSTExvYWRlck9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgcmV0dXJuIG5ldyBB
c3NvY2lhdGVkVVJMTG9hZGVyKHRoaXMsIG9wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJGcmFtZUltcGwuaAppbmRleCBkZTM4ZDBkY2FlYTdkN2FlMGNkNTcxNzZkMTc2NTIx
MTAwMTNmYmRhLi4wOWM5ZmYwZTg2OWFlODNhMmRhYjE0MDgxMmRkMTljMjQzOGUzYWRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTksNiArNTks
NyBAQCBjbGFzcyBXZWJJbnB1dEVsZW1lbnQ7CiBjbGFzcyBXZWJGcmFtZUNsaWVudDsKIGNsYXNz
IFdlYlBlcmZvcm1hbmNlOwogY2xhc3MgV2ViUGx1Z2luQ29udGFpbmVySW1wbDsKK2NsYXNzIFdl
YlNvY2tldFN0cmVhbUhhbmRsZTsKIGNsYXNzIFdlYlZpZXc7CiBjbGFzcyBXZWJWaWV3SW1wbDsK
IApAQCAtMTM5LDYgKzE0MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3U291
cmNlTW9kZUVuYWJsZWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVmZXJyZXJGb3JS
ZXF1ZXN0KFdlYlVSTFJlcXVlc3QmLCBjb25zdCBXZWJVUkwmIHJlZmVycmVyKTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QoV2ViVVJMUmVxdWVzdCYpOworICAgIHZp
cnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxPcGVuU29ja2V0U3RyZWFtKFdlYlNvY2tldFN0cmVhbUhh
bmRsZSYpOwogICAgIHZpcnR1YWwgV2ViVVJMTG9hZGVyKiBjcmVhdGVBc3NvY2lhdGVkVVJMTG9h
ZGVyKGNvbnN0IFdlYlVSTExvYWRlck9wdGlvbnMmKTsKICAgICB2aXJ0dWFsIHZvaWQgY29tbWl0
RG9jdW1lbnREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5ndGgpOwogICAgIHZpcnR1
YWwgdW5zaWduZWQgdW5sb2FkTGlzdGVuZXJDb3VudCgpIGNvbnN0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>