<?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>54594</bug_id>
          
          <creation_ts>2011-02-16 15:26:41 -0800</creation_ts>
          <short_desc>Expose isValidProtocol() in KURL.h.</short_desc>
          <delta_ts>2011-03-08 09:41:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>54438</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="James Kozianski">koz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>352404</commentid>
    <comment_count>0</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-02-16 15:26:41 -0800</bug_when>
    <thetext>Expose isValidProtocol() in KURL.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352405</commentid>
    <comment_count>1</comment_count>
      <attachid>82710</attachid>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-02-16 15:27:22 -0800</bug_when>
    <thetext>Created attachment 82710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352409</commentid>
    <comment_count>2</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-02-16 15:32:15 -0800</bug_when>
    <thetext>The implementation of isValidProtocol() in KURLGoogle.cpp is basically a copy/paste of the one in KURL.cpp - I&apos;m not sure if this is kosher from a code duplication or plagiarism point of view (the function is quite trivial and any reasonable implementation would be isomorphic to the original) so any guidance on this matter would be appreciated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352414</commentid>
    <comment_count>3</comment_count>
      <attachid>82710</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-16 15:37:52 -0800</bug_when>
    <thetext>Comment on attachment 82710
Patch

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

&gt; Source/WebCore/ChangeLog:7
&gt; +        Expose isValidProtocol() in KURL.h.
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=54594
&gt; +

Why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352419</commentid>
    <comment_count>4</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-02-16 15:42:09 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 82710 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=82710&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:7
&gt; &gt; +        Expose isValidProtocol() in KURL.h.
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=54594
&gt; &gt; +
&gt; 
&gt; Why?

For general use, but in particular because I want to check for invalid schemes being used in calls to navigator.registerProtocolHandler (see bug 54438).

Sorry, I&apos;ll add that to the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352421</commentid>
    <comment_count>5</comment_count>
      <attachid>82714</attachid>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-02-16 15:44:44 -0800</bug_when>
    <thetext>Created attachment 82714
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352627</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-16 23:28:49 -0800</bug_when>
    <thetext>CCing URL folks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352630</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-16 23:46:10 -0800</bug_when>
    <thetext>Should we rename this to isValidProtocolName() when exposing? Or even isValidSchemeName()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352687</commentid>
    <comment_count>8</comment_count>
      <attachid>82714</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-17 01:49:03 -0800</bug_when>
    <thetext>Comment on attachment 82714
Patch

This seems tricky.  How flexible should this be?  Should this allow leading/trailing spaces?  Why is this only implemented for the Google side?  is &quot;a&quot; a valid scheme?  Seems this says it is.  Can we test this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353139</commentid>
    <comment_count>9</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-02-17 13:14:06 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 82714 [details])
&gt; This seems tricky.  How flexible should this be?  Should this allow leading/trailing spaces?  Why is this only implemented for the Google side?  is &quot;a&quot; a valid scheme?  Seems this says it is.  Can we test this?

There is already an implementation in KURL.cpp of which this is just a copy (see my above comment). And I think the most intuitive behaviour for this function would be to validate exactly what the spec says at http://tools.ietf.org/html/rfc3986#section-3.1.

As for testing, this function isn&apos;t exposed to the browser directly (it is used internally by KURL.cpp), but in my other patch (bug 54438) which causes navigator.registerProtocolHandler() to use this function to verify protocols passed to it, I add test cases that exercise this function directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353142</commentid>
    <comment_count>10</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-02-17 13:24:34 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Should we rename this to isValidProtocolName() when exposing? Or even isValidSchemeName()?

I think its current name is the most consistent - the current public interface for KURL uses &apos;protocol&apos; by itself (protocolIs(), setProtocol(), etc). Also, it could be argued that in the context of a URL it is implied that we are referring to the name of a protocol.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353147</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-17 13:36:28 -0800</bug_when>
    <thetext>&gt; I think its current name is the most consistent - the current public interface for KURL uses &apos;protocol&apos; by itself (protocolIs(), setProtocol(), etc). 

OK.

&gt; Also, it could be argued that in the context of a URL it is implied that we are referring to the name of a protocol.

This I don&apos;t agree with. KURL knows a lot about semantics of URLs (even default ports!), so it&apos;s not always about names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353249</commentid>
    <comment_count>12</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-02-17 16:59:32 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; Also, it could be argued that in the context of a URL it is implied that we are referring to the name of a protocol.
&gt; 
&gt; This I don&apos;t agree with. KURL knows a lot about semantics of URLs (even default ports!), so it&apos;s not always about names.

True, that&apos;s a good point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355032</commentid>
    <comment_count>13</comment_count>
      <attachid>82714</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-02-21 21:35:23 -0800</bug_when>
    <thetext>Comment on attachment 82714
