<?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>66597</bug_id>
          
          <creation_ts>2011-08-19 14:52:12 -0700</creation_ts>
          <short_desc>[skia] BitmapImageSingleFrameSkia returns true to isBitmapImage() but does not inherit from BitmapImage</short_desc>
          <delta_ts>2013-04-09 13:05:07 -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="James Robinson">jamesr</reporter>
          <assigned_to name="Tom Hudson">tomhudson</assigned_to>
          <cc>brettw</cc>
    
    <cc>cdumez</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>jamesr</cc>
    
    <cc>pnormand</cc>
    
    <cc>rakuco</cc>
    
    <cc>reed</cc>
    
    <cc>schenney</cc>
    
    <cc>senorblanco</cc>
    
    <cc>tomhudson</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>454116</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-08-19 14:52:12 -0700</bug_when>
    <thetext>This leads to bugs since code in WebKit typically assumes that if a function returns true to isFoo() it is safe to static_cast&lt;Foo*&gt; and call functions.  See https://bugs.webkit.org/show_bug.cgi?id=65063 for an example of where this bug caused real crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454128</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-08-19 15:09:26 -0700</bug_when>
    <thetext>I don&apos;t like the changes made for bug 65063, so I welcome cleanup here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454143</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-08-19 15:25:04 -0700</bug_when>
    <thetext>For the record, I don&apos;t either.  It was either that or turn off your optimization for all skia ports, though :/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454232</commentid>
    <comment_count>3</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-08-19 17:30:52 -0700</bug_when>
    <thetext>The original motivation for BitmapImageSingleFrameSkia is to avoid having all of the animation overhead for simple 1-frame images, which seems like a useful optimization for all ports.  I think the option 3 from https://bugs.webkit.org/show_bug.cgi?id=65063#c18 is the best way to go here - we should turn BitmapImage into a simple class that doesn&apos;t handle animation concerns, and use an AnimatedBitmapImage subclass to handle the animation case.  This should have the nice benefit of reducing the memory use for non-animated images for all platforms and clean up the class hierarchy a lot for the skia case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613594</commentid>
    <comment_count>4</comment_count>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2012-05-01 12:56:46 -0700</bug_when>
    <thetext>It feels like a stretch for me, but it looks like the original class of bug may be triggering again in the Chromium port, so I&apos;m going to try to do the refactoring James endorsed this week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615600</commentid>
    <comment_count>5</comment_count>
      <attachid>140089</attachid>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2012-05-03 14:05:52 -0700</bug_when>
    <thetext>Created attachment 140089
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615610</commentid>
    <comment_count>6</comment_count>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2012-05-03 14:08:55 -0700</bug_when>
    <thetext>In the discussions around https://bugs.webkit.org/show_bug.cgi?id=65063#c18, one thing we didn&apos;t realize is not only does the Skia-specific single-frame class avoid all the implementation for multiple frames, it *also* uses a different type to store the image, so there doesn&apos;t seem to be any implementation that can be shared between the two classes.

This patch introduces a lightweight class SimpleBitmapImage that does nothing more than mark that an object is some sort of Bitmap (rather than SVG). I&apos;ve gone through the WebCore fixing up call sites that were using isBitmapImage() to use isSimpleBitmapImage() where that seems reasonable.

If we&apos;re going to do something more comprehensive, I&apos;ll need pointers from people familiar with this part of the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615625</commentid>
    <comment_count>7</comment_count>
      <attachid>140089</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-03 14:24:41 -0700</bug_when>
    <thetext>Comment on attachment 140089
Patch

Attachment 140089 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12545388</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615634</commentid>
    <comment_count>8</comment_count>
      <attachid>140089</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-05-03 14:30:07 -0700</bug_when>
    <thetext>Comment on attachment 140089
Patch

Attachment 140089 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12607303</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615639</commentid>
    <comment_count>9</comment_count>
      <attachid>140089</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-03 14:36:34 -0700</bug_when>
    <thetext>Comment on attachment 140089
Patch

Attachment 140089 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12545391</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615645</commentid>
    <comment_count>10</comment_count>
      <attachid>140089</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-03 14:42:29 -0700</bug_when>
    <thetext>Comment on attachment 140089
Patch

Attachment 140089 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12625094</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615651</commentid>
    <comment_count>11</comment_count>
      <attachid>140089</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-03 14:46:29 -0700</bug_when>
    <thetext>Comment on attachment 140089
Patch

Attachment 140089 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12612385</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615661</commentid>
    <comment_count>12</comment_count>
      <attachid>140089</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-03 14:55:25 -0700</bug_when>
    <thetext>Comment on attachment 140089
Patch

Attachment 140089 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/12611334</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616263</commentid>
    <comment_count>13</comment_count>
      <attachid>140244</attachid>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2012-05-04 08:48:27 -0700</bug_when>
    <thetext>Created attachment 140244
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616277</commentid>
    <comment_count>14</comment_count>
      <attachid>140244</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-04 09:11:14 -0700</bug_when>
    <thetext>Comment on attachment 140244
Patch

Attachment 140244 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12543344</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616279</commentid>
    <comment_count>15</comment_count>
      <attachid>140244</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-04 09:13:37 -0700</bug_when>
    <thetext>Comment on attachment 140244
Patch

Attachment 140244 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12632170</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616295</commentid>
    <comment_count>16</comment_count>
      <attachid>140244</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-04 09:24:11 -0700</bug_when>
    <thetext>Comment on attachment 140244
Patch

Attachment 140244 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12633176</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616315</commentid>
    <comment_count>17</comment_count>
      <attachid>140244</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-04 09:41:21 -0700</bug_when>
    <thetext>Comment on attachment 140244
Patch

Attachment 140244 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/12631189</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616353</commentid>
    <comment_count>18</comment_count>
      <attachid>140244</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-04 10:15:30 -0700</bug_when>
    <thetext>Comment on attachment 140244
Patch

Attachment 140244 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12627184</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616439</commentid>
    <comment_count>19</comment_count>
      <attachid>140244</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-05-04 11:05:34 -0700</bug_when>
    <thetext>Comment on attachment 140244
Patch

Attachment 140244 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12629213</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616660</commentid>
    <comment_count>20</comment_count>
      <attachid>140324</attachid>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2012-05-04 14:21:29 -0700</bug_when>
    <thetext>Created attachment 140324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616681</commentid>
    <comment_count>21</comment_count>
      <attachid>140324</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-04 14:36:18 -0700</bug_when>
    <thetext>Comment on attachment 140324
Patch

Attachment 140324 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12631284</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616684</commentid>
    <comment_count>22</comment_count>
      <attachid>140324</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-04 14:39:45 -0700</bug_when>
    <thetext>Comment on attachment 140324
Patch

Attachment 140324 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12631286</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616690</commentid>
    <comment_count>23</comment_count>
      <attachid>140324</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-04 14:42:55 -0700</bug_when>
    <thetext>Comment on attachment 140324
Patch

Attachment 140324 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12627265</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616705</commentid>
    <comment_count>24</comment_count>
      <attachid>140324</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-04 15:02:50 -0700</bug_when>
    <thetext>Comment on attachment 140324
Patch

Attachment 140324 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12531283</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627972</commentid>
    <comment_count>25</comment_count>
      <attachid>142772</attachid>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2012-05-18 13:14:27 -0700</bug_when>
    <thetext>Created attachment 142772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627982</commentid>
    <comment_count>26</comment_count>
      <attachid>142772</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-18 13:26:11 -0700</bug_when>
    <thetext>Comment on attachment 142772
Patch

Attachment 142772 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12720968</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627997</commentid>
    <comment_count>27</comment_count>
      <attachid>142772</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-18 13:33:09 -0700</bug_when>
    <thetext>Comment on attachment 142772
Patch

Attachment 142772 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12722888</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628003</commentid>
    <comment_count>28</comment_count>
      <attachid>142772</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-18 13:34:02 -0700</bug_when>
    <thetext>Comment on attachment 142772
Patch

Attachment 142772 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12728332</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628051</commentid>
    <comment_count>29</comment_count>
      <attachid>142772</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-18 14:07:04 -0700</bug_when>
    <thetext>Comment on attachment 142772
Patch

Attachment 142772 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12728344</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140089</attachid>
            <date>2012-05-03 14:05:52 -0700</date>
            <delta_ts>2012-05-04 08:48:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66597-20120503170550.patch</filename>
            <type>text/plain</type>
            <size>12192</size>
            <attacher name="Tom Hudson">tomhudson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNjAwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA1LTAzICBUb20gSHVk
