<?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>115989</bug_id>
          
          <creation_ts>2013-05-12 11:01:57 -0700</creation_ts>
          <short_desc>Remove Complex.h from WTF</short_desc>
          <delta_ts>2013-05-12 14:27:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>887974</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-05-12 11:01:57 -0700</bug_when>
    <thetext>Remove Complex.h from WTF</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887978</commentid>
    <comment_count>1</comment_count>
      <attachid>201498</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-05-12 11:07:39 -0700</bug_when>
    <thetext>Created attachment 201498
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887982</commentid>
    <comment_count>2</comment_count>
      <attachid>201498</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-05-12 11:29:58 -0700</bug_when>
    <thetext>Comment on attachment 201498
Patch

Attachment 201498 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/427597</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887983</commentid>
    <comment_count>3</comment_count>
      <attachid>201498</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-05-12 11:31:47 -0700</bug_when>
    <thetext>Comment on attachment 201498
Patch

Attachment 201498 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/464008</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887984</commentid>
    <comment_count>4</comment_count>
      <attachid>201499</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-05-12 11:33:22 -0700</bug_when>
    <thetext>Created attachment 201499
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887988</commentid>
    <comment_count>5</comment_count>
      <attachid>201499</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-05-12 11:43:17 -0700</bug_when>
    <thetext>Comment on attachment 201499
Patch

Attachment 201499 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/297513</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887991</commentid>
    <comment_count>6</comment_count>
      <attachid>201499</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-05-12 11:47:51 -0700</bug_when>
    <thetext>Comment on attachment 201499
Patch

Attachment 201499 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/395538</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887992</commentid>
    <comment_count>7</comment_count>
      <attachid>201499</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-05-12 11:55:10 -0700</bug_when>
    <thetext>Comment on attachment 201499
Patch

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

&gt; Source/WebCore/Modules/webaudio/RealtimeAnalyser.cpp:-38
&gt; -#include &lt;wtf/Complex.h&gt;

Needs to be replaced by #include &lt;complex&gt; to fix EFL build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887995</commentid>
    <comment_count>8</comment_count>
      <attachid>201499</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-05-12 12:04:00 -0700</bug_when>
    <thetext>Comment on attachment 201499
Patch

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

r=me with EFL build fixed.

&gt; Source/WTF/ChangeLog:9
&gt; +        The header is used by three files in WebCore, so just use std::complex&lt;double&gt; and std::poolar directly.

poolar :|</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887996</commentid>
    <comment_count>9</comment_count>
      <attachid>201502</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-05-12 12:06:24 -0700</bug_when>
    <thetext>Created attachment 201502
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888005</commentid>
    <comment_count>10</comment_count>
      <attachid>201502</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-05-12 12:44:13 -0700</bug_when>
    <thetext>Comment on attachment 201502
Patch

Attachment 201502 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/427608</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888014</commentid>
    <comment_count>11</comment_count>
      <attachid>201508</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-05-12 13:35:59 -0700</bug_when>
    <thetext>Created attachment 201508
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888019</commentid>
    <comment_count>12</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-05-12 14:27:12 -0700</bug_when>
    <thetext>Committed r149970: &lt;http://trac.webkit.org/changeset/149970&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201498</attachid>
            <date>2013-05-12 11:07:39 -0700</date>
            <delta_ts>2013-05-12 11:33:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115989-20130512110638.patch</filename>
            <type>text/plain</type>
            <size>19699</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5OTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZkNTE0MTdlMDNlNjUyZmFjNDA5ZDY2
