<?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>25347</bug_id>
          
          <creation_ts>2009-04-23 14:10:19 -0700</creation_ts>
          <short_desc>Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest.</short_desc>
          <delta_ts>2009-05-01 08:25:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>pfeldman</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>118536</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-04-23 14:10:19 -0700</bug_when>
    <thetext>It is the only resource-related information that is available in InspectorController that is missing in the FrameLoaderClient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118537</commentid>
    <comment_count>1</comment_count>
      <attachid>29714</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-04-23 14:12:30 -0700</bug_when>
    <thetext>Created attachment 29714
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118578</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-04-23 18:23:56 -0700</bug_when>
    <thetext>Why is this necessary?  Please include that kind of information in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118601</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-04-23 22:12:34 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Why is this necessary?  Please include that kind of information in the future.
&gt; 

This is a continuation of https://bugs.webkit.org/show_bug.cgi?id=25342, copying notes from there:

Our async/out-of-process version of WebInspector is currently not based on
InspectorController. The reason was that we did not want to interfere with
Dmitry&apos;s unforking effort, yet wanted to experiment. So we came up with these
agents concept that basically mimic InspectorController, but separating &apos;agent&apos;
nature from the &apos;transport&apos;. Now that InspectorController is unforked, I am
planning to bring these concepts into the WebKit land and use what we have in
Chromium as a proof of concept / experimental playground.

It will take me some time to split InspectorController and I don&apos;t want
Chromium guys to be blocked by that. Hence I want to expose events that are
missing in clients, namely: console severity and xmlhttprequest data. I realize
that this is somewhat a temporary measure, but I think it will serve us all
well.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118604</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-04-23 22:23:26 -0700</bug_when>
    <thetext>It will take me some time to split InspectorController and I don&apos;t want
Chromium guys to be blocked by that</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118605</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-04-23 22:27:43 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; It will take me some time to split InspectorController and I don&apos;t want
&gt; Chromium guys to be blocked by that

Blerg, not what I meant to paste.  I meant to ask is if this is to help the unforking of chromium or to some other experimental work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118608</commentid>
    <comment_count>6</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-04-23 22:46:02 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; It will take me some time to split InspectorController and I don&apos;t want
&gt; &gt; Chromium guys to be blocked by that
&gt; 
&gt; Blerg, not what I meant to paste.  I meant to ask is if this is to help the
&gt; unforking of chromium or to some other experimental work?
&gt; 

Here is a broader context: I am currently working on Elements and Resources tabs to allow their async operation. Yury is working on debugger, Mikhail is working on Profiler. The &apos;work&apos; that they are doing is about making Chromium&apos;s internals ready to provide information required and patch/refactor WebInspector to allow async operation in respective areas.

Before I dive into splitting InspectorController, I would like to make sure that they are not blocked with what I am doing. As I explained above, our experimental agents are outside WebCore (we needed those to make this thing running out of process and not to clash with Dmitry&apos;s effort). But they are missing some information. In particular, Yury is being blocked with the XmlHttp data absence and I am trying to fix this. That is why I need it, but I am sure that having it exposed to loader client is anyway a good thing.

Now about our &apos;experimental&apos; work: it is entirely open, in Chromium repository, located in webkit/glue/devtools folder. It is really not much - a thousand lines of code that mimic InspectorController and establish an RPC-alike interaction with WebInspector. That is something we are using as a proof of concept when bringing code into WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118668</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-04-24 10:20:32 -0700</bug_when>
    <thetext>So, to clarify, this is not something that is need for unforking chromium?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118823</commentid>
    <comment_count>8</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-04-25 02:02:10 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; So, to clarify, this is not something that is need for unforking chromium?
&gt; 

Sorry, I thought I made it clear. I do confirm, this is not for unforking. This is rather for not forking. Apart from the Chromium business, do you think this change makes sense?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119000</commentid>
    <comment_count>9</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-04-27 12:14:04 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; So, to clarify, this is not something that is need for unforking chromium?
&gt; &gt; 
&gt; 
&gt; Sorry, I thought I made it clear. I do confirm, this is not for unforking. This
&gt; is rather for not forking. Apart from the Chromium business, do you think this
&gt; change makes sense?
&gt; 

Ping.

Note, that I&apos;ve shared a doc/proposal with you (http://docs.google.com/Doc?id=dcf65mvz_0dp6xt4c8) that shows how I think we should approach the InspectorController refactoring. Once this refactoring is done, this change will become obsolete. But as I mentioned before, it will take some time to settle this plan down. In the meanwhile, this change is helpful and does not seem to produce harm (please correct me if I am wrong).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119291</commentid>
    <comment_count>10</comment_count>
      <attachid>29714</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-04-29 10:47:59 -0700</bug_when>
    <thetext>Comment on attachment 29714
patch

+        virtual void dispatchResourceRetrievedByXMLHttpRequest(unsigned long, const WebCore::ScriptString&amp;);

The name for this function does not match other client functions.

Something like this would fit better:

dispatchDidLoadResourceByXMLHttpRequest

+        void resourceRetrievedByXMLHttpRequest(unsigned long identifier, const ScriptString&amp; sourceString);

This should be renamed to something that matches too. Maybe:

didLoadResourceByXMLHttpRequest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119306</commentid>
    <comment_count>11</comment_count>
      <attachid>29887</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-04-29 11:53:00 -0700</bug_when>
    <thetext>Created attachment 29887
patch

Updated after Timothy&apos;s review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119308</commentid>
    <comment_count>12</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-04-29 12:06:49 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 29714 [review])
&gt; +        virtual void dispatchResourceRetrievedByXMLHttpRequest(unsigned long,
&gt; const WebCore::ScriptString&amp;);
&gt; 
&gt; The name for this function does not match other client functions.
&gt; 
&gt; Something like this would fit better:
&gt; 
&gt; dispatchDidLoadResourceByXMLHttpRequest
&gt; 
&gt; +        void resourceRetrievedByXMLHttpRequest(unsigned long identifier, const
&gt; ScriptString&amp; sourceString);
&gt; 
&gt; This should be renamed to something that matches too. Maybe:
&gt; 
&gt; didLoadResourceByXMLHttpRequest
&gt; 

Done. Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119499</commentid>
    <comment_count>13</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-04-30 12:06:20 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #10)
&gt; &gt; (From update of attachment 29714 [review] [review])
&gt; &gt; +        virtual void dispatchResourceRetrievedByXMLHttpRequest(unsigned long,
&gt; &gt; const WebCore::ScriptString&amp;);
&gt; &gt; 
&gt; &gt; The name for this function does not match other client functions.
&gt; &gt; 
&gt; &gt; Something like this would fit better:
&gt; &gt; 
&gt; &gt; dispatchDidLoadResourceByXMLHttpRequest
&gt; &gt; 
&gt; &gt; +        void resourceRetrievedByXMLHttpRequest(unsigned long identifier, const
&gt; &gt; ScriptString&amp; sourceString);
&gt; &gt; 
&gt; &gt; This should be renamed to something that matches too. Maybe:
&gt; &gt; 
&gt; &gt; didLoadResourceByXMLHttpRequest
&gt; &gt; 
&gt; 
&gt; Done. Thanks for the review!
&gt; 

Ping. Could you give it another look please?

Thanks
Pavel</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119503</commentid>
    <comment_count>14</comment_count>
      <attachid>29887</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-04-30 12:22:21 -0700</bug_when>
    <thetext>Comment on attachment 29887
patch

Please add the bug URL to the ChangeLog next time. Add before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119579</commentid>
    <comment_count>15</comment_count>
      <attachid>29937</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-05-01 02:35:33 -0700</bug_when>
    <thetext>Created attachment 29937
patch

Added bug url to the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119580</commentid>
    <comment_count>16</comment_count>
      <attachid>29938</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-05-01 03:12:54 -0700</bug_when>
    <thetext>Created attachment 29938
patch

Removed space that squeezed into the method declaration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119586</commentid>
    <comment_count>17</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-05-01 08:25:51 -0700</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/43113.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29714</attachid>
            <date>2009-04-23 14:12:30 -0700</date>
            <delta_ts>2009-04-29 11:53:00 -0700</delta_ts>
            <desc>patch</desc>
            <filename>xmlhttp.txt</filename>
            <type>text/plain</type>
            <size>19077</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Y2VlZDdkNi4uODUwN2VhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAwOS0wNC0yMyAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgYSBGcmFtZUxvYWRlckNsaWVudCBjYWxsYmFjayBmb3Ig
dGhlIFJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdC4KKyAgICAgICAgVGhpcyBpcyB0
aGUgb25seSByZXNvdXJjZS1yZWxhdGVkIGluZm9ybWF0aW9uIHRoYXQgaXMgYXZhaWxhYmxlIGlu
IEluc3BlY3RvckNvbnRyb2xsZXIKKyAgICAgICAgYW5kIGlzIG1pc3NpbmcgaW4gdGhlIEZyYW1l
TG9hZGVyQ2xpZW50LgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOiBNYWRlIFNjcmlwdFNvdXJjZSBwcml2YXRlLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6IE1hZGUgYSBjYWxsIHRvIGEgY2xpZW50IGFsb25nIHdpdGggdGhlIGNhbGwgdG8gdGhlIElu
c3BlY3RvckNvbnRyb2xsZXIuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVzb3VyY2VS
ZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRz
Lmg6IEFkZGVkIHN0dWIgaW1wbGVtZW50YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpFbXB0eUZy
YW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaFJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVz
dCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDogQ2FsbCBpbml0aWF0aW5nIGRp
c3BhdGNoZXMuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVzb3VyY2VSZXRyaWV2
ZWRCeVhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuaDoKKyAg
ICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaDoKKwogMjAwOS0wNC0yMiAgQnJhZHkg
RWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVq
IFN0YWNob3dpYWsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggYWVjNjg5Ni4uNWJlN2FmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTYyNiw3ICs2MjYsNyBAQAogCQk0MTZFNzVCRjBFREY4RkQ3MDAzNjBFMUQg
LyogU2NyaXB0Q2FsbFN0YWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxNkU3NUJEMEVERjhGRDcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsU3RhY2su
Y3BwICovOyB9OwogCQk0MTZFNzVDQjBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1l
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZFNzVD
OTBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmggKi87IH07CiAJCTQxNkU3NUND
MEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTc1Q0EwRURGOTBDNzAwMzYwRTFEIC8q
IFNjcmlwdENhbGxGcmFtZS5jcHAgKi87IH07Ci0JCTQxNkY0NUYwMEVEN0IzMTEwMDgyMTVCNiAv
KiBTY3JpcHRTdHJpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxNkY0NUVGMEVEN0IzMTEwMDgyMTVCNiAvKiBTY3JpcHRTdHJpbmcuaCAqLzsgfTsK
KwkJNDE2RjQ1RjAwRUQ3QjMxMTAwODIxNUI2IC8qIFNjcmlwdFN0cmluZy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RjQ1RUYwRUQ3QjMxMTAwODIx
NUI2IC8qIFNjcmlwdFN0cmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxOTUzNjUxMEY2ODIyMjQwMEQwQzY3OSAvKiBTY3JpcHRPYmplY3RR
dWFyYW50aW5lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTk1MzY1MDBGNjgyMjI0MDBEMEM2NzkgLyogU2NyaXB0T2JqZWN0UXVhcmFudGluZS5oICov
OyB9OwogCQk0MUM3NjBCMTBFREUwM0QzMDBDMTY1NUYgLyogU2NyaXB0U3RhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQzc2MEIwMEVERTAzRDMw
MEMxNjU1RiAvKiBTY3JpcHRTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTQxRDAxNUNBMEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlw
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMDE1
QzgwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggKi87IH07CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXgg
M2RmZjZhNC4uZWE5NmRiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisr
KyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDI3Niw2ICs0Mjc2LDExIEBAIHZvaWQg
RG9jdW1lbnQ6OnJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdCh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0CiB7CiAgICAgaWYgKHBhZ2UoKSkKICAgICAgICAgcGFnZSgpLT5p
bnNwZWN0b3JDb250cm9sbGVyKCktPnJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdChp
ZGVudGlmaWVyLCBzb3VyY2VTdHJpbmcpOworICAgIEZyYW1lKiBmcmFtZSA9IHRoaXMtPmZyYW1l
KCk7CisgICAgaWYgKGZyYW1lKSB7CisgICAgICAgIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWRlciA9
IGZyYW1lLT5sb2FkZXIoKTsKKyAgICAgICAgZnJhbWVMb2FkZXItPnJlc291cmNlUmV0cmlldmVk
QnlYTUxIdHRwUmVxdWVzdChpZGVudGlmaWVyLCBzb3VyY2VTdHJpbmcpOworICAgIH0KIH0KIAog
dm9pZCBEb2N1bWVudDo6c2NyaXB0SW1wb3J0ZWQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggYTdiNmVi
Zi4uOGRhOTBmNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTE2Miw2ICsxNjIsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmluaXNoTG9hZGluZyhEb2N1bWVudExv
YWRlciosIHVuc2lnbmVkIGxvbmcpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZh
aWxMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VF
cnJvciYpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaERpZExvYWRSZXNvdXJjZUZyb21N
ZW1vcnlDYWNoZShEb2N1bWVudExvYWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmLCBpbnQpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCB2
b2lkIGRpc3BhdGNoUmVzb3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxv
bmcsIGNvbnN0IFNjcmlwdFN0cmluZyYpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
RGlkSGFuZGxlT25sb2FkRXZlbnRzKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlk
UmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKCkgeyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKaW5kZXggZDIxZmUyYy4uZTMxY2QyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApA
QCAtODEsNiArODEsNyBAQAogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUg
IlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCisjaW5j
bHVkZSAiU2NyaXB0U3RyaW5nLmgiCiAjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRl
ICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNlZ21lbnRlZFN0cmluZy5oIgpAQCAtMzc1
OSw2ICszNzYwLDExIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmRpZEZhaWxUb0xvYWQoUmVzb3VyY2VM
b2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyCiAgICAgICAgIG1fY2xpZW50
LT5kaXNwYXRjaERpZEZhaWxMb2FkaW5nKGxvYWRlci0+ZG9jdW1lbnRMb2FkZXIoKSwgbG9hZGVy
LT5pZGVudGlmaWVyKCksIGVycm9yKTsKIH0KIAordm9pZCBGcmFtZUxvYWRlcjo6cmVzb3VyY2VS
ZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3Qg
U2NyaXB0U3RyaW5nJiBzb3VyY2VTdHJpbmcpCit7CisgICAgbV9jbGllbnQtPmRpc3BhdGNoUmVz
b3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0KGlkZW50aWZpZXIsIHNvdXJjZVN0cmluZyk7
Cit9CisKIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgRnJhbWVMb2FkZXI6Om9yaWdpbmFsUmVxdWVz
dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGFjdGl2ZURvY3VtZW50TG9hZGVyKCktPm9yaWdpbmFs
UmVxdWVzdENvcHkoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgg
Yi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCmluZGV4IGFhYjIxMTUuLmY4YjNkNTMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuaApAQCAtNjIsNiArNjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgUmVzb3VyY2VMb2FkZXI7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKICAg
ICBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOworICAgIGNsYXNzIFNjcmlwdFN0cmluZzsKICAgICBj
bGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBTZWN1cml0eU9yaWdpbjsKICAgICBjbGFzcyBT
aGFyZWRCdWZmZXI7CkBAIC0xODIsNiArMTgzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKFJlc291cmNlTG9hZGVyKiwgY29uc3QgY2hhciosIGlu
dCwgaW50IGxlbmd0aFJlY2VpdmVkKTsKICAgICAgICAgdm9pZCBkaWRGaW5pc2hMb2FkKFJlc291
cmNlTG9hZGVyKik7CiAgICAgICAgIHZvaWQgZGlkRmFpbFRvTG9hZChSZXNvdXJjZUxvYWRlcios
IGNvbnN0IFJlc291cmNlRXJyb3ImKTsKKyAgICAgICAgdm9pZCByZXNvdXJjZVJldHJpZXZlZEJ5
WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTY3JpcHRTdHJp
bmcmIHNvdXJjZVN0cmluZyk7CiAgICAgICAgIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgb3JpZ2lu
YWxSZXF1ZXN0KCkgY29uc3Q7CiAgICAgICAgIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgaW5pdGlh
bFJlcXVlc3QoKSBjb25zdDsKICAgICAgICAgdm9pZCByZWNlaXZlZE1haW5SZXNvdXJjZUVycm9y
KGNvbnN0IFJlc291cmNlRXJyb3ImLCBib29sIGlzQ29tcGxldGUpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyQ2xpZW50LmgKaW5kZXggYmU1NTAxZC4uNjIwOWExNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ckNsaWVudC5oCkBAIC02NCw2ICs2NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBSZXNvdXJjZUxvYWRlcjsKICAgICBzdHJ1Y3QgUmVzb3VyY2VSZXF1ZXN0OwogICAgIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CisgICAgY2xhc3MgU2NyaXB0U3RyaW5nOwogICAgIGNsYXNzIFNo
YXJlZEJ1ZmZlcjsKICAgICBjbGFzcyBTdWJzdGl0dXRlRGF0YTsKICAgICBjbGFzcyBTdHJpbmc7
CkBAIC0xMDUsNiArMTA2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFs
IHZvaWQgZGlzcGF0Y2hEaWRGaW5pc2hMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZh
aWxMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dCBSZXNvdXJjZUVycm9yJikgPSAwOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hEaWRM
b2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgaW50IGxlbmd0aCkgPSAwOworICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hSZXNvdXJjZVJldHJpZXZlZEJ5WE1MSHR0cFJlcXVl
c3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTY3JpcHRTdHJpbmcmKSA9IDA7CiAK
ICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkSGFuZGxlT25sb2FkRXZlbnRzKCkgPSAw
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RG
b3JQcm92aXNpb25hbExvYWQoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxv
ZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDFiOWQ4ZGMuLjhmYzA0NGIgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMDktMDQtMjMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgRnJhbWVMb2FkZXJDbGllbnQgY2FsbGJhY2sgZm9yIHRoZSBSZXNvdXJjZVJldHJpZXZl
ZEJ5WE1MSHR0cFJlcXVlc3QKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3Bh
dGNoUmVzb3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oOgorCiAyMDA5LTA0LTIxICBYYW4gTG9wZXog
IDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9u
aGEuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRH
dGsuY3BwCmluZGV4IDhmYmJkYTUuLjJlOTVkNDYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCisrKyBiL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCkBAIC04MjIsNiArODIyLDExIEBA
IGJvb2wgRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkTG9hZFJlc291cmNlRnJvbU1lbW9y
eUNhY2hlKERvY3VtZW50TG9hZGVyKiwKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK3ZvaWQgRnJh
bWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoUmVzb3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0
KHVuc2lnbmVkIGxvbmcsIGNvbnN0IFNjcmlwdFN0cmluZyYpCit7CisgICAgbm90SW1wbGVtZW50
ZWQoKTsKK30KKwogdm9pZCBGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRGYWlsUHJvdmlz
aW9uYWxMb2FkKGNvbnN0IFJlc291cmNlRXJyb3ImKQogewogICAgIGdfc2lnbmFsX2VtaXRfYnlf
bmFtZShtX2ZyYW1lLCAibG9hZC1kb25lIiwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oIGIvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oCmluZGV4IGNiNDc4NmQuLjkxYjk0MzUg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRH
dGsuaAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3Rr
LmgKQEAgLTY5LDYgKzY5LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaERpZEZpbmlzaExvYWRpbmcoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCB1
bnNpZ25lZCBsb25nICBpZGVudGlmaWVyKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
RGlkRmFpbExvYWRpbmcoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nICBp
ZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBkaXNwYXRjaERpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShXZWJDb3JlOjpE
b2N1bWVudExvYWRlciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBpbnQgbGVuZ3RoKTsKKyAgICAgICAgdmlydHVhbCB2
b2lkIGRpc3BhdGNoUmVzb3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxv
bmcsIGNvbnN0IFdlYkNvcmU6OlNjcmlwdFN0cmluZyYpOwogCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBkaXNwYXRjaERpZEhhbmRsZU9ubG9hZEV2ZW50cygpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlzcGF0Y2hEaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWQoKTsKZGlm
ZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5k
ZXggY2QwOTc5NC4uMWI4NDQ1OCAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAwOS0wNC0yMyAgUGF2
ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBGcmFtZUxvYWRlckNsaWVudCBjYWxs
YmFjayBmb3IgdGhlIFJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdAorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAgKFdlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpkaXNwYXRjaFJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdCk6CisK
IDIwMDktMDQtMjIgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaCBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCA4MjNlMGE0Li5mZjRhMGMwIDEwMDY0NAotLS0g
YS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCkBAIC0xMjIs
NiArMTIyLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcmV2ZXJ0VG9Qcm92aXNpb25h
bFN0YXRlKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKik7CiAgICAgdmlydHVhbCB2b2lkIHNldE1h
aW5Eb2N1bWVudEVycm9yKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciYpOwogICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaERpZExvYWRSZXNvdXJj
ZUZyb21NZW1vcnlDYWNoZShXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBpbnQg
bGVuZ3RoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hSZXNvdXJjZVJldHJpZXZlZEJ5WE1M
SHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTY3Jp
cHRTdHJpbmcmKTsKIAogICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2hhbmdlRXN0aW1hdGVkUHJvZ3Jl
c3MoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlRXN0aW1hdGVkUHJvZ3Jlc3MoKTsKZGlm
ZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
bW0gYi9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCmlu
ZGV4IDBiZGMzYjUuLjlkZTdhZGIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0KKysrIGIvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQpAQCAtMTA0LDYgKzEwNCw3IEBACiAjaW1wb3J0IDxX
ZWJDb3JlL1Jlc291cmNlTG9hZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVz
dC5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRDb250cm9sbGVyLmg+CisjaW1wb3J0IDxXZWJD
b3JlL1NjcmlwdFN0cmluZy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KICNp
bXBvcnQgPFdlYkNvcmUvV2ViQ29yZU9iakNFeHRyYXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2lk
Z2V0Lmg+CkBAIC0zMzUsNiArMzM2LDEwIEBAIGJvb2wgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRp
c3BhdGNoRGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKERvY3VtZW50TG9hZGVyCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoUmVz
b3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwg
Y29uc3QgU2NyaXB0U3RyaW5nJiBzb3VyY2VTdHJpbmcpCit7Cit9CisKIHZvaWQgV2ViRnJhbWVM
b2FkZXJDbGllbnQ6OmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0KQogewogICAgIFdlYlZpZXcgKndlYlZpZXcgPSBnZXRXZWJWaWV3KG1fd2Vi
RnJhbWUuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9x
dC9DaGFuZ2VMb2cKaW5kZXggZjhmNmYwOS4uOGEyZjIyZiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0
L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MDktMDQtMjMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgRnJhbWVMb2Fk
ZXJDbGllbnQgY2FsbGJhY2sgZm9yIHRoZSBSZXNvdXJjZVJldHJpZXZlZEJ5WE1MSHR0cFJlcXVl
c3QKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlzcGF0Y2hSZXNvdXJjZVJl
dHJpZXZlZEJ5WE1MSHR0cFJlcXVlc3QpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50UXQuaDoKKwogMjAwOS0wNC0yMyAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5h
cm5lLnZlc3Rib0Bub2tpYS5jb20+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgQXJpeWEg
SGlkYXlhdC4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudFF0LmNwcCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dFF0LmNwcAppbmRleCBjYmU5Njk2Li5iMjYxMDk5IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaW5j
bHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxl
LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJTY3JpcHRTdHJpbmcuaCIKIAog
I2luY2x1ZGUgInF3ZWJwYWdlLmgiCiAjaW5jbHVkZSAicXdlYmZyYW1lLmgiCkBAIC04NTEsNiAr
ODUyLDExIEBAIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlzcGF0Y2hEaWRMb2FkUmVzb3Vy
Y2VGcm9tTWVtb3J5Q2FjaGUoV2ViQ29yZTo6RG9jdW1lCiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Cit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OmRpc3BhdGNoUmVzb3VyY2VSZXRyaWV2ZWRCeVhN
TEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxvbmcsIGNvbnN0IFdlYkNvcmU6OlNjcmlwdFN0cmluZyYp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0
OjpkaXNwYXRjaERpZEZhaWxQcm92aXNpb25hbExvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYpCiB7CiAgICAgaWYgKGR1bXBGcmFtZUxvYWRlckNhbGxiYWNrcykKZGlmZiAtLWdpdCBh
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmggYi9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5oCmluZGV4IGM0OWJiNjIuLjAz
ODUzMGYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudFF0LmgKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
UXQuaApAQCAtOTgsNiArOTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBkaXNwYXRjaERpZEZpbmlzaExvYWRpbmcoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIq
LCB1bnNpZ25lZCBsb25nKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmFpbExv
YWRpbmcoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nLCBjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZUVycm9yJik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaERpZExv
YWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UmLCBpbnQpOworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hSZXNvdXJjZVJldHJpZXZl
ZEJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJDb3Jl
OjpTY3JpcHRTdHJpbmcmIHNvdXJjZVN0cmluZyk7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoRGlkSGFuZGxlT25sb2FkRXZlbnRzKCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaERpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZCgpOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA0
NDQ0M2VjLi43YTYxMzFjIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDA5LTA0LTIzICBQYXZlbCBG
ZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIEZyYW1lTG9hZGVyQ2xpZW50IGNhbGxiYWNr
IGZvciB0aGUgUmVzb3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0CisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJGcmFt
ZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hSZXNvdXJjZVJldHJpZXZlZEJ5WE1MSHR0cFJlcXVlc3Qp
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lmg6CisKIDIw
MDktMDQtMjIgIEFkYSBDaGFuICA8YWRhY2hhbkBhcHBsZS5jb20+CiAKICAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzUxMTUyOTg+IERvbid0IGdldCBlcnJvciBtc2cgd2hlbiBkb3dubG9hZCBpcyBp
bnRlcnJ1cHRlZCBhbmQgY2Fubm90IHJlc3VtZSBkdWUgdG8gc2VydmVyIHVuYXZhaWxhYmlsaXR5
CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmNwcCBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwCmluZGV4IDQ5ODEyY2IuLjc0YmE3MGUgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC02NCw2ICs2NCw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9QbHVnaW5WaWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJQYXJ0
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhhbmRsZS5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvU2NyaXB0U3RyaW5nLmg+CiAjcHJhZ21hIHdhcm5pbmcocG9wKQogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKQEAgLTIyNSw2ICsyMjYsMTAgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVu
dDo6ZGlzcGF0Y2hEaWRGYWlsTG9hZGluZyhEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpZ24K
ICAgICByZXNvdXJjZUxvYWREZWxlZ2F0ZS0+ZGlkRmFpbExvYWRpbmdXaXRoRXJyb3Iod2ViVmll
dywgaWRlbnRpZmllciwgd2ViRXJyb3IuZ2V0KCksIGdldFdlYkRhdGFTb3VyY2UobG9hZGVyKSk7
CiB9CiAKK3ZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoUmVzb3VyY2VSZXRyaWV2
ZWRCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxvbmcsIGNvbnN0IFNjcmlwdFN0cmluZyYpCit7
Cit9CisKIGJvb2wgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnNob3VsZENhY2hlUmVzcG9uc2UoRG9j
dW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwgY29uc3Qg
dW5zaWduZWQgbG9uZyBsb25nIGxlbmd0aCkKIHsKICAgICBXZWJWaWV3KiB3ZWJWaWV3ID0gbV93
ZWJGcmFtZS0+d2ViVmlldygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5oIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5oCmluZGV4IGY2Mzc1MTMuLjkxZjc4NGUgMTAwNjQ0Ci0tLSBhL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJL
aXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTU2LDYgKzU2
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZFJlY2VpdmVDb250ZW50
TGVuZ3RoKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVy
LCBpbnQgbGVuZ3RoUmVjZWl2ZWQpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpbmlz
aExvYWRpbmcoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZhaWxMb2FkaW5nKFdlYkNvcmU6OkRv
Y3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yJik7CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoUmVzb3VyY2VSZXRyaWV2
ZWRCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgV2ViQ29y
ZTo6U2NyaXB0U3RyaW5nJik7CiAgICAgdmlydHVhbCBib29sIHNob3VsZENhY2hlUmVzcG9uc2Uo
V2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1
bnNpZ25lZCBsb25nIGxvbmcgbGVuZ3RoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERp
ZEhhbmRsZU9ubG9hZEV2ZW50cygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4L0NoYW5nZUxvZyBi
L1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXggZTRmNWNjZi4uNjM0ZDRmMiAxMDA2NDQKLS0tIGEv
V2ViS2l0L3d4L0NoYW5nZUxvZworKysgYi9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMDktMDQtMjMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEg
RnJhbWVMb2FkZXJDbGllbnQgY2FsbGJhY2sgZm9yIHRoZSBSZXNvdXJjZVJldHJpZXZlZEJ5WE1M
SHR0cFJlcXVlc3QKKworICAgICAgICAqIFdlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRX
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFd4OjpkaXNwYXRjaFJl
c291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdCk6CisgICAgICAgICogV2ViS2l0U3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudFd4Lmg6CisKIDIwMDktMDQtMTUgIFJvYmluIER1bm4gIDxyb2Jp
bkBhbGxkdW5uLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZXZpbiBPbGxpdmllci4KZGlm
ZiAtLWdpdCBhL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guY3Bw
IGIvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5jcHAKaW5kZXgg
NjYwNjU0My4uMDBkMTg5ZSAxMDA2NDQKLS0tIGEvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRXeC5jcHAKKysrIGIvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRXeC5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZUVy
cm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNjcmlwdENv
bnRyb2xsZXIuaCIKKyNpbmNsdWRlICJTY3JpcHRTdHJpbmcuaCIKIAogI2luY2x1ZGUgPHN0ZGlv
Lmg+CiAKQEAgLTY2NSw2ICs2NjYsMTEgQEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudFd4OjpkaXNw
YXRjaERpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShEb2N1bWVudExvYWRlcioKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKK3ZvaWQgRnJhbWVMb2FkZXJDbGllbnRXeDo6ZGlzcGF0Y2hSZXNv
dXJjZVJldHJpZXZlZEJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZywgY29uc3QgU2NyaXB0
U3RyaW5nJikKK3sKKyAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBGcmFtZUxvYWRlckNs
aWVudFd4OjpkaXNwYXRjaERpZEZhaWxQcm92aXNpb25hbExvYWQoY29uc3QgUmVzb3VyY2VFcnJv
ciYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93eC9XZWJL
aXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guaCBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50V3guaAppbmRleCA0M2IzYThmLi5mMzUzM2Q2IDEwMDY0NAotLS0g
YS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmgKKysrIGIvV2Vi
S2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5oCkBAIC0xNzIsOCArMTcy
LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hE
aWRSZWNlaXZlQ29udGVudExlbmd0aChEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcsIGlu
dCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpbmlzaExvYWRpbmcoRG9jdW1l
bnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
RGlkRmFpbExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNv
dXJjZUVycm9yJik7Ci0KICAgICAgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRGlkTG9hZFJlc291
cmNlRnJvbU1lbW9yeUNhY2hlKERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGludCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBk
aXNwYXRjaFJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdCh1bnNpZ25lZCBsb25nLCBj
b25zdCBTY3JpcHRTdHJpbmcmKTsKKwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRG
YWlsUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICAgICAgdmlydHVh
bCB2b2lkIGRpc3BhdGNoRGlkRmFpbExvYWQoY29uc3QgUmVzb3VyY2VFcnJvciYpOwogICAgICAg
ICB2aXJ0dWFsIEZyYW1lKiBkaXNwYXRjaENyZWF0ZVBhZ2UoKTsK
</data>
<flag name="review"
          id="14855"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29887</attachid>
            <date>2009-04-29 11:53:00 -0700</date>
            <delta_ts>2009-05-01 02:35:33 -0700</delta_ts>
            <desc>patch</desc>
            <filename>xml_http_2.txt</filename>
            <type>text/plain</type>
            <size>19176</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzkyN2FmYy4uZWE1MDJkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAwOS0wNC0yMyAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgYSBGcmFtZUxvYWRlckNsaWVudCBjYWxsYmFjayBmb3Ig
dGhlIFJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdC4KKyAgICAgICAgVGhpcyBpcyB0
aGUgb25seSByZXNvdXJjZS1yZWxhdGVkIGluZm9ybWF0aW9uIHRoYXQgaXMgYXZhaWxhYmxlIGlu
IEluc3BlY3RvckNvbnRyb2xsZXIKKyAgICAgICAgYW5kIGlzIG1pc3NpbmcgaW4gdGhlIEZyYW1l
TG9hZGVyQ2xpZW50LgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOiBNYWRlIFNjcmlwdFNvdXJjZSBwcml2YXRlLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6IE1hZGUgYSBjYWxsIHRvIGEgY2xpZW50IGFsb25nIHdpdGggdGhlIGNhbGwgdG8gdGhlIElu
c3BlY3RvckNvbnRyb2xsZXIuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVzb3VyY2VS
ZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRz
Lmg6IEFkZGVkIHN0dWIgaW1wbGVtZW50YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpFbXB0eUZy
YW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3Qp
OgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6IENhbGwgaW5pdGlhdGluZyBkaXNw
YXRjaGVzLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnJlc291cmNlUmV0cmlldmVk
QnlYTUxIdHRwUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAg
ICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6CisKIDIwMDktMDQtMjkgIFl1cnkgU2Vt
aWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2ZWFsIGN1cnJlbnQg
ZXhlY3V0aW9uIGxpbmUgb25jZSBTb3VyY2VGcmFtZSBjb250ZW50IGlzIGxvYWRlZC4gCmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDM5ZjIyMjIuLjdlYmI1
NGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02Mjks
NyArNjI5LDcgQEAKIAkJNDE2RTc1QkYwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFj
ay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZF
NzVCRDBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLzsgfTsKIAkJNDE2
RTc1Q0IwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTc1QzkwRURGOTBDNzAwMzYwRTFE
IC8qIFNjcmlwdENhbGxGcmFtZS5oICovOyB9OwogCQk0MTZFNzVDQzBFREY5MEM3MDAzNjBFMUQg
LyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxNkU3NUNBMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUu
Y3BwICovOyB9OwotCQk0MTZGNDVGMDBFRDdCMzExMDA4MjE1QjYgLyogU2NyaXB0U3RyaW5nLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZGNDVFRjBF
RDdCMzExMDA4MjE1QjYgLyogU2NyaXB0U3RyaW5nLmggKi87IH07CisJCTQxNkY0NUYwMEVEN0Iz
MTEwMDgyMTVCNiAvKiBTY3JpcHRTdHJpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkY0NUVGMEVEN0IzMTEwMDgyMTVCNiAvKiBTY3JpcHRTdHJp
bmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
MTk1MzY1MTBGNjgyMjI0MDBEMEM2NzkgLyogU2NyaXB0T2JqZWN0UXVhcmFudGluZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5NTM2NTAwRjY4MjIy
NDAwRDBDNjc5IC8qIFNjcmlwdE9iamVjdFF1YXJhbnRpbmUuaCAqLzsgfTsKIAkJNDFDNzYwQjEw
RURFMDNEMzAwQzE2NTVGIC8qIFNjcmlwdFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUM3NjBCMDBFREUwM0QzMDBDMTY1NUYgLyogU2NyaXB0
U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0MUQwMTVDQTBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDAxNUM4MEY0QjVDNzEwMDRBNjYy
RiAvKiBDb250ZW50VHlwZS5oICovOyB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDBhNjU1N2EuLjljNmI4MWYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKQEAgLTQzMDIsNiArNDMwMiwxMSBAQCB2b2lkIERvY3VtZW50OjpyZXNvdXJj
ZVJldHJpZXZlZEJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dAogewogICAgIGlmIChwYWdlKCkpCiAgICAgICAgIHBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxl
cigpLT5yZXNvdXJjZVJldHJpZXZlZEJ5WE1MSHR0cFJlcXVlc3QoaWRlbnRpZmllciwgc291cmNl
U3RyaW5nKTsKKyAgICBGcmFtZSogZnJhbWUgPSB0aGlzLT5mcmFtZSgpOworICAgIGlmIChmcmFt
ZSkgeworICAgICAgICBGcmFtZUxvYWRlciogZnJhbWVMb2FkZXIgPSBmcmFtZS0+bG9hZGVyKCk7
CisgICAgICAgIGZyYW1lTG9hZGVyLT5kaWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0KGlk
ZW50aWZpZXIsIHNvdXJjZVN0cmluZyk7CisgICAgfQogfQogCiB2b2lkIERvY3VtZW50OjpzY3Jp
cHRJbXBvcnRlZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
U3RyaW5nKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA0ZjUwZjBiLi40YWRhZjc2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaApAQCAtMTYyLDYgKzE2Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgZGlzcGF0Y2hEaWRGaW5pc2hMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9u
ZykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmFpbExvYWRpbmcoRG9jdW1lbnRM
b2FkZXIqLCB1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZUVycm9yJikgeyB9CiAgICAgdmly
dHVhbCBib29sIGRpc3BhdGNoRGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKERvY3VtZW50
TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYs
IGludCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMb2Fk
UmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxvbmcsIGNvbnN0IFNjcmlwdFN0cmlu
ZyYpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkSGFuZGxlT25sb2FkRXZlbnRz
KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0
Rm9yUHJvdmlzaW9uYWxMb2FkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggZTZlNDNm
ZS4uNDc4ZjFmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisr
KyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtODEsNiArODEsNyBAQAogI2lu
Y2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCisjaW5jbHVkZSAiU2NyaXB0U3RyaW5nLmgi
CiAjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgog
I2luY2x1ZGUgIlNlZ21lbnRlZFN0cmluZy5oIgpAQCAtMzc2MCw2ICszNzYxLDExIEBAIHZvaWQg
RnJhbWVMb2FkZXI6OmRpZEZhaWxUb0xvYWQoUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3Qg
UmVzb3VyY2VFcnJvciYgZXJyCiAgICAgICAgIG1fY2xpZW50LT5kaXNwYXRjaERpZEZhaWxMb2Fk
aW5nKGxvYWRlci0+ZG9jdW1lbnRMb2FkZXIoKSwgbG9hZGVyLT5pZGVudGlmaWVyKCksIGVycm9y
KTsKIH0KIAordm9pZCBGcmFtZUxvYWRlcjo6ZGlkTG9hZFJlc291cmNlQnlYTUxIdHRwUmVxdWVz
dCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFNjcmlwdFN0cmluZyYgc291cmNlU3Ry
aW5nKQoreworICAgIG1fY2xpZW50LT5kaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJl
cXVlc3QoaWRlbnRpZmllciwgc291cmNlU3RyaW5nKTsKK30KKwogY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiBGcmFtZUxvYWRlcjo6b3JpZ2luYWxSZXF1ZXN0KCkgY29uc3QKIHsKICAgICByZXR1cm4g
YWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+b3JpZ2luYWxSZXF1ZXN0Q29weSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmgKaW5kZXggYWFiMjExNS4uODEwODMxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC02Miw2
ICs2Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZUxvYWRlcjsK
ICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogICAgIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7
CisgICAgY2xhc3MgU2NyaXB0U3RyaW5nOwogICAgIGNsYXNzIFNjcmlwdFZhbHVlOwogICAgIGNs
YXNzIFNlY3VyaXR5T3JpZ2luOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKQEAgLTE4Miw2ICsx
ODMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEo
UmVzb3VyY2VMb2FkZXIqLCBjb25zdCBjaGFyKiwgaW50LCBpbnQgbGVuZ3RoUmVjZWl2ZWQpOwog
ICAgICAgICB2b2lkIGRpZEZpbmlzaExvYWQoUmVzb3VyY2VMb2FkZXIqKTsKICAgICAgICAgdm9p
ZCBkaWRGYWlsVG9Mb2FkKFJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VFcnJvciYpOwor
ICAgICAgICB2b2lkIGRpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBTY3JpcHRTdHJpbmcmIHNvdXJjZVN0cmluZyk7CiAgICAgICAg
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxSZXF1ZXN0KCkgY29uc3Q7CiAgICAgICAg
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgaW5pdGlhbFJlcXVlc3QoKSBjb25zdDsKICAgICAgICAg
dm9pZCByZWNlaXZlZE1haW5SZXNvdXJjZUVycm9yKGNvbnN0IFJlc291cmNlRXJyb3ImLCBib29s
IGlzQ29tcGxldGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGll
bnQuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggYmU1NTAxZC4u
ZGRkOGI2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCkBAIC02NCw2ICs2NCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKICAgICBzdHJ1
Y3QgUmVzb3VyY2VSZXF1ZXN0OwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CisgICAgY2xh
c3MgU2NyaXB0U3RyaW5nOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKICAgICBjbGFzcyBTdWJz
dGl0dXRlRGF0YTsKICAgICBjbGFzcyBTdHJpbmc7CkBAIC0xMDUsNiArMTA2LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGaW5pc2hMb2Fk
aW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKSA9IDA7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZhaWxMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwg
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJikgPSAwOwogICAg
ICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUo
RG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiwgaW50IGxlbmd0aCkgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hE
aWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0ICh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIs
IGNvbnN0IFNjcmlwdFN0cmluZyYpID0gMDsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0
Y2hEaWRIYW5kbGVPbmxvYWRFdmVudHMoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaERpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZCgpID0gMDsKZGlm
ZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5k
ZXggODQzMjhmYS4uOTY1MTZkMiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAwOS0wNC0yMyAgUGF2
ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBGcmFtZUxvYWRlckNsaWVudCBjYWxs
YmFjayBmb3IgdGhlIFJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdAorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBS
ZXF1ZXN0KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5o
OgorCiAyMDA5LTA0LTI4ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFA
Y29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFVwZGF0ZSBndGstZG9jIGNv
bnRyb2wgYW5kIGJhc2Ugc2dtbCBmaWxlcyBmb3IgMS4xLjYuCmRpZmYgLS1naXQgYS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCmluZGV4IGIxMTJlZTMuLjNl
OTBhNDkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJD
bGllbnRHdGsuY3BwCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJD
bGllbnRHdGsuY3BwCkBAIC04MjIsNiArODIyLDExIEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnQ6
OmRpc3BhdGNoRGlkRmFpbExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlk
CiB9CiAKIGJvb2wgRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkTG9hZFJlc291cmNlRnJv
bU1lbW9yeUNhY2hlKERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYsIGludCBsZW5ndGgpCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50
OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZywg
Y29uc3QgU2NyaXB0U3RyaW5nJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB7CiAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmggYi9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmgKaW5kZXggY2I0Nzg2ZC4uZjg1
YzYzYSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEd0ay5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRHdGsuaApAQCAtNjksNiArNjksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAgICAgdmly
dHVhbCB2b2lkIGRpc3BhdGNoRGlkRmluaXNoTG9hZGluZyhXZWJDb3JlOjpEb2N1bWVudExvYWRl
ciosIHVuc2lnbmVkIGxvbmcgIGlkZW50aWZpZXIpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlz
cGF0Y2hEaWRGYWlsTG9hZGluZyhXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxv
bmcgIGlkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKICAgICAgICAg
dmlydHVhbCBib29sIGRpc3BhdGNoRGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKFdlYkNv
cmU6OkRvY3VtZW50TG9hZGVyKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGludCBsZW5ndGgpOworICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVk
IGxvbmcsIGNvbnN0IFdlYkNvcmU6OlNjcmlwdFN0cmluZyYpOwogCiAgICAgICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaERpZEhhbmRsZU9ubG9hZEV2ZW50cygpOwogICAgICAgICB2aXJ0dWFsIHZv
aWQgZGlzcGF0Y2hEaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWQoKTsK
ZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
aW5kZXggNzU1MDYxNS4uYzBiMDkyMCAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAwOS0wNC0yMyAg
UGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBGcmFtZUxvYWRlckNsaWVudCBj
YWxsYmFjayBmb3IgdGhlIFJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdAorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAgKFdlYkZyYW1l
TG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3QpOgor
CiAyMDA5LTA0LTI4ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUnViYmVyIHN0YW1wZWQgYnkgQmV0aCBEYWtpbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaCBiL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCA4MjNlMGE0Li44ODRkZjMxIDEw
MDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmgKKysrIGIvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5o
CkBAIC0xMjIsNiArMTIyLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcmV2ZXJ0VG9Q
cm92aXNpb25hbFN0YXRlKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKik7CiAgICAgdmlydHVhbCB2
b2lkIHNldE1haW5Eb2N1bWVudEVycm9yKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwogICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaERpZExv
YWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UmLCBpbnQgbGVuZ3RoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMb2FkUmVzb3Vy
Y2VCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgV2ViQ29y
ZTo6U2NyaXB0U3RyaW5nJik7CiAKICAgICB2aXJ0dWFsIHZvaWQgd2lsbENoYW5nZUVzdGltYXRl
ZFByb2dyZXNzKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUVzdGltYXRlZFByb2dyZXNz
KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50Lm1tIGIvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5tbQppbmRleCAwYmRjM2I1Li41MzE0NzI0IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0KQEAgLTEwNCw2ICsxMDQsNyBAQAogI2lt
cG9ydCA8V2ViQ29yZS9SZXNvdXJjZUxvYWRlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJj
ZVJlcXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0Q29udHJvbGxlci5oPgorI2ltcG9y
dCA8V2ViQ29yZS9TY3JpcHRTdHJpbmcuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVmZmVy
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVPYmpDRXh0cmFzLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1dpZGdldC5oPgpAQCAtMzM1LDYgKzMzNiwxMCBAQCBib29sIFdlYkZyYW1lTG9hZGVyQ2xp
ZW50OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShEb2N1bWVudExvYWRl
cgogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNw
YXRjaERpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlm
aWVyLCBjb25zdCBTY3JpcHRTdHJpbmcmIHNvdXJjZVN0cmluZykKK3sKK30KKwogdm9pZCBXZWJG
cmFtZUxvYWRlckNsaWVudDo6YXNzaWduSWRlbnRpZmllclRvSW5pdGlhbFJlcXVlc3QodW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QpCiB7CiAgICAgV2ViVmlldyAqd2ViVmlldyA9IGdldFdlYlZpZXco
bV93ZWJGcmFtZS5nZXQoKSk7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2Vi
S2l0L3F0L0NoYW5nZUxvZwppbmRleCBkNjg4YjEyLi41M2Q4NTdiIDEwMDY0NAotLS0gYS9XZWJL
aXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAwOS0wNC0yMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBGcmFt
ZUxvYWRlckNsaWVudCBjYWxsYmFjayBmb3IgdGhlIFJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRw
UmVxdWVzdAorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERpZExv
YWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3QpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50UXQuaDoKKwogMjAwOS0wNC0yOSAgQXJpeWEgSGlkYXlhdCAgPGFyaXlh
LmhpZGF5YXRAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5u
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3Bw
CmluZGV4IGNiZTk2OTYuLjI3OTdkOTIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpbmNsdWRlICJS
ZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIlNjcmlwdFN0cmluZy5oIgogCiAjaW5jbHVk
ZSAicXdlYnBhZ2UuaCIKICNpbmNsdWRlICJxd2ViZnJhbWUuaCIKQEAgLTg1MSw2ICs4NTIsMTEg
QEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUZyb21N
ZW1vcnlDYWNoZShXZWJDb3JlOjpEb2N1bWUKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK3ZvaWQg
RnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBSZXF1
ZXN0KHVuc2lnbmVkIGxvbmcsIGNvbnN0IFdlYkNvcmU6OlNjcmlwdFN0cmluZyYpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRj
aERpZEZhaWxQcm92aXNpb25hbExvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpCiB7
CiAgICAgaWYgKGR1bXBGcmFtZUxvYWRlckNhbGxiYWNrcykKZGlmZiAtLWdpdCBhL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmggYi9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5oCmluZGV4IGM0OWJiNjIuLjRkMmRjYmMgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmgK
KysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaApAQCAt
OTgsNiArOTgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBk
aXNwYXRjaERpZEZpbmlzaExvYWRpbmcoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25l
ZCBsb25nKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmFpbExvYWRpbmcoV2Vi
Q29yZTo6RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZUVycm9yJik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaERpZExvYWRSZXNvdXJj
ZUZyb21NZW1vcnlDYWNoZShXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBpbnQp
OworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBS
ZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2NyaXB0U3Ry
aW5nJiBzb3VyY2VTdHJpbmcpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEhh
bmRsZU9ubG9hZEV2ZW50cygpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRSZWNl
aXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWQoKTsKZGlmZiAtLWdpdCBhL1dlYktp
dC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggNDQ0NDNlYy4uNzE5
MmUzZiAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAwOS0wNC0yMyAgUGF2ZWwgRmVsZG1hbiAgPHBm
ZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgYSBGcmFtZUxvYWRlckNsaWVudCBjYWxsYmFjayBmb3IgdGhlIFJl
c291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdAorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViRnJhbWVMb2FkZXJDbGll
bnQ6OmRpc3BhdGNoRGlkTG9hZFJlc291cmNlQnlYTUxIdHRwUmVxdWVzdCk6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaDoKKwogMjAwOS0wNC0yMiAgQWRh
IENoYW4gIDxhZGFjaGFuQGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTEx
NTI5OD4gRG9uJ3QgZ2V0IGVycm9yIG1zZyB3aGVuIGRvd25sb2FkIGlzIGludGVycnVwdGVkIGFu
ZCBjYW5ub3QgcmVzdW1lIGR1ZSB0byBzZXJ2ZXIgdW5hdmFpbGFiaWxpdHkKZGlmZiAtLWdpdCBh
L1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggNDk4
MTJjYi4uZDdmODg0ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTY0LDYgKzY0LDcgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L1BsdWdpblZpZXcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlclBhcnQuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TY3JpcHRTdHJp
bmcuaD4KICNwcmFnbWEgd2FybmluZyhwb3ApCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpA
QCAtMjI1LDYgKzIyNiwxMCBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERp
ZEZhaWxMb2FkaW5nKERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbgogICAgIHJlc291cmNl
TG9hZERlbGVnYXRlLT5kaWRGYWlsTG9hZGluZ1dpdGhFcnJvcih3ZWJWaWV3LCBpZGVudGlmaWVy
LCB3ZWJFcnJvci5nZXQoKSwgZ2V0V2ViRGF0YVNvdXJjZShsb2FkZXIpKTsKIH0KIAordm9pZCBX
ZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBSZXF1
ZXN0KHVuc2lnbmVkIGxvbmcsIGNvbnN0IFNjcmlwdFN0cmluZyYpCit7Cit9CisKIGJvb2wgV2Vi
RnJhbWVMb2FkZXJDbGllbnQ6OnNob3VsZENhY2hlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqIGxv
YWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwgY29uc3QgdW5zaWduZWQgbG9uZyBs
b25nIGxlbmd0aCkKIHsKICAgICBXZWJWaWV3KiB3ZWJWaWV3ID0gbV93ZWJGcmFtZS0+d2ViVmll
dygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5oIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5oCmluZGV4IGY2Mzc1MTMuLmU3ZTNjMzIgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTU2LDYgKzU2LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZFJlY2VpdmVDb250ZW50TGVuZ3RoKFdlYkNvcmU6
OkRvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBpbnQgbGVuZ3RoUmVj
ZWl2ZWQpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpbmlzaExvYWRpbmcoV2ViQ29y
ZTo6RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpOwogICAgIHZpcnR1
YWwgdm9pZCBkaXNwYXRjaERpZEZhaWxMb2FkaW5nKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwg
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7
CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkTG9hZFJlc291cmNlQnlYTUxIdHRwUmVxdWVz
dCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNjcmlwdFN0cmluZyYp
OwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDYWNoZVJlc3BvbnNlKFdlYkNvcmU6OkRvY3VtZW50
TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlJiwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwgdW5zaWduZWQgbG9uZyBsb25n
IGxlbmd0aCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRIYW5kbGVPbmxvYWRFdmVu
dHMoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93eC9DaGFuZ2VMb2cgYi9XZWJLaXQvd3gvQ2hhbmdl
TG9nCmluZGV4IDNjMmZhMjAuLjEyMGExNmUgMTAwNjQ0Ci0tLSBhL1dlYktpdC93eC9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0L3d4L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDA5LTA0LTIz
ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIEZyYW1lTG9hZGVyQ2xpZW50
IGNhbGxiYWNrIGZvciB0aGUgUmVzb3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0CisKKyAg
ICAgICAgKiBXZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRXeDo6ZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VCeVhN
TEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
V3guaDoKKwogMjAwOS0wNC0yOCAgS2V2aW4gV2F0dGVycyAgPGtldmlud2F0dGVyc0BnbWFpbC5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2V2aW4gT2xsaXZpZXIuCmRpZmYgLS1naXQgYS9X
ZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmNwcCBiL1dlYktpdC93
eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guY3BwCmluZGV4IDY2MDY1NDMuLmNj
Njc5ODUgMTAwNjQ0Ci0tLSBhL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50V3guY3BwCisrKyBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
V3guY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2lu
Y2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgi
CisjaW5jbHVkZSAiU2NyaXB0U3RyaW5nLmgiCiAKICNpbmNsdWRlIDxzdGRpby5oPgogCkBAIC02
NjUsNiArNjY2LDExIEBAIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRXeDo6ZGlzcGF0Y2hEaWRMb2Fk
UmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoRG9jdW1lbnRMb2FkZXIqCiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50V3g6OmRpc3BhdGNoRGlkTG9hZFJlc291cmNl
QnlYTUxIdHRwUmVxdWVzdCh1bnNpZ25lZCBsb25nLCBjb25zdCBTY3JpcHRTdHJpbmcmKQorewor
ICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50V3g6OmRpc3Bh
dGNoRGlkRmFpbFByb3Zpc2lvbmFsTG9hZChjb25zdCBSZXNvdXJjZUVycm9yJikKIHsKICAgICBu
b3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRXeC5oIGIvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJD
bGllbnRXeC5oCmluZGV4IDQzYjNhOGYuLmRlNmMxZGQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93eC9X
ZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guaAorKysgYi9XZWJLaXQvd3gvV2ViS2l0
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmgKQEAgLTE3Miw4ICsxNzIsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZFJlY2VpdmVDb250
ZW50TGVuZ3RoKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZywgaW50KTsKICAgICAgICAg
dmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmluaXNoTG9hZGluZyhEb2N1bWVudExvYWRlciosIHVu
c2lnbmVkIGxvbmcpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGYWlsTG9hZGlu
ZyhEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsK
LQogICAgICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5
Q2FjaGUoRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiwgaW50KTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkTG9h
ZFJlc291cmNlQnlYTUxIdHRwUmVxdWVzdCh1bnNpZ25lZCBsb25nLCBjb25zdCBTY3JpcHRTdHJp
bmcmKTsKKwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGYWlsUHJvdmlzaW9uYWxM
b2FkKGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
RGlkRmFpbExvYWQoY29uc3QgUmVzb3VyY2VFcnJvciYpOwogICAgICAgICB2aXJ0dWFsIEZyYW1l
KiBkaXNwYXRjaENyZWF0ZVBhZ2UoKTsK
</data>
<flag name="review"
          id="14971"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29937</attachid>
            <date>2009-05-01 02:35:33 -0700</date>
            <delta_ts>2009-05-01 03:12:54 -0700</delta_ts>
            <desc>patch</desc>
            <filename>xml_http_3.txt</filename>
            <type>text/plain</type>
            <size>19531</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzkyN2FmYy4uNGNmNmJmZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAwOS0wNC0yMyAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgYSBGcmFtZUxvYWRlckNsaWVudCBjYWxsYmFjayBmb3Ig
dGhlIFJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdC4KKyAgICAgICAgVGhpcyBpcyB0
aGUgb25seSByZXNvdXJjZS1yZWxhdGVkIGluZm9ybWF0aW9uIHRoYXQgaXMgYXZhaWxhYmxlIGlu
IEluc3BlY3RvckNvbnRyb2xsZXIKKyAgICAgICAgYW5kIGlzIG1pc3NpbmcgaW4gdGhlIEZyYW1l
TG9hZGVyQ2xpZW50LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNTM0NworCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOiBNYWRlIFNjcmlwdFNvdXJjZSBwcml2YXRlLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6IE1hZGUgYSBjYWxsIHRvIGEgY2xpZW50IGFsb25nIHdpdGggdGhlIGNhbGwgdG8gdGhlIElu
c3BlY3RvckNvbnRyb2xsZXIuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVzb3VyY2VS
ZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRz
Lmg6IEFkZGVkIHN0dWIgaW1wbGVtZW50YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpFbXB0eUZy
YW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3Qp
OgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6IENhbGwgaW5pdGlhdGluZyBkaXNw
YXRjaGVzLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnJlc291cmNlUmV0cmlldmVk
QnlYTUxIdHRwUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAg
ICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6CisKIDIwMDktMDQtMjkgIFl1cnkgU2Vt
aWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2ZWFsIGN1cnJlbnQg
ZXhlY3V0aW9uIGxpbmUgb25jZSBTb3VyY2VGcmFtZSBjb250ZW50IGlzIGxvYWRlZC4gCmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDM5ZjIyMjIuLjdlYmI1
NGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02Mjks
NyArNjI5LDcgQEAKIAkJNDE2RTc1QkYwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFj
ay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZF
NzVCRDBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLzsgfTsKIAkJNDE2
RTc1Q0IwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTc1QzkwRURGOTBDNzAwMzYwRTFE
IC8qIFNjcmlwdENhbGxGcmFtZS5oICovOyB9OwogCQk0MTZFNzVDQzBFREY5MEM3MDAzNjBFMUQg
LyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxNkU3NUNBMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUu
Y3BwICovOyB9OwotCQk0MTZGNDVGMDBFRDdCMzExMDA4MjE1QjYgLyogU2NyaXB0U3RyaW5nLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZGNDVFRjBF
RDdCMzExMDA4MjE1QjYgLyogU2NyaXB0U3RyaW5nLmggKi87IH07CisJCTQxNkY0NUYwMEVEN0Iz
MTEwMDgyMTVCNiAvKiBTY3JpcHRTdHJpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkY0NUVGMEVEN0IzMTEwMDgyMTVCNiAvKiBTY3JpcHRTdHJp
bmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
MTk1MzY1MTBGNjgyMjI0MDBEMEM2NzkgLyogU2NyaXB0T2JqZWN0UXVhcmFudGluZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5NTM2NTAwRjY4MjIy
NDAwRDBDNjc5IC8qIFNjcmlwdE9iamVjdFF1YXJhbnRpbmUuaCAqLzsgfTsKIAkJNDFDNzYwQjEw
RURFMDNEMzAwQzE2NTVGIC8qIFNjcmlwdFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUM3NjBCMDBFREUwM0QzMDBDMTY1NUYgLyogU2NyaXB0
U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0MUQwMTVDQTBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDAxNUM4MEY0QjVDNzEwMDRBNjYy
RiAvKiBDb250ZW50VHlwZS5oICovOyB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDBhNjU1N2EuLjljNmI4MWYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKQEAgLTQzMDIsNiArNDMwMiwxMSBAQCB2b2lkIERvY3VtZW50OjpyZXNvdXJj
ZVJldHJpZXZlZEJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dAogewogICAgIGlmIChwYWdlKCkpCiAgICAgICAgIHBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxl
cigpLT5yZXNvdXJjZVJldHJpZXZlZEJ5WE1MSHR0cFJlcXVlc3QoaWRlbnRpZmllciwgc291cmNl
U3RyaW5nKTsKKyAgICBGcmFtZSogZnJhbWUgPSB0aGlzLT5mcmFtZSgpOworICAgIGlmIChmcmFt
ZSkgeworICAgICAgICBGcmFtZUxvYWRlciogZnJhbWVMb2FkZXIgPSBmcmFtZS0+bG9hZGVyKCk7
CisgICAgICAgIGZyYW1lTG9hZGVyLT5kaWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0KGlk
ZW50aWZpZXIsIHNvdXJjZVN0cmluZyk7CisgICAgfQogfQogCiB2b2lkIERvY3VtZW50OjpzY3Jp
cHRJbXBvcnRlZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
U3RyaW5nKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA0ZjUwZjBiLi40YWRhZjc2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaApAQCAtMTYyLDYgKzE2Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgZGlzcGF0Y2hEaWRGaW5pc2hMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9u
ZykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmFpbExvYWRpbmcoRG9jdW1lbnRM
b2FkZXIqLCB1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZUVycm9yJikgeyB9CiAgICAgdmly
dHVhbCBib29sIGRpc3BhdGNoRGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKERvY3VtZW50
TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYs
IGludCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMb2Fk
UmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxvbmcsIGNvbnN0IFNjcmlwdFN0cmlu
ZyYpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkSGFuZGxlT25sb2FkRXZlbnRz
KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0
Rm9yUHJvdmlzaW9uYWxMb2FkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggZTZlNDNm
ZS4uNDc4ZjFmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisr
KyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtODEsNiArODEsNyBAQAogI2lu
Y2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCisjaW5jbHVkZSAiU2NyaXB0U3RyaW5nLmgi
CiAjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgog
I2luY2x1ZGUgIlNlZ21lbnRlZFN0cmluZy5oIgpAQCAtMzc2MCw2ICszNzYxLDExIEBAIHZvaWQg
RnJhbWVMb2FkZXI6OmRpZEZhaWxUb0xvYWQoUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3Qg
UmVzb3VyY2VFcnJvciYgZXJyCiAgICAgICAgIG1fY2xpZW50LT5kaXNwYXRjaERpZEZhaWxMb2Fk
aW5nKGxvYWRlci0+ZG9jdW1lbnRMb2FkZXIoKSwgbG9hZGVyLT5pZGVudGlmaWVyKCksIGVycm9y
KTsKIH0KIAordm9pZCBGcmFtZUxvYWRlcjo6ZGlkTG9hZFJlc291cmNlQnlYTUxIdHRwUmVxdWVz
dCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFNjcmlwdFN0cmluZyYgc291cmNlU3Ry
aW5nKQoreworICAgIG1fY2xpZW50LT5kaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJl
cXVlc3QoaWRlbnRpZmllciwgc291cmNlU3RyaW5nKTsKK30KKwogY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiBGcmFtZUxvYWRlcjo6b3JpZ2luYWxSZXF1ZXN0KCkgY29uc3QKIHsKICAgICByZXR1cm4g
YWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+b3JpZ2luYWxSZXF1ZXN0Q29weSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmgKaW5kZXggYWFiMjExNS4uODEwODMxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC02Miw2
ICs2Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZUxvYWRlcjsK
ICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogICAgIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7
CisgICAgY2xhc3MgU2NyaXB0U3RyaW5nOwogICAgIGNsYXNzIFNjcmlwdFZhbHVlOwogICAgIGNs
YXNzIFNlY3VyaXR5T3JpZ2luOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKQEAgLTE4Miw2ICsx
ODMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEo
UmVzb3VyY2VMb2FkZXIqLCBjb25zdCBjaGFyKiwgaW50LCBpbnQgbGVuZ3RoUmVjZWl2ZWQpOwog
ICAgICAgICB2b2lkIGRpZEZpbmlzaExvYWQoUmVzb3VyY2VMb2FkZXIqKTsKICAgICAgICAgdm9p
ZCBkaWRGYWlsVG9Mb2FkKFJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VFcnJvciYpOwor
ICAgICAgICB2b2lkIGRpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBTY3JpcHRTdHJpbmcmIHNvdXJjZVN0cmluZyk7CiAgICAgICAg
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxSZXF1ZXN0KCkgY29uc3Q7CiAgICAgICAg
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgaW5pdGlhbFJlcXVlc3QoKSBjb25zdDsKICAgICAgICAg
dm9pZCByZWNlaXZlZE1haW5SZXNvdXJjZUVycm9yKGNvbnN0IFJlc291cmNlRXJyb3ImLCBib29s
IGlzQ29tcGxldGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGll
bnQuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggYmU1NTAxZC4u
ZGRkOGI2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCkBAIC02NCw2ICs2NCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKICAgICBzdHJ1
Y3QgUmVzb3VyY2VSZXF1ZXN0OwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CisgICAgY2xh
c3MgU2NyaXB0U3RyaW5nOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKICAgICBjbGFzcyBTdWJz
dGl0dXRlRGF0YTsKICAgICBjbGFzcyBTdHJpbmc7CkBAIC0xMDUsNiArMTA2LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGaW5pc2hMb2Fk
aW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKSA9IDA7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZhaWxMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwg
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJikgPSAwOwogICAg
ICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUo
RG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiwgaW50IGxlbmd0aCkgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hE
aWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0ICh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIs
IGNvbnN0IFNjcmlwdFN0cmluZyYpID0gMDsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0
Y2hEaWRIYW5kbGVPbmxvYWRFdmVudHMoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaERpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZCgpID0gMDsKZGlm
ZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5k
ZXggODQzMjhmYS4uNTk3MThhZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAwOS0wNC0yMyAgUGF2
ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBGcmFtZUxvYWRlckNsaWVudCBjYWxs
YmFjayBmb3IgdGhlIFJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdC4KKyAgICAgICAg
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTM0Nwor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VC
eVhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEd0ay5oOgorCiAyMDA5LTA0LTI4ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZv
Lm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFVwZGF0ZSBn
dGstZG9jIGNvbnRyb2wgYW5kIGJhc2Ugc2dtbCBmaWxlcyBmb3IgMS4xLjYuCmRpZmYgLS1naXQg
YS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcCBiL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCmluZGV4IGIx
MTJlZTMuLjNlOTBhNDkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRHdGsuY3BwCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRHdGsuY3BwCkBAIC04MjIsNiArODIyLDExIEBAIHZvaWQgRnJhbWVMb2Fk
ZXJDbGllbnQ6OmRpc3BhdGNoRGlkRmFpbExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25l
ZCBsb25nIGlkCiB9CiAKIGJvb2wgRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkTG9hZFJl
c291cmNlRnJvbU1lbW9yeUNhY2hlKERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGludCBsZW5ndGgpCit2b2lkIEZyYW1lTG9h
ZGVyQ2xpZW50OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3QodW5zaWdu
ZWQgbG9uZywgY29uc3QgU2NyaXB0U3RyaW5nJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOwor
fQorCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmggYi9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmgKaW5kZXggY2I0
Nzg2ZC4uZjg1YzYzYSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEd0ay5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRHdGsuaApAQCAtNjksNiArNjksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAg
ICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmluaXNoTG9hZGluZyhXZWJDb3JlOjpEb2N1
bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgIGlkZW50aWZpZXIpOwogICAgICAgICB2aXJ0dWFs
IHZvaWQgZGlzcGF0Y2hEaWRGYWlsTG9hZGluZyhXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIHVu
c2lnbmVkIGxvbmcgIGlkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsK
ICAgICAgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNh
Y2hlKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGludCBsZW5ndGgpOworICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0
KHVuc2lnbmVkIGxvbmcsIGNvbnN0IFdlYkNvcmU6OlNjcmlwdFN0cmluZyYpOwogCiAgICAgICAg
IHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEhhbmRsZU9ubG9hZEV2ZW50cygpOwogICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25h
bExvYWQoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKaW5kZXggNzU1MDYxNS4uM2M3MjFhYyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKKysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAw
OS0wNC0yMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBGcmFtZUxvYWRl
ckNsaWVudCBjYWxsYmFjayBmb3IgdGhlIFJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVz
dC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjUz
NDcKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lmg6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW06CisgICAgICAg
IChXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBS
ZXF1ZXN0KToKKwogMjAwOS0wNC0yOCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFJ1YmJlciBzdGFtcGVkIGJ5IEJldGggRGFraW4uCmRpZmYgLS1naXQgYS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmggYi9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggODIzZTBhNC4u
ODg0ZGYzMSAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5oCisrKyBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuaApAQCAtMTIyLDYgKzEyMiw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lk
IHJldmVydFRvUHJvdmlzaW9uYWxTdGF0ZShXZWJDb3JlOjpEb2N1bWVudExvYWRlciopOwogICAg
IHZpcnR1YWwgdm9pZCBzZXRNYWluRG9jdW1lbnRFcnJvcihXZWJDb3JlOjpEb2N1bWVudExvYWRl
ciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKICAgICB2aXJ0dWFsIGJvb2wgZGlz
cGF0Y2hEaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoV2ViQ29yZTo6RG9jdW1lbnRMb2Fk
ZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlJiwgaW50IGxlbmd0aCk7CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlk
TG9hZFJlc291cmNlQnlYTUxIdHRwUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNv
bnN0IFdlYkNvcmU6OlNjcmlwdFN0cmluZyYpOwogCiAgICAgdmlydHVhbCB2b2lkIHdpbGxDaGFu
Z2VFc3RpbWF0ZWRQcm9ncmVzcygpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VFc3RpbWF0
ZWRQcm9ncmVzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5tbSBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQubW0KaW5kZXggMGJkYzNiNS4uNTMxNDcyNCAxMDA2NDQKLS0tIGEvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQorKysgYi9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCkBAIC0xMDQsNiArMTA0
LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VMb2FkZXIuaD4KICNpbXBvcnQgPFdlYkNv
cmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NjcmlwdENvbnRyb2xsZXIu
aD4KKyNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0U3RyaW5nLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1No
YXJlZEJ1ZmZlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlT2JqQ0V4dHJhcy5oPgogI2lt
cG9ydCA8V2ViQ29yZS9XaWRnZXQuaD4KQEAgLTMzNSw2ICszMzYsMTAgQEAgYm9vbCBXZWJGcmFt
ZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoRG9j
dW1lbnRMb2FkZXIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBXZWJGcmFtZUxvYWRlckNs
aWVudDo6ZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllciwgY29uc3QgU2NyaXB0U3RyaW5nJiBzb3VyY2VTdHJpbmcpCit7Cit9CisK
IHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1
ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewogICAgIFdlYlZpZXcgKndlYlZpZXcgPSBn
ZXRXZWJWaWV3KG1fd2ViRnJhbWUuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5n
ZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggZDY4OGIxMi4uMjQ2ZmFmNSAxMDA2NDQK
LS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMDktMDQtMjMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgRnJhbWVMb2FkZXJDbGllbnQgY2FsbGJhY2sgZm9yIHRoZSBSZXNvdXJjZVJldHJpZXZl
ZEJ5WE1MSHR0cFJlcXVlc3QuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTI1MzQ3CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50UXQ6OmRp
c3BhdGNoRGlkTG9hZFJlc291cmNlQnlYTUxIdHRwUmVxdWVzdCk6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5oOgorCiAyMDA5LTA0LTI5ICBBcml5YSBIaWRh
eWF0ICA8YXJpeWEuaGlkYXlhdEBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2lt
b24gSGF1c21hbm4uCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRRdC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJD
bGllbnRRdC5jcHAKaW5kZXggY2JlOTY5Ni4uMjc5N2Q5MiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCisrKyBiL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcApAQCAtNTQsNiArNTQsNyBAQAog
I2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhh
bmRsZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiU2NyaXB0U3RyaW5nLmgi
CiAKICNpbmNsdWRlICJxd2VicGFnZS5oIgogI2luY2x1ZGUgInF3ZWJmcmFtZS5oIgpAQCAtODUx
LDYgKzg1MiwxMSBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OmRpc3BhdGNoRGlkTG9hZFJl
c291cmNlRnJvbU1lbW9yeUNhY2hlKFdlYkNvcmU6OkRvY3VtZQogICAgIHJldHVybiBmYWxzZTsK
IH0KIAordm9pZCBGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5
WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZywgY29uc3QgV2ViQ29yZTo6U2NyaXB0U3RyaW5n
JikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50
UXQ6OmRpc3BhdGNoRGlkRmFpbFByb3Zpc2lvbmFsTG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yJikKIHsKICAgICBpZiAoZHVtcEZyYW1lTG9hZGVyQ2FsbGJhY2tzKQpkaWZmIC0tZ2l0
IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaCBiL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmgKaW5kZXggYzQ5YmI2Mi4u
NGQyZGNiYyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50UXQuaAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRRdC5oCkBAIC05OCw2ICs5OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmly
dHVhbCB2b2lkIGRpc3BhdGNoRGlkRmluaXNoTG9hZGluZyhXZWJDb3JlOjpEb2N1bWVudExvYWRl
ciosIHVuc2lnbmVkIGxvbmcpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGYWls
TG9hZGluZyhXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlRXJyb3ImKTsKICAgICAgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRGlk
TG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZSYsIGludCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZExvYWRSZXNvdXJj
ZUJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJDb3Jl
OjpTY3JpcHRTdHJpbmcmIHNvdXJjZVN0cmluZyk7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoRGlkSGFuZGxlT25sb2FkRXZlbnRzKCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaERpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZCgpOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA0
NDQ0M2VjLi4yMTU2ZWJhIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDA5LTA0LTIzICBQYXZlbCBG
ZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIEZyYW1lTG9hZGVyQ2xpZW50IGNhbGxiYWNr
IGZvciB0aGUgUmVzb3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0LgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTM0NworCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViRnJh
bWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkTG9hZFJlc291cmNlQnlYTUxIdHRwUmVxdWVzdCk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaDoKKwogMjAw
OS0wNC0yMiAgQWRhIENoYW4gIDxhZGFjaGFuQGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNTExNTI5OD4gRG9uJ3QgZ2V0IGVycm9yIG1zZyB3aGVuIGRvd25sb2FkIGlzIGlu
dGVycnVwdGVkIGFuZCBjYW5ub3QgcmVzdW1lIGR1ZSB0byBzZXJ2ZXIgdW5hdmFpbGFiaWxpdHkK
ZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5j
cHAKaW5kZXggNDk4MTJjYi4uZDdmODg0ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTY0LDYgKzY0LDcgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL1BsdWdpblZpZXcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlclBhcnQu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9TY3JpcHRTdHJpbmcuaD4KICNwcmFnbWEgd2FybmluZyhwb3ApCiAKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwpAQCAtMjI1LDYgKzIyNiwxMCBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50
OjpkaXNwYXRjaERpZEZhaWxMb2FkaW5nKERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbgog
ICAgIHJlc291cmNlTG9hZERlbGVnYXRlLT5kaWRGYWlsTG9hZGluZ1dpdGhFcnJvcih3ZWJWaWV3
LCBpZGVudGlmaWVyLCB3ZWJFcnJvci5nZXQoKSwgZ2V0V2ViRGF0YVNvdXJjZShsb2FkZXIpKTsK
IH0KIAordm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VC
eVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxvbmcsIGNvbnN0IFNjcmlwdFN0cmluZyYpCit7Cit9
CisKIGJvb2wgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnNob3VsZENhY2hlUmVzcG9uc2UoRG9jdW1l
bnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwgY29uc3QgdW5z
aWduZWQgbG9uZyBsb25nIGxlbmd0aCkKIHsKICAgICBXZWJWaWV3KiB3ZWJWaWV3ID0gbV93ZWJG
cmFtZS0+d2ViVmlldygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5oIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5oCmluZGV4IGY2Mzc1MTMuLmU3ZTNjMzIgMTAwNjQ0Ci0tLSBhL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTU2LDYgKzU2LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZFJlY2VpdmVDb250ZW50TGVu
Z3RoKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBp
bnQgbGVuZ3RoUmVjZWl2ZWQpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpbmlzaExv
YWRpbmcoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIp
OwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZhaWxMb2FkaW5nKFdlYkNvcmU6OkRvY3Vt
ZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZUVycm9yJik7CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkTG9hZFJlc291cmNlQnlY
TUxIdHRwUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNj
cmlwdFN0cmluZyYpOwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDYWNoZVJlc3BvbnNlKFdlYkNv
cmU6OkRvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwgdW5zaWdu
ZWQgbG9uZyBsb25nIGxlbmd0aCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRIYW5k
bGVPbmxvYWRFdmVudHMoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93eC9DaGFuZ2VMb2cgYi9XZWJL
aXQvd3gvQ2hhbmdlTG9nCmluZGV4IDNjMmZhMjAuLjRkYjRiMzMgMTAwNjQ0Ci0tLSBhL1dlYktp
dC93eC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3d4L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDA5LTA0LTIzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIEZyYW1l
TG9hZGVyQ2xpZW50IGNhbGxiYWNrIGZvciB0aGUgUmVzb3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBS
ZXF1ZXN0LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yNTM0NworCisgICAgICAgICogV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50V3g6OmRpc3BhdGNoRGlkTG9h
ZFJlc291cmNlQnlYTUxIdHRwUmVxdWVzdCk6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudFd4Lmg6CisKIDIwMDktMDQtMjggIEtldmluIFdhdHRlcnMgIDxrZXZpbndh
dHRlcnNAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtldmluIE9sbGl2aWVyLgpk
aWZmIC0tZ2l0IGEvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5j
cHAgYi9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmNwcAppbmRl
eCA2NjA2NTQzLi5jYzY3OTg1IDEwMDY0NAotLS0gYS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudFd4LmNwcAorKysgYi9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudFd4LmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgIlJlc291cmNl
RXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiU2NyaXB0
Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIlNjcmlwdFN0cmluZy5oIgogCiAjaW5jbHVkZSA8c3Rk
aW8uaD4KIApAQCAtNjY1LDYgKzY2NiwxMSBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50V3g6OmRp
c3BhdGNoRGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKERvY3VtZW50TG9hZGVyKgogICAg
IHJldHVybiBmYWxzZTsKIH0KIAordm9pZCBGcmFtZUxvYWRlckNsaWVudFd4OjpkaXNwYXRjaERp
ZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZywgY29uc3QgU2NyaXB0
U3RyaW5nJikKK3sKKyAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBGcmFtZUxvYWRlckNs
aWVudFd4OjpkaXNwYXRjaERpZEZhaWxQcm92aXNpb25hbExvYWQoY29uc3QgUmVzb3VyY2VFcnJv
ciYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93eC9XZWJL
aXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guaCBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50V3guaAppbmRleCA0M2IzYThmLi5kZTZjMWRkIDEwMDY0NAotLS0g
YS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmgKKysrIGIvV2Vi
S2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5oCkBAIC0xNzIsOCArMTcy
LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hE
aWRSZWNlaXZlQ29udGVudExlbmd0aChEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcsIGlu
dCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpbmlzaExvYWRpbmcoRG9jdW1l
bnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
RGlkRmFpbExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNv
dXJjZUVycm9yJik7Ci0KICAgICAgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRGlkTG9hZFJlc291
cmNlRnJvbU1lbW9yeUNhY2hlKERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGludCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBk
aXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZywgY29u
c3QgU2NyaXB0U3RyaW5nJik7CisKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmFp
bFByb3Zpc2lvbmFsTG9hZChjb25zdCBSZXNvdXJjZUVycm9yJik7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaERpZEZhaWxMb2FkKGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICAgICAg
dmlydHVhbCBGcmFtZSogZGlzcGF0Y2hDcmVhdGVQYWdlKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29938</attachid>
            <date>2009-05-01 03:12:54 -0700</date>
            <delta_ts>2009-05-01 03:12:54 -0700</delta_ts>
            <desc>patch</desc>
            <filename>xml_http_4.txt</filename>
            <type>text/plain</type>
            <size>19530</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MzkyN2FmYy4uNGNmNmJmZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAwOS0wNC0yMyAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgYSBGcmFtZUxvYWRlckNsaWVudCBjYWxsYmFjayBmb3Ig
dGhlIFJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdC4KKyAgICAgICAgVGhpcyBpcyB0
aGUgb25seSByZXNvdXJjZS1yZWxhdGVkIGluZm9ybWF0aW9uIHRoYXQgaXMgYXZhaWxhYmxlIGlu
IEluc3BlY3RvckNvbnRyb2xsZXIKKyAgICAgICAgYW5kIGlzIG1pc3NpbmcgaW4gdGhlIEZyYW1l
TG9hZGVyQ2xpZW50LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNTM0NworCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOiBNYWRlIFNjcmlwdFNvdXJjZSBwcml2YXRlLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6IE1hZGUgYSBjYWxsIHRvIGEgY2xpZW50IGFsb25nIHdpdGggdGhlIGNhbGwgdG8gdGhlIElu
c3BlY3RvckNvbnRyb2xsZXIuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVzb3VyY2VS
ZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRz
Lmg6IEFkZGVkIHN0dWIgaW1wbGVtZW50YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpFbXB0eUZy
YW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3Qp
OgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6IENhbGwgaW5pdGlhdGluZyBkaXNw
YXRjaGVzLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnJlc291cmNlUmV0cmlldmVk
QnlYTUxIdHRwUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAg
ICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6CisKIDIwMDktMDQtMjkgIFl1cnkgU2Vt
aWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2ZWFsIGN1cnJlbnQg
ZXhlY3V0aW9uIGxpbmUgb25jZSBTb3VyY2VGcmFtZSBjb250ZW50IGlzIGxvYWRlZC4gCmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDM5ZjIyMjIuLjdlYmI1
NGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02Mjks
NyArNjI5LDcgQEAKIAkJNDE2RTc1QkYwRURGOEZENzAwMzYwRTFEIC8qIFNjcmlwdENhbGxTdGFj
ay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZF
NzVCRDBFREY4RkQ3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbFN0YWNrLmNwcCAqLzsgfTsKIAkJNDE2
RTc1Q0IwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTc1QzkwRURGOTBDNzAwMzYwRTFE
IC8qIFNjcmlwdENhbGxGcmFtZS5oICovOyB9OwogCQk0MTZFNzVDQzBFREY5MEM3MDAzNjBFMUQg
LyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxNkU3NUNBMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUu
Y3BwICovOyB9OwotCQk0MTZGNDVGMDBFRDdCMzExMDA4MjE1QjYgLyogU2NyaXB0U3RyaW5nLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZGNDVFRjBF
RDdCMzExMDA4MjE1QjYgLyogU2NyaXB0U3RyaW5nLmggKi87IH07CisJCTQxNkY0NUYwMEVEN0Iz
MTEwMDgyMTVCNiAvKiBTY3JpcHRTdHJpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkY0NUVGMEVEN0IzMTEwMDgyMTVCNiAvKiBTY3JpcHRTdHJp
bmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
MTk1MzY1MTBGNjgyMjI0MDBEMEM2NzkgLyogU2NyaXB0T2JqZWN0UXVhcmFudGluZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5NTM2NTAwRjY4MjIy
NDAwRDBDNjc5IC8qIFNjcmlwdE9iamVjdFF1YXJhbnRpbmUuaCAqLzsgfTsKIAkJNDFDNzYwQjEw
RURFMDNEMzAwQzE2NTVGIC8qIFNjcmlwdFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUM3NjBCMDBFREUwM0QzMDBDMTY1NUYgLyogU2NyaXB0
U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0MUQwMTVDQTBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDAxNUM4MEY0QjVDNzEwMDRBNjYy
RiAvKiBDb250ZW50VHlwZS5oICovOyB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDBhNjU1N2EuLjljNmI4MWYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKQEAgLTQzMDIsNiArNDMwMiwxMSBAQCB2b2lkIERvY3VtZW50OjpyZXNvdXJj
ZVJldHJpZXZlZEJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dAogewogICAgIGlmIChwYWdlKCkpCiAgICAgICAgIHBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxl
cigpLT5yZXNvdXJjZVJldHJpZXZlZEJ5WE1MSHR0cFJlcXVlc3QoaWRlbnRpZmllciwgc291cmNl
U3RyaW5nKTsKKyAgICBGcmFtZSogZnJhbWUgPSB0aGlzLT5mcmFtZSgpOworICAgIGlmIChmcmFt
ZSkgeworICAgICAgICBGcmFtZUxvYWRlciogZnJhbWVMb2FkZXIgPSBmcmFtZS0+bG9hZGVyKCk7
CisgICAgICAgIGZyYW1lTG9hZGVyLT5kaWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0KGlk
ZW50aWZpZXIsIHNvdXJjZVN0cmluZyk7CisgICAgfQogfQogCiB2b2lkIERvY3VtZW50OjpzY3Jp
cHRJbXBvcnRlZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
U3RyaW5nKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA0ZjUwZjBiLi40YWRhZjc2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaApAQCAtMTYyLDYgKzE2Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgZGlzcGF0Y2hEaWRGaW5pc2hMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9u
ZykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmFpbExvYWRpbmcoRG9jdW1lbnRM
b2FkZXIqLCB1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZUVycm9yJikgeyB9CiAgICAgdmly
dHVhbCBib29sIGRpc3BhdGNoRGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKERvY3VtZW50
TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYs
IGludCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMb2Fk
UmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxvbmcsIGNvbnN0IFNjcmlwdFN0cmlu
ZyYpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkSGFuZGxlT25sb2FkRXZlbnRz
KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0
Rm9yUHJvdmlzaW9uYWxMb2FkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggZTZlNDNm
ZS4uNDc4ZjFmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisr
KyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtODEsNiArODEsNyBAQAogI2lu
Y2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCisjaW5jbHVkZSAiU2NyaXB0U3RyaW5nLmgi
CiAjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgog
I2luY2x1ZGUgIlNlZ21lbnRlZFN0cmluZy5oIgpAQCAtMzc2MCw2ICszNzYxLDExIEBAIHZvaWQg
RnJhbWVMb2FkZXI6OmRpZEZhaWxUb0xvYWQoUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3Qg
UmVzb3VyY2VFcnJvciYgZXJyCiAgICAgICAgIG1fY2xpZW50LT5kaXNwYXRjaERpZEZhaWxMb2Fk
aW5nKGxvYWRlci0+ZG9jdW1lbnRMb2FkZXIoKSwgbG9hZGVyLT5pZGVudGlmaWVyKCksIGVycm9y
KTsKIH0KIAordm9pZCBGcmFtZUxvYWRlcjo6ZGlkTG9hZFJlc291cmNlQnlYTUxIdHRwUmVxdWVz
dCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFNjcmlwdFN0cmluZyYgc291cmNlU3Ry
aW5nKQoreworICAgIG1fY2xpZW50LT5kaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJl
cXVlc3QoaWRlbnRpZmllciwgc291cmNlU3RyaW5nKTsKK30KKwogY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiBGcmFtZUxvYWRlcjo6b3JpZ2luYWxSZXF1ZXN0KCkgY29uc3QKIHsKICAgICByZXR1cm4g
YWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+b3JpZ2luYWxSZXF1ZXN0Q29weSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmgKaW5kZXggYWFiMjExNS4uODEwODMxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC02Miw2
ICs2Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZUxvYWRlcjsK
ICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogICAgIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7
CisgICAgY2xhc3MgU2NyaXB0U3RyaW5nOwogICAgIGNsYXNzIFNjcmlwdFZhbHVlOwogICAgIGNs
YXNzIFNlY3VyaXR5T3JpZ2luOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKQEAgLTE4Miw2ICsx
ODMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEo
UmVzb3VyY2VMb2FkZXIqLCBjb25zdCBjaGFyKiwgaW50LCBpbnQgbGVuZ3RoUmVjZWl2ZWQpOwog
ICAgICAgICB2b2lkIGRpZEZpbmlzaExvYWQoUmVzb3VyY2VMb2FkZXIqKTsKICAgICAgICAgdm9p
ZCBkaWRGYWlsVG9Mb2FkKFJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VFcnJvciYpOwor
ICAgICAgICB2b2lkIGRpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBTY3JpcHRTdHJpbmcmIHNvdXJjZVN0cmluZyk7CiAgICAgICAg
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxSZXF1ZXN0KCkgY29uc3Q7CiAgICAgICAg
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgaW5pdGlhbFJlcXVlc3QoKSBjb25zdDsKICAgICAgICAg
dm9pZCByZWNlaXZlZE1haW5SZXNvdXJjZUVycm9yKGNvbnN0IFJlc291cmNlRXJyb3ImLCBib29s
IGlzQ29tcGxldGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGll
bnQuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggYmU1NTAxZC4u
ZGRkOGI2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCkBAIC02NCw2ICs2NCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKICAgICBzdHJ1
Y3QgUmVzb3VyY2VSZXF1ZXN0OwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CisgICAgY2xh
c3MgU2NyaXB0U3RyaW5nOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKICAgICBjbGFzcyBTdWJz
dGl0dXRlRGF0YTsKICAgICBjbGFzcyBTdHJpbmc7CkBAIC0xMDUsNiArMTA2LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGaW5pc2hMb2Fk
aW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKSA9IDA7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZhaWxMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwg
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJikgPSAwOwogICAg
ICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUo
RG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiwgaW50IGxlbmd0aCkgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hE
aWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwg
Y29uc3QgU2NyaXB0U3RyaW5nJikgPSAwOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aERpZEhhbmRsZU9ubG9hZEV2ZW50cygpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKCkgPSAwOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRl
eCA4NDMyOGZhLi41OTcxOGFlIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysg
Yi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDA5LTA0LTIzICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIEZyYW1lTG9hZGVyQ2xpZW50IGNhbGxi
YWNrIGZvciB0aGUgUmVzb3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0LgorICAgICAgICAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1MzQ3CisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5
WE1MSHR0cFJlcXVlc3QpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50R3RrLmg6CisKIDIwMDktMDQtMjggIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8u
bm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIGd0
ay1kb2MgY29udHJvbCBhbmQgYmFzZSBzZ21sIGZpbGVzIGZvciAxLjEuNi4KZGlmZiAtLWdpdCBh
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwIGIvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKaW5kZXggYjEx
MmVlMy4uM2U5MGE0OSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEd0ay5jcHAKQEAgLTgyMiw2ICs4MjIsMTEgQEAgdm9pZCBGcmFtZUxvYWRl
ckNsaWVudDo6ZGlzcGF0Y2hEaWRGYWlsTG9hZGluZyhEb2N1bWVudExvYWRlciosIHVuc2lnbmVk
IGxvbmcgaWQKIH0KIAogYm9vbCBGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRMb2FkUmVz
b3VyY2VGcm9tTWVtb3J5Q2FjaGUoRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgaW50IGxlbmd0aCkKK3ZvaWQgRnJhbWVMb2Fk
ZXJDbGllbnQ6OmRpc3BhdGNoRGlkTG9hZFJlc291cmNlQnlYTUxIdHRwUmVxdWVzdCh1bnNpZ25l
ZCBsb25nLCBjb25zdCBTY3JpcHRTdHJpbmcmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9
CisKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdp
dCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuaCBiL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuaAppbmRleCBjYjQ3
ODZkLi5mODVjNjNhIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50R3RrLmgKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudEd0ay5oCkBAIC02OSw2ICs2OSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGaW5pc2hMb2FkaW5nKFdlYkNvcmU6OkRvY3Vt
ZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyAgaWRlbnRpZmllcik7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaERpZEZhaWxMb2FkaW5nKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgdW5z
aWduZWQgbG9uZyAgaWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwog
ICAgICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2Fj
aGUoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgaW50IGxlbmd0aCk7CisgICAg
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3Qo
dW5zaWduZWQgbG9uZywgY29uc3QgV2ViQ29yZTo6U2NyaXB0U3RyaW5nJik7CiAKICAgICAgICAg
dmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkSGFuZGxlT25sb2FkRXZlbnRzKCk7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBkaXNwYXRjaERpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFs
TG9hZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0No
YW5nZUxvZwppbmRleCA3NTUwNjE1Li4zYzcyMWFjIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0No
YW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDA5
LTA0LTIzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIEZyYW1lTG9hZGVy
Q2xpZW50IGNhbGxiYWNrIGZvciB0aGUgUmVzb3VyY2VSZXRyaWV2ZWRCeVhNTEh0dHBSZXF1ZXN0
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTM0
NworCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAg
KFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJl
cXVlc3QpOgorCiAyMDA5LTA0LTI4ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+
CiAKICAgICAgICAgUnViYmVyIHN0YW1wZWQgYnkgQmV0aCBEYWtpbi4KZGlmZiAtLWdpdCBhL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaCBiL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCA4MjNlMGE0Li44
ODRkZjMxIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50LmgKKysrIGIvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5oCkBAIC0xMjIsNiArMTIyLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
cmV2ZXJ0VG9Qcm92aXNpb25hbFN0YXRlKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKik7CiAgICAg
dmlydHVhbCB2b2lkIHNldE1haW5Eb2N1bWVudEVycm9yKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
KiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwogICAgIHZpcnR1YWwgYm9vbCBkaXNw
YXRjaERpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShXZWJDb3JlOjpEb2N1bWVudExvYWRl
ciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UmLCBpbnQgbGVuZ3RoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRM
b2FkUmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29u
c3QgV2ViQ29yZTo6U2NyaXB0U3RyaW5nJik7CiAKICAgICB2aXJ0dWFsIHZvaWQgd2lsbENoYW5n
ZUVzdGltYXRlZFByb2dyZXNzKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUVzdGltYXRl
ZFByb2dyZXNzKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50Lm1tIGIvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5tbQppbmRleCAwYmRjM2I1Li41MzE0NzI0IDEwMDY0NAotLS0gYS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCisrKyBiL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0KQEAgLTEwNCw2ICsxMDQs
NyBAQAogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUxvYWRlci5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0Q29udHJvbGxlci5o
PgorI2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRTdHJpbmcuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2hh
cmVkQnVmZmVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVPYmpDRXh0cmFzLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1dpZGdldC5oPgpAQCAtMzM1LDYgKzMzNiwxMCBAQCBib29sIFdlYkZyYW1l
TG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShEb2N1
bWVudExvYWRlcgogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIFdlYkZyYW1lTG9hZGVyQ2xp
ZW50OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBTY3JpcHRTdHJpbmcmIHNvdXJjZVN0cmluZykKK3sKK30KKwog
dm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6YXNzaWduSWRlbnRpZmllclRvSW5pdGlhbFJlcXVl
c3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiB7CiAgICAgV2ViVmlldyAqd2ViVmlldyA9IGdl
dFdlYlZpZXcobV93ZWJGcmFtZS5nZXQoKSk7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdl
TG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBkNjg4YjEyLi4yNDZmYWY1IDEwMDY0NAot
LS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAwOS0wNC0yMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgYSBGcmFtZUxvYWRlckNsaWVudCBjYWxsYmFjayBmb3IgdGhlIFJlc291cmNlUmV0cmlldmVk
QnlYTUxIdHRwUmVxdWVzdC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjUzNDcKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlz
cGF0Y2hEaWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0Lmg6CisKIDIwMDktMDQtMjkgIEFyaXlhIEhpZGF5
YXQgIDxhcml5YS5oaWRheWF0QG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1v
biBIYXVzbWFubi4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudFF0LmNwcCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudFF0LmNwcAppbmRleCBjYmU5Njk2Li4yNzk3ZDkyIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAj
aW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFu
ZGxlLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJTY3JpcHRTdHJpbmcuaCIK
IAogI2luY2x1ZGUgInF3ZWJwYWdlLmgiCiAjaW5jbHVkZSAicXdlYmZyYW1lLmgiCkBAIC04NTEs
NiArODUyLDExIEBAIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlzcGF0Y2hEaWRMb2FkUmVz
b3VyY2VGcm9tTWVtb3J5Q2FjaGUoV2ViQ29yZTo6RG9jdW1lCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OmRpc3BhdGNoRGlkTG9hZFJlc291cmNlQnlY
TUxIdHRwUmVxdWVzdCh1bnNpZ25lZCBsb25nLCBjb25zdCBXZWJDb3JlOjpTY3JpcHRTdHJpbmcm
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRR
dDo6ZGlzcGF0Y2hEaWRGYWlsUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
RXJyb3ImKQogewogICAgIGlmIChkdW1wRnJhbWVMb2FkZXJDYWxsYmFja3MpCmRpZmYgLS1naXQg
YS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5oIGIvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaAppbmRleCBjNDliYjYyLi40
ZDJkY2JjIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJD
bGllbnRRdC5oCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dFF0LmgKQEAgLTk4LDYgKzk4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlzcGF0Y2hEaWRGaW5pc2hMb2FkaW5nKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
KiwgdW5zaWduZWQgbG9uZyk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZhaWxM
b2FkaW5nKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZywgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvciYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hEaWRM
b2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJiwgaW50KTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkTG9hZFJlc291cmNl
QnlYTUxIdHRwUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6
OlNjcmlwdFN0cmluZyYgc291cmNlU3RyaW5nKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlz
cGF0Y2hEaWRIYW5kbGVPbmxvYWRFdmVudHMoKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKCk7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDQ0
NDQzZWMuLjIxNTZlYmEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1dl
YktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDQtMjMgIFBhdmVsIEZl
bGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgRnJhbWVMb2FkZXJDbGllbnQgY2FsbGJhY2sg
Zm9yIHRoZSBSZXNvdXJjZVJldHJpZXZlZEJ5WE1MSHR0cFJlcXVlc3QuCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1MzQ3CisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJGcmFt
ZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0KToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oOgorCiAyMDA5
LTA0LTIyICBBZGEgQ2hhbiAgPGFkYWNoYW5AYXBwbGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS81MTE1Mjk4PiBEb24ndCBnZXQgZXJyb3IgbXNnIHdoZW4gZG93bmxvYWQgaXMgaW50
ZXJydXB0ZWQgYW5kIGNhbm5vdCByZXN1bWUgZHVlIHRvIHNlcnZlciB1bmF2YWlsYWJpbGl0eQpk
aWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5jcHAgYi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNw
cAppbmRleCA0OTgxMmNiLi5kN2Y4ODRkIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtNjQsNiArNjQsNyBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvUGx1Z2luVmlldy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyUGFydC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1NjcmlwdFN0cmluZy5oPgogI3ByYWdtYSB3YXJuaW5nKHBvcCkKIAogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CkBAIC0yMjUsNiArMjI2LDEwIEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6
OmRpc3BhdGNoRGlkRmFpbExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduCiAg
ICAgcmVzb3VyY2VMb2FkRGVsZWdhdGUtPmRpZEZhaWxMb2FkaW5nV2l0aEVycm9yKHdlYlZpZXcs
IGlkZW50aWZpZXIsIHdlYkVycm9yLmdldCgpLCBnZXRXZWJEYXRhU291cmNlKGxvYWRlcikpOwog
fQogCit2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZExvYWRSZXNvdXJjZUJ5
WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZywgY29uc3QgU2NyaXB0U3RyaW5nJikKK3sKK30K
KwogYm9vbCBXZWJGcmFtZUxvYWRlckNsaWVudDo6c2hvdWxkQ2FjaGVSZXNwb25zZShEb2N1bWVu
dExvYWRlciogbG9hZGVyLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCBjb25zdCB1bnNp
Z25lZCBsb25nIGxvbmcgbGVuZ3RoKQogewogICAgIFdlYlZpZXcqIHdlYlZpZXcgPSBtX3dlYkZy
YW1lLT53ZWJWaWV3KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50LmggYi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmgKaW5kZXggZjYzNzUxMy4uZTdlM2MzMiAxMDA2NDQKLS0tIGEvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1dlYktpdC93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaApAQCAtNTYsNiArNTYsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5n
dGgoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGlu
dCBsZW5ndGhSZWNlaXZlZCk7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmluaXNoTG9h
ZGluZyhXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7
CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmFpbExvYWRpbmcoV2ViQ29yZTo6RG9jdW1l
bnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlRXJyb3ImKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMb2FkUmVzb3VyY2VCeVhN
TEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2Ny
aXB0U3RyaW5nJik7CiAgICAgdmlydHVhbCBib29sIHNob3VsZENhY2hlUmVzcG9uc2UoV2ViQ29y
ZTo6RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1bnNpZ25l
ZCBsb25nIGxvbmcgbGVuZ3RoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEhhbmRs
ZU9ubG9hZEV2ZW50cygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1dlYktp
dC93eC9DaGFuZ2VMb2cKaW5kZXggM2MyZmEyMC4uNGRiNGIzMyAxMDA2NDQKLS0tIGEvV2ViS2l0
L3d4L0NoYW5nZUxvZworKysgYi9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMDktMDQtMjMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgRnJhbWVM
b2FkZXJDbGllbnQgY2FsbGJhY2sgZm9yIHRoZSBSZXNvdXJjZVJldHJpZXZlZEJ5WE1MSHR0cFJl
cXVlc3QuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI1MzQ3CisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRXeDo6ZGlzcGF0Y2hEaWRMb2Fk
UmVzb3VyY2VCeVhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50V3guaDoKKwogMjAwOS0wNC0yOCAgS2V2aW4gV2F0dGVycyAgPGtldmlud2F0
dGVyc0BnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2V2aW4gT2xsaXZpZXIuCmRp
ZmYgLS1naXQgYS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmNw
cCBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guY3BwCmluZGV4
IDY2MDY1NDMuLmNjNjc5ODUgMTAwNjQ0Ci0tLSBhL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50V3guY3BwCisrKyBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50V3guY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VF
cnJvci5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTY3JpcHRD
b250cm9sbGVyLmgiCisjaW5jbHVkZSAiU2NyaXB0U3RyaW5nLmgiCiAKICNpbmNsdWRlIDxzdGRp
by5oPgogCkBAIC02NjUsNiArNjY2LDExIEBAIGJvb2wgRnJhbWVMb2FkZXJDbGllbnRXeDo6ZGlz
cGF0Y2hEaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoRG9jdW1lbnRMb2FkZXIqCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50V3g6OmRpc3BhdGNoRGlk
TG9hZFJlc291cmNlQnlYTUxIdHRwUmVxdWVzdCh1bnNpZ25lZCBsb25nLCBjb25zdCBTY3JpcHRT
dHJpbmcmKQoreworICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIEZyYW1lTG9hZGVyQ2xp
ZW50V3g6OmRpc3BhdGNoRGlkRmFpbFByb3Zpc2lvbmFsTG9hZChjb25zdCBSZXNvdXJjZUVycm9y
JikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4L1dlYktp
dFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5oIGIvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRXeC5oCmluZGV4IDQzYjNhOGYuLmRlNmMxZGQgMTAwNjQ0Ci0tLSBh
L1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guaAorKysgYi9XZWJL
aXQvd3gvV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmgKQEAgLTE3Miw4ICsxNzIs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERp
ZFJlY2VpdmVDb250ZW50TGVuZ3RoKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZywgaW50
KTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmluaXNoTG9hZGluZyhEb2N1bWVu
dExvYWRlciosIHVuc2lnbmVkIGxvbmcpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hE
aWRGYWlsTG9hZGluZyhEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291
cmNlRXJyb3ImKTsKLQogICAgICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hEaWRMb2FkUmVzb3Vy
Y2VGcm9tTWVtb3J5Q2FjaGUoRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgaW50KTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoRGlkTG9hZFJlc291cmNlQnlYTUxIdHRwUmVxdWVzdCh1bnNpZ25lZCBsb25nLCBjb25z
dCBTY3JpcHRTdHJpbmcmKTsKKwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGYWls
UHJvdmlzaW9uYWxMb2FkKGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICAgICAgdmlydHVhbCB2
b2lkIGRpc3BhdGNoRGlkRmFpbExvYWQoY29uc3QgUmVzb3VyY2VFcnJvciYpOwogICAgICAgICB2
aXJ0dWFsIEZyYW1lKiBkaXNwYXRjaENyZWF0ZVBhZ2UoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>