Patch

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

&gt; Source/WebCore/platform/KURLGoogle.cpp:136
&gt; +bool isValidProtocol(const String&amp; protocol)

This is missing a comment from the KURL.cpp version. May as well make the copy-paste exact. Also, can you put a comment explaining that this is copy-pasted from there?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363203</commentid>
    <comment_count>14</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-03-06 20:35:04 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 82714 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=82714&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/KURLGoogle.cpp:136
&gt; &gt; +bool isValidProtocol(const String&amp; protocol)
&gt; 
&gt; This is missing a comment from the KURL.cpp version. May as well make the copy-paste exact. Also, can you put a comment explaining that this is copy-pasted from there?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363205</commentid>
    <comment_count>15</comment_count>
      <attachid>84917</attachid>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-03-06 20:39:41 -0800</bug_when>
    <thetext>Created attachment 84917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363210</commentid>
    <comment_count>16</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-03-06 20:51:48 -0800</bug_when>
    <thetext>dave_levin have been working to remove duplicated code in KURL.cpp and KURLGoogle.cpp.  I noticed this comment:

+ // NOTE This is a copy of the function in KURL.cpp.

Maybe we can move this function outside the ifdef so we don&apos;t have to copy/paste it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363229</commentid>
    <comment_count>17</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-06 22:24:24 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; dave_levin have been working to remove duplicated code in KURL.cpp and KURLGoogle.cpp.  I noticed this comment:
&gt; 
&gt; + // NOTE This is a copy of the function in KURL.cpp.
&gt; 
&gt; Maybe we can move this function outside the ifdef so we don&apos;t have to copy/paste it?

Yes, please do (see the bottom of KURL.cpp). (It seems silly to duplicate code between these two files for things that are identical so I got rid of some. Let&apos;s not add more.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363230</commentid>
    <comment_count>18</comment_count>
      <attachid>84917</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-06 22:24:48 -0800</bug_when>
    <thetext>Comment on attachment 84917
Patch

Per above comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363644</commentid>
    <comment_count>19</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-03-07 15:45:22 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; dave_levin have been working to remove duplicated code in KURL.cpp and KURLGoogle.cpp.  I noticed this comment:
&gt; &gt; 
&gt; &gt; + // NOTE This is a copy of the function in KURL.cpp.
&gt; &gt; 
&gt; &gt; Maybe we can move this function outside the ifdef so we don&apos;t have to copy/paste it?
&gt; 
&gt; Yes, please do (see the bottom of KURL.cpp). (It seems silly to duplicate code between these two files for things that are identical so I got rid of some. Let&apos;s not add more.)

Right, of course. Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363645</commentid>
    <comment_count>20</comment_count>
      <attachid>84991</attachid>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-03-07 15:46:40 -0800</bug_when>
    <thetext>Created attachment 84991
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363655</commentid>
    <comment_count>21</comment_count>
      <attachid>84991</attachid>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-03-07 15:52:23 -0800</bug_when>
    <thetext>Comment on attachment 84991
Patch

Compile errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363663</commentid>
    <comment_count>22</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-03-07 15:59:54 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 84991 [details])
&gt; Compile errors.

Hm. This is made a bit more complicated by the fact that the duplicated versions are identical in code, but because they are in different files they get linked with different static inline methods (see isSchemeChar() and isSchemeFirstChar() in KURL.cpp and KURLGoogle.cpp).

What would be the best way to move forward here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363672</commentid>
    <comment_count>23</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-07 16:19:28 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #21)
&gt; &gt; (From update of attachment 84991 [details] [details])
&gt; &gt; Compile errors.
&gt; 
&gt; Hm. This is made a bit more complicated by the fact that the duplicated versions are identical in code, but because they are in different files they get linked with different static inline methods (see isSchemeChar() and isSchemeFirstChar() in KURL.cpp and KURLGoogle.cpp).
&gt; 
&gt; What would be the best way to move forward here?

If needed, you can do separate (duplicate) methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363678</commentid>
    <comment_count>24</comment_count>
    <who name="James Kozianski">koz</who>
    <bug_when>2011-03-07 16:38:47 -0800</bug_when>
    <thetext>&gt; If needed, you can do separate (duplicate) methods.

Okay, I&apos;ve revived the old patch as per our chat.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363703</commentid>
    <comment_count>25</comment_count>
      <attachid>84917</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-07 17:32:56 -0800</bug_when>
    <thetext>Comment on attachment 84917
Patch

So sad but it seems we need to do this.  If you get a better idea, feel free to submit another patch.