OWY4ZTU0MjZiNDk1YTkzZTkuLjFiODBjZDhhM2NkMWQ5NmQ1NDM3Y2E0MDAwNTQzYzA1MGQxZTdj
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTMtMDUtMTIgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW1vdmUgQ29tcGxleC5oIGZyb20gV1RGCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU5ODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21wbGV4Lmgg
Y29udGFpbnMgYSB0eXBlZGVmIGFuZCBhIHNpbmdsZSBmdW5jdGlvbiAodGhhdCBhbHJlYWR5IGhh
cyBhbiBlcXVpdmFsZW50IGluIHRoZSBTVEwpLgorICAgICAgICBUaGUgaGVhZGVyIGlzIHVzZWQg
YnkgdGhyZWUgZmlsZXMgaW4gV2ViQ29yZSwgc28ganVzdCB1c2Ugc3RkOjpjb21wbGV4PGRvdWJs
ZT4gYW5kIHN0ZDo6cG9vbGFyIGRpcmVjdGx5LgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBXVEYudmNwcm9qL1dURi52Y3Byb2o6CisgICAgICAgICogV1RGLnZj
eHByb2ovV1RGLnZjeHByb2o6CisgICAgICAgICogV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmls
dGVyczoKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiB3dGYvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogd3RmL0NvbXBsZXguaDogUmVtb3ZlZC4K
KworMjAxMy0wNS0xMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAg
ICAgICAgIFNpbXBsaWZ5IEF1dG9kcmFpbmVkUG9vbAogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1OTg2CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0ZjUwZWQ4MmE5
ZWZjZDRmYzM3YmUyZjFmMjY5ZjYyMzk4OWNlNDE4Li4wNTc1OTA5M2FhNGY5NjEzYmRlZmU2N2Y0
ZDllNTE4ODk5MTA4MjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzAgQEAKIDIwMTMtMDUtMTIg
IEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW1vdmUg
Q29tcGxleC5oIGZyb20gV1RGCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTU5ODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZXBsYWNlIENvbXBsZXggZGVjbGFyYXRpb25zIHdpdGggc3RkOjpjb21wbGV4
PGRvdWJsZT4uIFBhc3MgYnkgdmFsdWUgc2luY2UgdGhlIHN0cnVjdAorICAgICAgICBpcyBzbWFs
bCBlbm91Z2ggdG8gZ28gaW50byB0d28gcmVnaXN0ZXJzIG9uIFg4Ni02NC4KKworICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZWFsdGltZUFuYWx5c2VyOjpkb0ZGVEFuYWx5c2lzKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
YWx0aW1lQW5hbHlzZXI6OmdldEZsb2F0RnJlcXVlbmN5RGF0YSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZWFsdGltZUFuYWx5c2VyOjpnZXRCeXRlRnJlcXVlbmN5RGF0YSk6CisgICAgICAgIChXZWJD
b3JlOjpSZWFsdGltZUFuYWx5c2VyOjpnZXRCeXRlVGltZURvbWFpbkRhdGEpOgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL0JpcXVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXF1YWQ6OnNl
dFplcm9Qb2xlUGFpcnMpOgorICAgICAgICAoV2ViQ29yZTo6QmlxdWFkOjpzZXRBbGxwYXNzUG9s
ZSk6CisgICAgICAgIChXZWJDb3JlOjpCaXF1YWQ6OmdldEZyZXF1ZW5jeVJlc3BvbnNlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9CaXF1YWQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9GRlRGcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGRlRGcmFtZTo6aW50ZXJwb2xhdGVG
cmVxdWVuY3lDb21wb25lbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkZGVEZyYW1lOjpleHRyYWN0
QXZlcmFnZUdyb3VwRGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6RkZURnJhbWU6OmFkZENvbnN0
YW50R3JvdXBEZWxheSk6CisKKzIwMTMtMDUtMTIgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2Nh
QGFwcGxlLmNvbT4KKwogICAgICAgICBTaW1wbGlmeSBBdXRvZHJhaW5lZFBvb2wKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNTk4NgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV1RGL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KaW5kZXggYWRjYTk0NzA5ZjNhZDg1ZDIxNTM2MjQ5ZTlkNWE3MDgyOGM3ZTNk
Ny4uYTMzODdiY2JhZWFmN2I5MzE3MzE0Yzg0OTMxOGYxNDBiYzU4YTEyMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XVEYvR05VbWFrZWZp
bGUubGlzdC5hbQpAQCAtMjYsNyArMjYsNiBAQCB3dGZfc291cmNlcyArPSBcCiAgICAgU291cmNl
L1dURi93dGYvQ2hlY2tlZEJvb2xlYW4uaCBcCiAgICAgU291cmNlL1dURi93dGYvQ29tbWFQcmlu
dGVyLmggXAogICAgIFNvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmggXAotICAgIFNvdXJjZS9XVEYv
d3RmL0NvbXBsZXguaCBcCiAgICAgU291cmNlL1dURi93dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5k
b21OdW1iZXIuY3BwIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRv
bU51bWJlci5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9DdXJyZW50VGltZS5jcHAgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi9XVEYudmNwcm9qL1dURi52Y3Byb2ogYi9Tb3VyY2UvV1RGL1dURi52
Y3Byb2ovV1RGLnZjcHJvagppbmRleCAzMmEyMGM5ZDAzNDEzOGE1MGZhMzhiODcwODcwMGQ1NzA4
ZTQ0NzBmLi45MzJiYmNkMGJmMjUxMGM4NTgyMTE1ZmQxZTBlMzQ2NGZhOTZiMDY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL1dURi52Y3Byb2ovV1RGLnZjcHJvagorKysgYi9Tb3VyY2UvV1RGL1dU
Ri52Y3Byb2ovV1RGLnZjcHJvagpAQCAtNjYzLDEwICs2NjMsNiBAQAogCQkJPgogCQk8L0ZpbGU+
CiAJCTxGaWxlCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXHd0ZlxDb21wbGV4LmgiCi0JCQk+Ci0JCTwv
RmlsZT4KLQkJPEZpbGUKIAkJCVJlbGF0aXZlUGF0aD0iLi5cd3RmXENyeXB0b2dyYXBoaWNhbGx5
UmFuZG9tTnVtYmVyLmNwcCIKIAkJCT4KIAkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri9XVEYudmN4cHJvai9XVEYudmN4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZj
eHByb2oKaW5kZXggODhjMzAxM2IwNDU2YjU1MTVlYTU1MjEwMjgxMWUxYzEzZWNiMDI0Zi4uMTU4
ODY3NGQwY2JlYjBlOTQ0MDM5OTkxNWZiZWQ1YjlkMWJjZWQ0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9q
L1dURi52Y3hwcm9qCkBAIC0xMTEsNyArMTExLDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHd0ZlxDaGVja2VkQXJpdGhtZXRpYy5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHd0ZlxDaGVja2VkQm9vbGVhbi5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHd0ZlxDb21waWxlci5oIiAvPg0KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxDb21w
bGV4LmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXENyeXB0b2dyYXBoaWNh
bGx5UmFuZG9tTnVtYmVyLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXEN1
cnJlbnRUaW1lLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXERhdGFMb2cu
aCIgLz4NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZp
bHRlcnMgYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnMKaW5kZXgg
YjE2NTg0YTUzNDE5Y2YzZjE5ZDU2N2VhYmZkNDk3OTgxN2U5Nzk5Ny4uM2M0YzY5MjliZmRkOTQ5
ZGY2NTM5OGZlN2Y1NzlkNDUxYTliZjcxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYudmN4
cHJvai9XVEYudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RG
LnZjeHByb2ouZmlsdGVycwpAQCAtMzcyLDkgKzM3Miw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlx3dGZcQ29tcGlsZXIuaCI+DQogICAgICAgPEZpbHRlcj53dGY8L0ZpbHRlcj4NCiAg
ICAgPC9DbEluY2x1ZGU+DQotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXENvbXBsZXgu
aCI+DQotICAgICAgPEZpbHRlcj53dGY8L0ZpbHRlcj4NCi0gICAgPC9DbEluY2x1ZGU+DQogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXENyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVy
LmgiPg0KICAgICAgIDxGaWx0ZXI+d3RmPC9GaWx0ZXI+DQogICAgIDwvQ2xJbmNsdWRlPg0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVmNjA4NTFlMmFjNTUz
ZDU1NTkzNWM1YThkZDNhMzU2OWQ4NjJlZDkuLjNjYjBjYjNiMmJjMDcxMTNmNzkyOGRlMWQ3NGIz
NDMyOTliZDdkMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNzUsNyArNzUsNiBAQAogCQlBOEE0NzM5NDE1MUE4MjVCMDA0MTIzRkYgLyogQ2hlY2tlZEFy
aXRobWV0aWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE4QTQ3MjZBMTUxQTgyNUEwMDQxMjNGRiAvKiBDaGVja2VkQXJpdGhtZXRpYy5oICovOyB9Owog
CQlBOEE0NzM5NTE1MUE4MjVCMDA0MTIzRkYgLyogQ2hlY2tlZEJvb2xlYW4uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QTQ3MjZCMTUxQTgyNUEwMDQx
MjNGRiAvKiBDaGVja2VkQm9vbGVhbi5oICovOyB9OwogCQlBOEE0NzM5ODE1MUE4MjVCMDA0MTIz
RkYgLyogQ29tcGlsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE4QTQ3MjcwMTUxQTgyNUEwMDQxMjNGRiAvKiBDb21waWxlci5oICovOyB9OwotCQlB
OEE0NzM5OTE1MUE4MjVCMDA0MTIzRkYgLyogQ29tcGxleC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDcyNzExNTFBODI1QTAwNDEyM0ZGIC8qIENv
bXBsZXguaCAqLzsgfTsKIAkJQThBNDczOUExNTFBODI1QjAwNDEyM0ZGIC8qIENyeXB0b2dyYXBo
aWNhbGx5UmFuZG9tTnVtYmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE4QTQ3MjczMTUxQTgyNUEwMDQxMjNGRiAvKiBDcnlwdG9ncmFwaGljYWxs
eVJhbmRvbU51bWJlci5jcHAgKi87IH07CiAJCUE4QTQ3MzlCMTUxQTgyNUIwMDQxMjNGRiAvKiBD
cnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDcyNzQxNTFBODI1QTAwNDEyM0ZGIC8qIENyeXB0b2dy
YXBoaWNhbGx5UmFuZG9tTnVtYmVyLmggKi87IH07CiAJCUE4QTQ3MzlDMTUxQTgyNUIwMDQxMjNG
RiAvKiBDdXJyZW50VGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBOEE0NzI3NTE1MUE4MjVBMDA0MTIzRkYgLyogQ3VycmVudFRpbWUuY3BwICov
OyB9OwpAQCAtMzQ1LDcgKzM0NCw2IEBACiAJCUE4QTQ3MjZBMTUxQTgyNUEwMDQxMjNGRiAvKiBD
aGVja2VkQXJpdGhtZXRpYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDaGVj
a2VkQXJpdGhtZXRpYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOEE0NzI2QjE1
MUE4MjVBMDA0MTIzRkYgLyogQ2hlY2tlZEJvb2xlYW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ2hlY2tlZEJvb2xlYW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQThBNDcyNzAxNTFBODI1QTAwNDEyM0ZGIC8qIENvbXBpbGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbXBpbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCUE4QTQ3MjcxMTUxQTgyNUEwMDQxMjNGRiAvKiBDb21wbGV4LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbXBsZXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQThBNDcyNzMxNTFBODI1QTAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVt
YmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENyeXB0b2dyYXBo
aWNhbGx5UmFuZG9tTnVtYmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThB
NDcyNzQxNTFBODI1QTAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b2dyYXBoaWNhbGx5UmFuZG9t
TnVtYmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4QTQ3Mjc1MTUxQTgyNUEw
MDQxMjNGRiAvKiBDdXJyZW50VGltZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDdXJyZW50VGltZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02
MjksNyArNjI3LDYgQEAKIAkJCQlBOEE0NzI2QjE1MUE4MjVBMDA0MTIzRkYgLyogQ2hlY2tlZEJv
b2xlYW4uaCAqLywKIAkJCQkwRkM0RURFNTE2OTYxNDk2MDBGNjUwNDEgLyogQ29tbWFQcmludGVy
LmggKi8sCiAJCQkJQThBNDcyNzAxNTFBODI1QTAwNDEyM0ZGIC8qIENvbXBpbGVyLmggKi8sCi0J
CQkJQThBNDcyNzExNTFBODI1QTAwNDEyM0ZGIC8qIENvbXBsZXguaCAqLywKIAkJCQlBOEE0NzI3
MzE1MUE4MjVBMDA0MTIzRkYgLyogQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuY3BwICov
LAogCQkJCUE4QTQ3Mjc0MTUxQTgyNUEwMDQxMjNGRiAvKiBDcnlwdG9ncmFwaGljYWxseVJhbmRv
bU51bWJlci5oICovLAogCQkJCUE4QTQ3Mjc1MTUxQTgyNUEwMDQxMjNGRiAvKiBDdXJyZW50VGlt
ZS5jcHAgKi8sCkBAIC05NDQsNyArOTQxLDYgQEAKIAkJCQlBOEE0NzQ1RjE1MUE4MjVCMDA0MTIz
RkYgLyogQ29sbGF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQzRFREU2MTY5NjE0OTYwMEY2
NTA0MSAvKiBDb21tYVByaW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3Mzk4MTUxQTgy
NUIwMDQxMjNGRiAvKiBDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDczOTkxNTFB
ODI1QjAwNDEyM0ZGIC8qIENvbXBsZXguaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDhDMTUx
QTgyNjQwMDQxMjNGRiAvKiBjb25maWcuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3MzlCMTUx
QTgyNUIwMDQxMjNGRiAvKiBDcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQThBNDc0M0ExNTFBODI1QjAwNDEyM0ZGIC8qIENTdHJpbmcuaCBpbiBIZWFk
ZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCAwMjc5MjcwOTAxY2M1MmY0YzNiZjBiNTll
OWM2MTgwNmE2YzVmNTYxLi5hZDQ3OTc3N2RjMjM2MTcxZDZmY2Y0ZWNiNjFlOGZhNWYxMWNiN2U2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtMTEsNyArMTEsNiBAQCBzZXQoV1RGX0hFQURFUlMK
ICAgICBCdW1wUG9pbnRlckFsbG9jYXRvci5oCiAgICAgQnl0ZU9yZGVyLmgKICAgICBDb21waWxl
ci5oCi0gICAgQ29tcGxleC5oCiAgICAgQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaAog
ICAgIEN1cnJlbnRUaW1lLmgKICAgICBEYXRlTWF0aC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9Db21wbGV4LmggYi9Tb3VyY2UvV1RGL3d0Zi9Db21wbGV4LmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDQwZmU1NmE3YmI3NTQ0MmVmYWU0ZDU4OWNmNDk3MGZjZmZlZTU2Zjku
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dU
Ri93dGYvQ29tcGxleC5oCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIElu
Yy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYg
V1RGX0NvbXBsZXhfaAotI2RlZmluZSBXVEZfQ29tcGxleF9oCi0KLSNpbmNsdWRlIDxjb21wbGV4
PgotI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+Ci0KLW5hbWVzcGFjZSBXVEYgewotCi10eXBl
ZGVmIHN0ZDo6Y29tcGxleDxkb3VibGU+IENvbXBsZXg7Ci0KLWlubGluZSBDb21wbGV4IGNvbXBs
ZXhGcm9tTWFnbml0dWRlUGhhc2UoZG91YmxlIG1hZ25pdHVkZSwgZG91YmxlIHBoYXNlKQotewot
ICAgIHJldHVybiBDb21wbGV4KG1hZ25pdHVkZSAqIGNvcyhwaGFzZSksIG1hZ25pdHVkZSAqIHNp
bihwaGFzZSkpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXVEYKLQotdXNpbmcgV1RGOjpDb21wbGV4
OwotdXNpbmcgV1RGOjpjb21wbGV4RnJvbU1hZ25pdHVkZVBoYXNlOwotCi0jZW5kaWYgLy8gV1RG
X0NvbXBsZXhfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9S
ZWFsdGltZUFuYWx5c2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUmVh
bHRpbWVBbmFseXNlci5jcHAKaW5kZXggN2E5MDljYjI2MGVlNzg2ODY2NDUzMjE1ZjgzY2ZhMWQz
MjY1NGU3Yi4uNjRhNjk4NzBlNzIxMzUwYjdhNWY0YTA3M2U0NjVmYWU3MmI5OTJlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIu
Y3BwCkBAIC0zNCwxNSArMzQsMTEgQEAKICNpbmNsdWRlICJWZWN0b3JNYXRoLmgiCiAKICNpbmNs
dWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVkZSA8bGltaXRzLmg+Ci0jaW5jbHVkZSA8d3RmL0NvbXBs
ZXguaD4KICNpbmNsdWRlIDx3dGYvRmxvYXQzMkFycmF5Lmg+CiAjaW5jbHVkZSA8d3RmL01haW5U
aHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9VaW50
OEFycmF5Lmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY29uc3QgZG91YmxlIFJlYWx0aW1lQW5hbHlzZXI6OkRlZmF1bHRTbW9vdGhpbmdUaW1lQ29u
c3RhbnQgID0gMC44OwpAQCAtMTkzLDE2ICsxODksMTYgQEAgdm9pZCBSZWFsdGltZUFuYWx5c2Vy
Ojpkb0ZGVEFuYWx5c2lzKCkKIAogICAgIC8vIEEgdmFsdWUgb2YgMCBkb2VzIG5vIGF2ZXJhZ2lu
ZyB3aXRoIHRoZSBwcmV2aW91cyByZXN1bHQuICBMYXJnZXIgdmFsdWVzIHByb2R1Y2Ugc2xvd2Vy
LCBidXQgc21vb3RoZXIgY2hhbmdlcy4KICAgICBkb3VibGUgayA9IG1fc21vb3RoaW5nVGltZUNv
bnN0YW50OwotICAgIGsgPSBtYXgoMC4wLCBrKTsKLSAgICBrID0gbWluKDEuMCwgayk7ICAgIAor
ICAgIGsgPSBzdGQ6Om1heCgwLjAsIGspOworICAgIGsgPSBzdGQ6Om1pbigxLjAsIGspOyAgICAK
ICAgICAKICAgICAvLyBDb252ZXJ0IHRoZSBhbmFseXNpcyBkYXRhIGZyb20gY29tcGxleCB0byBt
YWduaXR1ZGUgYW5kIGF2ZXJhZ2Ugd2l0aCB0aGUgcHJldmlvdXMgcmVzdWx0LgogICAgIGZsb2F0
KiBkZXN0aW5hdGlvbiA9IG1hZ25pdHVkZUJ1ZmZlcigpLmRhdGEoKTsKICAgICBzaXplX3QgbiA9
IG1hZ25pdHVkZUJ1ZmZlcigpLnNpemUoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG47
ICsraSkgewotICAgICAgICBDb21wbGV4IGMocmVhbFBbaV0sIGltYWdQW2ldKTsKKyAgICAgICAg
c3RkOjpjb21wbGV4PGRvdWJsZT4gYyhyZWFsUFtpXSwgaW1hZ1BbaV0pOwogICAgICAgICBkb3Vi
bGUgc2NhbGFyTWFnbml0dWRlID0gYWJzKGMpICogbWFnbml0dWRlU2NhbGU7ICAgICAgICAKLSAg
ICAgICAgZGVzdGluYXRpb25baV0gPSBmbG9hdChrICogZGVzdGluYXRpb25baV0gKyAoMSAtIGsp
ICogc2NhbGFyTWFnbml0dWRlKTsKKyAgICAgICAgZGVzdGluYXRpb25baV0gPSBzdGF0aWNfY2Fz
dDxmbG9hdD4oayAqIGRlc3RpbmF0aW9uW2ldICsgKDEgLSBrKSAqIHNjYWxhck1hZ25pdHVkZSk7
CiAgICAgfQogfQogCkBAIC0yMTgsNyArMjE0LDcgQEAgdm9pZCBSZWFsdGltZUFuYWx5c2VyOjpn
ZXRGbG9hdEZyZXF1ZW5jeURhdGEoRmxvYXQzMkFycmF5KiBkZXN0aW5hdGlvbkFycmF5KQogICAg
IC8vIENvbnZlcnQgZnJvbSBsaW5lYXIgbWFnbml0dWRlIHRvIGZsb2F0aW5nLXBvaW50IGRlY2li
ZWxzLgogICAgIGNvbnN0IGRvdWJsZSBtaW5EZWNpYmVscyA9IG1fbWluRGVjaWJlbHM7CiAgICAg
dW5zaWduZWQgc291cmNlTGVuZ3RoID0gbWFnbml0dWRlQnVmZmVyKCkuc2l6ZSgpOwotICAgIHNp
emVfdCBsZW4gPSBtaW4oc291cmNlTGVuZ3RoLCBkZXN0aW5hdGlvbkFycmF5LT5sZW5ndGgoKSk7
CisgICAgc2l6ZV90IGxlbiA9IHN0ZDo6bWluKHNvdXJjZUxlbmd0aCwgZGVzdGluYXRpb25BcnJh
eS0+bGVuZ3RoKCkpOwogICAgIGlmIChsZW4gPiAwKSB7CiAgICAgICAgIGNvbnN0IGZsb2F0KiBz
b3VyY2UgPSBtYWduaXR1ZGVCdWZmZXIoKS5kYXRhKCk7CiAgICAgICAgIGZsb2F0KiBkZXN0aW5h
dGlvbiA9IGRlc3RpbmF0aW9uQXJyYXktPmRhdGEoKTsKQEAgLTIyNiw3ICsyMjIsNyBAQCB2b2lk
IFJlYWx0aW1lQW5hbHlzZXI6OmdldEZsb2F0RnJlcXVlbmN5RGF0YShGbG9hdDMyQXJyYXkqIGRl
c3RpbmF0aW9uQXJyYXkpCiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW47ICsr
aSkgewogICAgICAgICAgICAgZmxvYXQgbGluZWFyVmFsdWUgPSBzb3VyY2VbaV07CiAgICAgICAg
ICAgICBkb3VibGUgZGJNYWcgPSAhbGluZWFyVmFsdWUgPyBtaW5EZWNpYmVscyA6IEF1ZGlvVXRp
bGl0aWVzOjpsaW5lYXJUb0RlY2liZWxzKGxpbmVhclZhbHVlKTsKLSAgICAgICAgICAgIGRlc3Rp
bmF0aW9uW2ldID0gZmxvYXQoZGJNYWcpOworICAgICAgICAgICAgZGVzdGluYXRpb25baV0gPSBz
dGF0aWNfY2FzdDxmbG9hdD4oZGJNYWcpOwogICAgICAgICB9CiAgICAgfQogfQpAQCAtMjQyLDcg
KzIzOCw3IEBAIHZvaWQgUmVhbHRpbWVBbmFseXNlcjo6Z2V0Qnl0ZUZyZXF1ZW5jeURhdGEoVWlu
dDhBcnJheSogZGVzdGluYXRpb25BcnJheSkKICAgICAKICAgICAvLyBDb252ZXJ0IGZyb20gbGlu
ZWFyIG1hZ25pdHVkZSB0byB1bnNpZ25lZC1ieXRlIGRlY2liZWxzLgogICAgIHVuc2lnbmVkIHNv
dXJjZUxlbmd0aCA9IG1hZ25pdHVkZUJ1ZmZlcigpLnNpemUoKTsKLSAgICBzaXplX3QgbGVuID0g
bWluKHNvdXJjZUxlbmd0aCwgZGVzdGluYXRpb25BcnJheS0+bGVuZ3RoKCkpOworICAgIHNpemVf
dCBsZW4gPSBzdGQ6Om1pbihzb3VyY2VMZW5ndGgsIGRlc3RpbmF0aW9uQXJyYXktPmxlbmd0aCgp
KTsKICAgICBpZiAobGVuID4gMCkgewogICAgICAgICBjb25zdCBkb3VibGUgcmFuZ2VTY2FsZUZh
Y3RvciA9IG1fbWF4RGVjaWJlbHMgPT0gbV9taW5EZWNpYmVscyA/IDEgOiAxIC8gKG1fbWF4RGVj
aWJlbHMgLSBtX21pbkRlY2liZWxzKTsKICAgICAgICAgY29uc3QgZG91YmxlIG1pbkRlY2liZWxz
ID0gbV9taW5EZWNpYmVsczsKQEAgLTI3Niw3ICsyNzIsNyBAQCB2b2lkIFJlYWx0aW1lQW5hbHlz
ZXI6OmdldEJ5dGVUaW1lRG9tYWluRGF0YShVaW50OEFycmF5KiBkZXN0aW5hdGlvbkFycmF5KQog
ICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIHVuc2lnbmVkIGZmdFNpemUgPSB0aGlzLT5m
ZnRTaXplKCk7Ci0gICAgc2l6ZV90IGxlbiA9IG1pbihmZnRTaXplLCBkZXN0aW5hdGlvbkFycmF5
LT5sZW5ndGgoKSk7CisgICAgc2l6ZV90IGxlbiA9IHN0ZDo6bWluKGZmdFNpemUsIGRlc3RpbmF0
aW9uQXJyYXktPmxlbmd0aCgpKTsKICAgICBpZiAobGVuID4gMCkgewogICAgICAgICBib29sIGlz
SW5wdXRCdWZmZXJHb29kID0gbV9pbnB1dEJ1ZmZlci5zaXplKCkgPT0gSW5wdXRCdWZmZXJTaXpl
ICYmIG1faW5wdXRCdWZmZXIuc2l6ZSgpID4gZmZ0U2l6ZTsKICAgICAgICAgQVNTRVJUKGlzSW5w
dXRCdWZmZXJHb29kKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0JpcXVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9CaXF1YWQuY3BwCmlu
ZGV4IGQ2Nzk5YzY5ZDNmZDVkMjExNTRmMzc4MDkyOTAxOTcwN2I3MGU2OWEuLmNkMjljZGYzZWM5
M2IwZTJhZDk4ZDNmY2ZiY2ZmYWNiMWJjYTE0YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0JpcXVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQmlxdWFkLmNwcApAQCAtNTIyLDcgKzUyMiw3IEBAIHZvaWQgQmlxdWFkOjpzZXRCYW5k
cGFzc1BhcmFtcyhkb3VibGUgZnJlcXVlbmN5LCBkb3VibGUgUSkKICAgICB9CiB9CiAKLXZvaWQg
QmlxdWFkOjpzZXRaZXJvUG9sZVBhaXJzKGNvbnN0IENvbXBsZXggJnplcm8sIGNvbnN0IENvbXBs
ZXggJnBvbGUpCit2b2lkIEJpcXVhZDo6c2V0WmVyb1BvbGVQYWlycyhzdGQ6OmNvbXBsZXg8ZG91
YmxlPiB6ZXJvLCBzdGQ6OmNvbXBsZXg8ZG91YmxlPiBwb2xlKQogewogICAgIGRvdWJsZSBiMCA9
IDE7CiAgICAgZG91YmxlIGIxID0gLTIgKiB6ZXJvLnJlYWwoKTsKQEAgLTUzNyw5ICs1MzcsOSBA
QCB2b2lkIEJpcXVhZDo6c2V0WmVyb1BvbGVQYWlycyhjb25zdCBDb21wbGV4ICZ6ZXJvLCBjb25z
dCBDb21wbGV4ICZwb2xlKQogICAgIHNldE5vcm1hbGl6ZWRDb2VmZmljaWVudHMoYjAsIGIxLCBi
MiwgMSwgYTEsIGEyKTsKIH0KIAotdm9pZCBCaXF1YWQ6OnNldEFsbHBhc3NQb2xlKGNvbnN0IENv
bXBsZXggJnBvbGUpCit2b2lkIEJpcXVhZDo6c2V0QWxscGFzc1BvbGUoc3RkOjpjb21wbGV4PGRv
dWJsZT4gcG9sZSkKIHsKLSAgICBDb21wbGV4IHplcm8gPSBDb21wbGV4KDEsIDApIC8gcG9sZTsK
KyAgICBzdGQ6OmNvbXBsZXg8ZG91YmxlPiB6ZXJvID0gc3RkOjpjb21wbGV4PGRvdWJsZT4oMSwg
MCkgLyBwb2xlOwogICAgIHNldFplcm9Qb2xlUGFpcnMoemVybywgcG9sZSk7CiB9CiAKQEAgLTU3
MywxMCArNTczLDEwIEBAIHZvaWQgQmlxdWFkOjpnZXRGcmVxdWVuY3lSZXNwb25zZShpbnQgbkZy
ZXF1ZW5jaWVzLAogICAgIAogICAgIGZvciAoaW50IGsgPSAwOyBrIDwgbkZyZXF1ZW5jaWVzOyAr
K2spIHsKICAgICAgICAgZG91YmxlIG9tZWdhID0gLXBpRG91YmxlICogZnJlcXVlbmN5W2tdOwot
ICAgICAgICBDb21wbGV4IHogPSBDb21wbGV4KGNvcyhvbWVnYSksIHNpbihvbWVnYSkpOwotICAg
ICAgICBDb21wbGV4IG51bWVyYXRvciA9IGIwICsgKGIxICsgYjIgKiB6KSAqIHo7Ci0gICAgICAg
IENvbXBsZXggZGVub21pbmF0b3IgPSBDb21wbGV4KDEsIDApICsgKGExICsgYTIgKiB6KSAqIHo7
Ci0gICAgICAgIENvbXBsZXggcmVzcG9uc2UgPSBudW1lcmF0b3IgLyBkZW5vbWluYXRvcjsKKyAg
ICAgICAgc3RkOjpjb21wbGV4PGRvdWJsZT4geiA9IHN0ZDo6Y29tcGxleDxkb3VibGU+KGNvcyhv
bWVnYSksIHNpbihvbWVnYSkpOworICAgICAgICBzdGQ6OmNvbXBsZXg8ZG91YmxlPiBudW1lcmF0
b3IgPSBiMCArIChiMSArIGIyICogeikgKiB6OworICAgICAgICBzdGQ6OmNvbXBsZXg8ZG91Ymxl
PiBkZW5vbWluYXRvciA9IHN0ZDo6Y29tcGxleDxkb3VibGU+KDEsIDApICsgKGExICsgYTIgKiB6
KSAqIHo7CisgICAgICAgIHN0ZDo6Y29tcGxleDxkb3VibGU+IHJlc3BvbnNlID0gbnVtZXJhdG9y
IC8gZGVub21pbmF0b3I7CiAgICAgICAgIG1hZ1Jlc3BvbnNlW2tdID0gc3RhdGljX2Nhc3Q8Zmxv
YXQ+KGFicyhyZXNwb25zZSkpOwogICAgICAgICBwaGFzZVJlc3BvbnNlW2tdID0gc3RhdGljX2Nh
c3Q8ZmxvYXQ+KGF0YW4yKGltYWcocmVzcG9uc2UpLCByZWFsKHJlc3BvbnNlKSkpOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0JpcXVhZC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQmlxdWFkLmgKaW5kZXggODIyZmM1MTZhM2RkN2Ex
NzkzNWVlZTYxMWQ3MzRkNmFjYzBhZDk0MS4uZTNlNjEyNzA2YjBmMzY2YTdhNjYzMzI2MTg3N2U2
ZjllOGE3NDQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQmlx
dWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQmlxdWFkLmgKQEAgLTMw
LDggKzMwLDggQEAKICNkZWZpbmUgQmlxdWFkX2gKIAogI2luY2x1ZGUgIkF1ZGlvQXJyYXkuaCIK
KyNpbmNsdWRlIDxjb21wbGV4PgogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHd0
Zi9Db21wbGV4Lmg+CiAgCiAjaWYgVVNFKFdFQkFVRElPX0lQUCkKICNpbmNsdWRlIDxpcHBzLmg+
CkBAIC02NCwxMSArNjQsMTEgQEAgcHVibGljOgogCiAgICAgLy8gU2V0IHRoZSBiaXF1YWQgY29l
ZmZpY2llbnRzIGdpdmVuIGEgc2luZ2xlIHplcm8gKG90aGVyIHplcm8gd2lsbCBiZSBjb25qdWdh
dGUpCiAgICAgLy8gYW5kIGEgc2luZ2xlIHBvbGUgKG90aGVyIHBvbGUgd2lsbCBiZSBjb25qdWdh
dGUpCi0gICAgdm9pZCBzZXRaZXJvUG9sZVBhaXJzKGNvbnN0IENvbXBsZXgmIHplcm8sIGNvbnN0
IENvbXBsZXgmIHBvbGUpOworICAgIHZvaWQgc2V0WmVyb1BvbGVQYWlycyhzdGQ6OmNvbXBsZXg8
ZG91YmxlPiB6ZXJvLCBzdGQ6OmNvbXBsZXg8ZG91YmxlPiBwb2xlKTsKIAogICAgIC8vIFNldCB0
aGUgYmlxdWFkIGNvZWZmaWNpZW50cyBnaXZlbiBhIHNpbmdsZSBwb2xlIChvdGhlciBwb2xlIHdp
bGwgYmUgY29uanVnYXRlKQogICAgIC8vIChUaGUgemVyb2VzIHdpbGwgYmUgdGhlIGludmVyc2Ug
b2YgdGhlIHBvbGVzKQotICAgIHZvaWQgc2V0QWxscGFzc1BvbGUoY29uc3QgQ29tcGxleCYgcG9s
ZSk7CisgICAgdm9pZCBzZXRBbGxwYXNzUG9sZShzdGQ6OmNvbXBsZXg8ZG91YmxlPik7CiAKICAg
ICAvLyBSZXNldHMgZmlsdGVyIHN0YXRlCiAgICAgdm9pZCByZXNldCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRkZURnJhbWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vRkZURnJhbWUuY3BwCmluZGV4IGExYTBhNTBkYWNlYmNiNmQ5MDM2
NDRjNjAyZDE0NDhjODAyOWIyMmIuLjQwNDMyMTJlODVhYTg4NDE3ODg5Yjg5Y2EyNGY1MjQ1NzUx
ZjU4Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0ZGVEZyYW1l
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRGcmFtZS5jcHAKQEAg
LTM3LDcgKzM3LDYgQEAKICNlbmRpZgogCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1ZGUg
PHd0Zi9Db21wbGV4Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAKQEAgLTk5LDggKzk4LDggQEAgdm9pZCBGRlRGcmFtZTo6aW50ZXJwb2xh
dGVGcmVxdWVuY3lDb21wb25lbnRzKGNvbnN0IEZGVEZyYW1lJiBmcmFtZTEsIGNvbnN0IEZGVEYK
ICAgICBpbnQgbiA9IG1fRkZUU2l6ZSAvIDI7CiAKICAgICBmb3IgKGludCBpID0gMTsgaSA8IG47
ICsraSkgewotICAgICAgICBDb21wbGV4IGMxKHJlYWxQMVtpXSwgaW1hZ1AxW2ldKTsKLSAgICAg
ICAgQ29tcGxleCBjMihyZWFsUDJbaV0sIGltYWdQMltpXSk7CisgICAgICAgIHN0ZDo6Y29tcGxl
eDxkb3VibGU+IGMxKHJlYWxQMVtpXSwgaW1hZ1AxW2ldKTsKKyAgICAgICAgc3RkOjpjb21wbGV4
PGRvdWJsZT4gYzIocmVhbFAyW2ldLCBpbWFnUDJbaV0pOwogCiAgICAgICAgIGRvdWJsZSBtYWcx
ID0gYWJzKGMxKTsKICAgICAgICAgZG91YmxlIG1hZzIgPSBhYnMoYzIpOwpAQCAtMTY2LDcgKzE2
NSw3IEBAIHZvaWQgRkZURnJhbWU6OmludGVycG9sYXRlRnJlcXVlbmN5Q29tcG9uZW50cyhjb25z
dCBGRlRGcmFtZSYgZnJhbWUxLCBjb25zdCBGRlRGCiAgICAgICAgIGlmIChwaGFzZUFjY3VtIDwg
LXBpRG91YmxlKQogICAgICAgICAgICAgcGhhc2VBY2N1bSArPSAyLjAgKiBwaURvdWJsZTsKIAot
ICAgICAgICBDb21wbGV4IGMgPSBjb21wbGV4RnJvbU1hZ25pdHVkZVBoYXNlKG1hZywgcGhhc2VB
Y2N1bSk7CisgICAgICAgIHN0ZDo6Y29tcGxleDxkb3VibGU+IGMgPSBzdGQ6OnBvbGFyKG1hZywg
cGhhc2VBY2N1bSk7CiAKICAgICAgICAgcmVhbFBbaV0gPSBzdGF0aWNfY2FzdDxmbG9hdD4oYy5y
ZWFsKCkpOwogICAgICAgICBpbWFnUFtpXSA9IHN0YXRpY19jYXN0PGZsb2F0PihjLmltYWcoKSk7
CkBAIC0xODgsNyArMTg3LDcgQEAgZG91YmxlIEZGVEZyYW1lOjpleHRyYWN0QXZlcmFnZUdyb3Vw
RGVsYXkoKQogCiAgICAgLy8gQ2FsY3VsYXRlIHdlaWdodGVkIGF2ZXJhZ2UgZ3JvdXAgZGVsYXkK
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IGhhbGZTaXplOyBpKyspIHsKLSAgICAgICAgQ29tcGxl
eCBjKHJlYWxQW2ldLCBpbWFnUFtpXSk7CisgICAgICAgIHN0ZDo6Y29tcGxleDxkb3VibGU+IGMo
cmVhbFBbaV0sIGltYWdQW2ldKTsKICAgICAgICAgZG91YmxlIG1hZyA9IGFicyhjKTsKICAgICAg
ICAgZG91YmxlIHBoYXNlID0gYXJnKGMpOwogCkBAIC0yMzUsMTMgKzIzNCwxMyBAQCB2b2lkIEZG
VEZyYW1lOjphZGRDb25zdGFudEdyb3VwRGVsYXkoZG91YmxlIHNhbXBsZUZyYW1lRGVsYXkpCiAK
ICAgICAvLyBBZGQgY29uc3RhbnQgZ3JvdXAgZGVsYXkKICAgICBmb3IgKGludCBpID0gMTsgaSA8
IGhhbGZTaXplOyBpKyspIHsKLSAgICAgICAgQ29tcGxleCBjKHJlYWxQW2ldLCBpbWFnUFtpXSk7
CisgICAgICAgIHN0ZDo6Y29tcGxleDxkb3VibGU+IGMocmVhbFBbaV0sIGltYWdQW2ldKTsKICAg
ICAgICAgZG91YmxlIG1hZyA9IGFicyhjKTsKICAgICAgICAgZG91YmxlIHBoYXNlID0gYXJnKGMp
OwogCiAgICAgICAgIHBoYXNlICs9IGkgKiBwaGFzZUFkajsKIAotICAgICAgICBDb21wbGV4IGMy
ID0gY29tcGxleEZyb21NYWduaXR1ZGVQaGFzZShtYWcsIHBoYXNlKTsKKyAgICAgICAgc3RkOjpj
b21wbGV4PGRvdWJsZT4gYzIgPSBzdGQ6OnBvbGFyKG1hZywgcGhhc2UpOwogCiAgICAgICAgIHJl
YWxQW2ldID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGMyLnJlYWwoKSk7CiAgICAgICAgIGltYWdQW2ld
ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGMyLmltYWcoKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201499</attachid>
            <date>2013-05-12 11:33:22 -0700</date>
            <delta_ts>2013-05-12 12:06:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115989-20130512113221.patch</filename>
            <type>text/plain</type>
            <size>19917</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5OTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZkNTE0MTdlMDNlNjUyZmFjNDA5ZDY2
