<?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>5246</bug_id>
          
          <creation_ts>2005-10-03 01:09:57 -0700</creation_ts>
          <short_desc>WebKit can&apos;t load svgz files from disk</short_desc>
          <delta_ts>2024-07-24 21:52:27 -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>SVG</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>SVGHitList</keywords>
          <priority>P4</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>b.brachaczek</cc>
    
    <cc>chuck</cc>
    
    <cc>ian</cc>
    
    <cc>karlcow</cc>
    
    <cc>schaetzl.r</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>21253</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-10-03 01:09:57 -0700</bug_when>
    <thetext>WebKit+SVG does not handle svgz properly

http://www.svgmaker.com/examples.htm

has several examples of SVGZ content.  Somehow we need to detect that the content is gzip&apos;d and stick a 
decoder in place to decode it.  I&apos;m not sure how we&apos;ll do this, perhaps recognize the gzip header...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21256</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-10-03 01:26:39 -0700</bug_when>
    <thetext>Another example:
http://www.pandimaniacs.com/index.php?mode=svg&amp;lang=en
this one uses an object tag...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21580</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-10-08 03:06:57 -0700</bug_when>
    <thetext>So my first look at this leads me to believe that this is likely best done down in Foundation in NSURL.  
NSURL already knows how to decode gzip streams before passing them on to the client, it just would need 
to be made aware of SVG.

However, that&apos;s not a very good option for the open source community, so we may need to find some sort 
of temporary solution until foundation can be enhanced and an updated foundation can be made 
available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21739</commentid>
    <comment_count>3</comment_count>
      <attachid>4300</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-10-10 14:04:31 -0700</bug_when>
    <thetext>Created attachment 4300
First pass at svgz support

This still seems to have some sort of race condition, which often causes the
load to fail.  I&apos;m not yet sure why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21740</commentid>
    <comment_count>4</comment_count>
      <attachid>4300</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-10-10 14:50:06 -0700</bug_when>
    <thetext>Comment on attachment 4300
First pass at svgz support

A patch from this weekend....

Basically this hacks the KHTMLPart to try to decode any data in the main
resource that looks like gzip.	I&apos;m not sure this is the &quot;best&quot; way to do this,
but it works, and is a starting point for discussion.

There seems to also still be a race condition with the load, wherby sometimes
the document parse fails.  I&apos;m probably getting an early 0 length write, and
should likely be keying my idea of &quot;this is the first write&quot; and thus
GZipInflater construction off of something other than the presence or absense
of d-&gt;m_decoder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21805</commentid>
    <comment_count>5</comment_count>
      <attachid>4300</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-10-11 08:42:46 -0700</bug_when>
    <thetext>Comment on attachment 4300
First pass at svgz support

I think this should be done in the decoder, not in the part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21879</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-10-12 02:21:12 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 4300 [edit])
&gt; I think this should be done in the decoder, not in the part.
&gt; 

My concern with making this part of the Decoder had been &quot;inheritance&quot;, since Decoders are shared 
between parts (child parts inherit their parent&apos;s Decoders sometimes).  I also had concerns about write() 
calls being passed through the decoder and gunziped unexpectedly.

It&apos;s possible for me to make the code part of the Decoder class, but not have the execution part of the 
decode() method... This solution would still require nearly identical changes to KHTMLPart, however 
instead of creating a GZipInflater object, I would set a bool somewhere, and call &quot;inflate&quot; on the 
decoder, before passing the inflated string back to the decoder (a second time) for decoding (in decode
()).

So given those concerns, would you still like this to be part of Decoder?  And if so, would you be OK 
with it being a separate method &quot;inflate()&quot; on Decoder, or were you suggesting I make this part of 
&quot;decode()&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21910</commentid>
    <comment_count>7</comment_count>
    <who name="Nicholas Shanks">nickshanks</who>
    <bug_when>2005-10-12 07:51:54 -0700</bug_when>
    <thetext>The error is actually on the website, not here. It is not sending the correct Content-Encoding header.
See http://wiki.mozilla.org/SVG:MIMEType for info, see http://web.nickshanks.com/safari/tiger.svgz for 
an example that works fine in Safari. The non gzipped version is at tiger.svg in the same directory.

Now another bug is that DrawTest and Safari don&apos;t accept gzipped svg documents dragged onto their 
icons or make them selectable from the open dialog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21911</commentid>
    <comment_count>8</comment_count>
    <who name="Nicholas Shanks">nickshanks</who>
    <bug_when>2005-10-12 08:14:40 -0700</bug_when>
    <thetext>I just want to clarify:  I recommend NOT &apos;fixing&apos; this.