c29uICA8dG9taHVkc29uQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIGEgU2ltcGxl
Qml0bWFwSW1hZ2UgY2xhc3MgdG8gc2VydmUgYXMgdGhlIGNvbW1vbiBwYXJlbnQKKyAgICAgICAg
b2YgQml0bWFwSW1hZ2UgYW5kIEJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1OTcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2VzIGEgU2ltcGxl
Qml0bWFwSW1hZ2UgY2xhc3MgdG8gc2VydmUgYXMgdGhlIGNvbW1vbiBwYXJlbnQKKyAgICAgICAg
b2YgQml0bWFwSW1hZ2UgYW5kIEJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhLiBUaGUgdHdvIGNs
YXNzZXMgYXMKKyAgICAgICAgY3VycmVudGx5IHdyaXR0ZW4gY2FuJ3Qgc2hhcmUgYW55IGltcGxl
bWVudGF0aW9uLCBidXQgdGhleSBpbXBsZW1lbnQKKyAgICAgICAgdGhlIHNhbWUgaW50ZXJmYWNl
IChwcm92aWRlZCBieSBJbWFnZSkgYXJlIGFyZSBib3RoIHNlbWFudGljYWxseQorICAgICAgICAi
Qml0bWFwIEltYWdlcyI7IHRoZSBTa2lhLXNwZWNpZmljIGNsYXNzIGhhcyByZXBlYXRlZGx5IGJl
ZW4KKyAgICAgICAgc3RhdGljX2Nhc3Q8Qml0bWFwSW1hZ2UqPiwgd2hpY2ggY2F1c2VzIGhhcmQt
dG8tdHJhY2stZG93biBidWdzLgorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJp
dG1hcEltYWdlOjpCaXRtYXBJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2U6OmlzU2ltcGxlQml0bWFwSW1hZ2UpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL1NpbXBsZUJpdG1hcEltYWdlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUJpdG1hcEltYWdlOjp+U2ltcGxlQml0bWFw
SW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlQml0bWFwSW1hZ2U6OmlzU2ltcGxlQml0
bWFwSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlQml0bWFwSW1hZ2U6OlNpbXBsZUJp
dG1hcEltYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVCaXRtYXBJbWFn
ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU2ltcGxlQml0bWFwSW1h
Z2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvQml0bWFwSW1hZ2VTaW5nbGVG
cmFtZVNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9CaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYS5oOgorICAgICAgICAoQml0bWFw
SW1hZ2VTaW5nbGVGcmFtZVNraWEpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpz
aG91bGRQYWludEF0TG93UXVhbGl0eSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpiYWNrZ3JvdW5kSXNPYnNjdXJl
ZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmlzRGlyZWN0bHlDb21wb3NpdGVkSW1hZ2Up
OgorCiAyMDEyLTA1LTAzICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgTW92ZSByZXBhaW50IGNvdW50ZXIgZHJhd2luZyBjb2RlIG91dCBpbnRvIGEgc2Vw
YXJhdGUgZnVuY3Rpb24KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDExNTg2MykKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzkxLDYgKzM5
MSw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVybi5oJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlQml0bWFwSW1hZ2UuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
U2ltcGxlRm9udERhdGEuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5n
VHJ1bmNhdG9yLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL1NWR0dseXBoLmgn
LApAQCAtMzQzNiw2ICszNDM3LDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9T
ZWdtZW50ZWRGb250RGF0YS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9TaGFk
b3dCbHVyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5o
JywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVCaXRtYXBJbWFnZS5jcHAn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvU1ZHR2x5cGguY3BwJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwJywKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAJKHJldmlzaW9u
IDExNTg2MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCBzdGF0aWMgaW50IGZyYW1lQnl0
ZXMoY29uc3QgSW50U2l6ZSYgZnJhCiB9CiAKIEJpdG1hcEltYWdlOjpCaXRtYXBJbWFnZShJbWFn
ZU9ic2VydmVyKiBvYnNlcnZlcikKLSAgICA6IEltYWdlKG9ic2VydmVyKQorICAgIDogU2ltcGxl
Qml0bWFwSW1hZ2Uob2JzZXJ2ZXIpCiAgICAgLCBtX2N1cnJlbnRGcmFtZSgwKQogICAgICwgbV9m
cmFtZXMoMCkKICAgICAsIG1fZnJhbWVUaW1lcigwKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCShyZXZpc2lvbiAxMTU4NjMpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCwxMCArMjgsMTAgQEAKICNpZm5kZWYgQml0bWFwSW1hZ2VfaAogI2RlZmluZSBC
aXRtYXBJbWFnZV9oCiAKLSNpbmNsdWRlICJJbWFnZS5oIgogI2luY2x1ZGUgIkNvbG9yLmgiCiAj
aW5jbHVkZSAiSW1hZ2VPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKKyNpbmNs
dWRlICJTaW1wbGVCaXRtYXBJbWFnZS5oIgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTk4LDcgKzk4LDcgQEAgcHVibGljOgogLy8gQml0bWFwSW1h
Z2UgQ2xhc3MKIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KIAotY2xhc3MgQml0bWFwSW1hZ2UgOiBwdWJsaWMgSW1hZ2UgeworY2xhc3MgQml0bWFw
SW1hZ2UgOiBwdWJsaWMgU2ltcGxlQml0bWFwSW1hZ2UgewogICAgIGZyaWVuZCBjbGFzcyBHZW5l
cmF0ZWRJbWFnZTsKICAgICBmcmllbmQgY2xhc3MgQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2U7CiAg
ICAgZnJpZW5kIGNsYXNzIEdlbmVyYXRvckdlbmVyYXRlZEltYWdlOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCShyZXZpc2lvbiAxMTU4NjMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04
Nyw2ICs4Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c1R5cGUoY29uc3Qg
U3RyaW5nJik7IAogCiAgICAgdmlydHVhbCBib29sIGlzU1ZHSW1hZ2UoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1NpbXBsZUJpdG1hcEltYWdlKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNCaXRtYXBJbWFnZSgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGN1cnJlbnRGcmFtZUhhc0FscGhh
KCkgeyByZXR1cm4gZmFsc2U7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvU2ltcGxlQml0bWFwSW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUJpdG1hcEltYWdlLmNwcAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUJpdG1hcEltYWdlLmNwcAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNiBAQAorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIlNpbXBsZUJpdG1hcEltYWdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworCitTaW1w
bGVCaXRtYXBJbWFnZTo6flNpbXBsZUJpdG1hcEltYWdlKCkKK3sKKworfQorCitib29sIFNpbXBs
ZUJpdG1hcEltYWdlOjppc1NpbXBsZUJpdG1hcEltYWdlKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworCitTaW1wbGVCaXRtYXBJbWFnZTo6U2ltcGxlQml0bWFwSW1hZ2UoSW1hZ2VP
YnNlcnZlciogb2JzZXJ2ZXIpCisgICAgOiBJbWFnZShvYnNlcnZlcikKK3sKKworfQorCisKK30K
KwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlQml0bWFwSW1h
Z2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1w
bGVCaXRtYXBJbWFnZS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU2ltcGxlQml0bWFwSW1hZ2UuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUsIEluYy4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRl
ZiBTaW1wbGVCaXRtYXBJbWFnZV9oCisjZGVmaW5lIFNpbXBsZUJpdG1hcEltYWdlX2gKKworI2lu
Y2x1ZGUgIkltYWdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisvLyBTaW1wbGVCaXRtYXBJbWFn
ZSBDbGFzcworLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CisKK2NsYXNzIFNpbXBsZUJpdG1hcEltYWdlIDogcHVibGljIEltYWdlIHsKK3B1YmxpYzoK
KyAgICB2aXJ0dWFsIH5TaW1wbGVCaXRtYXBJbWFnZSgpOworICAgIHZpcnR1YWwgYm9vbCBpc1Np
bXBsZUJpdG1hcEltYWdlKCkgY29uc3Q7CisKK3Byb3RlY3RlZDoKKyAgICBTaW1wbGVCaXRtYXBJ
bWFnZShJbWFnZU9ic2VydmVyKiA9IDApOworfTsKKworfQorCisjZW5kaWYKKwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9CaXRtYXBJbWFnZVNpbmdsZUZyYW1l
U2tpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9CaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYS5jcHAJKHJldmlzaW9uIDExNTg2MykKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvQml0bWFwSW1hZ2VTaW5nbGVG
cmFtZVNraWEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00LDExICs0LDYgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1ib29sIEJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhOjppc0JpdG1hcElt
YWdlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogYm9vbCBCaXRtYXBJbWFnZVNp
bmdsZUZyYW1lU2tpYTo6Y3VycmVudEZyYW1lSGFzQWxwaGEoKQogewogICAgIHJldHVybiAhbV9u
YXRpdmVJbWFnZS5iaXRtYXAoKS5pc09wYXF1ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9CaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvQml0bWFwSW1hZ2VT
aW5nbGVGcmFtZVNraWEuaAkocmV2aXNpb24gMTE1ODYzKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9CaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw4ICszMSw4IEBACiAjaWZuZGVmIEJpdG1hcEltYWdlU2luZ2xlRnJhbWVT
a2lhX2gKICNkZWZpbmUgQml0bWFwSW1hZ2VTaW5nbGVGcmFtZVNraWFfaAogCi0jaW5jbHVkZSAi
SW1hZ2UuaCIKICNpbmNsdWRlICJOYXRpdmVJbWFnZVNraWEuaCIKKyNpbmNsdWRlICJTaW1wbGVC
aXRtYXBJbWFnZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ0LDE1ICs0NCwxMyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLwogLy8gVGhlIGRpZmZpY3VsdHkgd2l0aCBwdXR0aW5n
IHRoaXMgaW4gQml0bWFwSW1hZ2U6OmNyZWF0ZShOYXRpdmVJbWFnZVB0cikKIC8vIGlzIHRoYXQg
TmF0aXZlSW1hZ2VQdHIgPSBOYXRpdmVJbWFnZVNraWEsIHlldCBjYWxsZXJzIGhhdmUgU2tCaXRt
YXAuCi1jbGFzcyBCaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYSA6IHB1YmxpYyBJbWFnZSB7Citj
bGFzcyBCaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYSA6IHB1YmxpYyBTaW1wbGVCaXRtYXBJbWFn
ZSB7CiBwdWJsaWM6CiAgICAgLy8gQ3JlYXRlcyBhIG5ldyBJbWFnZSBmcm9tIHRoZSBnaXZlbiBT
a0JpdG1hcC4gIElmICJjb3B5UGl4ZWxzIiBpcyB0cnVlLCBhCiAgICAgLy8gZGVlcCBjb3B5IGlz
IGRvbmUuICBPdGhlcndpc2UsIGEgc2hhbGxvdyBjb3B5IGlzIGRvbmUgKHBpeGVsIGRhdGEgaXMK
ICAgICAvLyByZWYnZWQpLgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJpdG1hcEltYWdlU2luZ2xl
RnJhbWVTa2lhPiBjcmVhdGUoY29uc3QgU2tCaXRtYXAmLCBib29sIGNvcHlQaXhlbHMpOwogCi0g
ICAgdmlydHVhbCBib29sIGlzQml0bWFwSW1hZ2UoKSBjb25zdDsKLQogICAgIHZpcnR1YWwgYm9v
bCBjdXJyZW50RnJhbWVIYXNBbHBoYSgpOwogCiAgICAgdmlydHVhbCBJbnRTaXplIHNpemUoKSBj
b25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcAkocmV2aXNpb24gMTE1ODYzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgs
NyBAQAogI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgog
I2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiU2ltcGxlQml0bWFwSW1hZ2UuaCIKICNp
bmNsdWRlICJUcmFuc2Zvcm1TdGF0ZS5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgog
CkBAIC0xNTAsNyArMTUxLDcgQEAgYm9vbCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpzaG91bGRQ
YWludAogewogICAgIC8vIElmIHRoZSBpbWFnZSBpcyBub3QgYSBiaXRtYXAgaW1hZ2UsIHRoZW4g
bm9uZSBvZiB0aGlzIGlzIHJlbGV2YW50IGFuZCB3ZSBqdXN0IHBhaW50IGF0IGhpZ2gKICAgICAv
LyBxdWFsaXR5LgotICAgIGlmICghaW1hZ2UgfHwgIWltYWdlLT5pc0JpdG1hcEltYWdlKCkgfHwg
Y29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQorICAgIGlmICghaW1hZ2UgfHwgIWltYWdlLT5p
c1NpbXBsZUJpdG1hcEltYWdlKCkgfHwgY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAob2JqZWN0LT5zdHlsZSgpLT5pbWFnZVJlbmRl
cmluZygpID09IEltYWdlUmVuZGVyaW5nT3B0aW1pemVDb250cmFzdCkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gMTE1ODYzKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjgsNyArMjgsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlbmRlckltYWdl
LmgiCiAKLSNpbmNsdWRlICJCaXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgIkZvbnRDYWNoZS5oIgog
I2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKQEAgLTQzLDYg
KzQyLDcgQEAKICNpbmNsdWRlICJQYWludEluZm8uaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3Lmgi
CiAjaW5jbHVkZSAiU1ZHSW1hZ2UuaCIKKyNpbmNsdWRlICJTaW1wbGVCaXRtYXBJbWFnZS5oIgog
I2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpAQCAt
NDUwLDcgKzQ1MCw3IEBAIGJvb2wgUmVuZGVySW1hZ2U6OmJhY2tncm91bmRJc09ic2N1cmVkKCkK
IAogICAgIC8vIENoZWNrIGZvciBiaXRtYXAgaW1hZ2Ugd2l0aCBhbHBoYS4KICAgICBJbWFnZSog
aW1hZ2UgPSBtX2ltYWdlUmVzb3VyY2UtPmltYWdlKCkuZ2V0KCk7Ci0gICAgaWYgKCFpbWFnZSB8
fCAhaW1hZ2UtPmlzQml0bWFwSW1hZ2UoKSB8fCBpbWFnZS0+Y3VycmVudEZyYW1lSGFzQWxwaGEo
KSkKKyAgICBpZiAoIWltYWdlIHx8ICFpbWFnZS0+aXNTaW1wbGVCaXRtYXBJbWFnZSgpIHx8IGlt
YWdlLT5jdXJyZW50RnJhbWVIYXNBbHBoYSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIAogICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQmFja2luZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAJKHJldmlzaW9uIDExNTg2MykKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01MSw2ICs1MSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRW1iZWRkZWRPYmplY3QuaCIKICNpbmNs
dWRlICJSZW5kZXJWaWRlby5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKKyNpbmNsdWRlICJT
aW1wbGVCaXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNsdWRl
ICJUaWxlZEJhY2tpbmcuaCIKIApAQCAtOTgyLDcgKzk4Myw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJC
YWNraW5nOjppc0RpcmVjdGx5Q29tcG8KICAgICBSZW5kZXJJbWFnZSogaW1hZ2VSZW5kZXJlciA9
IHRvUmVuZGVySW1hZ2UocmVuZGVyT2JqZWN0KTsKICAgICBpZiAoQ2FjaGVkSW1hZ2UqIGNhY2hl
ZEltYWdlID0gaW1hZ2VSZW5kZXJlci0+Y2FjaGVkSW1hZ2UoKSkgewogICAgICAgICBpZiAoY2Fj
aGVkSW1hZ2UtPmhhc0ltYWdlKCkpCi0gICAgICAgICAgICByZXR1cm4gY2FjaGVkSW1hZ2UtPmlt
YWdlRm9yUmVuZGVyZXIoaW1hZ2VSZW5kZXJlciktPmlzQml0bWFwSW1hZ2UoKTsKKyAgICAgICAg
ICAgIHJldHVybiBjYWNoZWRJbWFnZS0+aW1hZ2VGb3JSZW5kZXJlcihpbWFnZVJlbmRlcmVyKS0+
aXNTaW1wbGVCaXRtYXBJbWFnZSgpOwogICAgIH0KIAogICAgIHJldHVybiBmYWxzZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140244</attachid>
            <date>2012-05-04 08:48:27 -0700</date>
            <delta_ts>2012-05-04 14:21:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66597-20120504114825.patch</filename>
            <type>text/plain</type>
            <size>13848</size>
            <attacher name="Tom Hudson">tomhudson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNjAwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA1LTAzICBUb20gSHVk