OWY4ZTU0MjZiNDk1YTkzZTkuLjFiODBjZDhhM2NkMWQ5NmQ1NDM3Y2E0MDAwNTQzYzA1MGQxZTdj
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTMtMDUtMTIgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW1vdmUgQ29tcGxleC5oIGZyb20gV1RGCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU5ODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21wbGV4Lmgg
Y29udGFpbnMgYSB0eXBlZGVmIGFuZCBhIHNpbmdsZSBmdW5jdGlvbiAodGhhdCBhbHJlYWR5IGhh
cyBhbiBlcXVpdmFsZW50IGluIHRoZSBTVEwpLgorICAgICAgICBUaGUgaGVhZGVyIGlzIHVzZWQg
YnkgdGhyZWUgZmlsZXMgaW4gV2ViQ29yZSwgc28ganVzdCB1c2Ugc3RkOjpjb21wbGV4PGRvdWJs
ZT4gYW5kIHN0ZDo6cG9vbGFyIGRpcmVjdGx5LgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBXVEYudmNwcm9qL1dURi52Y3Byb2o6CisgICAgICAgICogV1RGLnZj
eHByb2ovV1RGLnZjeHByb2o6CisgICAgICAgICogV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmls
dGVyczoKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiB3dGYvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogd3RmL0NvbXBsZXguaDogUmVtb3ZlZC4K
KworMjAxMy0wNS0xMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAg
ICAgICAgIFNpbXBsaWZ5IEF1dG9kcmFpbmVkUG9vbAogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1OTg2CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0ZjUwZWQ4MmE5
ZWZjZDRmYzM3YmUyZjFmMjY5ZjYyMzk4OWNlNDE4Li4wNTc1OTA5M2FhNGY5NjEzYmRlZmU2N2Y0
ZDllNTE4ODk5MTA4MjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzAgQEAKIDIwMTMtMDUtMTIg
IEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW1vdmUg
Q29tcGxleC5oIGZyb20gV1RGCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTU5ODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZXBsYWNlIENvbXBsZXggZGVjbGFyYXRpb25zIHdpdGggc3RkOjpjb21wbGV4
PGRvdWJsZT4uIFBhc3MgYnkgdmFsdWUgc2luY2UgdGhlIHN0cnVjdAorICAgICAgICBpcyBzbWFs
bCBlbm91Z2ggdG8gZ28gaW50byB0d28gcmVnaXN0ZXJzIG9uIFg4Ni02NC4KKworICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZWFsdGltZUFuYWx5c2VyOjpkb0ZGVEFuYWx5c2lzKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
YWx0aW1lQW5hbHlzZXI6OmdldEZsb2F0RnJlcXVlbmN5RGF0YSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZWFsdGltZUFuYWx5c2VyOjpnZXRCeXRlRnJlcXVlbmN5RGF0YSk6CisgICAgICAgIChXZWJD
b3JlOjpSZWFsdGltZUFuYWx5c2VyOjpnZXRCeXRlVGltZURvbWFpbkRhdGEpOgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL0JpcXVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXF1YWQ6OnNl
dFplcm9Qb2xlUGFpcnMpOgorICAgICAgICAoV2ViQ29yZTo6QmlxdWFkOjpzZXRBbGxwYXNzUG9s
ZSk6CisgICAgICAgIChXZWJDb3JlOjpCaXF1YWQ6OmdldEZyZXF1ZW5jeVJlc3BvbnNlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9CaXF1YWQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9GRlRGcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGRlRGcmFtZTo6aW50ZXJwb2xhdGVG
cmVxdWVuY3lDb21wb25lbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkZGVEZyYW1lOjpleHRyYWN0
QXZlcmFnZUdyb3VwRGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6RkZURnJhbWU6OmFkZENvbnN0
YW50R3JvdXBEZWxheSk6CisKKzIwMTMtMDUtMTIgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2Nh
QGFwcGxlLmNvbT4KKwogICAgICAgICBTaW1wbGlmeSBBdXRvZHJhaW5lZFBvb2wKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNTk4NgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV1RGL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KaW5kZXggYWRjYTk0NzA5ZjNhZDg1ZDIxNTM2MjQ5ZTlkNWE3MDgyOGM3ZTNk
Ny4uYTMzODdiY2JhZWFmN2I5MzE3MzE0Yzg0OTMxOGYxNDBiYzU4YTEyMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XVEYvR05VbWFrZWZp
bGUubGlzdC5hbQpAQCAtMjYsNyArMjYsNiBAQCB3dGZfc291cmNlcyArPSBcCiAgICAgU291cmNl
L1dURi93dGYvQ2hlY2tlZEJvb2xlYW4uaCBcCiAgICAgU291cmNlL1dURi93dGYvQ29tbWFQcmlu
dGVyLmggXAogICAgIFNvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmggXAotICAgIFNvdXJjZS9XVEYv
d3RmL0NvbXBsZXguaCBcCiAgICAgU291cmNlL1dURi93dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5k
b21OdW1iZXIuY3BwIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRv
bU51bWJlci5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9DdXJyZW50VGltZS5jcHAgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi9XVEYudmNwcm9qL1dURi52Y3Byb2ogYi9Tb3VyY2UvV1RGL1dURi52
Y3Byb2ovV1RGLnZjcHJvagppbmRleCAzMmEyMGM5ZDAzNDEzOGE1MGZhMzhiODcwODcwMGQ1NzA4
ZTQ0NzBmLi45MzJiYmNkMGJmMjUxMGM4NTgyMTE1ZmQxZTBlMzQ2NGZhOTZiMDY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL1dURi52Y3Byb2ovV1RGLnZjcHJvagorKysgYi9Tb3VyY2UvV1RGL1dU
Ri52Y3Byb2ovV1RGLnZjcHJvagpAQCAtNjYzLDEwICs2NjMsNiBAQAogCQkJPgogCQk8L0ZpbGU+
CiAJCTxGaWxlCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXHd0ZlxDb21wbGV4LmgiCi0JCQk+Ci0JCTwv
RmlsZT4KLQkJPEZpbGUKIAkJCVJlbGF0aXZlUGF0aD0iLi5cd3RmXENyeXB0b2dyYXBoaWNhbGx5
UmFuZG9tTnVtYmVyLmNwcCIKIAkJCT4KIAkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri9XVEYudmN4cHJvai9XVEYudmN4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZj
eHByb2oKaW5kZXggODhjMzAxM2IwNDU2YjU1MTVlYTU1MjEwMjgxMWUxYzEzZWNiMDI0Zi4uMTU4
ODY3NGQwY2JlYjBlOTQ0MDM5OTkxNWZiZWQ1YjlkMWJjZWQ0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9q
L1dURi52Y3hwcm9qCkBAIC0xMTEsNyArMTExLDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHd0ZlxDaGVja2VkQXJpdGhtZXRpYy5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHd0ZlxDaGVja2VkQm9vbGVhbi5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHd0ZlxDb21waWxlci5oIiAvPg0KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxDb21w
bGV4LmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXENyeXB0b2dyYXBoaWNh
bGx5UmFuZG9tTnVtYmVyLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXEN1
cnJlbnRUaW1lLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXERhdGFMb2cu
aCIgLz4NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZp
bHRlcnMgYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnMKaW5kZXgg
YjE2NTg0YTUzNDE5Y2YzZjE5ZDU2N2VhYmZkNDk3OTgxN2U5Nzk5Ny4uM2M0YzY5MjliZmRkOTQ5
ZGY2NTM5OGZlN2Y1NzlkNDUxYTliZjcxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYudmN4
cHJvai9XVEYudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RG
LnZjeHByb2ouZmlsdGVycwpAQCAtMzcyLDkgKzM3Miw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlx3dGZcQ29tcGlsZXIuaCI+DQogICAgICAgPEZpbHRlcj53dGY8L0ZpbHRlcj4NCiAg
ICAgPC9DbEluY2x1ZGU+DQotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXENvbXBsZXgu
aCI+DQotICAgICAgPEZpbHRlcj53dGY8L0ZpbHRlcj4NCi0gICAgPC9DbEluY2x1ZGU+DQogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXENyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVy
LmgiPg0KICAgICAgIDxGaWx0ZXI+d3RmPC9GaWx0ZXI+DQogICAgIDwvQ2xJbmNsdWRlPg0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVmNjA4NTFlMmFjNTUz
ZDU1NTkzNWM1YThkZDNhMzU2OWQ4NjJlZDkuLjNjYjBjYjNiMmJjMDcxMTNmNzkyOGRlMWQ3NGIz
NDMyOTliZDdkMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNzUsNyArNzUsNiBAQAogCQlBOEE0NzM5NDE1MUE4MjVCMDA0MTIzRkYgLyogQ2hlY2tlZEFy
aXRobWV0aWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE4QTQ3MjZBMTUxQTgyNUEwMDQxMjNGRiAvKiBDaGVja2VkQXJpdGhtZXRpYy5oICovOyB9Owog
CQlBOEE0NzM5NTE1MUE4MjVCMDA0MTIzRkYgLyogQ2hlY2tlZEJvb2xlYW4uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QTQ3MjZCMTUxQTgyNUEwMDQx
MjNGRiAvKiBDaGVja2VkQm9vbGVhbi5oICovOyB9OwogCQlBOEE0NzM5ODE1MUE4MjVCMDA0MTIz
RkYgLyogQ29tcGlsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE4QTQ3MjcwMTUxQTgyNUEwMDQxMjNGRiAvKiBDb21waWxlci5oICovOyB9OwotCQlB
OEE0NzM5OTE1MUE4MjVCMDA0MTIzRkYgLyogQ29tcGxleC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDcyNzExNTFBODI1QTAwNDEyM0ZGIC8qIENv
bXBsZXguaCAqLzsgfTsKIAkJQThBNDczOUExNTFBODI1QjAwNDEyM0ZGIC8qIENyeXB0b2dyYXBo
aWNhbGx5UmFuZG9tTnVtYmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE4QTQ3MjczMTUxQTgyNUEwMDQxMjNGRiAvKiBDcnlwdG9ncmFwaGljYWxs
eVJhbmRvbU51bWJlci5jcHAgKi87IH07CiAJCUE4QTQ3MzlCMTUxQTgyNUIwMDQxMjNGRiAvKiBD
cnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDcyNzQxNTFBODI1QTAwNDEyM0ZGIC8qIENyeXB0b2dy
YXBoaWNhbGx5UmFuZG9tTnVtYmVyLmggKi87IH07CiAJCUE4QTQ3MzlDMTUxQTgyNUIwMDQxMjNG
RiAvKiBDdXJyZW50VGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBOEE0NzI3NTE1MUE4MjVBMDA0MTIzRkYgLyogQ3VycmVudFRpbWUuY3BwICov
OyB9OwpAQCAtMzQ1LDcgKzM0NCw2IEBACiAJCUE4QTQ3MjZBMTUxQTgyNUEwMDQxMjNGRiAvKiBD
aGVja2VkQXJpdGhtZXRpYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDaGVj
a2VkQXJpdGhtZXRpYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOEE0NzI2QjE1
MUE4MjVBMDA0MTIzRkYgLyogQ2hlY2tlZEJvb2xlYW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ2hlY2tlZEJvb2xlYW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQThBNDcyNzAxNTFBODI1QTAwNDEyM0ZGIC8qIENvbXBpbGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbXBpbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCUE4QTQ3MjcxMTUxQTgyNUEwMDQxMjNGRiAvKiBDb21wbGV4LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbXBsZXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQThBNDcyNzMxNTFBODI1QTAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVt
YmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENyeXB0b2dyYXBo
aWNhbGx5UmFuZG9tTnVtYmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThB
NDcyNzQxNTFBODI1QTAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b2dyYXBoaWNhbGx5UmFuZG9t
TnVtYmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4QTQ3Mjc1MTUxQTgyNUEw
MDQxMjNGRiAvKiBDdXJyZW50VGltZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDdXJyZW50VGltZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02
MjksNyArNjI3LDYgQEAKIAkJCQlBOEE0NzI2QjE1MUE4MjVBMDA0MTIzRkYgLyogQ2hlY2tlZEJv
b2xlYW4uaCAqLywKIAkJCQkwRkM0RURFNTE2OTYxNDk2MDBGNjUwNDEgLyogQ29tbWFQcmludGVy
LmggKi8sCiAJCQkJQThBNDcyNzAxNTFBODI1QTAwNDEyM0ZGIC8qIENvbXBpbGVyLmggKi8sCi0J
CQkJQThBNDcyNzExNTFBODI1QTAwNDEyM0ZGIC8qIENvbXBsZXguaCAqLywKIAkJCQlBOEE0NzI3
MzE1MUE4MjVBMDA0MTIzRkYgLyogQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuY3BwICov
LAogCQkJCUE4QTQ3Mjc0MTUxQTgyNUEwMDQxMjNGRiAvKiBDcnlwdG9ncmFwaGljYWxseVJhbmRv
bU51bWJlci5oICovLAogCQkJCUE4QTQ3Mjc1MTUxQTgyNUEwMDQxMjNGRiAvKiBDdXJyZW50VGlt
ZS5jcHAgKi8sCkBAIC05NDQsNyArOTQxLDYgQEAKIAkJCQlBOEE0NzQ1RjE1MUE4MjVCMDA0MTIz
RkYgLyogQ29sbGF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQzRFREU2MTY5NjE0OTYwMEY2
NTA0MSAvKiBDb21tYVByaW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3Mzk4MTUxQTgy
NUIwMDQxMjNGRiAvKiBDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDczOTkxNTFB
ODI1QjAwNDEyM0ZGIC8qIENvbXBsZXguaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDhDMTUx
QTgyNjQwMDQxMjNGRiAvKiBjb25maWcuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3MzlCMTUx
QTgyNUIwMDQxMjNGRiAvKiBDcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQThBNDc0M0ExNTFBODI1QjAwNDEyM0ZGIC8qIENTdHJpbmcuaCBpbiBIZWFk
ZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCAwMjc5MjcwOTAxY2M1MmY0YzNiZjBiNTll
OWM2MTgwNmE2YzVmNTYxLi5hZDQ3OTc3N2RjMjM2MTcxZDZmY2Y0ZWNiNjFlOGZhNWYxMWNiN2U2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtMTEsNyArMTEsNiBAQCBzZXQoV1RGX0hFQURFUlMK
ICAgICBCdW1wUG9pbnRlckFsbG9jYXRvci5oCiAgICAgQnl0ZU9yZGVyLmgKICAgICBDb21waWxl
ci5oCi0gICAgQ29tcGxleC5oCiAgICAgQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaAog
ICAgIEN1cnJlbnRUaW1lLmgKICAgICBEYXRlTWF0aC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9Db21wbGV4LmggYi9Tb3VyY2UvV1RGL3d0Zi9Db21wbGV4LmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDQwZmU1NmE3YmI3NTQ0MmVmYWU0ZDU4OWNmNDk3MGZjZmZlZTU2Zjku
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dU
Ri93dGYvQ29tcGxleC5oCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIElu
Yy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYg
V1RGX0NvbXBsZXhfaAotI2RlZmluZSBXVEZfQ29tcGxleF9oCi0KLSNpbmNsdWRlIDxjb21wbGV4
PgotI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+Ci0KLW5hbWVzcGFjZSBXVEYgewotCi10eXBl
ZGVmIHN0ZDo6Y29tcGxleDxkb3VibGU+IENvbXBsZXg7Ci0KLWlubGluZSBDb21wbGV4IGNvbXBs
ZXhGcm9tTWFnbml0dWRlUGhhc2UoZG91YmxlIG1hZ25pdHVkZSwgZG91YmxlIHBoYXNlKQotewot
ICAgIHJldHVybiBDb21wbGV4KG1hZ25pdHVkZSAqIGNvcyhwaGFzZSksIG1hZ25pdHVkZSAqIHNp
bihwaGFzZSkpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXVEYKLQotdXNpbmcgV1RGOjpDb21wbGV4
OwotdXNpbmcgV1RGOjpjb21wbGV4RnJvbU1hZ25pdHVkZVBoYXNlOwotCi0jZW5kaWYgLy8gV1RG
X0NvbXBsZXhfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9S
ZWFsdGltZUFuYWx5c2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUmVh
bHRpbWVBbmFseXNlci5jcHAKaW5kZXggN2E5MDljYjI2MGVlNzg2ODY2NDUzMjE1ZjgzY2ZhMWQz
MjY1NGU3Yi4uNjRhNjk4NzBlNzIxMzUwYjdhNWY0YTA3M2U0NjVmYWU3MmI5OTJlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIu
Y3BwCkBAIC0zNCwxNSArMzQsMTEgQEAKICNpbmNsdWRlICJWZWN0b3JNYXRoLmgiCiAKICNpbmNs
dWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVkZSA8bGltaXRzLmg+Ci0jaW5jbHVkZSA8d3RmL0NvbXBs
ZXguaD4KICNpbmNsdWRlIDx3dGYvRmxvYXQzMkFycmF5Lmg+CiAjaW5jbHVkZSA8d3RmL01haW5U
aHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9VaW50
OEFycmF5Lmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY29uc3QgZG91YmxlIFJlYWx0aW1lQW5hbHlzZXI6OkRlZmF1bHRTbW9vdGhpbmdUaW1lQ29u
c3RhbnQgID0gMC44OwpAQCAtMTkzLDE2ICsxODksMTYgQEAgdm9pZCBSZWFsdGltZUFuYWx5c2Vy
Ojpkb0ZGVEFuYWx5c2lzKCkKIAogICAgIC8vIEEgdmFsdWUgb2YgMCBkb2VzIG5vIGF2ZXJhZ2lu
ZyB3aXRoIHRoZSBwcmV2aW91cyByZXN1bHQuICBMYXJnZXIgdmFsdWVzIHByb2R1Y2Ugc2xvd2Vy
LCBidXQgc21vb3RoZXIgY2hhbmdlcy4KICAgICBkb3VibGUgayA9IG1fc21vb3RoaW5nVGltZUNv
bnN0YW50OwotICAgIGsgPSBtYXgoMC4wLCBrKTsKLSAgICBrID0gbWluKDEuMCwgayk7ICAgIAor
ICAgIGsgPSBzdGQ6Om1heCgwLjAsIGspOworICAgIGsgPSBzdGQ6Om1pbigxLjAsIGspOyAgICAK
ICAgICAKICAgICAvLyBDb252ZXJ0IHRoZSBhbmFseXNpcyBkYXRhIGZyb20gY29tcGxleCB0byBt
YWduaXR1ZGUgYW5kIGF2ZXJhZ2Ugd2l0aCB0aGUgcHJldmlvdXMgcmVzdWx0LgogICAgIGZsb2F0
KiBkZXN0aW5hdGlvbiA9IG1hZ25pdHVkZUJ1ZmZlcigpLmRhdGEoKTsKICAgICBzaXplX3QgbiA9
IG1hZ25pdHVkZUJ1ZmZlcigpLnNpemUoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG47
ICsraSkgewotICAgICAgICBDb21wbGV4IGMocmVhbFBbaV0sIGltYWdQW2ldKTsKKyAgICAgICAg
c3RkOjpjb21wbGV4PGRvdWJsZT4gYyhyZWFsUFtpXSwgaW1hZ1BbaV0pOwogICAgICAgICBkb3Vi
bGUgc2NhbGFyTWFnbml0dWRlID0gYWJzKGMpICogbWFnbml0dWRlU2NhbGU7ICAgICAgICAKLSAg
ICAgICAgZGVzdGluYXRpb25baV0gPSBmbG9hdChrICogZGVzdGluYXRpb25baV0gKyAoMSAtIGsp
ICogc2NhbGFyTWFnbml0dWRlKTsKKyAgICAgICAgZGVzdGluYXRpb25baV0gPSBzdGF0aWNfY2Fz
dDxmbG9hdD4oayAqIGRlc3RpbmF0aW9uW2ldICsgKDEgLSBrKSAqIHNjYWxhck1hZ25pdHVkZSk7
CiAgICAgfQogfQogCkBAIC0yMTgsNyArMjE0LDcgQEAgdm9pZCBSZWFsdGltZUFuYWx5c2VyOjpn
ZXRGbG9hdEZyZXF1ZW5jeURhdGEoRmxvYXQzMkFycmF5KiBkZXN0aW5hdGlvbkFycmF5KQogICAg
IC8vIENvbnZlcnQgZnJvbSBsaW5lYXIgbWFnbml0dWRlIHRvIGZsb2F0aW5nLXBvaW50IGRlY2li
ZWxzLgogICAgIGNvbnN0IGRvdWJsZSBtaW5EZWNpYmVscyA9IG1fbWluRGVjaWJlbHM7CiAgICAg
dW5zaWduZWQgc291cmNlTGVuZ3RoID0gbWFnbml0dWRlQnVmZmVyKCkuc2l6ZSgpOwotICAgIHNp
emVfdCBsZW4gPSBtaW4oc291cmNlTGVuZ3RoLCBkZXN0aW5hdGlvbkFycmF5LT5sZW5ndGgoKSk7
CisgICAgc2l6ZV90IGxlbiA9IHN0ZDo6bWluKHNvdXJjZUxlbmd0aCwgZGVzdGluYXRpb25BcnJh
eS0+bGVuZ3RoKCkpOwogICAgIGlmIChsZW4gPiAwKSB7CiAgICAgICAgIGNvbnN0IGZsb2F0KiBz
b3VyY2UgPSBtYWduaXR1ZGVCdWZmZXIoKS5kYXRhKCk7CiAgICAgICAgIGZsb2F0KiBkZXN0aW5h
dGlvbiA9IGRlc3RpbmF0aW9uQXJyYXktPmRhdGEoKTsKQEAgLTIyNiw3ICsyMjIsNyBAQCB2b2lk
IFJlYWx0aW1lQW5hbHlzZXI6OmdldEZsb2F0RnJlcXVlbmN5RGF0YShGbG9hdDMyQXJyYXkqIGRl
c3RpbmF0aW9uQXJyYXkpCiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW47ICsr
aSkgewogICAgICAgICAgICAgZmxvYXQgbGluZWFyVmFsdWUgPSBzb3VyY2VbaV07CiAgICAgICAg
ICAgICBkb3VibGUgZGJNYWcgPSAhbGluZWFyVmFsdWUgPyBtaW5EZWNpYmVscyA6IEF1ZGlvVXRp
bGl0aWVzOjpsaW5lYXJUb0RlY2liZWxzKGxpbmVhclZhbHVlKTsKLSAgICAgICAgICAgIGRlc3Rp
bmF0aW9uW2ldID0gZmxvYXQoZGJNYWcpOworICAgICAgICAgICAgZGVzdGluYXRpb25baV0gPSBz
dGF0aWNfY2FzdDxmbG9hdD4oZGJNYWcpOwogICAgICAgICB9CiAgICAgfQogfQpAQCAtMjQyLDcg
KzIzOCw3IEBAIHZvaWQgUmVhbHRpbWVBbmFseXNlcjo6Z2V0Qnl0ZUZyZXF1ZW5jeURhdGEoVWlu
dDhBcnJheSogZGVzdGluYXRpb25BcnJheSkKICAgICAKICAgICAvLyBDb252ZXJ0IGZyb20gbGlu
ZWFyIG1hZ25pdHVkZSB0byB1bnNpZ25lZC1ieXRlIGRlY2liZWxzLgogICAgIHVuc2lnbmVkIHNv
dXJjZUxlbmd0aCA9IG1hZ25pdHVkZUJ1ZmZlcigpLnNpemUoKTsKLSAgICBzaXplX3QgbGVuID0g
bWluKHNvdXJjZUxlbmd0aCwgZGVzdGluYXRpb25BcnJheS0+bGVuZ3RoKCkpOworICAgIHNpemVf
dCBsZW4gPSBzdGQ6Om1pbihzb3VyY2VMZW5ndGgsIGRlc3RpbmF0aW9uQXJyYXktPmxlbmd0aCgp
KTsKICAgICBpZiAobGVuID4gMCkgewogICAgICAgICBjb25zdCBkb3VibGUgcmFuZ2VTY2FsZUZh
Y3RvciA9IG1fbWF4RGVjaWJlbHMgPT0gbV9taW5EZWNpYmVscyA/IDEgOiAxIC8gKG1fbWF4RGVj
aWJlbHMgLSBtX21pbkRlY2liZWxzKTsKICAgICAgICAgY29uc3QgZG91YmxlIG1pbkRlY2liZWxz
ID0gbV9taW5EZWNpYmVsczsKQEAgLTI3Niw3ICsyNzIsNyBAQCB2b2lkIFJlYWx0aW1lQW5hbHlz
ZXI6OmdldEJ5dGVUaW1lRG9tYWluRGF0YShVaW50OEFycmF5KiBkZXN0aW5hdGlvbkFycmF5KQog
ICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIHVuc2lnbmVkIGZmdFNpemUgPSB0aGlzLT5m
ZnRTaXplKCk7Ci0gICAgc2l6ZV90IGxlbiA9IG1pbihmZnRTaXplLCBkZXN0aW5hdGlvbkFycmF5
LT5sZW5ndGgoKSk7CisgICAgc2l6ZV90IGxlbiA9IHN0ZDo6bWluKGZmdFNpemUsIGRlc3RpbmF0
aW9uQXJyYXktPmxlbmd0aCgpKTsKICAgICBpZiAobGVuID4gMCkgewogICAgICAgICBib29sIGlz
SW5wdXRCdWZmZXJHb29kID0gbV9pbnB1dEJ1ZmZlci5zaXplKCkgPT0gSW5wdXRCdWZmZXJTaXpl
ICYmIG1faW5wdXRCdWZmZXIuc2l6ZSgpID4gZmZ0U2l6ZTsKICAgICAgICAgQVNTRVJUKGlzSW5w
dXRCdWZmZXJHb29kKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0JpcXVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9CaXF1YWQuY3BwCmlu
ZGV4IGQ2Nzk5YzY5ZDNmZDVkMjExNTRmMzc4MDkyOTAxOTcwN2I3MGU2OWEuLmNkMjljZGYzZWM5
M2IwZTJhZDk4ZDNmY2ZiY2ZmYWNiMWJjYTE0YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0JpcXVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQmlxdWFkLmNwcApAQCAtNTIyLDcgKzUyMiw3IEBAIHZvaWQgQmlxdWFkOjpzZXRCYW5k
cGFzc1BhcmFtcyhkb3VibGUgZnJlcXVlbmN5LCBkb3VibGUgUSkKICAgICB9CiB9CiAKLXZvaWQg
QmlxdWFkOjpzZXRaZXJvUG9sZVBhaXJzKGNvbnN0IENvbXBsZXggJnplcm8sIGNvbnN0IENvbXBs
ZXggJnBvbGUpCit2b2lkIEJpcXVhZDo6c2V0WmVyb1BvbGVQYWlycyhzdGQ6OmNvbXBsZXg8ZG91
YmxlPiB6ZXJvLCBzdGQ6OmNvbXBsZXg8ZG91YmxlPiBwb2xlKQogewogICAgIGRvdWJsZSBiMCA9
IDE7CiAgICAgZG91YmxlIGIxID0gLTIgKiB6ZXJvLnJlYWwoKTsKQEAgLTUzNyw5ICs1MzcsOSBA
QCB2b2lkIEJpcXVhZDo6c2V0WmVyb1BvbGVQYWlycyhjb25zdCBDb21wbGV4ICZ6ZXJvLCBjb25z
dCBDb21wbGV4ICZwb2xlKQogICAgIHNldE5vcm1hbGl6ZWRDb2VmZmljaWVudHMoYjAsIGIxLCBi
MiwgMSwgYTEsIGEyKTsKIH0KIAotdm9pZCBCaXF1YWQ6OnNldEFsbHBhc3NQb2xlKGNvbnN0IENv
bXBsZXggJnBvbGUpCit2b2lkIEJpcXVhZDo6c2V0QWxscGFzc1BvbGUoc3RkOjpjb21wbGV4PGRv
dWJsZT4gcG9sZSkKIHsKLSAgICBDb21wbGV4IHplcm8gPSBDb21wbGV4KDEsIDApIC8gcG9sZTsK
KyAgICBzdGQ6OmNvbXBsZXg8ZG91YmxlPiB6ZXJvID0gc3RkOjpjb21wbGV4PGRvdWJsZT4oMSwg
MCkgLyBwb2xlOwogICAgIHNldFplcm9Qb2xlUGFpcnMoemVybywgcG9sZSk7CiB9CiAKQEAgLTU3
MywxMCArNTczLDEwIEBAIHZvaWQgQmlxdWFkOjpnZXRGcmVxdWVuY3lSZXNwb25zZShpbnQgbkZy
ZXF1ZW5jaWVzLAogICAgIAogICAgIGZvciAoaW50IGsgPSAwOyBrIDwgbkZyZXF1ZW5jaWVzOyAr
K2spIHsKICAgICAgICAgZG91YmxlIG9tZWdhID0gLXBpRG91YmxlICogZnJlcXVlbmN5W2tdOwot
ICAgICAgICBDb21wbGV4IHogPSBDb21wbGV4KGNvcyhvbWVnYSksIHNpbihvbWVnYSkpOwotICAg
ICAgICBDb21wbGV4IG51bWVyYXRvciA9IGIwICsgKGIxICsgYjIgKiB6KSAqIHo7Ci0gICAgICAg
IENvbXBsZXggZGVub21pbmF0b3IgPSBDb21wbGV4KDEsIDApICsgKGExICsgYTIgKiB6KSAqIHo7
Ci0gICAgICAgIENvbXBsZXggcmVzcG9uc2UgPSBudW1lcmF0b3IgLyBkZW5vbWluYXRvcjsKKyAg
ICAgICAgc3RkOjpjb21wbGV4PGRvdWJsZT4geiA9IHN0ZDo6Y29tcGxleDxkb3VibGU+KGNvcyhv
bWVnYSksIHNpbihvbWVnYSkpOworICAgICAgICBzdGQ6OmNvbXBsZXg8ZG91YmxlPiBudW1lcmF0
b3IgPSBiMCArIChiMSArIGIyICogeikgKiB6OworICAgICAgICBzdGQ6OmNvbXBsZXg8ZG91Ymxl
PiBkZW5vbWluYXRvciA9IHN0ZDo6Y29tcGxleDxkb3VibGU+KDEsIDApICsgKGExICsgYTIgKiB6
KSAqIHo7CisgICAgICAgIHN0ZDo6Y29tcGxleDxkb3VibGU+IHJlc3BvbnNlID0gbnVtZXJhdG9y
IC8gZGVub21pbmF0b3I7CiAgICAgICAgIG1hZ1Jlc3BvbnNlW2tdID0gc3RhdGljX2Nhc3Q8Zmxv
YXQ+KGFicyhyZXNwb25zZSkpOwogICAgICAgICBwaGFzZVJlc3BvbnNlW2tdID0gc3RhdGljX2Nh
c3Q8ZmxvYXQ+KGF0YW4yKGltYWcocmVzcG9uc2UpLCByZWFsKHJlc3BvbnNlKSkpOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0JpcXVhZC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQmlxdWFkLmgKaW5kZXggODIyZmM1MTZhM2RkN2Ex
NzkzNWVlZTYxMWQ3MzRkNmFjYzBhZDk0MS4uZTNlNjEyNzA2YjBmMzY2YTdhNjYzMzI2MTg3N2U2
ZjllOGE3NDQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQmlx
dWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQmlxdWFkLmgKQEAgLTMw
LDggKzMwLDggQEAKICNkZWZpbmUgQmlxdWFkX2gKIAogI2luY2x1ZGUgIkF1ZGlvQXJyYXkuaCIK
KyNpbmNsdWRlIDxjb21wbGV4PgogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHd0
Zi9Db21wbGV4Lmg+CiAgCiAjaWYgVVNFKFdFQkFVRElPX0lQUCkKICNpbmNsdWRlIDxpcHBzLmg+
CkBAIC02NCwxMSArNjQsMTEgQEAgcHVibGljOgogCiAgICAgLy8gU2V0IHRoZSBiaXF1YWQgY29l
ZmZpY2llbnRzIGdpdmVuIGEgc2luZ2xlIHplcm8gKG90aGVyIHplcm8gd2lsbCBiZSBjb25qdWdh
dGUpCiAgICAgLy8gYW5kIGEgc2luZ2xlIHBvbGUgKG90aGVyIHBvbGUgd2lsbCBiZSBjb25qdWdh
dGUpCi0gICAgdm9pZCBzZXRaZXJvUG9sZVBhaXJzKGNvbnN0IENvbXBsZXgmIHplcm8sIGNvbnN0
IENvbXBsZXgmIHBvbGUpOworICAgIHZvaWQgc2V0WmVyb1BvbGVQYWlycyhzdGQ6OmNvbXBsZXg8
ZG91YmxlPiB6ZXJvLCBzdGQ6OmNvbXBsZXg8ZG91YmxlPiBwb2xlKTsKIAogICAgIC8vIFNldCB0
aGUgYmlxdWFkIGNvZWZmaWNpZW50cyBnaXZlbiBhIHNpbmdsZSBwb2xlIChvdGhlciBwb2xlIHdp
bGwgYmUgY29uanVnYXRlKQogICAgIC8vIChUaGUgemVyb2VzIHdpbGwgYmUgdGhlIGludmVyc2Ug
b2YgdGhlIHBvbGVzKQotICAgIHZvaWQgc2V0QWxscGFzc1BvbGUoY29uc3QgQ29tcGxleCYgcG9s
ZSk7CisgICAgdm9pZCBzZXRBbGxwYXNzUG9sZShzdGQ6OmNvbXBsZXg8ZG91YmxlPik7CiAKICAg
ICAvLyBSZXNldHMgZmlsdGVyIHN0YXRlCiAgICAgdm9pZCByZXNldCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRkZURnJhbWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vRkZURnJhbWUuY3BwCmluZGV4IGExYTBhNTBkYWNlYmNiNmQ5MDM2
NDRjNjAyZDE0NDhjODAyOWIyMmIuLmM2Mjg1MTQzYzMzZDJlMTdiYzQ3N2RmYzBiZmRkMjU3ZDVl
Y2M3ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0ZGVEZyYW1l
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRGcmFtZS5jcHAKQEAg
LTMyLDE1ICszMiwxNSBAQAogCiAjaW5jbHVkZSAiRkZURnJhbWUuaCIKIAotI2lmbmRlZiBOREVC
VUcKLSNpbmNsdWRlIDxzdGRpby5oPgotI2VuZGlmCi0KICNpbmNsdWRlICJMb2dnaW5nLmgiCi0j
aW5jbHVkZSA8d3RmL0NvbXBsZXguaD4KKyNpbmNsdWRlIDxjb21wbGV4PgogI2luY2x1ZGUgPHd0
Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCisjaWZuZGVmIE5ERUJV
RworI2luY2x1ZGUgPHN0ZGlvLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB2
b2lkIEZGVEZyYW1lOjpkb1BhZGRlZEZGVChjb25zdCBmbG9hdCogZGF0YSwgc2l6ZV90IGRhdGFT
aXplKQpAQCAtOTksOCArOTksOCBAQCB2b2lkIEZGVEZyYW1lOjppbnRlcnBvbGF0ZUZyZXF1ZW5j
eUNvbXBvbmVudHMoY29uc3QgRkZURnJhbWUmIGZyYW1lMSwgY29uc3QgRkZURgogICAgIGludCBu
ID0gbV9GRlRTaXplIC8gMjsKIAogICAgIGZvciAoaW50IGkgPSAxOyBpIDwgbjsgKytpKSB7Ci0g
ICAgICAgIENvbXBsZXggYzEocmVhbFAxW2ldLCBpbWFnUDFbaV0pOwotICAgICAgICBDb21wbGV4
IGMyKHJlYWxQMltpXSwgaW1hZ1AyW2ldKTsKKyAgICAgICAgc3RkOjpjb21wbGV4PGRvdWJsZT4g
YzEocmVhbFAxW2ldLCBpbWFnUDFbaV0pOworICAgICAgICBzdGQ6OmNvbXBsZXg8ZG91YmxlPiBj
MihyZWFsUDJbaV0sIGltYWdQMltpXSk7CiAKICAgICAgICAgZG91YmxlIG1hZzEgPSBhYnMoYzEp
OwogICAgICAgICBkb3VibGUgbWFnMiA9IGFicyhjMik7CkBAIC0xNjYsNyArMTY2LDcgQEAgdm9p
ZCBGRlRGcmFtZTo6aW50ZXJwb2xhdGVGcmVxdWVuY3lDb21wb25lbnRzKGNvbnN0IEZGVEZyYW1l
JiBmcmFtZTEsIGNvbnN0IEZGVEYKICAgICAgICAgaWYgKHBoYXNlQWNjdW0gPCAtcGlEb3VibGUp
CiAgICAgICAgICAgICBwaGFzZUFjY3VtICs9IDIuMCAqIHBpRG91YmxlOwogCi0gICAgICAgIENv
bXBsZXggYyA9IGNvbXBsZXhGcm9tTWFnbml0dWRlUGhhc2UobWFnLCBwaGFzZUFjY3VtKTsKKyAg
ICAgICAgc3RkOjpjb21wbGV4PGRvdWJsZT4gYyA9IHN0ZDo6cG9sYXIobWFnLCBwaGFzZUFjY3Vt
KTsKIAogICAgICAgICByZWFsUFtpXSA9IHN0YXRpY19jYXN0PGZsb2F0PihjLnJlYWwoKSk7CiAg
ICAgICAgIGltYWdQW2ldID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGMuaW1hZygpKTsKQEAgLTE4OCw3
ICsxODgsNyBAQCBkb3VibGUgRkZURnJhbWU6OmV4dHJhY3RBdmVyYWdlR3JvdXBEZWxheSgpCiAK
ICAgICAvLyBDYWxjdWxhdGUgd2VpZ2h0ZWQgYXZlcmFnZSBncm91cCBkZWxheQogICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgaGFsZlNpemU7IGkrKykgewotICAgICAgICBDb21wbGV4IGMocmVhbFBb
aV0sIGltYWdQW2ldKTsKKyAgICAgICAgc3RkOjpjb21wbGV4PGRvdWJsZT4gYyhyZWFsUFtpXSwg
aW1hZ1BbaV0pOwogICAgICAgICBkb3VibGUgbWFnID0gYWJzKGMpOwogICAgICAgICBkb3VibGUg
cGhhc2UgPSBhcmcoYyk7CiAKQEAgLTIzNSwxMyArMjM1LDEzIEBAIHZvaWQgRkZURnJhbWU6OmFk
ZENvbnN0YW50R3JvdXBEZWxheShkb3VibGUgc2FtcGxlRnJhbWVEZWxheSkKIAogICAgIC8vIEFk
ZCBjb25zdGFudCBncm91cCBkZWxheQogICAgIGZvciAoaW50IGkgPSAxOyBpIDwgaGFsZlNpemU7
IGkrKykgewotICAgICAgICBDb21wbGV4IGMocmVhbFBbaV0sIGltYWdQW2ldKTsKKyAgICAgICAg
c3RkOjpjb21wbGV4PGRvdWJsZT4gYyhyZWFsUFtpXSwgaW1hZ1BbaV0pOwogICAgICAgICBkb3Vi
bGUgbWFnID0gYWJzKGMpOwogICAgICAgICBkb3VibGUgcGhhc2UgPSBhcmcoYyk7CiAKICAgICAg
ICAgcGhhc2UgKz0gaSAqIHBoYXNlQWRqOwogCi0gICAgICAgIENvbXBsZXggYzIgPSBjb21wbGV4
RnJvbU1hZ25pdHVkZVBoYXNlKG1hZywgcGhhc2UpOworICAgICAgICBzdGQ6OmNvbXBsZXg8ZG91
YmxlPiBjMiA9IHN0ZDo6cG9sYXIobWFnLCBwaGFzZSk7CiAKICAgICAgICAgcmVhbFBbaV0gPSBz
dGF0aWNfY2FzdDxmbG9hdD4oYzIucmVhbCgpKTsKICAgICAgICAgaW1hZ1BbaV0gPSBzdGF0aWNf
Y2FzdDxmbG9hdD4oYzIuaW1hZygpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201502</attachid>
            <date>2013-05-12 12:06:24 -0700</date>
            <delta_ts>2013-05-12 13:35:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115989-20130512120523.patch</filename>
            <type>text/plain</type>
            <size>19988</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5OTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZkNTE0MTdlMDNlNjUyZmFjNDA5ZDY2