Something to consider is moving those inline functions to KURL.h Anyway r+ on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363995</commentid>
    <comment_count>26</comment_count>
      <attachid>84917</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-08 09:41:30 -0800</bug_when>
    <thetext>Comment on attachment 84917
Patch

Clearing flags on attachment: 84917

Committed r80566: &lt;http://trac.webkit.org/changeset/80566&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363996</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-08 09:41:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82710</attachid>
            <date>2011-02-16 15:27:22 -0800</date>
            <delta_ts>2011-02-16 15:44:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54594-20110217102720.patch</filename>
            <type>text/plain</type>
            <size>3073</size>
            <attacher name="James Kozianski">koz</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg3MjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZjRlYjk1YmFjMTNmYzc1
ZGEyNjg3YjdkMjc1ZmZhMjhhNTRiYjdiLi44OTNmYzcyYzU0ODc4MmQ3OWYyYTBiMWYzNjQwNTc4
YTc2YTRiMjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDItMTYgIEphbWVz
IEtvemlhbnNraSAgPGtvekBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3NlIGlzVmFsaWRQcm90b2NvbCgpIGluIEtVUkwu
aC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NTk0
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9LVVJMLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9LVVJM
Lmg6CisgICAgICAgICogcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojppc1ZhbGlkUHJvdG9jb2wpOgorCiAyMDExLTAyLTE2ICBIYW5zIFdlbm5ib3JnICA8aGFuc0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9LVVJMLmNwcAppbmRleCBmNmE2NmVmOTdkMzQ5ZGJmMjE1NGRhNjJkZTJlZGVmOTZm
OTNkZDQ0Li44OTFhYjVkOWQ5MmFjZTE1MDljOTA2OTljZDgwMWRlNjk1MmQwNDZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9LVVJMLmNwcApAQCAtMjIxLDcgKzIyMSw2IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBpbnZhbGlkUG9ydE51bWJlciA9IDB4RkZGRjsKIHN0YXRpYyBpbnQgY29weVBhdGhSZW1v
dmluZ0RvdHMoY2hhciogZHN0LCBjb25zdCBjaGFyKiBzcmMsIGludCBzcmNTdGFydCwgaW50IHNy
Y0VuZCk7CiBzdGF0aWMgdm9pZCBlbmNvZGVSZWxhdGl2ZVN0cmluZyhjb25zdCBTdHJpbmcmIHJl
bCwgY29uc3QgVGV4dEVuY29kaW5nJiwgQ2hhckJ1ZmZlciYgb3VwdXQpOwogc3RhdGljIFN0cmlu
ZyBzdWJzdGl0dXRlQmFja3NsYXNoZXMoY29uc3QgU3RyaW5nJik7Ci1zdGF0aWMgYm9vbCBpc1Zh
bGlkUHJvdG9jb2woY29uc3QgU3RyaW5nJik7CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NjaGVt
ZUZpcnN0Q2hhcihjaGFyIGMpIHsgcmV0dXJuIGNoYXJhY3RlckNsYXNzVGFibGVbc3RhdGljX2Nh
c3Q8dW5zaWduZWQgY2hhcj4oYyldICYgU2NoZW1lRmlyc3RDaGFyOyB9CiBzdGF0aWMgaW5saW5l
IGJvb2wgaXNTY2hlbWVGaXJzdENoYXIoVUNoYXIgYykgeyByZXR1cm4gYyA8PSAweGZmICYmIChj
aGFyYWN0ZXJDbGFzc1RhYmxlW2NdICYgU2NoZW1lRmlyc3RDaGFyKTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
S1VSTC5oCmluZGV4IDUyMWU3Y2EzYjg5NWJhMWM0YTA0ODEwOTg5NGZlY2JmYTQxMjE2NzAuLjAx
Mzk1MmNlYmNkMjZmOTAxMmFmNDNkZTgzYjYwODVhNjFjNzRhNWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9L
VVJMLmgKQEAgLTI3Nyw2ICsyNzcsOCBAQCBib29sIHByb3RvY29sSXNKYXZhU2NyaXB0KGNvbnN0
IFN0cmluZyYgdXJsKTsKIGJvb2wgaXNEZWZhdWx0UG9ydEZvclByb3RvY29sKHVuc2lnbmVkIHNo
b3J0IHBvcnQsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpOwogYm9vbCBwb3J0QWxsb3dlZChjb25z
dCBLVVJMJik7IC8vIEJsYWNrbGlzdCBwb3J0cyB0aGF0IHNob3VsZCBuZXZlciBiZSB1c2VkIGZv
ciBXZWIgcmVzb3VyY2VzLgogCitib29sIGlzVmFsaWRQcm90b2NvbChjb25zdCBTdHJpbmcmKTsK
KwogU3RyaW5nIG1pbWVUeXBlRnJvbURhdGFVUkwoY29uc3QgU3RyaW5nJiB1cmwpOwogCiAvLyBV
bmVzY2FwZXMgdGhlIGdpdmVuIHN0cmluZyB1c2luZyBVUkwgZXNjYXBpbmcgcnVsZXMsIGdpdmVu
IGFuIG9wdGlvbmFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMR29v
Z2xlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkxHb29nbGUuY3BwCmluZGV4IDA2
OTdiMzMxMThmN2MyNzQzNDYxMDY4MDAyYzlmYzdmZmNlYmZlNzIuLmUxMDljMWI1MzUwODQ0YmUw
MGJjZTI3NDk3OWVjOTczOTI1MGI5NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0tVUkxHb29nbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkxHb29n
bGUuY3BwCkBAIC0xMzMsNiArMTMzLDIwIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NjaGVtZUNo
YXIoY2hhciBjKQogICAgIHJldHVybiBpc1NjaGVtZUZpcnN0Q2hhcihjKSB8fCAoYyA+PSAnMCcg
JiYgYyA8PSAnOScpIHx8IGMgPT0gJy4nIHx8IGMgPT0gJy0nIHx8IGMgPT0gJyonOwogfQogCiti
b29sIGlzVmFsaWRQcm90b2NvbChjb25zdCBTdHJpbmcmIHByb3RvY29sKQoreworICAgIGlmIChw
cm90b2NvbC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWlzU2No
ZW1lRmlyc3RDaGFyKHByb3RvY29sWzBdKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHVu
c2lnbmVkIHByb3RvY29sTGVuZ3RoID0gcHJvdG9jb2wubGVuZ3RoKCk7CisgICAgZm9yICh1bnNp
Z25lZCBpID0gMTsgaSA8IHByb3RvY29sTGVuZ3RoOyBpKyspIHsKKyAgICAgICAgaWYgKCFpc1Nj
aGVtZUNoYXIocHJvdG9jb2xbaV0pKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KyAgICByZXR1cm4gdHJ1ZTsKK30KKwogCiAvLyBLVVJMR29vZ2xlUHJpdmF0ZSAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82714</attachid>
            <date>2011-02-16 15:44:44 -0800</date>
            <delta_ts>2011-03-06 20:39:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54594-20110217104442.patch</filename>
            <type>text/plain</type>
            <size>3184</size>
            <attacher name="James Kozianski">koz</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg3MjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZjRlYjk1YmFjMTNmYzc1