c29uICA8dG9taHVkc29uQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIGEgU2ltcGxl
Qml0bWFwSW1hZ2UgY2xhc3MgdG8gc2VydmUgYXMgdGhlIGNvbW1vbiBwYXJlbnQKKyAgICAgICAg
b2YgQml0bWFwSW1hZ2UgYW5kIEJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1OTcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2VzIGEgU2ltcGxl
Qml0bWFwSW1hZ2UgY2xhc3MgdG8gc2VydmUgYXMgdGhlIGNvbW1vbiBwYXJlbnQKKyAgICAgICAg
b2YgQml0bWFwSW1hZ2UgYW5kIEJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhLiBUaGUgdHdvIGNs
YXNzZXMgYXMKKyAgICAgICAgY3VycmVudGx5IHdyaXR0ZW4gY2FuJ3Qgc2hhcmUgYW55IGltcGxl
bWVudGF0aW9uLCBidXQgdGhleSBpbXBsZW1lbnQKKyAgICAgICAgdGhlIHNhbWUgaW50ZXJmYWNl
IChwcm92aWRlZCBieSBJbWFnZSkgYXJlIGFyZSBib3RoIHNlbWFudGljYWxseQorICAgICAgICAi
Qml0bWFwIEltYWdlcyI7IHRoZSBTa2lhLXNwZWNpZmljIGNsYXNzIGhhcyByZXBlYXRlZGx5IGJl
ZW4KKyAgICAgICAgc3RhdGljX2Nhc3Q8Qml0bWFwSW1hZ2UqPiwgd2hpY2ggY2F1c2VzIGhhcmQt
dG8tdHJhY2stZG93biBidWdzLgorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJp
dG1hcEltYWdlOjpCaXRtYXBJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2U6OmlzU2ltcGxlQml0bWFwSW1hZ2UpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL1NpbXBsZUJpdG1hcEltYWdlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUJpdG1hcEltYWdlOjp+U2ltcGxlQml0bWFw
SW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlQml0bWFwSW1hZ2U6OmlzU2ltcGxlQml0
bWFwSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlQml0bWFwSW1hZ2U6OlNpbXBsZUJp
dG1hcEltYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVCaXRtYXBJbWFn
ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU2ltcGxlQml0bWFwSW1h
Z2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvQml0bWFwSW1hZ2VTaW5nbGVG
cmFtZVNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9CaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYS5oOgorICAgICAgICAoQml0bWFw
SW1hZ2VTaW5nbGVGcmFtZVNraWEpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpz
aG91bGRQYWludEF0TG93UXVhbGl0eSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpiYWNrZ3JvdW5kSXNPYnNjdXJl
ZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmlzRGlyZWN0bHlDb21wb3NpdGVkSW1hZ2Up
OgorCiAyMDEyLTA1LTAzICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgTW92ZSByZXBhaW50IGNvdW50ZXIgZHJhd2luZyBjb2RlIG91dCBpbnRvIGEgc2Vw
YXJhdGUgZnVuY3Rpb24KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDExNTg2MykKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzkxLDYgKzM5
MSw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVybi5oJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlQml0bWFwSW1hZ2UuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
U2ltcGxlRm9udERhdGEuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5n
VHJ1bmNhdG9yLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL1NWR0dseXBoLmgn
LApAQCAtMzQzNiw2ICszNDM3LDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9T
ZWdtZW50ZWRGb250RGF0YS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9TaGFk
b3dCbHVyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5o
JywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVCaXRtYXBJbWFnZS5jcHAn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvU1ZHR2x5cGguY3BwJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwJywKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAJKHJldmlzaW9u
IDExNTg2MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCBzdGF0aWMgaW50IGZyYW1lQnl0
ZXMoY29uc3QgSW50U2l6ZSYgZnJhCiB9CiAKIEJpdG1hcEltYWdlOjpCaXRtYXBJbWFnZShJbWFn
ZU9ic2VydmVyKiBvYnNlcnZlcikKLSAgICA6IEltYWdlKG9ic2VydmVyKQorICAgIDogU2ltcGxl
Qml0bWFwSW1hZ2Uob2JzZXJ2ZXIpCiAgICAgLCBtX2N1cnJlbnRGcmFtZSgwKQogICAgICwgbV9m
cmFtZXMoMCkKICAgICAsIG1fZnJhbWVUaW1lcigwKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCShyZXZpc2lvbiAxMTU4NjMpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCwxMCArMjgsMTAgQEAKICNpZm5kZWYgQml0bWFwSW1hZ2VfaAogI2RlZmluZSBC
aXRtYXBJbWFnZV9oCiAKLSNpbmNsdWRlICJJbWFnZS5oIgogI2luY2x1ZGUgIkNvbG9yLmgiCiAj
aW5jbHVkZSAiSW1hZ2VPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKKyNpbmNs
dWRlICJTaW1wbGVCaXRtYXBJbWFnZS5oIgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTk4LDcgKzk4LDcgQEAgcHVibGljOgogLy8gQml0bWFwSW1h
Z2UgQ2xhc3MKIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KIAotY2xhc3MgQml0bWFwSW1hZ2UgOiBwdWJsaWMgSW1hZ2UgeworY2xhc3MgQml0bWFw
SW1hZ2UgOiBwdWJsaWMgU2ltcGxlQml0bWFwSW1hZ2UgewogICAgIGZyaWVuZCBjbGFzcyBHZW5l
cmF0ZWRJbWFnZTsKICAgICBmcmllbmQgY2xhc3MgQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2U7CiAg
ICAgZnJpZW5kIGNsYXNzIEdlbmVyYXRvckdlbmVyYXRlZEltYWdlOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCShyZXZpc2lvbiAxMTU4NjMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04
Nyw2ICs4Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c1R5cGUoY29uc3Qg
U3RyaW5nJik7IAogCiAgICAgdmlydHVhbCBib29sIGlzU1ZHSW1hZ2UoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1NpbXBsZUJpdG1hcEltYWdlKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNCaXRtYXBJbWFnZSgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGN1cnJlbnRGcmFtZUhhc0FscGhh
KCkgeyByZXR1cm4gZmFsc2U7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvU2ltcGxlQml0bWFwSW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUJpdG1hcEltYWdlLmNwcAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUJpdG1hcEltYWdlLmNwcAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNiBAQAorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIlNpbXBsZUJpdG1hcEltYWdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworCitTaW1w
bGVCaXRtYXBJbWFnZTo6flNpbXBsZUJpdG1hcEltYWdlKCkKK3sKKworfQorCitib29sIFNpbXBs
ZUJpdG1hcEltYWdlOjppc1NpbXBsZUJpdG1hcEltYWdlKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworCitTaW1wbGVCaXRtYXBJbWFnZTo6U2ltcGxlQml0bWFwSW1hZ2UoSW1hZ2VP
YnNlcnZlciogb2JzZXJ2ZXIpCisgICAgOiBJbWFnZShvYnNlcnZlcikKK3sKKworfQorCisKK30K
KwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlQml0bWFwSW1h
Z2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1w
bGVCaXRtYXBJbWFnZS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU2ltcGxlQml0bWFwSW1hZ2UuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUsIEluYy4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRl
ZiBTaW1wbGVCaXRtYXBJbWFnZV9oCisjZGVmaW5lIFNpbXBsZUJpdG1hcEltYWdlX2gKKworI2lu
Y2x1ZGUgIkltYWdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisvLyBTaW1wbGVCaXRtYXBJbWFn
ZSBDbGFzcworLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CisKK2NsYXNzIFNpbXBsZUJpdG1hcEltYWdlIDogcHVibGljIEltYWdlIHsKK3B1YmxpYzoK
KyAgICB2aXJ0dWFsIH5TaW1wbGVCaXRtYXBJbWFnZSgpOworICAgIHZpcnR1YWwgYm9vbCBpc1Np
bXBsZUJpdG1hcEltYWdlKCkgY29uc3Q7CisKK3Byb3RlY3RlZDoKKyAgICBTaW1wbGVCaXRtYXBJ
bWFnZShJbWFnZU9ic2VydmVyKiA9IDApOworfTsKKworfQorCisjZW5kaWYKKwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQml0bWFwSW1hZ2VDYWlyby5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQml0
bWFwSW1hZ2VDYWlyby5jcHAJKHJldmlzaW9uIDExNTg2MykKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JpdG1hcEltYWdlQ2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00MSw3ICs0MSw3IEBAIFBhc3NSZWZQdHI8Qml0bWFwSW1hZ2U+IEJpdG1hcEltYWdlOjpj
cmUKIH0KIAogQml0bWFwSW1hZ2U6OkJpdG1hcEltYWdlKE5hdGl2ZUltYWdlQ2Fpcm8qIG5hdGl2
ZUltYWdlLCBJbWFnZU9ic2VydmVyKiBvYnNlcnZlcikKLSAgICA6IEltYWdlKG9ic2VydmVyKQor
ICAgIDogU2ltcGxlQml0bWFwSW1hZ2Uob2JzZXJ2ZXIpCiAgICAgLCBtX2N1cnJlbnRGcmFtZSgw
KQogICAgICwgbV9mcmFtZXMoMCkKICAgICAsIG1fZnJhbWVUaW1lcigwKQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VDRy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VDRy5jcHAJKHJldmlzaW9u
IDExNTg2MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OSw3ICs2OSw3IEBAIGJvb2wgRnJhbWVEYXRhOjpjbGVh
cihib29sIGNsZWFyTWV0YWRhdGEKIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQogCiBCaXRtYXBJbWFnZTo6Qml0bWFwSW1hZ2UoQ0dJbWFnZVJlZiBj
Z0ltYWdlLCBJbWFnZU9ic2VydmVyKiBvYnNlcnZlcikKLSAgICA6IEltYWdlKG9ic2VydmVyKQor
ICAgIDogU2ltcGxlQml0bWFwSW1hZ2Uob2JzZXJ2ZXIpCiAgICAgLCBtX2N1cnJlbnRGcmFtZSgw
KQogICAgICwgbV9mcmFtZXMoMCkKICAgICAsIG1fZnJhbWVUaW1lcigwKQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5jcHAJKHJldmlzaW9u
IDExNTg2MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ltYWdlUXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODUsNyArMTg1LDcgQEAgdm9pZCBJbWFnZTo6ZHJhd1Bh
dHRlcm4oR3JhcGhpY3NDb250ZXh0KgogfQogCiBCaXRtYXBJbWFnZTo6Qml0bWFwSW1hZ2UoUVBp
eG1hcCogcGl4bWFwLCBJbWFnZU9ic2VydmVyKiBvYnNlcnZlcikKLSAgICA6IEltYWdlKG9ic2Vy
dmVyKQorICAgIDogU2ltcGxlQml0bWFwSW1hZ2Uob2JzZXJ2ZXIpCiAgICAgLCBtX2N1cnJlbnRG
cmFtZSgwKQogICAgICwgbV9mcmFtZXMoMCkKICAgICAsIG1fZnJhbWVUaW1lcigwKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9CaXRtYXBJbWFnZVNpbmdsZUZy
YW1lU2tpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9CaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYS5jcHAJKHJldmlzaW9uIDExNTg2MykK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvQml0bWFwSW1hZ2VTaW5n
bGVGcmFtZVNraWEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00LDExICs0LDYgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1ib29sIEJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhOjppc0JpdG1h
cEltYWdlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogYm9vbCBCaXRtYXBJbWFn
ZVNpbmdsZUZyYW1lU2tpYTo6Y3VycmVudEZyYW1lSGFzQWxwaGEoKQogewogICAgIHJldHVybiAh
bV9uYXRpdmVJbWFnZS5iaXRtYXAoKS5pc09wYXF1ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9CaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvQml0bWFwSW1h
Z2VTaW5nbGVGcmFtZVNraWEuaAkocmV2aXNpb24gMTE1ODYzKQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9CaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw4ICszMSw4IEBACiAjaWZuZGVmIEJpdG1hcEltYWdlU2luZ2xlRnJh
bWVTa2lhX2gKICNkZWZpbmUgQml0bWFwSW1hZ2VTaW5nbGVGcmFtZVNraWFfaAogCi0jaW5jbHVk
ZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJOYXRpdmVJbWFnZVNraWEuaCIKKyNpbmNsdWRlICJTaW1w
bGVCaXRtYXBJbWFnZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ0LDE1ICs0NCwx
MyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLwogLy8gVGhlIGRpZmZpY3VsdHkgd2l0aCBwdXR0
aW5nIHRoaXMgaW4gQml0bWFwSW1hZ2U6OmNyZWF0ZShOYXRpdmVJbWFnZVB0cikKIC8vIGlzIHRo
YXQgTmF0aXZlSW1hZ2VQdHIgPSBOYXRpdmVJbWFnZVNraWEsIHlldCBjYWxsZXJzIGhhdmUgU2tC
aXRtYXAuCi1jbGFzcyBCaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYSA6IHB1YmxpYyBJbWFnZSB7
CitjbGFzcyBCaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYSA6IHB1YmxpYyBTaW1wbGVCaXRtYXBJ
bWFnZSB7CiBwdWJsaWM6CiAgICAgLy8gQ3JlYXRlcyBhIG5ldyBJbWFnZSBmcm9tIHRoZSBnaXZl
biBTa0JpdG1hcC4gIElmICJjb3B5UGl4ZWxzIiBpcyB0cnVlLCBhCiAgICAgLy8gZGVlcCBjb3B5
IGlzIGRvbmUuICBPdGhlcndpc2UsIGEgc2hhbGxvdyBjb3B5IGlzIGRvbmUgKHBpeGVsIGRhdGEg
aXMKICAgICAvLyByZWYnZWQpLgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJpdG1hcEltYWdlU2lu
Z2xlRnJhbWVTa2lhPiBjcmVhdGUoY29uc3QgU2tCaXRtYXAmLCBib29sIGNvcHlQaXhlbHMpOwog
Ci0gICAgdmlydHVhbCBib29sIGlzQml0bWFwSW1hZ2UoKSBjb25zdDsKLQogICAgIHZpcnR1YWwg
Ym9vbCBjdXJyZW50RnJhbWVIYXNBbHBoYSgpOwogCiAgICAgdmlydHVhbCBJbnRTaXplIHNpemUo
KSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9i
amVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcAkocmV2aXNpb24gMTE1ODYzKQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiAr
MzgsNyBAQAogI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5o
IgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiU2ltcGxlQml0bWFwSW1hZ2UuaCIK
ICNpbmNsdWRlICJUcmFuc2Zvcm1TdGF0ZS5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5o
PgogCkBAIC0xNTAsNyArMTUxLDcgQEAgYm9vbCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpzaG91
bGRQYWludAogewogICAgIC8vIElmIHRoZSBpbWFnZSBpcyBub3QgYSBiaXRtYXAgaW1hZ2UsIHRo
ZW4gbm9uZSBvZiB0aGlzIGlzIHJlbGV2YW50IGFuZCB3ZSBqdXN0IHBhaW50IGF0IGhpZ2gKICAg
ICAvLyBxdWFsaXR5LgotICAgIGlmICghaW1hZ2UgfHwgIWltYWdlLT5pc0JpdG1hcEltYWdlKCkg
fHwgY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQorICAgIGlmICghaW1hZ2UgfHwgIWltYWdl
LT5pc1NpbXBsZUJpdG1hcEltYWdlKCkgfHwgY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAob2JqZWN0LT5zdHlsZSgpLT5pbWFnZVJl
bmRlcmluZygpID09IEltYWdlUmVuZGVyaW5nT3B0aW1pemVDb250cmFzdCkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gMTE1ODYzKQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjgsNyArMjgsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlbmRlcklt
YWdlLmgiCiAKLSNpbmNsdWRlICJCaXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgIkZvbnRDYWNoZS5o
IgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKQEAgLTQz
LDYgKzQyLDcgQEAKICNpbmNsdWRlICJQYWludEluZm8uaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3
LmgiCiAjaW5jbHVkZSAiU1ZHSW1hZ2UuaCIKKyNpbmNsdWRlICJTaW1wbGVCaXRtYXBJbWFnZS5o
IgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpA
QCAtNDUwLDcgKzQ1MCw3IEBAIGJvb2wgUmVuZGVySW1hZ2U6OmJhY2tncm91bmRJc09ic2N1cmVk
KCkKIAogICAgIC8vIENoZWNrIGZvciBiaXRtYXAgaW1hZ2Ugd2l0aCBhbHBoYS4KICAgICBJbWFn
ZSogaW1hZ2UgPSBtX2ltYWdlUmVzb3VyY2UtPmltYWdlKCkuZ2V0KCk7Ci0gICAgaWYgKCFpbWFn
ZSB8fCAhaW1hZ2UtPmlzQml0bWFwSW1hZ2UoKSB8fCBpbWFnZS0+Y3VycmVudEZyYW1lSGFzQWxw
aGEoKSkKKyAgICBpZiAoIWltYWdlIHx8ICFpbWFnZS0+aXNTaW1wbGVCaXRtYXBJbWFnZSgpIHx8
IGltYWdlLT5jdXJyZW50RnJhbWVIYXNBbHBoYSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgICAgIAogICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQmFja2luZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAJKHJldmlzaW9uIDExNTg2MykKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01MSw2ICs1MSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRW1iZWRkZWRPYmplY3QuaCIKICNp
bmNsdWRlICJSZW5kZXJWaWRlby5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKKyNpbmNsdWRl
ICJTaW1wbGVCaXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKICNpbmNs
dWRlICJUaWxlZEJhY2tpbmcuaCIKIApAQCAtOTgyLDcgKzk4Myw3IEBAIGJvb2wgUmVuZGVyTGF5
ZXJCYWNraW5nOjppc0RpcmVjdGx5Q29tcG8KICAgICBSZW5kZXJJbWFnZSogaW1hZ2VSZW5kZXJl
ciA9IHRvUmVuZGVySW1hZ2UocmVuZGVyT2JqZWN0KTsKICAgICBpZiAoQ2FjaGVkSW1hZ2UqIGNh
Y2hlZEltYWdlID0gaW1hZ2VSZW5kZXJlci0+Y2FjaGVkSW1hZ2UoKSkgewogICAgICAgICBpZiAo
Y2FjaGVkSW1hZ2UtPmhhc0ltYWdlKCkpCi0gICAgICAgICAgICByZXR1cm4gY2FjaGVkSW1hZ2Ut
PmltYWdlRm9yUmVuZGVyZXIoaW1hZ2VSZW5kZXJlciktPmlzQml0bWFwSW1hZ2UoKTsKKyAgICAg
ICAgICAgIHJldHVybiBjYWNoZWRJbWFnZS0+aW1hZ2VGb3JSZW5kZXJlcihpbWFnZVJlbmRlcmVy
KS0+aXNTaW1wbGVCaXRtYXBJbWFnZSgpOwogICAgIH0KIAogICAgIHJldHVybiBmYWxzZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140324</attachid>
            <date>2012-05-04 14:21:29 -0700</date>
            <delta_ts>2012-05-18 13:14:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66597-20120504172128.patch</filename>
            <type>text/plain</type>
            <size>15171</size>
            <attacher name="Tom Hudson">tomhudson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNjAwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTA1LTAzICBUb20gSHVk