Safari is a significant browser for people who care about standards (and thus are using SVG). When Safari 
ships with SVG support, SVG authors will test against it. Because that number is so small at the moment it 
is best to force them into the correct practice of specifying a Content-Encoding header for gzipped 
documents. If you do the wrong thing here, by accepting mis&amp;#8208;specified encodings and trying to work 
around it, you are HURTING the future of the web.

Safari in it&apos;s current state handles gzipped SVG just fine when the document is sent with the correct HTTP 
headers. There is nothing that needs fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22100</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-10-14 13:14:13 -0700</bug_when>
    <thetext>Darin and I discussed this.  WinIE already allows this for the local html case... we think that although it 
might be a bit &quot;non-standard&quot; it makes sense to support this remote image/svg+xml sent as gzip case.  
Even if they don&apos;t specify the correct ContentEncoding.

I&apos;ll move my logic into Decoder and resubmit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25887</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-13 00:20:55 -0800</bug_when>
    <thetext>Actually, we do handle it &quot;properly&quot;.  FireFox has made an active choice not to support svgz w/o the 
correct Content Ecoding header either.  There still remains a question about supporting local svgz 
however.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27281</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-02-05 16:52:50 -0800</bug_when>
    <thetext>It&apos;s really bad that we don&apos;t support local SVGZ files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57467</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-09-30 11:07:36 -0700</bug_when>
    <thetext>This may be automagically supported in Leopard if LaunchServices provides us with proper mime type and fake headers.  At least when I last talked to the UTI guy at Apple he seemed to suggest such was possible.  I believe this bug has a corresponding Radar which may even be assigned to the launch services team.  Adding the &quot;NeedsRadar&quot; keyword for someone to find and associate said Radar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64640</commentid>
    <comment_count>13</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-12-18 09:54:40 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; This may be automagically supported in Leopard if LaunchServices provides us
&gt; with proper mime type and fake headers.  At least when I last talked to the UTI
&gt; guy at Apple he seemed to suggest such was possible.  I believe this bug has a
&gt; corresponding Radar which may even be assigned to the launch services team. 
&gt; Adding the &quot;NeedsRadar&quot; keyword for someone to find and associate said Radar.

Does this work in Leopard now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71990</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-02-26 04:25:49 -0800</bug_when>
    <thetext>It does not. Filed &lt;rdar://problem/5765475&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72026</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-02-26 10:38:06 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; It does not. Filed &lt;rdar://problem/5765475&gt;.
&gt; 

There is another radar, asking for launch services to send us the headers/mimetype? (not even sure how that would work) correctly when opening an svgz file.  It was in the CoreTypes component long ago.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72031</commentid>
    <comment_count>16</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-02-26 11:00:58 -0800</bug_when>
    <thetext>I couldn&apos;t find it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124215</commentid>
    <comment_count>17</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-03 14:27:52 -0700</bug_when>
    <thetext>Chromium fixed this.  I guess this still needs support from Mac OS X for Safari to work here?  Adding a test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124216</commentid>
    <comment_count>18</comment_count>
      <attachid>30925</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-03 14:28:16 -0700</bug_when>
    <thetext>Created attachment 30925
A test case for LayoutTests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124217</commentid>
    <comment_count>19</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-03 14:29:36 -0700</bug_when>
    <thetext>Bugzilla doesn&apos;t send the &quot;right&quot; headers for svgz files, so the test fails in bugzilla (and will always fail).  It passes on disk for Chromium now, but not Safari.
http://code.google.com/p/chromium/issues/detail?id=9936</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453961</commentid>
    <comment_count>20</comment_count>
    <who name="Charles Pritchard">chuck</who>
    <bug_when>2011-08-19 11:50:38 -0700</bug_when>
    <thetext>SVGZ support is still mixed. The issue seems to be that SVGZ files are occasionally passed through XML parsing before sniffing the first bytes. The first bytes should -always- be sniffed. Chromium cross-link:
http://code.google.com/p/chromium/issues/detail?id=76968</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>453997</commentid>
    <comment_count>21</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-19 12:40:40 -0700</bug_when>
    <thetext>SVGZ files work fine on the web, when the site is configured correctly:
https://jwatt.org/svg/authoring/

SVGZ files could work fine on disk if LaunchServices provided the right information.  It&apos;s unclear if radar 5765475 has been solved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454030</commentid>
    <comment_count>22</comment_count>
    <who name="Charles Pritchard">chuck</who>
    <bug_when>2011-08-19 13:30:39 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; SVGZ files work fine on the web, when the site is configured correctly:
&gt; https://jwatt.org/svg/authoring/