OWY4ZTU0MjZiNDk1YTkzZTkuLjk0ZTYzZGM2MDgxMTlkNTJmZGNiMDkzNTEyZDAzNzE4ODUwNGZk
ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTMtMDUtMTIgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW1vdmUgQ29tcGxleC5oIGZyb20gV1RGCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU5ODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21wbGV4Lmgg
Y29udGFpbnMgYSB0eXBlZGVmIGFuZCBhIHNpbmdsZSBmdW5jdGlvbiAodGhhdCBhbHJlYWR5IGhh
cyBhbiBlcXVpdmFsZW50IGluIHRoZSBTVEwpLgorICAgICAgICBUaGUgaGVhZGVyIGlzIHVzZWQg
YnkgdGhyZWUgZmlsZXMgaW4gV2ViQ29yZSwgc28ganVzdCB1c2Ugc3RkOjpjb21wbGV4PGRvdWJs
ZT4gYW5kIHN0ZDo6cG9sYXIgZGlyZWN0bHkuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOgorICAgICAgICAqIFdURi52Y3Byb2ovV1RGLnZjcHJvajoKKyAgICAgICAgKiBXVEYudmN4
cHJvai9XVEYudmN4cHJvajoKKyAgICAgICAgKiBXVEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0
ZXJzOgorICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3dGYvQ29tcGxleC5oOiBSZW1vdmVkLgor
CisyMDEzLTA1LTEyICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKICAg
ICAgICAgU2ltcGxpZnkgQXV0b2RyYWluZWRQb29sCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU5ODYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDRmNTBlZDgyYTll
ZmNkNGZjMzdiZTJmMWYyNjlmNjIzOTg5Y2U0MTguLjA1NzU5MDkzYWE0Zjk2MTNiZGVmZTY3ZjRk
OWU1MTg4OTkxMDgyNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMCBAQAogMjAxMy0wNS0xMiAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCisgICAgICAgIFJlbW92ZSBD
b21wbGV4LmggZnJvbSBXVEYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExNTk4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJlcGxhY2UgQ29tcGxleCBkZWNsYXJhdGlvbnMgd2l0aCBzdGQ6OmNvbXBsZXg8
ZG91YmxlPi4gUGFzcyBieSB2YWx1ZSBzaW5jZSB0aGUgc3RydWN0CisgICAgICAgIGlzIHNtYWxs
IGVub3VnaCB0byBnbyBpbnRvIHR3byByZWdpc3RlcnMgb24gWDg2LTY0LgorCisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlYWx0aW1lQW5hbHlzZXI6OmRvRkZUQW5hbHlzaXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVh
bHRpbWVBbmFseXNlcjo6Z2V0RmxvYXRGcmVxdWVuY3lEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlYWx0aW1lQW5hbHlzZXI6OmdldEJ5dGVGcmVxdWVuY3lEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlYWx0aW1lQW5hbHlzZXI6OmdldEJ5dGVUaW1lRG9tYWluRGF0YSk6CisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vQmlxdWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpcXVhZDo6c2V0
WmVyb1BvbGVQYWlycyk6CisgICAgICAgIChXZWJDb3JlOjpCaXF1YWQ6OnNldEFsbHBhc3NQb2xl
KToKKyAgICAgICAgKFdlYkNvcmU6OkJpcXVhZDo6Z2V0RnJlcXVlbmN5UmVzcG9uc2UpOgorICAg
ICAgICAqIHBsYXRmb3JtL2F1ZGlvL0JpcXVhZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlv
L0ZGVEZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZGVEZyYW1lOjppbnRlcnBvbGF0ZUZy
ZXF1ZW5jeUNvbXBvbmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6RkZURnJhbWU6OmV4dHJhY3RB
dmVyYWdlR3JvdXBEZWxheSk6CisgICAgICAgIChXZWJDb3JlOjpGRlRGcmFtZTo6YWRkQ29uc3Rh
bnRHcm91cERlbGF5KToKKworMjAxMy0wNS0xMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgorCiAgICAgICAgIFNpbXBsaWZ5IEF1dG9kcmFpbmVkUG9vbAogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1OTg2CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XVEYvR05VbWFrZWZp
bGUubGlzdC5hbQppbmRleCBhZGNhOTQ3MDlmM2FkODVkMjE1MzYyNDllOWQ1YTcwODI4YzdlM2Q3
Li5hMzM4N2JjYmFlYWY3YjkzMTczMTRjODQ5MzE4ZjE0MGJjNThhMTIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dURi9HTlVtYWtlZmls
ZS5saXN0LmFtCkBAIC0yNiw3ICsyNiw2IEBAIHd0Zl9zb3VyY2VzICs9IFwKICAgICBTb3VyY2Uv
V1RGL3d0Zi9DaGVja2VkQm9vbGVhbi5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9Db21tYVByaW50
ZXIuaCBcCiAgICAgU291cmNlL1dURi93dGYvQ29tcGlsZXIuaCBcCi0gICAgU291cmNlL1dURi93
dGYvQ29tcGxleC5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRv
bU51bWJlci5jcHAgXAogICAgIFNvdXJjZS9XVEYvd3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9t
TnVtYmVyLmggXAogICAgIFNvdXJjZS9XVEYvd3RmL0N1cnJlbnRUaW1lLmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL1dURi52Y3Byb2ovV1RGLnZjcHJvaiBiL1NvdXJjZS9XVEYvV1RGLnZj
cHJvai9XVEYudmNwcm9qCmluZGV4IDMyYTIwYzlkMDM0MTM4YTUwZmEzOGI4NzA4NzAwZDU3MDhl
NDQ3MGYuLjkzMmJiY2QwYmYyNTEwYzg1ODIxMTVmZDFlMGUzNDY0ZmE5NmIwNjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvV1RGLnZjcHJvai9XVEYudmNwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RG
LnZjcHJvai9XVEYudmNwcm9qCkBAIC02NjMsMTAgKzY2Myw2IEBACiAJCQk+CiAJCTwvRmlsZT4K
IAkJPEZpbGUKLQkJCVJlbGF0aXZlUGF0aD0iLi5cd3RmXENvbXBsZXguaCIKLQkJCT4KLQkJPC9G
aWxlPgotCQk8RmlsZQogCQkJUmVsYXRpdmVQYXRoPSIuLlx3dGZcQ3J5cHRvZ3JhcGhpY2FsbHlS
YW5kb21OdW1iZXIuY3BwIgogCQkJPgogCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L1dURi52Y3hwcm9qL1dURi52Y3hwcm9qIGIvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4
cHJvagppbmRleCA4OGMzMDEzYjA0NTZiNTUxNWVhNTUyMTAyODExZTFjMTNlY2IwMjRmLi4xNTg4
Njc0ZDBjYmViMGU5NDQwMzk5OTE1ZmJlZDViOWQxYmNlZDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ov
V1RGLnZjeHByb2oKQEAgLTExMSw3ICsxMTEsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cd3RmXENoZWNrZWRBcml0aG1ldGljLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cd3RmXENoZWNrZWRCb29sZWFuLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
d3RmXENvbXBpbGVyLmgiIC8+DQotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXENvbXBs
ZXguaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcQ3J5cHRvZ3JhcGhpY2Fs
bHlSYW5kb21OdW1iZXIuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcQ3Vy
cmVudFRpbWUuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcRGF0YUxvZy5o
IiAvPg0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmls
dGVycyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycwppbmRleCBi
MTY1ODRhNTM0MTljZjNmMTlkNTY3ZWFiZmQ0OTc5ODE3ZTk3OTk3Li4zYzRjNjkyOWJmZGQ5NDlk
ZjY1Mzk4ZmU3ZjU3OWQ0NTFhOWJmNzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hw
cm9qL1dURi52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYu
dmN4cHJvai5maWx0ZXJzCkBAIC0zNzIsOSArMzcyLDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHd0ZlxDb21waWxlci5oIj4NCiAgICAgICA8RmlsdGVyPnd0ZjwvRmlsdGVyPg0KICAg
ICA8L0NsSW5jbHVkZT4NCi0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcQ29tcGxleC5o
Ij4NCi0gICAgICA8RmlsdGVyPnd0ZjwvRmlsdGVyPg0KLSAgICA8L0NsSW5jbHVkZT4NCiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIu
aCI+DQogICAgICAgPEZpbHRlcj53dGY8L0ZpbHRlcj4NCiAgICAgPC9DbEluY2x1ZGU+DQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWY2MDg1MWUyYWM1NTNk
NTU1OTM1YzVhOGRkM2EzNTY5ZDg2MmVkOS4uM2NiMGNiM2IyYmMwNzExM2Y3OTI4ZGUxZDc0YjM0
MzI5OWJkN2QwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC03NSw3ICs3NSw2IEBACiAJCUE4QTQ3Mzk0MTUxQTgyNUIwMDQxMjNGRiAvKiBDaGVja2VkQXJp
dGhtZXRpYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QThBNDcyNkExNTFBODI1QTAwNDEyM0ZGIC8qIENoZWNrZWRBcml0aG1ldGljLmggKi87IH07CiAJ
CUE4QTQ3Mzk1MTUxQTgyNUIwMDQxMjNGRiAvKiBDaGVja2VkQm9vbGVhbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDcyNkIxNTFBODI1QTAwNDEy
M0ZGIC8qIENoZWNrZWRCb29sZWFuLmggKi87IH07CiAJCUE4QTQ3Mzk4MTUxQTgyNUIwMDQxMjNG
RiAvKiBDb21waWxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQThBNDcyNzAxNTFBODI1QTAwNDEyM0ZGIC8qIENvbXBpbGVyLmggKi87IH07Ci0JCUE4
QTQ3Mzk5MTUxQTgyNUIwMDQxMjNGRiAvKiBDb21wbGV4LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzI3MTE1MUE4MjVBMDA0MTIzRkYgLyogQ29t
cGxleC5oICovOyB9OwogCQlBOEE0NzM5QTE1MUE4MjVCMDA0MTIzRkYgLyogQ3J5cHRvZ3JhcGhp
Y2FsbHlSYW5kb21OdW1iZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQThBNDcyNzMxNTFBODI1QTAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5
UmFuZG9tTnVtYmVyLmNwcCAqLzsgfTsKIAkJQThBNDczOUIxNTFBODI1QjAwNDEyM0ZGIC8qIENy
eXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzI3NDE1MUE4MjVBMDA0MTIzRkYgLyogQ3J5cHRvZ3Jh
cGhpY2FsbHlSYW5kb21OdW1iZXIuaCAqLzsgfTsKIAkJQThBNDczOUMxNTFBODI1QjAwNDEyM0ZG
IC8qIEN1cnJlbnRUaW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE4QTQ3Mjc1MTUxQTgyNUEwMDQxMjNGRiAvKiBDdXJyZW50VGltZS5jcHAgKi87
IH07CkBAIC0zNDUsNyArMzQ0LDYgQEAKIAkJQThBNDcyNkExNTFBODI1QTAwNDEyM0ZGIC8qIENo
ZWNrZWRBcml0aG1ldGljLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoZWNr
ZWRBcml0aG1ldGljLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4QTQ3MjZCMTUx
QTgyNUEwMDQxMjNGRiAvKiBDaGVja2VkQm9vbGVhbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDaGVja2VkQm9vbGVhbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBOEE0NzI3MDE1MUE4MjVBMDA0MTIzRkYgLyogQ29tcGlsZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29tcGlsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQThBNDcyNzExNTFBODI1QTAwNDEyM0ZGIC8qIENvbXBsZXguaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29tcGxleC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBOEE0NzI3MzE1MUE4MjVBMDA0MTIzRkYgLyogQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1i
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3J5cHRvZ3JhcGhp
Y2FsbHlSYW5kb21OdW1iZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOEE0
NzI3NDE1MUE4MjVBMDA0MTIzRkYgLyogQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21O
dW1iZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThBNDcyNzUxNTFBODI1QTAw
NDEyM0ZGIC8qIEN1cnJlbnRUaW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEN1cnJlbnRUaW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYy
OSw3ICs2MjcsNiBAQAogCQkJCUE4QTQ3MjZCMTUxQTgyNUEwMDQxMjNGRiAvKiBDaGVja2VkQm9v
bGVhbi5oICovLAogCQkJCTBGQzRFREU1MTY5NjE0OTYwMEY2NTA0MSAvKiBDb21tYVByaW50ZXIu
aCAqLywKIAkJCQlBOEE0NzI3MDE1MUE4MjVBMDA0MTIzRkYgLyogQ29tcGlsZXIuaCAqLywKLQkJ
CQlBOEE0NzI3MTE1MUE4MjVBMDA0MTIzRkYgLyogQ29tcGxleC5oICovLAogCQkJCUE4QTQ3Mjcz
MTUxQTgyNUEwMDQxMjNGRiAvKiBDcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5jcHAgKi8s
CiAJCQkJQThBNDcyNzQxNTFBODI1QTAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5UmFuZG9t
TnVtYmVyLmggKi8sCiAJCQkJQThBNDcyNzUxNTFBODI1QTAwNDEyM0ZGIC8qIEN1cnJlbnRUaW1l
LmNwcCAqLywKQEAgLTk0NCw3ICs5NDEsNiBAQAogCQkJCUE4QTQ3NDVGMTUxQTgyNUIwMDQxMjNG
RiAvKiBDb2xsYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDNEVERTYxNjk2MTQ5NjAwRjY1
MDQxIC8qIENvbW1hUHJpbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczOTgxNTFBODI1
QjAwNDEyM0ZGIC8qIENvbXBpbGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzM5OTE1MUE4
MjVCMDA0MTIzRkYgLyogQ29tcGxleC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0OEMxNTFB
ODI2NDAwNDEyM0ZGIC8qIGNvbmZpZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczOUIxNTFB
ODI1QjAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBOEE0NzQzQTE1MUE4MjVCMDA0MTIzRkYgLyogQ1N0cmluZy5oIGluIEhlYWRl
cnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IDAyNzkyNzA5MDFjYzUyZjRjM2JmMGI1OWU5
YzYxODA2YTZjNWY1NjEuLmFkNDc5Nzc3ZGMyMzYxNzFkNmZjZjRlY2I2MWU4ZmE1ZjExY2I3ZTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
VEYvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC0xMSw3ICsxMSw2IEBAIHNldChXVEZfSEVBREVSUwog
ICAgIEJ1bXBQb2ludGVyQWxsb2NhdG9yLmgKICAgICBCeXRlT3JkZXIuaAogICAgIENvbXBpbGVy
LmgKLSAgICBDb21wbGV4LmgKICAgICBDcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oCiAg
ICAgQ3VycmVudFRpbWUuaAogICAgIERhdGVNYXRoLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL0NvbXBsZXguaCBiL1NvdXJjZS9XVEYvd3RmL0NvbXBsZXguaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNDBmZTU2YTdiYjc1NDQyZWZhZTRkNTg5Y2Y0OTcwZmNmZmVlNTZmOS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9Db21wbGV4LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5j
LiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBX
VEZfQ29tcGxleF9oCi0jZGVmaW5lIFdURl9Db21wbGV4X2gKLQotI2luY2x1ZGUgPGNvbXBsZXg+
Ci0jaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KLQotbmFtZXNwYWNlIFdURiB7Ci0KLXR5cGVk
ZWYgc3RkOjpjb21wbGV4PGRvdWJsZT4gQ29tcGxleDsKLQotaW5saW5lIENvbXBsZXggY29tcGxl
eEZyb21NYWduaXR1ZGVQaGFzZShkb3VibGUgbWFnbml0dWRlLCBkb3VibGUgcGhhc2UpCi17Ci0g
ICAgcmV0dXJuIENvbXBsZXgobWFnbml0dWRlICogY29zKHBoYXNlKSwgbWFnbml0dWRlICogc2lu
KHBoYXNlKSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdURgotCi11c2luZyBXVEY6OkNvbXBsZXg7
Ci11c2luZyBXVEY6OmNvbXBsZXhGcm9tTWFnbml0dWRlUGhhc2U7Ci0KLSNlbmRpZiAvLyBXVEZf
Q29tcGxleF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Jl
YWx0aW1lQW5hbHlzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9SZWFs
dGltZUFuYWx5c2VyLmNwcAppbmRleCA3YTkwOWNiMjYwZWU3ODY4NjY0NTMyMTVmODNjZmExZDMy
NjU0ZTdiLi42ODE2M2NlNTU3YTFmZTE4MDE5MTJlYTI5ZmRhN2VkMGM1ODIyOTc2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5j
cHAKQEAgLTMyLDE3ICszMiwxMyBAQAogI2luY2x1ZGUgIkF1ZGlvVXRpbGl0aWVzLmgiCiAjaW5j
bHVkZSAiRkZURnJhbWUuaCIKICNpbmNsdWRlICJWZWN0b3JNYXRoLmgiCi0KICNpbmNsdWRlIDxh
bGdvcml0aG0+Ci0jaW5jbHVkZSA8bGltaXRzLmg+Ci0jaW5jbHVkZSA8d3RmL0NvbXBsZXguaD4K
KyNpbmNsdWRlIDxjb21wbGV4PgogI2luY2x1ZGUgPHd0Zi9GbG9hdDMyQXJyYXkuaD4KICNpbmNs
dWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5j
bHVkZSA8d3RmL1VpbnQ4QXJyYXkuaD4KIAotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLQogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjb25zdCBkb3VibGUgUmVhbHRpbWVBbmFseXNlcjo6RGVmYXVsdFNt
b290aGluZ1RpbWVDb25zdGFudCAgPSAwLjg7CkBAIC0xOTMsMTYgKzE4OSwxNiBAQCB2b2lkIFJl
YWx0aW1lQW5hbHlzZXI6OmRvRkZUQW5hbHlzaXMoKQogCiAgICAgLy8gQSB2YWx1ZSBvZiAwIGRv
ZXMgbm8gYXZlcmFnaW5nIHdpdGggdGhlIHByZXZpb3VzIHJlc3VsdC4gIExhcmdlciB2YWx1ZXMg
cHJvZHVjZSBzbG93ZXIsIGJ1dCBzbW9vdGhlciBjaGFuZ2VzLgogICAgIGRvdWJsZSBrID0gbV9z
bW9vdGhpbmdUaW1lQ29uc3RhbnQ7Ci0gICAgayA9IG1heCgwLjAsIGspOwotICAgIGsgPSBtaW4o
MS4wLCBrKTsgICAgCisgICAgayA9IHN0ZDo6bWF4KDAuMCwgayk7CisgICAgayA9IHN0ZDo6bWlu
KDEuMCwgayk7ICAgIAogICAgIAogICAgIC8vIENvbnZlcnQgdGhlIGFuYWx5c2lzIGRhdGEgZnJv
bSBjb21wbGV4IHRvIG1hZ25pdHVkZSBhbmQgYXZlcmFnZSB3aXRoIHRoZSBwcmV2aW91cyByZXN1
bHQuCiAgICAgZmxvYXQqIGRlc3RpbmF0aW9uID0gbWFnbml0dWRlQnVmZmVyKCkuZGF0YSgpOwog
ICAgIHNpemVfdCBuID0gbWFnbml0dWRlQnVmZmVyKCkuc2l6ZSgpOwogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbjsgKytpKSB7Ci0gICAgICAgIENvbXBsZXggYyhyZWFsUFtpXSwgaW1hZ1Bb
aV0pOworICAgICAgICBzdGQ6OmNvbXBsZXg8ZG91YmxlPiBjKHJlYWxQW2ldLCBpbWFnUFtpXSk7
CiAgICAgICAgIGRvdWJsZSBzY2FsYXJNYWduaXR1ZGUgPSBhYnMoYykgKiBtYWduaXR1ZGVTY2Fs
ZTsgICAgICAgIAotICAgICAgICBkZXN0aW5hdGlvbltpXSA9IGZsb2F0KGsgKiBkZXN0aW5hdGlv
bltpXSArICgxIC0gaykgKiBzY2FsYXJNYWduaXR1ZGUpOworICAgICAgICBkZXN0aW5hdGlvbltp
XSA9IHN0YXRpY19jYXN0PGZsb2F0PihrICogZGVzdGluYXRpb25baV0gKyAoMSAtIGspICogc2Nh
bGFyTWFnbml0dWRlKTsKICAgICB9CiB9CiAKQEAgLTIxOCw3ICsyMTQsNyBAQCB2b2lkIFJlYWx0
aW1lQW5hbHlzZXI6OmdldEZsb2F0RnJlcXVlbmN5RGF0YShGbG9hdDMyQXJyYXkqIGRlc3RpbmF0
aW9uQXJyYXkpCiAgICAgLy8gQ29udmVydCBmcm9tIGxpbmVhciBtYWduaXR1ZGUgdG8gZmxvYXRp
bmctcG9pbnQgZGVjaWJlbHMuCiAgICAgY29uc3QgZG91YmxlIG1pbkRlY2liZWxzID0gbV9taW5E
ZWNpYmVsczsKICAgICB1bnNpZ25lZCBzb3VyY2VMZW5ndGggPSBtYWduaXR1ZGVCdWZmZXIoKS5z
aXplKCk7Ci0gICAgc2l6ZV90IGxlbiA9IG1pbihzb3VyY2VMZW5ndGgsIGRlc3RpbmF0aW9uQXJy
YXktPmxlbmd0aCgpKTsKKyAgICBzaXplX3QgbGVuID0gc3RkOjptaW4oc291cmNlTGVuZ3RoLCBk
ZXN0aW5hdGlvbkFycmF5LT5sZW5ndGgoKSk7CiAgICAgaWYgKGxlbiA+IDApIHsKICAgICAgICAg
Y29uc3QgZmxvYXQqIHNvdXJjZSA9IG1hZ25pdHVkZUJ1ZmZlcigpLmRhdGEoKTsKICAgICAgICAg
ZmxvYXQqIGRlc3RpbmF0aW9uID0gZGVzdGluYXRpb25BcnJheS0+ZGF0YSgpOwpAQCAtMjI2LDcg
KzIyMiw3IEBAIHZvaWQgUmVhbHRpbWVBbmFseXNlcjo6Z2V0RmxvYXRGcmVxdWVuY3lEYXRhKEZs
b2F0MzJBcnJheSogZGVzdGluYXRpb25BcnJheSkKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGxlbjsgKytpKSB7CiAgICAgICAgICAgICBmbG9hdCBsaW5lYXJWYWx1ZSA9IHNvdXJj
ZVtpXTsKICAgICAgICAgICAgIGRvdWJsZSBkYk1hZyA9ICFsaW5lYXJWYWx1ZSA/IG1pbkRlY2li
ZWxzIDogQXVkaW9VdGlsaXRpZXM6OmxpbmVhclRvRGVjaWJlbHMobGluZWFyVmFsdWUpOwotICAg
ICAgICAgICAgZGVzdGluYXRpb25baV0gPSBmbG9hdChkYk1hZyk7CisgICAgICAgICAgICBkZXN0
aW5hdGlvbltpXSA9IHN0YXRpY19jYXN0PGZsb2F0PihkYk1hZyk7CiAgICAgICAgIH0KICAgICB9
CiB9CkBAIC0yNDIsNyArMjM4LDcgQEAgdm9pZCBSZWFsdGltZUFuYWx5c2VyOjpnZXRCeXRlRnJl
cXVlbmN5RGF0YShVaW50OEFycmF5KiBkZXN0aW5hdGlvbkFycmF5KQogICAgIAogICAgIC8vIENv
bnZlcnQgZnJvbSBsaW5lYXIgbWFnbml0dWRlIHRvIHVuc2lnbmVkLWJ5dGUgZGVjaWJlbHMuCiAg
ICAgdW5zaWduZWQgc291cmNlTGVuZ3RoID0gbWFnbml0dWRlQnVmZmVyKCkuc2l6ZSgpOwotICAg
IHNpemVfdCBsZW4gPSBtaW4oc291cmNlTGVuZ3RoLCBkZXN0aW5hdGlvbkFycmF5LT5sZW5ndGgo
KSk7CisgICAgc2l6ZV90IGxlbiA9IHN0ZDo6bWluKHNvdXJjZUxlbmd0aCwgZGVzdGluYXRpb25B
cnJheS0+bGVuZ3RoKCkpOwogICAgIGlmIChsZW4gPiAwKSB7CiAgICAgICAgIGNvbnN0IGRvdWJs
ZSByYW5nZVNjYWxlRmFjdG9yID0gbV9tYXhEZWNpYmVscyA9PSBtX21pbkRlY2liZWxzID8gMSA6
IDEgLyAobV9tYXhEZWNpYmVscyAtIG1fbWluRGVjaWJlbHMpOwogICAgICAgICBjb25zdCBkb3Vi
bGUgbWluRGVjaWJlbHMgPSBtX21pbkRlY2liZWxzOwpAQCAtMjc2LDcgKzI3Miw3IEBAIHZvaWQg
UmVhbHRpbWVBbmFseXNlcjo6Z2V0Qnl0ZVRpbWVEb21haW5EYXRhKFVpbnQ4QXJyYXkqIGRlc3Rp
bmF0aW9uQXJyYXkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgdW5zaWduZWQgZmZ0
U2l6ZSA9IHRoaXMtPmZmdFNpemUoKTsKLSAgICBzaXplX3QgbGVuID0gbWluKGZmdFNpemUsIGRl
c3RpbmF0aW9uQXJyYXktPmxlbmd0aCgpKTsKKyAgICBzaXplX3QgbGVuID0gc3RkOjptaW4oZmZ0
U2l6ZSwgZGVzdGluYXRpb25BcnJheS0+bGVuZ3RoKCkpOwogICAgIGlmIChsZW4gPiAwKSB7CiAg
ICAgICAgIGJvb2wgaXNJbnB1dEJ1ZmZlckdvb2QgPSBtX2lucHV0QnVmZmVyLnNpemUoKSA9PSBJ
bnB1dEJ1ZmZlclNpemUgJiYgbV9pbnB1dEJ1ZmZlci5zaXplKCkgPiBmZnRTaXplOwogICAgICAg
ICBBU1NFUlQoaXNJbnB1dEJ1ZmZlckdvb2QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQmlxdWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0JpcXVhZC5jcHAKaW5kZXggZDY3OTljNjlkM2ZkNWQyMTE1NGYzNzgwOTI5MDE5NzA3YjcwZTY5
YS4uY2QyOWNkZjNlYzkzYjBlMmFkOThkM2ZjZmJjZmZhY2IxYmNhMTRjNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQmlxdWFkLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9CaXF1YWQuY3BwCkBAIC01MjIsNyArNTIyLDcgQEAgdm9pZCBC
aXF1YWQ6OnNldEJhbmRwYXNzUGFyYW1zKGRvdWJsZSBmcmVxdWVuY3ksIGRvdWJsZSBRKQogICAg
IH0KIH0KIAotdm9pZCBCaXF1YWQ6OnNldFplcm9Qb2xlUGFpcnMoY29uc3QgQ29tcGxleCAmemVy
bywgY29uc3QgQ29tcGxleCAmcG9sZSkKK3ZvaWQgQmlxdWFkOjpzZXRaZXJvUG9sZVBhaXJzKHN0
ZDo6Y29tcGxleDxkb3VibGU+IHplcm8sIHN0ZDo6Y29tcGxleDxkb3VibGU+IHBvbGUpCiB7CiAg
ICAgZG91YmxlIGIwID0gMTsKICAgICBkb3VibGUgYjEgPSAtMiAqIHplcm8ucmVhbCgpOwpAQCAt
NTM3LDkgKzUzNyw5IEBAIHZvaWQgQmlxdWFkOjpzZXRaZXJvUG9sZVBhaXJzKGNvbnN0IENvbXBs
ZXggJnplcm8sIGNvbnN0IENvbXBsZXggJnBvbGUpCiAgICAgc2V0Tm9ybWFsaXplZENvZWZmaWNp
ZW50cyhiMCwgYjEsIGIyLCAxLCBhMSwgYTIpOwogfQogCi12b2lkIEJpcXVhZDo6c2V0QWxscGFz
c1BvbGUoY29uc3QgQ29tcGxleCAmcG9sZSkKK3ZvaWQgQmlxdWFkOjpzZXRBbGxwYXNzUG9sZShz
dGQ6OmNvbXBsZXg8ZG91YmxlPiBwb2xlKQogewotICAgIENvbXBsZXggemVybyA9IENvbXBsZXgo
MSwgMCkgLyBwb2xlOworICAgIHN0ZDo6Y29tcGxleDxkb3VibGU+IHplcm8gPSBzdGQ6OmNvbXBs
ZXg8ZG91YmxlPigxLCAwKSAvIHBvbGU7CiAgICAgc2V0WmVyb1BvbGVQYWlycyh6ZXJvLCBwb2xl
KTsKIH0KIApAQCAtNTczLDEwICs1NzMsMTAgQEAgdm9pZCBCaXF1YWQ6OmdldEZyZXF1ZW5jeVJl
c3BvbnNlKGludCBuRnJlcXVlbmNpZXMsCiAgICAgCiAgICAgZm9yIChpbnQgayA9IDA7IGsgPCBu
RnJlcXVlbmNpZXM7ICsraykgewogICAgICAgICBkb3VibGUgb21lZ2EgPSAtcGlEb3VibGUgKiBm
cmVxdWVuY3lba107Ci0gICAgICAgIENvbXBsZXggeiA9IENvbXBsZXgoY29zKG9tZWdhKSwgc2lu
KG9tZWdhKSk7Ci0gICAgICAgIENvbXBsZXggbnVtZXJhdG9yID0gYjAgKyAoYjEgKyBiMiAqIHop
ICogejsKLSAgICAgICAgQ29tcGxleCBkZW5vbWluYXRvciA9IENvbXBsZXgoMSwgMCkgKyAoYTEg
KyBhMiAqIHopICogejsKLSAgICAgICAgQ29tcGxleCByZXNwb25zZSA9IG51bWVyYXRvciAvIGRl
bm9taW5hdG9yOworICAgICAgICBzdGQ6OmNvbXBsZXg8ZG91YmxlPiB6ID0gc3RkOjpjb21wbGV4
PGRvdWJsZT4oY29zKG9tZWdhKSwgc2luKG9tZWdhKSk7CisgICAgICAgIHN0ZDo6Y29tcGxleDxk
b3VibGU+IG51bWVyYXRvciA9IGIwICsgKGIxICsgYjIgKiB6KSAqIHo7CisgICAgICAgIHN0ZDo6
Y29tcGxleDxkb3VibGU+IGRlbm9taW5hdG9yID0gc3RkOjpjb21wbGV4PGRvdWJsZT4oMSwgMCkg
KyAoYTEgKyBhMiAqIHopICogejsKKyAgICAgICAgc3RkOjpjb21wbGV4PGRvdWJsZT4gcmVzcG9u
c2UgPSBudW1lcmF0b3IgLyBkZW5vbWluYXRvcjsKICAgICAgICAgbWFnUmVzcG9uc2Vba10gPSBz
dGF0aWNfY2FzdDxmbG9hdD4oYWJzKHJlc3BvbnNlKSk7CiAgICAgICAgIHBoYXNlUmVzcG9uc2Vb
a10gPSBzdGF0aWNfY2FzdDxmbG9hdD4oYXRhbjIoaW1hZyhyZXNwb25zZSksIHJlYWwocmVzcG9u
c2UpKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
QmlxdWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9CaXF1YWQuaAppbmRleCA4
MjJmYzUxNmEzZGQ3YTE3OTM1ZWVlNjExZDczNGQ2YWNjMGFkOTQxLi5lM2U2MTI3MDZiMGYzNjZh
N2E2NjMzMjYxODc3ZTZmOWU4YTc0NDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9CaXF1YWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9C
aXF1YWQuaApAQCAtMzAsOCArMzAsOCBAQAogI2RlZmluZSBCaXF1YWRfaAogCiAjaW5jbHVkZSAi
QXVkaW9BcnJheS5oIgorI2luY2x1ZGUgPGNvbXBsZXg+CiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+
Ci0jaW5jbHVkZSA8d3RmL0NvbXBsZXguaD4KICAKICNpZiBVU0UoV0VCQVVESU9fSVBQKQogI2lu
Y2x1ZGUgPGlwcHMuaD4KQEAgLTY0LDExICs2NCwxMSBAQCBwdWJsaWM6CiAKICAgICAvLyBTZXQg
dGhlIGJpcXVhZCBjb2VmZmljaWVudHMgZ2l2ZW4gYSBzaW5nbGUgemVybyAob3RoZXIgemVybyB3
aWxsIGJlIGNvbmp1Z2F0ZSkKICAgICAvLyBhbmQgYSBzaW5nbGUgcG9sZSAob3RoZXIgcG9sZSB3
aWxsIGJlIGNvbmp1Z2F0ZSkKLSAgICB2b2lkIHNldFplcm9Qb2xlUGFpcnMoY29uc3QgQ29tcGxl
eCYgemVybywgY29uc3QgQ29tcGxleCYgcG9sZSk7CisgICAgdm9pZCBzZXRaZXJvUG9sZVBhaXJz
KHN0ZDo6Y29tcGxleDxkb3VibGU+IHplcm8sIHN0ZDo6Y29tcGxleDxkb3VibGU+IHBvbGUpOwog
CiAgICAgLy8gU2V0IHRoZSBiaXF1YWQgY29lZmZpY2llbnRzIGdpdmVuIGEgc2luZ2xlIHBvbGUg
KG90aGVyIHBvbGUgd2lsbCBiZSBjb25qdWdhdGUpCiAgICAgLy8gKFRoZSB6ZXJvZXMgd2lsbCBi
ZSB0aGUgaW52ZXJzZSBvZiB0aGUgcG9sZXMpCi0gICAgdm9pZCBzZXRBbGxwYXNzUG9sZShjb25z
dCBDb21wbGV4JiBwb2xlKTsKKyAgICB2b2lkIHNldEFsbHBhc3NQb2xlKHN0ZDo6Y29tcGxleDxk
b3VibGU+KTsKIAogICAgIC8vIFJlc2V0cyBmaWx0ZXIgc3RhdGUKICAgICB2b2lkIHJlc2V0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRGcmFtZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRGcmFtZS5jcHAKaW5kZXggYTFhMGE1
MGRhY2ViY2I2ZDkwMzY0NGM2MDJkMTQ0OGM4MDI5YjIyYi4uYzYyODUxNDNjMzNkMmUxN2JjNDc3
ZGZjMGJmZGQyNTdkNWVjYzc4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vRkZURnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0ZG
VEZyYW1lLmNwcApAQCAtMzIsMTUgKzMyLDE1IEBACiAKICNpbmNsdWRlICJGRlRGcmFtZS5oIgog
Ci0jaWZuZGVmIE5ERUJVRwotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jZW5kaWYKLQogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKLSNpbmNsdWRlIDx3dGYvQ29tcGxleC5oPgorI2luY2x1ZGUgPGNvbXBsZXg+
CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAK
KyNpZm5kZWYgTkRFQlVHCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNlbmRpZgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHZvaWQgRkZURnJhbWU6OmRvUGFkZGVkRkZUKGNvbnN0IGZsb2F0KiBkYXRh
LCBzaXplX3QgZGF0YVNpemUpCkBAIC05OSw4ICs5OSw4IEBAIHZvaWQgRkZURnJhbWU6OmludGVy
cG9sYXRlRnJlcXVlbmN5Q29tcG9uZW50cyhjb25zdCBGRlRGcmFtZSYgZnJhbWUxLCBjb25zdCBG
RlRGCiAgICAgaW50IG4gPSBtX0ZGVFNpemUgLyAyOwogCiAgICAgZm9yIChpbnQgaSA9IDE7IGkg
PCBuOyArK2kpIHsKLSAgICAgICAgQ29tcGxleCBjMShyZWFsUDFbaV0sIGltYWdQMVtpXSk7Ci0g
ICAgICAgIENvbXBsZXggYzIocmVhbFAyW2ldLCBpbWFnUDJbaV0pOworICAgICAgICBzdGQ6OmNv
bXBsZXg8ZG91YmxlPiBjMShyZWFsUDFbaV0sIGltYWdQMVtpXSk7CisgICAgICAgIHN0ZDo6Y29t
cGxleDxkb3VibGU+IGMyKHJlYWxQMltpXSwgaW1hZ1AyW2ldKTsKIAogICAgICAgICBkb3VibGUg
bWFnMSA9IGFicyhjMSk7CiAgICAgICAgIGRvdWJsZSBtYWcyID0gYWJzKGMyKTsKQEAgLTE2Niw3
ICsxNjYsNyBAQCB2b2lkIEZGVEZyYW1lOjppbnRlcnBvbGF0ZUZyZXF1ZW5jeUNvbXBvbmVudHMo
Y29uc3QgRkZURnJhbWUmIGZyYW1lMSwgY29uc3QgRkZURgogICAgICAgICBpZiAocGhhc2VBY2N1
bSA8IC1waURvdWJsZSkKICAgICAgICAgICAgIHBoYXNlQWNjdW0gKz0gMi4wICogcGlEb3VibGU7
CiAKLSAgICAgICAgQ29tcGxleCBjID0gY29tcGxleEZyb21NYWduaXR1ZGVQaGFzZShtYWcsIHBo
YXNlQWNjdW0pOworICAgICAgICBzdGQ6OmNvbXBsZXg8ZG91YmxlPiBjID0gc3RkOjpwb2xhciht
YWcsIHBoYXNlQWNjdW0pOwogCiAgICAgICAgIHJlYWxQW2ldID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+
KGMucmVhbCgpKTsKICAgICAgICAgaW1hZ1BbaV0gPSBzdGF0aWNfY2FzdDxmbG9hdD4oYy5pbWFn
KCkpOwpAQCAtMTg4LDcgKzE4OCw3IEBAIGRvdWJsZSBGRlRGcmFtZTo6ZXh0cmFjdEF2ZXJhZ2VH
cm91cERlbGF5KCkKIAogICAgIC8vIENhbGN1bGF0ZSB3ZWlnaHRlZCBhdmVyYWdlIGdyb3VwIGRl
bGF5CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBoYWxmU2l6ZTsgaSsrKSB7Ci0gICAgICAgIENv
bXBsZXggYyhyZWFsUFtpXSwgaW1hZ1BbaV0pOworICAgICAgICBzdGQ6OmNvbXBsZXg8ZG91Ymxl
PiBjKHJlYWxQW2ldLCBpbWFnUFtpXSk7CiAgICAgICAgIGRvdWJsZSBtYWcgPSBhYnMoYyk7CiAg
ICAgICAgIGRvdWJsZSBwaGFzZSA9IGFyZyhjKTsKIApAQCAtMjM1LDEzICsyMzUsMTMgQEAgdm9p
ZCBGRlRGcmFtZTo6YWRkQ29uc3RhbnRHcm91cERlbGF5KGRvdWJsZSBzYW1wbGVGcmFtZURlbGF5
KQogCiAgICAgLy8gQWRkIGNvbnN0YW50IGdyb3VwIGRlbGF5CiAgICAgZm9yIChpbnQgaSA9IDE7
IGkgPCBoYWxmU2l6ZTsgaSsrKSB7Ci0gICAgICAgIENvbXBsZXggYyhyZWFsUFtpXSwgaW1hZ1Bb
aV0pOworICAgICAgICBzdGQ6OmNvbXBsZXg8ZG91YmxlPiBjKHJlYWxQW2ldLCBpbWFnUFtpXSk7
CiAgICAgICAgIGRvdWJsZSBtYWcgPSBhYnMoYyk7CiAgICAgICAgIGRvdWJsZSBwaGFzZSA9IGFy
ZyhjKTsKIAogICAgICAgICBwaGFzZSArPSBpICogcGhhc2VBZGo7CiAKLSAgICAgICAgQ29tcGxl
eCBjMiA9IGNvbXBsZXhGcm9tTWFnbml0dWRlUGhhc2UobWFnLCBwaGFzZSk7CisgICAgICAgIHN0
ZDo6Y29tcGxleDxkb3VibGU+IGMyID0gc3RkOjpwb2xhcihtYWcsIHBoYXNlKTsKIAogICAgICAg
ICByZWFsUFtpXSA9IHN0YXRpY19jYXN0PGZsb2F0PihjMi5yZWFsKCkpOwogICAgICAgICBpbWFn
UFtpXSA9IHN0YXRpY19jYXN0PGZsb2F0PihjMi5pbWFnKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201508</attachid>
            <date>2013-05-12 13:35:59 -0700</date>
            <delta_ts>2013-05-12 14:19:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115989-20130512133458.patch</filename>
            <type>text/plain</type>
            <size>20236</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5OTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZkNTE0MTdlMDNlNjUyZmFjNDA5ZDY2