c29uICA8dG9taHVkc29uQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIGEgU2ltcGxl
Qml0bWFwSW1hZ2UgY2xhc3MgdG8gc2VydmUgYXMgdGhlIGNvbW1vbiBwYXJlbnQKKyAgICAgICAg
b2YgQml0bWFwSW1hZ2UgYW5kIEJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1OTcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2VzIGEgU2ltcGxl
Qml0bWFwSW1hZ2UgY2xhc3MgdG8gc2VydmUgYXMgdGhlIGNvbW1vbiBwYXJlbnQKKyAgICAgICAg
b2YgQml0bWFwSW1hZ2UgYW5kIEJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhLiBUaGUgdHdvIGNs
YXNzZXMgYXMKKyAgICAgICAgY3VycmVudGx5IHdyaXR0ZW4gY2FuJ3Qgc2hhcmUgYW55IGltcGxl
bWVudGF0aW9uLCBidXQgdGhleSBpbXBsZW1lbnQKKyAgICAgICAgdGhlIHNhbWUgaW50ZXJmYWNl
IChwcm92aWRlZCBieSBJbWFnZSkgYXJlIGFyZSBib3RoIHNlbWFudGljYWxseQorICAgICAgICAi
Qml0bWFwIEltYWdlcyI7IHRoZSBTa2lhLXNwZWNpZmljIGNsYXNzIGhhcyByZXBlYXRlZGx5IGJl
ZW4KKyAgICAgICAgc3RhdGljX2Nhc3Q8Qml0bWFwSW1hZ2UqPiwgd2hpY2ggY2F1c2VzIGhhcmQt
dG8tdHJhY2stZG93biBidWdzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Qml0bWFwSW1hZ2U6OkJpdG1hcEltYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9C
aXRtYXBJbWFnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZTo6aXNTaW1wbGVCaXRtYXBJbWFnZSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvU2ltcGxlQml0bWFwSW1hZ2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlQml0bWFwSW1hZ2U6On5TaW1wbGVCaXRt
YXBJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVCaXRtYXBJbWFnZTo6aXNTaW1wbGVC
aXRtYXBJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVCaXRtYXBJbWFnZTo6U2ltcGxl
Qml0bWFwSW1hZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUJpdG1hcElt
YWdlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChTaW1wbGVCaXRtYXBJ
bWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9CaXRtYXBJbWFnZVNpbmds
ZUZyYW1lU2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9za2lhL0JpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhLmg6CisgICAgICAgIChCaXRt
YXBJbWFnZVNpbmdsZUZyYW1lU2tpYSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUXVhbGl0eUNvbnRyb2xsZXI6
OnNob3VsZFBhaW50QXRMb3dRdWFsaXR5KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1h
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OmJhY2tncm91bmRJc09ic2N1
cmVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6aXNEaXJlY3RseUNvbXBvc2l0ZWRJbWFn
ZSk6CisKIDIwMTItMDUtMDMgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4K
IAogICAgICAgICBNb3ZlIHJlcGFpbnQgY291bnRlciBkcmF3aW5nIGNvZGUgb3V0IGludG8gYSBz
ZXBhcmF0ZSBmdW5jdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDExNTg2
MykKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
MTczLDYgKzExNzMsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3JhcGhp
Y3MvUm91bmRlZFJlY3QuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvU2VnbWVudGVkRm9udERh
dGEuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKKyAgICBwbGF0Zm9y
bS9ncmFwaGljcy9TaW1wbGVCaXRtYXBJbWFnZS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9T
aW1wbGVGb250RGF0YS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3Iu
Y3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9y
LmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxMTU4NjMp
CisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjk4LDYgKzMyOTgsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NlZ21lbnRlZEZvbnREYXRhLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1NpbXBsZUJpdG1hcEltYWdlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU2ltcGxlQml0bWFwSW1hZ2UuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TaW1wbGVGb250RGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9u
IDExNTg2MykKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpA
QCAtMzkxLDYgKzM5MSw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvUGF0dGVy
bi5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uaCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaCcsCisgICAgICAgICAgICAncGxh
dGZvcm0vZ3JhcGhpY3MvU2ltcGxlQml0bWFwSW1hZ2UuaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3Jh
cGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNz
L1NWR0dseXBoLmgnLApAQCAtMzQzNiw2ICszNDM3LDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9y
bS9ncmFwaGljcy9TZWdtZW50ZWRGb250RGF0YS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9n
cmFwaGljcy9TaGFkb3dCbHVyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
U2hhZG93Qmx1ci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVCaXRt
YXBJbWFnZS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnRE
YXRhLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvU1ZHR2x5cGguY3BwJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwJywKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5j
cHAJKHJldmlzaW9uIDExNTg2MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0JpdG1hcEltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCBzdGF0aWMg
aW50IGZyYW1lQnl0ZXMoY29uc3QgSW50U2l6ZSYgZnJhCiB9CiAKIEJpdG1hcEltYWdlOjpCaXRt
YXBJbWFnZShJbWFnZU9ic2VydmVyKiBvYnNlcnZlcikKLSAgICA6IEltYWdlKG9ic2VydmVyKQor
ICAgIDogU2ltcGxlQml0bWFwSW1hZ2Uob2JzZXJ2ZXIpCiAgICAgLCBtX2N1cnJlbnRGcmFtZSgw
KQogICAgICwgbV9mcmFtZXMoMCkKICAgICAsIG1fZnJhbWVUaW1lcigwKQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCShyZXZpc2lvbiAx
MTU4NjMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxMCArMjgsMTAgQEAKICNpZm5kZWYgQml0bWFwSW1hZ2Vf
aAogI2RlZmluZSBCaXRtYXBJbWFnZV9oCiAKLSNpbmNsdWRlICJJbWFnZS5oIgogI2luY2x1ZGUg
IkNvbG9yLmgiCiAjaW5jbHVkZSAiSW1hZ2VPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkludFNp
emUuaCIKKyNpbmNsdWRlICJTaW1wbGVCaXRtYXBJbWFnZS5oIgogCiAjaWYgUExBVEZPUk0oTUFD
KQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTk4LDcgKzk4LDcgQEAgcHVibGljOgog
Ly8gQml0bWFwSW1hZ2UgQ2xhc3MKIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KIAotY2xhc3MgQml0bWFwSW1hZ2UgOiBwdWJsaWMgSW1hZ2Ugewor
Y2xhc3MgQml0bWFwSW1hZ2UgOiBwdWJsaWMgU2ltcGxlQml0bWFwSW1hZ2UgewogICAgIGZyaWVu
ZCBjbGFzcyBHZW5lcmF0ZWRJbWFnZTsKICAgICBmcmllbmQgY2xhc3MgQ3Jvc3NmYWRlR2VuZXJh
dGVkSW1hZ2U7CiAgICAgZnJpZW5kIGNsYXNzIEdlbmVyYXRvckdlbmVyYXRlZEltYWdlOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCShyZXZpc2lvbiAxMTU4
NjMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC04Nyw2ICs4Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0
c1R5cGUoY29uc3QgU3RyaW5nJik7IAogCiAgICAgdmlydHVhbCBib29sIGlzU1ZHSW1hZ2UoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1NpbXBsZUJpdG1hcElt
YWdlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNCaXRtYXBJ
bWFnZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGN1cnJlbnRG
cmFtZUhhc0FscGhhKCkgeyByZXR1cm4gZmFsc2U7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlQml0bWFwSW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUJpdG1hcEltYWdlLmNwcAkocmV2
aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUJpdG1h
cEltYWdlLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNiBAQAorI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlNpbXBsZUJpdG1hcEltYWdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworCitTaW1wbGVCaXRtYXBJbWFnZTo6flNpbXBsZUJpdG1hcEltYWdlKCkKK3sKKworfQor
Citib29sIFNpbXBsZUJpdG1hcEltYWdlOjppc1NpbXBsZUJpdG1hcEltYWdlKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKworCitTaW1wbGVCaXRtYXBJbWFnZTo6U2ltcGxlQml0bWFw
SW1hZ2UoSW1hZ2VPYnNlcnZlciogb2JzZXJ2ZXIpCisgICAgOiBJbWFnZShvYnNlcnZlcikKK3sK
KworfQorCisKK30KKwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2lt
cGxlQml0bWFwSW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TaW1wbGVCaXRtYXBJbWFnZS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlQml0bWFwSW1hZ2UuaAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUsIEluYy4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVS
LCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIs
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2lmbmRlZiBTaW1wbGVCaXRtYXBJbWFnZV9oCisjZGVmaW5lIFNpbXBsZUJpdG1hcElt
YWdlX2gKKworI2luY2x1ZGUgIkltYWdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8g
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisvLyBTaW1w
bGVCaXRtYXBJbWFnZSBDbGFzcworLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09CisKK2NsYXNzIFNpbXBsZUJpdG1hcEltYWdlIDogcHVibGljIEltYWdl
IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5TaW1wbGVCaXRtYXBJbWFnZSgpOworICAgIHZpcnR1
YWwgYm9vbCBpc1NpbXBsZUJpdG1hcEltYWdlKCkgY29uc3Q7CisKK3Byb3RlY3RlZDoKKyAgICBT
aW1wbGVCaXRtYXBJbWFnZShJbWFnZU9ic2VydmVyKiA9IDApOworfTsKKworfQorCisjZW5kaWYK
KwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQml0bWFwSW1h
Z2VDYWlyby5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Fpcm8vQml0bWFwSW1hZ2VDYWlyby5jcHAJKHJldmlzaW9uIDExNTg2MykKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JpdG1hcEltYWdlQ2Fpcm8uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIFBhc3NSZWZQdHI8Qml0bWFwSW1hZ2U+IEJp
dG1hcEltYWdlOjpjcmUKIH0KIAogQml0bWFwSW1hZ2U6OkJpdG1hcEltYWdlKE5hdGl2ZUltYWdl
Q2Fpcm8qIG5hdGl2ZUltYWdlLCBJbWFnZU9ic2VydmVyKiBvYnNlcnZlcikKLSAgICA6IEltYWdl
KG9ic2VydmVyKQorICAgIDogU2ltcGxlQml0bWFwSW1hZ2Uob2JzZXJ2ZXIpCiAgICAgLCBtX2N1
cnJlbnRGcmFtZSgwKQogICAgICwgbV9mcmFtZXMoMCkKICAgICAsIG1fZnJhbWVUaW1lcigwKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VDRy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VDRy5j
cHAJKHJldmlzaW9uIDExNTg2MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0ltYWdlQ0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OSw3ICs2OSw3IEBAIGJvb2wgRnJh
bWVEYXRhOjpjbGVhcihib29sIGNsZWFyTWV0YWRhdGEKIC8vID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCiBCaXRtYXBJbWFnZTo6Qml0bWFwSW1hZ2Uo
Q0dJbWFnZVJlZiBjZ0ltYWdlLCBJbWFnZU9ic2VydmVyKiBvYnNlcnZlcikKLSAgICA6IEltYWdl
KG9ic2VydmVyKQorICAgIDogU2ltcGxlQml0bWFwSW1hZ2Uob2JzZXJ2ZXIpCiAgICAgLCBtX2N1
cnJlbnRGcmFtZSgwKQogICAgICwgbV9mcmFtZXMoMCkKICAgICAsIG1fZnJhbWVUaW1lcigwKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvSW1hZ2VRdC5j
cHAJKHJldmlzaW9uIDExNTg2MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0ltYWdlUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODUsNyArMTg1LDcgQEAgdm9pZCBJ
bWFnZTo6ZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0KgogfQogCiBCaXRtYXBJbWFnZTo6Qml0
bWFwSW1hZ2UoUVBpeG1hcCogcGl4bWFwLCBJbWFnZU9ic2VydmVyKiBvYnNlcnZlcikKLSAgICA6
IEltYWdlKG9ic2VydmVyKQorICAgIDogU2ltcGxlQml0bWFwSW1hZ2Uob2JzZXJ2ZXIpCiAgICAg
LCBtX2N1cnJlbnRGcmFtZSgwKQogICAgICwgbV9mcmFtZXMoMCkKICAgICAsIG1fZnJhbWVUaW1l
cigwKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9CaXRtYXBJ
bWFnZVNpbmdsZUZyYW1lU2tpYS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9CaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYS5jcHAJKHJldmlz
aW9uIDExNTg2MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvQml0
bWFwSW1hZ2VTaW5nbGVGcmFtZVNraWEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00LDExICs0LDYg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIEJpdG1hcEltYWdlU2luZ2xlRnJhbWVT
a2lhOjppc0JpdG1hcEltYWdlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogYm9v
bCBCaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYTo6Y3VycmVudEZyYW1lSGFzQWxwaGEoKQogewog
ICAgIHJldHVybiAhbV9uYXRpdmVJbWFnZS5iaXRtYXAoKS5pc09wYXF1ZSgpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9CaXRtYXBJbWFnZVNpbmdsZUZyYW1l
U2tpYS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvQml0bWFwSW1hZ2VTaW5nbGVGcmFtZVNraWEuaAkocmV2aXNpb24gMTE1ODYzKQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9CaXRtYXBJbWFnZVNpbmdsZUZyYW1l
U2tpYS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw4ICszMSw4IEBACiAjaWZuZGVmIEJpdG1hcElt
YWdlU2luZ2xlRnJhbWVTa2lhX2gKICNkZWZpbmUgQml0bWFwSW1hZ2VTaW5nbGVGcmFtZVNraWFf
aAogCi0jaW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJOYXRpdmVJbWFnZVNraWEuaCIKKyNp
bmNsdWRlICJTaW1wbGVCaXRtYXBJbWFnZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTQ0LDE1ICs0NCwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLwogLy8gVGhlIGRpZmZpY3Vs
dHkgd2l0aCBwdXR0aW5nIHRoaXMgaW4gQml0bWFwSW1hZ2U6OmNyZWF0ZShOYXRpdmVJbWFnZVB0
cikKIC8vIGlzIHRoYXQgTmF0aXZlSW1hZ2VQdHIgPSBOYXRpdmVJbWFnZVNraWEsIHlldCBjYWxs
ZXJzIGhhdmUgU2tCaXRtYXAuCi1jbGFzcyBCaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYSA6IHB1
YmxpYyBJbWFnZSB7CitjbGFzcyBCaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYSA6IHB1YmxpYyBT
aW1wbGVCaXRtYXBJbWFnZSB7CiBwdWJsaWM6CiAgICAgLy8gQ3JlYXRlcyBhIG5ldyBJbWFnZSBm
cm9tIHRoZSBnaXZlbiBTa0JpdG1hcC4gIElmICJjb3B5UGl4ZWxzIiBpcyB0cnVlLCBhCiAgICAg
Ly8gZGVlcCBjb3B5IGlzIGRvbmUuICBPdGhlcndpc2UsIGEgc2hhbGxvdyBjb3B5IGlzIGRvbmUg
KHBpeGVsIGRhdGEgaXMKICAgICAvLyByZWYnZWQpLgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJp
dG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhPiBjcmVhdGUoY29uc3QgU2tCaXRtYXAmLCBib29sIGNv
cHlQaXhlbHMpOwogCi0gICAgdmlydHVhbCBib29sIGlzQml0bWFwSW1hZ2UoKSBjb25zdDsKLQog
ICAgIHZpcnR1YWwgYm9vbCBjdXJyZW50RnJhbWVIYXNBbHBoYSgpOwogCiAgICAgdmlydHVhbCBJ
bnRTaXplIHNpemUoKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3hNb2RlbE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAkocmV2aXNpb24gMTE1ODYzKQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAi
UmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiU2ltcGxlQml0
bWFwSW1hZ2UuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1TdGF0ZS5oIgogI2luY2x1ZGUgPHd0Zi9D
dXJyZW50VGltZS5oPgogCkBAIC0xNTAsNyArMTUxLDcgQEAgYm9vbCBJbWFnZVF1YWxpdHlDb250
cm9sbGVyOjpzaG91bGRQYWludAogewogICAgIC8vIElmIHRoZSBpbWFnZSBpcyBub3QgYSBiaXRt
YXAgaW1hZ2UsIHRoZW4gbm9uZSBvZiB0aGlzIGlzIHJlbGV2YW50IGFuZCB3ZSBqdXN0IHBhaW50
IGF0IGhpZ2gKICAgICAvLyBxdWFsaXR5LgotICAgIGlmICghaW1hZ2UgfHwgIWltYWdlLT5pc0Jp
dG1hcEltYWdlKCkgfHwgY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQorICAgIGlmICghaW1h
Z2UgfHwgIWltYWdlLT5pc1NpbXBsZUJpdG1hcEltYWdlKCkgfHwgY29udGV4dC0+cGFpbnRpbmdE
aXNhYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAob2JqZWN0LT5zdHls
ZSgpLT5pbWFnZVJlbmRlcmluZygpID09IEltYWdlUmVuZGVyaW5nT3B0aW1pemVDb250cmFzdCkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24g
MTE1ODYzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIlJlbmRlckltYWdlLmgiCiAKLSNpbmNsdWRlICJCaXRtYXBJbWFnZS5oIgogI2luY2x1ZGUg
IkZvbnRDYWNoZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVTZWxlY3Rp
b24uaCIKQEAgLTQzLDYgKzQyLDcgQEAKICNpbmNsdWRlICJQYWludEluZm8uaCIKICNpbmNsdWRl
ICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU1ZHSW1hZ2UuaCIKKyNpbmNsdWRlICJTaW1wbGVC
aXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiB1c2luZyBuYW1l
c3BhY2Ugc3RkOwpAQCAtNDUwLDcgKzQ1MCw3IEBAIGJvb2wgUmVuZGVySW1hZ2U6OmJhY2tncm91
bmRJc09ic2N1cmVkKCkKIAogICAgIC8vIENoZWNrIGZvciBiaXRtYXAgaW1hZ2Ugd2l0aCBhbHBo
YS4KICAgICBJbWFnZSogaW1hZ2UgPSBtX2ltYWdlUmVzb3VyY2UtPmltYWdlKCkuZ2V0KCk7Ci0g
ICAgaWYgKCFpbWFnZSB8fCAhaW1hZ2UtPmlzQml0bWFwSW1hZ2UoKSB8fCBpbWFnZS0+Y3VycmVu
dEZyYW1lSGFzQWxwaGEoKSkKKyAgICBpZiAoIWltYWdlIHx8ICFpbWFnZS0+aXNTaW1wbGVCaXRt
YXBJbWFnZSgpIHx8IGltYWdlLT5jdXJyZW50RnJhbWVIYXNBbHBoYSgpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIAogICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAJKHJldmlzaW9uIDExNTg2
MykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1MSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRW1iZWRkZWRP
YmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJWaWRlby5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcu
aCIKKyNpbmNsdWRlICJTaW1wbGVCaXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2
ZXIuaCIKICNpbmNsdWRlICJUaWxlZEJhY2tpbmcuaCIKIApAQCAtOTgyLDcgKzk4Myw3IEBAIGJv
b2wgUmVuZGVyTGF5ZXJCYWNraW5nOjppc0RpcmVjdGx5Q29tcG8KICAgICBSZW5kZXJJbWFnZSog
aW1hZ2VSZW5kZXJlciA9IHRvUmVuZGVySW1hZ2UocmVuZGVyT2JqZWN0KTsKICAgICBpZiAoQ2Fj
aGVkSW1hZ2UqIGNhY2hlZEltYWdlID0gaW1hZ2VSZW5kZXJlci0+Y2FjaGVkSW1hZ2UoKSkgewog
ICAgICAgICBpZiAoY2FjaGVkSW1hZ2UtPmhhc0ltYWdlKCkpCi0gICAgICAgICAgICByZXR1cm4g
Y2FjaGVkSW1hZ2UtPmltYWdlRm9yUmVuZGVyZXIoaW1hZ2VSZW5kZXJlciktPmlzQml0bWFwSW1h
Z2UoKTsKKyAgICAgICAgICAgIHJldHVybiBjYWNoZWRJbWFnZS0+aW1hZ2VGb3JSZW5kZXJlcihp
bWFnZVJlbmRlcmVyKS0+aXNTaW1wbGVCaXRtYXBJbWFnZSgpOwogICAgIH0KIAogICAgIHJldHVy
biBmYWxzZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142772</attachid>
            <date>2012-05-18 13:14:27 -0700</date>
            <delta_ts>2012-05-18 14:07:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66597-20120518161426.patch</filename>
            <type>text/plain</type>
            <size>18925</size>
            <attacher name="Tom Hudson">tomhudson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNjAwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTA1LTAzICBUb20gSHVk