Yes, but the specification dictates mime magic. And this corresponds well with blob and data URIs, do not need to specify the svgz content-type in order to work (per spec). I realize that svgz works well when the content type is specified on a server. If proper mime handling were in place, it&apos;d work in all cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454038</commentid>
    <comment_count>23</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-19 13:37:54 -0700</bug_when>
    <thetext>It sounds like what you&apos;re asking for is content sniffing.

.svgz is a file extension which requires the server to be set up correctly.  Similarly to serving a .html.gz file and expecting it to render correctly. :)  I assume you wouldn&apos;t argue that when a server hands us a .html file with something that looks like a gzip header we should try decoding it and rendering it &quot;just in case&quot;. :)

.svgz files on local disk are a slightly different since there isn&apos;t really a server in place to set-up correctly.  Which is what this bug is about.  On Mac OS X, local .svgz handling should be fixable in the OS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493415</commentid>
    <comment_count>24</comment_count>
    <who name="Charles Pritchard">chuck</who>
    <bug_when>2011-10-31 11:04:24 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; It sounds like what you&apos;re asking for is content sniffing.
&gt; .svgz files on local disk are a slightly different since there isn&apos;t really a server in place to set-up correctly.  Which is what this bug is about.  On Mac OS X, local .svgz handling should be fixable in the OS.



The issue also appears with blob and data uris.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2048271</commentid>
    <comment_count>25</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2024-07-24 21:46:54 -0700</bug_when>
    <thetext>Tested in 


A local SVG file
file:///Users/karlcow/Downloads/svg_logo.svgz

All of them failed with 

Safari, Chrome
  This page contains the following errors:
  error on line 1 at column 1: Encoding error
  Below is a rendering of the page up to the first error.

Firefox
  XML Parsing Error: not well-formed
  Location: file:///Users/karlcow/Downloads/svg_logo.svgz
  Line Number 1, Column 1:

file:///Users/karlcow/Downloads/svg_logo.svg is working correctly. 
Should we close this?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4300</attachid>
            <date>2005-10-10 14:04:31 -0700</date>
            <delta_ts>2010-06-10 17:31:11 -0700</delta_ts>
            <desc>First pass at svgz support</desc>
            <filename>svgz.patch</filename>
            <type>text/plain</type>
            <size>11916</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUrU1ZHL0daaXBJbmZsYXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