ZGEyNjg3YjdkMjc1ZmZhMjhhNTRiYjdiLi5hYWJhZmUyNjk4Y2NhYjBlN2U0YWU1NmE3ZDk3ZTA3
ZjYwNjUxOWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDItMTYgIEphbWVz
IEtvemlhbnNraSAgPGtvekBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3NlIGlzVmFsaWRQcm90b2NvbCgpIGluIEtVUkwu
aC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NTk0
CisKKyAgICAgICAgVGhpcyBpcyBuZWVkZWQgdG8gdmFsaWRhdGUgcHJvdG9jb2xzIHVzZWQgaW4g
Y2FsbHMgdG8KKyAgICAgICAgbmF2aWdhdG9yLnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9LVVJMLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9LVVJMLmg6
CisgICAgICAgICogcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpp
c1ZhbGlkUHJvdG9jb2wpOgorCiAyMDExLTAyLTE2ICBIYW5zIFdlbm5ib3JnICA8aGFuc0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9LVVJMLmNwcAppbmRleCBmNmE2NmVmOTdkMzQ5ZGJmMjE1NGRhNjJkZTJlZGVmOTZmOTNk
ZDQ0Li44OTFhYjVkOWQ5MmFjZTE1MDljOTA2OTljZDgwMWRlNjk1MmQwNDZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9LVVJMLmNwcApAQCAtMjIxLDcgKzIyMSw2IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBpbnZhbGlkUG9ydE51bWJlciA9IDB4RkZGRjsKIHN0YXRpYyBpbnQgY29weVBhdGhSZW1vdmlu
Z0RvdHMoY2hhciogZHN0LCBjb25zdCBjaGFyKiBzcmMsIGludCBzcmNTdGFydCwgaW50IHNyY0Vu
ZCk7CiBzdGF0aWMgdm9pZCBlbmNvZGVSZWxhdGl2ZVN0cmluZyhjb25zdCBTdHJpbmcmIHJlbCwg
Y29uc3QgVGV4dEVuY29kaW5nJiwgQ2hhckJ1ZmZlciYgb3VwdXQpOwogc3RhdGljIFN0cmluZyBz
dWJzdGl0dXRlQmFja3NsYXNoZXMoY29uc3QgU3RyaW5nJik7Ci1zdGF0aWMgYm9vbCBpc1ZhbGlk
UHJvdG9jb2woY29uc3QgU3RyaW5nJik7CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NjaGVtZUZp
cnN0Q2hhcihjaGFyIGMpIHsgcmV0dXJuIGNoYXJhY3RlckNsYXNzVGFibGVbc3RhdGljX2Nhc3Q8
dW5zaWduZWQgY2hhcj4oYyldICYgU2NoZW1lRmlyc3RDaGFyOyB9CiBzdGF0aWMgaW5saW5lIGJv
b2wgaXNTY2hlbWVGaXJzdENoYXIoVUNoYXIgYykgeyByZXR1cm4gYyA8PSAweGZmICYmIChjaGFy
YWN0ZXJDbGFzc1RhYmxlW2NdICYgU2NoZW1lRmlyc3RDaGFyKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VS
TC5oCmluZGV4IDUyMWU3Y2EzYjg5NWJhMWM0YTA0ODEwOTg5NGZlY2JmYTQxMjE2NzAuLjAxMzk1
MmNlYmNkMjZmOTAxMmFmNDNkZTgzYjYwODVhNjFjNzRhNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0tVUkwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJM
LmgKQEAgLTI3Nyw2ICsyNzcsOCBAQCBib29sIHByb3RvY29sSXNKYXZhU2NyaXB0KGNvbnN0IFN0
cmluZyYgdXJsKTsKIGJvb2wgaXNEZWZhdWx0UG9ydEZvclByb3RvY29sKHVuc2lnbmVkIHNob3J0
IHBvcnQsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpOwogYm9vbCBwb3J0QWxsb3dlZChjb25zdCBL
VVJMJik7IC8vIEJsYWNrbGlzdCBwb3J0cyB0aGF0IHNob3VsZCBuZXZlciBiZSB1c2VkIGZvciBX
ZWIgcmVzb3VyY2VzLgogCitib29sIGlzVmFsaWRQcm90b2NvbChjb25zdCBTdHJpbmcmKTsKKwog
U3RyaW5nIG1pbWVUeXBlRnJvbURhdGFVUkwoY29uc3QgU3RyaW5nJiB1cmwpOwogCiAvLyBVbmVz
Y2FwZXMgdGhlIGdpdmVuIHN0cmluZyB1c2luZyBVUkwgZXNjYXBpbmcgcnVsZXMsIGdpdmVuIGFu
IG9wdGlvbmFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMR29vZ2xl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkxHb29nbGUuY3BwCmluZGV4IDA2OTdi
MzMxMThmN2MyNzQzNDYxMDY4MDAyYzlmYzdmZmNlYmZlNzIuLmUxMDljMWI1MzUwODQ0YmUwMGJj
ZTI3NDk3OWVjOTczOTI1MGI5NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0tVUkxHb29nbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkxHb29nbGUu
Y3BwCkBAIC0xMzMsNiArMTMzLDIwIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1NjaGVtZUNoYXIo
Y2hhciBjKQogICAgIHJldHVybiBpc1NjaGVtZUZpcnN0Q2hhcihjKSB8fCAoYyA+PSAnMCcgJiYg
YyA8PSAnOScpIHx8IGMgPT0gJy4nIHx8IGMgPT0gJy0nIHx8IGMgPT0gJyonOwogfQogCitib29s
IGlzVmFsaWRQcm90b2NvbChjb25zdCBTdHJpbmcmIHByb3RvY29sKQoreworICAgIGlmIChwcm90
b2NvbC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWlzU2NoZW1l
Rmlyc3RDaGFyKHByb3RvY29sWzBdKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHVuc2ln
bmVkIHByb3RvY29sTGVuZ3RoID0gcHJvdG9jb2wubGVuZ3RoKCk7CisgICAgZm9yICh1bnNpZ25l
ZCBpID0gMTsgaSA8IHByb3RvY29sTGVuZ3RoOyBpKyspIHsKKyAgICAgICAgaWYgKCFpc1NjaGVt
ZUNoYXIocHJvdG9jb2xbaV0pKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKwogCiAvLyBLVVJMR29vZ2xlUHJpdmF0ZSAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84917</attachid>
            <date>2011-03-06 20:39:41 -0800</date>
            <delta_ts>2011-03-08 09:41:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54594-20110307153939.patch</filename>
            <type>text/plain</type>
            <size>3312</size>
            <attacher name="James Kozianski">koz</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAzNzAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3ODVjN2VmZTU0YjVlZjkz