c29uICA8dG9taHVkc29uQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIGEgU2ltcGxl
Qml0bWFwSW1hZ2UgY2xhc3MgdG8gc2VydmUgYXMgdGhlIGNvbW1vbiBwYXJlbnQKKyAgICAgICAg
b2YgQml0bWFwSW1hZ2UgYW5kIEJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1OTcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2VzIGEgU2ltcGxl
Qml0bWFwSW1hZ2UgY2xhc3MgdG8gc2VydmUgYXMgdGhlIGNvbW1vbiBwYXJlbnQKKyAgICAgICAg
b2YgQml0bWFwSW1hZ2UgYW5kIEJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhLiBUaGUgdHdvIGNs
YXNzZXMgYXMKKyAgICAgICAgY3VycmVudGx5IHdyaXR0ZW4gY2FuJ3Qgc2hhcmUgYW55IGltcGxl
bWVudGF0aW9uLCBidXQgdGhleSBpbXBsZW1lbnQKKyAgICAgICAgdGhlIHNhbWUgaW50ZXJmYWNl
IChwcm92aWRlZCBieSBJbWFnZSkgYXJlIGFyZSBib3RoIHNlbWFudGljYWxseQorICAgICAgICAi
Qml0bWFwIEltYWdlcyI7IHRoZSBTa2lhLXNwZWNpZmljIGNsYXNzIGhhcyByZXBlYXRlZGx5IGJl
ZW4KKyAgICAgICAgc3RhdGljX2Nhc3Q8Qml0bWFwSW1hZ2UqPiwgd2hpY2ggY2F1c2VzIGhhcmQt
dG8tdHJhY2stZG93biBidWdzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdl
OjpCaXRtYXBJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2Uu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6SW1hZ2U6OmlzU2ltcGxlQml0bWFwSW1hZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL1NpbXBsZUJpdG1hcEltYWdlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNpbXBsZUJpdG1hcEltYWdlOjp+U2ltcGxlQml0bWFwSW1hZ2UpOgor
ICAgICAgICAoV2ViQ29yZTo6U2ltcGxlQml0bWFwSW1hZ2U6OmlzU2ltcGxlQml0bWFwSW1hZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlQml0bWFwSW1hZ2U6OlNpbXBsZUJpdG1hcEltYWdl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVCaXRtYXBJbWFnZS5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU2ltcGxlQml0bWFwSW1hZ2UpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvQml0bWFwSW1hZ2VTaW5nbGVGcmFtZVNraWEu
Y3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tp
YS9CaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYS5oOgorICAgICAgICAoQml0bWFwSW1hZ2VTaW5n
bGVGcmFtZVNraWEpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpzaG91bGRQYWlu
dEF0TG93UXVhbGl0eSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpiYWNrZ3JvdW5kSXNPYnNjdXJlZCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckJhY2tpbmc6OmlzRGlyZWN0bHlDb21wb3NpdGVkSW1hZ2UpOgorCiAyMDEy
LTA1LTAzICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAg
TW92ZSByZXBhaW50IGNvdW50ZXIgZHJhd2luZyBjb2RlIG91dCBpbnRvIGEgc2VwYXJhdGUgZnVu
Y3Rpb24KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMTU4NjMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTE3Myw2ICsxMTcz
LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRS
ZWN0LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL1NlZ21lbnRlZEZvbnREYXRhLmNwcAogICAg
IHBsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCisgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
U2ltcGxlQml0bWFwSW1hZ2UuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERh
dGEuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmNwcAogICAgIHBs
YXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5jcHAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gMTE1ODYzKQorKysgU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBjb3B5KQpAQCAtMzI5OCw2ICsz
Mjk4LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TZWdtZW50ZWRGb250RGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TaGFkb3dCbHVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU2hhZG93Qmx1ci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1w
bGVCaXRtYXBJbWFnZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Np
bXBsZUJpdG1hcEltYWdlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Np
bXBsZUZvbnREYXRhLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2lt
cGxlRm9udERhdGEuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5n
VHJ1bmNhdG9yLmNwcCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiAxMTU4NjMpCisr
KyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTM5MSw2ICsz
OTEsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL1BhdHRlcm4uaCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvUmVnaW9uLmgnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmgnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBo
aWNzL1NpbXBsZUJpdG1hcEltYWdlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNz
L1NpbXBsZUZvbnREYXRhLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL1N0cmlu
Z1RydW5jYXRvci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9TVkdHbHlwaC5o
JywKQEAgLTM0MzYsNiArMzQzNyw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
U2VnbWVudGVkRm9udERhdGEuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvU2hh
ZG93Qmx1ci5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIu
aCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlQml0bWFwSW1hZ2UuY3Bw
JywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL1NWR0dseXBoLmNwcCcsCiAgICAgICAgICAg
ICAncGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmNwcCcsCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAxMTU4NjMpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTQxNDcsNiArNDE0Nyw4IEBACiAJCUE4OEFENTJGMDk1
MjRCOTIwMDFERDE5NiAvKiBRdWFydHpDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4NUQ3QTJGMDg3OUVCQTkwMDZBOTE3MiAv
KiBRdWFydHpDb3JlLmZyYW1ld29yayAqLzsgfTsKIAkJQTg4REQ0ODcwQjQ2MjlBMzAwQzAyOTkw
IC8qIFBhdGhUcmF2ZXJzYWxTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTg4REQ0ODYwQjQ2MjlBMzAwQzAyOTkwIC8qIFBhdGhUcmF2ZXJzYWxT
dGF0ZS5oICovOyB9OwogCQlBODhERDQ4OTBCNDYyOUIwMDBDMDI5OTAgLyogUGF0aFRyYXZlcnNh
bFN0YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE4OERENDg4MEI0NjI5QjAwMEMwMjk5MCAvKiBQYXRoVHJhdmVyc2FsU3RhdGUuY3BwICovOyB9
OworCQlBODk5NDMyODFCNDIzMzg4MDBEN0M4MDIgLyogU2ltcGxlQml0bWFwSW1hZ2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4OTk0MzI2MUI0MjMz
ODcwMEQ3QzgwMiAvKiBTaW1wbGVCaXRtYXBJbWFnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUE4OTk0MzI5MUI0MjMzODgwMEQ3QzgwMiAvKiBT
aW1wbGVCaXRtYXBJbWFnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBODk5NDMyNzFCNDIzMzg3MDBEN0M4MDIgLyogU2ltcGxlQml0bWFwSW1hZ2Uu
Y3BwICovOyB9OwogCQlBODk5NDMyODBCNDIzMzg4MDBEN0M4MDIgLyogQml0bWFwSW1hZ2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4OTk0MzI2MEI0
MjMzODcwMEQ3QzgwMiAvKiBCaXRtYXBJbWFnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE4OTk0MzI5MEI0MjMzODgwMEQ3QzgwMiAvKiBCaXRt
YXBJbWFnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBODk5NDMyNzBCNDIzMzg3MDBEN0M4MDIgLyogQml0bWFwSW1hZ2UuY3BwICovOyB9OwogCQlB
ODlDQ0M1MjBGNDRFOTgxMDBCNURBMTAgLyogUmVwbGFjZU5vZGVXaXRoU3BhbkNvbW1hbmQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTg5Q0NDNTAw
RjQ0RTk4MTAwQjVEQTEwIC8qIFJlcGxhY2VOb2RlV2l0aFNwYW5Db21tYW5kLmNwcCAqLzsgfTsK
QEAgLTExMDc2LDYgKzExMDc4LDggQEAKIAkJQTg4NkNEQzIxNEZCQkFBMzAwRDI3OUY0IC8qIFdv
cmtlckNvbnRleHRXZWJTb2NrZXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFdvcmtlckNv
bnRleHRXZWJTb2NrZXQuaWRsOyBwYXRoID0gTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlckNvbnRl
eHRXZWJTb2NrZXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODhERDQ4NjBC
NDYyOUEzMDBDMDI5OTAgLyogUGF0aFRyYXZlcnNhbFN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBhdGhUcmF2ZXJzYWxTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBODhERDQ4ODBCNDYyOUIwMDBDMDI5OTAgLyogUGF0aFRyYXZlcnNhbFN0YXRl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhdGhUcmF2ZXJzYWxT
dGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4OTk0MzI2MUI0MjMzODcw
MEQ3QzgwMiAvKiBTaW1wbGVCaXRtYXBJbWFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTaW1wbGVCaXRtYXBJbWFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBODk5NDMyNzFCNDIzMzg3MDBEN0M4MDIgLyogU2ltcGxlQml0bWFwSW1hZ2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2ltcGxlQml0bWFwSW1hZ2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODk5NDMyNjBCNDIzMzg3MDBEN0M4MDIgLyog
Qml0bWFwSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQml0bWFwSW1h
Z2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTg5OTQzMjcwQjQyMzM4NzAwRDdD
ODAyIC8qIEJpdG1hcEltYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEJpdG1hcEltYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTg5Q0ND
NTAwRjQ0RTk4MTAwQjVEQTEwIC8qIFJlcGxhY2VOb2RlV2l0aFNwYW5Db21tYW5kLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlcGxhY2VOb2RlV2l0aFNwYW5Db21t
YW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE5NDI5LDYgKzE5NDMzLDgg
QEAKIAkJCQkzNzFGNEZGQTBEMjVFN0YzMDBFQ0UwRDUgLyogU2VnbWVudGVkRm9udERhdGEuaCAq
LywKIAkJCQkwRjNERDQ0RDEyRjVFQTFCMDAwRDkxOTAgLyogU2hhZG93Qmx1ci5jcHAgKi8sCiAJ
CQkJMEYzREQ0NEUxMkY1RUExQjAwMEQ5MTkwIC8qIFNoYWRvd0JsdXIuaCAqLywKKwkJCQlBODk5
NDMyNzFCNDIzMzg3MDBEN0M4MDIgLyogU2ltcGxlQml0bWFwSW1hZ2UuY3BwICovLAorCQkJCUE4
OTk0MzI2MUI0MjMzODcwMEQ3QzgwMiAvKiBTaW1wbGVCaXRtYXBJbWFnZS5oICovLAogCQkJCUIy
QzNEQTUzMEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1wbGVGb250RGF0YS5jcHAgKi8sCiAJCQkJQjJD
M0RBNTQwRDAwNkNENjAwRUY2RjI2IC8qIFNpbXBsZUZvbnREYXRhLmggKi8sCiAJCQkJQjIzNTQw
RjAwRDAwNzgyRTAwMjM4MkZBIC8qIFN0cmluZ1RydW5jYXRvci5jcHAgKi8sCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCShyZXZp
c2lvbiAxMTU4NjMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJ
bWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAgc3RhdGljIGludCBmcmFt
ZUJ5dGVzKGNvbnN0IEludFNpemUmIGZyYQogfQogCiBCaXRtYXBJbWFnZTo6Qml0bWFwSW1hZ2Uo
SW1hZ2VPYnNlcnZlciogb2JzZXJ2ZXIpCi0gICAgOiBJbWFnZShvYnNlcnZlcikKKyAgICA6IFNp
bXBsZUJpdG1hcEltYWdlKG9ic2VydmVyKQogICAgICwgbV9jdXJyZW50RnJhbWUoMCkKICAgICAs
IG1fZnJhbWVzKDApCiAgICAgLCBtX2ZyYW1lVGltZXIoMCkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAkocmV2aXNpb24gMTE1ODYzKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsMTAgKzI4LDEwIEBACiAjaWZuZGVmIEJpdG1hcEltYWdlX2gKICNkZWZp
bmUgQml0bWFwSW1hZ2VfaAogCi0jaW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJDb2xvci5o
IgogI2luY2x1ZGUgIkltYWdlT3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCisj
aW5jbHVkZSAiU2ltcGxlQml0bWFwSW1hZ2UuaCIKIAogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNs
dWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC05OCw3ICs5OCw3IEBAIHB1YmxpYzoKIC8vIEJpdG1h
cEltYWdlIENsYXNzCiAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CiAKLWNsYXNzIEJpdG1hcEltYWdlIDogcHVibGljIEltYWdlIHsKK2NsYXNzIEJp
dG1hcEltYWdlIDogcHVibGljIFNpbXBsZUJpdG1hcEltYWdlIHsKICAgICBmcmllbmQgY2xhc3Mg
R2VuZXJhdGVkSW1hZ2U7CiAgICAgZnJpZW5kIGNsYXNzIENyb3NzZmFkZUdlbmVyYXRlZEltYWdl
OwogICAgIGZyaWVuZCBjbGFzcyBHZW5lcmF0b3JHZW5lcmF0ZWRJbWFnZTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAkocmV2aXNpb24gMTE1ODYzKQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAkod29ya2luZyBjb3B5KQpA
QCAtODcsNiArODcsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNUeXBlKGNv
bnN0IFN0cmluZyYpOyAKIAogICAgIHZpcnR1YWwgYm9vbCBpc1NWR0ltYWdlKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNTaW1wbGVCaXRtYXBJbWFnZSgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzQml0bWFwSW1hZ2UoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBjdXJyZW50RnJhbWVIYXNB
bHBoYSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1NpbXBsZUJpdG1hcEltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVCaXRtYXBJbWFnZS5jcHAJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVCaXRtYXBJbWFnZS5j
cHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjYgQEAKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJTaW1wbGVCaXRtYXBJbWFnZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKwor
U2ltcGxlQml0bWFwSW1hZ2U6On5TaW1wbGVCaXRtYXBJbWFnZSgpCit7CisKK30KKworYm9vbCBT
aW1wbGVCaXRtYXBJbWFnZTo6aXNTaW1wbGVCaXRtYXBJbWFnZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKKworU2ltcGxlQml0bWFwSW1hZ2U6OlNpbXBsZUJpdG1hcEltYWdlKElt
YWdlT2JzZXJ2ZXIqIG9ic2VydmVyKQorICAgIDogSW1hZ2Uob2JzZXJ2ZXIpCit7CisKK30KKwor
Cit9CisKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUJpdG1h
cEltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U2ltcGxlQml0bWFwSW1hZ2UuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1NpbXBsZUJpdG1hcEltYWdlLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlLCBJbmMuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
Zm5kZWYgU2ltcGxlQml0bWFwSW1hZ2VfaAorI2RlZmluZSBTaW1wbGVCaXRtYXBJbWFnZV9oCisK
KyNpbmNsdWRlICJJbWFnZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vID09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLy8gU2ltcGxlQml0bWFw
SW1hZ2UgQ2xhc3MKKy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQorCitjbGFzcyBTaW1wbGVCaXRtYXBJbWFnZSA6IHB1YmxpYyBJbWFnZSB7CitwdWJs
aWM6CisgICAgdmlydHVhbCB+U2ltcGxlQml0bWFwSW1hZ2UoKTsKKyAgICB2aXJ0dWFsIGJvb2wg
aXNTaW1wbGVCaXRtYXBJbWFnZSgpIGNvbnN0OworCitwcm90ZWN0ZWQ6CisgICAgU2ltcGxlQml0
bWFwSW1hZ2UoSW1hZ2VPYnNlcnZlciogPSAwKTsKK307CisKK30KKworI2VuZGlmCisKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JpdG1hcEltYWdlQ2Fpcm8u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L0JpdG1hcEltYWdlQ2Fpcm8uY3BwCShyZXZpc2lvbiAxMTU4NjMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9CaXRtYXBJbWFnZUNhaXJvLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDEsNyArNDEsNyBAQCBQYXNzUmVmUHRyPEJpdG1hcEltYWdlPiBCaXRtYXBJbWFn
ZTo6Y3JlCiB9CiAKIEJpdG1hcEltYWdlOjpCaXRtYXBJbWFnZShOYXRpdmVJbWFnZUNhaXJvKiBu
YXRpdmVJbWFnZSwgSW1hZ2VPYnNlcnZlciogb2JzZXJ2ZXIpCi0gICAgOiBJbWFnZShvYnNlcnZl
cikKKyAgICA6IFNpbXBsZUJpdG1hcEltYWdlKG9ic2VydmVyKQogICAgICwgbV9jdXJyZW50RnJh
bWUoMCkKICAgICAsIG1fZnJhbWVzKDApCiAgICAgLCBtX2ZyYW1lVGltZXIoMCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwCShyZXZp
c2lvbiAxMTU4NjMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFn
ZUNHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjksNyArNjksNyBAQCBib29sIEZyYW1lRGF0YTo6
Y2xlYXIoYm9vbCBjbGVhck1ldGFkYXRhCiAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KIAogQml0bWFwSW1hZ2U6OkJpdG1hcEltYWdlKENHSW1hZ2VS
ZWYgY2dJbWFnZSwgSW1hZ2VPYnNlcnZlciogb2JzZXJ2ZXIpCi0gICAgOiBJbWFnZShvYnNlcnZl
cikKKyAgICA6IFNpbXBsZUJpdG1hcEltYWdlKG9ic2VydmVyKQogICAgICwgbV9jdXJyZW50RnJh
bWUoMCkKICAgICAsIG1fZnJhbWVzKDApCiAgICAgLCBtX2ZyYW1lVGltZXIoMCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ltYWdlUXQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ltYWdlUXQuY3BwCShyZXZp
c2lvbiAxMTU4NjMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9JbWFn
ZVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg1LDcgKzE4NSw3IEBAIHZvaWQgSW1hZ2U6OmRy
YXdQYXR0ZXJuKEdyYXBoaWNzQ29udGV4dCoKIH0KIAogQml0bWFwSW1hZ2U6OkJpdG1hcEltYWdl
KFFQaXhtYXAqIHBpeG1hcCwgSW1hZ2VPYnNlcnZlciogb2JzZXJ2ZXIpCi0gICAgOiBJbWFnZShv
YnNlcnZlcikKKyAgICA6IFNpbXBsZUJpdG1hcEltYWdlKG9ic2VydmVyKQogICAgICwgbV9jdXJy
ZW50RnJhbWUoMCkKICAgICAsIG1fZnJhbWVzKDApCiAgICAgLCBtX2ZyYW1lVGltZXIoMCkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvQml0bWFwSW1hZ2VTaW5n
bGVGcmFtZVNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3NraWEvQml0bWFwSW1hZ2VTaW5nbGVGcmFtZVNraWEuY3BwCShyZXZpc2lvbiAxMTU4
NjMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0JpdG1hcEltYWdl
U2luZ2xlRnJhbWVTa2lhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNCwxMSArNCw2IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCBCaXRtYXBJbWFnZVNpbmdsZUZyYW1lU2tpYTo6aXNC
aXRtYXBJbWFnZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIGJvb2wgQml0bWFw
SW1hZ2VTaW5nbGVGcmFtZVNraWE6OmN1cnJlbnRGcmFtZUhhc0FscGhhKCkKIHsKICAgICByZXR1
cm4gIW1fbmF0aXZlSW1hZ2UuYml0bWFwKCkuaXNPcGFxdWUoKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvQml0bWFwSW1hZ2VTaW5nbGVGcmFtZVNraWEuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0JpdG1h
cEltYWdlU2luZ2xlRnJhbWVTa2lhLmgJKHJldmlzaW9uIDExNTg2MykKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvQml0bWFwSW1hZ2VTaW5nbGVGcmFtZVNraWEuaAko
d29ya2luZyBjb3B5KQpAQCAtMzEsOCArMzEsOCBAQAogI2lmbmRlZiBCaXRtYXBJbWFnZVNpbmds
ZUZyYW1lU2tpYV9oCiAjZGVmaW5lIEJpdG1hcEltYWdlU2luZ2xlRnJhbWVTa2lhX2gKIAotI2lu
Y2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAiTmF0aXZlSW1hZ2VTa2lhLmgiCisjaW5jbHVkZSAi
U2ltcGxlQml0bWFwSW1hZ2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NCwxNSAr
NDQsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8KIC8vIFRoZSBkaWZmaWN1bHR5IHdpdGgg
cHV0dGluZyB0aGlzIGluIEJpdG1hcEltYWdlOjpjcmVhdGUoTmF0aXZlSW1hZ2VQdHIpCiAvLyBp
cyB0aGF0IE5hdGl2ZUltYWdlUHRyID0gTmF0aXZlSW1hZ2VTa2lhLCB5ZXQgY2FsbGVycyBoYXZl
IFNrQml0bWFwLgotY2xhc3MgQml0bWFwSW1hZ2VTaW5nbGVGcmFtZVNraWEgOiBwdWJsaWMgSW1h
Z2UgeworY2xhc3MgQml0bWFwSW1hZ2VTaW5nbGVGcmFtZVNraWEgOiBwdWJsaWMgU2ltcGxlQml0
bWFwSW1hZ2UgewogcHVibGljOgogICAgIC8vIENyZWF0ZXMgYSBuZXcgSW1hZ2UgZnJvbSB0aGUg
Z2l2ZW4gU2tCaXRtYXAuICBJZiAiY29weVBpeGVscyIgaXMgdHJ1ZSwgYQogICAgIC8vIGRlZXAg
Y29weSBpcyBkb25lLiAgT3RoZXJ3aXNlLCBhIHNoYWxsb3cgY29weSBpcyBkb25lIChwaXhlbCBk
YXRhIGlzCiAgICAgLy8gcmVmJ2VkKS4KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxCaXRtYXBJbWFn
ZVNpbmdsZUZyYW1lU2tpYT4gY3JlYXRlKGNvbnN0IFNrQml0bWFwJiwgYm9vbCBjb3B5UGl4ZWxz
KTsKIAotICAgIHZpcnR1YWwgYm9vbCBpc0JpdG1hcEltYWdlKCkgY29uc3Q7Ci0KICAgICB2aXJ0
dWFsIGJvb2wgY3VycmVudEZyYW1lSGFzQWxwaGEoKTsKIAogICAgIHZpcnR1YWwgSW50U2l6ZSBz
aXplKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3hNb2RlbE9iamVjdC5jcHAJKHJldmlzaW9uIDExNTg2MykKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4
LDYgKzM4LDcgQEAKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlclZp
ZXcuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIlNpbXBsZUJpdG1hcEltYWdl
LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtU3RhdGUuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRp
bWUuaD4KIApAQCAtMTUwLDcgKzE1MSw3IEBAIGJvb2wgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6
c2hvdWxkUGFpbnQKIHsKICAgICAvLyBJZiB0aGUgaW1hZ2UgaXMgbm90IGEgYml0bWFwIGltYWdl
LCB0aGVuIG5vbmUgb2YgdGhpcyBpcyByZWxldmFudCBhbmQgd2UganVzdCBwYWludCBhdCBoaWdo
CiAgICAgLy8gcXVhbGl0eS4KLSAgICBpZiAoIWltYWdlIHx8ICFpbWFnZS0+aXNCaXRtYXBJbWFn
ZSgpIHx8IGNvbnRleHQtPnBhaW50aW5nRGlzYWJsZWQoKSkKKyAgICBpZiAoIWltYWdlIHx8ICFp
bWFnZS0+aXNTaW1wbGVCaXRtYXBJbWFnZSgpIHx8IGNvbnRleHQtPnBhaW50aW5nRGlzYWJsZWQo
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKG9iamVjdC0+c3R5bGUoKS0+aW1h
Z2VSZW5kZXJpbmcoKSA9PSBJbWFnZVJlbmRlcmluZ09wdGltaXplQ29udHJhc3QpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDExNTg2MykK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDcgKzI4LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW5k
ZXJJbWFnZS5oIgogCi0jaW5jbHVkZSAiQml0bWFwSW1hZ2UuaCIKICNpbmNsdWRlICJGb250Q2Fj
aGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCkBA
IC00Myw2ICs0Miw3IEBACiAjaW5jbHVkZSAiUGFpbnRJbmZvLmgiCiAjaW5jbHVkZSAiUmVuZGVy
Vmlldy5oIgogI2luY2x1ZGUgIlNWR0ltYWdlLmgiCisjaW5jbHVkZSAiU2ltcGxlQml0bWFwSW1h
Z2UuaCIKICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogdXNpbmcgbmFtZXNwYWNlIHN0
ZDsKQEAgLTQ1MCw3ICs0NTAsNyBAQCBib29sIFJlbmRlckltYWdlOjpiYWNrZ3JvdW5kSXNPYnNj
dXJlZCgpCiAKICAgICAvLyBDaGVjayBmb3IgYml0bWFwIGltYWdlIHdpdGggYWxwaGEuCiAgICAg
SW1hZ2UqIGltYWdlID0gbV9pbWFnZVJlc291cmNlLT5pbWFnZSgpLmdldCgpOwotICAgIGlmICgh
aW1hZ2UgfHwgIWltYWdlLT5pc0JpdG1hcEltYWdlKCkgfHwgaW1hZ2UtPmN1cnJlbnRGcmFtZUhh
c0FscGhhKCkpCisgICAgaWYgKCFpbWFnZSB8fCAhaW1hZ2UtPmlzU2ltcGxlQml0bWFwSW1hZ2Uo
KSB8fCBpbWFnZS0+Y3VycmVudEZyYW1lSGFzQWxwaGEoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgICAgICAKICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCShyZXZpc2lvbiAxMTU4NjMpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTEsNiArNTEsNyBAQAogI2luY2x1ZGUgIlJlbmRlckVtYmVkZGVkT2JqZWN0Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyVmlkZW8uaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCisjaW5j
bHVkZSAiU2ltcGxlQml0bWFwSW1hZ2UuaCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCiAj
aW5jbHVkZSAiVGlsZWRCYWNraW5nLmgiCiAKQEAgLTk4Miw3ICs5ODMsNyBAQCBib29sIFJlbmRl
ckxheWVyQmFja2luZzo6aXNEaXJlY3RseUNvbXBvCiAgICAgUmVuZGVySW1hZ2UqIGltYWdlUmVu
ZGVyZXIgPSB0b1JlbmRlckltYWdlKHJlbmRlck9iamVjdCk7CiAgICAgaWYgKENhY2hlZEltYWdl
KiBjYWNoZWRJbWFnZSA9IGltYWdlUmVuZGVyZXItPmNhY2hlZEltYWdlKCkpIHsKICAgICAgICAg
aWYgKGNhY2hlZEltYWdlLT5oYXNJbWFnZSgpKQotICAgICAgICAgICAgcmV0dXJuIGNhY2hlZElt
YWdlLT5pbWFnZUZvclJlbmRlcmVyKGltYWdlUmVuZGVyZXIpLT5pc0JpdG1hcEltYWdlKCk7Cisg
ICAgICAgICAgICByZXR1cm4gY2FjaGVkSW1hZ2UtPmltYWdlRm9yUmVuZGVyZXIoaW1hZ2VSZW5k
ZXJlciktPmlzU2ltcGxlQml0bWFwSW1hZ2UoKTsKICAgICB9CiAKICAgICByZXR1cm4gZmFsc2U7
Cg==
</data>
<flag name="commit-queue"
          id="149186"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>