R1ppcEluZmxhdGVyLmNwcApkaWZmIC1OIFdlYkNvcmUrU1ZHL0daaXBJbmZsYXRlci5jcHAKLS0t
IFdlYkNvcmUrU1ZHL0daaXBJbmZsYXRlci5jcHAJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAor
KysgV2ViQ29yZStTVkcvR1ppcEluZmxhdGVyLmNwcAkxMCBPY3QgMjAwNSAyMDoyODowMyAtMDAw
MApAQCAtMCwwICsxLDE3MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNSBBcHBsZSBDb21w
dXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKyAKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJHWmlwSW5mbGF0ZXIuaCIKKworI2RlZmluZSBJRDEgMHgxRgorI2Rl
ZmluZSBJRDIgMHg4QgorI2RlZmluZSBERUZMQVRFX0NPTVBSRVNTSU9OX01FVEhPRCA4CisKKyNk
ZWZpbmUgRlRFWFQgMHgwMQorI2RlZmluZSBGSENSQyAweDAyCisjZGVmaW5lIEZFWFRSQSAweDA0
CisjZGVmaW5lIEZOQU1FIDB4MDgKKyNkZWZpbmUgRkNPTU1FTlQgMHgxMAorI2RlZmluZSBSRVNF
UlZFRF9GTEFHUyAweEUwCisKK25hbWVzcGFjZSBraHRtbCB7CisKK0daaXBJbmZsYXRlcjo6R1pp
cEluZmxhdGVyKCkgOiBtX2hhdmVWYWxpZFN0cmVhbShmYWxzZSksIG1faGF2ZURlY29kZWRIZWFk
ZXIoZmFsc2UpLCBtX2hhdmVGaW5pc2hlZEluZmxhdGluZyhmYWxzZSkKK3sKKyAgICBtZW1zZXQo
Jm1fc3RyZWFtLCAwLCBzaXplb2Yoel9zdHJlYW0pKTsKKyAgICBpbnQgZXJyb3IgPSBpbmZsYXRl
SW5pdDIoJm1fc3RyZWFtLCAtMTUpOworICAgIGlmIChlcnJvciA9PSBaX09LKQorICAgICAgICBt
X2hhdmVWYWxpZFN0cmVhbSA9IHRydWU7CisgICAgZWxzZQorICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgImZhaWxlZCB0byBpbml0aWFsaXplIHpsaWIsIGVycm9yICVkXG4iLCBlcnJvcik7Cit9CisK
K0daaXBJbmZsYXRlcjo6fkdaaXBJbmZsYXRlcigpCit7CisgICAgaWYgKG1faGF2ZVZhbGlkU3Ry
ZWFtKQorICAgICAgICBpbmZsYXRlRW5kKCZtX3N0cmVhbSk7Cit9CisKK2ludCBHWmlwSW5mbGF0
ZXI6OmRlY29kZUhlYWRlcihjb25zdCB1bnNpZ25lZCBjaGFyICpieXRlcywgaW50IGhlYWRlckRh
dGFMZW5ndGgpCit7CisgICAgaW50IGxlbmd0aCA9IDEwOworICAgIAorICAgIGlmIChoZWFkZXJE
YXRhTGVuZ3RoIDwgbGVuZ3RoKQorICAgICAgICByZXR1cm4gLTE7CisgICAgCisgICAgaWYgKCFH
WmlwSW5mbGF0ZXI6Omhhc0daaXBIZWFkZXIoYnl0ZXMsIGhlYWRlckRhdGFMZW5ndGgpKQorICAg
ICAgICByZXR1cm4gLTE7CisgICAgCisgICAgdW5zaWduZWQgY2hhciBmbGFncyA9IGJ5dGVzWzNd
OworICAgIGlmIChmbGFncyAmIFJFU0VSVkVEX0ZMQUdTKQorICAgICAgICByZXR1cm4gLTE7Cisg
ICAgCisgICAgaWYgKGZsYWdzICYgRkVYVFJBKSB7CisgICAgICAgIGlmIChoZWFkZXJEYXRhTGVu
Z3RoIDwgbGVuZ3RoICsgMikKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgbGVuZ3Ro
ICs9IDIgKyAoYnl0ZXNbMTBdIHwgKGJ5dGVzWzExXSA8PCA4KSk7CisgICAgICAgIGlmIChoZWFk
ZXJEYXRhTGVuZ3RoIDwgbGVuZ3RoKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAg
ICAKKyAgICBpZiAoZmxhZ3MgJiBGTkFNRSkgeworICAgICAgICB3aGlsZSAoYnl0ZXNbbGVuZ3Ro
KytdICE9IDApIHsKKyAgICAgICAgICAgIGlmIChoZWFkZXJEYXRhTGVuZ3RoIDwgbGVuZ3RoKQor
ICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICBp
ZiAoZmxhZ3MgJiBGQ09NTUVOVCkgeworICAgICAgICB3aGlsZSAoYnl0ZXNbbGVuZ3RoKytdICE9
IDApIHsKKyAgICAgICAgICAgIGlmIChoZWFkZXJEYXRhTGVuZ3RoIDwgbGVuZ3RoKQorICAgICAg
ICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICBpZiAoZmxh
Z3MgJiBGSENSQykgeworICAgICAgICBpZiAoaGVhZGVyRGF0YUxlbmd0aCA8IGxlbmd0aCArIDIp
CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHVuc2lnbmVkIGNvbXB1dGVkQ1JDID0g
Y3JjMzIoMCwgYnl0ZXMsIGxlbmd0aCkgJiAweEZGRkY7CisgICAgICAgIHVuc2lnbmVkIGV4cGVj
dGVkQ1JDID0gYnl0ZXNbbGVuZ3RoXSArIGJ5dGVzW2xlbmd0aCArIDFdOworICAgICAgICBpZiAo
Y29tcHV0ZWRDUkMgIT0gZXhwZWN0ZWRDUkMpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAg
ICAgIGxlbmd0aCArPSAyOworICAgIH0KKyAgICAKKyAgICByZXR1cm4gbGVuZ3RoOworfQorCitR
Q1N0cmluZyBHWmlwSW5mbGF0ZXI6OmluZmxhdGUoY29uc3QgdW5zaWduZWQgY2hhciAqaW5wdXRC
dWZmZXIsIGludCBpbnB1dExlbmd0aCkKK3sKKyAgICBRQ1N0cmluZyBvdXRwdXQ7CisKKyAgICBp
ZiAoIW1faGF2ZURlY29kZWRIZWFkZXIpIHsKKyAgICAgICAgaW50IGhlYWRlckxlbmd0aCA9IGRl
Y29kZUhlYWRlcihpbnB1dEJ1ZmZlciwgaW5wdXRMZW5ndGgpOworICAgICAgICBpZiAoaGVhZGVy
TGVuZ3RoIDwgMCkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gcGFy
c2UgZ3ppcCBoZWFkZXIhICVpIGJ5dGVzXG4iLCBpbnB1dExlbmd0aCk7CisgICAgICAgICAgICBy
ZXR1cm4gb3V0cHV0OworICAgICAgICB9CisgICAgICAgIG1faGF2ZURlY29kZWRIZWFkZXIgPSB0
cnVlOworICAgICAgICBpbnB1dEJ1ZmZlciArPSBoZWFkZXJMZW5ndGg7CisgICAgICAgIGlucHV0
TGVuZ3RoIC09IGhlYWRlckxlbmd0aDsKKyAgICB9CisKKyAgICBtX3N0cmVhbS5uZXh0X2luID0g
KFVJbnQ4ICopaW5wdXRCdWZmZXI7CisgICAgbV9zdHJlYW0uYXZhaWxfaW4gPSBpbnB1dExlbmd0
aDsKKyAgICAKKyAgICBpZiAoIW1faGF2ZVZhbGlkU3RyZWFtIHx8IG1faGF2ZUZpbmlzaGVkSW5m
bGF0aW5nKQorICAgICAgICByZXR1cm4gb3V0cHV0OworICAgIAorICAgIGJvb2wgZmlsbGVkT3V0
cHV0QnVmZmVyTGFzdFRpbWUgPSBmYWxzZTsKKworICAgIHdoaWxlIChtX3N0cmVhbS5hdmFpbF9p
biB8fCBmaWxsZWRPdXRwdXRCdWZmZXJMYXN0VGltZSkgeworICAgICAgICB1bnNpZ25lZCBjaGFy
IG91dHB1dEJ1ZmZlclsxNjM4NV07CisgICAgICAgIGludCBvdXRwdXRCdWZmZXJFbmQgPSBzaXpl
b2Yob3V0cHV0QnVmZmVyKSAtIDE7CisgICAgCisgICAgICAgIG1fc3RyZWFtLm5leHRfb3V0ID0g
b3V0cHV0QnVmZmVyOworICAgICAgICBtX3N0cmVhbS5hdmFpbF9vdXQgPSBvdXRwdXRCdWZmZXJF
bmQ7CisgICAgCisgICAgICAgIGludCByZXN1bHQgPSA6OmluZmxhdGUoJm1fc3RyZWFtLCBaX05P
X0ZMVVNIKTsKKyAgICAKKyAgICAgICAgZmlsbGVkT3V0cHV0QnVmZmVyTGFzdFRpbWUgPSBtX3N0
cmVhbS5hdmFpbF9vdXQgPT0gMDsKKyAgICAgICAgCisgICAgICAgIGludCBvdXRwdXRMZW5ndGgg
PSBvdXRwdXRCdWZmZXJFbmQgLSBtX3N0cmVhbS5hdmFpbF9vdXQ7CisgICAgICAgIG91dHB1dEJ1
ZmZlcltvdXRwdXRMZW5ndGhdID0gJ1wwJzsKKyAgICAgICAgb3V0cHV0LmFwcGVuZCgoY29uc3Qg
Y2hhciAqKW91dHB1dEJ1ZmZlcik7CisKKyAgICAgICAgaWYgKHJlc3VsdCA9PSBaX1NUUkVBTV9F
TkQpIHsKKyAgICAgICAgICAgIG1faGF2ZUZpbmlzaGVkSW5mbGF0aW5nID0gdHJ1ZTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBpZiAobV9zdHJlYW0u
YXZhaWxfaW4gPT0gMCAmJiByZXN1bHQgPT0gWl9CVUZfRVJST1IpIHsKKyAgICAgICAgICAgIC8v
IFRoaXMgaXMgbm90IGFuIGVycm9yLgorICAgICAgICAgICAgLy8gV2UganVzdCBjYW1lIGFyb3Vu
ZCB0aHJvdWdoIHRoaXMgY29kZQorICAgICAgICAgICAgLy8gYmVjYXVzZSBmaWxsZWRPdXRwdXRC
dWZmZXJMYXN0VGltZSBpcyB0cnVlLgorICAgICAgICAgICAgLy8gWl9CVUZfRVJST1IgaXMgdGhp
cyBjYXNlIGluZGljYXRlcyAKKyAgICAgICAgICAgIC8vICJubyBwcm9ncmVzcyBjb3VsZCBiZSBt
YWRlIiB3aGljaCBpcyBPSyBnaXZlbiB0aGUKKyAgICAgICAgICAgIC8vIGNpcmN1bXN0YW5jZXMu
CisgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0ICE9IFpfT0spIHsKKyAgICAgICAgICAgIGZwcmlu
dGYoc3RkZXJyLCAiZ290IGVycm9yIGZyb20gaW5mbGF0ZSwgJWRcbiIsIHJlc3VsdCk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBvdXRwdXQ7Cit9
CisKK2Jvb2wgR1ppcEluZmxhdGVyOjpoYXNHWmlwSGVhZGVyKGNvbnN0IHVuc2lnbmVkIGNoYXIg
KmJ5dGVzLCBpbnQgbGVuKQoreworICAgIGlmIChsZW4gPCAzKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgcmV0dXJuIChieXRlc1swXSA9PSBJRDEgJiYgYnl0ZXNbMV0gPT0gSUQyICYmIGJ5
dGVzWzJdID09IERFRkxBVEVfQ09NUFJFU1NJT05fTUVUSE9EKTsgICAgCit9CisKK307CkluZGV4
OiBXZWJDb3JlK1NWRy9HWmlwSW5mbGF0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiBHWmlwSW5m
bGF0ZXIuaApkaWZmIC1OIFdlYkNvcmUrU1ZHL0daaXBJbmZsYXRlci5oCi0tLSBXZWJDb3JlK1NW
Ry9HWmlwSW5mbGF0ZXIuaAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyBXZWJDb3JlK1NW
Ry9HWmlwSW5mbGF0ZXIuaAkxMCBPY3QgMjAwNSAyMDoyODowMyAtMDAwMApAQCAtMCwwICsxLDQ4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA1IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworIAorI2luY2x1ZGUgPHpsaWIuaD4KKyNpbmNsdWRlIDxx
Y3N0cmluZy5oPgorCituYW1lc3BhY2Uga2h0bWwgeworCitjbGFzcyBHWmlwSW5mbGF0ZXIgewor
cHVibGljOgorICAgIEdaaXBJbmZsYXRlcigpOworICAgIH5HWmlwSW5mbGF0ZXIoKTsKKyAgICAK
KyAgICBRQ1N0cmluZyBpbmZsYXRlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1ZmZlciwgaW50IGxl
bik7CisgICAgCisgICAgc3RhdGljIGJvb2wgaGFzR1ppcEhlYWRlcihjb25zdCB1bnNpZ25lZCBj
aGFyICpidWZmZXIsIGludCBsZW4pOworICAgIHN0YXRpYyBpbnQgZGVjb2RlSGVhZGVyKGNvbnN0
IHVuc2lnbmVkIGNoYXIgKmJ1ZmZlciwgaW50IGxlbik7CisgICAgCitwcml2YXRlOgorICAgIHpf
c3RyZWFtIG1fc3RyZWFtOworICAgIGJvb2wgbV9oYXZlVmFsaWRTdHJlYW07CisgICAgYm9vbCBt
X2hhdmVEZWNvZGVkSGVhZGVyOworICAgIGJvb2wgbV9oYXZlRmluaXNoZWRJbmZsYXRpbmc7Cit9
OworCit9OwpJbmRleDogV2ViQ29yZStTVkcveG1sX2tkb210b2tlbml6ZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9TVkdTdXBwb3J0L1dlYkNvcmUrU1ZHL3htbF9rZG9tdG9r
ZW5pemVyLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yCmRpZmYgLXAgLXUgLXIxLjIgV2Vi
Q29yZStTVkcveG1sX2tkb210b2tlbml6ZXIuY3BwCi0tLSBXZWJDb3JlK1NWRy94bWxfa2RvbXRv
a2VuaXplci5jcHAJNSBPY3QgMjAwNSAwNTozNjo1NSAtMDAwMAkxLjIKKysrIFdlYkNvcmUrU1ZH
L3htbF9rZG9tdG9rZW5pemVyLmNwcAkxMCBPY3QgMjAwNSAyMDoyODowMyAtMDAwMApAQCAtMjUs
NiArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSA8cXN0cmluZy5oPgor
I2luY2x1ZGUgPHpsaWIuaD4KIAogI2luY2x1ZGUgImxvYWRlcl9jbGllbnQuaCIKICNpbmNsdWRl
ICJraHRtbHZpZXcuaCIKQEAgLTEyNiw2ICsxMjcsMTEgQEAgdm9pZCBLRE9NVG9rZW5pemVyOjpm
aW5pc2goKQogICAgIHBhcnNlci0+ZG9PbmVTaG90UGFyc2UobV94bWxDb2RlLnV0ZjgoKSwgbV94
bWxDb2RlLmxlbmd0aCgpKTsKICAgICAKICAgICBTVkdEb2N1bWVudEltcGwgKnN2Z0RvYyA9IHN0
YXRpY19jYXN0PFNWR0RvY3VtZW50SW1wbCAqPihwYXJzZXItPmRvY3VtZW50KCkpOworICAgIGlm
ICghc3ZnRG9jKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHBhcnNlIGRv
Y3VtZW50LlxuIik7CisgICAgICAgIGRlbGV0ZSBwYXJzZXI7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CiAgICAgTm9kZUltcGwgKndyYXBwZWREb2MgPSBuZXcgS0RPTU5vZGVUcmVlV3JhcHBlcklt
cGwobV9kb2MsIHN2Z0RvYyk7CiAgICAgZGVsZXRlIHBhcnNlcjsgLy8gYnVpbGRlciBpcyBvd25l
ZCAoZGVsZXRlZCkgYnkgcGFyc2VyCiAgICAgCkluZGV4OiBraHRtbC9raHRtbF9wYXJ0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9raHRtbF9wYXJ0LmNw
cCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zNDYKZGlmZiAtcCAtdSAtcjEuMzQ2IGtodG1sL2to
dG1sX3BhcnQuY3BwCi0tLSBraHRtbC9raHRtbF9wYXJ0LmNwcAk3IE9jdCAyMDA1IDAxOjIxOjQw
IC0wMDAwCTEuMzQ2CisrKyBraHRtbC9raHRtbF9wYXJ0LmNwcAkxMCBPY3QgMjAwNSAyMDoyODow
NSAtMDAwMApAQCAtMTExLDYgKzExMSw5IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAK
ICNpZiBBUFBMRV9DSEFOR0VTCiAjaW5jbHVkZSA8Q29yZVNlcnZpY2VzL0NvcmVTZXJ2aWNlcy5o
PgorI2lmIFNWR19TVVBQT1JUCisjaW5jbHVkZSAiR1ppcEluZmxhdGVyLmgiCisjZW5kaWYKICNl
bmRpZgogCiB1c2luZyBuYW1lc3BhY2UgRE9NOjpFdmVudE5hbWVzOwpAQCAtMTY4OCw2ICsxNjkx
LDEwIEBAIHZvaWQgS0hUTUxQYXJ0Ojp3cml0ZSggY29uc3QgY2hhciAqc3RyLCAKICNpZiBBUFBM
RV9DSEFOR0VTCiAgICAgICAgIGlmIChkLT5tX2RvYykKICAgICAgICAgICAgIGQtPm1fZG9jLT5z
ZXREZWNvZGVyKGQtPm1fZGVjb2Rlcik7CisjaWYgU1ZHX1NVUFBPUlQKKyAgICAgICAgaWYgKGto
dG1sOjpHWmlwSW5mbGF0ZXI6Omhhc0daaXBIZWFkZXIoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKilz
dHIsIGxlbikpCisgICAgICAgICAgICBLV1EodGhpcyktPm1fZ3ppcEluZmxhdGVyID0gbmV3IGto
dG1sOjpHWmlwSW5mbGF0ZXIoKTsKKyNlbmRpZgogI2VuZGlmCiAgICAgfQogICBpZiAoIGxlbiA9
PSAwICkKQEAgLTE2OTUsNiArMTcwMiwxNSBAQCB2b2lkIEtIVE1MUGFydDo6d3JpdGUoIGNvbnN0
IGNoYXIgKnN0ciwgCiAKICAgaWYgKCBsZW4gPT0gLTEgKQogICAgIGxlbiA9IHN0cmxlbiggc3Ry
ICk7CisgICAgCisjaWYgU1ZHX1NVUFBPUlQKKyAgUUNTdHJpbmcgaW5mbGF0ZWREYXRhOworICBp
ZiAoS1dRKHRoaXMpLT5tX2d6aXBJbmZsYXRlcikgeworICAgICBpbmZsYXRlZERhdGEgPSBLV1Eo
dGhpcyktPm1fZ3ppcEluZmxhdGVyLT5pbmZsYXRlKChjb25zdCB1bnNpZ25lZCBjaGFyICopc3Ry
LCBsZW4pOworICAgICBzdHIgPSBpbmZsYXRlZERhdGEuZGF0YSgpOworICAgICBsZW4gPSBpbmZs
YXRlZERhdGEuY291bnQoKTsKKyAgfQorI2VuZGlmCiAKICAgUVN0cmluZyBkZWNvZGVkID0gZC0+
bV9kZWNvZGVyLT5kZWNvZGUoIHN0ciwgbGVuICk7CiAKSW5kZXg6IGt3cS9LV1FLSFRNTFBhcnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9rd3EvS1dRS0hUTUxQYXJ0
LmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjI5CmRpZmYgLXAgLXUgLXIxLjIyOSBrd3EvS1dR
S0hUTUxQYXJ0LmgKLS0tIGt3cS9LV1FLSFRNTFBhcnQuaAkyNyBTZXAgMjAwNSAyMjozNzoyOCAt
MDAwMAkxLjIyOQorKysga3dxL0tXUUtIVE1MUGFydC5oCTEwIE9jdCAyMDA1IDIwOjI4OjEyIC0w
MDAwCkBAIC00NSw2ICs0NSwxMCBAQAogI2ltcG9ydCAiS1dRQ2xpcGJvYXJkLmgiCiAjaW1wb3J0
ICJLV1FTY3JvbGxCYXIuaCIKIAorI2lmIFNWR19TVVBQT1JUCisjaW1wb3J0ICJHWmlwSW5mbGF0
ZXIuaCIKKyNlbmRpZgorCiBjbGFzcyBLSFRNTFBhcnRQcml2YXRlOwogY2xhc3MgS1dRV2luZG93
V2lkZ2V0OwogCkBAIC01OCw2ICs2Miw5IEBAIG5hbWVzcGFjZSBraHRtbCB7CiAgICAgY2xhc3Mg
UmVuZGVyU3R5bGU7CiAgICAgY2xhc3MgVmlzaWJsZVBvc2l0aW9uOwogICAgIHN0cnVjdCBEYXNo
Ym9hcmRSZWdpb25WYWx1ZTsKKyNpZiBTVkdfU1VQUE9SVAorICAgIGNsYXNzIEdaaXBJbmZsYXRl
cjsKKyNlbmRpZgogfQogCiBuYW1lc3BhY2UgS0pTIHsKQEAgLTQ4OCw2ICs0OTUsMTAgQEAgcHJp
dmF0ZToKICAgICBRVmFsdWVMaXN0PE1hcmtlZFRleHRVbmRlcmxpbmU+IG1fbWFya2VkVGV4dFVu
ZGVybGluZXM7CiAKICAgICBib29sIG1fd2luZG93SGFzRm9jdXM7CisKKyNpZiBTVkdfU1VQUE9S
VAorICAgIGtodG1sOjpHWmlwSW5mbGF0ZXIgKm1fZ3ppcEluZmxhdGVyOworI2VuZGlmCiB9Owog
CiBpbmxpbmUgS1dRS0hUTUxQYXJ0ICpLV1EoS0hUTUxQYXJ0ICpwYXJ0KSB7IHJldHVybiBzdGF0
aWNfY2FzdDxLV1FLSFRNTFBhcnQgKj4ocGFydCk7IH0KSW5kZXg6IGt3cS9LV1FLSFRNTFBhcnQu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva3dxL0tXUUtIVE1MUGFy
dC5tbSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS42NzcKZGlmZiAtcCAtdSAtcjEuNjc3IGt3cS9L
V1FLSFRNTFBhcnQubW0KLS0tIGt3cS9LV1FLSFRNTFBhcnQubW0JNyBPY3QgMjAwNSAwMToyMTo0
NyAtMDAwMAkxLjY3NworKysga3dxL0tXUUtIVE1MUGFydC5tbQkxMCBPY3QgMjAwNSAyMDoyODox
MiAtMDAwMApAQCAtMjQxLDYgKzI0MSw5IEBAIEtXUUtIVE1MUGFydDo6S1dRS0hUTUxQYXJ0KCkK
ICAgICAsIF9kcmFnQ2xpcGJvYXJkKDApCiAgICAgLCBtX21hcmtlZFRleHRVc2VzVW5kZXJsaW5l
cyhmYWxzZSkKICAgICAsIG1fd2luZG93SGFzRm9jdXMoZmFsc2UpCisjaWYgU1ZHX1NVUFBPUlQK
KyAgICAsIG1fZ3ppcEluZmxhdGVyKDApCisjZW5kaWYKIHsKICAgICAvLyBNdXN0IGluaXQgdGhl
IGNhY2hlIGJlZm9yZSBjb25uZWN0aW5nIHRvIGFueSBzaWduYWxzCiAgICAgQ2FjaGU6OmluaXQo
KTsK
</data>
<flag name="review"
          id="726"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>30925</attachid>
            <date>2009-06-03 14:28:16 -0700</date>
            <delta_ts>2009-06-03 14:28:16 -0700</delta_ts>
            <desc>A test case for LayoutTests</desc>
            <filename>svgz-file-read-from-disk.svgz</filename>
            <type>image/svg+xml</type>
            <size>216</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">H4sICEHpJkoAA3Rlc3Quc3ZnAG2PsW7DMAxEd3/FQVOySGqztbKBor/gHxAqOhHqSIbIVE6/vgyK
buVCAnf3Dgz8dcZ+XQuP5iKyvTjXe7f9ZGs7u2fvvVOHmYYgtAv20Tx5g/toTt5M8yUzhFigm6U2
SqgFKfMnIiPCavYbS14JsSRskZkYecG93sBEkF+CknNhoaj5Ra2g1mqzwT0k7eaPljc9NHnouaTa
7RqVIbOWv9cira4rteMAnf8Um27X7Y1nxR2Or0Nwf8TweG/6AZmJKAgGAQAA
</data>

          </attachment>
      

    </bug>

</bugzilla>