Nzk5NWZhNzdiOTNkOThhYzdiMzg1ZDU0Li44ZDJlMTk4OGE5N2FiODFmYzJiYTQwNTRmMTFmYmVk
ZWY3NWVhZmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDMtMDYgIEphbWVz
IEtvemlhbnNraSAgPGtvekBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3NlIGlzVmFsaWRQcm90b2NvbCgpIGluIEtVUkwu
aC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NTk0
CisKKyAgICAgICAgVGhpcyBpcyBuZWVkZWQgdG8gdmFsaWRhdGUgcHJvdG9jb2xzIHVzZWQgaW4g
Y2FsbHMgdG8KKyAgICAgICAgbmF2aWdhdG9yLnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9LVVJMLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9LVVJMLmg6
CisgICAgICAgICogcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpp
c1ZhbGlkUHJvdG9jb2wpOgorCiAyMDExLTAzLTA0ICBKZXNzaWUgQmVybGluICA8amJlcmxpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0tVUkwuY3BwCmluZGV4IDAwMzJmMDliZWFjNmZhMzliZGE4MzdiNWMwN2M0MmU2
MjhjNjAwMGEuLjRkOGUxOTBhYzc1MjZkZTIwYWRjOWI5Mzk3ZDQ5M2NiZGYzNTQ2ODIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0tVUkwuY3BwCkBAIC0yMjEsNyArMjIxLDYgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgY2hhcmFjdGVyQ2xhc3NUYWJsZVsyNTZdID0gewogc3RhdGljIGludCBjb3B5
UGF0aFJlbW92aW5nRG90cyhjaGFyKiBkc3QsIGNvbnN0IGNoYXIqIHNyYywgaW50IHNyY1N0YXJ0
LCBpbnQgc3JjRW5kKTsKIHN0YXRpYyB2b2lkIGVuY29kZVJlbGF0aXZlU3RyaW5nKGNvbnN0IFN0
cmluZyYgcmVsLCBjb25zdCBUZXh0RW5jb2RpbmcmLCBDaGFyQnVmZmVyJiBvdXB1dCk7CiBzdGF0
aWMgU3RyaW5nIHN1YnN0aXR1dGVCYWNrc2xhc2hlcyhjb25zdCBTdHJpbmcmKTsKLXN0YXRpYyBi
b29sIGlzVmFsaWRQcm90b2NvbChjb25zdCBTdHJpbmcmKTsKIAogc3RhdGljIGlubGluZSBib29s
IGlzU2NoZW1lRmlyc3RDaGFyKGNoYXIgYykgeyByZXR1cm4gY2hhcmFjdGVyQ2xhc3NUYWJsZVtz
dGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihjKV0gJiBTY2hlbWVGaXJzdENoYXI7IH0KIHN0YXRp
YyBpbmxpbmUgYm9vbCBpc1NjaGVtZUZpcnN0Q2hhcihVQ2hhciBjKSB7IHJldHVybiBjIDw9IDB4
ZmYgJiYgKGNoYXJhY3RlckNsYXNzVGFibGVbY10gJiBTY2hlbWVGaXJzdENoYXIpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9LVVJMLmgKaW5kZXggYmU3MjgyNDk3YzRlYzRhZTY5MGU5YzU4MjcwYmE4ZGIwN2Jk
MzdlYS4uNTc2NDQ5NDZiN2U0NGM0MjI5MmIxMzU4NDU2MTU5NTU1OWFlMzRhMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0tVUkwuaApAQCAtMjc5LDYgKzI3OSw4IEBAIGJvb2wgcHJvdG9jb2xJc0phdmFTY3Jp
cHQoY29uc3QgU3RyaW5nJiB1cmwpOwogYm9vbCBpc0RlZmF1bHRQb3J0Rm9yUHJvdG9jb2wodW5z
aWduZWQgc2hvcnQgcG9ydCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiBib29sIHBvcnRBbGxv
d2VkKGNvbnN0IEtVUkwmKTsgLy8gQmxhY2tsaXN0IHBvcnRzIHRoYXQgc2hvdWxkIG5ldmVyIGJl
IHVzZWQgZm9yIFdlYiByZXNvdXJjZXMuCiAKK2Jvb2wgaXNWYWxpZFByb3RvY29sKGNvbnN0IFN0
cmluZyYpOworCiBTdHJpbmcgbWltZVR5cGVGcm9tRGF0YVVSTChjb25zdCBTdHJpbmcmIHVybCk7
CiAKIC8vIFVuZXNjYXBlcyB0aGUgZ2l2ZW4gc3RyaW5nIHVzaW5nIFVSTCBlc2NhcGluZyBydWxl
cywgZ2l2ZW4gYW4gb3B0aW9uYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0tVUkxHb29nbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAK
aW5kZXggMjMxYzQzZDJmYWIzZWFkNWEzMzlkZTBjM2JjOTc2ZTBmNGQyNDgwYi4uODgxMjBhODU4
ZjdkNGFlNjdlNjdjOTQ3ODgzZDE3YTI1NzYxYzUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
S1VSTEdvb2dsZS5jcHAKQEAgLTEzMyw2ICsxMzMsMjIgQEAgc3RhdGljIGlubGluZSBib29sIGlz
U2NoZW1lQ2hhcihjaGFyIGMpCiAgICAgcmV0dXJuIGlzU2NoZW1lRmlyc3RDaGFyKGMpIHx8IChj
ID49ICcwJyAmJiBjIDw9ICc5JykgfHwgYyA9PSAnLicgfHwgYyA9PSAnLScgfHwgYyA9PSAnKic7
CiB9CiAKK2Jvb2wgaXNWYWxpZFByb3RvY29sKGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpCit7Cisg
ICAgLy8gTk9URSBUaGlzIGlzIGEgY29weSBvZiB0aGUgZnVuY3Rpb24gaW4gS1VSTC5jcHAuCisg
ICAgLy8gUkZDMzk4NjogQUxQSEEgKiggQUxQSEEgLyBESUdJVCAvICIrIiAvICItIiAvICIuIiAp
CisgICAgaWYgKHByb3RvY29sLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IGlmICghaXNTY2hlbWVGaXJzdENoYXIocHJvdG9jb2xbMF0pKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgdW5zaWduZWQgcHJvdG9jb2xMZW5ndGggPSBwcm90b2NvbC5sZW5ndGgoKTsKKyAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgcHJvdG9jb2xMZW5ndGg7IGkrKykgeworICAgICAg
ICBpZiAoIWlzU2NoZW1lQ2hhcihwcm90b2NvbFtpXSkpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCiAKIC8vIEtVUkxHb29nbGVQcml2YXRl
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84991</attachid>
            <date>2011-03-07 15:46:40 -0800</date>
            <delta_ts>2011-03-07 16:29:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54594-20110308104638.patch</filename>
            <type>text/plain</type>
            <size>2930</size>
            <attacher name="James Kozianski">koz</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA0OTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1OTEyYjgxNTFjNWUxYjQ1