OWY4ZTU0MjZiNDk1YTkzZTkuLjk0ZTYzZGM2MDgxMTlkNTJmZGNiMDkzNTEyZDAzNzE4ODUwNGZk
ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTMtMDUtMTIgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW1vdmUgQ29tcGxleC5oIGZyb20gV1RGCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU5ODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21wbGV4Lmgg
Y29udGFpbnMgYSB0eXBlZGVmIGFuZCBhIHNpbmdsZSBmdW5jdGlvbiAodGhhdCBhbHJlYWR5IGhh
cyBhbiBlcXVpdmFsZW50IGluIHRoZSBTVEwpLgorICAgICAgICBUaGUgaGVhZGVyIGlzIHVzZWQg
YnkgdGhyZWUgZmlsZXMgaW4gV2ViQ29yZSwgc28ganVzdCB1c2Ugc3RkOjpjb21wbGV4PGRvdWJs
ZT4gYW5kIHN0ZDo6cG9sYXIgZGlyZWN0bHkuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOgorICAgICAgICAqIFdURi52Y3Byb2ovV1RGLnZjcHJvajoKKyAgICAgICAgKiBXVEYudmN4
cHJvai9XVEYudmN4cHJvajoKKyAgICAgICAgKiBXVEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0
ZXJzOgorICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3dGYvQ29tcGxleC5oOiBSZW1vdmVkLgor
CisyMDEzLTA1LTEyICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKICAg
ICAgICAgU2ltcGxpZnkgQXV0b2RyYWluZWRQb29sCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTU5ODYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDRmNTBlZDgyYTll
ZmNkNGZjMzdiZTJmMWYyNjlmNjIzOTg5Y2U0MTguLjA1NzU5MDkzYWE0Zjk2MTNiZGVmZTY3ZjRk
OWU1MTg4OTkxMDgyNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMCBAQAogMjAxMy0wNS0xMiAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCisgICAgICAgIFJlbW92ZSBD
b21wbGV4LmggZnJvbSBXVEYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExNTk4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJlcGxhY2UgQ29tcGxleCBkZWNsYXJhdGlvbnMgd2l0aCBzdGQ6OmNvbXBsZXg8
ZG91YmxlPi4gUGFzcyBieSB2YWx1ZSBzaW5jZSB0aGUgc3RydWN0CisgICAgICAgIGlzIHNtYWxs
IGVub3VnaCB0byBnbyBpbnRvIHR3byByZWdpc3RlcnMgb24gWDg2LTY0LgorCisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlYWx0aW1lQW5hbHlzZXI6OmRvRkZUQW5hbHlzaXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVh
bHRpbWVBbmFseXNlcjo6Z2V0RmxvYXRGcmVxdWVuY3lEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlYWx0aW1lQW5hbHlzZXI6OmdldEJ5dGVGcmVxdWVuY3lEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlYWx0aW1lQW5hbHlzZXI6OmdldEJ5dGVUaW1lRG9tYWluRGF0YSk6CisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vQmlxdWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpcXVhZDo6c2V0
WmVyb1BvbGVQYWlycyk6CisgICAgICAgIChXZWJDb3JlOjpCaXF1YWQ6OnNldEFsbHBhc3NQb2xl
KToKKyAgICAgICAgKFdlYkNvcmU6OkJpcXVhZDo6Z2V0RnJlcXVlbmN5UmVzcG9uc2UpOgorICAg
ICAgICAqIHBsYXRmb3JtL2F1ZGlvL0JpcXVhZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlv
L0ZGVEZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZGVEZyYW1lOjppbnRlcnBvbGF0ZUZy
ZXF1ZW5jeUNvbXBvbmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6RkZURnJhbWU6OmV4dHJhY3RB
dmVyYWdlR3JvdXBEZWxheSk6CisgICAgICAgIChXZWJDb3JlOjpGRlRGcmFtZTo6YWRkQ29uc3Rh
bnRHcm91cERlbGF5KToKKworMjAxMy0wNS0xMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgorCiAgICAgICAgIFNpbXBsaWZ5IEF1dG9kcmFpbmVkUG9vbAogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE1OTg2CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XVEYvR05VbWFrZWZp
bGUubGlzdC5hbQppbmRleCBhZGNhOTQ3MDlmM2FkODVkMjE1MzYyNDllOWQ1YTcwODI4YzdlM2Q3
Li5hMzM4N2JjYmFlYWY3YjkzMTczMTRjODQ5MzE4ZjE0MGJjNThhMTIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dURi9HTlVtYWtlZmls
ZS5saXN0LmFtCkBAIC0yNiw3ICsyNiw2IEBAIHd0Zl9zb3VyY2VzICs9IFwKICAgICBTb3VyY2Uv
V1RGL3d0Zi9DaGVja2VkQm9vbGVhbi5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9Db21tYVByaW50
ZXIuaCBcCiAgICAgU291cmNlL1dURi93dGYvQ29tcGlsZXIuaCBcCi0gICAgU291cmNlL1dURi93
dGYvQ29tcGxleC5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRv
bU51bWJlci5jcHAgXAogICAgIFNvdXJjZS9XVEYvd3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9t
TnVtYmVyLmggXAogICAgIFNvdXJjZS9XVEYvd3RmL0N1cnJlbnRUaW1lLmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL1dURi52Y3Byb2ovV1RGLnZjcHJvaiBiL1NvdXJjZS9XVEYvV1RGLnZj
cHJvai9XVEYudmNwcm9qCmluZGV4IDMyYTIwYzlkMDM0MTM4YTUwZmEzOGI4NzA4NzAwZDU3MDhl
NDQ3MGYuLjkzMmJiY2QwYmYyNTEwYzg1ODIxMTVmZDFlMGUzNDY0ZmE5NmIwNjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvV1RGLnZjcHJvai9XVEYudmNwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RG
LnZjcHJvai9XVEYudmNwcm9qCkBAIC02NjMsMTAgKzY2Myw2IEBACiAJCQk+CiAJCTwvRmlsZT4K
IAkJPEZpbGUKLQkJCVJlbGF0aXZlUGF0aD0iLi5cd3RmXENvbXBsZXguaCIKLQkJCT4KLQkJPC9G
aWxlPgotCQk8RmlsZQogCQkJUmVsYXRpdmVQYXRoPSIuLlx3dGZcQ3J5cHRvZ3JhcGhpY2FsbHlS
YW5kb21OdW1iZXIuY3BwIgogCQkJPgogCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L1dURi52Y3hwcm9qL1dURi52Y3hwcm9qIGIvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4
cHJvagppbmRleCA4OGMzMDEzYjA0NTZiNTUxNWVhNTUyMTAyODExZTFjMTNlY2IwMjRmLi4xNTg4
Njc0ZDBjYmViMGU5NDQwMzk5OTE1ZmJlZDViOWQxYmNlZDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ov
V1RGLnZjeHByb2oKQEAgLTExMSw3ICsxMTEsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cd3RmXENoZWNrZWRBcml0aG1ldGljLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cd3RmXENoZWNrZWRCb29sZWFuLmgiIC8+DQogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
d3RmXENvbXBpbGVyLmgiIC8+DQotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXENvbXBs
ZXguaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcQ3J5cHRvZ3JhcGhpY2Fs
bHlSYW5kb21OdW1iZXIuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcQ3Vy
cmVudFRpbWUuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcRGF0YUxvZy5o
IiAvPg0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmls
dGVycyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycwppbmRleCBi
MTY1ODRhNTM0MTljZjNmMTlkNTY3ZWFiZmQ0OTc5ODE3ZTk3OTk3Li4zYzRjNjkyOWJmZGQ5NDlk
ZjY1Mzk4ZmU3ZjU3OWQ0NTFhOWJmNzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hw
cm9qL1dURi52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYu
dmN4cHJvai5maWx0ZXJzCkBAIC0zNzIsOSArMzcyLDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHd0ZlxDb21waWxlci5oIj4NCiAgICAgICA8RmlsdGVyPnd0ZjwvRmlsdGVyPg0KICAg
ICA8L0NsSW5jbHVkZT4NCi0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcQ29tcGxleC5o
Ij4NCi0gICAgICA8RmlsdGVyPnd0ZjwvRmlsdGVyPg0KLSAgICA8L0NsSW5jbHVkZT4NCiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIu
aCI+DQogICAgICAgPEZpbHRlcj53dGY8L0ZpbHRlcj4NCiAgICAgPC9DbEluY2x1ZGU+DQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWY2MDg1MWUyYWM1NTNk
NTU1OTM1YzVhOGRkM2EzNTY5ZDg2MmVkOS4uM2NiMGNiM2IyYmMwNzExM2Y3OTI4ZGUxZDc0YjM0
MzI5OWJkN2QwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC03NSw3ICs3NSw2IEBACiAJCUE4QTQ3Mzk0MTUxQTgyNUIwMDQxMjNGRiAvKiBDaGVja2VkQXJp
dGhtZXRpYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QThBNDcyNkExNTFBODI1QTAwNDEyM0ZGIC8qIENoZWNrZWRBcml0aG1ldGljLmggKi87IH07CiAJ
CUE4QTQ3Mzk1MTUxQTgyNUIwMDQxMjNGRiAvKiBDaGVja2VkQm9vbGVhbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDcyNkIxNTFBODI1QTAwNDEy
M0ZGIC8qIENoZWNrZWRCb29sZWFuLmggKi87IH07CiAJCUE4QTQ3Mzk4MTUxQTgyNUIwMDQxMjNG
RiAvKiBDb21waWxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQThBNDcyNzAxNTFBODI1QTAwNDEyM0ZGIC8qIENvbXBpbGVyLmggKi87IH07Ci0JCUE4
QTQ3Mzk5MTUxQTgyNUIwMDQxMjNGRiAvKiBDb21wbGV4LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzI3MTE1MUE4MjVBMDA0MTIzRkYgLyogQ29t
cGxleC5oICovOyB9OwogCQlBOEE0NzM5QTE1MUE4MjVCMDA0MTIzRkYgLyogQ3J5cHRvZ3JhcGhp
Y2FsbHlSYW5kb21OdW1iZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQThBNDcyNzMxNTFBODI1QTAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5
UmFuZG9tTnVtYmVyLmNwcCAqLzsgfTsKIAkJQThBNDczOUIxNTFBODI1QjAwNDEyM0ZGIC8qIENy
eXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzI3NDE1MUE4MjVBMDA0MTIzRkYgLyogQ3J5cHRvZ3Jh
cGhpY2FsbHlSYW5kb21OdW1iZXIuaCAqLzsgfTsKIAkJQThBNDczOUMxNTFBODI1QjAwNDEyM0ZG
IC8qIEN1cnJlbnRUaW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE4QTQ3Mjc1MTUxQTgyNUEwMDQxMjNGRiAvKiBDdXJyZW50VGltZS5jcHAgKi87
IH07CkBAIC0zNDUsNyArMzQ0LDYgQEAKIAkJQThBNDcyNkExNTFBODI1QTAwNDEyM0ZGIC8qIENo
ZWNrZWRBcml0aG1ldGljLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoZWNr
ZWRBcml0aG1ldGljLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4QTQ3MjZCMTUx
QTgyNUEwMDQxMjNGRiAvKiBDaGVja2VkQm9vbGVhbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDaGVja2VkQm9vbGVhbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBOEE0NzI3MDE1MUE4MjVBMDA0MTIzRkYgLyogQ29tcGlsZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29tcGlsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQThBNDcyNzExNTFBODI1QTAwNDEyM0ZGIC8qIENvbXBsZXguaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29tcGxleC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBOEE0NzI3MzE1MUE4MjVBMDA0MTIzRkYgLyogQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1i
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3J5cHRvZ3JhcGhp
Y2FsbHlSYW5kb21OdW1iZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOEE0
NzI3NDE1MUE4MjVBMDA0MTIzRkYgLyogQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21O
dW1iZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThBNDcyNzUxNTFBODI1QTAw
NDEyM0ZGIC8qIEN1cnJlbnRUaW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEN1cnJlbnRUaW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYy
OSw3ICs2MjcsNiBAQAogCQkJCUE4QTQ3MjZCMTUxQTgyNUEwMDQxMjNGRiAvKiBDaGVja2VkQm9v
bGVhbi5oICovLAogCQkJCTBGQzRFREU1MTY5NjE0OTYwMEY2NTA0MSAvKiBDb21tYVByaW50ZXIu
aCAqLywKIAkJCQlBOEE0NzI3MDE1MUE4MjVBMDA0MTIzRkYgLyogQ29tcGlsZXIuaCAqLywKLQkJ
CQlBOEE0NzI3MTE1MUE4MjVBMDA0MTIzRkYgLyogQ29tcGxleC5oICovLAogCQkJCUE4QTQ3Mjcz
MTUxQTgyNUEwMDQxMjNGRiAvKiBDcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5jcHAgKi8s
CiAJCQkJQThBNDcyNzQxNTFBODI1QTAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5UmFuZG9t
TnVtYmVyLmggKi8sCiAJCQkJQThBNDcyNzUxNTFBODI1QTAwNDEyM0ZGIC8qIEN1cnJlbnRUaW1l
LmNwcCAqLywKQEAgLTk0NCw3ICs5NDEsNiBAQAogCQkJCUE4QTQ3NDVGMTUxQTgyNUIwMDQxMjNG
RiAvKiBDb2xsYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDNEVERTYxNjk2MTQ5NjAwRjY1
MDQxIC8qIENvbW1hUHJpbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczOTgxNTFBODI1
QjAwNDEyM0ZGIC8qIENvbXBpbGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlBOEE0NzM5OTE1MUE4
MjVCMDA0MTIzRkYgLyogQ29tcGxleC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0OEMxNTFB
ODI2NDAwNDEyM0ZGIC8qIGNvbmZpZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczOUIxNTFB
ODI1QjAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBOEE0NzQzQTE1MUE4MjVCMDA0MTIzRkYgLyogQ1N0cmluZy5oIGluIEhlYWRl
cnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IDAyNzkyNzA5MDFjYzUyZjRjM2JmMGI1OWU5
YzYxODA2YTZjNWY1NjEuLmFkNDc5Nzc3ZGMyMzYxNzFkNmZjZjRlY2I2MWU4ZmE1ZjExY2I3ZTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
VEYvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC0xMSw3ICsxMSw2IEBAIHNldChXVEZfSEVBREVSUwog
ICAgIEJ1bXBQb2ludGVyQWxsb2NhdG9yLmgKICAgICBCeXRlT3JkZXIuaAogICAgIENvbXBpbGVy
LmgKLSAgICBDb21wbGV4LmgKICAgICBDcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oCiAg
ICAgQ3VycmVudFRpbWUuaAogICAgIERhdGVNYXRoLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL0NvbXBsZXguaCBiL1NvdXJjZS9XVEYvd3RmL0NvbXBsZXguaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNDBmZTU2YTdiYjc1NDQyZWZhZTRkNTg5Y2Y0OTcwZmNmZmVlNTZmOS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9Db21wbGV4LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5j
LiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBX
VEZfQ29tcGxleF9oCi0jZGVmaW5lIFdURl9Db21wbGV4X2gKLQotI2luY2x1ZGUgPGNvbXBsZXg+
Ci0jaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KLQotbmFtZXNwYWNlIFdURiB7Ci0KLXR5cGVk
ZWYgc3RkOjpjb21wbGV4PGRvdWJsZT4gQ29tcGxleDsKLQotaW5saW5lIENvbXBsZXggY29tcGxl
eEZyb21NYWduaXR1ZGVQaGFzZShkb3VibGUgbWFnbml0dWRlLCBkb3VibGUgcGhhc2UpCi17Ci0g
ICAgcmV0dXJuIENvbXBsZXgobWFnbml0dWRlICogY29zKHBoYXNlKSwgbWFnbml0dWRlICogc2lu
KHBoYXNlKSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdURgotCi11c2luZyBXVEY6OkNvbXBsZXg7
Ci11c2luZyBXVEY6OmNvbXBsZXhGcm9tTWFnbml0dWRlUGhhc2U7Ci0KLSNlbmRpZiAvLyBXVEZf
Q29tcGxleF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Jl
YWx0aW1lQW5hbHlzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9SZWFs
dGltZUFuYWx5c2VyLmNwcAppbmRleCA3YTkwOWNiMjYwZWU3ODY4NjY0NTMyMTVmODNjZmExZDMy
NjU0ZTdiLi42ODE2M2NlNTU3YTFmZTE4MDE5MTJlYTI5ZmRhN2VkMGM1ODIyOTc2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5j
cHAKQEAgLTMyLDE3ICszMiwxMyBAQAogI2luY2x1ZGUgIkF1ZGlvVXRpbGl0aWVzLmgiCiAjaW5j
bHVkZSAiRkZURnJhbWUuaCIKICNpbmNsdWRlICJWZWN0b3JNYXRoLmgiCi0KICNpbmNsdWRlIDxh
bGdvcml0aG0+Ci0jaW5jbHVkZSA8bGltaXRzLmg+Ci0jaW5jbHVkZSA8d3RmL0NvbXBsZXguaD4K
KyNpbmNsdWRlIDxjb21wbGV4PgogI2luY2x1ZGUgPHd0Zi9GbG9hdDMyQXJyYXkuaD4KICNpbmNs
dWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5j
bHVkZSA8d3RmL1VpbnQ4QXJyYXkuaD4KIAotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLQogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjb25zdCBkb3VibGUgUmVhbHRpbWVBbmFseXNlcjo6RGVmYXVsdFNt
b290aGluZ1RpbWVDb25zdGFudCAgPSAwLjg7CkBAIC0xOTMsMTYgKzE4OSwxNiBAQCB2b2lkIFJl
YWx0aW1lQW5hbHlzZXI6OmRvRkZUQW5hbHlzaXMoKQogCiAgICAgLy8gQSB2YWx1ZSBvZiAwIGRv
ZXMgbm8gYXZlcmFnaW5nIHdpdGggdGhlIHByZXZpb3VzIHJlc3VsdC4gIExhcmdlciB2YWx1ZXMg
cHJvZHVjZSBzbG93ZXIsIGJ1dCBzbW9vdGhlciBjaGFuZ2VzLgogICAgIGRvdWJsZSBrID0gbV9z
bW9vdGhpbmdUaW1lQ29uc3RhbnQ7Ci0gICAgayA9IG1heCgwLjAsIGspOwotICAgIGsgPSBtaW4o
MS4wLCBrKTsgICAgCisgICAgayA9IHN0ZDo6bWF4KDAuMCwgayk7CisgICAgayA9IHN0ZDo6bWlu
KDEuMCwgayk7ICAgIAogICAgIAogICAgIC8vIENvbnZlcnQgdGhlIGFuYWx5c2lzIGRhdGEgZnJv
bSBjb21wbGV4IHRvIG1hZ25pdHVkZSBhbmQgYXZlcmFnZSB3aXRoIHRoZSBwcmV2aW91cyByZXN1
bHQuCiAgICAgZmxvYXQqIGRlc3RpbmF0aW9uID0gbWFnbml0dWRlQnVmZmVyKCkuZGF0YSgpOwog
ICAgIHNpemVfdCBuID0gbWFnbml0dWRlQnVmZmVyKCkuc2l6ZSgpOwogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbjsgKytpKSB7Ci0gICAgICAgIENvbXBsZXggYyhyZWFsUFtpXSwgaW1hZ1Bb
aV0pOworICAgICAgICBzdGQ6OmNvbXBsZXg8ZG91YmxlPiBjKHJlYWxQW2ldLCBpbWFnUFtpXSk7
CiAgICAgICAgIGRvdWJsZSBzY2FsYXJNYWduaXR1ZGUgPSBhYnMoYykgKiBtYWduaXR1ZGVTY2Fs
ZTsgICAgICAgIAotICAgICAgICBkZXN0aW5hdGlvbltpXSA9IGZsb2F0KGsgKiBkZXN0aW5hdGlv
bltpXSArICgxIC0gaykgKiBzY2FsYXJNYWduaXR1ZGUpOworICAgICAgICBkZXN0aW5hdGlvbltp
XSA9IHN0YXRpY19jYXN0PGZsb2F0PihrICogZGVzdGluYXRpb25baV0gKyAoMSAtIGspICogc2Nh
bGFyTWFnbml0dWRlKTsKICAgICB9CiB9CiAKQEAgLTIxOCw3ICsyMTQsNyBAQCB2b2lkIFJlYWx0
aW1lQW5hbHlzZXI6OmdldEZsb2F0RnJlcXVlbmN5RGF0YShGbG9hdDMyQXJyYXkqIGRlc3RpbmF0
aW9uQXJyYXkpCiAgICAgLy8gQ29udmVydCBmcm9tIGxpbmVhciBtYWduaXR1ZGUgdG8gZmxvYXRp
bmctcG9pbnQgZGVjaWJlbHMuCiAgICAgY29uc3QgZG91YmxlIG1pbkRlY2liZWxzID0gbV9taW5E
ZWNpYmVsczsKICAgICB1bnNpZ25lZCBzb3VyY2VMZW5ndGggPSBtYWduaXR1ZGVCdWZmZXIoKS5z
aXplKCk7Ci0gICAgc2l6ZV90IGxlbiA9IG1pbihzb3VyY2VMZW5ndGgsIGRlc3RpbmF0aW9uQXJy
YXktPmxlbmd0aCgpKTsKKyAgICBzaXplX3QgbGVuID0gc3RkOjptaW4oc291cmNlTGVuZ3RoLCBk
ZXN0aW5hdGlvbkFycmF5LT5sZW5ndGgoKSk7CiAgICAgaWYgKGxlbiA+IDApIHsKICAgICAgICAg
Y29uc3QgZmxvYXQqIHNvdXJjZSA9IG1hZ25pdHVkZUJ1ZmZlcigpLmRhdGEoKTsKICAgICAgICAg
ZmxvYXQqIGRlc3RpbmF0aW9uID0gZGVzdGluYXRpb25BcnJheS0+ZGF0YSgpOwpAQCAtMjI2LDcg
KzIyMiw3IEBAIHZvaWQgUmVhbHRpbWVBbmFseXNlcjo6Z2V0RmxvYXRGcmVxdWVuY3lEYXRhKEZs
b2F0MzJBcnJheSogZGVzdGluYXRpb25BcnJheSkKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGxlbjsgKytpKSB7CiAgICAgICAgICAgICBmbG9hdCBsaW5lYXJWYWx1ZSA9IHNvdXJj
ZVtpXTsKICAgICAgICAgICAgIGRvdWJsZSBkYk1hZyA9ICFsaW5lYXJWYWx1ZSA/IG1pbkRlY2li
ZWxzIDogQXVkaW9VdGlsaXRpZXM6OmxpbmVhclRvRGVjaWJlbHMobGluZWFyVmFsdWUpOwotICAg
ICAgICAgICAgZGVzdGluYXRpb25baV0gPSBmbG9hdChkYk1hZyk7CisgICAgICAgICAgICBkZXN0
aW5hdGlvbltpXSA9IHN0YXRpY19jYXN0PGZsb2F0PihkYk1hZyk7CiAgICAgICAgIH0KICAgICB9
CiB9CkBAIC0yNDIsNyArMjM4LDcgQEAgdm9pZCBSZWFsdGltZUFuYWx5c2VyOjpnZXRCeXRlRnJl
cXVlbmN5RGF0YShVaW50OEFycmF5KiBkZXN0aW5hdGlvbkFycmF5KQogICAgIAogICAgIC8vIENv
bnZlcnQgZnJvbSBsaW5lYXIgbWFnbml0dWRlIHRvIHVuc2lnbmVkLWJ5dGUgZGVjaWJlbHMuCiAg
ICAgdW5zaWduZWQgc291cmNlTGVuZ3RoID0gbWFnbml0dWRlQnVmZmVyKCkuc2l6ZSgpOwotICAg
IHNpemVfdCBsZW4gPSBtaW4oc291cmNlTGVuZ3RoLCBkZXN0aW5hdGlvbkFycmF5LT5sZW5ndGgo
KSk7CisgICAgc2l6ZV90IGxlbiA9IHN0ZDo6bWluKHNvdXJjZUxlbmd0aCwgZGVzdGluYXRpb25B
cnJheS0+bGVuZ3RoKCkpOwogICAgIGlmIChsZW4gPiAwKSB7CiAgICAgICAgIGNvbnN0IGRvdWJs
ZSByYW5nZVNjYWxlRmFjdG9yID0gbV9tYXhEZWNpYmVscyA9PSBtX21pbkRlY2liZWxzID8gMSA6
IDEgLyAobV9tYXhEZWNpYmVscyAtIG1fbWluRGVjaWJlbHMpOwogICAgICAgICBjb25zdCBkb3Vi
bGUgbWluRGVjaWJlbHMgPSBtX21pbkRlY2liZWxzOwpAQCAtMjc2LDcgKzI3Miw3IEBAIHZvaWQg
UmVhbHRpbWVBbmFseXNlcjo6Z2V0Qnl0ZVRpbWVEb21haW5EYXRhKFVpbnQ4QXJyYXkqIGRlc3Rp
bmF0aW9uQXJyYXkpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgdW5zaWduZWQgZmZ0
U2l6ZSA9IHRoaXMtPmZmdFNpemUoKTsKLSAgICBzaXplX3QgbGVuID0gbWluKGZmdFNpemUsIGRl
c3RpbmF0aW9uQXJyYXktPmxlbmd0aCgpKTsKKyAgICBzaXplX3QgbGVuID0gc3RkOjptaW4oZmZ0
U2l6ZSwgZGVzdGluYXRpb25BcnJheS0+bGVuZ3RoKCkpOwogICAgIGlmIChsZW4gPiAwKSB7CiAg
ICAgICAgIGJvb2wgaXNJbnB1dEJ1ZmZlckdvb2QgPSBtX2lucHV0QnVmZmVyLnNpemUoKSA9PSBJ
bnB1dEJ1ZmZlclNpemUgJiYgbV9pbnB1dEJ1ZmZlci5zaXplKCkgPiBmZnRTaXplOwogICAgICAg
ICBBU1NFUlQoaXNJbnB1dEJ1ZmZlckdvb2QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQmlxdWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0JpcXVhZC5jcHAKaW5kZXggZDY3OTljNjlkM2ZkNWQyMTE1NGYzNzgwOTI5MDE5NzA3YjcwZTY5
YS4uOTdlYmIzMWZiMDQ2MTFmYTZiN2EyNjIxODc4YTNlNzBkYTU2YTljZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQmlxdWFkLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9CaXF1YWQuY3BwCkBAIC0zOCw2ICszOCw4IEBACiAjaW5jbHVk
ZSA8d3RmL01hdGhFeHRyYXMuaD4KIAogI2lmIE9TKERBUldJTikKKy8vIFdvcmsgYXJvdW5kIGEg
YnVnIHdoZXJlIFZGb3JjZS5oIGZvcndhcmQgZGVjbGFyZXMgc3RkOjpjb21wbGV4IGluIGEgd2F5
IHRoYXQncyBpbmNvbXBhdGlibGUgd2l0aCBsaWJjKysgY29tcGxleC4KKyNkZWZpbmUgX19WRk9S
Q0VfSAogI2luY2x1ZGUgPEFjY2VsZXJhdGUvQWNjZWxlcmF0ZS5oPgogI2VuZGlmCiAKQEAgLTUy
Miw3ICs1MjQsNyBAQCB2b2lkIEJpcXVhZDo6c2V0QmFuZHBhc3NQYXJhbXMoZG91YmxlIGZyZXF1
ZW5jeSwgZG91YmxlIFEpCiAgICAgfQogfQogCi12b2lkIEJpcXVhZDo6c2V0WmVyb1BvbGVQYWly
cyhjb25zdCBDb21wbGV4ICZ6ZXJvLCBjb25zdCBDb21wbGV4ICZwb2xlKQordm9pZCBCaXF1YWQ6
OnNldFplcm9Qb2xlUGFpcnMoc3RkOjpjb21wbGV4PGRvdWJsZT4gemVybywgc3RkOjpjb21wbGV4
PGRvdWJsZT4gcG9sZSkKIHsKICAgICBkb3VibGUgYjAgPSAxOwogICAgIGRvdWJsZSBiMSA9IC0y
ICogemVyby5yZWFsKCk7CkBAIC01MzcsOSArNTM5LDkgQEAgdm9pZCBCaXF1YWQ6OnNldFplcm9Q
b2xlUGFpcnMoY29uc3QgQ29tcGxleCAmemVybywgY29uc3QgQ29tcGxleCAmcG9sZSkKICAgICBz
ZXROb3JtYWxpemVkQ29lZmZpY2llbnRzKGIwLCBiMSwgYjIsIDEsIGExLCBhMik7CiB9CiAKLXZv
aWQgQmlxdWFkOjpzZXRBbGxwYXNzUG9sZShjb25zdCBDb21wbGV4ICZwb2xlKQordm9pZCBCaXF1
YWQ6OnNldEFsbHBhc3NQb2xlKHN0ZDo6Y29tcGxleDxkb3VibGU+IHBvbGUpCiB7Ci0gICAgQ29t
cGxleCB6ZXJvID0gQ29tcGxleCgxLCAwKSAvIHBvbGU7CisgICAgc3RkOjpjb21wbGV4PGRvdWJs
ZT4gemVybyA9IHN0ZDo6Y29tcGxleDxkb3VibGU+KDEsIDApIC8gcG9sZTsKICAgICBzZXRaZXJv
UG9sZVBhaXJzKHplcm8sIHBvbGUpOwogfQogCkBAIC01NzMsMTAgKzU3NSwxMCBAQCB2b2lkIEJp
cXVhZDo6Z2V0RnJlcXVlbmN5UmVzcG9uc2UoaW50IG5GcmVxdWVuY2llcywKICAgICAKICAgICBm
b3IgKGludCBrID0gMDsgayA8IG5GcmVxdWVuY2llczsgKytrKSB7CiAgICAgICAgIGRvdWJsZSBv
bWVnYSA9IC1waURvdWJsZSAqIGZyZXF1ZW5jeVtrXTsKLSAgICAgICAgQ29tcGxleCB6ID0gQ29t
cGxleChjb3Mob21lZ2EpLCBzaW4ob21lZ2EpKTsKLSAgICAgICAgQ29tcGxleCBudW1lcmF0b3Ig
PSBiMCArIChiMSArIGIyICogeikgKiB6OwotICAgICAgICBDb21wbGV4IGRlbm9taW5hdG9yID0g
Q29tcGxleCgxLCAwKSArIChhMSArIGEyICogeikgKiB6OwotICAgICAgICBDb21wbGV4IHJlc3Bv
bnNlID0gbnVtZXJhdG9yIC8gZGVub21pbmF0b3I7CisgICAgICAgIHN0ZDo6Y29tcGxleDxkb3Vi
bGU+IHogPSBzdGQ6OmNvbXBsZXg8ZG91YmxlPihjb3Mob21lZ2EpLCBzaW4ob21lZ2EpKTsKKyAg
ICAgICAgc3RkOjpjb21wbGV4PGRvdWJsZT4gbnVtZXJhdG9yID0gYjAgKyAoYjEgKyBiMiAqIHop
ICogejsKKyAgICAgICAgc3RkOjpjb21wbGV4PGRvdWJsZT4gZGVub21pbmF0b3IgPSBzdGQ6OmNv
bXBsZXg8ZG91YmxlPigxLCAwKSArIChhMSArIGEyICogeikgKiB6OworICAgICAgICBzdGQ6OmNv
bXBsZXg8ZG91YmxlPiByZXNwb25zZSA9IG51bWVyYXRvciAvIGRlbm9taW5hdG9yOwogICAgICAg
ICBtYWdSZXNwb25zZVtrXSA9IHN0YXRpY19jYXN0PGZsb2F0PihhYnMocmVzcG9uc2UpKTsKICAg
ICAgICAgcGhhc2VSZXNwb25zZVtrXSA9IHN0YXRpY19jYXN0PGZsb2F0PihhdGFuMihpbWFnKHJl
c3BvbnNlKSwgcmVhbChyZXNwb25zZSkpKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9CaXF1YWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0JpcXVhZC5oCmluZGV4IDgyMmZjNTE2YTNkZDdhMTc5MzVlZWU2MTFkNzM0ZDZhY2MwYWQ5
NDEuLmUzZTYxMjcwNmIwZjM2NmE3YTY2MzMyNjE4NzdlNmY5ZThhNzQ0MDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0JpcXVhZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0JpcXVhZC5oCkBAIC0zMCw4ICszMCw4IEBACiAjZGVmaW5lIEJp
cXVhZF9oCiAKICNpbmNsdWRlICJBdWRpb0FycmF5LmgiCisjaW5jbHVkZSA8Y29tcGxleD4KICNp
bmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDx3dGYvQ29tcGxleC5oPgogIAogI2lmIFVT
RShXRUJBVURJT19JUFApCiAjaW5jbHVkZSA8aXBwcy5oPgpAQCAtNjQsMTEgKzY0LDExIEBAIHB1
YmxpYzoKIAogICAgIC8vIFNldCB0aGUgYmlxdWFkIGNvZWZmaWNpZW50cyBnaXZlbiBhIHNpbmds
ZSB6ZXJvIChvdGhlciB6ZXJvIHdpbGwgYmUgY29uanVnYXRlKQogICAgIC8vIGFuZCBhIHNpbmds
ZSBwb2xlIChvdGhlciBwb2xlIHdpbGwgYmUgY29uanVnYXRlKQotICAgIHZvaWQgc2V0WmVyb1Bv
bGVQYWlycyhjb25zdCBDb21wbGV4JiB6ZXJvLCBjb25zdCBDb21wbGV4JiBwb2xlKTsKKyAgICB2
b2lkIHNldFplcm9Qb2xlUGFpcnMoc3RkOjpjb21wbGV4PGRvdWJsZT4gemVybywgc3RkOjpjb21w
bGV4PGRvdWJsZT4gcG9sZSk7CiAKICAgICAvLyBTZXQgdGhlIGJpcXVhZCBjb2VmZmljaWVudHMg
Z2l2ZW4gYSBzaW5nbGUgcG9sZSAob3RoZXIgcG9sZSB3aWxsIGJlIGNvbmp1Z2F0ZSkKICAgICAv
LyAoVGhlIHplcm9lcyB3aWxsIGJlIHRoZSBpbnZlcnNlIG9mIHRoZSBwb2xlcykKLSAgICB2b2lk
IHNldEFsbHBhc3NQb2xlKGNvbnN0IENvbXBsZXgmIHBvbGUpOworICAgIHZvaWQgc2V0QWxscGFz
c1BvbGUoc3RkOjpjb21wbGV4PGRvdWJsZT4pOwogCiAgICAgLy8gUmVzZXRzIGZpbHRlciBzdGF0
ZQogICAgIHZvaWQgcmVzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0ZGVEZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0ZGVEZy
YW1lLmNwcAppbmRleCBhMWEwYTUwZGFjZWJjYjZkOTAzNjQ0YzYwMmQxNDQ4YzgwMjliMjJiLi5j
NjI4NTE0M2MzM2QyZTE3YmM0NzdkZmMwYmZkZDI1N2Q1ZWNjNzg1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vRkZURnJhbWUuY3BwCkBAIC0zMiwxNSArMzIsMTUgQEAKIAogI2lu
Y2x1ZGUgIkZGVEZyYW1lLmgiCiAKLSNpZm5kZWYgTkRFQlVHCi0jaW5jbHVkZSA8c3RkaW8uaD4K
LSNlbmRpZgotCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1ZGUgPHd0Zi9Db21wbGV4Lmg+
CisjaW5jbHVkZSA8Y29tcGxleD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KIAorI2lmbmRlZiBOREVCVUcKKyNpbmNsdWRlIDxzdGRpby5oPgor
I2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBGRlRGcmFtZTo6ZG9QYWRkZWRG
RlQoY29uc3QgZmxvYXQqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSkKQEAgLTk5LDggKzk5LDggQEAg
dm9pZCBGRlRGcmFtZTo6aW50ZXJwb2xhdGVGcmVxdWVuY3lDb21wb25lbnRzKGNvbnN0IEZGVEZy
YW1lJiBmcmFtZTEsIGNvbnN0IEZGVEYKICAgICBpbnQgbiA9IG1fRkZUU2l6ZSAvIDI7CiAKICAg
ICBmb3IgKGludCBpID0gMTsgaSA8IG47ICsraSkgewotICAgICAgICBDb21wbGV4IGMxKHJlYWxQ
MVtpXSwgaW1hZ1AxW2ldKTsKLSAgICAgICAgQ29tcGxleCBjMihyZWFsUDJbaV0sIGltYWdQMltp
XSk7CisgICAgICAgIHN0ZDo6Y29tcGxleDxkb3VibGU+IGMxKHJlYWxQMVtpXSwgaW1hZ1AxW2ld
KTsKKyAgICAgICAgc3RkOjpjb21wbGV4PGRvdWJsZT4gYzIocmVhbFAyW2ldLCBpbWFnUDJbaV0p
OwogCiAgICAgICAgIGRvdWJsZSBtYWcxID0gYWJzKGMxKTsKICAgICAgICAgZG91YmxlIG1hZzIg
PSBhYnMoYzIpOwpAQCAtMTY2LDcgKzE2Niw3IEBAIHZvaWQgRkZURnJhbWU6OmludGVycG9sYXRl
RnJlcXVlbmN5Q29tcG9uZW50cyhjb25zdCBGRlRGcmFtZSYgZnJhbWUxLCBjb25zdCBGRlRGCiAg
ICAgICAgIGlmIChwaGFzZUFjY3VtIDwgLXBpRG91YmxlKQogICAgICAgICAgICAgcGhhc2VBY2N1
bSArPSAyLjAgKiBwaURvdWJsZTsKIAotICAgICAgICBDb21wbGV4IGMgPSBjb21wbGV4RnJvbU1h
Z25pdHVkZVBoYXNlKG1hZywgcGhhc2VBY2N1bSk7CisgICAgICAgIHN0ZDo6Y29tcGxleDxkb3Vi
bGU+IGMgPSBzdGQ6OnBvbGFyKG1hZywgcGhhc2VBY2N1bSk7CiAKICAgICAgICAgcmVhbFBbaV0g
PSBzdGF0aWNfY2FzdDxmbG9hdD4oYy5yZWFsKCkpOwogICAgICAgICBpbWFnUFtpXSA9IHN0YXRp
Y19jYXN0PGZsb2F0PihjLmltYWcoKSk7CkBAIC0xODgsNyArMTg4LDcgQEAgZG91YmxlIEZGVEZy
YW1lOjpleHRyYWN0QXZlcmFnZUdyb3VwRGVsYXkoKQogCiAgICAgLy8gQ2FsY3VsYXRlIHdlaWdo
dGVkIGF2ZXJhZ2UgZ3JvdXAgZGVsYXkKICAgICBmb3IgKGludCBpID0gMDsgaSA8IGhhbGZTaXpl
OyBpKyspIHsKLSAgICAgICAgQ29tcGxleCBjKHJlYWxQW2ldLCBpbWFnUFtpXSk7CisgICAgICAg
IHN0ZDo6Y29tcGxleDxkb3VibGU+IGMocmVhbFBbaV0sIGltYWdQW2ldKTsKICAgICAgICAgZG91
YmxlIG1hZyA9IGFicyhjKTsKICAgICAgICAgZG91YmxlIHBoYXNlID0gYXJnKGMpOwogCkBAIC0y
MzUsMTMgKzIzNSwxMyBAQCB2b2lkIEZGVEZyYW1lOjphZGRDb25zdGFudEdyb3VwRGVsYXkoZG91
YmxlIHNhbXBsZUZyYW1lRGVsYXkpCiAKICAgICAvLyBBZGQgY29uc3RhbnQgZ3JvdXAgZGVsYXkK
ICAgICBmb3IgKGludCBpID0gMTsgaSA8IGhhbGZTaXplOyBpKyspIHsKLSAgICAgICAgQ29tcGxl
eCBjKHJlYWxQW2ldLCBpbWFnUFtpXSk7CisgICAgICAgIHN0ZDo6Y29tcGxleDxkb3VibGU+IGMo
cmVhbFBbaV0sIGltYWdQW2ldKTsKICAgICAgICAgZG91YmxlIG1hZyA9IGFicyhjKTsKICAgICAg
ICAgZG91YmxlIHBoYXNlID0gYXJnKGMpOwogCiAgICAgICAgIHBoYXNlICs9IGkgKiBwaGFzZUFk
ajsKIAotICAgICAgICBDb21wbGV4IGMyID0gY29tcGxleEZyb21NYWduaXR1ZGVQaGFzZShtYWcs
IHBoYXNlKTsKKyAgICAgICAgc3RkOjpjb21wbGV4PGRvdWJsZT4gYzIgPSBzdGQ6OnBvbGFyKG1h
ZywgcGhhc2UpOwogCiAgICAgICAgIHJlYWxQW2ldID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGMyLnJl
YWwoKSk7CiAgICAgICAgIGltYWdQW2ldID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGMyLmltYWcoKSk7
Cg==
</data>
<flag name="review"
          id="222844"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>