<?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>52712</bug_id>
          
          <creation_ts>2011-01-19 05:03:46 -0800</creation_ts>
          <short_desc>Add a compile-time option to disable WebArchive support</short_desc>
          <delta_ts>2011-02-13 12:29:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</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>1</everconfirmed>
          <reporter name="Jeremy Moskovich">playmobil</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>hausmann</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>336434</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-01-19 05:03:46 -0800</bug_when>
    <thetext>Allow ports such as Chromium &amp; QT to compile out WebArchive support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339534</commentid>
    <comment_count>1</comment_count>
      <attachid>80032</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-01-25 00:49:45 -0800</bug_when>
    <thetext>Created attachment 80032
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339538</commentid>
    <comment_count>2</comment_count>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-01-25 00:53:53 -0800</bug_when>
    <thetext>I added a
#endif // ENABLE(WEB_ARCHIVE)
comment to the closing #endif in cases where the #ifdef was far enough away for the scope of the #endif to be confusing.

Reviewers: If you&apos;d like me to change this, please let me know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339544</commentid>
    <comment_count>3</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-25 01:19:58 -0800</bug_when>
    <thetext>Attachment 80032 did not build on qt:
Build output: http://queues.webkit.org/results/7521301</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339548</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-25 01:38:00 -0800</bug_when>
    <thetext>Attachment 80032 did not build on gtk:
Build output: http://queues.webkit.org/results/7500319</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339554</commentid>
    <comment_count>5</comment_count>
      <attachid>80036</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-01-25 02:09:42 -0800</bug_when>
    <thetext>Created attachment 80036
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339559</commentid>
    <comment_count>6</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-25 02:38:58 -0800</bug_when>
    <thetext>Attachment 80036 did not build on qt:
Build output: http://queues.webkit.org/results/7533350</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339564</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-25 02:59:44 -0800</bug_when>
    <thetext>Attachment 80036 did not build on gtk:
Build output: http://queues.webkit.org/results/7558343</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339757</commentid>
    <comment_count>8</comment_count>
      <attachid>80036</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-25 10:58:49 -0800</bug_when>
    <thetext>Comment on attachment 80036
Patch

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

Looks reasonable to me.  Certainly if WebArchive were added today, it would have an ifdef.  I can&apos;t verify that all the placement details are correct, but it&apos;s plausible.

&gt; Source/WebCore/ChangeLog:3
&gt; +

You&apos;ve got an extra line here.

&gt; Source/WebCore/WebCore.gypi:-2096
&gt; -            &apos;loader/archive/cf/LegacyWebArchive.cpp&apos;,
&gt; -            &apos;loader/archive/cf/LegacyWebArchive.h&apos;,
&gt; -            &apos;loader/archive/cf/LegacyWebArchiveMac.mm&apos;,
&gt; -            &apos;loader/archive/Archive.h&apos;,
&gt; -            &apos;loader/archive/ArchiveFactory.cpp&apos;,
&gt; -            &apos;loader/archive/ArchiveFactory.h&apos;,
&gt; -            &apos;loader/archive/ArchiveResource.cpp&apos;,
&gt; -            &apos;loader/archive/ArchiveResource.h&apos;,
&gt; -            &apos;loader/archive/ArchiveResourceCollection.cpp&apos;,
&gt; -            &apos;loader/archive/ArchiveResourceCollection.h&apos;,

The gypi should list all files in the project, regardless of whether they&apos;re used by Chromium.

&gt; Source/WebKit2/UIProcess/WebFrameProxy.h:113
&gt;      void getWebArchive(PassRefPtr&lt;DataCallback&gt;);
&gt;      void getMainResourceData(PassRefPtr&lt;DataCallback&gt;);
&gt;      void getResourceData(WebURL*, PassRefPtr&lt;DataCallback&gt;);

This functions are mis-named (not the fault of this patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339799</commentid>
    <comment_count>9</comment_count>
      <attachid>80036</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-01-25 11:52:41 -0800</bug_when>
    <thetext>Comment on attachment 80036
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/WebFrameProxy.h:113
&gt;&gt;      void getResourceData(WebURL*, PassRefPtr&lt;DataCallback&gt;);
&gt; 
&gt; This functions are mis-named (not the fault of this patch).

They are not. These are calls that asynchronously get data. They have the word get in their names to emphasize that their results are conveyed in a way that is different from a function return value, analogous to how functions with out arguments use the word get.

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:991
&gt;  void WebPageProxy::getResourceDataFromFrame(WebFrameProxy* frame, WebURL* resourceURL, PassRefPtr&lt;DataCallback&gt; prpCallback)

This is not a web archive function. I think the conditional is wrong.

&gt; Source/WebKit2/UIProcess/WebPageProxy.h:276
&gt; +#if ENABLE(WEB_ARCHIVE)
&gt;      void getResourceDataFromFrame(WebFrameProxy*, WebURL*, PassRefPtr&lt;DataCallback&gt;);
&gt; +    void getWebArchiveOfFrame(WebFrameProxy*, PassRefPtr&lt;DataCallback&gt;);
&gt; +#endif

Removing these functions will break compilation of WKFrame.cpp for platforms that turn off WEB_ARCHIVE, so this is incomplete.

We won’t conditionalize WKFrame.h since it is an API header intended to be used outside WebKit, so we’ll need to solve that problem.

Perhaps this is why the Qt and GTK builds are broken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339814</commentid>
    <comment_count>10</comment_count>
      <attachid>80036</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-25 12:00:00 -0800</bug_when>
    <thetext>Comment on attachment 80036
Patch

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

&gt;&gt;&gt; Source/WebKit2/UIProcess/WebFrameProxy.h:113
&gt;&gt;&gt;      void getWebArchive(PassRefPtr&lt;DataCallback&gt;);
&gt;&gt;&gt;      void getMainResourceData(PassRefPtr&lt;DataCallback&gt;);
&gt;&gt;&gt;      void getResourceData(WebURL*, PassRefPtr&lt;DataCallback&gt;);
&gt;&gt; 
&gt;&gt; This functions are mis-named (not the fault of this patch).
&gt; 
&gt; They are not. These are calls that asynchronously get data. They have the word get in their names to emphasize that their results are conveyed in a way that is different from a function return value, analogous to how functions with out arguments use the word get.

Thanks!  Good to know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340203</commentid>
    <comment_count>11</comment_count>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-01-26 04:40:34 -0800</bug_when>
    <thetext>Darin: Thanks for looking this over!

The call tree for the function you mentioned seems to be:
WebPageProxy:: getResourceDataFromFrame()
     WebPage::getResourceDataFromFrame()
          DocumentLoader::subresource()

DocumentLoader::subresource() returns an ArchiveResource object.

Are ArchiveResource objects used for anything other than .webarchive support in WebKit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340345</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-01-26 10:47:43 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; The call tree for the function you mentioned seems to be:
&gt; WebPageProxy:: getResourceDataFromFrame()
&gt;      WebPage::getResourceDataFromFrame()
&gt;           DocumentLoader::subresource()
&gt; 
&gt; DocumentLoader::subresource() returns an ArchiveResource object.
&gt; 
&gt; Are ArchiveResource objects used for anything other than .webarchive support in WebKit?

This feature is used for commands like Save Image As in the Safari context menu. Commands that have nothing to do with .webarchive files. I don’t know if that answers your question.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340348</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-01-26 11:00:24 -0800</bug_when>
    <thetext>I believe this is also used to make image Copy and Paste work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342263</commentid>
    <comment_count>14</comment_count>
      <attachid>80590</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-01-30 06:23:23 -0800</bug_when>
    <thetext>Created attachment 80590
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342270</commentid>
    <comment_count>15</comment_count>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-01-30 06:39:06 -0800</bug_when>
    <thetext>New patch uploaded taking a more conservative approach:
* Don&apos;t remove DocumentLoader::subresource(), Archive &amp; ArchiveResource since they&apos;re needed for non-webArchive functionality.
* Don&apos;t touch build files for non-chromium ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342273</commentid>
    <comment_count>16</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-01-30 06:50:47 -0800</bug_when>
    <thetext>Attachment 80590 did not build on gtk:
Build output: http://queues.webkit.org/results/7506778</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342309</commentid>
    <comment_count>17</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-30 08:59:20 -0800</bug_when>
    <thetext>Attachment 80590 did not build on qt:
Build output: http://queues.webkit.org/results/7584817</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342496</commentid>
    <comment_count>18</comment_count>
      <attachid>80624</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-01-31 01:25:15 -0800</bug_when>
    <thetext>Created attachment 80624
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342506</commentid>
    <comment_count>19</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-31 01:54:20 -0800</bug_when>
    <thetext>Attachment 80624 did not build on qt:
Build output: http://queues.webkit.org/results/7567958</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342508</commentid>
    <comment_count>20</comment_count>
      <attachid>80628</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-01-31 02:07:36 -0800</bug_when>
    <thetext>Created attachment 80628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342515</commentid>
    <comment_count>21</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-31 03:07:21 -0800</bug_when>
    <thetext>Attachment 80628 did not build on qt:
Build output: http://queues.webkit.org/results/7597969</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342534</commentid>
    <comment_count>22</comment_count>
      <attachid>80633</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-01-31 04:32:52 -0800</bug_when>
    <thetext>Created attachment 80633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>346256</commentid>
    <comment_count>23</comment_count>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-02-06 02:14:01 -0800</bug_when>
    <thetext>Would be grateful if someone on the cc list could review, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348581</commentid>
    <comment_count>24</comment_count>
      <attachid>80633</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-09 14:33:28 -0800</bug_when>
    <thetext>Comment on attachment 80633
Patch

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

This looks good to me, but I&apos;m not a WebArchive expert.  I&apos;ve been avoiding reviewing this patch because folks pointed out errors in my previous review.  However, no one else seems to be reviewing this patch...  Maybe give folks some time to take another look before landing?

&gt; Source/WebCore/ChangeLog:15
&gt; +            WebArchive support is currently enabled for all ports that define PLATFORM(CF) apart from QT.

QT =&gt; Qt

&gt; Source/WebCore/WebCore.gyp/WebCore.gyp:1348
&gt; +        # Don&apos;t build files needed for WebArchive support. Since we disable
&gt; +        # this feature.

The second sentence here isn&apos;t a complete sentence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348882</commentid>
    <comment_count>25</comment_count>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-02-10 01:50:42 -0800</bug_when>
    <thetext>Thanks Adam,  I&apos;ll wait until next week to land (with fixes for your latest comments).

I want to make sure everyone else has time to take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350359</commentid>
    <comment_count>26</comment_count>
      <attachid>82251</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-02-12 23:53:38 -0800</bug_when>
    <thetext>Created attachment 82251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350360</commentid>
    <comment_count>27</comment_count>
      <attachid>82252</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-02-12 23:57:33 -0800</bug_when>
    <thetext>Created attachment 82252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350436</commentid>
    <comment_count>28</comment_count>
      <attachid>82252</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-13 12:28:58 -0800</bug_when>
    <thetext>Comment on attachment 82252
Patch

Clearing flags on attachment: 82252

Committed r78439: &lt;http://trac.webkit.org/changeset/78439&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350437</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-13 12:29:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80032</attachid>
            <date>2011-01-25 00:49:45 -0800</date>
            <delta_ts>2011-01-25 02:09:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52712-20110125104942.patch</filename>
            <type>text/plain</type>
            <size>20187</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGE3ZjA1ZjRkMWMyM2IwNDA5MThlY2I1MzBjOTJk
NmU1ZDhhOWVmM2IuLjY3ZjExOTU1NTVjNmYxZmQwNjVhY2JmYjcwMzI0NTAwNTExNDBjNTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTAxLTI0ICBKZXJl
bXkgTW9za292aWNoICA8amVyZW15QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBjb21waWxlLXRpbWUgb3B0aW9uIHRv
IGNvbXBsZXRlbHkgZGlzYWJsZSBXZWJBcmNoaXZlIHN1cHBvcnQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjcxMgorCisgICAgICAgIEFkZCBhbiBF
TkFCTEUoV0VCX0FSQ0hJVkUpIGNvbXBpbGUtdGltZSBzZXR0aW5nIGFuZCB1c2UgaXQgZm9yIGFs
bCBXZWJBcmNoaXZlIGNvZGUuCisgICAgICAgIFBvcnRzIEFmZmVjdGVkOgorICAgICAgICBXZWJB
cmNoaXZlIHN1cHBvcnQgaXMgY3VycmVudGx5IGVuYWJsZWQgZm9yIGFsbCBwb3J0cyB0aGF0IGRl
ZmluZSBQTEFURk9STShDRikgYXBhcnQgZnJvbSBRVC4KKyAgICAgICAgVGhpcyBwYXRjaCBwcmVz
ZXJ2ZXMgdGhpcyBiZWhhdmlvciBleGNlcHQgdGhhdCBpdCBhbHNvIGRpc2FibGVzIHN1cHBvcnQg
aW4gdGhlIENocm9taXVtIHBvcnQuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDogQWRkIEVO
QUJMRV9XRUJfQVJDSElWRSBkZWZpbml0aW9uIGFuZCB0dXJuIGl0IG9mZiBleHBsaWNpdGx5IGZv
ciBRVCAmIENocm9taXVtIHBvcnRzLgorCiAyMDExLTAxLTI0ICBBZGFtIFJvYmVuICA8YXJvYmVu
QGFwcGxlLmNvbT4KIAogICAgICAgICBXaW5kb3dzIFByb2R1Y3Rpb24gYnVpbGQgZml4CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKaW5kZXggMzRiNmNkZWJjZWU2MDBhMjY2ZGMyY2Q0
NmU3Y2NhMDZjYjRkODdjMi4uMjRmMGU2NWUzYWJjYjRiNjhlMTE4NjEyNDc5ZDE5M2Y1YWVhOWRm
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaApAQCAtNjE2LDYgKzYxNiw3IEBA
CiAjZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAxCiAjZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSAxCiAjZGVmaW5lIEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HIDEKKyNkZWZpbmUgRU5BQkxF
X1dFQl9BUkNISVZFIDEKICNlbmRpZiAvKiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1Mp
ICovCiAKICNpZiBQTEFURk9STShNQUMpCkBAIC02NTYsNiArNjU3LDcgQEAKICNkZWZpbmUgV1RG
X1BMQVRGT1JNX0NGIDEKICNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCiAjZGVmaW5lIEhBVkVf
UFRIUkVBRF9SV0xPQ0sgMQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShBTkRST0lEKQpAQCAtNjc4LDYgKzY4MCwxMCBAQAogI2RlZmluZSBXVEZf
VVNFX1BUSFJFQURTIDAKICNlbmRpZgogCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0Up
ICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFFUKQorI2RlZmluZSBFTkFCTEVf
V0VCX0FSQ0hJVkUgMQorI2VuZGlmCisKICNpZiBQTEFURk9STShXWCkKICNkZWZpbmUgRU5BQkxF
X0FTU0VNQkxFUiAxCiAjZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMApAQCAt
Njg1LDYgKzY5MSw3IEBACiAjZGVmaW5lIFdURl9QTEFURk9STV9DRiAxCiAjaWZuZGVmIEJVSUxE
SU5HX09OX1RJR0VSCiAjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKKyNkZWZpbmUgRU5BQkxF
X1dFQl9BUkNISVZFIDEKICNlbHNlCiAjZGVmaW5lIFdURl9VU0VfQVRTVUkgMQogI2VuZGlmCkBA
IC0xMDYwLDYgKzEwNjcsMTAgQEAKICNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMAog
I2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FSQ0hJVkUpCisjZGVmaW5lIEVOQUJM
RV9XRUJfQVJDSElWRSAwCisjZW5kaWYKKwogLyogVXNlIHRoZSBRWG1sU3RyZWFtUmVhZGVyIGlt
cGxlbWVudGF0aW9uIGZvciBYTUxEb2N1bWVudFBhcnNlciAqLwogLyogVXNlIHRoZSBRWG1sUXVl
cnkgaW1wbGVtZW50YXRpb24gZm9yIFhTTFRQcm9jZXNzb3IgKi8KICNpZiBQTEFURk9STShRVCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwMjgxODViOGYyMTYyYWM5YjI3ZTUwOGM3Yjk3ZmEyNGUwNzM1Zjg3Li4z
OGM5OTU4N2ExM2QyZTdmMDI5YzNjZjdmZjZhODJiMTg0ODIyOThmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzcgQEAKKzIwMTEtMDEtMjUgIEplcmVteSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hyb21p
dW0ub3JnPgorCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGEgY29tcGlsZS10aW1lIG9wdGlvbiB0byBjb21wbGV0ZWx5IGRpc2FibGUgV2ViQXJj
aGl2ZSBzdXBwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTI3MTIKKworICAgICAgICBBZGQgYW4gRU5BQkxFKFdFQl9BUkNISVZFKSBjb21waWxl
LXRpbWUgc2V0dGluZyBhbmQgdXNlIGl0IGZvciBhbGwgV2ViQXJjaGl2ZSBjb2RlLgorICAgICAg
ICBQb3J0cyBBZmZlY3RlZDoKKyAgICAgICAgV2ViQXJjaGl2ZSBzdXBwb3J0IGlzIGN1cnJlbnRs
eSBlbmFibGVkIGZvciBhbGwgcG9ydHMgdGhhdCBkZWZpbmUgUExBVEZPUk0oQ0YpIGFwYXJ0IGZy
b20gUVQuCisgICAgICAgIFRoaXMgcGF0Y2ggcHJlc2VydmVzIHRoaXMgYmVoYXZpb3IgZXhjZXB0
IHRoYXQgaXQgYWxzbyBkaXNhYmxlcyBzdXBwb3J0IGluIHRoZSBDaHJvbWl1bSBwb3J0LgorCisg
ICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZXMgc28gbm8gbmV3IHRlc3RzLgorCisgICAgICAgICog
V2ViQ29yZS5neXAvV2ViQ29yZS5neXA6IFJlbW92ZSBsb2FkZXIvYXJjaGl2ZSBmaWxlcyBzaW5j
ZSBmZWF0dXJlIGlzIGRpc2FibGVkIGluIENocm9taXVtIHBvcnQuCisgICAgICAgICogV2ViQ29y
ZS5neXBpOiBSZW1vdmUgbG9hZGVyL2FyY2hpdmUgZmlsZXMgc2luY2UgZmVhdHVyZSBpcyBkaXNh
YmxlZCBpbiBDaHJvbWl1bSBwb3J0LgorICAgICAgICAqIFdlYkNvcmUucHJvOiBSZW1vdmUgbG9h
ZGVyL2FyY2hpdmUgZmlsZXMgc2luY2UgZmVhdHVyZSBpcyBkaXNhYmxlZCBpbiBRVCBwb3J0Lgor
ICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6ICBTdXJyb3VuZCBhcmNoaXZlIGNv
ZGUgd2l0aCBFTkFCTEUoV0VCX0FSQ0hJVkUpCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExv
YWRlcjo6Y29tbWl0TG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c2V0
dXBGb3JSZXBsYWNlQnlNSU1FVHlwZSk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVy
Lmg6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjpsb2FkVVJMSW50b0NoaWxkRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVMb2FkZXI6OnN0b3BBbGxMb2FkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpmaW5pc2hlZExvYWRpbmdEb2N1bWVudCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9h
ZGVyLmg6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlTG9hZGVyOjpzdGFydCk6CisgICAgICAgICogbG9hZGVyL2FyY2hpdmUv
QXJjaGl2ZUZhY3RvcnkuY3BwOiBSZW1vdmUgI2lmZGVmIHNpbmNlIGZlYXR1cmUgaXMgbm93IGVu
YWJsZWQvZGlzYWJsZWQgd2hvbGVzYWxlLgorICAgICAgICAoV2ViQ29yZTo6YXJjaGl2ZU1JTUVU
eXBlcyk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0
aW5ncy5oOgorCiAyMDExLTAxLTI0ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDI1OTRkMjk5MDRmMzkzOTAxMmY1NWJhYzkyYTA2ZmZm
MWE2OWJjNWQuLjk4NmQwMzZlYmEyZWI0ZjA3MjM4ZjQ0NmQzNzQzMWJhOWQ5OWFlY2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC0xMzcsNyArMTM3LDYgQEAKICAg
ICAgICcuLi9pbnNwZWN0b3InLAogICAgICAgJy4uL2xvYWRlcicsCiAgICAgICAnLi4vbG9hZGVy
L2FwcGNhY2hlJywKLSAgICAgICcuLi9sb2FkZXIvYXJjaGl2ZScsCiAgICAgICAnLi4vbG9hZGVy
L2NhY2hlJywKICAgICAgICcuLi9sb2FkZXIvaWNvbicsCiAgICAgICAnLi4vbWF0aG1sJywKQEAg
LTI0OCw3ICsyNDcsNiBAQAogICAgICAgICAgICMgRklYTUU6IEVsaW1pbmF0ZSBkZXBlbmRlbmN5
IG9uIHBsYXRmb3JtL2dyYXBoaWNzL21hYyBhbmQKICAgICAgICAgICAjIHJlbGF0ZWQgZGlyZWN0
b3JpZXMuCiAgICAgICAgICAgIyBwbGF0Zm9ybS9ncmFwaGljcy9jZyBtYXkgbmVlZCB0byBzdGlj
ayBhcm91bmQsIHRob3VnaC4KLSAgICAgICAgICAnLi4vbG9hZGVyL2FyY2hpdmUvY2YnLAogICAg
ICAgICAgICcuLi9wbGF0Zm9ybS9hdWRpby9tYWMnLAogICAgICAgICAgICcuLi9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMnLAogICAgICAgICAgICcuLi9wbGF0Zm9ybS9tYWMnLApAQCAtMTIwMCw3ICsx
MTk4LDYgQEAKICAgICAgICAgICAgICMgU29tZSBvZiB0aGVzZSBhcmUgdXNlZCBpbnN0ZWFkIG9m
IENocm9taXVtIHBsYXRmb3JtIGZpbGVzLCBzZWUKICAgICAgICAgICAgICMgdGhlIHNwZWNpZmlj
IGV4Y2x1c2lvbnMgaW4gdGhlICJzb3VyY2VzISIgbGlzdCBiZWxvdy4KICAgICAgICAgICAgIFsn
aW5jbHVkZScsICdyZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWNcXC5tbSQnXSwKLSAgICAgICAgICAg
IFsnaW5jbHVkZScsICdsb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlXFwuY3BwJCdd
LAogICAgICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db2xvck1h
Y1xcLm1tJCddLAogICAgICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9GbG9hdFBvaW50TWFjXFwubW0kJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0Zsb2F0UmVjdE1hY1xcLm1tJCddLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IGFjNmZlNmIxYjkwZGVhZTlkNDVjM2ZlZTIzMjRlZTdiNmRkNjVjNTQuLjQ0ZDI0NTY2NzRkODI5
NzkxMGU2YmEzYjlhNWI5MTgwY2M1MzQ1MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIwODQsMTYg
KzIwODQsNiBAQAogICAgICAgICAgICAgJ2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNh
Y2hlLmgnLAogICAgICAgICAgICAgJ2xvYWRlci9hcHBjYWNoZS9NYW5pZmVzdFBhcnNlci5jcHAn
LAogICAgICAgICAgICAgJ2xvYWRlci9hcHBjYWNoZS9NYW5pZmVzdFBhcnNlci5oJywKLSAgICAg
ICAgICAgICdsb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlLmNwcCcsCi0gICAgICAg
ICAgICAnbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5oJywKLSAgICAgICAgICAg
ICdsb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlTWFjLm1tJywKLSAgICAgICAgICAg
ICdsb2FkZXIvYXJjaGl2ZS9BcmNoaXZlLmgnLAotICAgICAgICAgICAgJ2xvYWRlci9hcmNoaXZl
L0FyY2hpdmVGYWN0b3J5LmNwcCcsCi0gICAgICAgICAgICAnbG9hZGVyL2FyY2hpdmUvQXJjaGl2
ZUZhY3RvcnkuaCcsCi0gICAgICAgICAgICAnbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNl
LmNwcCcsCi0gICAgICAgICAgICAnbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlLmgnLAot
ICAgICAgICAgICAgJ2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uY3Bw
JywKLSAgICAgICAgICAgICdsb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9u
LmgnLAogICAgICAgICAgICAgJ2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAnLAogICAgICAg
ICAgICAgJ2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oJywKICAgICAgICAgICAgICdsb2FkZXIv
Y2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBjYjUzZjM5
OGNlYmUxYzQ4MjhiNDJkNTc1MTkxYzNiODhiZDgyNzRjLi45OWI4MTIwNDZiZGM4Njc0NDU2ODZm
MzQyYmZmYWExYzQ1MjYwNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBy
bworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjQxLDcgKzI0MSw2IEBAIFdF
QkNPUkVfSU5DTFVERVBBVEggPSBcCiAgICAgJCRQV0QvaW5zcGVjdG9yIFwKICAgICAkJFBXRC9s
b2FkZXIgXAogICAgICQkUFdEL2xvYWRlci9hcHBjYWNoZSBcCi0gICAgJCRQV0QvbG9hZGVyL2Fy
Y2hpdmUgXAogICAgICQkUFdEL2xvYWRlci9jYWNoZSBcCiAgICAgJCRQV0QvbG9hZGVyL2ljb24g
XAogICAgICQkUFdEL21hdGhtbCBcCkBAIC0xMDcxLDkgKzEwNzAsNiBAQCBTT1VSQ0VTICs9IFwK
ICAgICBpbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCiAgICAgaW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFjay5jcHAgXAogICAgIGluc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3Bw
IFwKLSAgICBsb2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9yeS5jcHAgXAotICAgIGxvYWRlci9h
cmNoaXZlL0FyY2hpdmVSZXNvdXJjZS5jcHAgXAotICAgIGxvYWRlci9hcmNoaXZlL0FyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24uY3BwIFwKICAgICBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3Bw
IFwKICAgICBsb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAgXAogICAgIGxvYWRl
ci9jYWNoZS9DYWNoZWRGb250LmNwcCBcCkBAIC0xOTc0LDkgKzE5NzAsNiBAQCBIRUFERVJTICs9
IFwKICAgICBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCBcCiAgICAg
bG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaCBcCiAgICAgbG9hZGVyL2FwcGNh
Y2hlL01hbmlmZXN0UGFyc2VyLmggXAotICAgIGxvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5
LmggXAotICAgIGxvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaCBcCi0g
ICAgbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlLmggXAogICAgIGxvYWRlci9jYWNoZS9D
YWNoZWRDU1NTdHlsZVNoZWV0LmggXAogICAgIGxvYWRlci9jYWNoZS9DYWNoZWRGb250LmggXAog
ICAgIGxvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwCmluZGV4IDJmMjEwNjY3OTNkMzQ2YjBjNmI4NGJiZTAxNmVmOTcxNWU3
ZDIxODEuLmIwMDI3MGEyZWY0MDA5OGMyZTUxMWQzZTAzZDA2NDM4OGU0ZGUwYjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMzAsOCArMzAsNiBAQAogI2lu
Y2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlSG9z
dC5oIgotI2luY2x1ZGUgIkFyY2hpdmVGYWN0b3J5LmgiCi0jaW5jbHVkZSAiQXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbi5oIgogI2luY2x1ZGUgIkNhY2hlZFBhZ2UuaCIKICNpbmNsdWRlICJDYWNo
ZWRSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgpAQCAtNDksMTEgKzQ3
LDE3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5o
IgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgorI2luY2x1ZGUgIlN1YnN0aXR1dGVSZXNvdXJj
ZS5oIgogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCisjaWYgRU5BQkxF
KFdFQl9BUkNISVZFKQorI2luY2x1ZGUgIkFyY2hpdmVGYWN0b3J5LmgiCisjaW5jbHVkZSAiQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogc3RhdGljIHZvaWQgY2FuY2VsQWxsKGNvbnN0IFJlc291cmNlTG9hZGVyU2V0JiBsb2FkZXJz
KQpAQCAtMjkwLDggKzI5NCwxMCBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpjb21taXRMb2FkKGNv
bnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpCiAgICAgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVy
ID0gRG9jdW1lbnRMb2FkZXI6OmZyYW1lTG9hZGVyKCk7CiAgICAgaWYgKCFmcmFtZUxvYWRlcikK
ICAgICAgICAgcmV0dXJuOworI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICBpZiAoQXJjaGl2
ZUZhY3Rvcnk6OmlzQXJjaGl2ZU1pbWVUeXBlKHJlc3BvbnNlKCkubWltZVR5cGUoKSkpCiAgICAg
ICAgIHJldHVybjsKKyNlbmRpZgogICAgIGZyYW1lTG9hZGVyLT5jbGllbnQoKS0+Y29tbWl0dGVk
TG9hZCh0aGlzLCBkYXRhLCBsZW5ndGgpOwogfQogCkBAIC0zNDksNyArMzU1LDkgQEAgdm9pZCBE
b2N1bWVudExvYWRlcjo6c2V0dXBGb3JSZXBsYWNlQnlNSU1FVHlwZShjb25zdCBTdHJpbmcmIG5l
d01JTUVUeXBlKQogICAgIAogICAgIHN0b3BMb2FkaW5nU3VicmVzb3VyY2VzKCk7CiAgICAgc3Rv
cExvYWRpbmdQbHVnSW5zKCk7CisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogICAgIGNsZWFyQXJj
aGl2ZVJlc291cmNlcygpOworI2VuZGlmCiB9CiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnVwZGF0
ZUxvYWRpbmcoKQpAQCAtNDM2LDYgKzQ0NCw3IEBAIGJvb2wgRG9jdW1lbnRMb2FkZXI6OmlzTG9h
ZGluZ0luQVBJU2Vuc2UoKSBjb25zdAogICAgIHJldHVybiBmcmFtZUxvYWRlcigpLT5zdWJmcmFt
ZUlzTG9hZGluZygpOwogfQogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogdm9pZCBEb2N1bWVu
dExvYWRlcjo6YWRkQWxsQXJjaGl2ZVJlc291cmNlcyhBcmNoaXZlKiBhcmNoaXZlKQogewogICAg
IGlmICghbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uKQpAQCAtNTQxLDYgKzU1MCw3IEBAIHZv
aWQgRG9jdW1lbnRMb2FkZXI6OmdldFN1YnJlc291cmNlcyhWZWN0b3I8UGFzc1JlZlB0cjxBcmNo
aXZlUmVzb3VyY2U+ID4mIHN1YnJlCiAKICAgICByZXR1cm47CiB9CisjZW5kaWYgLy8gRU5BQkxF
KFdFQl9BUkNISVZFKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0ZVJl
c291cmNlc0FmdGVyRGVsYXkoKQogewpAQCAtNTk5LDYgKzYwOSw3IEBAIHZvaWQgRG9jdW1lbnRM
b2FkZXI6OmNhbmNlbFBlbmRpbmdTdWJzdGl0dXRlTG9hZChSZXNvdXJjZUxvYWRlciogbG9hZGVy
KQogICAgICAgICBtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIuc3RvcCgpOwogfQog
CisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogYm9vbCBEb2N1bWVudExvYWRlcjo6c2NoZWR1bGVB
cmNoaXZlTG9hZChSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IEtVUkwmIG9yaWdpbmFsVVJMKQogewogICAgIEFyY2hpdmVSZXNvdXJj
ZSogcmVzb3VyY2UgPSAwOwpAQCAtNjE5LDYgKzYzMCw3IEBAIGJvb2wgRG9jdW1lbnRMb2FkZXI6
OnNjaGVkdWxlQXJjaGl2ZUxvYWQoUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3Vy
Y2VSCiAgICAgCiAgICAgcmV0dXJuIHRydWU7CiB9CisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BUkNI
SVZFKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjphZGRSZXNwb25zZShjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAppbmRleCA3
NzI1MDM4NDZiZWY5ZDcxNTE4ZTQ2N2NhNmZkNjM5ZTJkODBiNGFjLi4zZGJmMzE0YzI3NTc0YTI1
ZTk1NzY3MDdhNWYxNWQyMGZjNjU5MDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuaApAQCAtNDMsOSArNDMsMTEgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNs
YXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0OworI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICBj
bGFzcyBBcmNoaXZlOwogICAgIGNsYXNzIEFyY2hpdmVSZXNvdXJjZTsKICAgICBjbGFzcyBBcmNo
aXZlUmVzb3VyY2VDb2xsZWN0aW9uOworI2VuZGlmCiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xh
c3MgRnJhbWVMb2FkZXI7CiAgICAgY2xhc3MgTWFpblJlc291cmNlTG9hZGVyOwpAQCAtMTI0LDYg
KzEyNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCB1bnNjaGVkdWxlKFNj
aGVkdWxlUGFpciopOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgICAg
IHZvaWQgYWRkQWxsQXJjaGl2ZVJlc291cmNlcyhBcmNoaXZlKik7CiAgICAgICAgIHZvaWQgYWRk
QXJjaGl2ZVJlc291cmNlKFBhc3NSZWZQdHI8QXJjaGl2ZVJlc291cmNlPik7CiAgICAgICAgIApA
QCAtMTQyLDYgKzE0NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBnZXRT
dWJyZXNvdXJjZXMoVmVjdG9yPFBhc3NSZWZQdHI8QXJjaGl2ZVJlc291cmNlPiA+JikgY29uc3Q7
CiAgICAgICAgIAogICAgICAgICBib29sIHNjaGVkdWxlQXJjaGl2ZUxvYWQoUmVzb3VyY2VMb2Fk
ZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBLVVJMJik7CisjZW5kaWYgLy8gRU5B
QkxFKFdFQl9BUkNISVZFKQorCiAjaWZuZGVmIE5ERUJVRwogICAgICAgICBib29sIGlzU3Vic3Rp
dHV0ZUxvYWRQZW5kaW5nKFJlc291cmNlTG9hZGVyKikgY29uc3Q7CiAjZW5kaWYKQEAgLTMwMSw5
ICszMDYsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8
UmVmUHRyPFJlc291cmNlTG9hZGVyPiwgUmVmUHRyPFN1YnN0aXR1dGVSZXNvdXJjZT4gPiBTdWJz
dGl0dXRlUmVzb3VyY2VNYXA7CiAgICAgICAgIFN1YnN0aXR1dGVSZXNvdXJjZU1hcCBtX3BlbmRp
bmdTdWJzdGl0dXRlUmVzb3VyY2VzOwogICAgICAgICBUaW1lcjxEb2N1bWVudExvYWRlcj4gbV9z
dWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyOwotICAgICAgICAgICAgICAgIAorCisjaWYg
RU5BQkxFKFdFQl9BUkNISVZFKQogICAgICAgICBPd25QdHI8QXJjaGl2ZVJlc291cmNlQ29sbGVj
dGlvbj4gbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uOwogICAgICAgICBSZWZQdHI8U2hhcmVk
QnVmZmVyPiBtX3BhcnNlZEFyY2hpdmVEYXRhOworI2VuZGlmCiAKICAgICAgICAgSGFzaFNldDxT
dHJpbmc+IG1fcmVzb3VyY2VzQ2xpZW50S25vd3NBYm91dDsKICAgICAgICAgVmVjdG9yPFN0cmlu
Zz4gbV9yZXNvdXJjZXNMb2FkZWRGcm9tTWVtb3J5Q2FjaGVGb3JDbGllbnROb3RpZmljYXRpb247
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAxMTI5YmFjNjhiOTBjMzVk
YWY4NTZiOWZjZWRlOTVmYjAzODQzMmYwLi5mZGUzNjEyN2E3MTU1YTJiYjg4YzRmYzM1MGY4ZGZk
N2JhNjIyZDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTM0LDgg
KzM0LDYgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogCiAjaW5jbHVkZSAiQXBwbGljYXRp
b25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlICJBcmNoaXZlLmgiCi0jaW5jbHVkZSAiQXJjaGl2ZUZh
Y3RvcnkuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJC
ZWZvcmVVbmxvYWRFdmVudC5oIgogI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCkBAIC0xMTMsNiAr
MTExLDExIEBACiAjaW5jbHVkZSAiU1ZHVmlld1NwZWMuaCIKICNlbmRpZgogCisjaWYgRU5BQkxF
KFdFQl9BUkNISVZFKQorI2luY2x1ZGUgIkFyY2hpdmUuaCIKKyNpbmNsdWRlICJBcmNoaXZlRmFj
dG9yeS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNl
IEhUTUxOYW1lczsKQEAgLTkxMywxMSArOTE2LDEzIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRV
UkxJbnRvQ2hpbGRGcmFtZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcmVmZXJlciwK
IHsKICAgICBBU1NFUlQoY2hpbGRGcmFtZSk7CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAg
ICAgUmVmUHRyPEFyY2hpdmU+IHN1YmZyYW1lQXJjaGl2ZSA9IGFjdGl2ZURvY3VtZW50TG9hZGVy
KCktPnBvcEFyY2hpdmVGb3JTdWJmcmFtZShjaGlsZEZyYW1lLT50cmVlKCktPnVuaXF1ZU5hbWUo
KSk7ICAgIAogICAgIGlmIChzdWJmcmFtZUFyY2hpdmUpIHsKICAgICAgICAgY2hpbGRGcmFtZS0+
bG9hZGVyKCktPmxvYWRBcmNoaXZlKHN1YmZyYW1lQXJjaGl2ZS5yZWxlYXNlKCkpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQorI2VuZGlmIC8vIEVOQUJMRShXRUJfQVJDSElWRSkKIAogICAgIEhp
c3RvcnlJdGVtKiBwYXJlbnRJdGVtID0gaGlzdG9yeSgpLT5jdXJyZW50SXRlbSgpOwogICAgIC8v
IElmIHdlJ3JlIG1vdmluZyBpbiB0aGUgYmFjay9mb3J3YXJkIGxpc3QsIHdlIG1pZ2h0IHdhbnQg
dG8gcmVwbGFjZSB0aGUgY29udGVudApAQCAtOTMzLDYgKzkzOCw3IEBAIHZvaWQgRnJhbWVMb2Fk
ZXI6OmxvYWRVUkxJbnRvQ2hpbGRGcmFtZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
cmVmZXJlciwKICAgICBjaGlsZEZyYW1lLT5sb2FkZXIoKS0+bG9hZFVSTCh1cmwsIHJlZmVyZXIs
IFN0cmluZygpLCBmYWxzZSwgRnJhbWVMb2FkVHlwZVJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3
YXJkTGlzdCwgMCwgMCk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiB2b2lkIEZyYW1l
TG9hZGVyOjpsb2FkQXJjaGl2ZShQYXNzUmVmUHRyPEFyY2hpdmU+IHBycEFyY2hpdmUpCiB7CiAg
ICAgUmVmUHRyPEFyY2hpdmU+IGFyY2hpdmUgPSBwcnBBcmNoaXZlOwpAQCAtOTUzLDYgKzk1OSw3
IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRBcmNoaXZlKFBhc3NSZWZQdHI8QXJjaGl2ZT4gcHJw
QXJjaGl2ZSkKICAgICBkb2N1bWVudExvYWRlci0+YWRkQWxsQXJjaGl2ZVJlc291cmNlcyhhcmNo
aXZlLmdldCgpKTsKICAgICBsb2FkKGRvY3VtZW50TG9hZGVyLmdldCgpKTsKIH0KKyNlbmRpZiAv
LyBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAKIE9iamVjdENvbnRlbnRUeXBlIEZyYW1lTG9hZGVyOjpk
ZWZhdWx0T2JqZWN0Q29udGVudFR5cGUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1p
bWVUeXBlSW4pCiB7CkBAIC0xNzE1LDggKzE3MjIsMTAgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3Rv
cEFsbExvYWRlcnMoRGF0YWJhc2VQb2xpY3kgZGF0YWJhc2VQb2xpY3ksIENsZWFyUHJvdmlzaW9u
YWwKIAogICAgIHNldFByb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIoMCk7CiAgICAgCisjaWYgRU5B
QkxFKFdFQl9BUkNISVZFKQogICAgIGlmIChtX2RvY3VtZW50TG9hZGVyKQogICAgICAgICBtX2Rv
Y3VtZW50TG9hZGVyLT5jbGVhckFyY2hpdmVSZXNvdXJjZXMoKTsKKyNlbmRpZgogCiAgICAgbV9j
aGVja1RpbWVyLnN0b3AoKTsKIApAQCAtMjIzMyw2ICsyMjQyLDkgQEAgdm9pZCBGcmFtZUxvYWRl
cjo6ZmluaXNoZWRMb2FkaW5nRG9jdW1lbnQoRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikKICAgICAg
ICAgcmV0dXJuOwogI2VuZGlmCiAKKyNpZiAhRU5BQkxFKFdFQl9BUkNISVZFKQorICAgIG1fY2xp
ZW50LT5maW5pc2hlZExvYWRpbmcobG9hZGVyKTsKKyNlbHNlCiAgICAgLy8gR2l2ZSBhcmNoaXZl
IG1hY2hpbmVyeSBhIGNyYWNrIGF0IHRoaXMgZG9jdW1lbnQuIElmIHRoZSBNSU1FIHR5cGUgaXMg
bm90IGFuIGFyY2hpdmUgdHlwZSwgaXQgd2lsbCByZXR1cm4gMC4KICAgICBSZWZQdHI8QXJjaGl2
ZT4gYXJjaGl2ZSA9IEFyY2hpdmVGYWN0b3J5OjpjcmVhdGUobG9hZGVyLT5tYWluUmVzb3VyY2VE
YXRhKCkuZ2V0KCksIGxvYWRlci0+cmVzcG9uc2VNSU1FVHlwZSgpKTsKICAgICBpZiAoIWFyY2hp
dmUpIHsKQEAgLTIyNTcsNiArMjI2OSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmZpbmlzaGVkTG9h
ZGluZ0RvY3VtZW50KERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgYm9vbCBlbmNvZGluZ0lz
VXNlckNob3NlbiA9ICF1c2VyQ2hvc2VuRW5jb2RpbmcuaXNOdWxsKCk7CiAgICAgd3JpdGVyKCkt
PnNldEVuY29kaW5nKGVuY29kaW5nSXNVc2VyQ2hvc2VuID8gdXNlckNob3NlbkVuY29kaW5nIDog
bWFpblJlc291cmNlLT50ZXh0RW5jb2RpbmcoKSwgZW5jb2RpbmdJc1VzZXJDaG9zZW4pOwogICAg
IHdyaXRlcigpLT5hZGREYXRhKG1haW5SZXNvdXJjZS0+ZGF0YSgpLT5kYXRhKCksIG1haW5SZXNv
dXJjZS0+ZGF0YSgpLT5zaXplKCkpOworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVJDSElWRSkKIH0K
IAogYm9vbCBGcmFtZUxvYWRlcjo6aXNSZXBsYWNpbmcoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuaAppbmRleCA0MjdjZGVlMzYzNmYwZWQ2ZDg3NzU1MTdjNmQ3NWZlYzRjODkw
YzQ0Li5hM2ExYmZhZDQwNThmMDgxMjBhY2FhYmI1YWFjNGFkYThiNzc3YzIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAtMTE4LDggKzExOCwxMCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBsb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGJvb2wgbG9ja0hpc3RvcnkpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDYWxsZWQgYnkgV2ViRnJhbWUs
IGNhbGxzIGxvYWQoUmVzb3VyY2VSZXF1ZXN0LCBTdWJzdGl0dXRlRGF0YSkuCiAgICAgdm9pZCBs
b2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiwgYm9vbCBs
b2NrSGlzdG9yeSk7ICAgICAgICAgICAgICAgICAvLyBDYWxsZWQgYm90aCBieSBXZWJGcmFtZSBh
bmQgaW50ZXJuYWxseSwgY2FsbHMgbG9hZChEb2N1bWVudExvYWRlciopLgogICAgIHZvaWQgbG9h
ZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgYm9vbCBs
b2NrSGlzdG9yeSk7ICAgICAgICAgICAgICAgLy8gQ2FsbGVkIGJ5IFdlYlBsdWdpbkNvbnRyb2xs
ZXIuCi0gICAgCisKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgdm9pZCBsb2FkQXJjaGl2
ZShQYXNzUmVmUHRyPEFyY2hpdmU+KTsKKyNlbmRpZgogCiAgICAgc3RhdGljIHZvaWQgcmVwb3J0
TG9jYWxMb2FkRmFpbGVkKEZyYW1lKiwgY29uc3QgU3RyaW5nJiB1cmwpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA0MmNlMDE2Yjg1ZDVjMDlkZGM5NTI4
YjdlYzliZWRjMzRkYjdhNDI0Li5lMDhlMTkwNmEwOTU1ZmI0NDM0MTlkNjViOGM2MDYyYTg1Y2Rk
MDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTE0NSw4
ICsxNDUsMTAgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6c3RhcnQoKQogICAgIEFTU0VSVCghbV9y
ZXF1ZXN0LmlzTnVsbCgpKTsKICAgICBBU1NFUlQobV9kZWZlcnJlZFJlcXVlc3QuaXNOdWxsKCkp
OwogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogICAgIGlmIChtX2RvY3VtZW50TG9hZGVyLT5z
Y2hlZHVsZUFyY2hpdmVMb2FkKHRoaXMsIG1fcmVxdWVzdCwgbV9yZXF1ZXN0LnVybCgpKSkKICAg
ICAgICAgcmV0dXJuOworI2VuZGlmCiAgICAgCiAjaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJ
Q0FUSU9OUykKICAgICBpZiAobV9kb2N1bWVudExvYWRlci0+YXBwbGljYXRpb25DYWNoZUhvc3Qo
KS0+bWF5YmVMb2FkUmVzb3VyY2UodGhpcywgbV9yZXF1ZXN0LCBtX3JlcXVlc3QudXJsKCkpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3Rvcnku
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwCmlu
ZGV4IDJlMTA4YzU0OTQ2YWIwNjA3MmZkNWJhOGNmMjRjOTZhMmM5YjY1NjAuLjA0YTAxMDFlNTRm
MmRkZjE5NGEwZmY3OGYzZjAwYzc5YWE0YTQ4MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9yeS5jcHAKQEAgLTYwLDkgKzYwLDcgQEAgc3RhdGlj
IEFyY2hpdmVNSU1FVHlwZXNNYXAmIGFyY2hpdmVNSU1FVHlwZXMoKQogICAgIGlmIChpbml0aWFs
aXplZCkKICAgICAgICAgcmV0dXJuIG1pbWVUeXBlczsKIAotI2lmIFBMQVRGT1JNKENGKSAmJiAh
UExBVEZPUk0oUVQpCiAgICAgbWltZVR5cGVzLnNldCgiYXBwbGljYXRpb24veC13ZWJhcmNoaXZl
IiwgYXJjaGl2ZUZhY3RvcnlDcmVhdGU8TGVnYWN5V2ViQXJjaGl2ZT4pOwotI2VuZGlmCiAKICAg
ICBpbml0aWFsaXplZCA9IHRydWU7CiAgICAgcmV0dXJuIG1pbWVUeXBlczsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5jcHAKaW5kZXggZDg3NmUyYjk1MDhjOTFmNGEzMDBiNTUyNWY2MWQ1MjAyMDRjNTU0
My4uMDU3MjJlNGE1ODNjOGIxNjYxN2JhMzg0OTFjNDM3YWE2OWM1NDViYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5jcHAKQEAgLTUxMCwxMCArNTEwLDEyIEBAIHZvaWQgU2V0dGluZ3M6OnNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBmcmFtZUZsYXR0ZW5pbmdFbmFibGVkKQogICAgIG1f
ZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCA9IGZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7CiB9CiAKKyNp
ZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiB2b2lkIFNldHRpbmdzOjpzZXRXZWJBcmNoaXZlRGVidWdN
b2RlRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgbV93ZWJBcmNoaXZlRGVidWdNb2RlRW5h
YmxlZCA9IGVuYWJsZWQ7CiB9CisjZW5kaWYKIAogdm9pZCBTZXR0aW5nczo6c2V0TG9jYWxGaWxl
Q29udGVudFNuaWZmaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmgKaW5kZXggNzJjNDcwM2M2ZGYzZjZhNWZlOGIzMmI3ZGQwZmVjMjQ1ZmU0ODkxOC4uYTRhZjkz
YmFlNTFkODM2MmRiYjNiZmVmMmJkNjE2YTNjYzUxMzc4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
aApAQCAtMjM0LDkgKzIzNCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9p
ZCBzZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhib29sKTsKICAgICAgICAgYm9vbCBuZWVkc1Np
dGVTcGVjaWZpY1F1aXJrcygpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNTaXRlU3BlY2lmaWNRdWly
a3M7IH0KLSAgICAgICAgCisKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgICAgIHZvaWQg
c2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgd2ViQXJj
aGl2ZURlYnVnTW9kZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYkFyY2hpdmVEZWJ1Z01v
ZGVFbmFibGVkOyB9CisjZW5kaWYKIAogICAgICAgICB2b2lkIHNldExvY2FsRmlsZUNvbnRlbnRT
bmlmZmluZ0VuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgbG9jYWxGaWxlQ29udGVudFNuaWZm
aW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5h
YmxlZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IDhhOGVkMzAzNzljMWU2MjZlYmJjYTI4OTA1ZGMyMGI4NWZm
YTdlN2UuLjMyZGI4ZmVhZDEwMmIzOTRiZTk3MTRjOWJlNzIyMGYzOTJlZDg2NGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMS0yNSAgSmVyZW15IE1vc2tvdmljaCAgPGplcmVt
eUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGEgY29tcGlsZS10aW1lIG9wdGlvbiB0byBjb21wbGV0ZWx5IGRpc2FibGUg
V2ViQXJjaGl2ZSBzdXBwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTI3MTIKKworICAgICAgICBSZW1vdmUgbG9hZGVyL2FyY2hpdmUgZmlsZXMg
ZnJvbSBRVCBwb3J0LgorCisgICAgICAgICogV2ViS2l0Mi5wcm86CisKIDIwMTEtMDEtMjQgIEFu
ZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggYnVpbGQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnBybyBiL1NvdXJjZS9XZWJLaXQy
L1dlYktpdDIucHJvCmluZGV4IDYzMmMzZDE0YmNjNzVjYjgyNDFlMzRlZDZhMjQxMjExMmVlMjJm
NTguLjVkZDY1NDMwZTdmOTNjYTM4YjE1MTRmZGRjNTM1MDY3NWQ2MjQwOWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJvCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
cHJvCkBAIC03NSw3ICs3NSw2IEBAIFdFQktJVDJfSU5DTFVERVBBVEggPSBcCiAgICAgJCRQV0Qv
Li4vV2ViQ29yZS9pbnNwZWN0b3IgXAogICAgICQkUFdELy4uL1dlYkNvcmUvbG9hZGVyIFwKICAg
ICAkJFBXRC8uLi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZSBcCi0gICAgJCRQV0QvLi4vV2ViQ29y
ZS9sb2FkZXIvYXJjaGl2ZSBcCiAgICAgJCRQV0QvLi4vV2ViQ29yZS9sb2FkZXIvY2FjaGUgXAog
ICAgICQkUFdELy4uL1dlYkNvcmUvbG9hZGVyL2ljb24gXAogICAgICQkUFdELy4uL1dlYkNvcmUv
bWF0aG1sIFwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80036</attachid>
            <date>2011-01-25 02:09:42 -0800</date>
            <delta_ts>2011-01-30 06:23:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52712-20110125120938.patch</filename>
            <type>text/plain</type>
            <size>27939</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGE3ZjA1ZjRkMWMyM2IwNDA5MThlY2I1MzBjOTJk
NmU1ZDhhOWVmM2IuLjY3ZjExOTU1NTVjNmYxZmQwNjVhY2JmYjcwMzI0NTAwNTExNDBjNTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTAxLTI0ICBKZXJl
bXkgTW9za292aWNoICA8amVyZW15QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBjb21waWxlLXRpbWUgb3B0aW9uIHRv
IGNvbXBsZXRlbHkgZGlzYWJsZSBXZWJBcmNoaXZlIHN1cHBvcnQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjcxMgorCisgICAgICAgIEFkZCBhbiBF
TkFCTEUoV0VCX0FSQ0hJVkUpIGNvbXBpbGUtdGltZSBzZXR0aW5nIGFuZCB1c2UgaXQgZm9yIGFs
bCBXZWJBcmNoaXZlIGNvZGUuCisgICAgICAgIFBvcnRzIEFmZmVjdGVkOgorICAgICAgICBXZWJB
cmNoaXZlIHN1cHBvcnQgaXMgY3VycmVudGx5IGVuYWJsZWQgZm9yIGFsbCBwb3J0cyB0aGF0IGRl
ZmluZSBQTEFURk9STShDRikgYXBhcnQgZnJvbSBRVC4KKyAgICAgICAgVGhpcyBwYXRjaCBwcmVz
ZXJ2ZXMgdGhpcyBiZWhhdmlvciBleGNlcHQgdGhhdCBpdCBhbHNvIGRpc2FibGVzIHN1cHBvcnQg
aW4gdGhlIENocm9taXVtIHBvcnQuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDogQWRkIEVO
QUJMRV9XRUJfQVJDSElWRSBkZWZpbml0aW9uIGFuZCB0dXJuIGl0IG9mZiBleHBsaWNpdGx5IGZv
ciBRVCAmIENocm9taXVtIHBvcnRzLgorCiAyMDExLTAxLTI0ICBBZGFtIFJvYmVuICA8YXJvYmVu
QGFwcGxlLmNvbT4KIAogICAgICAgICBXaW5kb3dzIFByb2R1Y3Rpb24gYnVpbGQgZml4CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKaW5kZXggMzRiNmNkZWJjZWU2MDBhMjY2ZGMyY2Q0
NmU3Y2NhMDZjYjRkODdjMi4uMjRmMGU2NWUzYWJjYjRiNjhlMTE4NjEyNDc5ZDE5M2Y1YWVhOWRm
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaApAQCAtNjE2LDYgKzYxNiw3IEBA
CiAjZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1FUiAxCiAjZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSAxCiAjZGVmaW5lIEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HIDEKKyNkZWZpbmUgRU5BQkxF
X1dFQl9BUkNISVZFIDEKICNlbmRpZiAvKiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1Mp
ICovCiAKICNpZiBQTEFURk9STShNQUMpCkBAIC02NTYsNiArNjU3LDcgQEAKICNkZWZpbmUgV1RG
X1BMQVRGT1JNX0NGIDEKICNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAxCiAjZGVmaW5lIEhBVkVf
UFRIUkVBRF9SV0xPQ0sgMQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShBTkRST0lEKQpAQCAtNjc4LDYgKzY4MCwxMCBAQAogI2RlZmluZSBXVEZf
VVNFX1BUSFJFQURTIDAKICNlbmRpZgogCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0Up
ICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFFUKQorI2RlZmluZSBFTkFCTEVf
V0VCX0FSQ0hJVkUgMQorI2VuZGlmCisKICNpZiBQTEFURk9STShXWCkKICNkZWZpbmUgRU5BQkxF
X0FTU0VNQkxFUiAxCiAjZGVmaW5lIEVOQUJMRV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMApAQCAt
Njg1LDYgKzY5MSw3IEBACiAjZGVmaW5lIFdURl9QTEFURk9STV9DRiAxCiAjaWZuZGVmIEJVSUxE
SU5HX09OX1RJR0VSCiAjZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDEKKyNkZWZpbmUgRU5BQkxF
X1dFQl9BUkNISVZFIDEKICNlbHNlCiAjZGVmaW5lIFdURl9VU0VfQVRTVUkgMQogI2VuZGlmCkBA
IC0xMDYwLDYgKzEwNjcsMTAgQEAKICNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMAog
I2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FSQ0hJVkUpCisjZGVmaW5lIEVOQUJM
RV9XRUJfQVJDSElWRSAwCisjZW5kaWYKKwogLyogVXNlIHRoZSBRWG1sU3RyZWFtUmVhZGVyIGlt
cGxlbWVudGF0aW9uIGZvciBYTUxEb2N1bWVudFBhcnNlciAqLwogLyogVXNlIHRoZSBRWG1sUXVl
cnkgaW1wbGVtZW50YXRpb24gZm9yIFhTTFRQcm9jZXNzb3IgKi8KICNpZiBQTEFURk9STShRVCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwMjgxODViOGYyMTYyYWM5YjI3ZTUwOGM3Yjk3ZmEyNGUwNzM1Zjg3Li4z
OGM5OTU4N2ExM2QyZTdmMDI5YzNjZjdmZjZhODJiMTg0ODIyOThmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzcgQEAKKzIwMTEtMDEtMjUgIEplcmVteSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hyb21p
dW0ub3JnPgorCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGEgY29tcGlsZS10aW1lIG9wdGlvbiB0byBjb21wbGV0ZWx5IGRpc2FibGUgV2ViQXJj
aGl2ZSBzdXBwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTI3MTIKKworICAgICAgICBBZGQgYW4gRU5BQkxFKFdFQl9BUkNISVZFKSBjb21waWxl
LXRpbWUgc2V0dGluZyBhbmQgdXNlIGl0IGZvciBhbGwgV2ViQXJjaGl2ZSBjb2RlLgorICAgICAg
ICBQb3J0cyBBZmZlY3RlZDoKKyAgICAgICAgV2ViQXJjaGl2ZSBzdXBwb3J0IGlzIGN1cnJlbnRs
eSBlbmFibGVkIGZvciBhbGwgcG9ydHMgdGhhdCBkZWZpbmUgUExBVEZPUk0oQ0YpIGFwYXJ0IGZy
b20gUVQuCisgICAgICAgIFRoaXMgcGF0Y2ggcHJlc2VydmVzIHRoaXMgYmVoYXZpb3IgZXhjZXB0
IHRoYXQgaXQgYWxzbyBkaXNhYmxlcyBzdXBwb3J0IGluIHRoZSBDaHJvbWl1bSBwb3J0LgorCisg
ICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZXMgc28gbm8gbmV3IHRlc3RzLgorCisgICAgICAgICog
V2ViQ29yZS5neXAvV2ViQ29yZS5neXA6IFJlbW92ZSBsb2FkZXIvYXJjaGl2ZSBmaWxlcyBzaW5j
ZSBmZWF0dXJlIGlzIGRpc2FibGVkIGluIENocm9taXVtIHBvcnQuCisgICAgICAgICogV2ViQ29y
ZS5neXBpOiBSZW1vdmUgbG9hZGVyL2FyY2hpdmUgZmlsZXMgc2luY2UgZmVhdHVyZSBpcyBkaXNh
YmxlZCBpbiBDaHJvbWl1bSBwb3J0LgorICAgICAgICAqIFdlYkNvcmUucHJvOiBSZW1vdmUgbG9h
ZGVyL2FyY2hpdmUgZmlsZXMgc2luY2UgZmVhdHVyZSBpcyBkaXNhYmxlZCBpbiBRVCBwb3J0Lgor
ICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6ICBTdXJyb3VuZCBhcmNoaXZlIGNv
ZGUgd2l0aCBFTkFCTEUoV0VCX0FSQ0hJVkUpCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExv
YWRlcjo6Y29tbWl0TG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c2V0
dXBGb3JSZXBsYWNlQnlNSU1FVHlwZSk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVy
Lmg6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjpsb2FkVVJMSW50b0NoaWxkRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVMb2FkZXI6OnN0b3BBbGxMb2FkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpmaW5pc2hlZExvYWRpbmdEb2N1bWVudCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9h
ZGVyLmg6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlTG9hZGVyOjpzdGFydCk6CisgICAgICAgICogbG9hZGVyL2FyY2hpdmUv
QXJjaGl2ZUZhY3RvcnkuY3BwOiBSZW1vdmUgI2lmZGVmIHNpbmNlIGZlYXR1cmUgaXMgbm93IGVu
YWJsZWQvZGlzYWJsZWQgd2hvbGVzYWxlLgorICAgICAgICAoV2ViQ29yZTo6YXJjaGl2ZU1JTUVU
eXBlcyk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0
aW5ncy5oOgorCiAyMDExLTAxLTI0ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDI1OTRkMjk5MDRmMzkzOTAxMmY1NWJhYzkyYTA2ZmZm
MWE2OWJjNWQuLjk4NmQwMzZlYmEyZWI0ZjA3MjM4ZjQ0NmQzNzQzMWJhOWQ5OWFlY2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC0xMzcsNyArMTM3LDYgQEAKICAg
ICAgICcuLi9pbnNwZWN0b3InLAogICAgICAgJy4uL2xvYWRlcicsCiAgICAgICAnLi4vbG9hZGVy
L2FwcGNhY2hlJywKLSAgICAgICcuLi9sb2FkZXIvYXJjaGl2ZScsCiAgICAgICAnLi4vbG9hZGVy
L2NhY2hlJywKICAgICAgICcuLi9sb2FkZXIvaWNvbicsCiAgICAgICAnLi4vbWF0aG1sJywKQEAg
LTI0OCw3ICsyNDcsNiBAQAogICAgICAgICAgICMgRklYTUU6IEVsaW1pbmF0ZSBkZXBlbmRlbmN5
IG9uIHBsYXRmb3JtL2dyYXBoaWNzL21hYyBhbmQKICAgICAgICAgICAjIHJlbGF0ZWQgZGlyZWN0
b3JpZXMuCiAgICAgICAgICAgIyBwbGF0Zm9ybS9ncmFwaGljcy9jZyBtYXkgbmVlZCB0byBzdGlj
ayBhcm91bmQsIHRob3VnaC4KLSAgICAgICAgICAnLi4vbG9hZGVyL2FyY2hpdmUvY2YnLAogICAg
ICAgICAgICcuLi9wbGF0Zm9ybS9hdWRpby9tYWMnLAogICAgICAgICAgICcuLi9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMnLAogICAgICAgICAgICcuLi9wbGF0Zm9ybS9tYWMnLApAQCAtMTIwMCw3ICsx
MTk4LDYgQEAKICAgICAgICAgICAgICMgU29tZSBvZiB0aGVzZSBhcmUgdXNlZCBpbnN0ZWFkIG9m
IENocm9taXVtIHBsYXRmb3JtIGZpbGVzLCBzZWUKICAgICAgICAgICAgICMgdGhlIHNwZWNpZmlj
IGV4Y2x1c2lvbnMgaW4gdGhlICJzb3VyY2VzISIgbGlzdCBiZWxvdy4KICAgICAgICAgICAgIFsn
aW5jbHVkZScsICdyZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWNcXC5tbSQnXSwKLSAgICAgICAgICAg
IFsnaW5jbHVkZScsICdsb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlXFwuY3BwJCdd
LAogICAgICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db2xvck1h
Y1xcLm1tJCddLAogICAgICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9GbG9hdFBvaW50TWFjXFwubW0kJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0Zsb2F0UmVjdE1hY1xcLm1tJCddLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IGFjNmZlNmIxYjkwZGVhZTlkNDVjM2ZlZTIzMjRlZTdiNmRkNjVjNTQuLjQ0ZDI0NTY2NzRkODI5
NzkxMGU2YmEzYjlhNWI5MTgwY2M1MzQ1MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIwODQsMTYg
KzIwODQsNiBAQAogICAgICAgICAgICAgJ2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNh
Y2hlLmgnLAogICAgICAgICAgICAgJ2xvYWRlci9hcHBjYWNoZS9NYW5pZmVzdFBhcnNlci5jcHAn
LAogICAgICAgICAgICAgJ2xvYWRlci9hcHBjYWNoZS9NYW5pZmVzdFBhcnNlci5oJywKLSAgICAg
ICAgICAgICdsb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlLmNwcCcsCi0gICAgICAg
ICAgICAnbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZS5oJywKLSAgICAgICAgICAg
ICdsb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlTWFjLm1tJywKLSAgICAgICAgICAg
ICdsb2FkZXIvYXJjaGl2ZS9BcmNoaXZlLmgnLAotICAgICAgICAgICAgJ2xvYWRlci9hcmNoaXZl
L0FyY2hpdmVGYWN0b3J5LmNwcCcsCi0gICAgICAgICAgICAnbG9hZGVyL2FyY2hpdmUvQXJjaGl2
ZUZhY3RvcnkuaCcsCi0gICAgICAgICAgICAnbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNl
LmNwcCcsCi0gICAgICAgICAgICAnbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlLmgnLAot
ICAgICAgICAgICAgJ2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uY3Bw
JywKLSAgICAgICAgICAgICdsb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9u
LmgnLAogICAgICAgICAgICAgJ2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAnLAogICAgICAg
ICAgICAgJ2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oJywKICAgICAgICAgICAgICdsb2FkZXIv
Y2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBjYjUzZjM5
OGNlYmUxYzQ4MjhiNDJkNTc1MTkxYzNiODhiZDgyNzRjLi45OWI4MTIwNDZiZGM4Njc0NDU2ODZm
MzQyYmZmYWExYzQ1MjYwNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBy
bworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjQxLDcgKzI0MSw2IEBAIFdF
QkNPUkVfSU5DTFVERVBBVEggPSBcCiAgICAgJCRQV0QvaW5zcGVjdG9yIFwKICAgICAkJFBXRC9s
b2FkZXIgXAogICAgICQkUFdEL2xvYWRlci9hcHBjYWNoZSBcCi0gICAgJCRQV0QvbG9hZGVyL2Fy
Y2hpdmUgXAogICAgICQkUFdEL2xvYWRlci9jYWNoZSBcCiAgICAgJCRQV0QvbG9hZGVyL2ljb24g
XAogICAgICQkUFdEL21hdGhtbCBcCkBAIC0xMDcxLDkgKzEwNzAsNiBAQCBTT1VSQ0VTICs9IFwK
ICAgICBpbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCiAgICAgaW5zcGVjdG9yL1Njcmlw
dENhbGxTdGFjay5jcHAgXAogICAgIGluc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3Bw
IFwKLSAgICBsb2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9yeS5jcHAgXAotICAgIGxvYWRlci9h
cmNoaXZlL0FyY2hpdmVSZXNvdXJjZS5jcHAgXAotICAgIGxvYWRlci9hcmNoaXZlL0FyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24uY3BwIFwKICAgICBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3Bw
IFwKICAgICBsb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAgXAogICAgIGxvYWRl
ci9jYWNoZS9DYWNoZWRGb250LmNwcCBcCkBAIC0xOTc0LDkgKzE5NzAsNiBAQCBIRUFERVJTICs9
IFwKICAgICBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCBcCiAgICAg
bG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaCBcCiAgICAgbG9hZGVyL2FwcGNh
Y2hlL01hbmlmZXN0UGFyc2VyLmggXAotICAgIGxvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5
LmggXAotICAgIGxvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaCBcCi0g
ICAgbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlLmggXAogICAgIGxvYWRlci9jYWNoZS9D
YWNoZWRDU1NTdHlsZVNoZWV0LmggXAogICAgIGxvYWRlci9jYWNoZS9DYWNoZWRGb250LmggXAog
ICAgIGxvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwCmluZGV4IDJmMjEwNjY3OTNkMzQ2YjBjNmI4NGJiZTAxNmVmOTcxNWU3
ZDIxODEuLmIwMDI3MGEyZWY0MDA5OGMyZTUxMWQzZTAzZDA2NDM4OGU0ZGUwYjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMzAsOCArMzAsNiBAQAogI2lu
Y2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlSG9z
dC5oIgotI2luY2x1ZGUgIkFyY2hpdmVGYWN0b3J5LmgiCi0jaW5jbHVkZSAiQXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbi5oIgogI2luY2x1ZGUgIkNhY2hlZFBhZ2UuaCIKICNpbmNsdWRlICJDYWNo
ZWRSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgpAQCAtNDksMTEgKzQ3
LDE3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5o
IgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgorI2luY2x1ZGUgIlN1YnN0aXR1dGVSZXNvdXJj
ZS5oIgogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCisjaWYgRU5BQkxF
KFdFQl9BUkNISVZFKQorI2luY2x1ZGUgIkFyY2hpdmVGYWN0b3J5LmgiCisjaW5jbHVkZSAiQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogc3RhdGljIHZvaWQgY2FuY2VsQWxsKGNvbnN0IFJlc291cmNlTG9hZGVyU2V0JiBsb2FkZXJz
KQpAQCAtMjkwLDggKzI5NCwxMCBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpjb21taXRMb2FkKGNv
bnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpCiAgICAgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVy
ID0gRG9jdW1lbnRMb2FkZXI6OmZyYW1lTG9hZGVyKCk7CiAgICAgaWYgKCFmcmFtZUxvYWRlcikK
ICAgICAgICAgcmV0dXJuOworI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICBpZiAoQXJjaGl2
ZUZhY3Rvcnk6OmlzQXJjaGl2ZU1pbWVUeXBlKHJlc3BvbnNlKCkubWltZVR5cGUoKSkpCiAgICAg
ICAgIHJldHVybjsKKyNlbmRpZgogICAgIGZyYW1lTG9hZGVyLT5jbGllbnQoKS0+Y29tbWl0dGVk
TG9hZCh0aGlzLCBkYXRhLCBsZW5ndGgpOwogfQogCkBAIC0zNDksNyArMzU1LDkgQEAgdm9pZCBE
b2N1bWVudExvYWRlcjo6c2V0dXBGb3JSZXBsYWNlQnlNSU1FVHlwZShjb25zdCBTdHJpbmcmIG5l
d01JTUVUeXBlKQogICAgIAogICAgIHN0b3BMb2FkaW5nU3VicmVzb3VyY2VzKCk7CiAgICAgc3Rv
cExvYWRpbmdQbHVnSW5zKCk7CisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogICAgIGNsZWFyQXJj
aGl2ZVJlc291cmNlcygpOworI2VuZGlmCiB9CiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnVwZGF0
ZUxvYWRpbmcoKQpAQCAtNDM2LDYgKzQ0NCw3IEBAIGJvb2wgRG9jdW1lbnRMb2FkZXI6OmlzTG9h
ZGluZ0luQVBJU2Vuc2UoKSBjb25zdAogICAgIHJldHVybiBmcmFtZUxvYWRlcigpLT5zdWJmcmFt
ZUlzTG9hZGluZygpOwogfQogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogdm9pZCBEb2N1bWVu
dExvYWRlcjo6YWRkQWxsQXJjaGl2ZVJlc291cmNlcyhBcmNoaXZlKiBhcmNoaXZlKQogewogICAg
IGlmICghbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uKQpAQCAtNTQxLDYgKzU1MCw3IEBAIHZv
aWQgRG9jdW1lbnRMb2FkZXI6OmdldFN1YnJlc291cmNlcyhWZWN0b3I8UGFzc1JlZlB0cjxBcmNo
aXZlUmVzb3VyY2U+ID4mIHN1YnJlCiAKICAgICByZXR1cm47CiB9CisjZW5kaWYgLy8gRU5BQkxF
KFdFQl9BUkNISVZFKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0ZVJl
c291cmNlc0FmdGVyRGVsYXkoKQogewpAQCAtNTk5LDYgKzYwOSw3IEBAIHZvaWQgRG9jdW1lbnRM
b2FkZXI6OmNhbmNlbFBlbmRpbmdTdWJzdGl0dXRlTG9hZChSZXNvdXJjZUxvYWRlciogbG9hZGVy
KQogICAgICAgICBtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIuc3RvcCgpOwogfQog
CisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogYm9vbCBEb2N1bWVudExvYWRlcjo6c2NoZWR1bGVB
cmNoaXZlTG9hZChSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IEtVUkwmIG9yaWdpbmFsVVJMKQogewogICAgIEFyY2hpdmVSZXNvdXJj
ZSogcmVzb3VyY2UgPSAwOwpAQCAtNjE5LDYgKzYzMCw3IEBAIGJvb2wgRG9jdW1lbnRMb2FkZXI6
OnNjaGVkdWxlQXJjaGl2ZUxvYWQoUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3Vy
Y2VSCiAgICAgCiAgICAgcmV0dXJuIHRydWU7CiB9CisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BUkNI
SVZFKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjphZGRSZXNwb25zZShjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAppbmRleCA3
NzI1MDM4NDZiZWY5ZDcxNTE4ZTQ2N2NhNmZkNjM5ZTJkODBiNGFjLi4zZGJmMzE0YzI3NTc0YTI1
ZTk1NzY3MDdhNWYxNWQyMGZjNjU5MDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuaApAQCAtNDMsOSArNDMsMTEgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNs
YXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0OworI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICBj
bGFzcyBBcmNoaXZlOwogICAgIGNsYXNzIEFyY2hpdmVSZXNvdXJjZTsKICAgICBjbGFzcyBBcmNo
aXZlUmVzb3VyY2VDb2xsZWN0aW9uOworI2VuZGlmCiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xh
c3MgRnJhbWVMb2FkZXI7CiAgICAgY2xhc3MgTWFpblJlc291cmNlTG9hZGVyOwpAQCAtMTI0LDYg
KzEyNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCB1bnNjaGVkdWxlKFNj
aGVkdWxlUGFpciopOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgICAg
IHZvaWQgYWRkQWxsQXJjaGl2ZVJlc291cmNlcyhBcmNoaXZlKik7CiAgICAgICAgIHZvaWQgYWRk
QXJjaGl2ZVJlc291cmNlKFBhc3NSZWZQdHI8QXJjaGl2ZVJlc291cmNlPik7CiAgICAgICAgIApA
QCAtMTQyLDYgKzE0NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBnZXRT
dWJyZXNvdXJjZXMoVmVjdG9yPFBhc3NSZWZQdHI8QXJjaGl2ZVJlc291cmNlPiA+JikgY29uc3Q7
CiAgICAgICAgIAogICAgICAgICBib29sIHNjaGVkdWxlQXJjaGl2ZUxvYWQoUmVzb3VyY2VMb2Fk
ZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBLVVJMJik7CisjZW5kaWYgLy8gRU5B
QkxFKFdFQl9BUkNISVZFKQorCiAjaWZuZGVmIE5ERUJVRwogICAgICAgICBib29sIGlzU3Vic3Rp
dHV0ZUxvYWRQZW5kaW5nKFJlc291cmNlTG9hZGVyKikgY29uc3Q7CiAjZW5kaWYKQEAgLTMwMSw5
ICszMDYsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8
UmVmUHRyPFJlc291cmNlTG9hZGVyPiwgUmVmUHRyPFN1YnN0aXR1dGVSZXNvdXJjZT4gPiBTdWJz
dGl0dXRlUmVzb3VyY2VNYXA7CiAgICAgICAgIFN1YnN0aXR1dGVSZXNvdXJjZU1hcCBtX3BlbmRp
bmdTdWJzdGl0dXRlUmVzb3VyY2VzOwogICAgICAgICBUaW1lcjxEb2N1bWVudExvYWRlcj4gbV9z
dWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyOwotICAgICAgICAgICAgICAgIAorCisjaWYg
RU5BQkxFKFdFQl9BUkNISVZFKQogICAgICAgICBPd25QdHI8QXJjaGl2ZVJlc291cmNlQ29sbGVj
dGlvbj4gbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uOwogICAgICAgICBSZWZQdHI8U2hhcmVk
QnVmZmVyPiBtX3BhcnNlZEFyY2hpdmVEYXRhOworI2VuZGlmCiAKICAgICAgICAgSGFzaFNldDxT
dHJpbmc+IG1fcmVzb3VyY2VzQ2xpZW50S25vd3NBYm91dDsKICAgICAgICAgVmVjdG9yPFN0cmlu
Zz4gbV9yZXNvdXJjZXNMb2FkZWRGcm9tTWVtb3J5Q2FjaGVGb3JDbGllbnROb3RpZmljYXRpb247
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAxMTI5YmFjNjhiOTBjMzVk
YWY4NTZiOWZjZWRlOTVmYjAzODQzMmYwLi5mZGUzNjEyN2E3MTU1YTJiYjg4YzRmYzM1MGY4ZGZk
N2JhNjIyZDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTM0LDgg
KzM0LDYgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogCiAjaW5jbHVkZSAiQXBwbGljYXRp
b25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlICJBcmNoaXZlLmgiCi0jaW5jbHVkZSAiQXJjaGl2ZUZh
Y3RvcnkuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJC
ZWZvcmVVbmxvYWRFdmVudC5oIgogI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCkBAIC0xMTMsNiAr
MTExLDExIEBACiAjaW5jbHVkZSAiU1ZHVmlld1NwZWMuaCIKICNlbmRpZgogCisjaWYgRU5BQkxF
KFdFQl9BUkNISVZFKQorI2luY2x1ZGUgIkFyY2hpdmUuaCIKKyNpbmNsdWRlICJBcmNoaXZlRmFj
dG9yeS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNl
IEhUTUxOYW1lczsKQEAgLTkxMywxMSArOTE2LDEzIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRV
UkxJbnRvQ2hpbGRGcmFtZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcmVmZXJlciwK
IHsKICAgICBBU1NFUlQoY2hpbGRGcmFtZSk7CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAg
ICAgUmVmUHRyPEFyY2hpdmU+IHN1YmZyYW1lQXJjaGl2ZSA9IGFjdGl2ZURvY3VtZW50TG9hZGVy
KCktPnBvcEFyY2hpdmVGb3JTdWJmcmFtZShjaGlsZEZyYW1lLT50cmVlKCktPnVuaXF1ZU5hbWUo
KSk7ICAgIAogICAgIGlmIChzdWJmcmFtZUFyY2hpdmUpIHsKICAgICAgICAgY2hpbGRGcmFtZS0+
bG9hZGVyKCktPmxvYWRBcmNoaXZlKHN1YmZyYW1lQXJjaGl2ZS5yZWxlYXNlKCkpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQorI2VuZGlmIC8vIEVOQUJMRShXRUJfQVJDSElWRSkKIAogICAgIEhp
c3RvcnlJdGVtKiBwYXJlbnRJdGVtID0gaGlzdG9yeSgpLT5jdXJyZW50SXRlbSgpOwogICAgIC8v
IElmIHdlJ3JlIG1vdmluZyBpbiB0aGUgYmFjay9mb3J3YXJkIGxpc3QsIHdlIG1pZ2h0IHdhbnQg
dG8gcmVwbGFjZSB0aGUgY29udGVudApAQCAtOTMzLDYgKzkzOCw3IEBAIHZvaWQgRnJhbWVMb2Fk
ZXI6OmxvYWRVUkxJbnRvQ2hpbGRGcmFtZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
cmVmZXJlciwKICAgICBjaGlsZEZyYW1lLT5sb2FkZXIoKS0+bG9hZFVSTCh1cmwsIHJlZmVyZXIs
IFN0cmluZygpLCBmYWxzZSwgRnJhbWVMb2FkVHlwZVJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3
YXJkTGlzdCwgMCwgMCk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiB2b2lkIEZyYW1l
TG9hZGVyOjpsb2FkQXJjaGl2ZShQYXNzUmVmUHRyPEFyY2hpdmU+IHBycEFyY2hpdmUpCiB7CiAg
ICAgUmVmUHRyPEFyY2hpdmU+IGFyY2hpdmUgPSBwcnBBcmNoaXZlOwpAQCAtOTUzLDYgKzk1OSw3
IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRBcmNoaXZlKFBhc3NSZWZQdHI8QXJjaGl2ZT4gcHJw
QXJjaGl2ZSkKICAgICBkb2N1bWVudExvYWRlci0+YWRkQWxsQXJjaGl2ZVJlc291cmNlcyhhcmNo
aXZlLmdldCgpKTsKICAgICBsb2FkKGRvY3VtZW50TG9hZGVyLmdldCgpKTsKIH0KKyNlbmRpZiAv
LyBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAKIE9iamVjdENvbnRlbnRUeXBlIEZyYW1lTG9hZGVyOjpk
ZWZhdWx0T2JqZWN0Q29udGVudFR5cGUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1p
bWVUeXBlSW4pCiB7CkBAIC0xNzE1LDggKzE3MjIsMTAgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3Rv
cEFsbExvYWRlcnMoRGF0YWJhc2VQb2xpY3kgZGF0YWJhc2VQb2xpY3ksIENsZWFyUHJvdmlzaW9u
YWwKIAogICAgIHNldFByb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIoMCk7CiAgICAgCisjaWYgRU5B
QkxFKFdFQl9BUkNISVZFKQogICAgIGlmIChtX2RvY3VtZW50TG9hZGVyKQogICAgICAgICBtX2Rv
Y3VtZW50TG9hZGVyLT5jbGVhckFyY2hpdmVSZXNvdXJjZXMoKTsKKyNlbmRpZgogCiAgICAgbV9j
aGVja1RpbWVyLnN0b3AoKTsKIApAQCAtMjIzMyw2ICsyMjQyLDkgQEAgdm9pZCBGcmFtZUxvYWRl
cjo6ZmluaXNoZWRMb2FkaW5nRG9jdW1lbnQoRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikKICAgICAg
ICAgcmV0dXJuOwogI2VuZGlmCiAKKyNpZiAhRU5BQkxFKFdFQl9BUkNISVZFKQorICAgIG1fY2xp
ZW50LT5maW5pc2hlZExvYWRpbmcobG9hZGVyKTsKKyNlbHNlCiAgICAgLy8gR2l2ZSBhcmNoaXZl
IG1hY2hpbmVyeSBhIGNyYWNrIGF0IHRoaXMgZG9jdW1lbnQuIElmIHRoZSBNSU1FIHR5cGUgaXMg
bm90IGFuIGFyY2hpdmUgdHlwZSwgaXQgd2lsbCByZXR1cm4gMC4KICAgICBSZWZQdHI8QXJjaGl2
ZT4gYXJjaGl2ZSA9IEFyY2hpdmVGYWN0b3J5OjpjcmVhdGUobG9hZGVyLT5tYWluUmVzb3VyY2VE
YXRhKCkuZ2V0KCksIGxvYWRlci0+cmVzcG9uc2VNSU1FVHlwZSgpKTsKICAgICBpZiAoIWFyY2hp
dmUpIHsKQEAgLTIyNTcsNiArMjI2OSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmZpbmlzaGVkTG9h
ZGluZ0RvY3VtZW50KERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgYm9vbCBlbmNvZGluZ0lz
VXNlckNob3NlbiA9ICF1c2VyQ2hvc2VuRW5jb2RpbmcuaXNOdWxsKCk7CiAgICAgd3JpdGVyKCkt
PnNldEVuY29kaW5nKGVuY29kaW5nSXNVc2VyQ2hvc2VuID8gdXNlckNob3NlbkVuY29kaW5nIDog
bWFpblJlc291cmNlLT50ZXh0RW5jb2RpbmcoKSwgZW5jb2RpbmdJc1VzZXJDaG9zZW4pOwogICAg
IHdyaXRlcigpLT5hZGREYXRhKG1haW5SZXNvdXJjZS0+ZGF0YSgpLT5kYXRhKCksIG1haW5SZXNv
dXJjZS0+ZGF0YSgpLT5zaXplKCkpOworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVJDSElWRSkKIH0K
IAogYm9vbCBGcmFtZUxvYWRlcjo6aXNSZXBsYWNpbmcoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuaAppbmRleCA0MjdjZGVlMzYzNmYwZWQ2ZDg3NzU1MTdjNmQ3NWZlYzRjODkw
YzQ0Li5hM2ExYmZhZDQwNThmMDgxMjBhY2FhYmI1YWFjNGFkYThiNzc3YzIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAtMTE4LDggKzExOCwxMCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBsb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGJvb2wgbG9ja0hpc3RvcnkpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDYWxsZWQgYnkgV2ViRnJhbWUs
IGNhbGxzIGxvYWQoUmVzb3VyY2VSZXF1ZXN0LCBTdWJzdGl0dXRlRGF0YSkuCiAgICAgdm9pZCBs
b2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiwgYm9vbCBs
b2NrSGlzdG9yeSk7ICAgICAgICAgICAgICAgICAvLyBDYWxsZWQgYm90aCBieSBXZWJGcmFtZSBh
bmQgaW50ZXJuYWxseSwgY2FsbHMgbG9hZChEb2N1bWVudExvYWRlciopLgogICAgIHZvaWQgbG9h
ZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgYm9vbCBs
b2NrSGlzdG9yeSk7ICAgICAgICAgICAgICAgLy8gQ2FsbGVkIGJ5IFdlYlBsdWdpbkNvbnRyb2xs
ZXIuCi0gICAgCisKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgdm9pZCBsb2FkQXJjaGl2
ZShQYXNzUmVmUHRyPEFyY2hpdmU+KTsKKyNlbmRpZgogCiAgICAgc3RhdGljIHZvaWQgcmVwb3J0
TG9jYWxMb2FkRmFpbGVkKEZyYW1lKiwgY29uc3QgU3RyaW5nJiB1cmwpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA0MmNlMDE2Yjg1ZDVjMDlkZGM5NTI4
YjdlYzliZWRjMzRkYjdhNDI0Li5lMDhlMTkwNmEwOTU1ZmI0NDM0MTlkNjViOGM2MDYyYTg1Y2Rk
MDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTE0NSw4
ICsxNDUsMTAgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6c3RhcnQoKQogICAgIEFTU0VSVCghbV9y
ZXF1ZXN0LmlzTnVsbCgpKTsKICAgICBBU1NFUlQobV9kZWZlcnJlZFJlcXVlc3QuaXNOdWxsKCkp
OwogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogICAgIGlmIChtX2RvY3VtZW50TG9hZGVyLT5z
Y2hlZHVsZUFyY2hpdmVMb2FkKHRoaXMsIG1fcmVxdWVzdCwgbV9yZXF1ZXN0LnVybCgpKSkKICAg
ICAgICAgcmV0dXJuOworI2VuZGlmCiAgICAgCiAjaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJ
Q0FUSU9OUykKICAgICBpZiAobV9kb2N1bWVudExvYWRlci0+YXBwbGljYXRpb25DYWNoZUhvc3Qo
KS0+bWF5YmVMb2FkUmVzb3VyY2UodGhpcywgbV9yZXF1ZXN0LCBtX3JlcXVlc3QudXJsKCkpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3Rvcnku
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwCmlu
ZGV4IDJlMTA4YzU0OTQ2YWIwNjA3MmZkNWJhOGNmMjRjOTZhMmM5YjY1NjAuLjA0YTAxMDFlNTRm
MmRkZjE5NGEwZmY3OGYzZjAwYzc5YWE0YTQ4MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9yeS5jcHAKQEAgLTYwLDkgKzYwLDcgQEAgc3RhdGlj
IEFyY2hpdmVNSU1FVHlwZXNNYXAmIGFyY2hpdmVNSU1FVHlwZXMoKQogICAgIGlmIChpbml0aWFs
aXplZCkKICAgICAgICAgcmV0dXJuIG1pbWVUeXBlczsKIAotI2lmIFBMQVRGT1JNKENGKSAmJiAh
UExBVEZPUk0oUVQpCiAgICAgbWltZVR5cGVzLnNldCgiYXBwbGljYXRpb24veC13ZWJhcmNoaXZl
IiwgYXJjaGl2ZUZhY3RvcnlDcmVhdGU8TGVnYWN5V2ViQXJjaGl2ZT4pOwotI2VuZGlmCiAKICAg
ICBpbml0aWFsaXplZCA9IHRydWU7CiAgICAgcmV0dXJuIG1pbWVUeXBlczsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5jcHAKaW5kZXggZDg3NmUyYjk1MDhjOTFmNGEzMDBiNTUyNWY2MWQ1MjAyMDRjNTU0
My4uMDU3MjJlNGE1ODNjOGIxNjYxN2JhMzg0OTFjNDM3YWE2OWM1NDViYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5jcHAKQEAgLTUxMCwxMCArNTEwLDEyIEBAIHZvaWQgU2V0dGluZ3M6OnNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBmcmFtZUZsYXR0ZW5pbmdFbmFibGVkKQogICAgIG1f
ZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCA9IGZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7CiB9CiAKKyNp
ZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiB2b2lkIFNldHRpbmdzOjpzZXRXZWJBcmNoaXZlRGVidWdN
b2RlRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgbV93ZWJBcmNoaXZlRGVidWdNb2RlRW5h
YmxlZCA9IGVuYWJsZWQ7CiB9CisjZW5kaWYKIAogdm9pZCBTZXR0aW5nczo6c2V0TG9jYWxGaWxl
Q29udGVudFNuaWZmaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmgKaW5kZXggNzJjNDcwM2M2ZGYzZjZhNWZlOGIzMmI3ZGQwZmVjMjQ1ZmU0ODkxOC4uYTRhZjkz
YmFlNTFkODM2MmRiYjNiZmVmMmJkNjE2YTNjYzUxMzc4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
aApAQCAtMjM0LDkgKzIzNCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9p
ZCBzZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhib29sKTsKICAgICAgICAgYm9vbCBuZWVkc1Np
dGVTcGVjaWZpY1F1aXJrcygpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNTaXRlU3BlY2lmaWNRdWly
a3M7IH0KLSAgICAgICAgCisKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgICAgIHZvaWQg
c2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgd2ViQXJj
aGl2ZURlYnVnTW9kZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYkFyY2hpdmVEZWJ1Z01v
ZGVFbmFibGVkOyB9CisjZW5kaWYKIAogICAgICAgICB2b2lkIHNldExvY2FsRmlsZUNvbnRlbnRT
bmlmZmluZ0VuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgbG9jYWxGaWxlQ29udGVudFNuaWZm
aW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5h
YmxlZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IDhhOGVkMzAzNzljMWU2MjZlYmJjYTI4OTA1ZGMyMGI4NWZm
YTdlN2UuLjgxYWJkNWM5ZDFmODI2MDA1NmM0NTQ0YmFiZDgwNjliYzI2NzYwNzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMS0wMS0yNSAgSmVyZW15IE1vc2tvdmljaCAgPGplcmVt
eUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNzEyCisK
KyAgICAgICAgQWRkIGEgY29tcGlsZS10aW1lIG9wdGlvbiB0byBjb21wbGV0ZWx5IGRpc2FibGUg
V2ViQXJjaGl2ZSBzdXBwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTI3MTIKKworICAgICAgICBBZGQgYW4gRU5BQkxFKFdFQl9BUkNISVZFKSBj
b21waWxlLXRpbWUgc2V0dGluZyBhbmQgdXNlIGl0IGZvciBhbGwgV2ViQXJjaGl2ZSBjb2RlLgor
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJGcmFtZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHA6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFdlYktp
dDIucHJvOiBSZW1vdmUgbG9hZGVyL2FyY2hpdmUgZmlsZXMgZnJvbSBRVCBwb3J0LgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmg6CisKIDIwMTEtMDEtMjQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxl
LmNvbT4KIAogICAgICAgICBGaXggYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
RnJhbWVQcm94eS5jcHAKaW5kZXggNzc5Y2Y2MTkxNzM5ZDY1MTVlMWQ1YmY2YzY2ZTcyOGFhM2Jh
MmIyZC4uODRhMWRhYTM5YzYzYTAwZWQ2NWUwNWMxMGQ4N2I2NzQzNzQxYWYyMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcApAQCAtMjk0LDYgKzI5NCw3IEBA
IFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eSogV2ViRnJhbWVQcm94eTo6c2V0VXBGb3Jt
U3VibWlzc2lvbkxpc3RlbmVyUHJveHkoCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYkZvcm1T
dWJtaXNzaW9uTGlzdGVuZXJQcm94eSo+KG1fYWN0aXZlTGlzdGVuZXIuZ2V0KCkpOwogfQogCisj
aWYgRU5BQkxFKFdFQl9BUkNISVZFKQogdm9pZCBXZWJGcmFtZVByb3h5OjpnZXRXZWJBcmNoaXZl
KFBhc3NSZWZQdHI8RGF0YUNhbGxiYWNrPiBjYWxsYmFjaykKIHsKICAgICBpZiAoIW1fcGFnZSkg
ewpAQCAtMzIzLDUgKzMyNCw2IEBAIHZvaWQgV2ViRnJhbWVQcm94eTo6Z2V0UmVzb3VyY2VEYXRh
KFdlYlVSTCogcmVzb3VyY2VVUkwsIFBhc3NSZWZQdHI8RGF0YUNhbGxiYWNrCiAKICAgICBtX3Bh
Z2UtPmdldFJlc291cmNlRGF0YUZyb21GcmFtZSh0aGlzLCByZXNvdXJjZVVSTCwgY2FsbGJhY2sp
OwogfQorI2VuZGlmIC8vIEVOQUJMRShXRUJfQVJDSElWRSkKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAppbmRleCA2Y2MyMTMw
MzcwODY1MzQ1NjY3MTM2MDQwMTExZjJkMGRkYWQzY2YzLi5iNjQ4YWI2NWYxZDZiYWMwYmE3NjIx
NzU3N2ZiZmJiZTUxMzRhNTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViRnJhbWVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVBy
b3h5LmgKQEAgLTEwNyw5ICsxMDcsMTEgQEAgcHVibGljOgogICAgIGJvb2wgaXNEaXNwbGF5aW5n
U3RhbmRhbG9uZUltYWdlRG9jdW1lbnQoKSBjb25zdDsKICAgICBib29sIGlzRGlzcGxheWluZ01h
cmt1cERvY3VtZW50KCkgY29uc3Q7CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgdm9p
ZCBnZXRXZWJBcmNoaXZlKFBhc3NSZWZQdHI8RGF0YUNhbGxiYWNrPik7CiAgICAgdm9pZCBnZXRN
YWluUmVzb3VyY2VEYXRhKFBhc3NSZWZQdHI8RGF0YUNhbGxiYWNrPik7CiAgICAgdm9pZCBnZXRS
ZXNvdXJjZURhdGEoV2ViVVJMKiwgUGFzc1JlZlB0cjxEYXRhQ2FsbGJhY2s+KTsKKyNlbmRpZgog
CiAgICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZChjb25zdCBTdHJpbmcmIHVybCk7CiAg
ICAgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWQoY29uc3Qg
U3RyaW5nJiB1cmwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApp
bmRleCBhYjFlYTMzNzY3Y2Q1ZGFmZDBjNWUwODhlZDJhYmUzMDc5YWM3ZmY3Li40N2FlODlmZTdk
MmVmMGJkOGQ5OWU3ODEzYmY3ZDJkMDg4MWZiMzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcApAQCAtOTg3LDYgKzk4Nyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5
OjpnZXRNYWluUmVzb3VyY2VEYXRhT2ZGcmFtZShXZWJGcmFtZVByb3h5KiBmcmFtZSwgUGFzc1Jl
ZlB0cjxECiAgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpHZXRNYWluUmVz
b3VyY2VEYXRhT2ZGcmFtZShmcmFtZS0+ZnJhbWVJRCgpLCBjYWxsYmFja0lEKSwgbV9wYWdlSUQp
OwogfQogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogdm9pZCBXZWJQYWdlUHJveHk6OmdldFJl
c291cmNlRGF0YUZyb21GcmFtZShXZWJGcmFtZVByb3h5KiBmcmFtZSwgV2ViVVJMKiByZXNvdXJj
ZVVSTCwgUGFzc1JlZlB0cjxEYXRhQ2FsbGJhY2s+IHBycENhbGxiYWNrKQogewogICAgIFJlZlB0
cjxEYXRhQ2FsbGJhY2s+IGNhbGxiYWNrID0gcHJwQ2FsbGJhY2s7CkBAIC0xMDAyLDYgKzEwMDMs
NyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Z2V0V2ViQXJjaGl2ZU9mRnJhbWUoV2ViRnJhbWVQcm94
eSogZnJhbWUsIFBhc3NSZWZQdHI8RGF0YUNhbAogICAgIG1fZGF0YUNhbGxiYWNrcy5zZXQoY2Fs
bGJhY2tJRCwgY2FsbGJhY2suZ2V0KCkpOwogICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6R2V0V2ViQXJjaGl2ZU9mRnJhbWUoZnJhbWUtPmZyYW1lSUQoKSwgY2FsbGJhY2tJ
RCksIG1fcGFnZUlEKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAKIHZvaWQg
V2ViUGFnZVByb3h5Ojpmb3JjZVJlcGFpbnQoUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IHBycENh
bGxiYWNrKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDE4
NGY4NWJmM2E1YTQ5ZDU3Mjg0MzEzODdhY2UwMmJjNzVhNDk4M2UuLmU1YmU2NTUzNDMzODUzMGRh
NTQzZTc0Y2IzYWM2M2ExMmZkOWRkNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTI2OSwxMSArMjY5LDE0IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZ2V0Q29u
dGVudHNBc1N0cmluZyhQYXNzUmVmUHRyPFN0cmluZ0NhbGxiYWNrPik7CiAgICAgdm9pZCBnZXRN
YWluUmVzb3VyY2VEYXRhT2ZGcmFtZShXZWJGcmFtZVByb3h5KiwgUGFzc1JlZlB0cjxEYXRhQ2Fs
bGJhY2s+KTsKKworI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICB2b2lkIGdldFJlc291cmNl
RGF0YUZyb21GcmFtZShXZWJGcmFtZVByb3h5KiwgV2ViVVJMKiwgUGFzc1JlZlB0cjxEYXRhQ2Fs
bGJhY2s+KTsKKyAgICB2b2lkIGdldFdlYkFyY2hpdmVPZkZyYW1lKFdlYkZyYW1lUHJveHkqLCBQ
YXNzUmVmUHRyPERhdGFDYWxsYmFjaz4pOworI2VuZGlmCiAgICAgdm9pZCBnZXRSZW5kZXJUcmVl
RXh0ZXJuYWxSZXByZXNlbnRhdGlvbihQYXNzUmVmUHRyPFN0cmluZ0NhbGxiYWNrPik7CiAgICAg
dm9pZCBnZXRTZWxlY3Rpb25PckNvbnRlbnRzQXNTdHJpbmcoUGFzc1JlZlB0cjxTdHJpbmdDYWxs
YmFjaz4pOwogICAgIHZvaWQgZ2V0U291cmNlRm9yRnJhbWUoV2ViRnJhbWVQcm94eSosIFBhc3NS
ZWZQdHI8U3RyaW5nQ2FsbGJhY2s+KTsKLSAgICB2b2lkIGdldFdlYkFyY2hpdmVPZkZyYW1lKFdl
YkZyYW1lUHJveHkqLCBQYXNzUmVmUHRyPERhdGFDYWxsYmFjaz4pOwogICAgIHZvaWQgcnVuSmF2
YVNjcmlwdEluTWFpbkZyYW1lKGNvbnN0IFN0cmluZyYsIFBhc3NSZWZQdHI8U3RyaW5nQ2FsbGJh
Y2s+KTsKICAgICB2b2lkIGZvcmNlUmVwYWludChQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pOwog
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi5wcm8gYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnBybwppbmRleCA2MzJjM2QxNGJjYzc1Y2I4MjQxZTM0ZWQ2YTI0MTIxMTJl
ZTIyZjU4Li41ZGQ2NTQzMGU3ZjkzY2EzOGIxNTE0ZmRkYzUzNTA2NzVkNjI0MDlkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnBybworKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnBybwpAQCAtNzUsNyArNzUsNiBAQCBXRUJLSVQyX0lOQ0xVREVQQVRIID0gXAogICAgICQk
UFdELy4uL1dlYkNvcmUvaW5zcGVjdG9yIFwKICAgICAkJFBXRC8uLi9XZWJDb3JlL2xvYWRlciBc
CiAgICAgJCRQV0QvLi4vV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUgXAotICAgICQkUFdELy4uL1dl
YkNvcmUvbG9hZGVyL2FyY2hpdmUgXAogICAgICQkUFdELy4uL1dlYkNvcmUvbG9hZGVyL2NhY2hl
IFwKICAgICAkJFBXRC8uLi9XZWJDb3JlL2xvYWRlci9pY29uIFwKICAgICAkJFBXRC8uLi9XZWJD
b3JlL21hdGhtbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKaW5kZXggOWFiM2IyNjgwYWEyMWQ3YmM4Mjg3ZmY1NDhkNTYzZmFhNDE2MjRjZC4uYTM1
YTFkNThjYmRiY2RjOThkN2ViNjExNWFkYmNkNjhjMzlmZDdkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNjcsNyArNjcsNiBAQAogI2lu
Y2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VLaW5kcy5oIgogI2luY2x1ZGUgIldlYlByb2Nl
c3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9BYnN0cmFjdERhdGFiYXNlLmg+
Ci0jaW5jbHVkZSA8V2ViQ29yZS9BcmNoaXZlUmVzb3VyY2UuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0Nocm9tZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29udGV4dE1lbnVDb250cm9sbGVyLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudEZyYWdtZW50Lmg+CkBAIC05OCw5ICs5NywxMyBAQAog
I2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CiAjaW5jbHVkZSA8cnVudGltZS9KU1ZhbHVlLmg+
CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCisjaW5jbHVkZSA8V2ViQ29yZS9BcmNoaXZlUmVz
b3VyY2UuaD4KKwogI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKQogI2luY2x1ZGUg
PFdlYkNvcmUvTGVnYWN5V2ViQXJjaGl2ZS5oPgogI2VuZGlmCisjZW5kaWYgLy8gRU5BQkxFKFdF
Ql9BUkNISVZFKQogCiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogLy8gRklYTUU6IFRoaXMg
aXMgY3VycmVudGx5IE1hYy1zcGVjaWZpYyEKQEAgLTExNTUsNiArMTE1OCw3IEBAIHZvaWQgV2Vi
UGFnZTo6Z2V0TWFpblJlc291cmNlRGF0YU9mRnJhbWUodWludDY0X3QgZnJhbWVJRCwgdWludDY0
X3QgY2FsbGJhY2tJRCkKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRhdGFDYWxs
YmFjayhkYXRhUmVmZXJlbmNlLCBjYWxsYmFja0lEKSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCX0FS
Q0hJVkUpCiB2b2lkIFdlYlBhZ2U6OmdldFJlc291cmNlRGF0YUZyb21GcmFtZSh1aW50NjRfdCBm
cmFtZUlELCBjb25zdCBTdHJpbmcmIHJlc291cmNlVVJMLCB1aW50NjRfdCBjYWxsYmFja0lEKQog
ewogICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YVJlZmVyZW5jZTsKQEAgLTExODgsNiAr
MTE5Miw3IEBAIHZvaWQgV2ViUGFnZTo6Z2V0V2ViQXJjaGl2ZU9mRnJhbWUodWludDY0X3QgZnJh
bWVJRCwgdWludDY0X3QgY2FsbGJhY2tJRCkKIAogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6RGF0YUNhbGxiYWNrKGRhdGFSZWZlcmVuY2UsIGNhbGxiYWNrSUQpKTsKIH0KKyNlbmRp
ZiAvLyBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAKIHZvaWQgV2ViUGFnZTo6Zm9yY2VSZXBhaW50KHVp
bnQ2NF90IGNhbGxiYWNrSUQpCiB7CkBAIC0xMjMyLDcgKzEyMzcsOSBAQCB2b2lkIFdlYlBhZ2U6
OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogICAg
IHNldHRpbmdzLT5zZXRKYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5KHN0b3Jl
LmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6amF2YVNjcmlwdENhbk9wZW5X
aW5kb3dzQXV0b21hdGljYWxseUtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldEZvcmNlRlRQRGly
ZWN0b3J5TGlzdGluZ3Moc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
Ojpmb3JjZUZUUERpcmVjdG9yeUxpc3RpbmdzS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0RE5T
UHJlZmV0Y2hpbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNl
c0tleTo6ZG5zUHJlZmV0Y2hpbmdFbmFibGVkS2V5KCkpKTsKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJ
VkUpCiAgICAgc2V0dGluZ3MtPnNldFdlYkFyY2hpdmVEZWJ1Z01vZGVFbmFibGVkKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6d2ViQXJjaGl2ZURlYnVnTW9kZUVu
YWJsZWRLZXkoKSkpOworI2VuZGlmCiAgICAgc2V0dGluZ3MtPnNldExvY2FsRmlsZUNvbnRlbnRT
bmlmZmluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
Ojpsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+
c2V0VXNlc1BhZ2VDYWNoZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OnVzZXNQYWdlQ2FjaGVLZXkoKSkpOwogICAgIHNldHRpbmdzLT5zZXRBdXRob3JBbmRVc2Vy
U3R5bGVzRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6
OmF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkS2V5KCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDAwMDc3ZDY1ZWQ5M2FlNjYxYTRjZTlkZjZk
ZDI1NmVjYjg0MjVhYTAuLjQ4OGI1MDFhYzc0NDVmZWI3YmUxOGE0ZjlkZmUwMjBjNDY5NmU2ODIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMzY5
LDExICszNjksMTMgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZ2V0Q29udGVudHNBc1N0cmluZyh1
aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGdldE1haW5SZXNvdXJjZURhdGFPZkZyYW1l
KHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOworI2lmIEVOQUJMRShXRUJf
QVJDSElWRSkKICAgICB2b2lkIGdldFJlc291cmNlRGF0YUZyb21GcmFtZSh1aW50NjRfdCBmcmFt
ZUlELCBjb25zdCBTdHJpbmcmIHJlc291cmNlVVJMLCB1aW50NjRfdCBjYWxsYmFja0lEKTsKKyAg
ICB2b2lkIGdldFdlYkFyY2hpdmVPZkZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IGNh
bGxiYWNrSUQpOworI2VuZGlmCiAgICAgdm9pZCBnZXRSZW5kZXJUcmVlRXh0ZXJuYWxSZXByZXNl
bnRhdGlvbih1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGdldFNlbGVjdGlvbk9yQ29u
dGVudHNBc1N0cmluZyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGdldFNvdXJjZUZv
ckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOwotICAgIHZvaWQg
Z2V0V2ViQXJjaGl2ZU9mRnJhbWUodWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgY2FsbGJhY2tJ
RCk7CiAgICAgdm9pZCBydW5KYXZhU2NyaXB0SW5NYWluRnJhbWUoY29uc3QgU3RyaW5nJiwgdWlu
dDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBmb3JjZVJlcGFpbnQodWludDY0X3QgY2FsbGJh
Y2tJRCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80590</attachid>
            <date>2011-01-30 06:23:23 -0800</date>
            <delta_ts>2011-01-31 01:25:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52712-20110130162320.patch</filename>
            <type>text/plain</type>
            <size>19025</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGE3ZjA1ZjRkMWMyM2IwNDA5MThlY2I1MzBjOTJk
NmU1ZDhhOWVmM2IuLmQyNDY2Yjk5NGZiNjFiNzBlM2Y4NTkzOThlZDQ0ZTc3Njg0YTYyYzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTAxLTMwICBKZXJl
bXkgTW9za292aWNoICA8amVyZW15QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBjb21waWxlLXRpbWUgb3B0aW9uIHRv
IGNvbXBsZXRlbHkgZGlzYWJsZSBXZWJBcmNoaXZlIHN1cHBvcnQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjcxMgorCisgICAgICAgIEFkZCBhbiBF
TkFCTEUoV0VCX0FSQ0hJVkUpIGNvbXBpbGUtdGltZSBzZXR0aW5nIGFuZCB1c2UgaXQgZm9yIGFs
bCBXZWJBcmNoaXZlIGNvZGUuCisgICAgICAgIFBvcnRzIEFmZmVjdGVkOgorICAgICAgICAgICAg
V2ViQXJjaGl2ZSBzdXBwb3J0IGlzIGN1cnJlbnRseSBlbmFibGVkIGZvciBhbGwgcG9ydHMgdGhh
dCBkZWZpbmUgUExBVEZPUk0oQ0YpIGFwYXJ0IGZyb20gUVQuCisgICAgICAgICAgICBUaGlzIHBh
dGNoIHByZXNlcnZlcyB0aGlzIGJlaGF2aW9yIGV4Y2VwdCB0aGF0IGl0IGFsc28gZGlzYWJsZXMg
c3VwcG9ydCBpbiB0aGUgQ2hyb21pdW0gcG9ydC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5o
OiBBZGQgRU5BQkxFX1dFQl9BUkNISVZFIGRlZmluaXRpb24gYW5kIHR1cm4gaXQgb2ZmIGV4cGxp
Y2l0bHkgZm9yIFFUICYgQ2hyb21pdW0gcG9ydHMuCisKIDIwMTEtMDEtMjQgIEFkYW0gUm9iZW4g
IDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdpbmRvd3MgUHJvZHVjdGlvbiBidWlsZCBm
aXgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCAzNGI2Y2RlYmNlZTYwMGEy
NjZkYzJjZDQ2ZTdjY2EwNmNiNGQ4N2MyLi4yNGYwZTY1ZTNhYmNiNGI2OGUxMTg2MTI0NzlkMTkz
ZjVhZWE5ZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3Jt
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC02MTYsNiAr
NjE2LDcgQEAKICNkZWZpbmUgSEFWRV9SVU5MT09QX1RJTUVSIDEKICNkZWZpbmUgRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJIDEKICNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMQorI2RlZmlu
ZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQogI2VuZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRG
T1JNKElPUykgKi8KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTY1Niw2ICs2NTcsNyBAQAogI2Rl
ZmluZSBXVEZfUExBVEZPUk1fQ0YgMQogI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKICNkZWZp
bmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKEFORFJPSUQpCkBAIC02NzgsNiArNjgwLDEwIEBACiAjZGVm
aW5lIFdURl9VU0VfUFRIUkVBRFMgMAogI2VuZGlmCiAKKyNpZiBQTEFURk9STShXSU4pICYmICFP
UyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oUVQpCisjZGVmaW5l
IEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFdYKQogI2RlZmlu
ZSBFTkFCTEVfQVNTRU1CTEVSIDEKICNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05F
VyAwCkBAIC02ODUsNiArNjkxLDcgQEAKICNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKICNpZm5k
ZWYgQlVJTERJTkdfT05fVElHRVIKICNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2RlZmlu
ZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQogI2Vsc2UKICNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCiAj
ZW5kaWYKQEAgLTEwNjAsNiArMTA2NywxMCBAQAogI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9M
TElORyAwCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKKyNkZWZp
bmUgRU5BQkxFX1dFQl9BUkNISVZFIDAKKyNlbmRpZgorCiAvKiBVc2UgdGhlIFFYbWxTdHJlYW1S
ZWFkZXIgaW1wbGVtZW50YXRpb24gZm9yIFhNTERvY3VtZW50UGFyc2VyICovCiAvKiBVc2UgdGhl
IFFYbWxRdWVyeSBpbXBsZW1lbnRhdGlvbiBmb3IgWFNMVFByb2Nlc3NvciAqLwogI2lmIFBMQVRG
T1JNKFFUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDAyODE4NWI4ZjIxNjJhYzliMjdlNTA4YzdiOTdmYTI0ZTA3
MzVmODcuLmExYWQxZGNlOGE4MGJmMTVhYzliZDk1N2JlMTZjOGM3YTMyODI2ZDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0MCBAQAorMjAxMS0wMS0zMCAgSmVyZW15IE1vc2tvdmljaCAgPGplcmVt
eUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGEgY29tcGlsZS10aW1lIG9wdGlvbiB0byBjb21wbGV0ZWx5IGRpc2FibGUg
V2ViQXJjaGl2ZSBzdXBwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTI3MTIKKworICAgICAgICBBZGQgYW4gRU5BQkxFKFdFQl9BUkNISVZFKSBj
b21waWxlLXRpbWUgc2V0dGluZyBhbmQgdXNlIGl0IGZvciBhbGwgV2ViQXJjaGl2ZSBjb2RlLgor
CisgICAgICAgIEFyY2hpdmVSZXNvdXJjZSBhbmQgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiBh
cmUgbm90YWJseSBzdGlsbCBjb21waWxlZCBpbi4gVGhleSBhcmUgdXNlZAorICAgICAgICBpbiBT
YWZhcmkgZm9yIGZ1bmN0aW9uYWxpdHkgc3VjaCBhcyAiU2F2ZSBJbWFnZSBBcyIgYW5kIEltYWdl
IGNvcHkgJiBwYXN0ZSBpbmRlcGVuZGVudCBvZgorICAgICAgICBXZWJBcmNoaXZlIHN1cHBvcnQu
CisKKyAgICAgICAgUG9ydHMgQWZmZWN0ZWQ6CisgICAgICAgICAgICBXZWJBcmNoaXZlIHN1cHBv
cnQgaXMgY3VycmVudGx5IGVuYWJsZWQgZm9yIGFsbCBwb3J0cyB0aGF0IGRlZmluZSBQTEFURk9S
TShDRikgYXBhcnQgZnJvbSBRVC4KKyAgICAgICAgICAgIFRoaXMgcGF0Y2ggcHJlc2VydmVzIHRo
aXMgYmVoYXZpb3IgZXhjZXB0IHRoYXQgaXQgYWxzbyBkaXNhYmxlcyBzdXBwb3J0IGluIHRoZSBD
aHJvbWl1bSBwb3J0LgorCisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZXMgc28gbm8gbmV3IHRl
c3RzLgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6IERvbid0IGNvbXBpbGUg
TGVnYWN5V2ViQXJjaGl2ZS5jcHAgYW5kIGZyaWVuZHMuCisgICAgICAgICogbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmNwcDogU3Vycm91bmQgV2ViQXJjaGl2ZSBjb2RlIHdpdGggI2lmZGVmLgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmNvbW1pdExvYWQpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnRMb2FkZXI6OnNldHVwRm9yUmVwbGFjZUJ5TUlNRVR5cGUpOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmFyY2hpdmVSZXNvdXJjZUZvclVSTCk6CisgICAg
ICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9h
ZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkVVJMSW50b0NoaWxk
RnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN0b3BBbGxMb2FkZXJzKToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpmaW5pc2hlZExvYWRpbmdEb2N1bWVudCk6
CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL1Jlc291
cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpzdGFydCk6
CisgICAgICAgICogbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwOiBSZW1vdmUgI2lm
ZGVmIHNpbmNlIGZlYXR1cmUgaXMgbm93IGVuYWJsZWQvZGlzYWJsZWQgd2hvbGVzYWxlLgorICAg
ICAgICAoV2ViQ29yZTo6YXJjaGl2ZU1JTUVUeXBlcyk6CisgICAgICAgICogcGFnZS9TZXR0aW5n
cy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorCiAyMDExLTAxLTI0ICBNaWhhaSBQ
YXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRv
bnkgQ2hhbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDI1OTRk
Mjk5MDRmMzkzOTAxMmY1NWJhYzkyYTA2ZmZmMWE2OWJjNWQuLjgwOGFkYWY2NGU3YTRhMzc1YmFi
YWUxMDVhOGE4M2Y5NmIwZmNkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwCkBAIC0yNDgsNyArMjQ4LDYgQEAKICAgICAgICAgICAjIEZJWE1FOiBFbGltaW5hdGUgZGVw
ZW5kZW5jeSBvbiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMgYW5kCiAgICAgICAgICAgIyByZWxhdGVk
IGRpcmVjdG9yaWVzLgogICAgICAgICAgICMgcGxhdGZvcm0vZ3JhcGhpY3MvY2cgbWF5IG5lZWQg
dG8gc3RpY2sgYXJvdW5kLCB0aG91Z2guCi0gICAgICAgICAgJy4uL2xvYWRlci9hcmNoaXZlL2Nm
JywKICAgICAgICAgICAnLi4vcGxhdGZvcm0vYXVkaW8vbWFjJywKICAgICAgICAgICAnLi4vcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjJywKICAgICAgICAgICAnLi4vcGxhdGZvcm0vbWFjJywKQEAgLTEy
MDAsNyArMTE5OSw2IEBACiAgICAgICAgICAgICAjIFNvbWUgb2YgdGhlc2UgYXJlIHVzZWQgaW5z
dGVhZCBvZiBDaHJvbWl1bSBwbGF0Zm9ybSBmaWxlcywgc2VlCiAgICAgICAgICAgICAjIHRoZSBz
cGVjaWZpYyBleGNsdXNpb25zIGluIHRoZSAic291cmNlcyEiIGxpc3QgYmVsb3cuCiAgICAgICAg
ICAgICBbJ2luY2x1ZGUnLCAncmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjXFwubW0kJ10sCi0gICAg
ICAgICAgICBbJ2luY2x1ZGUnLCAnbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZVxc
LmNwcCQnXSwKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Q29sb3JNYWNcXC5tbSQnXSwKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFw
aGljcy9tYWMvRmxvYXRQb2ludE1hY1xcLm1tJCddLAogICAgICAgICAgICAgWydpbmNsdWRlJywg
J3BsYXRmb3JtL2dyYXBoaWNzL21hYy9GbG9hdFJlY3RNYWNcXC5tbSQnXSwKQEAgLTEzNDYsNiAr
MTM0NCwxMiBAQAogICAgICAgICAjIERvbid0IGJ1aWxkIElEQktleVBhdGhCYWNrZW5kSW1wbC4g
IFdlIGhhdmUgb3VyIG93biBpbXBsZW1lbnRhdGlvbi4KICAgICAgICAgWydleGNsdWRlJywgJ3N0
b3JhZ2UvSURCS2V5UGF0aEJhY2tlbmRJbXBsXFwuY3BwJCddLAogCisgICAgICAgICMgRG9uJ3Qg
YnVpbGQgZmlsZXMgbmVlZGVkIGZvciBXZWJBcmNoaXZlIHN1cHBvcnQuIFNpbmNlIHdlIGRpc2Fi
bGUKKyAgICAgICAgIyB0aGlzIGZlYXR1cmUuCisgICAgICAgIFsnZXhjbHVkZScsICdsb2FkZXIv
YXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlXFwuY3BwJCddLAorICAgICAgICBbJ2V4Y2x1ZGUn
LCAnbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZU1hY1xcLm1tJCddLAorICAgICAg
ICBbJ2V4Y2x1ZGUnLCAnbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnlcXC5jcHAkJ10sCisK
ICAgICAgICAgIyBVc2UgbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlTm9uZS5jcHAgaW5zdGVhZC4K
ICAgICAgICAgWydleGNsdWRlJywgJ2xvYWRlci9pY29uL0ljb25EYXRhYmFzZVxcLmNwcCQnXSwK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggMmYyMTA2Njc5
M2QzNDZiMGM2Yjg0YmJlMDE2ZWY5NzE1ZTdkMjE4MS4uYmFiOWZiNWEwY2FlYzQ4NzYwYTk2NTY0
NGJkODFjYTY4ZmY1NzA3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKIAogI2lu
Y2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCi0jaW5jbHVkZSAiQXJjaGl2ZUZhY3Rvcnku
aCIKICNpbmNsdWRlICJBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiQ2Fj
aGVkUGFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCkBAIC01NCw2ICs1
MywxMCBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdW5p
Y29kZS9Vbmljb2RlLmg+CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCisjaW5jbHVkZSAiQXJj
aGl2ZUZhY3RvcnkuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyB2
b2lkIGNhbmNlbEFsbChjb25zdCBSZXNvdXJjZUxvYWRlclNldCYgbG9hZGVycykKQEAgLTI5MCw4
ICsyOTMsMTAgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6Y29tbWl0TG9hZChjb25zdCBjaGFyKiBk
YXRhLCBpbnQgbGVuZ3RoKQogICAgIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWRlciA9IERvY3VtZW50
TG9hZGVyOjpmcmFtZUxvYWRlcigpOwogICAgIGlmICghZnJhbWVMb2FkZXIpCiAgICAgICAgIHJl
dHVybjsKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgaWYgKEFyY2hpdmVGYWN0b3J5Ojpp
c0FyY2hpdmVNaW1lVHlwZShyZXNwb25zZSgpLm1pbWVUeXBlKCkpKQogICAgICAgICByZXR1cm47
CisjZW5kaWYKICAgICBmcmFtZUxvYWRlci0+Y2xpZW50KCktPmNvbW1pdHRlZExvYWQodGhpcywg
ZGF0YSwgbGVuZ3RoKTsKIH0KIApAQCAtMzQ5LDcgKzM1NCw5IEBAIHZvaWQgRG9jdW1lbnRMb2Fk
ZXI6OnNldHVwRm9yUmVwbGFjZUJ5TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBuZXdNSU1FVHlwZSkK
ICAgICAKICAgICBzdG9wTG9hZGluZ1N1YnJlc291cmNlcygpOwogICAgIHN0b3BMb2FkaW5nUGx1
Z0lucygpOworI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICBjbGVhckFyY2hpdmVSZXNvdXJj
ZXMoKTsKKyNlbmRpZgogfQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjp1cGRhdGVMb2FkaW5nKCkK
QEAgLTQzNiw2ICs0NDMsNyBAQCBib29sIERvY3VtZW50TG9hZGVyOjppc0xvYWRpbmdJbkFQSVNl
bnNlKCkgY29uc3QKICAgICByZXR1cm4gZnJhbWVMb2FkZXIoKS0+c3ViZnJhbWVJc0xvYWRpbmco
KTsKIH0KIAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmFk
ZEFsbEFyY2hpdmVSZXNvdXJjZXMoQXJjaGl2ZSogYXJjaGl2ZSkKIHsKICAgICBpZiAoIW1fYXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbikKQEAgLTQ2MiwxNiArNDcwLDYgQEAgdm9pZCBEb2N1bWVu
dExvYWRlcjo6YWRkQXJjaGl2ZVJlc291cmNlKFBhc3NSZWZQdHI8QXJjaGl2ZVJlc291cmNlPiBy
ZXNvdXJjZSkKICAgICBtX2FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24tPmFkZFJlc291cmNlKHJl
c291cmNlKTsKIH0KIAotQXJjaGl2ZVJlc291cmNlKiBEb2N1bWVudExvYWRlcjo6YXJjaGl2ZVJl
c291cmNlRm9yVVJMKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKLXsKLSAgICBpZiAoIW1fYXJjaGl2
ZVJlc291cmNlQ29sbGVjdGlvbikKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIAotICAgIEFy
Y2hpdmVSZXNvdXJjZSogcmVzb3VyY2UgPSBtX2FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24tPmFy
Y2hpdmVSZXNvdXJjZUZvclVSTCh1cmwpOwotCi0gICAgcmV0dXJuIHJlc291cmNlICYmICFyZXNv
dXJjZS0+c2hvdWxkSWdub3JlV2hlblVuYXJjaGl2aW5nKCkgPyByZXNvdXJjZSA6IDA7Ci19Ci0K
IFBhc3NSZWZQdHI8QXJjaGl2ZT4gRG9jdW1lbnRMb2FkZXI6OnBvcEFyY2hpdmVGb3JTdWJmcmFt
ZShjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSkKIHsKICAgICByZXR1cm4gbV9hcmNoaXZlUmVzb3Vy
Y2VDb2xsZWN0aW9uID8gbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLT5wb3BTdWJmcmFtZUFy
Y2hpdmUoZnJhbWVOYW1lKSA6IDA7CkBAIC00OTIsNiArNDkwLDE3IEBAIFNoYXJlZEJ1ZmZlciog
RG9jdW1lbnRMb2FkZXI6OnBhcnNlZEFyY2hpdmVEYXRhKCkgY29uc3QKIHsKICAgICByZXR1cm4g
bV9wYXJzZWRBcmNoaXZlRGF0YS5nZXQoKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FSQ0hJ
VkUpCisKK0FyY2hpdmVSZXNvdXJjZSogRG9jdW1lbnRMb2FkZXI6OmFyY2hpdmVSZXNvdXJjZUZv
clVSTChjb25zdCBLVVJMJiB1cmwpIGNvbnN0Cit7CisgICAgaWYgKCFtX2FyY2hpdmVSZXNvdXJj
ZUNvbGxlY3Rpb24pCisgICAgICAgIHJldHVybiAwOworICAgICAgICAKKyAgICBBcmNoaXZlUmVz
b3VyY2UqIHJlc291cmNlID0gbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLT5hcmNoaXZlUmVz
b3VyY2VGb3JVUkwodXJsKTsKKworICAgIHJldHVybiByZXNvdXJjZSAmJiAhcmVzb3VyY2UtPnNo
b3VsZElnbm9yZVdoZW5VbmFyY2hpdmluZygpID8gcmVzb3VyY2UgOiAwOworfQogCiBQYXNzUmVm
UHRyPEFyY2hpdmVSZXNvdXJjZT4gRG9jdW1lbnRMb2FkZXI6Om1haW5SZXNvdXJjZSgpIGNvbnN0
CiB7CkBAIC01OTksNiArNjA4LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6Y2FuY2VsUGVuZGlu
Z1N1YnN0aXR1dGVMb2FkKFJlc291cmNlTG9hZGVyKiBsb2FkZXIpCiAgICAgICAgIG1fc3Vic3Rp
dHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdG9wKCk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCX0FS
Q0hJVkUpCiBib29sIERvY3VtZW50TG9hZGVyOjpzY2hlZHVsZUFyY2hpdmVMb2FkKFJlc291cmNl
TG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgS1VS
TCYgb3JpZ2luYWxVUkwpCiB7CiAgICAgQXJjaGl2ZVJlc291cmNlKiByZXNvdXJjZSA9IDA7CkBA
IC02MTksNiArNjI5LDcgQEAgYm9vbCBEb2N1bWVudExvYWRlcjo6c2NoZWR1bGVBcmNoaXZlTG9h
ZChSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVIKICAgICAKICAgICByZXR1
cm4gdHJ1ZTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAKIHZvaWQgRG9jdW1l
bnRMb2FkZXI6OmFkZFJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCmluZGV4IDc3MjUwMzg0NmJlZjlkNzE1MThl
NDY3Y2E2ZmQ2MzllMmQ4MGI0YWMuLmU5NTE3Y2Y1NzVlYzIxYTMyYjg0OThjZmUwZWNlZTczNzEz
MDBkMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCkBAIC00Myw3ICs0
Myw5IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hl
SG9zdDsKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgY2xhc3MgQXJjaGl2ZTsKKyNlbmRp
ZgogICAgIGNsYXNzIEFyY2hpdmVSZXNvdXJjZTsKICAgICBjbGFzcyBBcmNoaXZlUmVzb3VyY2VD
b2xsZWN0aW9uOwogICAgIGNsYXNzIEZyYW1lOwpAQCAtMTI0LDI0ICsxMjYsMjkgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHVuc2NoZWR1bGUoU2NoZWR1bGVQYWlyKik7CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICAgICAgdm9pZCBhZGRBbGxBcmNo
aXZlUmVzb3VyY2VzKEFyY2hpdmUqKTsKICAgICAgICAgdm9pZCBhZGRBcmNoaXZlUmVzb3VyY2Uo
UGFzc1JlZlB0cjxBcmNoaXZlUmVzb3VyY2U+KTsKICAgICAgICAgCi0gICAgICAgIC8vIFJldHVy
biBhbiBBcmNoaXZlUmVzb3VyY2UgZm9yIHRoZSBVUkwsIGVpdGhlciBjcmVhdGluZyBmcm9tIGxp
dmUgZGF0YSBvcgotICAgICAgICAvLyBwdWxsaW5nIGZyb20gdGhlIEFyY2hpdmVSZXNvdXJjZUNv
bGxlY3Rpb24KLSAgICAgICAgUGFzc1JlZlB0cjxBcmNoaXZlUmVzb3VyY2U+IHN1YnJlc291cmNl
KGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICAgICAgLy8gUmV0dXJuIHRoZSBBcmNoaXZlUmVzb3Vy
Y2UgZm9yIHRoZSBVUkwgb25seSB3aGVuIGxvYWRpbmcgYW4gQXJjaGl2ZQotICAgICAgICBBcmNo
aXZlUmVzb3VyY2UqIGFyY2hpdmVSZXNvdXJjZUZvclVSTChjb25zdCBLVVJMJikgY29uc3Q7Ci0g
ICAgICAgIAogICAgICAgICBQYXNzUmVmUHRyPEFyY2hpdmU+IHBvcEFyY2hpdmVGb3JTdWJmcmFt
ZShjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSk7CiAgICAgICAgIHZvaWQgY2xlYXJBcmNoaXZlUmVz
b3VyY2VzKCk7CiAgICAgICAgIHZvaWQgc2V0UGFyc2VkQXJjaGl2ZURhdGEoUGFzc1JlZlB0cjxT
aGFyZWRCdWZmZXI+KTsKICAgICAgICAgU2hhcmVkQnVmZmVyKiBwYXJzZWRBcmNoaXZlRGF0YSgp
IGNvbnN0OwogICAgICAgICAKKyAgICAgICAgYm9vbCBzY2hlZHVsZUFyY2hpdmVMb2FkKFJlc291
cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgS1VSTCYpOworI2VuZGlm
IC8vIEVOQUJMRShXRUJfQVJDSElWRSkKKworICAgICAgICAvLyBSZXR1cm4gdGhlIEFyY2hpdmVS
ZXNvdXJjZSBmb3IgdGhlIFVSTCBvbmx5IHdoZW4gbG9hZGluZyBhbiBBcmNoaXZlCisgICAgICAg
IEFyY2hpdmVSZXNvdXJjZSogYXJjaGl2ZVJlc291cmNlRm9yVVJMKGNvbnN0IEtVUkwmKSBjb25z
dDsKKwogICAgICAgICBQYXNzUmVmUHRyPEFyY2hpdmVSZXNvdXJjZT4gbWFpblJlc291cmNlKCkg
Y29uc3Q7CisKKyAgICAgICAgLy8gUmV0dXJuIGFuIEFyY2hpdmVSZXNvdXJjZSBmb3IgdGhlIFVS
TCwgZWl0aGVyIGNyZWF0aW5nIGZyb20gbGl2ZSBkYXRhIG9yCisgICAgICAgIC8vIHB1bGxpbmcg
ZnJvbSB0aGUgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbgorICAgICAgICBQYXNzUmVmUHRyPEFy
Y2hpdmVSZXNvdXJjZT4gc3VicmVzb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0OwogICAgICAgICB2
b2lkIGdldFN1YnJlc291cmNlcyhWZWN0b3I8UGFzc1JlZlB0cjxBcmNoaXZlUmVzb3VyY2U+ID4m
KSBjb25zdDsKLSAgICAgICAgCi0gICAgICAgIGJvb2wgc2NoZWR1bGVBcmNoaXZlTG9hZChSZXNv
dXJjZUxvYWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IEtVUkwmKTsKKworCiAj
aWZuZGVmIE5ERUJVRwogICAgICAgICBib29sIGlzU3Vic3RpdHV0ZUxvYWRQZW5kaW5nKFJlc291
cmNlTG9hZGVyKikgY29uc3Q7CiAjZW5kaWYKQEAgLTMwMSw5ICszMDgsMTEgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFJlc291cmNlTG9hZGVy
PiwgUmVmUHRyPFN1YnN0aXR1dGVSZXNvdXJjZT4gPiBTdWJzdGl0dXRlUmVzb3VyY2VNYXA7CiAg
ICAgICAgIFN1YnN0aXR1dGVSZXNvdXJjZU1hcCBtX3BlbmRpbmdTdWJzdGl0dXRlUmVzb3VyY2Vz
OwogICAgICAgICBUaW1lcjxEb2N1bWVudExvYWRlcj4gbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxp
dmVyeVRpbWVyOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgIE93blB0cjxBcmNoaXZlUmVz
b3VyY2VDb2xsZWN0aW9uPiBtX2FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb247CisjaWYgRU5BQkxF
KFdFQl9BUkNISVZFKQogICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBtX3BhcnNlZEFyY2hp
dmVEYXRhOworI2VuZGlmCiAKICAgICAgICAgSGFzaFNldDxTdHJpbmc+IG1fcmVzb3VyY2VzQ2xp
ZW50S25vd3NBYm91dDsKICAgICAgICAgVmVjdG9yPFN0cmluZz4gbV9yZXNvdXJjZXNMb2FkZWRG
cm9tTWVtb3J5Q2FjaGVGb3JDbGllbnROb3RpZmljYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAppbmRleCAxMTI5YmFjNjhiOTBjMzVkYWY4NTZiOWZjZWRlOTVmYjAzODQz
MmYwLi5mZGUzNjEyN2E3MTU1YTJiYjg4YzRmYzM1MGY4ZGZkN2JhNjIyZDFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTM0LDggKzM0LDYgQEAKICNpbmNsdWRlICJG
cmFtZUxvYWRlci5oIgogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNs
dWRlICJBcmNoaXZlLmgiCi0jaW5jbHVkZSAiQXJjaGl2ZUZhY3RvcnkuaCIKICNpbmNsdWRlICJC
YWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJCZWZvcmVVbmxvYWRFdmVudC5oIgog
I2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCkBAIC0xMTMsNiArMTExLDExIEBACiAjaW5jbHVkZSAi
U1ZHVmlld1NwZWMuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQorI2luY2x1
ZGUgIkFyY2hpdmUuaCIKKyNpbmNsdWRlICJBcmNoaXZlRmFjdG9yeS5oIgorI2VuZGlmCisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTkxMywx
MSArOTE2LDEzIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRVUkxJbnRvQ2hpbGRGcmFtZShjb25z
dCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcmVmZXJlciwKIHsKICAgICBBU1NFUlQoY2hpbGRG
cmFtZSk7CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgUmVmUHRyPEFyY2hpdmU+IHN1
YmZyYW1lQXJjaGl2ZSA9IGFjdGl2ZURvY3VtZW50TG9hZGVyKCktPnBvcEFyY2hpdmVGb3JTdWJm
cmFtZShjaGlsZEZyYW1lLT50cmVlKCktPnVuaXF1ZU5hbWUoKSk7ICAgIAogICAgIGlmIChzdWJm
cmFtZUFyY2hpdmUpIHsKICAgICAgICAgY2hpbGRGcmFtZS0+bG9hZGVyKCktPmxvYWRBcmNoaXZl
KHN1YmZyYW1lQXJjaGl2ZS5yZWxlYXNlKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQorI2Vu
ZGlmIC8vIEVOQUJMRShXRUJfQVJDSElWRSkKIAogICAgIEhpc3RvcnlJdGVtKiBwYXJlbnRJdGVt
ID0gaGlzdG9yeSgpLT5jdXJyZW50SXRlbSgpOwogICAgIC8vIElmIHdlJ3JlIG1vdmluZyBpbiB0
aGUgYmFjay9mb3J3YXJkIGxpc3QsIHdlIG1pZ2h0IHdhbnQgdG8gcmVwbGFjZSB0aGUgY29udGVu
dApAQCAtOTMzLDYgKzkzOCw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRVUkxJbnRvQ2hpbGRG
cmFtZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcmVmZXJlciwKICAgICBjaGlsZEZy
YW1lLT5sb2FkZXIoKS0+bG9hZFVSTCh1cmwsIHJlZmVyZXIsIFN0cmluZygpLCBmYWxzZSwgRnJh
bWVMb2FkVHlwZVJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3YXJkTGlzdCwgMCwgMCk7CiB9CiAK
KyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkQXJjaGl2ZShQ
YXNzUmVmUHRyPEFyY2hpdmU+IHBycEFyY2hpdmUpCiB7CiAgICAgUmVmUHRyPEFyY2hpdmU+IGFy
Y2hpdmUgPSBwcnBBcmNoaXZlOwpAQCAtOTUzLDYgKzk1OSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6
OmxvYWRBcmNoaXZlKFBhc3NSZWZQdHI8QXJjaGl2ZT4gcHJwQXJjaGl2ZSkKICAgICBkb2N1bWVu
dExvYWRlci0+YWRkQWxsQXJjaGl2ZVJlc291cmNlcyhhcmNoaXZlLmdldCgpKTsKICAgICBsb2Fk
KGRvY3VtZW50TG9hZGVyLmdldCgpKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FSQ0hJVkUp
CiAKIE9iamVjdENvbnRlbnRUeXBlIEZyYW1lTG9hZGVyOjpkZWZhdWx0T2JqZWN0Q29udGVudFR5
cGUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlSW4pCiB7CkBAIC0xNzE1
LDggKzE3MjIsMTAgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3RvcEFsbExvYWRlcnMoRGF0YWJhc2VQ
b2xpY3kgZGF0YWJhc2VQb2xpY3ksIENsZWFyUHJvdmlzaW9uYWwKIAogICAgIHNldFByb3Zpc2lv
bmFsRG9jdW1lbnRMb2FkZXIoMCk7CiAgICAgCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogICAg
IGlmIChtX2RvY3VtZW50TG9hZGVyKQogICAgICAgICBtX2RvY3VtZW50TG9hZGVyLT5jbGVhckFy
Y2hpdmVSZXNvdXJjZXMoKTsKKyNlbmRpZgogCiAgICAgbV9jaGVja1RpbWVyLnN0b3AoKTsKIApA
QCAtMjIzMyw2ICsyMjQyLDkgQEAgdm9pZCBGcmFtZUxvYWRlcjo6ZmluaXNoZWRMb2FkaW5nRG9j
dW1lbnQoRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCiAK
KyNpZiAhRU5BQkxFKFdFQl9BUkNISVZFKQorICAgIG1fY2xpZW50LT5maW5pc2hlZExvYWRpbmco
bG9hZGVyKTsKKyNlbHNlCiAgICAgLy8gR2l2ZSBhcmNoaXZlIG1hY2hpbmVyeSBhIGNyYWNrIGF0
IHRoaXMgZG9jdW1lbnQuIElmIHRoZSBNSU1FIHR5cGUgaXMgbm90IGFuIGFyY2hpdmUgdHlwZSwg
aXQgd2lsbCByZXR1cm4gMC4KICAgICBSZWZQdHI8QXJjaGl2ZT4gYXJjaGl2ZSA9IEFyY2hpdmVG
YWN0b3J5OjpjcmVhdGUobG9hZGVyLT5tYWluUmVzb3VyY2VEYXRhKCkuZ2V0KCksIGxvYWRlci0+
cmVzcG9uc2VNSU1FVHlwZSgpKTsKICAgICBpZiAoIWFyY2hpdmUpIHsKQEAgLTIyNTcsNiArMjI2
OSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmZpbmlzaGVkTG9hZGluZ0RvY3VtZW50KERvY3VtZW50
TG9hZGVyKiBsb2FkZXIpCiAgICAgYm9vbCBlbmNvZGluZ0lzVXNlckNob3NlbiA9ICF1c2VyQ2hv
c2VuRW5jb2RpbmcuaXNOdWxsKCk7CiAgICAgd3JpdGVyKCktPnNldEVuY29kaW5nKGVuY29kaW5n
SXNVc2VyQ2hvc2VuID8gdXNlckNob3NlbkVuY29kaW5nIDogbWFpblJlc291cmNlLT50ZXh0RW5j
b2RpbmcoKSwgZW5jb2RpbmdJc1VzZXJDaG9zZW4pOwogICAgIHdyaXRlcigpLT5hZGREYXRhKG1h
aW5SZXNvdXJjZS0+ZGF0YSgpLT5kYXRhKCksIG1haW5SZXNvdXJjZS0+ZGF0YSgpLT5zaXplKCkp
OworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVJDSElWRSkKIH0KIAogYm9vbCBGcmFtZUxvYWRlcjo6
aXNSZXBsYWNpbmcoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA0
MjdjZGVlMzYzNmYwZWQ2ZDg3NzU1MTdjNmQ3NWZlYzRjODkwYzQ0Li5hM2ExYmZhZDQwNThmMDgx
MjBhY2FhYmI1YWFjNGFkYThiNzc3YzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
aApAQCAtMTE4LDggKzExOCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2FkKGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIGJvb2wgbG9ja0hpc3RvcnkpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBDYWxsZWQgYnkgV2ViRnJhbWUsIGNhbGxzIGxvYWQoUmVzb3VyY2VS
ZXF1ZXN0LCBTdWJzdGl0dXRlRGF0YSkuCiAgICAgdm9pZCBsb2FkKGNvbnN0IFJlc291cmNlUmVx
dWVzdCYsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiwgYm9vbCBsb2NrSGlzdG9yeSk7ICAgICAgICAg
ICAgICAgICAvLyBDYWxsZWQgYm90aCBieSBXZWJGcmFtZSBhbmQgaW50ZXJuYWxseSwgY2FsbHMg
bG9hZChEb2N1bWVudExvYWRlciopLgogICAgIHZvaWQgbG9hZChjb25zdCBSZXNvdXJjZVJlcXVl
c3QmLCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgYm9vbCBsb2NrSGlzdG9yeSk7ICAgICAgICAg
ICAgICAgLy8gQ2FsbGVkIGJ5IFdlYlBsdWdpbkNvbnRyb2xsZXIuCi0gICAgCisKKyNpZiBFTkFC
TEUoV0VCX0FSQ0hJVkUpCiAgICAgdm9pZCBsb2FkQXJjaGl2ZShQYXNzUmVmUHRyPEFyY2hpdmU+
KTsKKyNlbmRpZgogCiAgICAgc3RhdGljIHZvaWQgcmVwb3J0TG9jYWxMb2FkRmFpbGVkKEZyYW1l
KiwgY29uc3QgU3RyaW5nJiB1cmwpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZGVyLmNwcAppbmRleCA0MmNlMDE2Yjg1ZDVjMDlkZGM5NTI4YjdlYzliZWRjMzRkYjdhNDI0Li5l
MDhlMTkwNmEwOTU1ZmI0NDM0MTlkNjViOGM2MDYyYTg1Y2RkMDY2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTE0NSw4ICsxNDUsMTAgQEAgdm9pZCBSZXNv
dXJjZUxvYWRlcjo6c3RhcnQoKQogICAgIEFTU0VSVCghbV9yZXF1ZXN0LmlzTnVsbCgpKTsKICAg
ICBBU1NFUlQobV9kZWZlcnJlZFJlcXVlc3QuaXNOdWxsKCkpOwogCisjaWYgRU5BQkxFKFdFQl9B
UkNISVZFKQogICAgIGlmIChtX2RvY3VtZW50TG9hZGVyLT5zY2hlZHVsZUFyY2hpdmVMb2FkKHRo
aXMsIG1fcmVxdWVzdCwgbV9yZXF1ZXN0LnVybCgpKSkKICAgICAgICAgcmV0dXJuOworI2VuZGlm
CiAgICAgCiAjaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKICAgICBpZiAobV9k
b2N1bWVudExvYWRlci0+YXBwbGljYXRpb25DYWNoZUhvc3QoKS0+bWF5YmVMb2FkUmVzb3VyY2Uo
dGhpcywgbV9yZXF1ZXN0LCBtX3JlcXVlc3QudXJsKCkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwCmluZGV4IDJlMTA4YzU0OTQ2YWIwNjA3
MmZkNWJhOGNmMjRjOTZhMmM5YjY1NjAuLjA0YTAxMDFlNTRmMmRkZjE5NGEwZmY3OGYzZjAwYzc5
YWE0YTQ4MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hp
dmVGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZl
RmFjdG9yeS5jcHAKQEAgLTYwLDkgKzYwLDcgQEAgc3RhdGljIEFyY2hpdmVNSU1FVHlwZXNNYXAm
IGFyY2hpdmVNSU1FVHlwZXMoKQogICAgIGlmIChpbml0aWFsaXplZCkKICAgICAgICAgcmV0dXJu
IG1pbWVUeXBlczsKIAotI2lmIFBMQVRGT1JNKENGKSAmJiAhUExBVEZPUk0oUVQpCiAgICAgbWlt
ZVR5cGVzLnNldCgiYXBwbGljYXRpb24veC13ZWJhcmNoaXZlIiwgYXJjaGl2ZUZhY3RvcnlDcmVh
dGU8TGVnYWN5V2ViQXJjaGl2ZT4pOwotI2VuZGlmCiAKICAgICBpbml0aWFsaXplZCA9IHRydWU7
CiAgICAgcmV0dXJuIG1pbWVUeXBlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggZDg3
NmUyYjk1MDhjOTFmNGEzMDBiNTUyNWY2MWQ1MjAyMDRjNTU0My4uMDU3MjJlNGE1ODNjOGIxNjYx
N2JhMzg0OTFjNDM3YWE2OWM1NDViYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTUx
MCwxMCArNTEwLDEyIEBAIHZvaWQgU2V0dGluZ3M6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
Ym9vbCBmcmFtZUZsYXR0ZW5pbmdFbmFibGVkKQogICAgIG1fZnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCA9IGZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7CiB9CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUp
CiB2b2lkIFNldHRpbmdzOjpzZXRXZWJBcmNoaXZlRGVidWdNb2RlRW5hYmxlZChib29sIGVuYWJs
ZWQpCiB7CiAgICAgbV93ZWJBcmNoaXZlRGVidWdNb2RlRW5hYmxlZCA9IGVuYWJsZWQ7CiB9Cisj
ZW5kaWYKIAogdm9pZCBTZXR0aW5nczo6c2V0TG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxl
ZChib29sIGVuYWJsZWQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggNzJjNDcwM2M2ZGYz
ZjZhNWZlOGIzMmI3ZGQwZmVjMjQ1ZmU0ODkxOC4uYTRhZjkzYmFlNTFkODM2MmRiYjNiZmVmMmJk
NjE2YTNjYzUxMzc4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMjM0LDkgKzIzNCwxMSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBzZXROZWVkc1NpdGVTcGVjaWZp
Y1F1aXJrcyhib29sKTsKICAgICAgICAgYm9vbCBuZWVkc1NpdGVTcGVjaWZpY1F1aXJrcygpIGNv
bnN0IHsgcmV0dXJuIG1fbmVlZHNTaXRlU3BlY2lmaWNRdWlya3M7IH0KLSAgICAgICAgCisKKyNp
ZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgICAgIHZvaWQgc2V0V2ViQXJjaGl2ZURlYnVnTW9k
ZUVuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgd2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX3dlYkFyY2hpdmVEZWJ1Z01vZGVFbmFibGVkOyB9CisjZW5kaWYK
IAogICAgICAgICB2b2lkIHNldExvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQoYm9vbCk7
CiAgICAgICAgIGJvb2wgbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZDsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80624</attachid>
            <date>2011-01-31 01:25:15 -0800</date>
            <delta_ts>2011-01-31 02:07:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52712-20110131112509.patch</filename>
            <type>text/plain</type>
            <size>19958</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGE3ZjA1ZjRkMWMyM2IwNDA5MThlY2I1MzBjOTJk
NmU1ZDhhOWVmM2IuLmQyNDY2Yjk5NGZiNjFiNzBlM2Y4NTkzOThlZDQ0ZTc3Njg0YTYyYzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTAxLTMwICBKZXJl
bXkgTW9za292aWNoICA8amVyZW15QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBjb21waWxlLXRpbWUgb3B0aW9uIHRv
IGNvbXBsZXRlbHkgZGlzYWJsZSBXZWJBcmNoaXZlIHN1cHBvcnQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjcxMgorCisgICAgICAgIEFkZCBhbiBF
TkFCTEUoV0VCX0FSQ0hJVkUpIGNvbXBpbGUtdGltZSBzZXR0aW5nIGFuZCB1c2UgaXQgZm9yIGFs
bCBXZWJBcmNoaXZlIGNvZGUuCisgICAgICAgIFBvcnRzIEFmZmVjdGVkOgorICAgICAgICAgICAg
V2ViQXJjaGl2ZSBzdXBwb3J0IGlzIGN1cnJlbnRseSBlbmFibGVkIGZvciBhbGwgcG9ydHMgdGhh
dCBkZWZpbmUgUExBVEZPUk0oQ0YpIGFwYXJ0IGZyb20gUVQuCisgICAgICAgICAgICBUaGlzIHBh
dGNoIHByZXNlcnZlcyB0aGlzIGJlaGF2aW9yIGV4Y2VwdCB0aGF0IGl0IGFsc28gZGlzYWJsZXMg
c3VwcG9ydCBpbiB0aGUgQ2hyb21pdW0gcG9ydC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5o
OiBBZGQgRU5BQkxFX1dFQl9BUkNISVZFIGRlZmluaXRpb24gYW5kIHR1cm4gaXQgb2ZmIGV4cGxp
Y2l0bHkgZm9yIFFUICYgQ2hyb21pdW0gcG9ydHMuCisKIDIwMTEtMDEtMjQgIEFkYW0gUm9iZW4g
IDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdpbmRvd3MgUHJvZHVjdGlvbiBidWlsZCBm
aXgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCAzNGI2Y2RlYmNlZTYwMGEy
NjZkYzJjZDQ2ZTdjY2EwNmNiNGQ4N2MyLi4yNGYwZTY1ZTNhYmNiNGI2OGUxMTg2MTI0NzlkMTkz
ZjVhZWE5ZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3Jt
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC02MTYsNiAr
NjE2LDcgQEAKICNkZWZpbmUgSEFWRV9SVU5MT09QX1RJTUVSIDEKICNkZWZpbmUgRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJIDEKICNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMQorI2RlZmlu
ZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQogI2VuZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRG
T1JNKElPUykgKi8KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTY1Niw2ICs2NTcsNyBAQAogI2Rl
ZmluZSBXVEZfUExBVEZPUk1fQ0YgMQogI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKICNkZWZp
bmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKEFORFJPSUQpCkBAIC02NzgsNiArNjgwLDEwIEBACiAjZGVm
aW5lIFdURl9VU0VfUFRIUkVBRFMgMAogI2VuZGlmCiAKKyNpZiBQTEFURk9STShXSU4pICYmICFP
UyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oUVQpCisjZGVmaW5l
IEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFdYKQogI2RlZmlu
ZSBFTkFCTEVfQVNTRU1CTEVSIDEKICNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05F
VyAwCkBAIC02ODUsNiArNjkxLDcgQEAKICNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKICNpZm5k
ZWYgQlVJTERJTkdfT05fVElHRVIKICNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2RlZmlu
ZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQogI2Vsc2UKICNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCiAj
ZW5kaWYKQEAgLTEwNjAsNiArMTA2NywxMCBAQAogI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9M
TElORyAwCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKKyNkZWZp
bmUgRU5BQkxFX1dFQl9BUkNISVZFIDAKKyNlbmRpZgorCiAvKiBVc2UgdGhlIFFYbWxTdHJlYW1S
ZWFkZXIgaW1wbGVtZW50YXRpb24gZm9yIFhNTERvY3VtZW50UGFyc2VyICovCiAvKiBVc2UgdGhl
IFFYbWxRdWVyeSBpbXBsZW1lbnRhdGlvbiBmb3IgWFNMVFByb2Nlc3NvciAqLwogI2lmIFBMQVRG
T1JNKFFUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDAyODE4NWI4ZjIxNjJhYzliMjdlNTA4YzdiOTdmYTI0ZTA3
MzVmODcuLmJjMjFhMDMzNGVjZmJlMDBkMDQzMDE4ZTIwZjg5YmM2MTUzMGRlMTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0MSBAQAorMjAxMS0wMS0zMCAgSmVyZW15IE1vc2tvdmljaCAgPGplcmVt
eUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGEgY29tcGlsZS10aW1lIG9wdGlvbiB0byBjb21wbGV0ZWx5IGRpc2FibGUg
V2ViQXJjaGl2ZSBzdXBwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTI3MTIKKworICAgICAgICBBZGQgYW4gRU5BQkxFKFdFQl9BUkNISVZFKSBj
b21waWxlLXRpbWUgc2V0dGluZyBhbmQgdXNlIGl0IGZvciBhbGwgV2ViQXJjaGl2ZSBjb2RlLgor
CisgICAgICAgIEFyY2hpdmVSZXNvdXJjZSBhbmQgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiBh
cmUgbm90YWJseSBzdGlsbCBjb21waWxlZCBpbi4gVGhleSBhcmUgdXNlZAorICAgICAgICBpbiBT
YWZhcmkgZm9yIGZ1bmN0aW9uYWxpdHkgc3VjaCBhcyAiU2F2ZSBJbWFnZSBBcyIgYW5kIEltYWdl
IGNvcHkgJiBwYXN0ZSBpbmRlcGVuZGVudCBvZgorICAgICAgICBXZWJBcmNoaXZlIHN1cHBvcnQu
CisKKyAgICAgICAgUG9ydHMgQWZmZWN0ZWQ6CisgICAgICAgICAgICBXZWJBcmNoaXZlIHN1cHBv
cnQgaXMgY3VycmVudGx5IGVuYWJsZWQgZm9yIGFsbCBwb3J0cyB0aGF0IGRlZmluZSBQTEFURk9S
TShDRikgYXBhcnQgZnJvbSBRVC4KKyAgICAgICAgICAgIFRoaXMgcGF0Y2ggcHJlc2VydmVzIHRo
aXMgYmVoYXZpb3IgZXhjZXB0IHRoYXQgaXQgYWxzbyBkaXNhYmxlcyBzdXBwb3J0IGluIHRoZSBD
aHJvbWl1bSBwb3J0LgorCisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZXMgc28gbm8gbmV3IHRl
c3RzLgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6IERvbid0IGNvbXBpbGUg
TGVnYWN5V2ViQXJjaGl2ZS5jcHAgYW5kIGZyaWVuZHMuCisgICAgICAgICogV2ViQ29yZS5wcm86
IERvbid0IGNvbXBpbGUgQXJjaGl2ZUZhY3RvcnkuY3BwIGluIFFUIHBvcnQuCisgICAgICAgICog
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDogU3Vycm91bmQgV2ViQXJjaGl2ZSBjb2RlIHdpdGgg
I2lmZGVmLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmNvbW1pdExvYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnNldHVwRm9yUmVwbGFjZUJ5TUlNRVR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmFyY2hpdmVSZXNvdXJjZUZv
clVSTCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmg6CisgICAgICAgICogbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2Fk
VVJMSW50b0NoaWxkRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN0b3BB
bGxMb2FkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpmaW5pc2hlZExvYWRp
bmdEb2N1bWVudCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAgICAgICog
bG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZGVyOjpzdGFydCk6CisgICAgICAgICogbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3Bw
OiBSZW1vdmUgI2lmZGVmIHNpbmNlIGZlYXR1cmUgaXMgbm93IGVuYWJsZWQvZGlzYWJsZWQgd2hv
bGVzYWxlLgorICAgICAgICAoV2ViQ29yZTo6YXJjaGl2ZU1JTUVUeXBlcyk6CisgICAgICAgICog
cGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorCiAyMDExLTAx
LTI0ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFRvbnkgQ2hhbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lw
CmluZGV4IDI1OTRkMjk5MDRmMzkzOTAxMmY1NWJhYzkyYTA2ZmZmMWE2OWJjNWQuLjgwOGFkYWY2
NGU3YTRhMzc1YmFiYWUxMDVhOGE4M2Y5NmIwZmNkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwCkBAIC0yNDgsNyArMjQ4LDYgQEAKICAgICAgICAgICAjIEZJWE1FOiBF
bGltaW5hdGUgZGVwZW5kZW5jeSBvbiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMgYW5kCiAgICAgICAg
ICAgIyByZWxhdGVkIGRpcmVjdG9yaWVzLgogICAgICAgICAgICMgcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cgbWF5IG5lZWQgdG8gc3RpY2sgYXJvdW5kLCB0aG91Z2guCi0gICAgICAgICAgJy4uL2xvYWRl
ci9hcmNoaXZlL2NmJywKICAgICAgICAgICAnLi4vcGxhdGZvcm0vYXVkaW8vbWFjJywKICAgICAg
ICAgICAnLi4vcGxhdGZvcm0vZ3JhcGhpY3MvbWFjJywKICAgICAgICAgICAnLi4vcGxhdGZvcm0v
bWFjJywKQEAgLTEyMDAsNyArMTE5OSw2IEBACiAgICAgICAgICAgICAjIFNvbWUgb2YgdGhlc2Ug
YXJlIHVzZWQgaW5zdGVhZCBvZiBDaHJvbWl1bSBwbGF0Zm9ybSBmaWxlcywgc2VlCiAgICAgICAg
ICAgICAjIHRoZSBzcGVjaWZpYyBleGNsdXNpb25zIGluIHRoZSAic291cmNlcyEiIGxpc3QgYmVs
b3cuCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjXFwu
bW0kJ10sCi0gICAgICAgICAgICBbJ2luY2x1ZGUnLCAnbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5
V2ViQXJjaGl2ZVxcLmNwcCQnXSwKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9n
cmFwaGljcy9tYWMvQ29sb3JNYWNcXC5tbSQnXSwKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdw
bGF0Zm9ybS9ncmFwaGljcy9tYWMvRmxvYXRQb2ludE1hY1xcLm1tJCddLAogICAgICAgICAgICAg
WydpbmNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9GbG9hdFJlY3RNYWNcXC5tbSQnXSwK
QEAgLTEzNDYsNiArMTM0NCwxMiBAQAogICAgICAgICAjIERvbid0IGJ1aWxkIElEQktleVBhdGhC
YWNrZW5kSW1wbC4gIFdlIGhhdmUgb3VyIG93biBpbXBsZW1lbnRhdGlvbi4KICAgICAgICAgWydl
eGNsdWRlJywgJ3N0b3JhZ2UvSURCS2V5UGF0aEJhY2tlbmRJbXBsXFwuY3BwJCddLAogCisgICAg
ICAgICMgRG9uJ3QgYnVpbGQgZmlsZXMgbmVlZGVkIGZvciBXZWJBcmNoaXZlIHN1cHBvcnQuIFNp
bmNlIHdlIGRpc2FibGUKKyAgICAgICAgIyB0aGlzIGZlYXR1cmUuCisgICAgICAgIFsnZXhjbHVk
ZScsICdsb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlXFwuY3BwJCddLAorICAgICAg
ICBbJ2V4Y2x1ZGUnLCAnbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZU1hY1xcLm1t
JCddLAorICAgICAgICBbJ2V4Y2x1ZGUnLCAnbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3Rvcnlc
XC5jcHAkJ10sCisKICAgICAgICAgIyBVc2UgbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlTm9uZS5j
cHAgaW5zdGVhZC4KICAgICAgICAgWydleGNsdWRlJywgJ2xvYWRlci9pY29uL0ljb25EYXRhYmFz
ZVxcLmNwcCQnXSwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBjYjUzZjM5OGNlYmUxYzQ4MjhiNDJkNTc1
MTkxYzNiODhiZDgyNzRjLi45NTM2YmY3NDJlYzlhZmRlNWY0N2M2YjdjNDFhNDEyNjEwNGNkZjQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnBybwpAQCAtMTA3MSw3ICsxMDcxLDYgQEAgU09VUkNFUyArPSBcCiAgICAg
aW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5jcHAgXAogICAgIGluc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2suY3BwIFwKICAgICBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCBcCi0g
ICAgbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwIFwKICAgICBsb2FkZXIvYXJjaGl2
ZS9BcmNoaXZlUmVzb3VyY2UuY3BwIFwKICAgICBsb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3Vy
Y2VDb2xsZWN0aW9uLmNwcCBcCiAgICAgbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcCBcCkBA
IC0xOTc0LDcgKzE5NzMsNiBAQCBIRUFERVJTICs9IFwKICAgICBsb2FkZXIvYXBwY2FjaGUvQXBw
bGljYXRpb25DYWNoZVN0b3JhZ2UuaCBcCiAgICAgbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0
aW9uQ2FjaGUuaCBcCiAgICAgbG9hZGVyL2FwcGNhY2hlL01hbmlmZXN0UGFyc2VyLmggXAotICAg
IGxvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5LmggXAogICAgIGxvYWRlci9hcmNoaXZlL0Fy
Y2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaCBcCiAgICAgbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJl
c291cmNlLmggXAogICAgIGxvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggMmYyMTA2Njc5M2QzNDZi
MGM2Yjg0YmJlMDE2ZWY5NzE1ZTdkMjE4MS4uYmFiOWZiNWEwY2FlYzQ4NzYwYTk2NTY0NGJkODFj
YTY4ZmY1NzA3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBA
IC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKIAogI2luY2x1ZGUg
IkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCi0jaW5jbHVkZSAiQXJjaGl2ZUZhY3RvcnkuaCIKICNp
bmNsdWRlICJBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUGFn
ZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCkBAIC01NCw2ICs1MywxMCBA
QAogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9V
bmljb2RlLmg+CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCisjaW5jbHVkZSAiQXJjaGl2ZUZh
Y3RvcnkuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyB2b2lkIGNh
bmNlbEFsbChjb25zdCBSZXNvdXJjZUxvYWRlclNldCYgbG9hZGVycykKQEAgLTI5MCw4ICsyOTMs
MTAgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6Y29tbWl0TG9hZChjb25zdCBjaGFyKiBkYXRhLCBp
bnQgbGVuZ3RoKQogICAgIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWRlciA9IERvY3VtZW50TG9hZGVy
OjpmcmFtZUxvYWRlcigpOwogICAgIGlmICghZnJhbWVMb2FkZXIpCiAgICAgICAgIHJldHVybjsK
KyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgaWYgKEFyY2hpdmVGYWN0b3J5Ojppc0FyY2hp
dmVNaW1lVHlwZShyZXNwb25zZSgpLm1pbWVUeXBlKCkpKQogICAgICAgICByZXR1cm47CisjZW5k
aWYKICAgICBmcmFtZUxvYWRlci0+Y2xpZW50KCktPmNvbW1pdHRlZExvYWQodGhpcywgZGF0YSwg
bGVuZ3RoKTsKIH0KIApAQCAtMzQ5LDcgKzM1NCw5IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnNl
dHVwRm9yUmVwbGFjZUJ5TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBuZXdNSU1FVHlwZSkKICAgICAK
ICAgICBzdG9wTG9hZGluZ1N1YnJlc291cmNlcygpOwogICAgIHN0b3BMb2FkaW5nUGx1Z0lucygp
OworI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICBjbGVhckFyY2hpdmVSZXNvdXJjZXMoKTsK
KyNlbmRpZgogfQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjp1cGRhdGVMb2FkaW5nKCkKQEAgLTQz
Niw2ICs0NDMsNyBAQCBib29sIERvY3VtZW50TG9hZGVyOjppc0xvYWRpbmdJbkFQSVNlbnNlKCkg
Y29uc3QKICAgICByZXR1cm4gZnJhbWVMb2FkZXIoKS0+c3ViZnJhbWVJc0xvYWRpbmcoKTsKIH0K
IAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmFkZEFsbEFy
Y2hpdmVSZXNvdXJjZXMoQXJjaGl2ZSogYXJjaGl2ZSkKIHsKICAgICBpZiAoIW1fYXJjaGl2ZVJl
c291cmNlQ29sbGVjdGlvbikKQEAgLTQ2MiwxNiArNDcwLDYgQEAgdm9pZCBEb2N1bWVudExvYWRl
cjo6YWRkQXJjaGl2ZVJlc291cmNlKFBhc3NSZWZQdHI8QXJjaGl2ZVJlc291cmNlPiByZXNvdXJj
ZSkKICAgICBtX2FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24tPmFkZFJlc291cmNlKHJlc291cmNl
KTsKIH0KIAotQXJjaGl2ZVJlc291cmNlKiBEb2N1bWVudExvYWRlcjo6YXJjaGl2ZVJlc291cmNl
Rm9yVVJMKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKLXsKLSAgICBpZiAoIW1fYXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbikKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIAotICAgIEFyY2hpdmVS
ZXNvdXJjZSogcmVzb3VyY2UgPSBtX2FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24tPmFyY2hpdmVS
ZXNvdXJjZUZvclVSTCh1cmwpOwotCi0gICAgcmV0dXJuIHJlc291cmNlICYmICFyZXNvdXJjZS0+
c2hvdWxkSWdub3JlV2hlblVuYXJjaGl2aW5nKCkgPyByZXNvdXJjZSA6IDA7Ci19Ci0KIFBhc3NS
ZWZQdHI8QXJjaGl2ZT4gRG9jdW1lbnRMb2FkZXI6OnBvcEFyY2hpdmVGb3JTdWJmcmFtZShjb25z
dCBTdHJpbmcmIGZyYW1lTmFtZSkKIHsKICAgICByZXR1cm4gbV9hcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uID8gbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLT5wb3BTdWJmcmFtZUFyY2hpdmUo
ZnJhbWVOYW1lKSA6IDA7CkBAIC00OTIsNiArNDkwLDE3IEBAIFNoYXJlZEJ1ZmZlciogRG9jdW1l
bnRMb2FkZXI6OnBhcnNlZEFyY2hpdmVEYXRhKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wYXJz
ZWRBcmNoaXZlRGF0YS5nZXQoKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FSQ0hJVkUpCisK
K0FyY2hpdmVSZXNvdXJjZSogRG9jdW1lbnRMb2FkZXI6OmFyY2hpdmVSZXNvdXJjZUZvclVSTChj
b25zdCBLVVJMJiB1cmwpIGNvbnN0Cit7CisgICAgaWYgKCFtX2FyY2hpdmVSZXNvdXJjZUNvbGxl
Y3Rpb24pCisgICAgICAgIHJldHVybiAwOworICAgICAgICAKKyAgICBBcmNoaXZlUmVzb3VyY2Uq
IHJlc291cmNlID0gbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLT5hcmNoaXZlUmVzb3VyY2VG
b3JVUkwodXJsKTsKKworICAgIHJldHVybiByZXNvdXJjZSAmJiAhcmVzb3VyY2UtPnNob3VsZEln
bm9yZVdoZW5VbmFyY2hpdmluZygpID8gcmVzb3VyY2UgOiAwOworfQogCiBQYXNzUmVmUHRyPEFy
Y2hpdmVSZXNvdXJjZT4gRG9jdW1lbnRMb2FkZXI6Om1haW5SZXNvdXJjZSgpIGNvbnN0CiB7CkBA
IC01OTksNiArNjA4LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6Y2FuY2VsUGVuZGluZ1N1YnN0
aXR1dGVMb2FkKFJlc291cmNlTG9hZGVyKiBsb2FkZXIpCiAgICAgICAgIG1fc3Vic3RpdHV0ZVJl
c291cmNlRGVsaXZlcnlUaW1lci5zdG9wKCk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUp
CiBib29sIERvY3VtZW50TG9hZGVyOjpzY2hlZHVsZUFyY2hpdmVMb2FkKFJlc291cmNlTG9hZGVy
KiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgS1VSTCYgb3Jp
Z2luYWxVUkwpCiB7CiAgICAgQXJjaGl2ZVJlc291cmNlKiByZXNvdXJjZSA9IDA7CkBAIC02MTks
NiArNjI5LDcgQEAgYm9vbCBEb2N1bWVudExvYWRlcjo6c2NoZWR1bGVBcmNoaXZlTG9hZChSZXNv
dXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVIKICAgICAKICAgICByZXR1cm4gdHJ1
ZTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAKIHZvaWQgRG9jdW1lbnRMb2Fk
ZXI6OmFkZFJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5oCmluZGV4IDc3MjUwMzg0NmJlZjlkNzE1MThlNDY3Y2E2
ZmQ2MzllMmQ4MGI0YWMuLmU5NTE3Y2Y1NzVlYzIxYTMyYjg0OThjZmUwZWNlZTczNzEzMDBkMDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCkBAIC00Myw3ICs0Myw5IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdDsK
KyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgY2xhc3MgQXJjaGl2ZTsKKyNlbmRpZgogICAg
IGNsYXNzIEFyY2hpdmVSZXNvdXJjZTsKICAgICBjbGFzcyBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0
aW9uOwogICAgIGNsYXNzIEZyYW1lOwpAQCAtMTI0LDI0ICsxMjYsMjkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICB2b2lkIHVuc2NoZWR1bGUoU2NoZWR1bGVQYWlyKik7CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICAgICAgdm9pZCBhZGRBbGxBcmNoaXZlUmVz
b3VyY2VzKEFyY2hpdmUqKTsKICAgICAgICAgdm9pZCBhZGRBcmNoaXZlUmVzb3VyY2UoUGFzc1Jl
ZlB0cjxBcmNoaXZlUmVzb3VyY2U+KTsKICAgICAgICAgCi0gICAgICAgIC8vIFJldHVybiBhbiBB
cmNoaXZlUmVzb3VyY2UgZm9yIHRoZSBVUkwsIGVpdGhlciBjcmVhdGluZyBmcm9tIGxpdmUgZGF0
YSBvcgotICAgICAgICAvLyBwdWxsaW5nIGZyb20gdGhlIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rp
b24KLSAgICAgICAgUGFzc1JlZlB0cjxBcmNoaXZlUmVzb3VyY2U+IHN1YnJlc291cmNlKGNvbnN0
IEtVUkwmKSBjb25zdDsKLSAgICAgICAgLy8gUmV0dXJuIHRoZSBBcmNoaXZlUmVzb3VyY2UgZm9y
IHRoZSBVUkwgb25seSB3aGVuIGxvYWRpbmcgYW4gQXJjaGl2ZQotICAgICAgICBBcmNoaXZlUmVz
b3VyY2UqIGFyY2hpdmVSZXNvdXJjZUZvclVSTChjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAgICAg
IAogICAgICAgICBQYXNzUmVmUHRyPEFyY2hpdmU+IHBvcEFyY2hpdmVGb3JTdWJmcmFtZShjb25z
dCBTdHJpbmcmIGZyYW1lTmFtZSk7CiAgICAgICAgIHZvaWQgY2xlYXJBcmNoaXZlUmVzb3VyY2Vz
KCk7CiAgICAgICAgIHZvaWQgc2V0UGFyc2VkQXJjaGl2ZURhdGEoUGFzc1JlZlB0cjxTaGFyZWRC
dWZmZXI+KTsKICAgICAgICAgU2hhcmVkQnVmZmVyKiBwYXJzZWRBcmNoaXZlRGF0YSgpIGNvbnN0
OwogICAgICAgICAKKyAgICAgICAgYm9vbCBzY2hlZHVsZUFyY2hpdmVMb2FkKFJlc291cmNlTG9h
ZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgS1VSTCYpOworI2VuZGlmIC8vIEVO
QUJMRShXRUJfQVJDSElWRSkKKworICAgICAgICAvLyBSZXR1cm4gdGhlIEFyY2hpdmVSZXNvdXJj
ZSBmb3IgdGhlIFVSTCBvbmx5IHdoZW4gbG9hZGluZyBhbiBBcmNoaXZlCisgICAgICAgIEFyY2hp
dmVSZXNvdXJjZSogYXJjaGl2ZVJlc291cmNlRm9yVVJMKGNvbnN0IEtVUkwmKSBjb25zdDsKKwog
ICAgICAgICBQYXNzUmVmUHRyPEFyY2hpdmVSZXNvdXJjZT4gbWFpblJlc291cmNlKCkgY29uc3Q7
CisKKyAgICAgICAgLy8gUmV0dXJuIGFuIEFyY2hpdmVSZXNvdXJjZSBmb3IgdGhlIFVSTCwgZWl0
aGVyIGNyZWF0aW5nIGZyb20gbGl2ZSBkYXRhIG9yCisgICAgICAgIC8vIHB1bGxpbmcgZnJvbSB0
aGUgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbgorICAgICAgICBQYXNzUmVmUHRyPEFyY2hpdmVS
ZXNvdXJjZT4gc3VicmVzb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0OwogICAgICAgICB2b2lkIGdl
dFN1YnJlc291cmNlcyhWZWN0b3I8UGFzc1JlZlB0cjxBcmNoaXZlUmVzb3VyY2U+ID4mKSBjb25z
dDsKLSAgICAgICAgCi0gICAgICAgIGJvb2wgc2NoZWR1bGVBcmNoaXZlTG9hZChSZXNvdXJjZUxv
YWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IEtVUkwmKTsKKworCiAjaWZuZGVm
IE5ERUJVRwogICAgICAgICBib29sIGlzU3Vic3RpdHV0ZUxvYWRQZW5kaW5nKFJlc291cmNlTG9h
ZGVyKikgY29uc3Q7CiAjZW5kaWYKQEAgLTMwMSw5ICszMDgsMTEgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFJlc291cmNlTG9hZGVyPiwgUmVm
UHRyPFN1YnN0aXR1dGVSZXNvdXJjZT4gPiBTdWJzdGl0dXRlUmVzb3VyY2VNYXA7CiAgICAgICAg
IFN1YnN0aXR1dGVSZXNvdXJjZU1hcCBtX3BlbmRpbmdTdWJzdGl0dXRlUmVzb3VyY2VzOwogICAg
ICAgICBUaW1lcjxEb2N1bWVudExvYWRlcj4gbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRp
bWVyOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgIE93blB0cjxBcmNoaXZlUmVzb3VyY2VD
b2xsZWN0aW9uPiBtX2FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb247CisjaWYgRU5BQkxFKFdFQl9B
UkNISVZFKQogICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBtX3BhcnNlZEFyY2hpdmVEYXRh
OworI2VuZGlmCiAKICAgICAgICAgSGFzaFNldDxTdHJpbmc+IG1fcmVzb3VyY2VzQ2xpZW50S25v
d3NBYm91dDsKICAgICAgICAgVmVjdG9yPFN0cmluZz4gbV9yZXNvdXJjZXNMb2FkZWRGcm9tTWVt
b3J5Q2FjaGVGb3JDbGllbnROb3RpZmljYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmNwcAppbmRleCAxMTI5YmFjNjhiOTBjMzVkYWY4NTZiOWZjZWRlOTVmYjAzODQzMmYwLi5m
ZGUzNjEyN2E3MTU1YTJiYjg4YzRmYzM1MGY4ZGZkN2JhNjIyZDFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTM0LDggKzM0LDYgQEAKICNpbmNsdWRlICJGcmFtZUxv
YWRlci5oIgogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlICJB
cmNoaXZlLmgiCi0jaW5jbHVkZSAiQXJjaGl2ZUZhY3RvcnkuaCIKICNpbmNsdWRlICJCYWNrRm9y
d2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJCZWZvcmVVbmxvYWRFdmVudC5oIgogI2luY2x1
ZGUgIk1lbW9yeUNhY2hlLmgiCkBAIC0xMTMsNiArMTExLDExIEBACiAjaW5jbHVkZSAiU1ZHVmll
d1NwZWMuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQorI2luY2x1ZGUgIkFy
Y2hpdmUuaCIKKyNpbmNsdWRlICJBcmNoaXZlRmFjdG9yeS5oIgorI2VuZGlmCisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTkxMywxMSArOTE2
LDEzIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRVUkxJbnRvQ2hpbGRGcmFtZShjb25zdCBLVVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgcmVmZXJlciwKIHsKICAgICBBU1NFUlQoY2hpbGRGcmFtZSk7
CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgUmVmUHRyPEFyY2hpdmU+IHN1YmZyYW1l
QXJjaGl2ZSA9IGFjdGl2ZURvY3VtZW50TG9hZGVyKCktPnBvcEFyY2hpdmVGb3JTdWJmcmFtZShj
aGlsZEZyYW1lLT50cmVlKCktPnVuaXF1ZU5hbWUoKSk7ICAgIAogICAgIGlmIChzdWJmcmFtZUFy
Y2hpdmUpIHsKICAgICAgICAgY2hpbGRGcmFtZS0+bG9hZGVyKCktPmxvYWRBcmNoaXZlKHN1YmZy
YW1lQXJjaGl2ZS5yZWxlYXNlKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQorI2VuZGlmIC8v
IEVOQUJMRShXRUJfQVJDSElWRSkKIAogICAgIEhpc3RvcnlJdGVtKiBwYXJlbnRJdGVtID0gaGlz
dG9yeSgpLT5jdXJyZW50SXRlbSgpOwogICAgIC8vIElmIHdlJ3JlIG1vdmluZyBpbiB0aGUgYmFj
ay9mb3J3YXJkIGxpc3QsIHdlIG1pZ2h0IHdhbnQgdG8gcmVwbGFjZSB0aGUgY29udGVudApAQCAt
OTMzLDYgKzkzOCw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRVUkxJbnRvQ2hpbGRGcmFtZShj
b25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcmVmZXJlciwKICAgICBjaGlsZEZyYW1lLT5s
b2FkZXIoKS0+bG9hZFVSTCh1cmwsIHJlZmVyZXIsIFN0cmluZygpLCBmYWxzZSwgRnJhbWVMb2Fk
VHlwZVJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3YXJkTGlzdCwgMCwgMCk7CiB9CiAKKyNpZiBF
TkFCTEUoV0VCX0FSQ0hJVkUpCiB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkQXJjaGl2ZShQYXNzUmVm
UHRyPEFyY2hpdmU+IHBycEFyY2hpdmUpCiB7CiAgICAgUmVmUHRyPEFyY2hpdmU+IGFyY2hpdmUg
PSBwcnBBcmNoaXZlOwpAQCAtOTUzLDYgKzk1OSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRB
cmNoaXZlKFBhc3NSZWZQdHI8QXJjaGl2ZT4gcHJwQXJjaGl2ZSkKICAgICBkb2N1bWVudExvYWRl
ci0+YWRkQWxsQXJjaGl2ZVJlc291cmNlcyhhcmNoaXZlLmdldCgpKTsKICAgICBsb2FkKGRvY3Vt
ZW50TG9hZGVyLmdldCgpKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAKIE9i
amVjdENvbnRlbnRUeXBlIEZyYW1lTG9hZGVyOjpkZWZhdWx0T2JqZWN0Q29udGVudFR5cGUoY29u
c3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlSW4pCiB7CkBAIC0xNzE1LDggKzE3
MjIsMTAgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3RvcEFsbExvYWRlcnMoRGF0YWJhc2VQb2xpY3kg
ZGF0YWJhc2VQb2xpY3ksIENsZWFyUHJvdmlzaW9uYWwKIAogICAgIHNldFByb3Zpc2lvbmFsRG9j
dW1lbnRMb2FkZXIoMCk7CiAgICAgCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogICAgIGlmICht
X2RvY3VtZW50TG9hZGVyKQogICAgICAgICBtX2RvY3VtZW50TG9hZGVyLT5jbGVhckFyY2hpdmVS
ZXNvdXJjZXMoKTsKKyNlbmRpZgogCiAgICAgbV9jaGVja1RpbWVyLnN0b3AoKTsKIApAQCAtMjIz
Myw2ICsyMjQyLDkgQEAgdm9pZCBGcmFtZUxvYWRlcjo6ZmluaXNoZWRMb2FkaW5nRG9jdW1lbnQo
RG9jdW1lbnRMb2FkZXIqIGxvYWRlcikKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCiAKKyNpZiAh
RU5BQkxFKFdFQl9BUkNISVZFKQorICAgIG1fY2xpZW50LT5maW5pc2hlZExvYWRpbmcobG9hZGVy
KTsKKyNlbHNlCiAgICAgLy8gR2l2ZSBhcmNoaXZlIG1hY2hpbmVyeSBhIGNyYWNrIGF0IHRoaXMg
ZG9jdW1lbnQuIElmIHRoZSBNSU1FIHR5cGUgaXMgbm90IGFuIGFyY2hpdmUgdHlwZSwgaXQgd2ls
bCByZXR1cm4gMC4KICAgICBSZWZQdHI8QXJjaGl2ZT4gYXJjaGl2ZSA9IEFyY2hpdmVGYWN0b3J5
OjpjcmVhdGUobG9hZGVyLT5tYWluUmVzb3VyY2VEYXRhKCkuZ2V0KCksIGxvYWRlci0+cmVzcG9u
c2VNSU1FVHlwZSgpKTsKICAgICBpZiAoIWFyY2hpdmUpIHsKQEAgLTIyNTcsNiArMjI2OSw3IEBA
IHZvaWQgRnJhbWVMb2FkZXI6OmZpbmlzaGVkTG9hZGluZ0RvY3VtZW50KERvY3VtZW50TG9hZGVy
KiBsb2FkZXIpCiAgICAgYm9vbCBlbmNvZGluZ0lzVXNlckNob3NlbiA9ICF1c2VyQ2hvc2VuRW5j
b2RpbmcuaXNOdWxsKCk7CiAgICAgd3JpdGVyKCktPnNldEVuY29kaW5nKGVuY29kaW5nSXNVc2Vy
Q2hvc2VuID8gdXNlckNob3NlbkVuY29kaW5nIDogbWFpblJlc291cmNlLT50ZXh0RW5jb2Rpbmco
KSwgZW5jb2RpbmdJc1VzZXJDaG9zZW4pOwogICAgIHdyaXRlcigpLT5hZGREYXRhKG1haW5SZXNv
dXJjZS0+ZGF0YSgpLT5kYXRhKCksIG1haW5SZXNvdXJjZS0+ZGF0YSgpLT5zaXplKCkpOworI2Vu
ZGlmIC8vIEVOQUJMRShXRUJfQVJDSElWRSkKIH0KIAogYm9vbCBGcmFtZUxvYWRlcjo6aXNSZXBs
YWNpbmcoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA0MjdjZGVl
MzYzNmYwZWQ2ZDg3NzU1MTdjNmQ3NWZlYzRjODkwYzQ0Li5hM2ExYmZhZDQwNThmMDgxMjBhY2Fh
YmI1YWFjNGFkYThiNzc3YzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAt
MTE4LDggKzExOCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2FkKGNvbnN0IFJlc291cmNlUmVx
dWVzdCYsIGJvb2wgbG9ja0hpc3RvcnkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBDYWxsZWQgYnkgV2ViRnJhbWUsIGNhbGxzIGxvYWQoUmVzb3VyY2VSZXF1ZXN0
LCBTdWJzdGl0dXRlRGF0YSkuCiAgICAgdm9pZCBsb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IFN1YnN0aXR1dGVEYXRhJiwgYm9vbCBsb2NrSGlzdG9yeSk7ICAgICAgICAgICAgICAg
ICAvLyBDYWxsZWQgYm90aCBieSBXZWJGcmFtZSBhbmQgaW50ZXJuYWxseSwgY2FsbHMgbG9hZChE
b2N1bWVudExvYWRlciopLgogICAgIHZvaWQgbG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBj
b25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgYm9vbCBsb2NrSGlzdG9yeSk7ICAgICAgICAgICAgICAg
Ly8gQ2FsbGVkIGJ5IFdlYlBsdWdpbkNvbnRyb2xsZXIuCi0gICAgCisKKyNpZiBFTkFCTEUoV0VC
X0FSQ0hJVkUpCiAgICAgdm9pZCBsb2FkQXJjaGl2ZShQYXNzUmVmUHRyPEFyY2hpdmU+KTsKKyNl
bmRpZgogCiAgICAgc3RhdGljIHZvaWQgcmVwb3J0TG9jYWxMb2FkRmFpbGVkKEZyYW1lKiwgY29u
c3QgU3RyaW5nJiB1cmwpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNw
cAppbmRleCA0MmNlMDE2Yjg1ZDVjMDlkZGM5NTI4YjdlYzliZWRjMzRkYjdhNDI0Li5lMDhlMTkw
NmEwOTU1ZmI0NDM0MTlkNjViOGM2MDYyYTg1Y2RkMDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTE0NSw4ICsxNDUsMTAgQEAgdm9pZCBSZXNvdXJjZUxv
YWRlcjo6c3RhcnQoKQogICAgIEFTU0VSVCghbV9yZXF1ZXN0LmlzTnVsbCgpKTsKICAgICBBU1NF
UlQobV9kZWZlcnJlZFJlcXVlc3QuaXNOdWxsKCkpOwogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZF
KQogICAgIGlmIChtX2RvY3VtZW50TG9hZGVyLT5zY2hlZHVsZUFyY2hpdmVMb2FkKHRoaXMsIG1f
cmVxdWVzdCwgbV9yZXF1ZXN0LnVybCgpKSkKICAgICAgICAgcmV0dXJuOworI2VuZGlmCiAgICAg
CiAjaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKICAgICBpZiAobV9kb2N1bWVu
dExvYWRlci0+YXBwbGljYXRpb25DYWNoZUhvc3QoKS0+bWF5YmVMb2FkUmVzb3VyY2UodGhpcywg
bV9yZXF1ZXN0LCBtX3JlcXVlc3QudXJsKCkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwCmluZGV4IDJlMTA4YzU0OTQ2YWIwNjA3MmZkNWJh
OGNmMjRjOTZhMmM5YjY1NjAuLmIwMmI4MzEwNDE4ZmMyN2QzOGIxNzcwNGVjNDA5OThjMjkzYjMw
NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0
b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9y
eS5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgc3RhdGljIEFyY2hpdmVNSU1FVHlwZXNNYXAmIGFyY2hp
dmVNSU1FVHlwZXMoKQogICAgIGlmIChpbml0aWFsaXplZCkKICAgICAgICAgcmV0dXJuIG1pbWVU
eXBlczsKIAotI2lmIFBMQVRGT1JNKENGKSAmJiAhUExBVEZPUk0oUVQpCisjaWYgUExBVEZPUk0o
Q0YpCiAgICAgbWltZVR5cGVzLnNldCgiYXBwbGljYXRpb24veC13ZWJhcmNoaXZlIiwgYXJjaGl2
ZUZhY3RvcnlDcmVhdGU8TGVnYWN5V2ViQXJjaGl2ZT4pOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5jcHAKaW5kZXggZDg3NmUyYjk1MDhjOTFmNGEzMDBiNTUyNWY2MWQ1MjAyMDRjNTU0
My4uMDU3MjJlNGE1ODNjOGIxNjYxN2JhMzg0OTFjNDM3YWE2OWM1NDViYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5jcHAKQEAgLTUxMCwxMCArNTEwLDEyIEBAIHZvaWQgU2V0dGluZ3M6OnNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBmcmFtZUZsYXR0ZW5pbmdFbmFibGVkKQogICAgIG1f
ZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCA9IGZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7CiB9CiAKKyNp
ZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiB2b2lkIFNldHRpbmdzOjpzZXRXZWJBcmNoaXZlRGVidWdN
b2RlRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgbV93ZWJBcmNoaXZlRGVidWdNb2RlRW5h
YmxlZCA9IGVuYWJsZWQ7CiB9CisjZW5kaWYKIAogdm9pZCBTZXR0aW5nczo6c2V0TG9jYWxGaWxl
Q29udGVudFNuaWZmaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmgKaW5kZXggNzJjNDcwM2M2ZGYzZjZhNWZlOGIzMmI3ZGQwZmVjMjQ1ZmU0ODkxOC4uYTRhZjkz
YmFlNTFkODM2MmRiYjNiZmVmMmJkNjE2YTNjYzUxMzc4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
aApAQCAtMjM0LDkgKzIzNCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9p
ZCBzZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhib29sKTsKICAgICAgICAgYm9vbCBuZWVkc1Np
dGVTcGVjaWZpY1F1aXJrcygpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNTaXRlU3BlY2lmaWNRdWly
a3M7IH0KLSAgICAgICAgCisKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgICAgIHZvaWQg
c2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgd2ViQXJj
aGl2ZURlYnVnTW9kZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYkFyY2hpdmVEZWJ1Z01v
ZGVFbmFibGVkOyB9CisjZW5kaWYKIAogICAgICAgICB2b2lkIHNldExvY2FsRmlsZUNvbnRlbnRT
bmlmZmluZ0VuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgbG9jYWxGaWxlQ29udGVudFNuaWZm
aW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5h
YmxlZDsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80628</attachid>
            <date>2011-01-31 02:07:36 -0800</date>
            <delta_ts>2011-01-31 04:32:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52712-20110131120730.patch</filename>
            <type>text/plain</type>
            <size>21248</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGE3ZjA1ZjRkMWMyM2IwNDA5MThlY2I1MzBjOTJk
NmU1ZDhhOWVmM2IuLmQyNDY2Yjk5NGZiNjFiNzBlM2Y4NTkzOThlZDQ0ZTc3Njg0YTYyYzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTAxLTMwICBKZXJl
bXkgTW9za292aWNoICA8amVyZW15QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBjb21waWxlLXRpbWUgb3B0aW9uIHRv
IGNvbXBsZXRlbHkgZGlzYWJsZSBXZWJBcmNoaXZlIHN1cHBvcnQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjcxMgorCisgICAgICAgIEFkZCBhbiBF
TkFCTEUoV0VCX0FSQ0hJVkUpIGNvbXBpbGUtdGltZSBzZXR0aW5nIGFuZCB1c2UgaXQgZm9yIGFs
bCBXZWJBcmNoaXZlIGNvZGUuCisgICAgICAgIFBvcnRzIEFmZmVjdGVkOgorICAgICAgICAgICAg
V2ViQXJjaGl2ZSBzdXBwb3J0IGlzIGN1cnJlbnRseSBlbmFibGVkIGZvciBhbGwgcG9ydHMgdGhh
dCBkZWZpbmUgUExBVEZPUk0oQ0YpIGFwYXJ0IGZyb20gUVQuCisgICAgICAgICAgICBUaGlzIHBh
dGNoIHByZXNlcnZlcyB0aGlzIGJlaGF2aW9yIGV4Y2VwdCB0aGF0IGl0IGFsc28gZGlzYWJsZXMg
c3VwcG9ydCBpbiB0aGUgQ2hyb21pdW0gcG9ydC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5o
OiBBZGQgRU5BQkxFX1dFQl9BUkNISVZFIGRlZmluaXRpb24gYW5kIHR1cm4gaXQgb2ZmIGV4cGxp
Y2l0bHkgZm9yIFFUICYgQ2hyb21pdW0gcG9ydHMuCisKIDIwMTEtMDEtMjQgIEFkYW0gUm9iZW4g
IDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdpbmRvd3MgUHJvZHVjdGlvbiBidWlsZCBm
aXgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCAzNGI2Y2RlYmNlZTYwMGEy
NjZkYzJjZDQ2ZTdjY2EwNmNiNGQ4N2MyLi4yNGYwZTY1ZTNhYmNiNGI2OGUxMTg2MTI0NzlkMTkz
ZjVhZWE5ZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3Jt
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC02MTYsNiAr
NjE2LDcgQEAKICNkZWZpbmUgSEFWRV9SVU5MT09QX1RJTUVSIDEKICNkZWZpbmUgRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJIDEKICNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMQorI2RlZmlu
ZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQogI2VuZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRG
T1JNKElPUykgKi8KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTY1Niw2ICs2NTcsNyBAQAogI2Rl
ZmluZSBXVEZfUExBVEZPUk1fQ0YgMQogI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKICNkZWZp
bmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKEFORFJPSUQpCkBAIC02NzgsNiArNjgwLDEwIEBACiAjZGVm
aW5lIFdURl9VU0VfUFRIUkVBRFMgMAogI2VuZGlmCiAKKyNpZiBQTEFURk9STShXSU4pICYmICFP
UyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oUVQpCisjZGVmaW5l
IEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFdYKQogI2RlZmlu
ZSBFTkFCTEVfQVNTRU1CTEVSIDEKICNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05F
VyAwCkBAIC02ODUsNiArNjkxLDcgQEAKICNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKICNpZm5k
ZWYgQlVJTERJTkdfT05fVElHRVIKICNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2RlZmlu
ZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQogI2Vsc2UKICNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCiAj
ZW5kaWYKQEAgLTEwNjAsNiArMTA2NywxMCBAQAogI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9M
TElORyAwCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKKyNkZWZp
bmUgRU5BQkxFX1dFQl9BUkNISVZFIDAKKyNlbmRpZgorCiAvKiBVc2UgdGhlIFFYbWxTdHJlYW1S
ZWFkZXIgaW1wbGVtZW50YXRpb24gZm9yIFhNTERvY3VtZW50UGFyc2VyICovCiAvKiBVc2UgdGhl
IFFYbWxRdWVyeSBpbXBsZW1lbnRhdGlvbiBmb3IgWFNMVFByb2Nlc3NvciAqLwogI2lmIFBMQVRG
T1JNKFFUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDAyODE4NWI4ZjIxNjJhYzliMjdlNTA4YzdiOTdmYTI0ZTA3
MzVmODcuLmJjMjFhMDMzNGVjZmJlMDBkMDQzMDE4ZTIwZjg5YmM2MTUzMGRlMTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0MSBAQAorMjAxMS0wMS0zMCAgSmVyZW15IE1vc2tvdmljaCAgPGplcmVt
eUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGEgY29tcGlsZS10aW1lIG9wdGlvbiB0byBjb21wbGV0ZWx5IGRpc2FibGUg
V2ViQXJjaGl2ZSBzdXBwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTI3MTIKKworICAgICAgICBBZGQgYW4gRU5BQkxFKFdFQl9BUkNISVZFKSBj
b21waWxlLXRpbWUgc2V0dGluZyBhbmQgdXNlIGl0IGZvciBhbGwgV2ViQXJjaGl2ZSBjb2RlLgor
CisgICAgICAgIEFyY2hpdmVSZXNvdXJjZSBhbmQgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiBh
cmUgbm90YWJseSBzdGlsbCBjb21waWxlZCBpbi4gVGhleSBhcmUgdXNlZAorICAgICAgICBpbiBT
YWZhcmkgZm9yIGZ1bmN0aW9uYWxpdHkgc3VjaCBhcyAiU2F2ZSBJbWFnZSBBcyIgYW5kIEltYWdl
IGNvcHkgJiBwYXN0ZSBpbmRlcGVuZGVudCBvZgorICAgICAgICBXZWJBcmNoaXZlIHN1cHBvcnQu
CisKKyAgICAgICAgUG9ydHMgQWZmZWN0ZWQ6CisgICAgICAgICAgICBXZWJBcmNoaXZlIHN1cHBv
cnQgaXMgY3VycmVudGx5IGVuYWJsZWQgZm9yIGFsbCBwb3J0cyB0aGF0IGRlZmluZSBQTEFURk9S
TShDRikgYXBhcnQgZnJvbSBRVC4KKyAgICAgICAgICAgIFRoaXMgcGF0Y2ggcHJlc2VydmVzIHRo
aXMgYmVoYXZpb3IgZXhjZXB0IHRoYXQgaXQgYWxzbyBkaXNhYmxlcyBzdXBwb3J0IGluIHRoZSBD
aHJvbWl1bSBwb3J0LgorCisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZXMgc28gbm8gbmV3IHRl
c3RzLgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6IERvbid0IGNvbXBpbGUg
TGVnYWN5V2ViQXJjaGl2ZS5jcHAgYW5kIGZyaWVuZHMuCisgICAgICAgICogV2ViQ29yZS5wcm86
IERvbid0IGNvbXBpbGUgQXJjaGl2ZUZhY3RvcnkuY3BwIGluIFFUIHBvcnQuCisgICAgICAgICog
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDogU3Vycm91bmQgV2ViQXJjaGl2ZSBjb2RlIHdpdGgg
I2lmZGVmLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmNvbW1pdExvYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnNldHVwRm9yUmVwbGFjZUJ5TUlNRVR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmFyY2hpdmVSZXNvdXJjZUZv
clVSTCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmg6CisgICAgICAgICogbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2Fk
VVJMSW50b0NoaWxkRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN0b3BB
bGxMb2FkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpmaW5pc2hlZExvYWRp
bmdEb2N1bWVudCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAgICAgICog
bG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZGVyOjpzdGFydCk6CisgICAgICAgICogbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3Bw
OiBSZW1vdmUgI2lmZGVmIHNpbmNlIGZlYXR1cmUgaXMgbm93IGVuYWJsZWQvZGlzYWJsZWQgd2hv
bGVzYWxlLgorICAgICAgICAoV2ViQ29yZTo6YXJjaGl2ZU1JTUVUeXBlcyk6CisgICAgICAgICog
cGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorCiAyMDExLTAx
LTI0ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFRvbnkgQ2hhbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lw
CmluZGV4IDI1OTRkMjk5MDRmMzkzOTAxMmY1NWJhYzkyYTA2ZmZmMWE2OWJjNWQuLjgwOGFkYWY2
NGU3YTRhMzc1YmFiYWUxMDVhOGE4M2Y5NmIwZmNkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwCkBAIC0yNDgsNyArMjQ4LDYgQEAKICAgICAgICAgICAjIEZJWE1FOiBF
bGltaW5hdGUgZGVwZW5kZW5jeSBvbiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMgYW5kCiAgICAgICAg
ICAgIyByZWxhdGVkIGRpcmVjdG9yaWVzLgogICAgICAgICAgICMgcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cgbWF5IG5lZWQgdG8gc3RpY2sgYXJvdW5kLCB0aG91Z2guCi0gICAgICAgICAgJy4uL2xvYWRl
ci9hcmNoaXZlL2NmJywKICAgICAgICAgICAnLi4vcGxhdGZvcm0vYXVkaW8vbWFjJywKICAgICAg
ICAgICAnLi4vcGxhdGZvcm0vZ3JhcGhpY3MvbWFjJywKICAgICAgICAgICAnLi4vcGxhdGZvcm0v
bWFjJywKQEAgLTEyMDAsNyArMTE5OSw2IEBACiAgICAgICAgICAgICAjIFNvbWUgb2YgdGhlc2Ug
YXJlIHVzZWQgaW5zdGVhZCBvZiBDaHJvbWl1bSBwbGF0Zm9ybSBmaWxlcywgc2VlCiAgICAgICAg
ICAgICAjIHRoZSBzcGVjaWZpYyBleGNsdXNpb25zIGluIHRoZSAic291cmNlcyEiIGxpc3QgYmVs
b3cuCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjXFwu
bW0kJ10sCi0gICAgICAgICAgICBbJ2luY2x1ZGUnLCAnbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5
V2ViQXJjaGl2ZVxcLmNwcCQnXSwKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS9n
cmFwaGljcy9tYWMvQ29sb3JNYWNcXC5tbSQnXSwKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdw
bGF0Zm9ybS9ncmFwaGljcy9tYWMvRmxvYXRQb2ludE1hY1xcLm1tJCddLAogICAgICAgICAgICAg
WydpbmNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL21hYy9GbG9hdFJlY3RNYWNcXC5tbSQnXSwK
QEAgLTEzNDYsNiArMTM0NCwxMiBAQAogICAgICAgICAjIERvbid0IGJ1aWxkIElEQktleVBhdGhC
YWNrZW5kSW1wbC4gIFdlIGhhdmUgb3VyIG93biBpbXBsZW1lbnRhdGlvbi4KICAgICAgICAgWydl
eGNsdWRlJywgJ3N0b3JhZ2UvSURCS2V5UGF0aEJhY2tlbmRJbXBsXFwuY3BwJCddLAogCisgICAg
ICAgICMgRG9uJ3QgYnVpbGQgZmlsZXMgbmVlZGVkIGZvciBXZWJBcmNoaXZlIHN1cHBvcnQuIFNp
bmNlIHdlIGRpc2FibGUKKyAgICAgICAgIyB0aGlzIGZlYXR1cmUuCisgICAgICAgIFsnZXhjbHVk
ZScsICdsb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlXFwuY3BwJCddLAorICAgICAg
ICBbJ2V4Y2x1ZGUnLCAnbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZU1hY1xcLm1t
JCddLAorICAgICAgICBbJ2V4Y2x1ZGUnLCAnbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3Rvcnlc
XC5jcHAkJ10sCisKICAgICAgICAgIyBVc2UgbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlTm9uZS5j
cHAgaW5zdGVhZC4KICAgICAgICAgWydleGNsdWRlJywgJ2xvYWRlci9pY29uL0ljb25EYXRhYmFz
ZVxcLmNwcCQnXSwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBjYjUzZjM5OGNlYmUxYzQ4MjhiNDJkNTc1
MTkxYzNiODhiZDgyNzRjLi45NTM2YmY3NDJlYzlhZmRlNWY0N2M2YjdjNDFhNDEyNjEwNGNkZjQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnBybwpAQCAtMTA3MSw3ICsxMDcxLDYgQEAgU09VUkNFUyArPSBcCiAgICAg
aW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5jcHAgXAogICAgIGluc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2suY3BwIFwKICAgICBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCBcCi0g
ICAgbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwIFwKICAgICBsb2FkZXIvYXJjaGl2
ZS9BcmNoaXZlUmVzb3VyY2UuY3BwIFwKICAgICBsb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3Vy
Y2VDb2xsZWN0aW9uLmNwcCBcCiAgICAgbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcCBcCkBA
IC0xOTc0LDcgKzE5NzMsNiBAQCBIRUFERVJTICs9IFwKICAgICBsb2FkZXIvYXBwY2FjaGUvQXBw
bGljYXRpb25DYWNoZVN0b3JhZ2UuaCBcCiAgICAgbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0
aW9uQ2FjaGUuaCBcCiAgICAgbG9hZGVyL2FwcGNhY2hlL01hbmlmZXN0UGFyc2VyLmggXAotICAg
IGxvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5LmggXAogICAgIGxvYWRlci9hcmNoaXZlL0Fy
Y2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaCBcCiAgICAgbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJl
c291cmNlLmggXAogICAgIGxvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggMmYyMTA2Njc5M2QzNDZi
MGM2Yjg0YmJlMDE2ZWY5NzE1ZTdkMjE4MS4uYmFiOWZiNWEwY2FlYzQ4NzYwYTk2NTY0NGJkODFj
YTY4ZmY1NzA3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBA
IC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKIAogI2luY2x1ZGUg
IkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCi0jaW5jbHVkZSAiQXJjaGl2ZUZhY3RvcnkuaCIKICNp
bmNsdWRlICJBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUGFn
ZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCkBAIC01NCw2ICs1MywxMCBA
QAogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9V
bmljb2RlLmg+CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCisjaW5jbHVkZSAiQXJjaGl2ZUZh
Y3RvcnkuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyB2b2lkIGNh
bmNlbEFsbChjb25zdCBSZXNvdXJjZUxvYWRlclNldCYgbG9hZGVycykKQEAgLTI5MCw4ICsyOTMs
MTAgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6Y29tbWl0TG9hZChjb25zdCBjaGFyKiBkYXRhLCBp
bnQgbGVuZ3RoKQogICAgIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWRlciA9IERvY3VtZW50TG9hZGVy
OjpmcmFtZUxvYWRlcigpOwogICAgIGlmICghZnJhbWVMb2FkZXIpCiAgICAgICAgIHJldHVybjsK
KyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgaWYgKEFyY2hpdmVGYWN0b3J5Ojppc0FyY2hp
dmVNaW1lVHlwZShyZXNwb25zZSgpLm1pbWVUeXBlKCkpKQogICAgICAgICByZXR1cm47CisjZW5k
aWYKICAgICBmcmFtZUxvYWRlci0+Y2xpZW50KCktPmNvbW1pdHRlZExvYWQodGhpcywgZGF0YSwg
bGVuZ3RoKTsKIH0KIApAQCAtMzQ5LDcgKzM1NCw5IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnNl
dHVwRm9yUmVwbGFjZUJ5TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBuZXdNSU1FVHlwZSkKICAgICAK
ICAgICBzdG9wTG9hZGluZ1N1YnJlc291cmNlcygpOwogICAgIHN0b3BMb2FkaW5nUGx1Z0lucygp
OworI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICBjbGVhckFyY2hpdmVSZXNvdXJjZXMoKTsK
KyNlbmRpZgogfQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjp1cGRhdGVMb2FkaW5nKCkKQEAgLTQz
Niw2ICs0NDMsNyBAQCBib29sIERvY3VtZW50TG9hZGVyOjppc0xvYWRpbmdJbkFQSVNlbnNlKCkg
Y29uc3QKICAgICByZXR1cm4gZnJhbWVMb2FkZXIoKS0+c3ViZnJhbWVJc0xvYWRpbmcoKTsKIH0K
IAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmFkZEFsbEFy
Y2hpdmVSZXNvdXJjZXMoQXJjaGl2ZSogYXJjaGl2ZSkKIHsKICAgICBpZiAoIW1fYXJjaGl2ZVJl
c291cmNlQ29sbGVjdGlvbikKQEAgLTQ2MiwxNiArNDcwLDYgQEAgdm9pZCBEb2N1bWVudExvYWRl
cjo6YWRkQXJjaGl2ZVJlc291cmNlKFBhc3NSZWZQdHI8QXJjaGl2ZVJlc291cmNlPiByZXNvdXJj
ZSkKICAgICBtX2FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24tPmFkZFJlc291cmNlKHJlc291cmNl
KTsKIH0KIAotQXJjaGl2ZVJlc291cmNlKiBEb2N1bWVudExvYWRlcjo6YXJjaGl2ZVJlc291cmNl
Rm9yVVJMKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKLXsKLSAgICBpZiAoIW1fYXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbikKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIAotICAgIEFyY2hpdmVS
ZXNvdXJjZSogcmVzb3VyY2UgPSBtX2FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24tPmFyY2hpdmVS
ZXNvdXJjZUZvclVSTCh1cmwpOwotCi0gICAgcmV0dXJuIHJlc291cmNlICYmICFyZXNvdXJjZS0+
c2hvdWxkSWdub3JlV2hlblVuYXJjaGl2aW5nKCkgPyByZXNvdXJjZSA6IDA7Ci19Ci0KIFBhc3NS
ZWZQdHI8QXJjaGl2ZT4gRG9jdW1lbnRMb2FkZXI6OnBvcEFyY2hpdmVGb3JTdWJmcmFtZShjb25z
dCBTdHJpbmcmIGZyYW1lTmFtZSkKIHsKICAgICByZXR1cm4gbV9hcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uID8gbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLT5wb3BTdWJmcmFtZUFyY2hpdmUo
ZnJhbWVOYW1lKSA6IDA7CkBAIC00OTIsNiArNDkwLDE3IEBAIFNoYXJlZEJ1ZmZlciogRG9jdW1l
bnRMb2FkZXI6OnBhcnNlZEFyY2hpdmVEYXRhKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wYXJz
ZWRBcmNoaXZlRGF0YS5nZXQoKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FSQ0hJVkUpCisK
K0FyY2hpdmVSZXNvdXJjZSogRG9jdW1lbnRMb2FkZXI6OmFyY2hpdmVSZXNvdXJjZUZvclVSTChj
b25zdCBLVVJMJiB1cmwpIGNvbnN0Cit7CisgICAgaWYgKCFtX2FyY2hpdmVSZXNvdXJjZUNvbGxl
Y3Rpb24pCisgICAgICAgIHJldHVybiAwOworICAgICAgICAKKyAgICBBcmNoaXZlUmVzb3VyY2Uq
IHJlc291cmNlID0gbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLT5hcmNoaXZlUmVzb3VyY2VG
b3JVUkwodXJsKTsKKworICAgIHJldHVybiByZXNvdXJjZSAmJiAhcmVzb3VyY2UtPnNob3VsZEln
bm9yZVdoZW5VbmFyY2hpdmluZygpID8gcmVzb3VyY2UgOiAwOworfQogCiBQYXNzUmVmUHRyPEFy
Y2hpdmVSZXNvdXJjZT4gRG9jdW1lbnRMb2FkZXI6Om1haW5SZXNvdXJjZSgpIGNvbnN0CiB7CkBA
IC01OTksNiArNjA4LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6Y2FuY2VsUGVuZGluZ1N1YnN0
aXR1dGVMb2FkKFJlc291cmNlTG9hZGVyKiBsb2FkZXIpCiAgICAgICAgIG1fc3Vic3RpdHV0ZVJl
c291cmNlRGVsaXZlcnlUaW1lci5zdG9wKCk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUp
CiBib29sIERvY3VtZW50TG9hZGVyOjpzY2hlZHVsZUFyY2hpdmVMb2FkKFJlc291cmNlTG9hZGVy
KiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgS1VSTCYgb3Jp
Z2luYWxVUkwpCiB7CiAgICAgQXJjaGl2ZVJlc291cmNlKiByZXNvdXJjZSA9IDA7CkBAIC02MTks
NiArNjI5LDcgQEAgYm9vbCBEb2N1bWVudExvYWRlcjo6c2NoZWR1bGVBcmNoaXZlTG9hZChSZXNv
dXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVIKICAgICAKICAgICByZXR1cm4gdHJ1
ZTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAKIHZvaWQgRG9jdW1lbnRMb2Fk
ZXI6OmFkZFJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5oCmluZGV4IDc3MjUwMzg0NmJlZjlkNzE1MThlNDY3Y2E2
ZmQ2MzllMmQ4MGI0YWMuLmU5NTE3Y2Y1NzVlYzIxYTMyYjg0OThjZmUwZWNlZTczNzEzMDBkMDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCkBAIC00Myw3ICs0Myw5IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdDsK
KyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgY2xhc3MgQXJjaGl2ZTsKKyNlbmRpZgogICAg
IGNsYXNzIEFyY2hpdmVSZXNvdXJjZTsKICAgICBjbGFzcyBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0
aW9uOwogICAgIGNsYXNzIEZyYW1lOwpAQCAtMTI0LDI0ICsxMjYsMjkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICB2b2lkIHVuc2NoZWR1bGUoU2NoZWR1bGVQYWlyKik7CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICAgICAgdm9pZCBhZGRBbGxBcmNoaXZlUmVz
b3VyY2VzKEFyY2hpdmUqKTsKICAgICAgICAgdm9pZCBhZGRBcmNoaXZlUmVzb3VyY2UoUGFzc1Jl
ZlB0cjxBcmNoaXZlUmVzb3VyY2U+KTsKICAgICAgICAgCi0gICAgICAgIC8vIFJldHVybiBhbiBB
cmNoaXZlUmVzb3VyY2UgZm9yIHRoZSBVUkwsIGVpdGhlciBjcmVhdGluZyBmcm9tIGxpdmUgZGF0
YSBvcgotICAgICAgICAvLyBwdWxsaW5nIGZyb20gdGhlIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rp
b24KLSAgICAgICAgUGFzc1JlZlB0cjxBcmNoaXZlUmVzb3VyY2U+IHN1YnJlc291cmNlKGNvbnN0
IEtVUkwmKSBjb25zdDsKLSAgICAgICAgLy8gUmV0dXJuIHRoZSBBcmNoaXZlUmVzb3VyY2UgZm9y
IHRoZSBVUkwgb25seSB3aGVuIGxvYWRpbmcgYW4gQXJjaGl2ZQotICAgICAgICBBcmNoaXZlUmVz
b3VyY2UqIGFyY2hpdmVSZXNvdXJjZUZvclVSTChjb25zdCBLVVJMJikgY29uc3Q7Ci0gICAgICAg
IAogICAgICAgICBQYXNzUmVmUHRyPEFyY2hpdmU+IHBvcEFyY2hpdmVGb3JTdWJmcmFtZShjb25z
dCBTdHJpbmcmIGZyYW1lTmFtZSk7CiAgICAgICAgIHZvaWQgY2xlYXJBcmNoaXZlUmVzb3VyY2Vz
KCk7CiAgICAgICAgIHZvaWQgc2V0UGFyc2VkQXJjaGl2ZURhdGEoUGFzc1JlZlB0cjxTaGFyZWRC
dWZmZXI+KTsKICAgICAgICAgU2hhcmVkQnVmZmVyKiBwYXJzZWRBcmNoaXZlRGF0YSgpIGNvbnN0
OwogICAgICAgICAKKyAgICAgICAgYm9vbCBzY2hlZHVsZUFyY2hpdmVMb2FkKFJlc291cmNlTG9h
ZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgS1VSTCYpOworI2VuZGlmIC8vIEVO
QUJMRShXRUJfQVJDSElWRSkKKworICAgICAgICAvLyBSZXR1cm4gdGhlIEFyY2hpdmVSZXNvdXJj
ZSBmb3IgdGhlIFVSTCBvbmx5IHdoZW4gbG9hZGluZyBhbiBBcmNoaXZlCisgICAgICAgIEFyY2hp
dmVSZXNvdXJjZSogYXJjaGl2ZVJlc291cmNlRm9yVVJMKGNvbnN0IEtVUkwmKSBjb25zdDsKKwog
ICAgICAgICBQYXNzUmVmUHRyPEFyY2hpdmVSZXNvdXJjZT4gbWFpblJlc291cmNlKCkgY29uc3Q7
CisKKyAgICAgICAgLy8gUmV0dXJuIGFuIEFyY2hpdmVSZXNvdXJjZSBmb3IgdGhlIFVSTCwgZWl0
aGVyIGNyZWF0aW5nIGZyb20gbGl2ZSBkYXRhIG9yCisgICAgICAgIC8vIHB1bGxpbmcgZnJvbSB0
aGUgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbgorICAgICAgICBQYXNzUmVmUHRyPEFyY2hpdmVS
ZXNvdXJjZT4gc3VicmVzb3VyY2UoY29uc3QgS1VSTCYpIGNvbnN0OwogICAgICAgICB2b2lkIGdl
dFN1YnJlc291cmNlcyhWZWN0b3I8UGFzc1JlZlB0cjxBcmNoaXZlUmVzb3VyY2U+ID4mKSBjb25z
dDsKLSAgICAgICAgCi0gICAgICAgIGJvb2wgc2NoZWR1bGVBcmNoaXZlTG9hZChSZXNvdXJjZUxv
YWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IEtVUkwmKTsKKworCiAjaWZuZGVm
IE5ERUJVRwogICAgICAgICBib29sIGlzU3Vic3RpdHV0ZUxvYWRQZW5kaW5nKFJlc291cmNlTG9h
ZGVyKikgY29uc3Q7CiAjZW5kaWYKQEAgLTMwMSw5ICszMDgsMTEgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFJlc291cmNlTG9hZGVyPiwgUmVm
UHRyPFN1YnN0aXR1dGVSZXNvdXJjZT4gPiBTdWJzdGl0dXRlUmVzb3VyY2VNYXA7CiAgICAgICAg
IFN1YnN0aXR1dGVSZXNvdXJjZU1hcCBtX3BlbmRpbmdTdWJzdGl0dXRlUmVzb3VyY2VzOwogICAg
ICAgICBUaW1lcjxEb2N1bWVudExvYWRlcj4gbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRp
bWVyOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgIE93blB0cjxBcmNoaXZlUmVzb3VyY2VD
b2xsZWN0aW9uPiBtX2FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb247CisjaWYgRU5BQkxFKFdFQl9B
UkNISVZFKQogICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBtX3BhcnNlZEFyY2hpdmVEYXRh
OworI2VuZGlmCiAKICAgICAgICAgSGFzaFNldDxTdHJpbmc+IG1fcmVzb3VyY2VzQ2xpZW50S25v
d3NBYm91dDsKICAgICAgICAgVmVjdG9yPFN0cmluZz4gbV9yZXNvdXJjZXNMb2FkZWRGcm9tTWVt
b3J5Q2FjaGVGb3JDbGllbnROb3RpZmljYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmNwcAppbmRleCAxMTI5YmFjNjhiOTBjMzVkYWY4NTZiOWZjZWRlOTVmYjAzODQzMmYwLi5m
ZGUzNjEyN2E3MTU1YTJiYjg4YzRmYzM1MGY4ZGZkN2JhNjIyZDFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTM0LDggKzM0LDYgQEAKICNpbmNsdWRlICJGcmFtZUxv
YWRlci5oIgogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlICJB
cmNoaXZlLmgiCi0jaW5jbHVkZSAiQXJjaGl2ZUZhY3RvcnkuaCIKICNpbmNsdWRlICJCYWNrRm9y
d2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJCZWZvcmVVbmxvYWRFdmVudC5oIgogI2luY2x1
ZGUgIk1lbW9yeUNhY2hlLmgiCkBAIC0xMTMsNiArMTExLDExIEBACiAjaW5jbHVkZSAiU1ZHVmll
d1NwZWMuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQorI2luY2x1ZGUgIkFy
Y2hpdmUuaCIKKyNpbmNsdWRlICJBcmNoaXZlRmFjdG9yeS5oIgorI2VuZGlmCisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTkxMywxMSArOTE2
LDEzIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRVUkxJbnRvQ2hpbGRGcmFtZShjb25zdCBLVVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgcmVmZXJlciwKIHsKICAgICBBU1NFUlQoY2hpbGRGcmFtZSk7
CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgUmVmUHRyPEFyY2hpdmU+IHN1YmZyYW1l
QXJjaGl2ZSA9IGFjdGl2ZURvY3VtZW50TG9hZGVyKCktPnBvcEFyY2hpdmVGb3JTdWJmcmFtZShj
aGlsZEZyYW1lLT50cmVlKCktPnVuaXF1ZU5hbWUoKSk7ICAgIAogICAgIGlmIChzdWJmcmFtZUFy
Y2hpdmUpIHsKICAgICAgICAgY2hpbGRGcmFtZS0+bG9hZGVyKCktPmxvYWRBcmNoaXZlKHN1YmZy
YW1lQXJjaGl2ZS5yZWxlYXNlKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQorI2VuZGlmIC8v
IEVOQUJMRShXRUJfQVJDSElWRSkKIAogICAgIEhpc3RvcnlJdGVtKiBwYXJlbnRJdGVtID0gaGlz
dG9yeSgpLT5jdXJyZW50SXRlbSgpOwogICAgIC8vIElmIHdlJ3JlIG1vdmluZyBpbiB0aGUgYmFj
ay9mb3J3YXJkIGxpc3QsIHdlIG1pZ2h0IHdhbnQgdG8gcmVwbGFjZSB0aGUgY29udGVudApAQCAt
OTMzLDYgKzkzOCw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRVUkxJbnRvQ2hpbGRGcmFtZShj
b25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcmVmZXJlciwKICAgICBjaGlsZEZyYW1lLT5s
b2FkZXIoKS0+bG9hZFVSTCh1cmwsIHJlZmVyZXIsIFN0cmluZygpLCBmYWxzZSwgRnJhbWVMb2Fk
VHlwZVJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3YXJkTGlzdCwgMCwgMCk7CiB9CiAKKyNpZiBF
TkFCTEUoV0VCX0FSQ0hJVkUpCiB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkQXJjaGl2ZShQYXNzUmVm
UHRyPEFyY2hpdmU+IHBycEFyY2hpdmUpCiB7CiAgICAgUmVmUHRyPEFyY2hpdmU+IGFyY2hpdmUg
PSBwcnBBcmNoaXZlOwpAQCAtOTUzLDYgKzk1OSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRB
cmNoaXZlKFBhc3NSZWZQdHI8QXJjaGl2ZT4gcHJwQXJjaGl2ZSkKICAgICBkb2N1bWVudExvYWRl
ci0+YWRkQWxsQXJjaGl2ZVJlc291cmNlcyhhcmNoaXZlLmdldCgpKTsKICAgICBsb2FkKGRvY3Vt
ZW50TG9hZGVyLmdldCgpKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAKIE9i
amVjdENvbnRlbnRUeXBlIEZyYW1lTG9hZGVyOjpkZWZhdWx0T2JqZWN0Q29udGVudFR5cGUoY29u
c3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlSW4pCiB7CkBAIC0xNzE1LDggKzE3
MjIsMTAgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3RvcEFsbExvYWRlcnMoRGF0YWJhc2VQb2xpY3kg
ZGF0YWJhc2VQb2xpY3ksIENsZWFyUHJvdmlzaW9uYWwKIAogICAgIHNldFByb3Zpc2lvbmFsRG9j
dW1lbnRMb2FkZXIoMCk7CiAgICAgCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogICAgIGlmICht
X2RvY3VtZW50TG9hZGVyKQogICAgICAgICBtX2RvY3VtZW50TG9hZGVyLT5jbGVhckFyY2hpdmVS
ZXNvdXJjZXMoKTsKKyNlbmRpZgogCiAgICAgbV9jaGVja1RpbWVyLnN0b3AoKTsKIApAQCAtMjIz
Myw2ICsyMjQyLDkgQEAgdm9pZCBGcmFtZUxvYWRlcjo6ZmluaXNoZWRMb2FkaW5nRG9jdW1lbnQo
RG9jdW1lbnRMb2FkZXIqIGxvYWRlcikKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCiAKKyNpZiAh
RU5BQkxFKFdFQl9BUkNISVZFKQorICAgIG1fY2xpZW50LT5maW5pc2hlZExvYWRpbmcobG9hZGVy
KTsKKyNlbHNlCiAgICAgLy8gR2l2ZSBhcmNoaXZlIG1hY2hpbmVyeSBhIGNyYWNrIGF0IHRoaXMg
ZG9jdW1lbnQuIElmIHRoZSBNSU1FIHR5cGUgaXMgbm90IGFuIGFyY2hpdmUgdHlwZSwgaXQgd2ls
bCByZXR1cm4gMC4KICAgICBSZWZQdHI8QXJjaGl2ZT4gYXJjaGl2ZSA9IEFyY2hpdmVGYWN0b3J5
OjpjcmVhdGUobG9hZGVyLT5tYWluUmVzb3VyY2VEYXRhKCkuZ2V0KCksIGxvYWRlci0+cmVzcG9u
c2VNSU1FVHlwZSgpKTsKICAgICBpZiAoIWFyY2hpdmUpIHsKQEAgLTIyNTcsNiArMjI2OSw3IEBA
IHZvaWQgRnJhbWVMb2FkZXI6OmZpbmlzaGVkTG9hZGluZ0RvY3VtZW50KERvY3VtZW50TG9hZGVy
KiBsb2FkZXIpCiAgICAgYm9vbCBlbmNvZGluZ0lzVXNlckNob3NlbiA9ICF1c2VyQ2hvc2VuRW5j
b2RpbmcuaXNOdWxsKCk7CiAgICAgd3JpdGVyKCktPnNldEVuY29kaW5nKGVuY29kaW5nSXNVc2Vy
Q2hvc2VuID8gdXNlckNob3NlbkVuY29kaW5nIDogbWFpblJlc291cmNlLT50ZXh0RW5jb2Rpbmco
KSwgZW5jb2RpbmdJc1VzZXJDaG9zZW4pOwogICAgIHdyaXRlcigpLT5hZGREYXRhKG1haW5SZXNv
dXJjZS0+ZGF0YSgpLT5kYXRhKCksIG1haW5SZXNvdXJjZS0+ZGF0YSgpLT5zaXplKCkpOworI2Vu
ZGlmIC8vIEVOQUJMRShXRUJfQVJDSElWRSkKIH0KIAogYm9vbCBGcmFtZUxvYWRlcjo6aXNSZXBs
YWNpbmcoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA0MjdjZGVl
MzYzNmYwZWQ2ZDg3NzU1MTdjNmQ3NWZlYzRjODkwYzQ0Li5hM2ExYmZhZDQwNThmMDgxMjBhY2Fh
YmI1YWFjNGFkYThiNzc3YzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAt
MTE4LDggKzExOCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2FkKGNvbnN0IFJlc291cmNlUmVx
dWVzdCYsIGJvb2wgbG9ja0hpc3RvcnkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBDYWxsZWQgYnkgV2ViRnJhbWUsIGNhbGxzIGxvYWQoUmVzb3VyY2VSZXF1ZXN0
LCBTdWJzdGl0dXRlRGF0YSkuCiAgICAgdm9pZCBsb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IFN1YnN0aXR1dGVEYXRhJiwgYm9vbCBsb2NrSGlzdG9yeSk7ICAgICAgICAgICAgICAg
ICAvLyBDYWxsZWQgYm90aCBieSBXZWJGcmFtZSBhbmQgaW50ZXJuYWxseSwgY2FsbHMgbG9hZChE
b2N1bWVudExvYWRlciopLgogICAgIHZvaWQgbG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBj
b25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgYm9vbCBsb2NrSGlzdG9yeSk7ICAgICAgICAgICAgICAg
Ly8gQ2FsbGVkIGJ5IFdlYlBsdWdpbkNvbnRyb2xsZXIuCi0gICAgCisKKyNpZiBFTkFCTEUoV0VC
X0FSQ0hJVkUpCiAgICAgdm9pZCBsb2FkQXJjaGl2ZShQYXNzUmVmUHRyPEFyY2hpdmU+KTsKKyNl
bmRpZgogCiAgICAgc3RhdGljIHZvaWQgcmVwb3J0TG9jYWxMb2FkRmFpbGVkKEZyYW1lKiwgY29u
c3QgU3RyaW5nJiB1cmwpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNw
cAppbmRleCA0MmNlMDE2Yjg1ZDVjMDlkZGM5NTI4YjdlYzliZWRjMzRkYjdhNDI0Li5lMDhlMTkw
NmEwOTU1ZmI0NDM0MTlkNjViOGM2MDYyYTg1Y2RkMDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTE0NSw4ICsxNDUsMTAgQEAgdm9pZCBSZXNvdXJjZUxv
YWRlcjo6c3RhcnQoKQogICAgIEFTU0VSVCghbV9yZXF1ZXN0LmlzTnVsbCgpKTsKICAgICBBU1NF
UlQobV9kZWZlcnJlZFJlcXVlc3QuaXNOdWxsKCkpOwogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZF
KQogICAgIGlmIChtX2RvY3VtZW50TG9hZGVyLT5zY2hlZHVsZUFyY2hpdmVMb2FkKHRoaXMsIG1f
cmVxdWVzdCwgbV9yZXF1ZXN0LnVybCgpKSkKICAgICAgICAgcmV0dXJuOworI2VuZGlmCiAgICAg
CiAjaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKICAgICBpZiAobV9kb2N1bWVu
dExvYWRlci0+YXBwbGljYXRpb25DYWNoZUhvc3QoKS0+bWF5YmVMb2FkUmVzb3VyY2UodGhpcywg
bV9yZXF1ZXN0LCBtX3JlcXVlc3QudXJsKCkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwCmluZGV4IDJlMTA4YzU0OTQ2YWIwNjA3MmZkNWJh
OGNmMjRjOTZhMmM5YjY1NjAuLmIwMmI4MzEwNDE4ZmMyN2QzOGIxNzcwNGVjNDA5OThjMjkzYjMw
NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0
b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9y
eS5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgc3RhdGljIEFyY2hpdmVNSU1FVHlwZXNNYXAmIGFyY2hp
dmVNSU1FVHlwZXMoKQogICAgIGlmIChpbml0aWFsaXplZCkKICAgICAgICAgcmV0dXJuIG1pbWVU
eXBlczsKIAotI2lmIFBMQVRGT1JNKENGKSAmJiAhUExBVEZPUk0oUVQpCisjaWYgUExBVEZPUk0o
Q0YpCiAgICAgbWltZVR5cGVzLnNldCgiYXBwbGljYXRpb24veC13ZWJhcmNoaXZlIiwgYXJjaGl2
ZUZhY3RvcnlDcmVhdGU8TGVnYWN5V2ViQXJjaGl2ZT4pOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5jcHAKaW5kZXggZDg3NmUyYjk1MDhjOTFmNGEzMDBiNTUyNWY2MWQ1MjAyMDRjNTU0
My4uMDU3MjJlNGE1ODNjOGIxNjYxN2JhMzg0OTFjNDM3YWE2OWM1NDViYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5jcHAKQEAgLTUxMCwxMCArNTEwLDEyIEBAIHZvaWQgU2V0dGluZ3M6OnNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBmcmFtZUZsYXR0ZW5pbmdFbmFibGVkKQogICAgIG1f
ZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCA9IGZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7CiB9CiAKKyNp
ZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiB2b2lkIFNldHRpbmdzOjpzZXRXZWJBcmNoaXZlRGVidWdN
b2RlRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgbV93ZWJBcmNoaXZlRGVidWdNb2RlRW5h
YmxlZCA9IGVuYWJsZWQ7CiB9CisjZW5kaWYKIAogdm9pZCBTZXR0aW5nczo6c2V0TG9jYWxGaWxl
Q29udGVudFNuaWZmaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmgKaW5kZXggNzJjNDcwM2M2ZGYzZjZhNWZlOGIzMmI3ZGQwZmVjMjQ1ZmU0ODkxOC4uYTRhZjkz
YmFlNTFkODM2MmRiYjNiZmVmMmJkNjE2YTNjYzUxMzc4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
aApAQCAtMjM0LDkgKzIzNCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9p
ZCBzZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhib29sKTsKICAgICAgICAgYm9vbCBuZWVkc1Np
dGVTcGVjaWZpY1F1aXJrcygpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNTaXRlU3BlY2lmaWNRdWly
a3M7IH0KLSAgICAgICAgCisKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgICAgIHZvaWQg
c2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgd2ViQXJj
aGl2ZURlYnVnTW9kZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYkFyY2hpdmVEZWJ1Z01v
ZGVFbmFibGVkOyB9CisjZW5kaWYKIAogICAgICAgICB2b2lkIHNldExvY2FsRmlsZUNvbnRlbnRT
bmlmZmluZ0VuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgbG9jYWxGaWxlQ29udGVudFNuaWZm
aW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5h
YmxlZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IDlhYjNiMjY4MGFhMjFkN2JjODI4N2ZmNTQ4ZDU2M2ZhYTQxNjI0Y2QuLjBkYWY1NWVh
ODEzODc2YTI2ZWNiMjY2ZWY2MjNmMDQwNjljMjk1MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEyMzIsNyArMTIzMiw5IEBAIHZvaWQg
V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3Rv
cmUpCiAgICAgc2V0dGluZ3MtPnNldEphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2Fs
bHkoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpqYXZhU2NyaXB0
Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5S2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0Rm9y
Y2VGVFBEaXJlY3RvcnlMaXN0aW5ncyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OmZvcmNlRlRQRGlyZWN0b3J5TGlzdGluZ3NLZXkoKSkpOwogICAgIHNldHRpbmdz
LT5zZXRETlNQcmVmZXRjaGluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5OjpkbnNQcmVmZXRjaGluZ0VuYWJsZWRLZXkoKSkpOworI2lmIEVOQUJMRShX
RUJfQVJDSElWRSkKICAgICBzZXR0aW5ncy0+c2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQo
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp3ZWJBcmNoaXZlRGVi
dWdNb2RlRW5hYmxlZEtleSgpKSk7CisjZW5kaWYKICAgICBzZXR0aW5ncy0+c2V0TG9jYWxGaWxl
Q29udGVudFNuaWZmaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OmxvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWRLZXkoKSkpOwogICAgIHNl
dHRpbmdzLT5zZXRVc2VzUGFnZUNhY2hlKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6dXNlc1BhZ2VDYWNoZUtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldEF1dGhv
ckFuZFVzZXJTdHlsZXNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6YXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWRLZXkoKSkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80633</attachid>
            <date>2011-01-31 04:32:52 -0800</date>
            <delta_ts>2011-02-12 23:53:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52712-20110131143246.patch</filename>
            <type>text/plain</type>
            <size>23079</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGE3ZjA1ZjRkMWMyM2IwNDA5MThlY2I1MzBjOTJk
NmU1ZDhhOWVmM2IuLmQyNDY2Yjk5NGZiNjFiNzBlM2Y4NTkzOThlZDQ0ZTc3Njg0YTYyYzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTAxLTMwICBKZXJl
bXkgTW9za292aWNoICA8amVyZW15QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBjb21waWxlLXRpbWUgb3B0aW9uIHRv
IGNvbXBsZXRlbHkgZGlzYWJsZSBXZWJBcmNoaXZlIHN1cHBvcnQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjcxMgorCisgICAgICAgIEFkZCBhbiBF
TkFCTEUoV0VCX0FSQ0hJVkUpIGNvbXBpbGUtdGltZSBzZXR0aW5nIGFuZCB1c2UgaXQgZm9yIGFs
bCBXZWJBcmNoaXZlIGNvZGUuCisgICAgICAgIFBvcnRzIEFmZmVjdGVkOgorICAgICAgICAgICAg
V2ViQXJjaGl2ZSBzdXBwb3J0IGlzIGN1cnJlbnRseSBlbmFibGVkIGZvciBhbGwgcG9ydHMgdGhh
dCBkZWZpbmUgUExBVEZPUk0oQ0YpIGFwYXJ0IGZyb20gUVQuCisgICAgICAgICAgICBUaGlzIHBh
dGNoIHByZXNlcnZlcyB0aGlzIGJlaGF2aW9yIGV4Y2VwdCB0aGF0IGl0IGFsc28gZGlzYWJsZXMg
c3VwcG9ydCBpbiB0aGUgQ2hyb21pdW0gcG9ydC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5o
OiBBZGQgRU5BQkxFX1dFQl9BUkNISVZFIGRlZmluaXRpb24gYW5kIHR1cm4gaXQgb2ZmIGV4cGxp
Y2l0bHkgZm9yIFFUICYgQ2hyb21pdW0gcG9ydHMuCisKIDIwMTEtMDEtMjQgIEFkYW0gUm9iZW4g
IDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdpbmRvd3MgUHJvZHVjdGlvbiBidWlsZCBm
aXgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCAzNGI2Y2RlYmNlZTYwMGEy
NjZkYzJjZDQ2ZTdjY2EwNmNiNGQ4N2MyLi4yNGYwZTY1ZTNhYmNiNGI2OGUxMTg2MTI0NzlkMTkz
ZjVhZWE5ZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3Jt
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC02MTYsNiAr
NjE2LDcgQEAKICNkZWZpbmUgSEFWRV9SVU5MT09QX1RJTUVSIDEKICNkZWZpbmUgRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJIDEKICNkZWZpbmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMQorI2RlZmlu
ZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQogI2VuZGlmIC8qIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRG
T1JNKElPUykgKi8KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTY1Niw2ICs2NTcsNyBAQAogI2Rl
ZmluZSBXVEZfUExBVEZPUk1fQ0YgMQogI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKICNkZWZp
bmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKEFORFJPSUQpCkBAIC02NzgsNiArNjgwLDEwIEBACiAjZGVm
aW5lIFdURl9VU0VfUFRIUkVBRFMgMAogI2VuZGlmCiAKKyNpZiBQTEFURk9STShXSU4pICYmICFP
UyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExBVEZPUk0oUVQpCisjZGVmaW5l
IEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFdYKQogI2RlZmlu
ZSBFTkFCTEVfQVNTRU1CTEVSIDEKICNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05F
VyAwCkBAIC02ODUsNiArNjkxLDcgQEAKICNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKICNpZm5k
ZWYgQlVJTERJTkdfT05fVElHRVIKICNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQorI2RlZmlu
ZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQogI2Vsc2UKICNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCiAj
ZW5kaWYKQEAgLTEwNjAsNiArMTA2NywxMCBAQAogI2RlZmluZSBFTkFCTEVfU01PT1RIX1NDUk9M
TElORyAwCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVJDSElWRSkKKyNkZWZp
bmUgRU5BQkxFX1dFQl9BUkNISVZFIDAKKyNlbmRpZgorCiAvKiBVc2UgdGhlIFFYbWxTdHJlYW1S
ZWFkZXIgaW1wbGVtZW50YXRpb24gZm9yIFhNTERvY3VtZW50UGFyc2VyICovCiAvKiBVc2UgdGhl
IFFYbWxRdWVyeSBpbXBsZW1lbnRhdGlvbiBmb3IgWFNMVFByb2Nlc3NvciAqLwogI2lmIFBMQVRG
T1JNKFFUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDAyODE4NWI4ZjIxNjJhYzliMjdlNTA4YzdiOTdmYTI0ZTA3
MzVmODcuLmQ4MWMwZDkwYzVjNTY4NWZkMWY3MDhmMWU5NDQxY2Y3MWVhMTkwN2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0MyBAQAorMjAxMS0wMS0zMCAgSmVyZW15IE1vc2tvdmljaCAgPGplcmVt
eUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGEgY29tcGlsZS10aW1lIG9wdGlvbiB0byBjb21wbGV0ZWx5IGRpc2FibGUg
V2ViQXJjaGl2ZSBzdXBwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTI3MTIKKworICAgICAgICBBZGQgYW4gRU5BQkxFKFdFQl9BUkNISVZFKSBj
b21waWxlLXRpbWUgc2V0dGluZyBhbmQgdXNlIGl0IGZvciBhbGwgV2ViQXJjaGl2ZSBjb2RlLgor
CisgICAgICAgIEFyY2hpdmVSZXNvdXJjZSBhbmQgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiBh
cmUgbm90YWJseSBzdGlsbCBjb21waWxlZCBpbi4gVGhleSBhcmUgdXNlZAorICAgICAgICBpbiBT
YWZhcmkgZm9yIGZ1bmN0aW9uYWxpdHkgc3VjaCBhcyAiU2F2ZSBJbWFnZSBBcyIgYW5kIEltYWdl
IGNvcHkgJiBwYXN0ZSBpbmRlcGVuZGVudCBvZgorICAgICAgICBXZWJBcmNoaXZlIHN1cHBvcnQu
CisKKyAgICAgICAgUG9ydHMgQWZmZWN0ZWQ6CisgICAgICAgICAgICBXZWJBcmNoaXZlIHN1cHBv
cnQgaXMgY3VycmVudGx5IGVuYWJsZWQgZm9yIGFsbCBwb3J0cyB0aGF0IGRlZmluZSBQTEFURk9S
TShDRikgYXBhcnQgZnJvbSBRVC4KKyAgICAgICAgICAgIFRoaXMgcGF0Y2ggcHJlc2VydmVzIHRo
aXMgYmVoYXZpb3IgZXhjZXB0IHRoYXQgaXQgYWxzbyBkaXNhYmxlcyBzdXBwb3J0IGluIHRoZSBD
aHJvbWl1bSBwb3J0LgorCisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZXMgc28gbm8gbmV3IHRl
c3RzLgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6IERvbid0IGNvbXBpbGUg
TGVnYWN5V2ViQXJjaGl2ZS5jcHAgYW5kIGZyaWVuZHMuCisgICAgICAgICogV2ViQ29yZS5wcm86
IERvbid0IGNvbXBpbGUgQXJjaGl2ZUZhY3RvcnkuY3BwIGluIFFUIHBvcnQuCisgICAgICAgICog
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDogU3Vycm91bmQgV2ViQXJjaGl2ZSBjb2RlIHdpdGgg
I2lmZGVmLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmNvbW1pdExvYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnNldHVwRm9yUmVwbGFjZUJ5TUlNRVR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmFyY2hpdmVSZXNvdXJjZUZv
clVSTCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmg6CisgICAgICAgICogbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2Fk
VVJMSW50b0NoaWxkRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN0b3BB
bGxMb2FkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpmaW5pc2hlZExvYWRp
bmdEb2N1bWVudCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAgICAgICog
bG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZGVyOjpzdGFydCk6CisgICAgICAgICogbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3Bw
OiBSZW1vdmUgI2lmZGVmIHNpbmNlIGZlYXR1cmUgaXMgbm93IGVuYWJsZWQvZGlzYWJsZWQgd2hv
bGVzYWxlLgorICAgICAgICAoV2ViQ29yZTo6YXJjaGl2ZU1JTUVUeXBlcyk6CisgICAgICAgICog
cGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAq
IHBsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aW5pdGlh
bGl6ZVN1cHBvcnRlZE5vbkltYWdlTWltZVR5cGVzKToKKwogMjAxMS0wMS0yNCAgTWloYWkgUGFy
cGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb255
IENoYW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCAyNTk0ZDI5
OTA0ZjM5MzkwMTJmNTViYWM5MmEwNmZmZjFhNjliYzVkLi44MDhhZGFmNjRlN2E0YTM3NWJhYmFl
MTA1YThhODNmOTZiMGZjZGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cApAQCAtMjQ4LDcgKzI0OCw2IEBACiAgICAgICAgICAgIyBGSVhNRTogRWxpbWluYXRlIGRlcGVu
ZGVuY3kgb24gcGxhdGZvcm0vZ3JhcGhpY3MvbWFjIGFuZAogICAgICAgICAgICMgcmVsYXRlZCBk
aXJlY3Rvcmllcy4KICAgICAgICAgICAjIHBsYXRmb3JtL2dyYXBoaWNzL2NnIG1heSBuZWVkIHRv
IHN0aWNrIGFyb3VuZCwgdGhvdWdoLgotICAgICAgICAgICcuLi9sb2FkZXIvYXJjaGl2ZS9jZics
CiAgICAgICAgICAgJy4uL3BsYXRmb3JtL2F1ZGlvL21hYycsCiAgICAgICAgICAgJy4uL3BsYXRm
b3JtL2dyYXBoaWNzL21hYycsCiAgICAgICAgICAgJy4uL3BsYXRmb3JtL21hYycsCkBAIC0xMjAw
LDcgKzExOTksNiBAQAogICAgICAgICAgICAgIyBTb21lIG9mIHRoZXNlIGFyZSB1c2VkIGluc3Rl
YWQgb2YgQ2hyb21pdW0gcGxhdGZvcm0gZmlsZXMsIHNlZQogICAgICAgICAgICAgIyB0aGUgc3Bl
Y2lmaWMgZXhjbHVzaW9ucyBpbiB0aGUgInNvdXJjZXMhIiBsaXN0IGJlbG93LgogICAgICAgICAg
ICAgWydpbmNsdWRlJywgJ3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hY1xcLm1tJCddLAotICAgICAg
ICAgICAgWydpbmNsdWRlJywgJ2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmVcXC5j
cHAkJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Nv
bG9yTWFjXFwubW0kJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0Zsb2F0UG9pbnRNYWNcXC5tbSQnXSwKICAgICAgICAgICAgIFsnaW5jbHVkZScsICdw
bGF0Zm9ybS9ncmFwaGljcy9tYWMvRmxvYXRSZWN0TWFjXFwubW0kJ10sCkBAIC0xMzQ2LDYgKzEz
NDQsMTIgQEAKICAgICAgICAgIyBEb24ndCBidWlsZCBJREJLZXlQYXRoQmFja2VuZEltcGwuICBX
ZSBoYXZlIG91ciBvd24gaW1wbGVtZW50YXRpb24uCiAgICAgICAgIFsnZXhjbHVkZScsICdzdG9y
YWdlL0lEQktleVBhdGhCYWNrZW5kSW1wbFxcLmNwcCQnXSwKIAorICAgICAgICAjIERvbid0IGJ1
aWxkIGZpbGVzIG5lZWRlZCBmb3IgV2ViQXJjaGl2ZSBzdXBwb3J0LiBTaW5jZSB3ZSBkaXNhYmxl
CisgICAgICAgICMgdGhpcyBmZWF0dXJlLgorICAgICAgICBbJ2V4Y2x1ZGUnLCAnbG9hZGVyL2Fy
Y2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZVxcLmNwcCQnXSwKKyAgICAgICAgWydleGNsdWRlJywg
J2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmVNYWNcXC5tbSQnXSwKKyAgICAgICAg
WydleGNsdWRlJywgJ2xvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5XFwuY3BwJCddLAorCiAg
ICAgICAgICMgVXNlIGxvYWRlci9pY29uL0ljb25EYXRhYmFzZU5vbmUuY3BwIGluc3RlYWQuCiAg
ICAgICAgIFsnZXhjbHVkZScsICdsb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VcXC5jcHAkJ10sCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5wcm8KaW5kZXggY2I1M2YzOThjZWJlMWM0ODI4YjQyZDU3NTE5MWMzYjg4YmQ4Mjc0
Yy4uOTUzNmJmNzQyZWM5YWZkZTVmNDdjNmI3YzQxYTQxMjYxMDRjZGY0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5w
cm8KQEAgLTEwNzEsNyArMTA3MSw2IEBAIFNPVVJDRVMgKz0gXAogICAgIGluc3BlY3Rvci9TY3Jp
cHRDYWxsRnJhbWUuY3BwIFwKICAgICBpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmNwcCBcCiAg
ICAgaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgXAotICAgIGxvYWRlci9hcmNo
aXZlL0FyY2hpdmVGYWN0b3J5LmNwcCBcCiAgICAgbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291
cmNlLmNwcCBcCiAgICAgbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5j
cHAgXAogICAgIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAgXApAQCAtMTk3NCw3ICsxOTcz
LDYgQEAgSEVBREVSUyArPSBcCiAgICAgbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVT
dG9yYWdlLmggXAogICAgIGxvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmggXAog
ICAgIGxvYWRlci9hcHBjYWNoZS9NYW5pZmVzdFBhcnNlci5oIFwKLSAgICBsb2FkZXIvYXJjaGl2
ZS9BcmNoaXZlRmFjdG9yeS5oIFwKICAgICBsb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VD
b2xsZWN0aW9uLmggXAogICAgIGxvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZS5oIFwKICAg
ICBsb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDJmMjEwNjY3OTNkMzQ2YjBjNmI4NGJiZTAxNmVm
OTcxNWU3ZDIxODEuLmJhYjlmYjVhMGNhZWM0ODc2MGE5NjU2NDRiZDgxY2E2OGZmNTcwNzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMzAsNyArMzAsNiBA
QAogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNh
Y2hlSG9zdC5oIgotI2luY2x1ZGUgIkFyY2hpdmVGYWN0b3J5LmgiCiAjaW5jbHVkZSAiQXJjaGl2
ZVJlc291cmNlQ29sbGVjdGlvbi5oIgogI2luY2x1ZGUgIkNhY2hlZFBhZ2UuaCIKICNpbmNsdWRl
ICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgpAQCAtNTQsNiArNTMsMTAgQEAKICNpbmNsdWRlIDx3
dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCisj
aWYgRU5BQkxFKFdFQl9BUkNISVZFKQorI2luY2x1ZGUgIkFyY2hpdmVGYWN0b3J5LmgiCisjZW5k
aWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgdm9pZCBjYW5jZWxBbGwoY29uc3Qg
UmVzb3VyY2VMb2FkZXJTZXQmIGxvYWRlcnMpCkBAIC0yOTAsOCArMjkzLDEwIEBAIHZvaWQgRG9j
dW1lbnRMb2FkZXI6OmNvbW1pdExvYWQoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkKICAg
ICBGcmFtZUxvYWRlciogZnJhbWVMb2FkZXIgPSBEb2N1bWVudExvYWRlcjo6ZnJhbWVMb2FkZXIo
KTsKICAgICBpZiAoIWZyYW1lTG9hZGVyKQogICAgICAgICByZXR1cm47CisjaWYgRU5BQkxFKFdF
Ql9BUkNISVZFKQogICAgIGlmIChBcmNoaXZlRmFjdG9yeTo6aXNBcmNoaXZlTWltZVR5cGUocmVz
cG9uc2UoKS5taW1lVHlwZSgpKSkKICAgICAgICAgcmV0dXJuOworI2VuZGlmCiAgICAgZnJhbWVM
b2FkZXItPmNsaWVudCgpLT5jb21taXR0ZWRMb2FkKHRoaXMsIGRhdGEsIGxlbmd0aCk7CiB9CiAK
QEAgLTM0OSw3ICszNTQsOSBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpzZXR1cEZvclJlcGxhY2VC
eU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbmV3TUlNRVR5cGUpCiAgICAgCiAgICAgc3RvcExvYWRp
bmdTdWJyZXNvdXJjZXMoKTsKICAgICBzdG9wTG9hZGluZ1BsdWdJbnMoKTsKKyNpZiBFTkFCTEUo
V0VCX0FSQ0hJVkUpCiAgICAgY2xlYXJBcmNoaXZlUmVzb3VyY2VzKCk7CisjZW5kaWYKIH0KIAog
dm9pZCBEb2N1bWVudExvYWRlcjo6dXBkYXRlTG9hZGluZygpCkBAIC00MzYsNiArNDQzLDcgQEAg
Ym9vbCBEb2N1bWVudExvYWRlcjo6aXNMb2FkaW5nSW5BUElTZW5zZSgpIGNvbnN0CiAgICAgcmV0
dXJuIGZyYW1lTG9hZGVyKCktPnN1YmZyYW1lSXNMb2FkaW5nKCk7CiB9CiAKKyNpZiBFTkFCTEUo
V0VCX0FSQ0hJVkUpCiB2b2lkIERvY3VtZW50TG9hZGVyOjphZGRBbGxBcmNoaXZlUmVzb3VyY2Vz
KEFyY2hpdmUqIGFyY2hpdmUpCiB7CiAgICAgaWYgKCFtX2FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rp
b24pCkBAIC00NjIsMTYgKzQ3MCw2IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmFkZEFyY2hpdmVS
ZXNvdXJjZShQYXNzUmVmUHRyPEFyY2hpdmVSZXNvdXJjZT4gcmVzb3VyY2UpCiAgICAgbV9hcmNo
aXZlUmVzb3VyY2VDb2xsZWN0aW9uLT5hZGRSZXNvdXJjZShyZXNvdXJjZSk7CiB9CiAKLUFyY2hp
dmVSZXNvdXJjZSogRG9jdW1lbnRMb2FkZXI6OmFyY2hpdmVSZXNvdXJjZUZvclVSTChjb25zdCBL
VVJMJiB1cmwpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24p
Ci0gICAgICAgIHJldHVybiAwOwotICAgICAgICAKLSAgICBBcmNoaXZlUmVzb3VyY2UqIHJlc291
cmNlID0gbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLT5hcmNoaXZlUmVzb3VyY2VGb3JVUkwo
dXJsKTsKLQotICAgIHJldHVybiByZXNvdXJjZSAmJiAhcmVzb3VyY2UtPnNob3VsZElnbm9yZVdo
ZW5VbmFyY2hpdmluZygpID8gcmVzb3VyY2UgOiAwOwotfQotCiBQYXNzUmVmUHRyPEFyY2hpdmU+
IERvY3VtZW50TG9hZGVyOjpwb3BBcmNoaXZlRm9yU3ViZnJhbWUoY29uc3QgU3RyaW5nJiBmcmFt
ZU5hbWUpCiB7CiAgICAgcmV0dXJuIG1fYXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiA/IG1fYXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbi0+cG9wU3ViZnJhbWVBcmNoaXZlKGZyYW1lTmFtZSkgOiAw
OwpAQCAtNDkyLDYgKzQ5MCwxNyBAQCBTaGFyZWRCdWZmZXIqIERvY3VtZW50TG9hZGVyOjpwYXJz
ZWRBcmNoaXZlRGF0YSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fcGFyc2VkQXJjaGl2ZURhdGEu
Z2V0KCk7CiB9CisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BUkNISVZFKQorCitBcmNoaXZlUmVzb3Vy
Y2UqIERvY3VtZW50TG9hZGVyOjphcmNoaXZlUmVzb3VyY2VGb3JVUkwoY29uc3QgS1VSTCYgdXJs
KSBjb25zdAoreworICAgIGlmICghbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uKQorICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgCisgICAgQXJjaGl2ZVJlc291cmNlKiByZXNvdXJjZSA9IG1f
YXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi0+YXJjaGl2ZVJlc291cmNlRm9yVVJMKHVybCk7CisK
KyAgICByZXR1cm4gcmVzb3VyY2UgJiYgIXJlc291cmNlLT5zaG91bGRJZ25vcmVXaGVuVW5hcmNo
aXZpbmcoKSA/IHJlc291cmNlIDogMDsKK30KIAogUGFzc1JlZlB0cjxBcmNoaXZlUmVzb3VyY2U+
IERvY3VtZW50TG9hZGVyOjptYWluUmVzb3VyY2UoKSBjb25zdAogewpAQCAtNTk5LDYgKzYwOCw3
IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNhbmNlbFBlbmRpbmdTdWJzdGl0dXRlTG9hZChSZXNv
dXJjZUxvYWRlciogbG9hZGVyKQogICAgICAgICBtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5
VGltZXIuc3RvcCgpOwogfQogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogYm9vbCBEb2N1bWVu
dExvYWRlcjo6c2NoZWR1bGVBcmNoaXZlTG9hZChSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEtVUkwmIG9yaWdpbmFsVVJMKQogewog
ICAgIEFyY2hpdmVSZXNvdXJjZSogcmVzb3VyY2UgPSAwOwpAQCAtNjE5LDYgKzYyOSw3IEBAIGJv
b2wgRG9jdW1lbnRMb2FkZXI6OnNjaGVkdWxlQXJjaGl2ZUxvYWQoUmVzb3VyY2VMb2FkZXIqIGxv
YWRlciwgY29uc3QgUmVzb3VyY2VSCiAgICAgCiAgICAgcmV0dXJuIHRydWU7CiB9CisjZW5kaWYg
Ly8gRU5BQkxFKFdFQl9BUkNISVZFKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjphZGRSZXNwb25z
ZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuaAppbmRleCA3NzI1MDM4NDZiZWY5ZDcxNTE4ZTQ2N2NhNmZkNjM5ZTJkODBiNGFj
Li5lOTUxN2NmNTc1ZWMyMWEzMmI4NDk4Y2ZlMGVjZWU3MzcxMzAwZDA1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaApAQCAtNDMsNyArNDMsOSBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZUhvc3Q7CisjaWYgRU5BQkxFKFdF
Ql9BUkNISVZFKQogICAgIGNsYXNzIEFyY2hpdmU7CisjZW5kaWYKICAgICBjbGFzcyBBcmNoaXZl
UmVzb3VyY2U7CiAgICAgY2xhc3MgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbjsKICAgICBjbGFz
cyBGcmFtZTsKQEAgLTEyNCwyNCArMTI2LDI5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdm9pZCB1bnNjaGVkdWxlKFNjaGVkdWxlUGFpciopOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
V0VCX0FSQ0hJVkUpCiAgICAgICAgIHZvaWQgYWRkQWxsQXJjaGl2ZVJlc291cmNlcyhBcmNoaXZl
Kik7CiAgICAgICAgIHZvaWQgYWRkQXJjaGl2ZVJlc291cmNlKFBhc3NSZWZQdHI8QXJjaGl2ZVJl
c291cmNlPik7CiAgICAgICAgIAotICAgICAgICAvLyBSZXR1cm4gYW4gQXJjaGl2ZVJlc291cmNl
IGZvciB0aGUgVVJMLCBlaXRoZXIgY3JlYXRpbmcgZnJvbSBsaXZlIGRhdGEgb3IKLSAgICAgICAg
Ly8gcHVsbGluZyBmcm9tIHRoZSBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uCi0gICAgICAgIFBh
c3NSZWZQdHI8QXJjaGl2ZVJlc291cmNlPiBzdWJyZXNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7
Ci0gICAgICAgIC8vIFJldHVybiB0aGUgQXJjaGl2ZVJlc291cmNlIGZvciB0aGUgVVJMIG9ubHkg
d2hlbiBsb2FkaW5nIGFuIEFyY2hpdmUKLSAgICAgICAgQXJjaGl2ZVJlc291cmNlKiBhcmNoaXZl
UmVzb3VyY2VGb3JVUkwoY29uc3QgS1VSTCYpIGNvbnN0OwotICAgICAgICAKICAgICAgICAgUGFz
c1JlZlB0cjxBcmNoaXZlPiBwb3BBcmNoaXZlRm9yU3ViZnJhbWUoY29uc3QgU3RyaW5nJiBmcmFt
ZU5hbWUpOwogICAgICAgICB2b2lkIGNsZWFyQXJjaGl2ZVJlc291cmNlcygpOwogICAgICAgICB2
b2lkIHNldFBhcnNlZEFyY2hpdmVEYXRhKFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPik7CiAgICAg
ICAgIFNoYXJlZEJ1ZmZlciogcGFyc2VkQXJjaGl2ZURhdGEoKSBjb25zdDsKICAgICAgICAgCisg
ICAgICAgIGJvb2wgc2NoZWR1bGVBcmNoaXZlTG9hZChSZXNvdXJjZUxvYWRlciosIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYsIGNvbnN0IEtVUkwmKTsKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FSQ0hJ
VkUpCisKKyAgICAgICAgLy8gUmV0dXJuIHRoZSBBcmNoaXZlUmVzb3VyY2UgZm9yIHRoZSBVUkwg
b25seSB3aGVuIGxvYWRpbmcgYW4gQXJjaGl2ZQorICAgICAgICBBcmNoaXZlUmVzb3VyY2UqIGFy
Y2hpdmVSZXNvdXJjZUZvclVSTChjb25zdCBLVVJMJikgY29uc3Q7CisKICAgICAgICAgUGFzc1Jl
ZlB0cjxBcmNoaXZlUmVzb3VyY2U+IG1haW5SZXNvdXJjZSgpIGNvbnN0OworCisgICAgICAgIC8v
IFJldHVybiBhbiBBcmNoaXZlUmVzb3VyY2UgZm9yIHRoZSBVUkwsIGVpdGhlciBjcmVhdGluZyBm
cm9tIGxpdmUgZGF0YSBvcgorICAgICAgICAvLyBwdWxsaW5nIGZyb20gdGhlIEFyY2hpdmVSZXNv
dXJjZUNvbGxlY3Rpb24KKyAgICAgICAgUGFzc1JlZlB0cjxBcmNoaXZlUmVzb3VyY2U+IHN1YnJl
c291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKICAgICAgICAgdm9pZCBnZXRTdWJyZXNvdXJjZXMo
VmVjdG9yPFBhc3NSZWZQdHI8QXJjaGl2ZVJlc291cmNlPiA+JikgY29uc3Q7Ci0gICAgICAgIAot
ICAgICAgICBib29sIHNjaGVkdWxlQXJjaGl2ZUxvYWQoUmVzb3VyY2VMb2FkZXIqLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBLVVJMJik7CisKKwogI2lmbmRlZiBOREVCVUcKICAgICAg
ICAgYm9vbCBpc1N1YnN0aXR1dGVMb2FkUGVuZGluZyhSZXNvdXJjZUxvYWRlciopIGNvbnN0Owog
I2VuZGlmCkBAIC0zMDEsOSArMzA4LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxSZXNvdXJjZUxvYWRlcj4sIFJlZlB0cjxTdWJzdGl0dXRl
UmVzb3VyY2U+ID4gU3Vic3RpdHV0ZVJlc291cmNlTWFwOwogICAgICAgICBTdWJzdGl0dXRlUmVz
b3VyY2VNYXAgbV9wZW5kaW5nU3Vic3RpdHV0ZVJlc291cmNlczsKICAgICAgICAgVGltZXI8RG9j
dW1lbnRMb2FkZXI+IG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lcjsKLSAgICAgICAg
ICAgICAgICAKKwogICAgICAgICBPd25QdHI8QXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbj4gbV9h
cmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uOworI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICAg
ICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbV9wYXJzZWRBcmNoaXZlRGF0YTsKKyNlbmRpZgogCiAg
ICAgICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3Jlc291cmNlc0NsaWVudEtub3dzQWJvdXQ7CiAgICAg
ICAgIFZlY3RvcjxTdHJpbmc+IG1fcmVzb3VyY2VzTG9hZGVkRnJvbU1lbW9yeUNhY2hlRm9yQ2xp
ZW50Tm90aWZpY2F0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXgg
MTEyOWJhYzY4YjkwYzM1ZGFmODU2YjlmY2VkZTk1ZmIwMzg0MzJmMC4uZmRlMzYxMjdhNzE1NWEy
YmI4OGM0ZmMzNTBmOGRmZDdiYTYyMmQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCkBAIC0zNCw4ICszNCw2IEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKIAogI2lu
Y2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCi0jaW5jbHVkZSAiQXJjaGl2ZS5oIgotI2lu
Y2x1ZGUgIkFyY2hpdmVGYWN0b3J5LmgiCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiQmVmb3JlVW5sb2FkRXZlbnQuaCIKICNpbmNsdWRlICJNZW1vcnlDYWNo
ZS5oIgpAQCAtMTEzLDYgKzExMSwxMSBAQAogI2luY2x1ZGUgIlNWR1ZpZXdTcGVjLmgiCiAjZW5k
aWYKIAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKKyNpbmNsdWRlICJBcmNoaXZlLmgiCisjaW5j
bHVkZSAiQXJjaGl2ZUZhY3RvcnkuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CkBAIC05MTMsMTEgKzkxNiwxMyBAQCB2b2lkIEZy
YW1lTG9hZGVyOjpsb2FkVVJMSW50b0NoaWxkRnJhbWUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBT
dHJpbmcmIHJlZmVyZXIsCiB7CiAgICAgQVNTRVJUKGNoaWxkRnJhbWUpOwogCisjaWYgRU5BQkxF
KFdFQl9BUkNISVZFKQogICAgIFJlZlB0cjxBcmNoaXZlPiBzdWJmcmFtZUFyY2hpdmUgPSBhY3Rp
dmVEb2N1bWVudExvYWRlcigpLT5wb3BBcmNoaXZlRm9yU3ViZnJhbWUoY2hpbGRGcmFtZS0+dHJl
ZSgpLT51bmlxdWVOYW1lKCkpOyAgICAKICAgICBpZiAoc3ViZnJhbWVBcmNoaXZlKSB7CiAgICAg
ICAgIGNoaWxkRnJhbWUtPmxvYWRlcigpLT5sb2FkQXJjaGl2ZShzdWJmcmFtZUFyY2hpdmUucmVs
ZWFzZSgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyNlbmRpZiAvLyBFTkFCTEUoV0VCX0FS
Q0hJVkUpCiAKICAgICBIaXN0b3J5SXRlbSogcGFyZW50SXRlbSA9IGhpc3RvcnkoKS0+Y3VycmVu
dEl0ZW0oKTsKICAgICAvLyBJZiB3ZSdyZSBtb3ZpbmcgaW4gdGhlIGJhY2svZm9yd2FyZCBsaXN0
LCB3ZSBtaWdodCB3YW50IHRvIHJlcGxhY2UgdGhlIGNvbnRlbnQKQEAgLTkzMyw2ICs5MzgsNyBA
QCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkVVJMSW50b0NoaWxkRnJhbWUoY29uc3QgS1VSTCYgdXJs
LCBjb25zdCBTdHJpbmcmIHJlZmVyZXIsCiAgICAgY2hpbGRGcmFtZS0+bG9hZGVyKCktPmxvYWRV
UkwodXJsLCByZWZlcmVyLCBTdHJpbmcoKSwgZmFsc2UsIEZyYW1lTG9hZFR5cGVSZWRpcmVjdFdp
dGhMb2NrZWRCYWNrRm9yd2FyZExpc3QsIDAsIDApOwogfQogCisjaWYgRU5BQkxFKFdFQl9BUkNI
SVZFKQogdm9pZCBGcmFtZUxvYWRlcjo6bG9hZEFyY2hpdmUoUGFzc1JlZlB0cjxBcmNoaXZlPiBw
cnBBcmNoaXZlKQogewogICAgIFJlZlB0cjxBcmNoaXZlPiBhcmNoaXZlID0gcHJwQXJjaGl2ZTsK
QEAgLTk1Myw2ICs5NTksNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkQXJjaGl2ZShQYXNzUmVm
UHRyPEFyY2hpdmU+IHBycEFyY2hpdmUpCiAgICAgZG9jdW1lbnRMb2FkZXItPmFkZEFsbEFyY2hp
dmVSZXNvdXJjZXMoYXJjaGl2ZS5nZXQoKSk7CiAgICAgbG9hZChkb2N1bWVudExvYWRlci5nZXQo
KSk7CiB9CisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BUkNISVZFKQogCiBPYmplY3RDb250ZW50VHlw
ZSBGcmFtZUxvYWRlcjo6ZGVmYXVsdE9iamVjdENvbnRlbnRUeXBlKGNvbnN0IEtVUkwmIHVybCwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZUluKQogewpAQCAtMTcxNSw4ICsxNzIyLDEwIEBAIHZvaWQg
RnJhbWVMb2FkZXI6OnN0b3BBbGxMb2FkZXJzKERhdGFiYXNlUG9saWN5IGRhdGFiYXNlUG9saWN5
LCBDbGVhclByb3Zpc2lvbmFsCiAKICAgICBzZXRQcm92aXNpb25hbERvY3VtZW50TG9hZGVyKDAp
OwogICAgIAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICBpZiAobV9kb2N1bWVudExvYWRl
cikKICAgICAgICAgbV9kb2N1bWVudExvYWRlci0+Y2xlYXJBcmNoaXZlUmVzb3VyY2VzKCk7Cisj
ZW5kaWYKIAogICAgIG1fY2hlY2tUaW1lci5zdG9wKCk7CiAKQEAgLTIyMzMsNiArMjI0Miw5IEBA
IHZvaWQgRnJhbWVMb2FkZXI6OmZpbmlzaGVkTG9hZGluZ0RvY3VtZW50KERvY3VtZW50TG9hZGVy
KiBsb2FkZXIpCiAgICAgICAgIHJldHVybjsKICNlbmRpZgogCisjaWYgIUVOQUJMRShXRUJfQVJD
SElWRSkKKyAgICBtX2NsaWVudC0+ZmluaXNoZWRMb2FkaW5nKGxvYWRlcik7CisjZWxzZQogICAg
IC8vIEdpdmUgYXJjaGl2ZSBtYWNoaW5lcnkgYSBjcmFjayBhdCB0aGlzIGRvY3VtZW50LiBJZiB0
aGUgTUlNRSB0eXBlIGlzIG5vdCBhbiBhcmNoaXZlIHR5cGUsIGl0IHdpbGwgcmV0dXJuIDAuCiAg
ICAgUmVmUHRyPEFyY2hpdmU+IGFyY2hpdmUgPSBBcmNoaXZlRmFjdG9yeTo6Y3JlYXRlKGxvYWRl
ci0+bWFpblJlc291cmNlRGF0YSgpLmdldCgpLCBsb2FkZXItPnJlc3BvbnNlTUlNRVR5cGUoKSk7
CiAgICAgaWYgKCFhcmNoaXZlKSB7CkBAIC0yMjU3LDYgKzIyNjksNyBAQCB2b2lkIEZyYW1lTG9h
ZGVyOjpmaW5pc2hlZExvYWRpbmdEb2N1bWVudChEb2N1bWVudExvYWRlciogbG9hZGVyKQogICAg
IGJvb2wgZW5jb2RpbmdJc1VzZXJDaG9zZW4gPSAhdXNlckNob3NlbkVuY29kaW5nLmlzTnVsbCgp
OwogICAgIHdyaXRlcigpLT5zZXRFbmNvZGluZyhlbmNvZGluZ0lzVXNlckNob3NlbiA/IHVzZXJD
aG9zZW5FbmNvZGluZyA6IG1haW5SZXNvdXJjZS0+dGV4dEVuY29kaW5nKCksIGVuY29kaW5nSXNV
c2VyQ2hvc2VuKTsKICAgICB3cml0ZXIoKS0+YWRkRGF0YShtYWluUmVzb3VyY2UtPmRhdGEoKS0+
ZGF0YSgpLCBtYWluUmVzb3VyY2UtPmRhdGEoKS0+c2l6ZSgpKTsKKyNlbmRpZiAvLyBFTkFCTEUo
V0VCX0FSQ0hJVkUpCiB9CiAKIGJvb2wgRnJhbWVMb2FkZXI6OmlzUmVwbGFjaW5nKCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNDI3Y2RlZTM2MzZmMGVkNmQ4Nzc1
NTE3YzZkNzVmZWM0Yzg5MGM0NC4uYTNhMWJmYWQ0MDU4ZjA4MTIwYWNhYWJiNWFhYzRhZGE4Yjc3
N2MyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTExOCw4ICsxMTgsMTAg
QEAgcHVibGljOgogICAgIHZvaWQgbG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBib29sIGxv
Y2tIaXN0b3J5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2Fs
bGVkIGJ5IFdlYkZyYW1lLCBjYWxscyBsb2FkKFJlc291cmNlUmVxdWVzdCwgU3Vic3RpdHV0ZURh
dGEpLgogICAgIHZvaWQgbG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdWJzdGl0
dXRlRGF0YSYsIGJvb2wgbG9ja0hpc3RvcnkpOyAgICAgICAgICAgICAgICAgLy8gQ2FsbGVkIGJv
dGggYnkgV2ViRnJhbWUgYW5kIGludGVybmFsbHksIGNhbGxzIGxvYWQoRG9jdW1lbnRMb2FkZXIq
KS4KICAgICB2b2lkIGxvYWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBm
cmFtZU5hbWUsIGJvb2wgbG9ja0hpc3RvcnkpOyAgICAgICAgICAgICAgIC8vIENhbGxlZCBieSBX
ZWJQbHVnaW5Db250cm9sbGVyLgotICAgIAorCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogICAg
IHZvaWQgbG9hZEFyY2hpdmUoUGFzc1JlZlB0cjxBcmNoaXZlPik7CisjZW5kaWYKIAogICAgIHN0
YXRpYyB2b2lkIHJlcG9ydExvY2FsTG9hZEZhaWxlZChGcmFtZSosIGNvbnN0IFN0cmluZyYgdXJs
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNDJjZTAx
NmI4NWQ1YzA5ZGRjOTUyOGI3ZWM5YmVkYzM0ZGI3YTQyNC4uZTA4ZTE5MDZhMDk1NWZiNDQzNDE5
ZDY1YjhjNjA2MmE4NWNkZDA2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
ZXIuY3BwCkBAIC0xNDUsOCArMTQ1LDEwIEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OnN0YXJ0KCkK
ICAgICBBU1NFUlQoIW1fcmVxdWVzdC5pc051bGwoKSk7CiAgICAgQVNTRVJUKG1fZGVmZXJyZWRS
ZXF1ZXN0LmlzTnVsbCgpKTsKIAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICBpZiAobV9k
b2N1bWVudExvYWRlci0+c2NoZWR1bGVBcmNoaXZlTG9hZCh0aGlzLCBtX3JlcXVlc3QsIG1fcmVx
dWVzdC51cmwoKSkpCiAgICAgICAgIHJldHVybjsKKyNlbmRpZgogICAgIAogI2lmIEVOQUJMRShP
RkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCiAgICAgaWYgKG1fZG9jdW1lbnRMb2FkZXItPmFwcGxp
Y2F0aW9uQ2FjaGVIb3N0KCktPm1heWJlTG9hZFJlc291cmNlKHRoaXMsIG1fcmVxdWVzdCwgbV9y
ZXF1ZXN0LnVybCgpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZl
L0FyY2hpdmVGYWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hp
dmVGYWN0b3J5LmNwcAppbmRleCAyZTEwOGM1NDk0NmFiMDYwNzJmZDViYThjZjI0Yzk2YTJjOWI2
NTYwLi5iMDJiODMxMDQxOGZjMjdkMzhiMTc3MDRlYzQwOTk4YzI5M2IzMDYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9yeS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwCkBAIC02MCw3
ICs2MCw3IEBAIHN0YXRpYyBBcmNoaXZlTUlNRVR5cGVzTWFwJiBhcmNoaXZlTUlNRVR5cGVzKCkK
ICAgICBpZiAoaW5pdGlhbGl6ZWQpCiAgICAgICAgIHJldHVybiBtaW1lVHlwZXM7CiAKLSNpZiBQ
TEFURk9STShDRikgJiYgIVBMQVRGT1JNKFFUKQorI2lmIFBMQVRGT1JNKENGKQogICAgIG1pbWVU
eXBlcy5zZXQoImFwcGxpY2F0aW9uL3gtd2ViYXJjaGl2ZSIsIGFyY2hpdmVGYWN0b3J5Q3JlYXRl
PExlZ2FjeVdlYkFyY2hpdmU+KTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmlu
ZGV4IGQ4NzZlMmI5NTA4YzkxZjRhMzAwYjU1MjVmNjFkNTIwMjA0YzU1NDMuLjA1NzIyZTRhNTgz
YzhiMTY2MTdiYTM4NDkxYzQzN2FhNjljNTQ1YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3Bw
CkBAIC01MTAsMTAgKzUxMCwxMiBAQCB2b2lkIFNldHRpbmdzOjpzZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKGJvb2wgZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCkKICAgICBtX2ZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQgPSBmcmFtZUZsYXR0ZW5pbmdFbmFibGVkOwogfQogCisjaWYgRU5BQkxFKFdFQl9B
UkNISVZFKQogdm9pZCBTZXR0aW5nczo6c2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQoYm9v
bCBlbmFibGVkKQogewogICAgIG1fd2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQgPSBlbmFibGVk
OwogfQorI2VuZGlmCiAKIHZvaWQgU2V0dGluZ3M6OnNldExvY2FsRmlsZUNvbnRlbnRTbmlmZmlu
Z0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IDcyYzQ3
MDNjNmRmM2Y2YTVmZThiMzJiN2RkMGZlYzI0NWZlNDg5MTguLmE0YWY5M2JhZTUxZDgzNjJkYmIz
YmZlZjJiZDYxNmEzY2M1MTM3OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTIzNCw5ICsy
MzQsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZvaWQgc2V0TmVlZHNTaXRl
U3BlY2lmaWNRdWlya3MoYm9vbCk7CiAgICAgICAgIGJvb2wgbmVlZHNTaXRlU3BlY2lmaWNRdWly
a3MoKSBjb25zdCB7IHJldHVybiBtX25lZWRzU2l0ZVNwZWNpZmljUXVpcmtzOyB9Ci0gICAgICAg
IAorCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogICAgICAgICB2b2lkIHNldFdlYkFyY2hpdmVE
ZWJ1Z01vZGVFbmFibGVkKGJvb2wpOwogICAgICAgICBib29sIHdlYkFyY2hpdmVEZWJ1Z01vZGVF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJBcmNoaXZlRGVidWdNb2RlRW5hYmxlZDsgfQor
I2VuZGlmCiAKICAgICAgICAgdm9pZCBzZXRMb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVk
KGJvb2wpOwogICAgICAgICBib29sIGxvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQoKSBj
b25zdCB7IHJldHVybiBtX2xvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQ7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAKaW5kZXggZjNjY2NjMDZj
ZDM5NzZlYjViOTJmNjQzY2IyMGViY2Q4OWE0ZWMxNi4uNDZlYWY0YzJlNGRiMTBkM2FkNmJmZjBh
ZGJiMWM1NDU0NTBjMjFmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlN
RVR5cGVSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVS
ZWdpc3RyeS5jcHAKQEAgLTI3LDcgKzI3LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAKLSNpbmNsdWRlICJBcmNoaXZlRmFjdG9yeS5oIgog
I2luY2x1ZGUgIk1lZGlhUGxheWVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgpAQCAtNDQsNiArNDMsMTAgQEAKICNpbmNsdWRlIDxxaW1hZ2V3
cml0ZXIuaD4KICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQorI2luY2x1ZGUgIkFy
Y2hpdmVGYWN0b3J5LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMg
SGFzaFNldDxTdHJpbmc+KiBzdXBwb3J0ZWRJbWFnZVJlc291cmNlTUlNRVR5cGVzOwpAQCAtMjI1
LDcgKzIyOCw5IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVTdXBwb3J0ZWROb25JbWFnZU1pbWVU
eXBlcygpCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBXVEZfQVJSQVlfTEVOR1RIKHR5cGVz
KTsgKytpKQogICAgICAgICBzdXBwb3J0ZWROb25JbWFnZU1JTUVUeXBlcy0+YWRkKHR5cGVzW2ld
KTsKIAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICBBcmNoaXZlRmFjdG9yeTo6cmVnaXN0
ZXJLbm93bkFyY2hpdmVNSU1FVHlwZXMoKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgTWVkaWFNSU1F
VHlwZU1hcCYgbWVkaWFNSU1FVHlwZU1hcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGE4ZWQzMDM3OWMxZTYy
NmViYmNhMjg5MDVkYzIwYjg1ZmZhN2U3ZS4uYzMyOGFlY2ExNGFhOTE4YzM5MDZhYmVhNTE2MGQy
MTVhNWRiNWQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTAxLTMxICBKZXJl
bXkgTW9za292aWNoICA8amVyZW15QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBjb21waWxlLXRpbWUgb3B0aW9uIHRv
IGNvbXBsZXRlbHkgZGlzYWJsZSBXZWJBcmNoaXZlIHN1cHBvcnQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjcxMgorCisgICAgICAgIEFkZCBhbiBF
TkFCTEUoV0VCX0FSQ0hJVkUpIGNvbXBpbGUtdGltZSBzZXR0aW5nIGFuZCB1c2UgaXQgZm9yIGFs
bCBXZWJBcmNoaXZlIGNvZGUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKToKKwog
MjAxMS0wMS0yNCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAg
ICAgIEZpeCBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAppbmRleCA5YWIzYjI2ODBhYTIxZDdiYzgyODdmZjU0OGQ1NjNmYWE0MTYyNGNkLi4w
ZGFmNTVlYTgxMzg3NmEyNmVjYjI2NmVmNjIzZjA0MDY5YzI5NTE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xMjMyLDcgKzEyMzIsOSBA
QCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3Rv
cmUmIHN0b3JlKQogICAgIHNldHRpbmdzLT5zZXRKYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRv
bWF0aWNhbGx5KHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6amF2
YVNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGljYWxseUtleSgpKSk7CiAgICAgc2V0dGluZ3Mt
PnNldEZvcmNlRlRQRGlyZWN0b3J5TGlzdGluZ3Moc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5Ojpmb3JjZUZUUERpcmVjdG9yeUxpc3RpbmdzS2V5KCkpKTsKICAgICBz
ZXR0aW5ncy0+c2V0RE5TUHJlZmV0Y2hpbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6ZG5zUHJlZmV0Y2hpbmdFbmFibGVkS2V5KCkpKTsKKyNpZiBF
TkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgc2V0dGluZ3MtPnNldFdlYkFyY2hpdmVEZWJ1Z01vZGVF
bmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6d2ViQXJj
aGl2ZURlYnVnTW9kZUVuYWJsZWRLZXkoKSkpOworI2VuZGlmCiAgICAgc2V0dGluZ3MtPnNldExv
Y2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5Ojpsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkS2V5KCkpKTsK
ICAgICBzZXR0aW5ncy0+c2V0VXNlc1BhZ2VDYWNoZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6OnVzZXNQYWdlQ2FjaGVLZXkoKSkpOwogICAgIHNldHRpbmdzLT5z
ZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2Vi
UHJlZmVyZW5jZXNLZXk6OmF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkS2V5KCkpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82251</attachid>
            <date>2011-02-12 23:53:38 -0800</date>
            <delta_ts>2011-02-12 23:57:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52712-20110213095335.patch</filename>
            <type>text/plain</type>
            <size>23126</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg0MjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGUz
ZDM0NWNhYWM0NjliMjRlNTU0OTI0YzFmZDNhNjFlMjEyOGIyMzEuLjQ5NmNlN2E0NGYxZTIwZmM5
NTk0MmVkZWZiMGRlMzQ1NTMyNmQ2OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDExLTAxLTMwICBKZXJlbXkgTW9za292aWNoICA8amVyZW15QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgYSBjb21waWxlLXRpbWUgb3B0aW9uIHRvIGNvbXBsZXRlbHkgZGlzYWJsZSBXZWJBcmNoaXZl
IHN1cHBvcnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01MjcxMgorCisgICAgICAgIEFkZCBhbiBFTkFCTEUoV0VCX0FSQ0hJVkUpIGNvbXBpbGUtdGlt
ZSBzZXR0aW5nIGFuZCB1c2UgaXQgZm9yIGFsbCBXZWJBcmNoaXZlIGNvZGUuCisgICAgICAgIFBv
cnRzIEFmZmVjdGVkOgorICAgICAgICAgICAgV2ViQXJjaGl2ZSBzdXBwb3J0IGlzIGN1cnJlbnRs
eSBlbmFibGVkIGZvciBhbGwgcG9ydHMgdGhhdCBkZWZpbmUgUExBVEZPUk0oQ0YpIGFwYXJ0IGZy
b20gUXQuCisgICAgICAgICAgICBUaGlzIHBhdGNoIHByZXNlcnZlcyB0aGlzIGJlaGF2aW9yIGV4
Y2VwdCB0aGF0IGl0IGFsc28gZGlzYWJsZXMgc3VwcG9ydCBpbiB0aGUgQ2hyb21pdW0gcG9ydC4K
KworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOiBBZGQgRU5BQkxFX1dFQl9BUkNISVZFIGRlZmlu
aXRpb24gYW5kIHR1cm4gaXQgb2ZmIGV4cGxpY2l0bHkgZm9yIFF0ICYgQ2hyb21pdW0gcG9ydHMu
CisKIDIwMTEtMDItMTIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBNYXJrIFJvd2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgK
aW5kZXggZDAzNjU5NmI4M2JmMWIwMGE4MDhmNTZiN2NmMzU1ZDFiNmYyNWUyYS4uMTkzYjc2ZGQ4
MGI5MmNjYmU4YzhmZGI1ZjZlY2NmYzUwOWYzOWY2NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaApAQCAtNjIyLDYgKzYyMiw3IEBACiAjZGVmaW5lIEhBVkVfUlVOTE9PUF9USU1F
UiAxCiAjZGVmaW5lIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSAxCiAjZGVmaW5lIEVOQUJMRV9TTU9P
VEhfU0NST0xMSU5HIDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKICNlbmRpZiAvKiBQ
TEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpICovCiAKICNpZiBQTEFURk9STShNQUMpCkBA
IC02NjIsNiArNjYzLDcgQEAKICNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKICNkZWZpbmUgV1RG
X1VTRV9QVEhSRUFEUyAxCiAjZGVmaW5lIEhBVkVfUFRIUkVBRF9SV0xPQ0sgMQorI2RlZmluZSBF
TkFCTEVfV0VCX0FSQ0hJVkUgMQogI2VuZGlmCiAKICNpZiBQTEFURk9STShBTkRST0lEKQpAQCAt
Njg0LDYgKzY4NiwxMCBAQAogI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDAKICNlbmRpZgogCisj
aWYgUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpICYmICFQTEFURk9STShDSFJPTUlVTSkgJiYg
IVBMQVRGT1JNKFFUKQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQorI2VuZGlmCisKICNp
ZiBQTEFURk9STShXWCkKICNkZWZpbmUgRU5BQkxFX0FTU0VNQkxFUiAxCiAjZGVmaW5lIEVOQUJM
RV9HTE9CQUxfRkFTVE1BTExPQ19ORVcgMApAQCAtNjkxLDYgKzY5Nyw3IEBACiAjZGVmaW5lIFdU
Rl9QTEFURk9STV9DRiAxCiAjaWZuZGVmIEJVSUxESU5HX09OX1RJR0VSCiAjZGVmaW5lIFdURl9V
U0VfQ09SRV9URVhUIDEKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKICNlbHNlCiAjZGVm
aW5lIFdURl9VU0VfQVRTVUkgMQogI2VuZGlmCkBAIC0xMDc2LDYgKzEwODMsMTAgQEAKICNkZWZp
bmUgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcgMAogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFC
TEVfV0VCX0FSQ0hJVkUpCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAwCisjZW5kaWYKKwog
LyogVXNlIHRoZSBRWG1sU3RyZWFtUmVhZGVyIGltcGxlbWVudGF0aW9uIGZvciBYTUxEb2N1bWVu
dFBhcnNlciAqLwogLyogVXNlIHRoZSBRWG1sUXVlcnkgaW1wbGVtZW50YXRpb24gZm9yIFhTTFRQ
cm9jZXNzb3IgKi8KICNpZiBQTEFURk9STShRVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxMzA2ZDY0MDI1NzNk
MzkyNDU5YmZiNjI5NGUwOTE4YTE3YTQ5NDIzLi4zNTlkYTIwMGYwODNlYzVmODNiZjJjNTUzYjhi
Nzg2MWQzMTg4YzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTEtMDEtMzAgIEpl
cmVteSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGNvbXBpbGUtdGltZSBvcHRpb24g
dG8gY29tcGxldGVseSBkaXNhYmxlIFdlYkFyY2hpdmUgc3VwcG9ydC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNzEyCisKKyAgICAgICAgQWRkIGFu
IEVOQUJMRShXRUJfQVJDSElWRSkgY29tcGlsZS10aW1lIHNldHRpbmcgYW5kIHVzZSBpdCBmb3Ig
YWxsIFdlYkFyY2hpdmUgY29kZS4KKworICAgICAgICBBcmNoaXZlUmVzb3VyY2UgYW5kIEFyY2hp
dmVSZXNvdXJjZUNvbGxlY3Rpb24gYXJlIG5vdGFibHkgc3RpbGwgY29tcGlsZWQgaW4uIFRoZXkg
YXJlIHVzZWQKKyAgICAgICAgaW4gU2FmYXJpIGZvciBmdW5jdGlvbmFsaXR5IHN1Y2ggYXMgIlNh
dmUgSW1hZ2UgQXMiIGFuZCBJbWFnZSBjb3B5ICYgcGFzdGUgaW5kZXBlbmRlbnQgb2YKKyAgICAg
ICAgV2ViQXJjaGl2ZSBzdXBwb3J0LgorCisgICAgICAgIFBvcnRzIEFmZmVjdGVkOgorICAgICAg
ICAgICAgV2ViQXJjaGl2ZSBzdXBwb3J0IGlzIGN1cnJlbnRseSBlbmFibGVkIGZvciBhbGwgcG9y
dHMgdGhhdCBkZWZpbmUgUExBVEZPUk0oQ0YpIGFwYXJ0IGZyb20gUXQuCisgICAgICAgICAgICBU
aGlzIHBhdGNoIHByZXNlcnZlcyB0aGlzIGJlaGF2aW9yIGV4Y2VwdCB0aGF0IGl0IGFsc28gZGlz
YWJsZXMgc3VwcG9ydCBpbiB0aGUgQ2hyb21pdW0gcG9ydC4KKworICAgICAgICBObyBiZWhhdmlv
ciBjaGFuZ2VzIHNvIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNv
cmUuZ3lwOiBEb24ndCBjb21waWxlIExlZ2FjeVdlYkFyY2hpdmUuY3BwIGFuZCBmcmllbmRzLgor
ICAgICAgICAqIFdlYkNvcmUucHJvOiBEb24ndCBjb21waWxlIEFyY2hpdmVGYWN0b3J5LmNwcCBp
biBRdCBwb3J0LgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6IFN1cnJvdW5k
IFdlYkFyY2hpdmUgY29kZSB3aXRoICNpZmRlZi4KKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
TG9hZGVyOjpjb21taXRMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpz
ZXR1cEZvclJlcGxhY2VCeU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9h
ZGVyOjphcmNoaXZlUmVzb3VyY2VGb3JVUkwpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExv
YWRlci5oOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6bG9hZFVSTEludG9DaGlsZEZyYW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyOjpzdG9wQWxsTG9hZGVycyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRlcjo6ZmluaXNoZWRMb2FkaW5nRG9jdW1lbnQpOgorICAgICAgICAqIGxvYWRlci9GcmFt
ZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6c3RhcnQpOgorICAgICAgICAqIGxvYWRlci9hcmNo
aXZlL0FyY2hpdmVGYWN0b3J5LmNwcDogUmVtb3ZlICNpZmRlZiBzaW5jZSBmZWF0dXJlIGlzIG5v
dyBlbmFibGVkL2Rpc2FibGVkIHdob2xlc2FsZS4KKyAgICAgICAgKFdlYkNvcmU6OmFyY2hpdmVN
SU1FVHlwZXMpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAqIHBhZ2Uv
U2V0dGluZ3MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmluaXRpYWxpemVTdXBwb3J0ZWROb25JbWFnZU1pbWVUeXBlcyk6CisK
IDIwMTEtMDItMTIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cAppbmRleCAwZDhkMDZiNGExNGQ2MTg3MzljY2IxNzEwZjE2ZmZmMmJiNDU4ZmYwLi5iMTU1YjUw
NjM5MDNhYzU3MjNlYmVkYmU0MzJmMTU3MjU2NWIzZjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cApAQCAtMjYxLDcgKzI2MSw2IEBACiAgICAgICAgICAgIyBGSVhNRTog
RWxpbWluYXRlIGRlcGVuZGVuY3kgb24gcGxhdGZvcm0vZ3JhcGhpY3MvbWFjIGFuZAogICAgICAg
ICAgICMgcmVsYXRlZCBkaXJlY3Rvcmllcy4KICAgICAgICAgICAjIHBsYXRmb3JtL2dyYXBoaWNz
L2NnIG1heSBuZWVkIHRvIHN0aWNrIGFyb3VuZCwgdGhvdWdoLgotICAgICAgICAgICcuLi9sb2Fk
ZXIvYXJjaGl2ZS9jZicsCiAgICAgICAgICAgJy4uL3BsYXRmb3JtL2F1ZGlvL21hYycsCiAgICAg
ICAgICAgJy4uL3BsYXRmb3JtL2dyYXBoaWNzL21hYycsCiAgICAgICAgICAgJy4uL3BsYXRmb3Jt
L21hYycsCkBAIC0xMjM5LDcgKzEyMzgsNiBAQAogICAgICAgICAgICAgIyBTb21lIG9mIHRoZXNl
IGFyZSB1c2VkIGluc3RlYWQgb2YgQ2hyb21pdW0gcGxhdGZvcm0gZmlsZXMsIHNlZQogICAgICAg
ICAgICAgIyB0aGUgc3BlY2lmaWMgZXhjbHVzaW9ucyBpbiB0aGUgInNvdXJjZXMhIiBsaXN0IGJl
bG93LgogICAgICAgICAgICAgWydpbmNsdWRlJywgJ3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hY1xc
Lm1tJCddLAotICAgICAgICAgICAgWydpbmNsdWRlJywgJ2xvYWRlci9hcmNoaXZlL2NmL0xlZ2Fj
eVdlYkFyY2hpdmVcXC5jcHAkJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0NvbG9yTWFjXFwubW0kJ10sCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAn
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zsb2F0UG9pbnRNYWNcXC5tbSQnXSwKICAgICAgICAgICAg
IFsnaW5jbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRmxvYXRSZWN0TWFjXFwubW0kJ10s
CkBAIC0xMzg1LDYgKzEzODMsMTIgQEAKICAgICAgICAgIyBEb24ndCBidWlsZCBJREJLZXlQYXRo
QmFja2VuZEltcGwuICBXZSBoYXZlIG91ciBvd24gaW1wbGVtZW50YXRpb24uCiAgICAgICAgIFsn
ZXhjbHVkZScsICdzdG9yYWdlL0lEQktleVBhdGhCYWNrZW5kSW1wbFxcLmNwcCQnXSwKIAorICAg
ICAgICAjIERvbid0IGJ1aWxkIGZpbGVzIG5lZWRlZCBmb3IgV2ViQXJjaGl2ZSBzdXBwb3J0LCBz
aW5jZSB3ZSBkaXNhYmxlCisgICAgICAgICMgdGhpcyBmZWF0dXJlLgorICAgICAgICBbJ2V4Y2x1
ZGUnLCAnbG9hZGVyL2FyY2hpdmUvY2YvTGVnYWN5V2ViQXJjaGl2ZVxcLmNwcCQnXSwKKyAgICAg
ICAgWydleGNsdWRlJywgJ2xvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmVNYWNcXC5t
bSQnXSwKKyAgICAgICAgWydleGNsdWRlJywgJ2xvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5
XFwuY3BwJCddLAorCiAgICAgICAgICMgVXNlIGxvYWRlci9pY29uL0ljb25EYXRhYmFzZU5vbmUu
Y3BwIGluc3RlYWQuCiAgICAgICAgIFsnZXhjbHVkZScsICdsb2FkZXIvaWNvbi9JY29uRGF0YWJh
c2VcXC5jcHAkJ10sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOGY3NTdjZjk2N2JkZDZmNjQ3OWViOThk
NGQ2YzMwMzMxM2Y0OGNhOC4uNzQ4YzAzMjYzYTA1MzhkZmNjN2MwY2U4MGIwMGQzNTg3N2FmMmQx
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5wcm8KQEAgLTEwOTEsNyArMTA5MSw2IEBAIFNPVVJDRVMgKz0gXAogICAg
IGluc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwIFwKICAgICBpbnNwZWN0b3IvU2NyaXB0Q2Fs
bFN0YWNrLmNwcCBcCiAgICAgaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgXAot
ICAgIGxvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5LmNwcCBcCiAgICAgbG9hZGVyL2FyY2hp
dmUvQXJjaGl2ZVJlc291cmNlLmNwcCBcCiAgICAgbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbi5jcHAgXAogICAgIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAgXApA
QCAtMjAxMCw3ICsyMDA5LDYgQEAgSEVBREVSUyArPSBcCiAgICAgbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggXAogICAgIGxvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNh
dGlvbkNhY2hlLmggXAogICAgIGxvYWRlci9hcHBjYWNoZS9NYW5pZmVzdFBhcnNlci5oIFwKLSAg
ICBsb2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9yeS5oIFwKICAgICBsb2FkZXIvYXJjaGl2ZS9B
cmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmggXAogICAgIGxvYWRlci9hcmNoaXZlL0FyY2hpdmVS
ZXNvdXJjZS5oIFwKICAgICBsb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5oIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDIwN2MyYjA3OTI2ZmFi
NDUwZDk3NjJhMWU3NTQ3ZjY1MmM1MjViOWYuLmU4YTdjNDFmMGJlNzU1OWM0ZjU0OGI2NTgxZjU1
OThkYjFiOGQxMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApA
QCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAKICNpbmNsdWRl
ICJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgotI2luY2x1ZGUgIkFyY2hpdmVGYWN0b3J5LmgiCiAj
aW5jbHVkZSAiQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oIgogI2luY2x1ZGUgIkNhY2hlZFBh
Z2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgpAQCAtNTUsNiArNTQsMTAg
QEAKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUv
VW5pY29kZS5oPgogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQorI2luY2x1ZGUgIkFyY2hpdmVG
YWN0b3J5LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgdm9pZCBj
YW5jZWxBbGwoY29uc3QgUmVzb3VyY2VMb2FkZXJTZXQmIGxvYWRlcnMpCkBAIC0yOTIsOCArMjk1
LDEwIEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNvbW1pdExvYWQoY29uc3QgY2hhciogZGF0YSwg
aW50IGxlbmd0aCkKICAgICBGcmFtZUxvYWRlciogZnJhbWVMb2FkZXIgPSBEb2N1bWVudExvYWRl
cjo6ZnJhbWVMb2FkZXIoKTsKICAgICBpZiAoIWZyYW1lTG9hZGVyKQogICAgICAgICByZXR1cm47
CisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogICAgIGlmIChBcmNoaXZlRmFjdG9yeTo6aXNBcmNo
aXZlTWltZVR5cGUocmVzcG9uc2UoKS5taW1lVHlwZSgpKSkKICAgICAgICAgcmV0dXJuOworI2Vu
ZGlmCiAgICAgZnJhbWVMb2FkZXItPmNsaWVudCgpLT5jb21taXR0ZWRMb2FkKHRoaXMsIGRhdGEs
IGxlbmd0aCk7CiB9CiAKQEAgLTM1MCw3ICszNTUsOSBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpz
ZXR1cEZvclJlcGxhY2VCeU1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbmV3TUlNRVR5cGUpCiAgICAg
CiAgICAgc3RvcExvYWRpbmdTdWJyZXNvdXJjZXMoKTsKICAgICBzdG9wTG9hZGluZ1BsdWdJbnMo
KTsKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgY2xlYXJBcmNoaXZlUmVzb3VyY2VzKCk7
CisjZW5kaWYKIH0KIAogdm9pZCBEb2N1bWVudExvYWRlcjo6dXBkYXRlTG9hZGluZygpCkBAIC00
MzgsNiArNDQ1LDcgQEAgYm9vbCBEb2N1bWVudExvYWRlcjo6aXNMb2FkaW5nSW5BUElTZW5zZSgp
IGNvbnN0CiAgICAgcmV0dXJuIGZyYW1lTG9hZGVyKCktPnN1YmZyYW1lSXNMb2FkaW5nKCk7CiB9
CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiB2b2lkIERvY3VtZW50TG9hZGVyOjphZGRBbGxB
cmNoaXZlUmVzb3VyY2VzKEFyY2hpdmUqIGFyY2hpdmUpCiB7CiAgICAgaWYgKCFtX2FyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24pCkBAIC00NjQsMTYgKzQ3Miw2IEBAIHZvaWQgRG9jdW1lbnRMb2Fk
ZXI6OmFkZEFyY2hpdmVSZXNvdXJjZShQYXNzUmVmUHRyPEFyY2hpdmVSZXNvdXJjZT4gcmVzb3Vy
Y2UpCiAgICAgbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLT5hZGRSZXNvdXJjZShyZXNvdXJj
ZSk7CiB9CiAKLUFyY2hpdmVSZXNvdXJjZSogRG9jdW1lbnRMb2FkZXI6OmFyY2hpdmVSZXNvdXJj
ZUZvclVSTChjb25zdCBLVVJMJiB1cmwpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2FyY2hpdmVSZXNv
dXJjZUNvbGxlY3Rpb24pCi0gICAgICAgIHJldHVybiAwOwotICAgICAgICAKLSAgICBBcmNoaXZl
UmVzb3VyY2UqIHJlc291cmNlID0gbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLT5hcmNoaXZl
UmVzb3VyY2VGb3JVUkwodXJsKTsKLQotICAgIHJldHVybiByZXNvdXJjZSAmJiAhcmVzb3VyY2Ut
PnNob3VsZElnbm9yZVdoZW5VbmFyY2hpdmluZygpID8gcmVzb3VyY2UgOiAwOwotfQotCiBQYXNz
UmVmUHRyPEFyY2hpdmU+IERvY3VtZW50TG9hZGVyOjpwb3BBcmNoaXZlRm9yU3ViZnJhbWUoY29u
c3QgU3RyaW5nJiBmcmFtZU5hbWUpCiB7CiAgICAgcmV0dXJuIG1fYXJjaGl2ZVJlc291cmNlQ29s
bGVjdGlvbiA/IG1fYXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi0+cG9wU3ViZnJhbWVBcmNoaXZl
KGZyYW1lTmFtZSkgOiAwOwpAQCAtNDk0LDYgKzQ5MiwxNyBAQCBTaGFyZWRCdWZmZXIqIERvY3Vt
ZW50TG9hZGVyOjpwYXJzZWRBcmNoaXZlRGF0YSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fcGFy
c2VkQXJjaGl2ZURhdGEuZ2V0KCk7CiB9CisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BUkNISVZFKQor
CitBcmNoaXZlUmVzb3VyY2UqIERvY3VtZW50TG9hZGVyOjphcmNoaXZlUmVzb3VyY2VGb3JVUkwo
Y29uc3QgS1VSTCYgdXJsKSBjb25zdAoreworICAgIGlmICghbV9hcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uKQorICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgCisgICAgQXJjaGl2ZVJlc291cmNl
KiByZXNvdXJjZSA9IG1fYXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi0+YXJjaGl2ZVJlc291cmNl
Rm9yVVJMKHVybCk7CisKKyAgICByZXR1cm4gcmVzb3VyY2UgJiYgIXJlc291cmNlLT5zaG91bGRJ
Z25vcmVXaGVuVW5hcmNoaXZpbmcoKSA/IHJlc291cmNlIDogMDsKK30KIAogUGFzc1JlZlB0cjxB
cmNoaXZlUmVzb3VyY2U+IERvY3VtZW50TG9hZGVyOjptYWluUmVzb3VyY2UoKSBjb25zdAogewpA
QCAtNjAxLDYgKzYxMCw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNhbmNlbFBlbmRpbmdTdWJz
dGl0dXRlTG9hZChSZXNvdXJjZUxvYWRlciogbG9hZGVyKQogICAgICAgICBtX3N1YnN0aXR1dGVS
ZXNvdXJjZURlbGl2ZXJ5VGltZXIuc3RvcCgpOwogfQogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZF
KQogYm9vbCBEb2N1bWVudExvYWRlcjo6c2NoZWR1bGVBcmNoaXZlTG9hZChSZXNvdXJjZUxvYWRl
ciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEtVUkwmIG9y
aWdpbmFsVVJMKQogewogICAgIEFyY2hpdmVSZXNvdXJjZSogcmVzb3VyY2UgPSAwOwpAQCAtNjIx
LDYgKzYzMSw3IEBAIGJvb2wgRG9jdW1lbnRMb2FkZXI6OnNjaGVkdWxlQXJjaGl2ZUxvYWQoUmVz
b3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSCiAgICAgCiAgICAgcmV0dXJuIHRy
dWU7CiB9CisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BUkNISVZFKQogCiB2b2lkIERvY3VtZW50TG9h
ZGVyOjphZGRSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAppbmRleCBjZGQ1ZDkzMjg3YWM1MjU0MzFiODcxMzIz
ZTg1ODY2ZjgzOTI0MjA1Li5iOTJiMzg0MjBlMWRhZjNiMWVjMGZiNjU0NGMzYzdjODRhZGQzZjdh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaApAQCAtNDQsNyArNDQsOSBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZUhvc3Q7
CisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogICAgIGNsYXNzIEFyY2hpdmU7CisjZW5kaWYKICAg
ICBjbGFzcyBBcmNoaXZlUmVzb3VyY2U7CiAgICAgY2xhc3MgQXJjaGl2ZVJlc291cmNlQ29sbGVj
dGlvbjsKICAgICBjbGFzcyBGcmFtZTsKQEAgLTEyNywyNCArMTI5LDI5IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCB1bnNjaGVkdWxlKFNjaGVkdWxlUGFpciopOwogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgICAgIHZvaWQgYWRkQWxsQXJjaGl2ZVJl
c291cmNlcyhBcmNoaXZlKik7CiAgICAgICAgIHZvaWQgYWRkQXJjaGl2ZVJlc291cmNlKFBhc3NS
ZWZQdHI8QXJjaGl2ZVJlc291cmNlPik7CiAgICAgICAgIAotICAgICAgICAvLyBSZXR1cm4gYW4g
QXJjaGl2ZVJlc291cmNlIGZvciB0aGUgVVJMLCBlaXRoZXIgY3JlYXRpbmcgZnJvbSBsaXZlIGRh
dGEgb3IKLSAgICAgICAgLy8gcHVsbGluZyBmcm9tIHRoZSBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0
aW9uCi0gICAgICAgIFBhc3NSZWZQdHI8QXJjaGl2ZVJlc291cmNlPiBzdWJyZXNvdXJjZShjb25z
dCBLVVJMJikgY29uc3Q7Ci0gICAgICAgIC8vIFJldHVybiB0aGUgQXJjaGl2ZVJlc291cmNlIGZv
ciB0aGUgVVJMIG9ubHkgd2hlbiBsb2FkaW5nIGFuIEFyY2hpdmUKLSAgICAgICAgQXJjaGl2ZVJl
c291cmNlKiBhcmNoaXZlUmVzb3VyY2VGb3JVUkwoY29uc3QgS1VSTCYpIGNvbnN0OwotICAgICAg
ICAKICAgICAgICAgUGFzc1JlZlB0cjxBcmNoaXZlPiBwb3BBcmNoaXZlRm9yU3ViZnJhbWUoY29u
c3QgU3RyaW5nJiBmcmFtZU5hbWUpOwogICAgICAgICB2b2lkIGNsZWFyQXJjaGl2ZVJlc291cmNl
cygpOwogICAgICAgICB2b2lkIHNldFBhcnNlZEFyY2hpdmVEYXRhKFBhc3NSZWZQdHI8U2hhcmVk
QnVmZmVyPik7CiAgICAgICAgIFNoYXJlZEJ1ZmZlciogcGFyc2VkQXJjaGl2ZURhdGEoKSBjb25z
dDsKICAgICAgICAgCisgICAgICAgIGJvb2wgc2NoZWR1bGVBcmNoaXZlTG9hZChSZXNvdXJjZUxv
YWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IEtVUkwmKTsKKyNlbmRpZiAvLyBF
TkFCTEUoV0VCX0FSQ0hJVkUpCisKKyAgICAgICAgLy8gUmV0dXJuIHRoZSBBcmNoaXZlUmVzb3Vy
Y2UgZm9yIHRoZSBVUkwgb25seSB3aGVuIGxvYWRpbmcgYW4gQXJjaGl2ZQorICAgICAgICBBcmNo
aXZlUmVzb3VyY2UqIGFyY2hpdmVSZXNvdXJjZUZvclVSTChjb25zdCBLVVJMJikgY29uc3Q7CisK
ICAgICAgICAgUGFzc1JlZlB0cjxBcmNoaXZlUmVzb3VyY2U+IG1haW5SZXNvdXJjZSgpIGNvbnN0
OworCisgICAgICAgIC8vIFJldHVybiBhbiBBcmNoaXZlUmVzb3VyY2UgZm9yIHRoZSBVUkwsIGVp
dGhlciBjcmVhdGluZyBmcm9tIGxpdmUgZGF0YSBvcgorICAgICAgICAvLyBwdWxsaW5nIGZyb20g
dGhlIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24KKyAgICAgICAgUGFzc1JlZlB0cjxBcmNoaXZl
UmVzb3VyY2U+IHN1YnJlc291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKICAgICAgICAgdm9pZCBn
ZXRTdWJyZXNvdXJjZXMoVmVjdG9yPFBhc3NSZWZQdHI8QXJjaGl2ZVJlc291cmNlPiA+JikgY29u
c3Q7Ci0gICAgICAgIAotICAgICAgICBib29sIHNjaGVkdWxlQXJjaGl2ZUxvYWQoUmVzb3VyY2VM
b2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBLVVJMJik7CisKKwogI2lmbmRl
ZiBOREVCVUcKICAgICAgICAgYm9vbCBpc1N1YnN0aXR1dGVMb2FkUGVuZGluZyhSZXNvdXJjZUxv
YWRlciopIGNvbnN0OwogI2VuZGlmCkBAIC0zMDYsOSArMzEzLDExIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxSZXNvdXJjZUxvYWRlcj4sIFJl
ZlB0cjxTdWJzdGl0dXRlUmVzb3VyY2U+ID4gU3Vic3RpdHV0ZVJlc291cmNlTWFwOwogICAgICAg
ICBTdWJzdGl0dXRlUmVzb3VyY2VNYXAgbV9wZW5kaW5nU3Vic3RpdHV0ZVJlc291cmNlczsKICAg
ICAgICAgVGltZXI8RG9jdW1lbnRMb2FkZXI+IG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlU
aW1lcjsKLSAgICAgICAgICAgICAgICAKKwogICAgICAgICBPd25QdHI8QXJjaGl2ZVJlc291cmNl
Q29sbGVjdGlvbj4gbV9hcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uOworI2lmIEVOQUJMRShXRUJf
QVJDSElWRSkKICAgICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbV9wYXJzZWRBcmNoaXZlRGF0
YTsKKyNlbmRpZgogCiAgICAgICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3Jlc291cmNlc0NsaWVudEtu
b3dzQWJvdXQ7CiAgICAgICAgIFZlY3RvcjxTdHJpbmc+IG1fcmVzb3VyY2VzTG9hZGVkRnJvbU1l
bW9yeUNhY2hlRm9yQ2xpZW50Tm90aWZpY2F0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKaW5kZXggOTU5N2Y3MmY3OGY5ZjU0MWUwNzU1OTNlZWVjNmM0OWFmODhjMDBmYi4u
ZjNhY2ViOTAzYzAwMWNiNmVlNzYyYTlmZGJhMjkyNGU4NTllNDM1MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0zNCw4ICszNCw2IEBACiAjaW5jbHVkZSAiRnJhbWVM
b2FkZXIuaCIKIAogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCi0jaW5jbHVkZSAi
QXJjaGl2ZS5oIgotI2luY2x1ZGUgIkFyY2hpdmVGYWN0b3J5LmgiCiAjaW5jbHVkZSAiQmFja0Zv
cndhcmRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiQmVmb3JlVW5sb2FkRXZlbnQuaCIKICNpbmNs
dWRlICJNZW1vcnlDYWNoZS5oIgpAQCAtMTEzLDYgKzExMSwxMSBAQAogI2luY2x1ZGUgIlNWR1Zp
ZXdTcGVjLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKKyNpbmNsdWRlICJB
cmNoaXZlLmgiCisjaW5jbHVkZSAiQXJjaGl2ZUZhY3RvcnkuaCIKKyNlbmRpZgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CkBAIC05MTEsMTEgKzkx
NCwxMyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkVVJMSW50b0NoaWxkRnJhbWUoY29uc3QgS1VS
TCYgdXJsLCBjb25zdCBTdHJpbmcmIHJlZmVyZXIsCiB7CiAgICAgQVNTRVJUKGNoaWxkRnJhbWUp
OwogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogICAgIFJlZlB0cjxBcmNoaXZlPiBzdWJmcmFt
ZUFyY2hpdmUgPSBhY3RpdmVEb2N1bWVudExvYWRlcigpLT5wb3BBcmNoaXZlRm9yU3ViZnJhbWUo
Y2hpbGRGcmFtZS0+dHJlZSgpLT51bmlxdWVOYW1lKCkpOyAgICAKICAgICBpZiAoc3ViZnJhbWVB
cmNoaXZlKSB7CiAgICAgICAgIGNoaWxkRnJhbWUtPmxvYWRlcigpLT5sb2FkQXJjaGl2ZShzdWJm
cmFtZUFyY2hpdmUucmVsZWFzZSgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyNlbmRpZiAv
LyBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAKICAgICBIaXN0b3J5SXRlbSogcGFyZW50SXRlbSA9IGhp
c3RvcnkoKS0+Y3VycmVudEl0ZW0oKTsKICAgICAvLyBJZiB3ZSdyZSBtb3ZpbmcgaW4gdGhlIGJh
Y2svZm9yd2FyZCBsaXN0LCB3ZSBtaWdodCB3YW50IHRvIHJlcGxhY2UgdGhlIGNvbnRlbnQKQEAg
LTkzMSw2ICs5MzYsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkVVJMSW50b0NoaWxkRnJhbWUo
Y29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHJlZmVyZXIsCiAgICAgY2hpbGRGcmFtZS0+
bG9hZGVyKCktPmxvYWRVUkwodXJsLCByZWZlcmVyLCBTdHJpbmcoKSwgZmFsc2UsIEZyYW1lTG9h
ZFR5cGVSZWRpcmVjdFdpdGhMb2NrZWRCYWNrRm9yd2FyZExpc3QsIDAsIDApOwogfQogCisjaWYg
RU5BQkxFKFdFQl9BUkNISVZFKQogdm9pZCBGcmFtZUxvYWRlcjo6bG9hZEFyY2hpdmUoUGFzc1Jl
ZlB0cjxBcmNoaXZlPiBwcnBBcmNoaXZlKQogewogICAgIFJlZlB0cjxBcmNoaXZlPiBhcmNoaXZl
ID0gcHJwQXJjaGl2ZTsKQEAgLTk1MSw2ICs5NTcsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2Fk
QXJjaGl2ZShQYXNzUmVmUHRyPEFyY2hpdmU+IHBycEFyY2hpdmUpCiAgICAgZG9jdW1lbnRMb2Fk
ZXItPmFkZEFsbEFyY2hpdmVSZXNvdXJjZXMoYXJjaGl2ZS5nZXQoKSk7CiAgICAgbG9hZChkb2N1
bWVudExvYWRlci5nZXQoKSk7CiB9CisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BUkNISVZFKQogCiBP
YmplY3RDb250ZW50VHlwZSBGcmFtZUxvYWRlcjo6ZGVmYXVsdE9iamVjdENvbnRlbnRUeXBlKGNv
bnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZUluKQogewpAQCAtMTcxMSw4ICsx
NzE4LDEwIEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0b3BBbGxMb2FkZXJzKERhdGFiYXNlUG9saWN5
IGRhdGFiYXNlUG9saWN5LCBDbGVhclByb3Zpc2lvbmFsCiAKICAgICBzZXRQcm92aXNpb25hbERv
Y3VtZW50TG9hZGVyKDApOwogICAgIAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICBpZiAo
bV9kb2N1bWVudExvYWRlcikKICAgICAgICAgbV9kb2N1bWVudExvYWRlci0+Y2xlYXJBcmNoaXZl
UmVzb3VyY2VzKCk7CisjZW5kaWYKIAogICAgIG1fY2hlY2tUaW1lci5zdG9wKCk7CiAKQEAgLTIy
MjgsNiArMjIzNyw5IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmZpbmlzaGVkTG9hZGluZ0RvY3VtZW50
KERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgICAgIHJldHVybjsKICNlbmRpZgogCisjaWYg
IUVOQUJMRShXRUJfQVJDSElWRSkKKyAgICBtX2NsaWVudC0+ZmluaXNoZWRMb2FkaW5nKGxvYWRl
cik7CisjZWxzZQogICAgIC8vIEdpdmUgYXJjaGl2ZSBtYWNoaW5lcnkgYSBjcmFjayBhdCB0aGlz
IGRvY3VtZW50LiBJZiB0aGUgTUlNRSB0eXBlIGlzIG5vdCBhbiBhcmNoaXZlIHR5cGUsIGl0IHdp
bGwgcmV0dXJuIDAuCiAgICAgUmVmUHRyPEFyY2hpdmU+IGFyY2hpdmUgPSBBcmNoaXZlRmFjdG9y
eTo6Y3JlYXRlKGxvYWRlci0+bWFpblJlc291cmNlRGF0YSgpLmdldCgpLCBsb2FkZXItPnJlc3Bv
bnNlTUlNRVR5cGUoKSk7CiAgICAgaWYgKCFhcmNoaXZlKSB7CkBAIC0yMjUyLDYgKzIyNjQsNyBA
QCB2b2lkIEZyYW1lTG9hZGVyOjpmaW5pc2hlZExvYWRpbmdEb2N1bWVudChEb2N1bWVudExvYWRl
ciogbG9hZGVyKQogICAgIGJvb2wgZW5jb2RpbmdJc1VzZXJDaG9zZW4gPSAhdXNlckNob3NlbkVu
Y29kaW5nLmlzTnVsbCgpOwogICAgIGxvYWRlci0+d3JpdGVyKCktPnNldEVuY29kaW5nKGVuY29k
aW5nSXNVc2VyQ2hvc2VuID8gdXNlckNob3NlbkVuY29kaW5nIDogbWFpblJlc291cmNlLT50ZXh0
RW5jb2RpbmcoKSwgZW5jb2RpbmdJc1VzZXJDaG9zZW4pOwogICAgIGxvYWRlci0+d3JpdGVyKCkt
PmFkZERhdGEobWFpblJlc291cmNlLT5kYXRhKCktPmRhdGEoKSwgbWFpblJlc291cmNlLT5kYXRh
KCktPnNpemUoKSk7CisjZW5kaWYgLy8gRU5BQkxFKFdFQl9BUkNISVZFKQogfQogCiBib29sIEZy
YW1lTG9hZGVyOjppc1JlcGxhY2luZygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCmluZGV4IDQ0YTU0ZjU2MDdkNzgxYjMzYTFkMjAxYWFlNzBjNjMzOGQxNWQ1YWQuLmJiNjA1
ZTcyODI2YWQzOTY3MjFlNzgyZmRlMDdjNmM0MWE3MGZhMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5oCkBAIC0xMTYsOCArMTE2LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGxvYWQo
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgYm9vbCBsb2NrSGlzdG9yeSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENhbGxlZCBieSBXZWJGcmFtZSwgY2FsbHMgbG9h
ZChSZXNvdXJjZVJlcXVlc3QsIFN1YnN0aXR1dGVEYXRhKS4KICAgICB2b2lkIGxvYWQoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3Vic3RpdHV0ZURhdGEmLCBib29sIGxvY2tIaXN0b3J5
KTsgICAgICAgICAgICAgICAgIC8vIENhbGxlZCBib3RoIGJ5IFdlYkZyYW1lIGFuZCBpbnRlcm5h
bGx5LCBjYWxscyBsb2FkKERvY3VtZW50TG9hZGVyKikuCiAgICAgdm9pZCBsb2FkKGNvbnN0IFJl
c291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBib29sIGxvY2tIaXN0b3J5
KTsgICAgICAgICAgICAgICAvLyBDYWxsZWQgYnkgV2ViUGx1Z2luQ29udHJvbGxlci4KLSAgICAK
KworI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAgICB2b2lkIGxvYWRBcmNoaXZlKFBhc3NSZWZQ
dHI8QXJjaGl2ZT4pOworI2VuZGlmCiAKICAgICBzdGF0aWMgdm9pZCByZXBvcnRMb2NhbExvYWRG
YWlsZWQoRnJhbWUqLCBjb25zdCBTdHJpbmcmIHVybCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDQyY2UwMTZiODVkNWMwOWRkYzk1MjhiN2VjOWJlZGMz
NGRiN2E0MjQuLmUwOGUxOTA2YTA5NTVmYjQ0MzQxOWQ2NWI4YzYwNjJhODVjZGQwNjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMTQ1LDggKzE0NSwxMCBA
QCB2b2lkIFJlc291cmNlTG9hZGVyOjpzdGFydCgpCiAgICAgQVNTRVJUKCFtX3JlcXVlc3QuaXNO
dWxsKCkpOwogICAgIEFTU0VSVChtX2RlZmVycmVkUmVxdWVzdC5pc051bGwoKSk7CiAKKyNpZiBF
TkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgaWYgKG1fZG9jdW1lbnRMb2FkZXItPnNjaGVkdWxlQXJj
aGl2ZUxvYWQodGhpcywgbV9yZXF1ZXN0LCBtX3JlcXVlc3QudXJsKCkpKQogICAgICAgICByZXR1
cm47CisjZW5kaWYKICAgICAKICNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQog
ICAgIGlmIChtX2RvY3VtZW50TG9hZGVyLT5hcHBsaWNhdGlvbkNhY2hlSG9zdCgpLT5tYXliZUxv
YWRSZXNvdXJjZSh0aGlzLCBtX3JlcXVlc3QsIG1fcmVxdWVzdC51cmwoKSkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9yeS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9yeS5jcHAKaW5kZXggMmUxMDhj
NTQ5NDZhYjA2MDcyZmQ1YmE4Y2YyNGM5NmEyYzliNjU2MC4uYjAyYjgzMTA0MThmYzI3ZDM4YjE3
NzA0ZWM0MDk5OGMyOTNiMzA2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fy
Y2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNo
aXZlL0FyY2hpdmVGYWN0b3J5LmNwcApAQCAtNjAsNyArNjAsNyBAQCBzdGF0aWMgQXJjaGl2ZU1J
TUVUeXBlc01hcCYgYXJjaGl2ZU1JTUVUeXBlcygpCiAgICAgaWYgKGluaXRpYWxpemVkKQogICAg
ICAgICByZXR1cm4gbWltZVR5cGVzOwogCi0jaWYgUExBVEZPUk0oQ0YpICYmICFQTEFURk9STShR
VCkKKyNpZiBQTEFURk9STShDRikKICAgICBtaW1lVHlwZXMuc2V0KCJhcHBsaWNhdGlvbi94LXdl
YmFyY2hpdmUiLCBhcmNoaXZlRmFjdG9yeUNyZWF0ZTxMZWdhY3lXZWJBcmNoaXZlPik7CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCBiMzg2MTFlNmQxNjdkMjU3Y2JiNGMw
NmRhODM3NDA2ZWE4MDdmZGFjLi44ZDYwODEyZTc4MzZiNzc1YWFmZTNlYjIxNjIyZmEwNjE5OGM2
NjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtNTExLDEwICs1MTEsMTIgQEAgdm9p
ZCBTZXR0aW5nczo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQpCiAgICAgbV9mcmFtZUZsYXR0ZW5pbmdFbmFibGVkID0gZnJhbWVGbGF0dGVuaW5n
RW5hYmxlZDsKIH0KIAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKIHZvaWQgU2V0dGluZ3M6OnNl
dFdlYkFyY2hpdmVEZWJ1Z01vZGVFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAgICBtX3dlYkFy
Y2hpdmVEZWJ1Z01vZGVFbmFibGVkID0gZW5hYmxlZDsKIH0KKyNlbmRpZgogCiB2b2lkIFNldHRp
bmdzOjpzZXRMb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCBiMWE3MzE3MTI4OWY0NDYxOTlmOTljYzFjZTk0MDcy
MjFiNGVlYjAzLi4zZmM1YmJjZDAwZWFkOWFlZjM4ZGY3ZGEyZWE4MDllMmJjZmJjMmM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0yMzQsOSArMjM0LDExIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgICAgICB2b2lkIHNldE5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKGJvb2wpOwogICAg
ICAgICBib29sIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKCkgY29uc3QgeyByZXR1cm4gbV9uZWVk
c1NpdGVTcGVjaWZpY1F1aXJrczsgfQotICAgICAgICAKKworI2lmIEVOQUJMRShXRUJfQVJDSElW
RSkKICAgICAgICAgdm9pZCBzZXRXZWJBcmNoaXZlRGVidWdNb2RlRW5hYmxlZChib29sKTsKICAg
ICAgICAgYm9vbCB3ZWJBcmNoaXZlRGVidWdNb2RlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
d2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQ7IH0KKyNlbmRpZgogCiAgICAgICAgIHZvaWQgc2V0
TG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZChib29sKTsKICAgICAgICAgYm9vbCBsb2Nh
bEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9sb2NhbEZpbGVD
b250ZW50U25pZmZpbmdFbmFibGVkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVU
eXBlUmVnaXN0cnkuY3BwCmluZGV4IDcxMzM5NWI2YzRhYWIxZDlmNzFmZGM5YTYxOThhN2JjNmI3
YzI3N2UuLjNkNzY5ZGU4OGVkM2EwOGNjMDVjZTJmZGNjMzNjM2E2YTgwZDgxZDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCkBAIC0yNyw3ICsyNyw2
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgog
Ci0jaW5jbHVkZSAiQXJjaGl2ZUZhY3RvcnkuaCIKICNpbmNsdWRlICJNZWRpYVBsYXllci5oIgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KQEAgLTQ0
LDYgKzQzLDEwIEBACiAjaW5jbHVkZSA8cWltYWdld3JpdGVyLmg+CiAjZW5kaWYKIAorI2lmIEVO
QUJMRShXRUJfQVJDSElWRSkKKyNpbmNsdWRlICJBcmNoaXZlRmFjdG9yeS5oIgorI2VuZGlmCisK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiogc3VwcG9ydGVk
SW1hZ2VSZXNvdXJjZU1JTUVUeXBlczsKQEAgLTIyNSw3ICsyMjgsOSBAQCBzdGF0aWMgdm9pZCBp
bml0aWFsaXplU3VwcG9ydGVkTm9uSW1hZ2VNaW1lVHlwZXMoKQogICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgV1RGX0FSUkFZX0xFTkdUSCh0eXBlcyk7ICsraSkKICAgICAgICAgc3VwcG9ydGVk
Tm9uSW1hZ2VNSU1FVHlwZXMtPmFkZCh0eXBlc1tpXSk7CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJ
VkUpCiAgICAgQXJjaGl2ZUZhY3Rvcnk6OnJlZ2lzdGVyS25vd25BcmNoaXZlTUlNRVR5cGVzKCk7
CisjZW5kaWYKIH0KIAogc3RhdGljIE1lZGlhTUlNRVR5cGVNYXAmIG1lZGlhTUlNRVR5cGVNYXAo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IGFjNTRiYzNkMDFjMDlmZGE4NDMxZmExYWY1NzYzM2RkN2M1ZTNkNTIu
Ljg3MmFiMjA4NGI4YjFlYmVjMjU1NTU0ZGEyN2JmNWRmMTg0NWIxODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxMS0wMS0zMSAgSmVyZW15IE1vc2tvdmljaCAgPGplcmVteUBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGEgY29tcGlsZS10aW1lIG9wdGlvbiB0byBjb21wbGV0ZWx5IGRpc2FibGUgV2ViQXJj
aGl2ZSBzdXBwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTI3MTIKKworICAgICAgICBBZGQgYW4gRU5BQkxFKFdFQl9BUkNISVZFKSBjb21waWxl
LXRpbWUgc2V0dGluZyBhbmQgdXNlIGl0IGZvciBhbGwgV2ViQXJjaGl2ZSBjb2RlLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTEtMDItMTEgIEFsZXhleSBQcm9za3Vy
eWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxz
c29uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IDFhYTdmNTRkOGE4ZTMyZDdmM2E1ZTk0MThhZTFkZmQ1Y2ViMTYwYWMuLmJlYzRjNTQ3ODMw
YjJlZmE5Njc2OGNmMWViMzA3ZGY1ZDY0ODFlNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEzNDQsNyArMTM0NCw5IEBAIHZvaWQgV2Vi
UGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUp
CiAgICAgc2V0dGluZ3MtPnNldEphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHko
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpqYXZhU2NyaXB0Q2Fu
T3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5S2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0Rm9yY2VG
VFBEaXJlY3RvcnlMaXN0aW5ncyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5j
ZXNLZXk6OmZvcmNlRlRQRGlyZWN0b3J5TGlzdGluZ3NLZXkoKSkpOwogICAgIHNldHRpbmdzLT5z
ZXRETlNQcmVmZXRjaGluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5OjpkbnNQcmVmZXRjaGluZ0VuYWJsZWRLZXkoKSkpOworI2lmIEVOQUJMRShXRUJf
QVJDSElWRSkKICAgICBzZXR0aW5ncy0+c2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQoc3Rv
cmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp3ZWJBcmNoaXZlRGVidWdN
b2RlRW5hYmxlZEtleSgpKSk7CisjZW5kaWYKICAgICBzZXR0aW5ncy0+c2V0TG9jYWxGaWxlQ29u
dGVudFNuaWZmaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5j
ZXNLZXk6OmxvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWRLZXkoKSkpOwogICAgIHNldHRp
bmdzLT5zZXRVc2VzUGFnZUNhY2hlKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6dXNlc1BhZ2VDYWNoZUtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldEF1dGhvckFu
ZFVzZXJTdHlsZXNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNl
c0tleTo6YXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWRLZXkoKSkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82252</attachid>
            <date>2011-02-12 23:57:33 -0800</date>
            <delta_ts>2011-02-13 12:28:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52712-20110213095730.patch</filename>
            <type>text/plain</type>
            <size>23114</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg0MjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGUz
ZDM0NWNhYWM0NjliMjRlNTU0OTI0YzFmZDNhNjFlMjEyOGIyMzEuLjVlODRlM2JlNzUyZGNkMjJk
OGUxOTBiZDQyMDZmMzQ5NDdiNWEyNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDExLTAxLTMwICBKZXJlbXkgTW9za292aWNoICA8amVyZW15QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIEFkZCBh
IGNvbXBpbGUtdGltZSBvcHRpb24gdG8gY29tcGxldGVseSBkaXNhYmxlIFdlYkFyY2hpdmUgc3Vw
cG9ydC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUy
NzEyCisKKyAgICAgICAgQWRkIGFuIEVOQUJMRShXRUJfQVJDSElWRSkgY29tcGlsZS10aW1lIHNl
dHRpbmcgYW5kIHVzZSBpdCBmb3IgYWxsIFdlYkFyY2hpdmUgY29kZS4KKyAgICAgICAgUG9ydHMg
QWZmZWN0ZWQ6CisgICAgICAgICAgICBXZWJBcmNoaXZlIHN1cHBvcnQgaXMgY3VycmVudGx5IGVu
YWJsZWQgZm9yIGFsbCBwb3J0cyB0aGF0IGRlZmluZSBQTEFURk9STShDRikgYXBhcnQgZnJvbSBR
dC4KKyAgICAgICAgICAgIFRoaXMgcGF0Y2ggcHJlc2VydmVzIHRoaXMgYmVoYXZpb3IgZXhjZXB0
IHRoYXQgaXQgYWxzbyBkaXNhYmxlcyBzdXBwb3J0IGluIHRoZSBDaHJvbWl1bSBwb3J0LgorCisg
ICAgICAgICogd3RmL1BsYXRmb3JtLmg6IEFkZCBFTkFCTEVfV0VCX0FSQ0hJVkUgZGVmaW5pdGlv
biBhbmQgdHVybiBpdCBvZmYgZXhwbGljaXRseSBmb3IgUXQgJiBDaHJvbWl1bSBwb3J0cy4KKwog
MjAxMS0wMi0xMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE1hcmsgUm93ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRl
eCBkMDM2NTk2YjgzYmYxYjAwYTgwOGY1NmI3Y2YzNTVkMWI2ZjI1ZTJhLi4xOTNiNzZkZDgwYjky
Y2NiZThjOGZkYjVmNmVjY2ZjNTA5ZjM5ZjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0
Zm9ybS5oCkBAIC02MjIsNiArNjIyLDcgQEAKICNkZWZpbmUgSEFWRV9SVU5MT09QX1RJTUVSIDEK
ICNkZWZpbmUgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIDEKICNkZWZpbmUgRU5BQkxFX1NNT09USF9T
Q1JPTExJTkcgMQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQogI2VuZGlmIC8qIFBMQVRG
T1JNKE1BQykgJiYgIVBMQVRGT1JNKElPUykgKi8KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTY2
Miw2ICs2NjMsNyBAQAogI2RlZmluZSBXVEZfUExBVEZPUk1fQ0YgMQogI2RlZmluZSBXVEZfVVNF
X1BUSFJFQURTIDEKICNkZWZpbmUgSEFWRV9QVEhSRUFEX1JXTE9DSyAxCisjZGVmaW5lIEVOQUJM
RV9XRUJfQVJDSElWRSAxCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKEFORFJPSUQpCkBAIC02ODQs
NiArNjg2LDEwIEBACiAjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMAogI2VuZGlmCiAKKyNpZiBQ
TEFURk9STShXSU4pICYmICFPUyhXSU5DRSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiAhUExB
VEZPUk0oUVQpCisjZGVmaW5lIEVOQUJMRV9XRUJfQVJDSElWRSAxCisjZW5kaWYKKwogI2lmIFBM
QVRGT1JNKFdYKQogI2RlZmluZSBFTkFCTEVfQVNTRU1CTEVSIDEKICNkZWZpbmUgRU5BQkxFX0dM
T0JBTF9GQVNUTUFMTE9DX05FVyAwCkBAIC02OTEsNiArNjk3LDcgQEAKICNkZWZpbmUgV1RGX1BM
QVRGT1JNX0NGIDEKICNpZm5kZWYgQlVJTERJTkdfT05fVElHRVIKICNkZWZpbmUgV1RGX1VTRV9D
T1JFX1RFWFQgMQorI2RlZmluZSBFTkFCTEVfV0VCX0FSQ0hJVkUgMQogI2Vsc2UKICNkZWZpbmUg
V1RGX1VTRV9BVFNVSSAxCiAjZW5kaWYKQEAgLTEwNzYsNiArMTA4MywxMCBAQAogI2RlZmluZSBF
TkFCTEVfU01PT1RIX1NDUk9MTElORyAwCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9X
RUJfQVJDSElWRSkKKyNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDAKKyNlbmRpZgorCiAvKiBV
c2UgdGhlIFFYbWxTdHJlYW1SZWFkZXIgaW1wbGVtZW50YXRpb24gZm9yIFhNTERvY3VtZW50UGFy
c2VyICovCiAvKiBVc2UgdGhlIFFYbWxRdWVyeSBpbXBsZW1lbnRhdGlvbiBmb3IgWFNMVFByb2Nl
c3NvciAqLwogI2lmIFBMQVRGT1JNKFFUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDEzMDZkNjQwMjU3M2QzOTI0
NTliZmI2Mjk0ZTA5MThhMTdhNDk0MjMuLmZkNDk1ZjQ5MjVlMTM0OTc3M2JmOGM1MzZhY2JkODAw
YzQxMjc5MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MyBAQAorMjAxMS0wMS0zMCAgSmVyZW15
IE1vc2tvdmljaCAgPGplcmVteUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWRhbSBCYXJ0aC4KKworICAgICAgICBBZGQgYSBjb21waWxlLXRpbWUgb3B0aW9uIHRvIGNvbXBs
ZXRlbHkgZGlzYWJsZSBXZWJBcmNoaXZlIHN1cHBvcnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjcxMgorCisgICAgICAgIEFkZCBhbiBFTkFCTEUo
V0VCX0FSQ0hJVkUpIGNvbXBpbGUtdGltZSBzZXR0aW5nIGFuZCB1c2UgaXQgZm9yIGFsbCBXZWJB
cmNoaXZlIGNvZGUuCisKKyAgICAgICAgQXJjaGl2ZVJlc291cmNlIGFuZCBBcmNoaXZlUmVzb3Vy
Y2VDb2xsZWN0aW9uIGFyZSBub3RhYmx5IHN0aWxsIGNvbXBpbGVkIGluLiBUaGV5IGFyZSB1c2Vk
CisgICAgICAgIGluIFNhZmFyaSBmb3IgZnVuY3Rpb25hbGl0eSBzdWNoIGFzICJTYXZlIEltYWdl
IEFzIiBhbmQgSW1hZ2UgY29weSAmIHBhc3RlIGluZGVwZW5kZW50IG9mCisgICAgICAgIFdlYkFy
Y2hpdmUgc3VwcG9ydC4KKworICAgICAgICBQb3J0cyBBZmZlY3RlZDoKKyAgICAgICAgICAgIFdl
YkFyY2hpdmUgc3VwcG9ydCBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3IgYWxsIHBvcnRzIHRoYXQg
ZGVmaW5lIFBMQVRGT1JNKENGKSBhcGFydCBmcm9tIFF0LgorICAgICAgICAgICAgVGhpcyBwYXRj
aCBwcmVzZXJ2ZXMgdGhpcyBiZWhhdmlvciBleGNlcHQgdGhhdCBpdCBhbHNvIGRpc2FibGVzIHN1
cHBvcnQgaW4gdGhlIENocm9taXVtIHBvcnQuCisKKyAgICAgICAgTm8gYmVoYXZpb3IgY2hhbmdl
cyBzbyBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDog
RG9uJ3QgY29tcGlsZSBMZWdhY3lXZWJBcmNoaXZlLmNwcCBhbmQgZnJpZW5kcy4KKyAgICAgICAg
KiBXZWJDb3JlLnBybzogRG9uJ3QgY29tcGlsZSBBcmNoaXZlRmFjdG9yeS5jcHAgaW4gUXQgcG9y
dC4KKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOiBTdXJyb3VuZCBXZWJBcmNo
aXZlIGNvZGUgd2l0aCAjaWZkZWYuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
Y29tbWl0TG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c2V0dXBGb3JS
ZXBsYWNlQnlNSU1FVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6YXJj
aGl2ZVJlc291cmNlRm9yVVJMKToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuaDoK
KyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkZXI6OmxvYWRVUkxJbnRvQ2hpbGRGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRlcjo6c3RvcEFsbExvYWRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6
OmZpbmlzaGVkTG9hZGluZ0RvY3VtZW50KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIu
aDoKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBsb2FkZXIvYXJjaGl2ZS9BcmNo
aXZlRmFjdG9yeS5jcHA6IFJlbW92ZSAjaWZkZWYgc2luY2UgZmVhdHVyZSBpcyBub3cgZW5hYmxl
ZC9kaXNhYmxlZCB3aG9sZXNhbGUuCisgICAgICAgIChXZWJDb3JlOjphcmNoaXZlTUlNRVR5cGVz
KToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdz
Lmg6CisgICAgICAgICogcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjppbml0aWFsaXplU3VwcG9ydGVkTm9uSW1hZ2VNaW1lVHlwZXMpOgorCiAyMDExLTAy
LTEyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFuIEJlcm5zdGVpbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKaW5kZXgg
MGQ4ZDA2YjRhMTRkNjE4NzM5Y2NiMTcxMGYxNmZmZjJiYjQ1OGZmMC4uYjE1NWI1MDYzOTAzYWM1
NzIzZWJlZGJlNDMyZjE1NzI1NjViM2YzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAKQEAgLTI2MSw3ICsyNjEsNiBAQAogICAgICAgICAgICMgRklYTUU6IEVsaW1pbmF0
ZSBkZXBlbmRlbmN5IG9uIHBsYXRmb3JtL2dyYXBoaWNzL21hYyBhbmQKICAgICAgICAgICAjIHJl
bGF0ZWQgZGlyZWN0b3JpZXMuCiAgICAgICAgICAgIyBwbGF0Zm9ybS9ncmFwaGljcy9jZyBtYXkg
bmVlZCB0byBzdGljayBhcm91bmQsIHRob3VnaC4KLSAgICAgICAgICAnLi4vbG9hZGVyL2FyY2hp
dmUvY2YnLAogICAgICAgICAgICcuLi9wbGF0Zm9ybS9hdWRpby9tYWMnLAogICAgICAgICAgICcu
Li9wbGF0Zm9ybS9ncmFwaGljcy9tYWMnLAogICAgICAgICAgICcuLi9wbGF0Zm9ybS9tYWMnLApA
QCAtMTIzOSw3ICsxMjM4LDYgQEAKICAgICAgICAgICAgICMgU29tZSBvZiB0aGVzZSBhcmUgdXNl
ZCBpbnN0ZWFkIG9mIENocm9taXVtIHBsYXRmb3JtIGZpbGVzLCBzZWUKICAgICAgICAgICAgICMg
dGhlIHNwZWNpZmljIGV4Y2x1c2lvbnMgaW4gdGhlICJzb3VyY2VzISIgbGlzdCBiZWxvdy4KICAg
ICAgICAgICAgIFsnaW5jbHVkZScsICdyZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWNcXC5tbSQnXSwK
LSAgICAgICAgICAgIFsnaW5jbHVkZScsICdsb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNo
aXZlXFwuY3BwJCddLAogICAgICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9Db2xvck1hY1xcLm1tJCddLAogICAgICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9GbG9hdFBvaW50TWFjXFwubW0kJ10sCiAgICAgICAgICAgICBbJ2luY2x1
ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zsb2F0UmVjdE1hY1xcLm1tJCddLApAQCAtMTM4
NSw2ICsxMzgzLDEyIEBACiAgICAgICAgICMgRG9uJ3QgYnVpbGQgSURCS2V5UGF0aEJhY2tlbmRJ
bXBsLiAgV2UgaGF2ZSBvdXIgb3duIGltcGxlbWVudGF0aW9uLgogICAgICAgICBbJ2V4Y2x1ZGUn
LCAnc3RvcmFnZS9JREJLZXlQYXRoQmFja2VuZEltcGxcXC5jcHAkJ10sCiAKKyAgICAgICAgIyBE
b24ndCBidWlsZCBmaWxlcyBuZWVkZWQgZm9yIFdlYkFyY2hpdmUgc3VwcG9ydCwgc2luY2Ugd2Ug
ZGlzYWJsZQorICAgICAgICAjIHRoaXMgZmVhdHVyZS4KKyAgICAgICAgWydleGNsdWRlJywgJ2xv
YWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFyY2hpdmVcXC5jcHAkJ10sCisgICAgICAgIFsnZXhj
bHVkZScsICdsb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlTWFjXFwubW0kJ10sCisg
ICAgICAgIFsnZXhjbHVkZScsICdsb2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9yeVxcLmNwcCQn
XSwKKwogICAgICAgICAjIFVzZSBsb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VOb25lLmNwcCBpbnN0
ZWFkLgogICAgICAgICBbJ2V4Y2x1ZGUnLCAnbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlXFwuY3Bw
JCddLAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDhmNzU3Y2Y5NjdiZGQ2ZjY0NzllYjk4ZDRkNmMzMDMz
MTNmNDhjYTguLjc0OGMwMzI2M2EwNTM4ZGZjYzdjMGNlODBiMDBkMzU4NzdhZjJkMWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUucHJvCkBAIC0xMDkxLDcgKzEwOTEsNiBAQCBTT1VSQ0VTICs9IFwKICAgICBpbnNwZWN0
b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCiAgICAgaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5j
cHAgXAogICAgIGluc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIFwKLSAgICBsb2Fk
ZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9yeS5jcHAgXAogICAgIGxvYWRlci9hcmNoaXZlL0FyY2hp
dmVSZXNvdXJjZS5jcHAgXAogICAgIGxvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxl
Y3Rpb24uY3BwIFwKICAgICBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIFwKQEAgLTIwMTAs
NyArMjAwOSw2IEBAIEhFQURFUlMgKz0gXAogICAgIGxvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZS5oIFwKICAgICBsb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNo
ZS5oIFwKICAgICBsb2FkZXIvYXBwY2FjaGUvTWFuaWZlc3RQYXJzZXIuaCBcCi0gICAgbG9hZGVy
L2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuaCBcCiAgICAgbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJl
c291cmNlQ29sbGVjdGlvbi5oIFwKICAgICBsb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2Uu
aCBcCiAgICAgbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuaCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCAyMDdjMmIwNzkyNmZhYjQ1MGQ5NzYy
YTFlNzU0N2Y2NTJjNTI1YjlmLi5lOGE3YzQxZjBiZTc1NTljNGY1NDhiNjU4MWY1NTk4ZGIxYjhk
MTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTMwLDcg
KzMwLDYgQEAKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogCiAjaW5jbHVkZSAiQXBwbGlj
YXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlICJBcmNoaXZlRmFjdG9yeS5oIgogI2luY2x1ZGUg
IkFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJDYWNoZWRQYWdlLmgiCiAj
aW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKQEAgLTU1LDYgKzU0LDEwIEBACiAjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUu
aD4KIAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKKyNpbmNsdWRlICJBcmNoaXZlRmFjdG9yeS5o
IgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIHZvaWQgY2FuY2VsQWxs
KGNvbnN0IFJlc291cmNlTG9hZGVyU2V0JiBsb2FkZXJzKQpAQCAtMjkyLDggKzI5NSwxMCBAQCB2
b2lkIERvY3VtZW50TG9hZGVyOjpjb21taXRMb2FkKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5n
dGgpCiAgICAgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gRG9jdW1lbnRMb2FkZXI6OmZyYW1l
TG9hZGVyKCk7CiAgICAgaWYgKCFmcmFtZUxvYWRlcikKICAgICAgICAgcmV0dXJuOworI2lmIEVO
QUJMRShXRUJfQVJDSElWRSkKICAgICBpZiAoQXJjaGl2ZUZhY3Rvcnk6OmlzQXJjaGl2ZU1pbWVU
eXBlKHJlc3BvbnNlKCkubWltZVR5cGUoKSkpCiAgICAgICAgIHJldHVybjsKKyNlbmRpZgogICAg
IGZyYW1lTG9hZGVyLT5jbGllbnQoKS0+Y29tbWl0dGVkTG9hZCh0aGlzLCBkYXRhLCBsZW5ndGgp
OwogfQogCkBAIC0zNTAsNyArMzU1LDkgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6c2V0dXBGb3JS
ZXBsYWNlQnlNSU1FVHlwZShjb25zdCBTdHJpbmcmIG5ld01JTUVUeXBlKQogICAgIAogICAgIHN0
b3BMb2FkaW5nU3VicmVzb3VyY2VzKCk7CiAgICAgc3RvcExvYWRpbmdQbHVnSW5zKCk7CisjaWYg
RU5BQkxFKFdFQl9BUkNISVZFKQogICAgIGNsZWFyQXJjaGl2ZVJlc291cmNlcygpOworI2VuZGlm
CiB9CiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnVwZGF0ZUxvYWRpbmcoKQpAQCAtNDM4LDYgKzQ0
NSw3IEBAIGJvb2wgRG9jdW1lbnRMb2FkZXI6OmlzTG9hZGluZ0luQVBJU2Vuc2UoKSBjb25zdAog
ICAgIHJldHVybiBmcmFtZUxvYWRlcigpLT5zdWJmcmFtZUlzTG9hZGluZygpOwogfQogCisjaWYg
RU5BQkxFKFdFQl9BUkNISVZFKQogdm9pZCBEb2N1bWVudExvYWRlcjo6YWRkQWxsQXJjaGl2ZVJl
c291cmNlcyhBcmNoaXZlKiBhcmNoaXZlKQogewogICAgIGlmICghbV9hcmNoaXZlUmVzb3VyY2VD
b2xsZWN0aW9uKQpAQCAtNDY0LDE2ICs0NzIsNiBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjphZGRB
cmNoaXZlUmVzb3VyY2UoUGFzc1JlZlB0cjxBcmNoaXZlUmVzb3VyY2U+IHJlc291cmNlKQogICAg
IG1fYXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi0+YWRkUmVzb3VyY2UocmVzb3VyY2UpOwogfQog
Ci1BcmNoaXZlUmVzb3VyY2UqIERvY3VtZW50TG9hZGVyOjphcmNoaXZlUmVzb3VyY2VGb3JVUkwo
Y29uc3QgS1VSTCYgdXJsKSBjb25zdAotewotICAgIGlmICghbV9hcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uKQotICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgCi0gICAgQXJjaGl2ZVJlc291cmNl
KiByZXNvdXJjZSA9IG1fYXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi0+YXJjaGl2ZVJlc291cmNl
Rm9yVVJMKHVybCk7Ci0KLSAgICByZXR1cm4gcmVzb3VyY2UgJiYgIXJlc291cmNlLT5zaG91bGRJ
Z25vcmVXaGVuVW5hcmNoaXZpbmcoKSA/IHJlc291cmNlIDogMDsKLX0KLQogUGFzc1JlZlB0cjxB
cmNoaXZlPiBEb2N1bWVudExvYWRlcjo6cG9wQXJjaGl2ZUZvclN1YmZyYW1lKGNvbnN0IFN0cmlu
ZyYgZnJhbWVOYW1lKQogewogICAgIHJldHVybiBtX2FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24g
PyBtX2FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24tPnBvcFN1YmZyYW1lQXJjaGl2ZShmcmFtZU5h
bWUpIDogMDsKQEAgLTQ5NCw2ICs0OTIsMTcgQEAgU2hhcmVkQnVmZmVyKiBEb2N1bWVudExvYWRl
cjo6cGFyc2VkQXJjaGl2ZURhdGEoKSBjb25zdAogewogICAgIHJldHVybiBtX3BhcnNlZEFyY2hp
dmVEYXRhLmdldCgpOwogfQorI2VuZGlmIC8vIEVOQUJMRShXRUJfQVJDSElWRSkKKworQXJjaGl2
ZVJlc291cmNlKiBEb2N1bWVudExvYWRlcjo6YXJjaGl2ZVJlc291cmNlRm9yVVJMKGNvbnN0IEtV
UkwmIHVybCkgY29uc3QKK3sKKyAgICBpZiAoIW1fYXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbikK
KyAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIAorICAgIEFyY2hpdmVSZXNvdXJjZSogcmVzb3Vy
Y2UgPSBtX2FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24tPmFyY2hpdmVSZXNvdXJjZUZvclVSTCh1
cmwpOworCisgICAgcmV0dXJuIHJlc291cmNlICYmICFyZXNvdXJjZS0+c2hvdWxkSWdub3JlV2hl
blVuYXJjaGl2aW5nKCkgPyByZXNvdXJjZSA6IDA7Cit9CiAKIFBhc3NSZWZQdHI8QXJjaGl2ZVJl
c291cmNlPiBEb2N1bWVudExvYWRlcjo6bWFpblJlc291cmNlKCkgY29uc3QKIHsKQEAgLTYwMSw2
ICs2MTAsNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpjYW5jZWxQZW5kaW5nU3Vic3RpdHV0ZUxv
YWQoUmVzb3VyY2VMb2FkZXIqIGxvYWRlcikKICAgICAgICAgbV9zdWJzdGl0dXRlUmVzb3VyY2VE
ZWxpdmVyeVRpbWVyLnN0b3AoKTsKIH0KIAorI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKIGJvb2wg
RG9jdW1lbnRMb2FkZXI6OnNjaGVkdWxlQXJjaGl2ZUxvYWQoUmVzb3VyY2VMb2FkZXIqIGxvYWRl
ciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBLVVJMJiBvcmlnaW5hbFVS
TCkKIHsKICAgICBBcmNoaXZlUmVzb3VyY2UqIHJlc291cmNlID0gMDsKQEAgLTYyMSw2ICs2MzEs
NyBAQCBib29sIERvY3VtZW50TG9hZGVyOjpzY2hlZHVsZUFyY2hpdmVMb2FkKFJlc291cmNlTG9h
ZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUgogICAgIAogICAgIHJldHVybiB0cnVlOwogfQor
I2VuZGlmIC8vIEVOQUJMRShXRUJfQVJDSElWRSkKIAogdm9pZCBEb2N1bWVudExvYWRlcjo6YWRk
UmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50TG9hZGVyLmgKaW5kZXggY2RkNWQ5MzI4N2FjNTI1NDMxYjg3MTMyM2U4NTg2NmY4
MzkyNDIwNS4uYjkyYjM4NDIwZTFkYWYzYjFlYzBmYjY1NDRjM2M3Yzg0YWRkM2Y3YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKQEAgLTQ0LDcgKzQ0LDkgQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0OworI2lmIEVO
QUJMRShXRUJfQVJDSElWRSkKICAgICBjbGFzcyBBcmNoaXZlOworI2VuZGlmCiAgICAgY2xhc3Mg
QXJjaGl2ZVJlc291cmNlOwogICAgIGNsYXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb247CiAg
ICAgY2xhc3MgRnJhbWU7CkBAIC0xMjcsMjQgKzEyOSwyOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHZvaWQgdW5zY2hlZHVsZShTY2hlZHVsZVBhaXIqKTsKICNlbmRpZgogCisjaWYg
RU5BQkxFKFdFQl9BUkNISVZFKQogICAgICAgICB2b2lkIGFkZEFsbEFyY2hpdmVSZXNvdXJjZXMo
QXJjaGl2ZSopOwogICAgICAgICB2b2lkIGFkZEFyY2hpdmVSZXNvdXJjZShQYXNzUmVmUHRyPEFy
Y2hpdmVSZXNvdXJjZT4pOwogICAgICAgICAKLSAgICAgICAgLy8gUmV0dXJuIGFuIEFyY2hpdmVS
ZXNvdXJjZSBmb3IgdGhlIFVSTCwgZWl0aGVyIGNyZWF0aW5nIGZyb20gbGl2ZSBkYXRhIG9yCi0g
ICAgICAgIC8vIHB1bGxpbmcgZnJvbSB0aGUgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbgotICAg
ICAgICBQYXNzUmVmUHRyPEFyY2hpdmVSZXNvdXJjZT4gc3VicmVzb3VyY2UoY29uc3QgS1VSTCYp
IGNvbnN0OwotICAgICAgICAvLyBSZXR1cm4gdGhlIEFyY2hpdmVSZXNvdXJjZSBmb3IgdGhlIFVS
TCBvbmx5IHdoZW4gbG9hZGluZyBhbiBBcmNoaXZlCi0gICAgICAgIEFyY2hpdmVSZXNvdXJjZSog
YXJjaGl2ZVJlc291cmNlRm9yVVJMKGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICAgICAgCiAgICAg
ICAgIFBhc3NSZWZQdHI8QXJjaGl2ZT4gcG9wQXJjaGl2ZUZvclN1YmZyYW1lKGNvbnN0IFN0cmlu
ZyYgZnJhbWVOYW1lKTsKICAgICAgICAgdm9pZCBjbGVhckFyY2hpdmVSZXNvdXJjZXMoKTsKICAg
ICAgICAgdm9pZCBzZXRQYXJzZWRBcmNoaXZlRGF0YShQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4p
OwogICAgICAgICBTaGFyZWRCdWZmZXIqIHBhcnNlZEFyY2hpdmVEYXRhKCkgY29uc3Q7CiAgICAg
ICAgIAorICAgICAgICBib29sIHNjaGVkdWxlQXJjaGl2ZUxvYWQoUmVzb3VyY2VMb2FkZXIqLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBLVVJMJik7CisjZW5kaWYgLy8gRU5BQkxFKFdF
Ql9BUkNISVZFKQorCisgICAgICAgIC8vIFJldHVybiB0aGUgQXJjaGl2ZVJlc291cmNlIGZvciB0
aGUgVVJMIG9ubHkgd2hlbiBsb2FkaW5nIGFuIEFyY2hpdmUKKyAgICAgICAgQXJjaGl2ZVJlc291
cmNlKiBhcmNoaXZlUmVzb3VyY2VGb3JVUkwoY29uc3QgS1VSTCYpIGNvbnN0OworCiAgICAgICAg
IFBhc3NSZWZQdHI8QXJjaGl2ZVJlc291cmNlPiBtYWluUmVzb3VyY2UoKSBjb25zdDsKKworICAg
ICAgICAvLyBSZXR1cm4gYW4gQXJjaGl2ZVJlc291cmNlIGZvciB0aGUgVVJMLCBlaXRoZXIgY3Jl
YXRpbmcgZnJvbSBsaXZlIGRhdGEgb3IKKyAgICAgICAgLy8gcHVsbGluZyBmcm9tIHRoZSBBcmNo
aXZlUmVzb3VyY2VDb2xsZWN0aW9uCisgICAgICAgIFBhc3NSZWZQdHI8QXJjaGl2ZVJlc291cmNl
PiBzdWJyZXNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7CiAgICAgICAgIHZvaWQgZ2V0U3VicmVz
b3VyY2VzKFZlY3RvcjxQYXNzUmVmUHRyPEFyY2hpdmVSZXNvdXJjZT4gPiYpIGNvbnN0OwotICAg
ICAgICAKLSAgICAgICAgYm9vbCBzY2hlZHVsZUFyY2hpdmVMb2FkKFJlc291cmNlTG9hZGVyKiwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgS1VSTCYpOworCisKICNpZm5kZWYgTkRFQlVH
CiAgICAgICAgIGJvb2wgaXNTdWJzdGl0dXRlTG9hZFBlbmRpbmcoUmVzb3VyY2VMb2FkZXIqKSBj
b25zdDsKICNlbmRpZgpAQCAtMzA2LDkgKzMxMywxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8UmVzb3VyY2VMb2FkZXI+LCBSZWZQdHI8U3Vi
c3RpdHV0ZVJlc291cmNlPiA+IFN1YnN0aXR1dGVSZXNvdXJjZU1hcDsKICAgICAgICAgU3Vic3Rp
dHV0ZVJlc291cmNlTWFwIG1fcGVuZGluZ1N1YnN0aXR1dGVSZXNvdXJjZXM7CiAgICAgICAgIFRp
bWVyPERvY3VtZW50TG9hZGVyPiBtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXI7Ci0g
ICAgICAgICAgICAgICAgCisKICAgICAgICAgT3duUHRyPEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rp
b24+IG1fYXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbjsKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUp
CiAgICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IG1fcGFyc2VkQXJjaGl2ZURhdGE7CisjZW5k
aWYKIAogICAgICAgICBIYXNoU2V0PFN0cmluZz4gbV9yZXNvdXJjZXNDbGllbnRLbm93c0Fib3V0
OwogICAgICAgICBWZWN0b3I8U3RyaW5nPiBtX3Jlc291cmNlc0xvYWRlZEZyb21NZW1vcnlDYWNo
ZUZvckNsaWVudE5vdGlmaWNhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CmluZGV4IDk1OTdmNzJmNzhmOWY1NDFlMDc1NTkzZWVlYzZjNDlhZjg4YzAwZmIuLmYzYWNlYjkw
M2MwMDFjYjZlZTc2MmE5ZmRiYTI5MjRlODU5ZTQzNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcApAQCAtMzQsOCArMzQsNiBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgi
CiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgotI2luY2x1ZGUgIkFyY2hpdmUu
aCIKLSNpbmNsdWRlICJBcmNoaXZlRmFjdG9yeS5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIkJlZm9yZVVubG9hZEV2ZW50LmgiCiAjaW5jbHVkZSAiTWVt
b3J5Q2FjaGUuaCIKQEAgLTExMyw2ICsxMTEsMTEgQEAKICNpbmNsdWRlICJTVkdWaWV3U3BlYy5o
IgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCisjaW5jbHVkZSAiQXJjaGl2ZS5o
IgorI2luY2x1ZGUgIkFyY2hpdmVGYWN0b3J5LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAtOTExLDExICs5MTQsMTMgQEAg
dm9pZCBGcmFtZUxvYWRlcjo6bG9hZFVSTEludG9DaGlsZEZyYW1lKGNvbnN0IEtVUkwmIHVybCwg
Y29uc3QgU3RyaW5nJiByZWZlcmVyLAogewogICAgIEFTU0VSVChjaGlsZEZyYW1lKTsKIAorI2lm
IEVOQUJMRShXRUJfQVJDSElWRSkKICAgICBSZWZQdHI8QXJjaGl2ZT4gc3ViZnJhbWVBcmNoaXZl
ID0gYWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+cG9wQXJjaGl2ZUZvclN1YmZyYW1lKGNoaWxkRnJh
bWUtPnRyZWUoKS0+dW5pcXVlTmFtZSgpKTsgICAgCiAgICAgaWYgKHN1YmZyYW1lQXJjaGl2ZSkg
ewogICAgICAgICBjaGlsZEZyYW1lLT5sb2FkZXIoKS0+bG9hZEFyY2hpdmUoc3ViZnJhbWVBcmNo
aXZlLnJlbGVhc2UoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CisjZW5kaWYgLy8gRU5BQkxF
KFdFQl9BUkNISVZFKQogCiAgICAgSGlzdG9yeUl0ZW0qIHBhcmVudEl0ZW0gPSBoaXN0b3J5KCkt
PmN1cnJlbnRJdGVtKCk7CiAgICAgLy8gSWYgd2UncmUgbW92aW5nIGluIHRoZSBiYWNrL2Zvcndh
cmQgbGlzdCwgd2UgbWlnaHQgd2FudCB0byByZXBsYWNlIHRoZSBjb250ZW50CkBAIC05MzEsNiAr
OTM2LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZFVSTEludG9DaGlsZEZyYW1lKGNvbnN0IEtV
UkwmIHVybCwgY29uc3QgU3RyaW5nJiByZWZlcmVyLAogICAgIGNoaWxkRnJhbWUtPmxvYWRlcigp
LT5sb2FkVVJMKHVybCwgcmVmZXJlciwgU3RyaW5nKCksIGZhbHNlLCBGcmFtZUxvYWRUeXBlUmVk
aXJlY3RXaXRoTG9ja2VkQmFja0ZvcndhcmRMaXN0LCAwLCAwKTsKIH0KIAorI2lmIEVOQUJMRShX
RUJfQVJDSElWRSkKIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRBcmNoaXZlKFBhc3NSZWZQdHI8QXJj
aGl2ZT4gcHJwQXJjaGl2ZSkKIHsKICAgICBSZWZQdHI8QXJjaGl2ZT4gYXJjaGl2ZSA9IHBycEFy
Y2hpdmU7CkBAIC05NTEsNiArOTU3LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZEFyY2hpdmUo
UGFzc1JlZlB0cjxBcmNoaXZlPiBwcnBBcmNoaXZlKQogICAgIGRvY3VtZW50TG9hZGVyLT5hZGRB
bGxBcmNoaXZlUmVzb3VyY2VzKGFyY2hpdmUuZ2V0KCkpOwogICAgIGxvYWQoZG9jdW1lbnRMb2Fk
ZXIuZ2V0KCkpOwogfQorI2VuZGlmIC8vIEVOQUJMRShXRUJfQVJDSElWRSkKIAogT2JqZWN0Q29u
dGVudFR5cGUgRnJhbWVMb2FkZXI6OmRlZmF1bHRPYmplY3RDb250ZW50VHlwZShjb25zdCBLVVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5cGVJbikKIHsKQEAgLTE3MTEsOCArMTcxOCwxMCBA
QCB2b2lkIEZyYW1lTG9hZGVyOjpzdG9wQWxsTG9hZGVycyhEYXRhYmFzZVBvbGljeSBkYXRhYmFz
ZVBvbGljeSwgQ2xlYXJQcm92aXNpb25hbAogCiAgICAgc2V0UHJvdmlzaW9uYWxEb2N1bWVudExv
YWRlcigwKTsKICAgICAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgaWYgKG1fZG9jdW1l
bnRMb2FkZXIpCiAgICAgICAgIG1fZG9jdW1lbnRMb2FkZXItPmNsZWFyQXJjaGl2ZVJlc291cmNl
cygpOworI2VuZGlmCiAKICAgICBtX2NoZWNrVGltZXIuc3RvcCgpOwogCkBAIC0yMjI4LDYgKzIy
MzcsOSBAQCB2b2lkIEZyYW1lTG9hZGVyOjpmaW5pc2hlZExvYWRpbmdEb2N1bWVudChEb2N1bWVu
dExvYWRlciogbG9hZGVyKQogICAgICAgICByZXR1cm47CiAjZW5kaWYKIAorI2lmICFFTkFCTEUo
V0VCX0FSQ0hJVkUpCisgICAgbV9jbGllbnQtPmZpbmlzaGVkTG9hZGluZyhsb2FkZXIpOworI2Vs
c2UKICAgICAvLyBHaXZlIGFyY2hpdmUgbWFjaGluZXJ5IGEgY3JhY2sgYXQgdGhpcyBkb2N1bWVu
dC4gSWYgdGhlIE1JTUUgdHlwZSBpcyBub3QgYW4gYXJjaGl2ZSB0eXBlLCBpdCB3aWxsIHJldHVy
biAwLgogICAgIFJlZlB0cjxBcmNoaXZlPiBhcmNoaXZlID0gQXJjaGl2ZUZhY3Rvcnk6OmNyZWF0
ZShsb2FkZXItPm1haW5SZXNvdXJjZURhdGEoKS5nZXQoKSwgbG9hZGVyLT5yZXNwb25zZU1JTUVU
eXBlKCkpOwogICAgIGlmICghYXJjaGl2ZSkgewpAQCAtMjI1Miw2ICsyMjY0LDcgQEAgdm9pZCBG
cmFtZUxvYWRlcjo6ZmluaXNoZWRMb2FkaW5nRG9jdW1lbnQoRG9jdW1lbnRMb2FkZXIqIGxvYWRl
cikKICAgICBib29sIGVuY29kaW5nSXNVc2VyQ2hvc2VuID0gIXVzZXJDaG9zZW5FbmNvZGluZy5p
c051bGwoKTsKICAgICBsb2FkZXItPndyaXRlcigpLT5zZXRFbmNvZGluZyhlbmNvZGluZ0lzVXNl
ckNob3NlbiA/IHVzZXJDaG9zZW5FbmNvZGluZyA6IG1haW5SZXNvdXJjZS0+dGV4dEVuY29kaW5n
KCksIGVuY29kaW5nSXNVc2VyQ2hvc2VuKTsKICAgICBsb2FkZXItPndyaXRlcigpLT5hZGREYXRh
KG1haW5SZXNvdXJjZS0+ZGF0YSgpLT5kYXRhKCksIG1haW5SZXNvdXJjZS0+ZGF0YSgpLT5zaXpl
KCkpOworI2VuZGlmIC8vIEVOQUJMRShXRUJfQVJDSElWRSkKIH0KIAogYm9vbCBGcmFtZUxvYWRl
cjo6aXNSZXBsYWNpbmcoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRl
eCA0NGE1NGY1NjA3ZDc4MWIzM2ExZDIwMWFhZTcwYzYzMzhkMTVkNWFkLi5iYjYwNWU3MjgyNmFk
Mzk2NzIxZTc4MmZkZTA3YzZjNDFhNzBmYTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuaApAQCAtMTE2LDggKzExNiwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2FkKGNvbnN0IFJl
c291cmNlUmVxdWVzdCYsIGJvb2wgbG9ja0hpc3RvcnkpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBDYWxsZWQgYnkgV2ViRnJhbWUsIGNhbGxzIGxvYWQoUmVzb3Vy
Y2VSZXF1ZXN0LCBTdWJzdGl0dXRlRGF0YSkuCiAgICAgdm9pZCBsb2FkKGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiwgYm9vbCBsb2NrSGlzdG9yeSk7ICAgICAg
ICAgICAgICAgICAvLyBDYWxsZWQgYm90aCBieSBXZWJGcmFtZSBhbmQgaW50ZXJuYWxseSwgY2Fs
bHMgbG9hZChEb2N1bWVudExvYWRlciopLgogICAgIHZvaWQgbG9hZChjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgYm9vbCBsb2NrSGlzdG9yeSk7ICAgICAg
ICAgICAgICAgLy8gQ2FsbGVkIGJ5IFdlYlBsdWdpbkNvbnRyb2xsZXIuCi0gICAgCisKKyNpZiBF
TkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgdm9pZCBsb2FkQXJjaGl2ZShQYXNzUmVmUHRyPEFyY2hp
dmU+KTsKKyNlbmRpZgogCiAgICAgc3RhdGljIHZvaWQgcmVwb3J0TG9jYWxMb2FkRmFpbGVkKEZy
YW1lKiwgY29uc3QgU3RyaW5nJiB1cmwpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZGVyLmNwcAppbmRleCA0MmNlMDE2Yjg1ZDVjMDlkZGM5NTI4YjdlYzliZWRjMzRkYjdhNDI0
Li5lMDhlMTkwNmEwOTU1ZmI0NDM0MTlkNjViOGM2MDYyYTg1Y2RkMDY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTE0NSw4ICsxNDUsMTAgQEAgdm9pZCBS
ZXNvdXJjZUxvYWRlcjo6c3RhcnQoKQogICAgIEFTU0VSVCghbV9yZXF1ZXN0LmlzTnVsbCgpKTsK
ICAgICBBU1NFUlQobV9kZWZlcnJlZFJlcXVlc3QuaXNOdWxsKCkpOwogCisjaWYgRU5BQkxFKFdF
Ql9BUkNISVZFKQogICAgIGlmIChtX2RvY3VtZW50TG9hZGVyLT5zY2hlZHVsZUFyY2hpdmVMb2Fk
KHRoaXMsIG1fcmVxdWVzdCwgbV9yZXF1ZXN0LnVybCgpKSkKICAgICAgICAgcmV0dXJuOworI2Vu
ZGlmCiAgICAgCiAjaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKICAgICBpZiAo
bV9kb2N1bWVudExvYWRlci0+YXBwbGljYXRpb25DYWNoZUhvc3QoKS0+bWF5YmVMb2FkUmVzb3Vy
Y2UodGhpcywgbV9yZXF1ZXN0LCBtX3JlcXVlc3QudXJsKCkpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwCmluZGV4IDJlMTA4YzU0OTQ2YWIw
NjA3MmZkNWJhOGNmMjRjOTZhMmM5YjY1NjAuLmIwMmI4MzEwNDE4ZmMyN2QzOGIxNzcwNGVjNDA5
OThjMjkzYjMwNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0Fy
Y2hpdmVGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNo
aXZlRmFjdG9yeS5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgc3RhdGljIEFyY2hpdmVNSU1FVHlwZXNN
YXAmIGFyY2hpdmVNSU1FVHlwZXMoKQogICAgIGlmIChpbml0aWFsaXplZCkKICAgICAgICAgcmV0
dXJuIG1pbWVUeXBlczsKIAotI2lmIFBMQVRGT1JNKENGKSAmJiAhUExBVEZPUk0oUVQpCisjaWYg
UExBVEZPUk0oQ0YpCiAgICAgbWltZVR5cGVzLnNldCgiYXBwbGljYXRpb24veC13ZWJhcmNoaXZl
IiwgYXJjaGl2ZUZhY3RvcnlDcmVhdGU8TGVnYWN5V2ViQXJjaGl2ZT4pOwogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggYjM4NjExZTZkMTY3ZDI1N2NiYjRjMDZkYTgzNzQw
NmVhODA3ZmRhYy4uOGQ2MDgxMmU3ODM2Yjc3NWFhZmUzZWIyMTYyMmZhMDYxOThjNjYyMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTUxMSwxMCArNTExLDEyIEBAIHZvaWQgU2V0dGlu
Z3M6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBmcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KQogICAgIG1fZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCA9IGZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7
CiB9CiAKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiB2b2lkIFNldHRpbmdzOjpzZXRXZWJBcmNo
aXZlRGVidWdNb2RlRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgbV93ZWJBcmNoaXZlRGVi
dWdNb2RlRW5hYmxlZCA9IGVuYWJsZWQ7CiB9CisjZW5kaWYKIAogdm9pZCBTZXR0aW5nczo6c2V0
TG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKaW5kZXggYjFhNzMxNzEyODlmNDQ2MTk5Zjk5Y2MxY2U5NDA3MjIxYjRlZWIw
My4uM2ZjNWJiY2QwMGVhZDlhZWYzOGRmN2RhMmVhODA5ZTJiY2ZiYzJjOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaApAQCAtMjM0LDkgKzIzNCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAgICAgdm9pZCBzZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhib29sKTsKICAgICAgICAgYm9v
bCBuZWVkc1NpdGVTcGVjaWZpY1F1aXJrcygpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNTaXRlU3Bl
Y2lmaWNRdWlya3M7IH0KLSAgICAgICAgCisKKyNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAg
ICAgIHZvaWQgc2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJv
b2wgd2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYkFyY2hp
dmVEZWJ1Z01vZGVFbmFibGVkOyB9CisjZW5kaWYKIAogICAgICAgICB2b2lkIHNldExvY2FsRmls
ZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQoYm9vbCk7CiAgICAgICAgIGJvb2wgbG9jYWxGaWxlQ29u
dGVudFNuaWZmaW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxGaWxlQ29udGVudFNu
aWZmaW5nRW5hYmxlZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlN
RVR5cGVSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lz
dHJ5LmNwcAppbmRleCA3MTMzOTViNmM0YWFiMWQ5ZjcxZmRjOWE2MTk4YTdiYzZiN2MyNzdlLi4z
ZDc2OWRlODhlZDNhMDhjYzA1Y2UyZmRjYzMzYzNhNmE4MGQ4MWQ1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcApAQCAtMjcsNyArMjcsNiBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKIAotI2luY2x1
ZGUgIkFyY2hpdmVGYWN0b3J5LmgiCiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXIuaCIKICNpbmNsdWRl
IDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC00NCw2ICs0Mywx
MCBAQAogI2luY2x1ZGUgPHFpbWFnZXdyaXRlci5oPgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VC
X0FSQ0hJVkUpCisjaW5jbHVkZSAiQXJjaGl2ZUZhY3RvcnkuaCIKKyNlbmRpZgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4qIHN1cHBvcnRlZEltYWdlUmVz
b3VyY2VNSU1FVHlwZXM7CkBAIC0yMjUsNyArMjI4LDkgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6
ZVN1cHBvcnRlZE5vbkltYWdlTWltZVR5cGVzKCkKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IFdURl9BUlJBWV9MRU5HVEgodHlwZXMpOyArK2kpCiAgICAgICAgIHN1cHBvcnRlZE5vbkltYWdl
TUlNRVR5cGVzLT5hZGQodHlwZXNbaV0pOwogCisjaWYgRU5BQkxFKFdFQl9BUkNISVZFKQogICAg
IEFyY2hpdmVGYWN0b3J5OjpyZWdpc3Rlcktub3duQXJjaGl2ZU1JTUVUeXBlcygpOworI2VuZGlm
CiB9CiAKIHN0YXRpYyBNZWRpYU1JTUVUeXBlTWFwJiBtZWRpYU1JTUVUeXBlTWFwKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCBhYzU0YmMzZDAxYzA5ZmRhODQzMWZhMWFmNTc2MzNkZDdjNWUzZDUyLi5hZmM5YmY5
ZTg0MjAzYjQ0MTEyZWZiNmVmMDQ3YjNkNDNkMDViYzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTEtMDEtMzEgIEplcmVteSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgQWRkIGEgY29t
cGlsZS10aW1lIG9wdGlvbiB0byBjb21wbGV0ZWx5IGRpc2FibGUgV2ViQXJjaGl2ZSBzdXBwb3J0
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI3MTIK
KworICAgICAgICBBZGQgYW4gRU5BQkxFKFdFQl9BUkNISVZFKSBjb21waWxlLXRpbWUgc2V0dGlu
ZyBhbmQgdXNlIGl0IGZvciBhbGwgV2ViQXJjaGl2ZSBjb2RlLgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRh
dGVQcmVmZXJlbmNlcyk6CisKIDIwMTEtMDItMTEgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDFhYTdmNTRk
OGE4ZTMyZDdmM2E1ZTk0MThhZTFkZmQ1Y2ViMTYwYWMuLmJlYzRjNTQ3ODMwYjJlZmE5Njc2OGNm
MWViMzA3ZGY1ZDY0ODFlNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKQEAgLTEzNDQsNyArMTM0NCw5IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRl
UHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgc2V0dGlu
Z3MtPnNldEphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHkoc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpqYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NB
dXRvbWF0aWNhbGx5S2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0Rm9yY2VGVFBEaXJlY3RvcnlM
aXN0aW5ncyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZvcmNl
RlRQRGlyZWN0b3J5TGlzdGluZ3NLZXkoKSkpOwogICAgIHNldHRpbmdzLT5zZXRETlNQcmVmZXRj
aGluZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpk
bnNQcmVmZXRjaGluZ0VuYWJsZWRLZXkoKSkpOworI2lmIEVOQUJMRShXRUJfQVJDSElWRSkKICAg
ICBzZXR0aW5ncy0+c2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp3ZWJBcmNoaXZlRGVidWdNb2RlRW5hYmxlZEtl
eSgpKSk7CisjZW5kaWYKICAgICBzZXR0aW5ncy0+c2V0TG9jYWxGaWxlQ29udGVudFNuaWZmaW5n
RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmxvY2Fs
RmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLT5zZXRVc2Vz
UGFnZUNhY2hlKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6dXNl
c1BhZ2VDYWNoZUtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldEF1dGhvckFuZFVzZXJTdHlsZXNF
bmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YXV0aG9y
QW5kVXNlclN0eWxlc0VuYWJsZWRLZXkoKSkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>