MGUxNjdhMDk5OGYxZmQ3MDQ4NWRhNmVmLi4wZjA0MmYwOTQ4ZjQ1MjI1ZDY1MDE1ZGJjMTA1ODk0
MTVkMjBhMjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDMtMDcgIEphbWVz
IEtvemlhbnNraSAgPGtvekBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3NlIGlzVmFsaWRQcm90b2NvbCgpIGluIEtVUkwu
aC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0NTk0
CisKKyAgICAgICAgVGhpcyBpcyBuZWVkZWQgdG8gdmFsaWRhdGUgcHJvdG9jb2xzIHVzZWQgaW4g
Y2FsbHMgdG8KKyAgICAgICAgbmF2aWdhdG9yLnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9LVVJMLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9LVVJMLmg6
CisgICAgICAgICogcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpp
c1ZhbGlkUHJvdG9jb2wpOgorCiAyMDExLTAzLTA3ICBUYWtheW9zaGkgS29jaGkgIDxrb2NoaUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vS1VSTC5jcHAKaW5kZXggMDAzMmYwOWJlYWM2ZmEzOWJkYTgzN2I1YzA3YzQyZTYyOGM2
MDAwYS4uOTgwZWZiNjU1ODg3MmQ2YWFjODRiNjNhNjUzMzg3NmIwMWVjNDEyNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vS1VSTC5jcHAKQEAgLTIyMSw3ICsyMjEsNiBAQCBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBjaGFyYWN0ZXJDbGFzc1RhYmxlWzI1Nl0gPSB7CiBzdGF0aWMgaW50IGNvcHlQYXRo
UmVtb3ZpbmdEb3RzKGNoYXIqIGRzdCwgY29uc3QgY2hhciogc3JjLCBpbnQgc3JjU3RhcnQsIGlu
dCBzcmNFbmQpOwogc3RhdGljIHZvaWQgZW5jb2RlUmVsYXRpdmVTdHJpbmcoY29uc3QgU3RyaW5n
JiByZWwsIGNvbnN0IFRleHRFbmNvZGluZyYsIENoYXJCdWZmZXImIG91cHV0KTsKIHN0YXRpYyBT
dHJpbmcgc3Vic3RpdHV0ZUJhY2tzbGFzaGVzKGNvbnN0IFN0cmluZyYpOwotc3RhdGljIGJvb2wg
aXNWYWxpZFByb3RvY29sKGNvbnN0IFN0cmluZyYpOwogCiBzdGF0aWMgaW5saW5lIGJvb2wgaXNT
Y2hlbWVGaXJzdENoYXIoY2hhciBjKSB7IHJldHVybiBjaGFyYWN0ZXJDbGFzc1RhYmxlW3N0YXRp
Y19jYXN0PHVuc2lnbmVkIGNoYXI+KGMpXSAmIFNjaGVtZUZpcnN0Q2hhcjsgfQogc3RhdGljIGlu
bGluZSBib29sIGlzU2NoZW1lRmlyc3RDaGFyKFVDaGFyIGMpIHsgcmV0dXJuIGMgPD0gMHhmZiAm
JiAoY2hhcmFjdGVyQ2xhc3NUYWJsZVtjXSAmIFNjaGVtZUZpcnN0Q2hhcik7IH0KQEAgLTE3NDUs
NiArMTc0NCwxNSBAQCBib29sIHByb3RvY29sSXMoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IGNo
YXIqIHByb3RvY29sKQogICAgIH0KIH0KIAorI2lmbmRlZiBOREVCVUcKK3ZvaWQgS1VSTDo6cHJp
bnQoKSBjb25zdAoreworICAgIHByaW50ZigiJXNcbiIsIG1fc3RyaW5nLnV0ZjgoKS5kYXRhKCkp
OworfQorI2VuZGlmCisKKyNlbmRpZiAvLyAhVVNFKEdPT0dMRVVSTCkKKwogYm9vbCBpc1ZhbGlk
UHJvdG9jb2woY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKIHsKICAgICAvLyBSRkMzOTg2OiBBTFBI
QSAqKCBBTFBIQSAvIERJR0lUIC8gIisiIC8gIi0iIC8gIi4iICkKQEAgLTE3NjAsMTUgKzE3Njgs
NiBAQCBib29sIGlzVmFsaWRQcm90b2NvbChjb25zdCBTdHJpbmcmIHByb3RvY29sKQogICAgIHJl
dHVybiB0cnVlOwogfQogCi0jaWZuZGVmIE5ERUJVRwotdm9pZCBLVVJMOjpwcmludCgpIGNvbnN0
Ci17Ci0gICAgcHJpbnRmKCIlc1xuIiwgbV9zdHJpbmcudXRmOCgpLmRhdGEoKSk7Ci19Ci0jZW5k
aWYKLQotI2VuZGlmIC8vICFVU0UoR09PR0xFVVJMKQotCiBTdHJpbmcgS1VSTDo6c3RyaXBwZWRG
b3JVc2VBc1JlZmVycmVyKCkgY29uc3QKIHsKICAgICBLVVJMIHJlZmVycmVyKCp0aGlzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0tVUkwuaAppbmRleCBiZTcyODI0OTdjNGVjNGFlNjkwZTljNTgyNzBiYThkYjA3
YmQzN2VhLi41NzY0NDk0NmI3ZTQ0YzQyMjkyYjEzNTg0NTYxNTk1NTU5YWUzNGEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vS1VSTC5oCkBAIC0yNzksNiArMjc5LDggQEAgYm9vbCBwcm90b2NvbElzSmF2YVNj
cmlwdChjb25zdCBTdHJpbmcmIHVybCk7CiBib29sIGlzRGVmYXVsdFBvcnRGb3JQcm90b2NvbCh1
bnNpZ25lZCBzaG9ydCBwb3J0LCBjb25zdCBTdHJpbmcmIHByb3RvY29sKTsKIGJvb2wgcG9ydEFs
bG93ZWQoY29uc3QgS1VSTCYpOyAvLyBCbGFja2xpc3QgcG9ydHMgdGhhdCBzaG91bGQgbmV2ZXIg
YmUgdXNlZCBmb3IgV2ViIHJlc291cmNlcy4KIAorYm9vbCBpc1ZhbGlkUHJvdG9jb2woY29uc3Qg
U3RyaW5nJik7CisKIFN0cmluZyBtaW1lVHlwZUZyb21EYXRhVVJMKGNvbnN0IFN0cmluZyYgdXJs
KTsKIAogLy8gVW5lc2NhcGVzIHRoZSBnaXZlbiBzdHJpbmcgdXNpbmcgVVJMIGVzY2FwaW5nIHJ1
bGVzLCBnaXZlbiBhbiBvcHRpb25hbAo=
</data>
<flag name="review"
          id="77052"
          type_id="1"
          status="-"
          setter="koz"
    />
          </attachment>
      

    </bug>

</bugzilla>