<?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>11824</bug_id>
          
          <creation_ts>2006-12-13 19:00:12 -0800</creation_ts>
          <short_desc>CSSStyleSheet.title property is always null</short_desc>
          <delta_ts>2006-12-15 12:09:53 -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>DOM</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Johnvey Hwang">johnvey</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mitz</cc>
    
    <cc>rwlbuis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>42235</commentid>
    <comment_count>0</comment_count>
    <who name="Johnvey Hwang">johnvey</who>
    <bug_when>2006-12-13 19:00:12 -0800</bug_when>
    <thetext>Trying to access the CSSStyleSheet.title property always returns null

If the following is inserted into the &lt;head&gt;:

&lt;link media=&quot;all&quot; href=&quot;/static345/css/skins/basic.css&quot; rel=&quot;stylesheet&quot; title=&quot;basic&quot;&gt;

Then a subsequent access of:

document.styleSheets[0].title

returns null.  It should return &quot;basic&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42188</commentid>
    <comment_count>1</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-14 08:23:47 -0800</bug_when>
    <thetext>I have a patch for this, will post tonight.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42171</commentid>
    <comment_count>2</comment_count>
      <attachid>11840</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-14 12:04:54 -0800</bug_when>
    <thetext>Created attachment 11840
First attempt

This patch implements setting of the title when the sheet is created, for HTML elements &lt;style&gt; and &lt;link&gt;, and so fixes the bug. Also contains a testcase that tests both element&apos;s titles.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42167</commentid>
    <comment_count>3</comment_count>
      <attachid>11840</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-12-14 12:12:56 -0800</bug_when>
    <thetext>Comment on attachment 11840
First attempt

-    void childrenChanged(Node*);
+    void childrenChanged(Node*, const String&amp; = String());

This is not a good change. Even though the declaration does not say so, this is an override of the childrenChanged function from Node.

By changing the parameters this no longer overrides the Node function, so callers that call the virtual function on Node won&apos;t call this function any more. I think this subtle semantic change probably creates bugs.

To make this clearer, the virtual keyword should be added to these functions in StyleElement.h. And we need to rethink how to do this -- I think it should be a separate function rather than a new parameter to childrenChanged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42109</commentid>
    <comment_count>4</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-14 12:46:01 -0800</bug_when>
    <thetext>Hi Darin,

(In reply to comment #3)
&gt; (From update of attachment 11840 [edit])
&gt; -    void childrenChanged(Node*);
&gt; +    void childrenChanged(Node*, const String&amp; = String());
&gt; 
&gt; This is not a good change. Even though the declaration does not say so, this is
&gt; an override of the childrenChanged function from Node.
&gt; 
&gt; By changing the parameters this no longer overrides the Node function, so
&gt; callers that call the virtual function on Node won&apos;t call this function any
&gt; more. I think this subtle semantic change probably creates bugs.
&gt; 
&gt; To make this clearer, the virtual keyword should be added to these functions in
&gt; StyleElement.h. And we need to rethink how to do this -- I think it should be a
&gt; separate function rather than a new parameter to childrenChanged.

You are right, I was already worried when writing it that way but did not really have time to do better. Now I have and I&apos;ll apply a better patch (IMHO) soon.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42110</commentid>
    <comment_count>5</comment_count>
      <attachid>11842</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-14 12:48:35 -0800</bug_when>
    <thetext>Created attachment 11842
Improved patch

I think this is a bit cleaner than the previous patch.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42114</commentid>
    <comment_count>6</comment_count>
      <attachid>11842</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-12-14 13:27:54 -0800</bug_when>
    <thetext>Comment on attachment 11842
Improved patch

+                m_sheet-&gt;setTitle(static_cast&lt;HTMLElement*&gt;(e)-&gt;title());

title() is just a convenience to get the title attribute. It can be moved to Element if we want to avoid the type cast. Or we can call getAttribute(titleAttr) here. I suggest not limiting this to HTML elements, unless there&apos;s a reason to. I&apos;d like the titles to work for SVG style elements too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42117</commentid>
    <comment_count>7</comment_count>
      <attachid>11845</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-14 13:59:36 -0800</bug_when>
    <thetext>Created attachment 11845
Improved testcase + patch

I tried to implement Darin&apos;ssuggestions. Also Mitz had a good new testcase scenario where title attr is set dynamically from js. So the testcase is updated and works just like FF.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42118</commentid>
    <comment_count>8</comment_count>
      <attachid>11845</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-12-14 14:04:19 -0800</bug_when>
    <thetext>Comment on attachment 11845
Improved testcase + patch

-    void childrenChanged(Node*);
+    void childrenChanged(Element*);

This has the same overloading problem as the first patch; changing the type of the parameter prevents it from properly overriding the function in the base class.

The rest looks basically good. But what about SVG style elements?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42119</commentid>
    <comment_count>9</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-14 14:30:24 -0800</bug_when>
    <thetext>Hi Darin,

(In reply to comment #8)
&gt; (From update of attachment 11845 [edit])
&gt; -    void childrenChanged(Node*);
&gt; +    void childrenChanged(Element*);
&gt; 
&gt; This has the same overloading problem as the first patch; changing the type of
&gt; the parameter prevents it from properly overriding the function in the base
&gt; class.

Mitz and myself do not get what you mean here. childrenChanged(Element*) is not virtual, so I don&apos;t see  how overriding is involved. I think there is enough difference between the two functions for the compiler to distinguish them. I can see the name may be confusing, would it help if we name it process() for example? If you feel the problem is still there, can you explain it one more time?
 
&gt; The rest looks basically good. But what about SVG style elements?

I&apos;ll add a test in the morning for svg style elements. Will likely be a separate svg test in svg/custom.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41946</commentid>
    <comment_count>10</comment_count>
      <attachid>11856</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-15 03:11:29 -0800</bug_when>
    <thetext>Created attachment 11856
Now with svg test

I added a svg test. Also I reverted sharing setStyle since it works differently for html and svg. For html it can be written, but svg should throw an exception, so it has a different function signature
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41914</commentid>
    <comment_count>11</comment_count>
      <attachid>11856</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-12-15 08:06:19 -0800</bug_when>
    <thetext>Comment on attachment 11856
Now with svg test

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41871</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-12-15 12:09:53 -0800</bug_when>
    <thetext>Committed by Rob as r18233.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11840</attachid>
            <date>2006-12-14 12:04:54 -0800</date>
            <delta_ts>2006-12-14 12:48:35 -0800</delta_ts>
            <desc>First attempt</desc>
            <filename>11824.diff</filename>
            <type>text/plain</type>
            <size>5664</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4MjE2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMTItMTQgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE4MjQKKyAgICAgICAgQ1NTU3R5bGVTaGVldC50aXRsZSBwcm9wZXJ0eSBpcyBhbHdh
eXMgbnVsbAorCisgICAgICAgICogZmFzdC9jc3Mvc2hlZXQtdGl0bGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9zaGVldC10aXRsZS5odG1sOiBBZGRlZC4KKwogMjAw
Ni0xMi0xNCAgUm9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
T2xpdmVyLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2hlZXQtdGl0bGUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3NoZWV0LXRpdGxlLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3NoZWV0LXRpdGxl
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACitUZXN0IHNldHRpbmcg
b2YgdGhlIHRpdGxlIG9mIHN0eWxlc2hlZXRzIGZvciBib3RoIDxsaW5rPiBhbmQgPHN0eWxlPiBl
bGVtZW50cy4gU2VlIGJ1ZyAjMTE4MjQuCisKK1NVQ0NFU1MKKwpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9jc3Mvc2hlZXQtdGl0bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zaGVldC10aXRsZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9j
c3Mvc2hlZXQtdGl0bGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMyBAQAorPGh0bWw+
Cis8aGVhZD4KKyAgICA8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0Jz4KKyAgICBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBp
ZiAoZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0udGl0bGUgPT0gImJhc2ljIiAmJgorICAgICAgICAg
ICAgZG9jdW1lbnQuc3R5bGVTaGVldHNbMV0udGl0bGUgPT0gImJhc2ljIikKKyAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnU1VDQ0VTUyc7
ICAgICAgICAgICAgCisgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxsaW5rIG1lZGlhPSJhbGwi
IGhyZWY9ImZvby5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdGl0bGU9ImJhc2ljIj4KKyAgICA8c3R5
bGUgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJiYXNpYyI+CisgICAgI2ZvbyB7CisgICAgICAgIGJh
Y2tncm91bmQtY29sb3I6ICM2NkNDRkY7CisgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0IHNldHRpbmcgb2YgdGhlIHRpdGxlIG9m
IHN0eWxlc2hlZXRzIGZvciBib3RoICZsdDtsaW5rJmd0OyBhbmQgJmx0O3N0eWxlJmd0OyBlbGVt
ZW50cy4gU2VlIGJ1ZyAjMTE4MjQuPC9wPgorPGRpdiBpZD0icmVzdWx0Ij5GQUlMVVJFPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgyMTYpCisrKyBXZWJDb3JlL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDA2LTEyLTE0ICBSb2IgQnVpcyAg
PGJ1aXNAa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgyNAorICAg
ICAgICBDU1NTdHlsZVNoZWV0LnRpdGxlIHByb3BlcnR5IGlzIGFsd2F5cyBudWxsCisKKyAgICAg
ICAgU2V0IHRpdGxlIG9uIHRoZSBzdHlsZXNoZWV0IGp1c3QgYWZ0ZXIgY3JlYXRpbmcgaXQsIGZv
ciB0aGUgSFRNTAorICAgICAgICBlbGVtZW50cyA8bGluaz4gYW5kIDxzdHlsZT4uCisKKyAgICAg
ICAgKiBjc3MvU3R5bGVTaGVldC5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVTaGVldDo6c2V0
VGl0bGUpOgorICAgICAgICAqIGRvbS9TdHlsZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAqIGRvbS9TdHlsZUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OnNldENTU1N0eWxlU2hlZXQpOgorICAgICAgICAqIGh0
bWwvSFRNTFN0eWxlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVt
ZW50OjpjaGlsZHJlbkNoYW5nZWQpOgorCiAyMDA2LTEyLTE0ICBBbGV4ZXkgUHJvc2t1cnlha292
ICA8YXBAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbi4KSW5kZXg6IFdl
YkNvcmUvY3NzL1N0eWxlU2hlZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9TdHlsZVNo
ZWV0LmgJKHJldmlzaW9uIDE4MjE2KQorKysgV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBAIHB1YmxpYzoKICAgICBTdHlsZVNoZWV0ICpwYXJl
bnRTdHlsZVNoZWV0KCkgY29uc3Q7CiAgICAgU3RyaW5nIGhyZWYoKSBjb25zdCB7IHJldHVybiBt
X3N0ckhyZWY7IH0KICAgICBTdHJpbmcgdGl0bGUoKSBjb25zdCB7IHJldHVybiBtX3N0clRpdGxl
OyB9CisgICAgdm9pZCBzZXRUaXRsZShjb25zdCBTdHJpbmcmIHMpIHsgbV9zdHJUaXRsZSA9IHM7
IH0KICAgICBNZWRpYUxpc3QqIG1lZGlhKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYS5nZXQoKTsg
fQogICAgIHZvaWQgc2V0TWVkaWEoTWVkaWFMaXN0Kik7CiAKSW5kZXg6IFdlYkNvcmUvZG9tL1N0
eWxlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vU3R5bGVFbGVtZW50LmNw
cAkocmV2aXNpb24gMTgyMTYpCisrKyBXZWJDb3JlL2RvbS9TdHlsZUVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIHZvaWQgU3R5bGVFbGVtZW50OjpyZW1vdmVkRnJv
bURvY3VtZW50KEQKICAgICAgICAgZG9jdW1lbnQtPnVwZGF0ZVN0eWxlU2VsZWN0b3IoKTsKIH0K
IAotdm9pZCBTdHlsZUVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChOb2RlKiBlKQordm9pZCBTdHls
ZUVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChOb2RlKiBlLCBjb25zdCBTdHJpbmcmIHRpdGxlKQog
ewogICAgIGlmICghZSkKICAgICAgICAgcmV0dXJuOwpAQCAtODIsNiArODIsNyBAQCB2b2lkIFN0
eWxlRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKE5vZGUqCiAgICAgICAgICAgICBtX3NoZWV0ID0g
bmV3IENTU1N0eWxlU2hlZXQoZSwgU3RyaW5nKCksIGRvY3VtZW50LT5pbnB1dEVuY29kaW5nKCkp
OwogICAgICAgICAgICAgbV9zaGVldC0+cGFyc2VTdHJpbmcodGV4dCwgIWRvY3VtZW50LT5pbkNv
bXBhdE1vZGUoKSk7CiAgICAgICAgICAgICBtX3NoZWV0LT5zZXRNZWRpYShtZWRpYUxpc3QuZ2V0
KCkpOworICAgICAgICAgICAgbV9zaGVldC0+c2V0VGl0bGUodGl0bGUpOwogICAgICAgICAgICAg
bV9sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgIH0KICAgICB9CkluZGV4OiBXZWJDb3JlL2RvbS9T
dHlsZUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9TdHlsZUVsZW1lbnQuaAko
cmV2aXNpb24gMTgyMTYpCisrKyBXZWJDb3JlL2RvbS9TdHlsZUVsZW1lbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtNDAsNyArNDAsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGluc2VydGVkSW50b0Rv
Y3VtZW50KERvY3VtZW50Kik7CiAgICAgdm9pZCByZW1vdmVkRnJvbURvY3VtZW50KERvY3VtZW50
Kik7Ci0gICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoTm9kZSopOworICAgIHZvaWQgY2hpbGRyZW5D
aGFuZ2VkKE5vZGUqLCBjb25zdCBTdHJpbmcmID0gU3RyaW5nKCkpOwogCiBwcm90ZWN0ZWQ6CiAg
ICAgUmVmUHRyPENTU1N0eWxlU2hlZXQ+IG1fc2hlZXQ7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRN
TExpbmtFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVt
ZW50LmNwcAkocmV2aXNpb24gMTgyMTYpCisrKyBXZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE1LDYgKzIxNSw3IEBAIHZvaWQgSFRNTExpbmtFbGVt
ZW50OjpzZXRDU1NTdHlsZVNoZWV0KGMKIHsKICAgICBtX3NoZWV0ID0gbmV3IENTU1N0eWxlU2hl
ZXQodGhpcywgdXJsLCBjaGFyc2V0KTsKICAgICBtX3NoZWV0LT5wYXJzZVN0cmluZyhzaGVldFN0
ciwgIWRvY3VtZW50KCktPmluQ29tcGF0TW9kZSgpKTsKKyAgICBtX3NoZWV0LT5zZXRUaXRsZSh0
aXRsZSgpKTsKIAogICAgIFJlZlB0cjxNZWRpYUxpc3Q+IG1lZGlhID0gbmV3IE1lZGlhTGlzdCgo
Q1NTU3R5bGVTaGVldCopMCwgbV9tZWRpYSwgdHJ1ZSk7CiAgICAgbV9zaGVldC0+c2V0TWVkaWEo
bWVkaWEuZ2V0KCkpOwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcAkocmV2aXNpb24g
MTgyMTYpCisrKyBXZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU5LDcgKzU5LDcgQEAgdm9pZCBIVE1MU3R5bGVFbGVtZW50OjpyZW1vdmVkRnJvbURv
Y3VtZQogCiB2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCgpCiB7Ci0gICAg
U3R5bGVFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQodGhpcyk7CisgICAgU3R5bGVFbGVtZW50Ojpj
aGlsZHJlbkNoYW5nZWQodGhpcywgdGl0bGUoKSk7CiB9CiAKIGJvb2wgSFRNTFN0eWxlRWxlbWVu
dDo6aXNMb2FkaW5nKCkgY29uc3QK
</data>
<flag name="review"
          id="4309"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11842</attachid>
            <date>2006-12-14 12:48:35 -0800</date>
            <delta_ts>2006-12-14 13:59:36 -0800</delta_ts>
            <desc>Improved patch</desc>
            <filename>11824-2.diff</filename>
            <type>text/plain</type>
            <size>4745</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4MjE2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMTItMTQgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE4MjQKKyAgICAgICAgQ1NTU3R5bGVTaGVldC50aXRsZSBwcm9wZXJ0eSBpcyBhbHdh
eXMgbnVsbAorCisgICAgICAgICogZmFzdC9jc3Mvc2hlZXQtdGl0bGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9zaGVldC10aXRsZS5odG1sOiBBZGRlZC4KKwogMjAw
Ni0xMi0xNCAgUm9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
T2xpdmVyLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2hlZXQtdGl0bGUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3NoZWV0LXRpdGxlLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3NoZWV0LXRpdGxl
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACitUZXN0IHNldHRpbmcg
b2YgdGhlIHRpdGxlIG9mIHN0eWxlc2hlZXRzIGZvciBib3RoIDxsaW5rPiBhbmQgPHN0eWxlPiBl
bGVtZW50cy4gU2VlIGJ1ZyAjMTE4MjQuCisKK1NVQ0NFU1MKKwpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9jc3Mvc2hlZXQtdGl0bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zaGVldC10aXRsZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9j
c3Mvc2hlZXQtdGl0bGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMyBAQAorPGh0bWw+
Cis8aGVhZD4KKyAgICA8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0Jz4KKyAgICBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBp
ZiAoZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0udGl0bGUgPT0gImJhc2ljIiAmJgorICAgICAgICAg
ICAgZG9jdW1lbnQuc3R5bGVTaGVldHNbMV0udGl0bGUgPT0gImJhc2ljIikKKyAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnU1VDQ0VTUyc7
ICAgICAgICAgICAgCisgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxsaW5rIG1lZGlhPSJhbGwi
IGhyZWY9ImZvby5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdGl0bGU9ImJhc2ljIj4KKyAgICA8c3R5
bGUgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJiYXNpYyI+CisgICAgI2ZvbyB7CisgICAgICAgIGJh
Y2tncm91bmQtY29sb3I6ICM2NkNDRkY7CisgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0IHNldHRpbmcgb2YgdGhlIHRpdGxlIG9m
IHN0eWxlc2hlZXRzIGZvciBib3RoICZsdDtsaW5rJmd0OyBhbmQgJmx0O3N0eWxlJmd0OyBlbGVt
ZW50cy4gU2VlIGJ1ZyAjMTE4MjQuPC9wPgorPGRpdiBpZD0icmVzdWx0Ij5GQUlMVVJFPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgyMTYpCisrKyBXZWJDb3JlL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDA2LTEyLTE0ICBSb2IgQnVpcyAg
PGJ1aXNAa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgyNAorICAg
ICAgICBDU1NTdHlsZVNoZWV0LnRpdGxlIHByb3BlcnR5IGlzIGFsd2F5cyBudWxsCisKKyAgICAg
ICAgU2V0IHRpdGxlIG9uIHRoZSBzdHlsZXNoZWV0IGp1c3QgYWZ0ZXIgY3JlYXRpbmcgaXQsIGZv
ciB0aGUgSFRNTAorICAgICAgICBlbGVtZW50cyA8bGluaz4gYW5kIDxzdHlsZT4uCisKKyAgICAg
ICAgKiBjc3MvU3R5bGVTaGVldC5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVTaGVldDo6c2V0
VGl0bGUpOgorICAgICAgICAqIGRvbS9TdHlsZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAqIGRvbS9TdHlsZUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OnNldENTU1N0eWxlU2hlZXQpOgorICAgICAgICAqIGh0
bWwvSFRNTFN0eWxlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVt
ZW50OjpjaGlsZHJlbkNoYW5nZWQpOgorCiAyMDA2LTEyLTE0ICBBbGV4ZXkgUHJvc2t1cnlha292
ICA8YXBAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbi4KSW5kZXg6IFdl
YkNvcmUvY3NzL1N0eWxlU2hlZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9TdHlsZVNo
ZWV0LmgJKHJldmlzaW9uIDE4MjE2KQorKysgV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBAIHB1YmxpYzoKICAgICBTdHlsZVNoZWV0ICpwYXJl
bnRTdHlsZVNoZWV0KCkgY29uc3Q7CiAgICAgU3RyaW5nIGhyZWYoKSBjb25zdCB7IHJldHVybiBt
X3N0ckhyZWY7IH0KICAgICBTdHJpbmcgdGl0bGUoKSBjb25zdCB7IHJldHVybiBtX3N0clRpdGxl
OyB9CisgICAgdm9pZCBzZXRUaXRsZShjb25zdCBTdHJpbmcmIHMpIHsgbV9zdHJUaXRsZSA9IHM7
IH0KICAgICBNZWRpYUxpc3QqIG1lZGlhKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYS5nZXQoKTsg
fQogICAgIHZvaWQgc2V0TWVkaWEoTWVkaWFMaXN0Kik7CiAKSW5kZXg6IFdlYkNvcmUvZG9tL1N0
eWxlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vU3R5bGVFbGVtZW50LmNw
cAkocmV2aXNpb24gMTgyMTYpCisrKyBXZWJDb3JlL2RvbS9TdHlsZUVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiU3R5bGVFbGVtZW50LmgiCiAK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTWFwcGVkQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAi
TWVkaWFMaXN0LmgiCkBAIC04Miw2ICs4Myw4IEBAIHZvaWQgU3R5bGVFbGVtZW50OjpjaGlsZHJl
bkNoYW5nZWQoTm9kZSoKICAgICAgICAgICAgIG1fc2hlZXQgPSBuZXcgQ1NTU3R5bGVTaGVldChl
LCBTdHJpbmcoKSwgZG9jdW1lbnQtPmlucHV0RW5jb2RpbmcoKSk7CiAgICAgICAgICAgICBtX3No
ZWV0LT5wYXJzZVN0cmluZyh0ZXh0LCAhZG9jdW1lbnQtPmluQ29tcGF0TW9kZSgpKTsKICAgICAg
ICAgICAgIG1fc2hlZXQtPnNldE1lZGlhKG1lZGlhTGlzdC5nZXQoKSk7CisgICAgICAgICAgICBp
ZiAoZS0+aXNIVE1MRWxlbWVudCgpKQorICAgICAgICAgICAgICAgIG1fc2hlZXQtPnNldFRpdGxl
KHN0YXRpY19jYXN0PEhUTUxFbGVtZW50Kj4oZSktPnRpdGxlKCkpOwogICAgICAgICAgICAgbV9s
b2FkaW5nID0gZmFsc2U7CiAgICAgICAgIH0KICAgICB9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRN
TExpbmtFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVt
ZW50LmNwcAkocmV2aXNpb24gMTgyMTYpCisrKyBXZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE1LDYgKzIxNSw3IEBAIHZvaWQgSFRNTExpbmtFbGVt
ZW50OjpzZXRDU1NTdHlsZVNoZWV0KGMKIHsKICAgICBtX3NoZWV0ID0gbmV3IENTU1N0eWxlU2hl
ZXQodGhpcywgdXJsLCBjaGFyc2V0KTsKICAgICBtX3NoZWV0LT5wYXJzZVN0cmluZyhzaGVldFN0
ciwgIWRvY3VtZW50KCktPmluQ29tcGF0TW9kZSgpKTsKKyAgICBtX3NoZWV0LT5zZXRUaXRsZSh0
aXRsZSgpKTsKIAogICAgIFJlZlB0cjxNZWRpYUxpc3Q+IG1lZGlhID0gbmV3IE1lZGlhTGlzdCgo
Q1NTU3R5bGVTaGVldCopMCwgbV9tZWRpYSwgdHJ1ZSk7CiAgICAgbV9zaGVldC0+c2V0TWVkaWEo
bWVkaWEuZ2V0KCkpOwo=
</data>
<flag name="review"
          id="4311"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11845</attachid>
            <date>2006-12-14 13:59:36 -0800</date>
            <delta_ts>2006-12-15 03:11:29 -0800</delta_ts>
            <desc>Improved testcase + patch</desc>
            <filename>11824-4.diff</filename>
            <type>text/plain</type>
            <size>8757</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4MjE4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMTItMTQgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE4MjQKKyAgICAgICAgQ1NTU3R5bGVTaGVldC50aXRsZSBwcm9wZXJ0eSBpcyBhbHdh
eXMgbnVsbAorCisgICAgICAgICogZmFzdC9jc3Mvc2hlZXQtdGl0bGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9zaGVldC10aXRsZS5odG1sOiBBZGRlZC4KKwogMjAw
Ni0xMi0xNCAgUm9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
T2xpdmVyLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2hlZXQtdGl0bGUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3NoZWV0LXRpdGxlLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3NoZWV0LXRpdGxl
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACitUZXN0IHNldHRpbmcg
b2YgdGhlIHRpdGxlIG9mIHN0eWxlc2hlZXRzIGZvciBib3RoIDxsaW5rPiBhbmQgPHN0eWxlPiBl
bGVtZW50cy4gU2VlIGJ1ZyAjMTE4MjQuCisKK1NVQ0NFU1MKKwpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9jc3Mvc2hlZXQtdGl0bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zaGVldC10aXRsZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9j
c3Mvc2hlZXQtdGl0bGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNiBAQAorPGh0bWw+
Cis8aGVhZD4KKyAgICA8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0Jz4KKyAgICBmdW5jdGlv
biBydW5UZXN0KCkgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBp
ZiAoZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0udGl0bGUgPT0gImJhc2ljIiAmJgorICAgICAgICAg
ICAgZG9jdW1lbnQuc3R5bGVTaGVldHNbMV0udGl0bGUgPT0gImJhc2ljIikgeworICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInEiKS50aXRsZSA9ICJhZHZhbmNlZCI7CisgICAg
ICAgICAgICBpZiAoZG9jdW1lbnQuc3R5bGVTaGVldHNbMV0udGl0bGUgPT0gImFkdmFuY2VkIikK
KyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJI
VE1MID0gJ1NVQ0NFU1MnOyAgICAgICAgICAgIAorICAgICAgICB9CisgICAgfQorICAgIDwvc2Ny
aXB0PgorICAgIDxsaW5rIG1lZGlhPSJhbGwiIGhyZWY9ImZvby5jc3MiIHJlbD0ic3R5bGVzaGVl
dCIgdGl0bGU9ImJhc2ljIj4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIGlkPSJxIiB0aXRs
ZT0iYmFzaWMiPgorICAgICNmb28geworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZDQ0ZG
OworICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgorPHA+VGVzdCBzZXR0aW5nIG9mIHRoZSB0aXRsZSBvZiBzdHlsZXNoZWV0cyBmb3IgYm90aCAm
bHQ7bGluayZndDsgYW5kICZsdDtzdHlsZSZndDsgZWxlbWVudHMuIFNlZSBidWcgIzExODI0Ljwv
cD4KKzxkaXYgaWQ9InJlc3VsdCI+RkFJTFVSRTwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE4MjE4KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzMCBAQAorMjAwNi0xMi0xNCAgUm9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4MjQKKyAgICAgICAgQ1NTU3R5bGVTaGVldC50aXRs
ZSBwcm9wZXJ0eSBpcyBhbHdheXMgbnVsbAorCisgICAgICAgIFNldCB0aXRsZSBvbiB0aGUgc3R5
bGVzaGVldCBqdXN0IGFmdGVyIGNyZWF0aW5nIGl0LCBmb3IgdGhlIEhUTUwKKyAgICAgICAgZWxl
bWVudHMgPGxpbms+IGFuZCA8c3R5bGU+LgorCisgICAgICAgICogY3NzL1N0eWxlU2hlZXQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hlZXQ6OnNldFRpdGxlKToKKyAgICAgICAgKiBkb20v
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp0aXRsZSk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpzZXRUaXRsZSk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoK
KyAgICAgICAgKiBkb20vU3R5bGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKToKKyAgICAgICAgKiBkb20vU3R5bGVFbGVtZW50Lmg6
CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgICogaHRtbC9IVE1MRWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxMaW5rRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpzZXRDU1NTdHlsZVNoZWV0KToKKyAgICAgICAgKiBo
dG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFN0eWxlRWxl
bWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorCiAyMDA2LTEyLTE0ICBBbmRlcnMgQ2FybHNz
b24gIDxhY2FybHNzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluLgpJ
bmRleDogV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3Nz
L1N0eWxlU2hlZXQuaAkocmV2aXNpb24gMTgyMTgpCisrKyBXZWJDb3JlL2Nzcy9TdHlsZVNoZWV0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDcgQEAgcHVibGljOgogICAgIFN0eWxlU2hl
ZXQgKnBhcmVudFN0eWxlU2hlZXQoKSBjb25zdDsKICAgICBTdHJpbmcgaHJlZigpIGNvbnN0IHsg
cmV0dXJuIG1fc3RySHJlZjsgfQogICAgIFN0cmluZyB0aXRsZSgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RyVGl0bGU7IH0KKyAgICB2b2lkIHNldFRpdGxlKGNvbnN0IFN0cmluZyYgcykgeyBtX3N0clRp
dGxlID0gczsgfQogICAgIE1lZGlhTGlzdCogbWVkaWEoKSBjb25zdCB7IHJldHVybiBtX21lZGlh
LmdldCgpOyB9CiAgICAgdm9pZCBzZXRNZWRpYShNZWRpYUxpc3QqKTsKIApJbmRleDogV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDE4MjE4KQorKysgV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTk0Myw1ICs5NDMsMTQgQEAgU3RyaW5nIEVsZW1lbnQ6Om91dGVyVGV4dCgpIGNvbnN0
CiAgICAgcmV0dXJuIGlubmVyVGV4dCgpOwogfQogCitTdHJpbmcgRWxlbWVudDo6dGl0bGUoKSBj
b25zdAoreworICAgIHJldHVybiBnZXRBdHRyaWJ1dGUodGl0bGVBdHRyKTsKK30KKwordm9pZCBF
bGVtZW50OjpzZXRUaXRsZShjb25zdCBTdHJpbmcgJnZhbHVlKQoreworICAgIHNldEF0dHJpYnV0
ZSh0aXRsZUF0dHIsIHZhbHVlKTsKK30KIAogfQpJbmRleDogV2ViQ29yZS9kb20vRWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0VsZW1lbnQuaAkocmV2aXNpb24gMTgyMTgpCisr
KyBXZWJDb3JlL2RvbS9FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTE3Myw2ICsxNzMsOSBA
QCBwdWJsaWM6CiAgICAgU3RyaW5nIGlubmVyVGV4dCgpIGNvbnN0OwogICAgIFN0cmluZyBvdXRl
clRleHQoKSBjb25zdDsKICAKKyAgICBTdHJpbmcgdGl0bGUoKSBjb25zdDsKKyAgICB2b2lkIHNl
dFRpdGxlKGNvbnN0IFN0cmluZyYpOworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGNy
ZWF0ZUF0dHJpYnV0ZU1hcCgpIGNvbnN0OwogICAgIFN0cmluZyBvcGVuVGFnU3RhcnRUb1N0cmlu
ZygpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9kb20vU3R5bGVFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2RvbS9TdHlsZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxODIxOCkKKysrIFdl
YkNvcmUvZG9tL1N0eWxlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyLDYgKzIyLDcg
QEAKICNpbmNsdWRlICJTdHlsZUVsZW1lbnQuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisj
aW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRl
ICJNYXBwZWRBdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKQEAgLTUzLDcgKzU0
LDcgQEAgdm9pZCBTdHlsZUVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoRAogICAgICAgICBk
b2N1bWVudC0+dXBkYXRlU3R5bGVTZWxlY3RvcigpOwogfQogCi12b2lkIFN0eWxlRWxlbWVudDo6
Y2hpbGRyZW5DaGFuZ2VkKE5vZGUqIGUpCit2b2lkIFN0eWxlRWxlbWVudDo6Y2hpbGRyZW5DaGFu
Z2VkKEVsZW1lbnQqIGUpCiB7CiAgICAgaWYgKCFlKQogICAgICAgICByZXR1cm47CkBAIC04Miw2
ICs4Myw3IEBAIHZvaWQgU3R5bGVFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoTm9kZSoKICAgICAg
ICAgICAgIG1fc2hlZXQgPSBuZXcgQ1NTU3R5bGVTaGVldChlLCBTdHJpbmcoKSwgZG9jdW1lbnQt
PmlucHV0RW5jb2RpbmcoKSk7CiAgICAgICAgICAgICBtX3NoZWV0LT5wYXJzZVN0cmluZyh0ZXh0
LCAhZG9jdW1lbnQtPmluQ29tcGF0TW9kZSgpKTsKICAgICAgICAgICAgIG1fc2hlZXQtPnNldE1l
ZGlhKG1lZGlhTGlzdC5nZXQoKSk7CisgICAgICAgICAgICBtX3NoZWV0LT5zZXRUaXRsZShlLT50
aXRsZSgpKTsKICAgICAgICAgICAgIG1fbG9hZGluZyA9IGZhbHNlOwogICAgICAgICB9CiAgICAg
fQpJbmRleDogV2ViQ29yZS9kb20vU3R5bGVFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9kb20vU3R5bGVFbGVtZW50LmgJKHJldmlzaW9uIDE4MjE4KQorKysgV2ViQ29yZS9kb20vU3R5
bGVFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDggQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitjbGFzcyBFbGVtZW50OworCiBjbGFzcyBTdHlsZUVsZW1lbnQgewogcHVi
bGljOgogICAgIFN0eWxlRWxlbWVudCgpOwpAQCAtNDAsNyArNDIsNyBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIGluc2VydGVkSW50b0RvY3VtZW50KERvY3VtZW50Kik7CiAgICAgdm9pZCByZW1vdmVk
RnJvbURvY3VtZW50KERvY3VtZW50Kik7Ci0gICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoTm9kZSop
OworICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKEVsZW1lbnQqKTsKIAogcHJvdGVjdGVkOgogICAg
IFJlZlB0cjxDU1NTdHlsZVNoZWV0PiBtX3NoZWV0OwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAxODIxOCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTYxMSwxNiArNjExLDYgQEAgdm9pZCBIVE1MRWxlbWVudDo6c2V0SWQoY29uc3Qg
U3RyaW5nICZ2YQogICAgIHNldEF0dHJpYnV0ZShpZEF0dHIsIHZhbHVlKTsKIH0KIAotU3RyaW5n
IEhUTUxFbGVtZW50Ojp0aXRsZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGdldEF0dHJpYnV0ZSh0
aXRsZUF0dHIpOwotfQotCi12b2lkIEhUTUxFbGVtZW50OjpzZXRUaXRsZShjb25zdCBTdHJpbmcg
JnZhbHVlKQotewotICAgIHNldEF0dHJpYnV0ZSh0aXRsZUF0dHIsIHZhbHVlKTsKLX0KLQogU3Ry
aW5nIEhUTUxFbGVtZW50OjpsYW5nKCkgY29uc3QKIHsKICAgICByZXR1cm4gZ2V0QXR0cmlidXRl
KGxhbmdBdHRyKTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCShyZXZpc2lvbiAxODIxOCkKKysrIFdlYkNv
cmUvaHRtbC9IVE1MRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCw4ICs1NCw2IEBAIHB1
YmxpYzoKICAgICAKICAgICBTdHJpbmcgaWQoKSBjb25zdDsKICAgICB2b2lkIHNldElkKGNvbnN0
IFN0cmluZyYpOwotICAgIFN0cmluZyB0aXRsZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0VGl0bGUo
Y29uc3QgU3RyaW5nJik7CiAgICAgU3RyaW5nIGxhbmcoKSBjb25zdDsKICAgICB2b2lkIHNldExh
bmcoY29uc3QgU3RyaW5nJik7CiAgICAgU3RyaW5nIGRpcigpIGNvbnN0OwpJbmRleDogV2ViQ29y
ZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hU
TUxMaW5rRWxlbWVudC5jcHAJKHJldmlzaW9uIDE4MjE4KQorKysgV2ViQ29yZS9odG1sL0hUTUxM
aW5rRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExOCw4ICsxMTgsMTEgQEAgdm9pZCBI
VE1MTGlua0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidQogICAgICAgICBwcm9jZXNzKCk7CiAg
ICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gZGlzYWJsZWRBdHRyKSB7CiAgICAgICAgIHNl
dERpc2FibGVkU3RhdGUoIWF0dHItPmlzTnVsbCgpKTsKLSAgICB9IGVsc2UKKyAgICB9IGVsc2Ug
eworICAgICAgICBpZiAoYXR0ci0+bmFtZSgpID09IHRpdGxlQXR0ciAmJiBtX3NoZWV0KQorICAg
ICAgICAgICAgbV9zaGVldC0+c2V0VGl0bGUoYXR0ci0+dmFsdWUoKSk7CiAgICAgICAgIEhUTUxF
bGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKKyAgICB9CiB9CiAKIHZvaWQgSFRN
TExpbmtFbGVtZW50Ojp0b2tlbml6ZVJlbEF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmcmIHJl
bFN0cikKQEAgLTIxNSw2ICsyMTgsNyBAQCB2b2lkIEhUTUxMaW5rRWxlbWVudDo6c2V0Q1NTU3R5
bGVTaGVldChjCiB7CiAgICAgbV9zaGVldCA9IG5ldyBDU1NTdHlsZVNoZWV0KHRoaXMsIHVybCwg
Y2hhcnNldCk7CiAgICAgbV9zaGVldC0+cGFyc2VTdHJpbmcoc2hlZXRTdHIsICFkb2N1bWVudCgp
LT5pbkNvbXBhdE1vZGUoKSk7CisgICAgbV9zaGVldC0+c2V0VGl0bGUodGl0bGUoKSk7CiAKICAg
ICBSZWZQdHI8TWVkaWFMaXN0PiBtZWRpYSA9IG5ldyBNZWRpYUxpc3QoKENTU1N0eWxlU2hlZXQq
KTAsIG1fbWVkaWEsIHRydWUpOwogICAgIG1fc2hlZXQtPnNldE1lZGlhKG1lZGlhLmdldCgpKTsK
SW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAJKHJldmlzaW9uIDE4MjE4KQorKysgV2Vi
Q29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw4ICs0
MSwxMSBAQCB2b2lkIEhUTUxTdHlsZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmliCiB7CiAgICAg
aWYgKGF0dHItPm5hbWUoKSA9PSBtZWRpYUF0dHIpCiAgICAgICAgIG1fbWVkaWEgPSBhdHRyLT52
YWx1ZSgpLmRlcHJlY2F0ZWRTdHJpbmcoKS5sb3dlcigpOwotICAgIGVsc2UKKyAgICBlbHNlIHsK
KyAgICAgICAgaWYgKGF0dHItPm5hbWUoKSA9PSB0aXRsZUF0dHIgJiYgbV9zaGVldCkKKyAgICAg
ICAgICAgIG1fc2hlZXQtPnNldFRpdGxlKGF0dHItPnZhbHVlKCkpOwogICAgICAgICBIVE1MRWxl
bWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7CisgICAgfQogfQogCiB2b2lkIEhUTUxT
dHlsZUVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCkK
</data>
<flag name="review"
          id="4314"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11856</attachid>
            <date>2006-12-15 03:11:29 -0800</date>
            <delta_ts>2006-12-15 08:06:19 -0800</delta_ts>
            <desc>Now with svg test</desc>
            <filename>11824-5.diff</filename>
            <type>text/plain</type>
            <size>16867</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4MjMxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDYtMTItMTUgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlcyBmb3I6CisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExODI0CisgICAgICAgIENTU1N0eWxlU2hlZXQudGl0bGUgcHJvcGVydHkgaXMgYWx3
YXlzIG51bGwKKworICAgICAgICAqIGZhc3QvY3NzL3NoZWV0LXRpdGxlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mvc2hlZXQtdGl0bGUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogc3ZnL2N1c3RvbS9zaGVldC10aXRsZS1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAg
ICAqIHN2Zy9jdXN0b20vc2hlZXQtdGl0bGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBzdmcvY3VzdG9tL3NoZWV0LXRpdGxlLnN2ZzogQWRkZWQuCisKIDIwMDYtMTItMTQgIEdlb2Zm
cmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGVkIHRoZXNlIHJl
c3VsdHMgbm93IHRoYXQgSSd2ZSByb2xsZWQgb3V0IG15IGNoYW5nZSB0byBtb3ZlIGZvY3VzCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zaGVldC10aXRsZS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2hlZXQtdGl0bGUtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc2hlZXQtdGl0bGUtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKK1Rlc3Qgc2V0dGluZyBvZiB0aGUgdGl0
bGUgb2Ygc3R5bGVzaGVldHMgZm9yIGJvdGggPGxpbms+IGFuZCA8c3R5bGU+IGVsZW1lbnRzLiBT
ZWUgYnVnICMxMTgyNC4KKworU1VDQ0VTUworCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9z
aGVldC10aXRsZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3NoZWV0
LXRpdGxlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zaGVldC10
aXRsZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI2IEBACis8aHRtbD4KKzxoZWFkPgor
ICAgIDxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnPgorICAgIGZ1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGlmIChkb2N1bWVu
dC5zdHlsZVNoZWV0c1swXS50aXRsZSA9PSAiYmFzaWMiICYmCisgICAgICAgICAgICBkb2N1bWVu
dC5zdHlsZVNoZWV0c1sxXS50aXRsZSA9PSAiYmFzaWMiKSB7CisgICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicSIpLnRpdGxlID0gImFkdmFuY2VkIjsKKyAgICAgICAgICAgIGlm
IChkb2N1bWVudC5zdHlsZVNoZWV0c1sxXS50aXRsZSA9PSAiYWR2YW5jZWQiKQorICAgICAgICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnU1VD
Q0VTUyc7ICAgICAgICAgICAgCisgICAgICAgIH0KKyAgICB9CisgICAgPC9zY3JpcHQ+CisgICAg
PGxpbmsgbWVkaWE9ImFsbCIgaHJlZj0iZm9vLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0aXRsZT0i
YmFzaWMiPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgaWQ9InEiIHRpdGxlPSJiYXNpYyI+
CisgICAgI2ZvbyB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NkNDRkY7CisgICAgfQor
ICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0
IHNldHRpbmcgb2YgdGhlIHRpdGxlIG9mIHN0eWxlc2hlZXRzIGZvciBib3RoICZsdDtsaW5rJmd0
OyBhbmQgJmx0O3N0eWxlJmd0OyBlbGVtZW50cy4gU2VlIGJ1ZyAjMTE4MjQuPC9wPgorPGRpdiBp
ZD0icmVzdWx0Ij5GQUlMVVJFPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3NoZWV0LXRpdGxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL3NoZWV0LXRpdGxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vc2hlZXQtdGl0bGUtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIEtDYW52YXNDb250YWluZXIg
e3N2Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisgICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQg
KDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0g
W2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJd
CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3NoZWV0LXRpdGxlLnN2Zwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3NoZWV0LXRpdGxlLnN2ZwkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vc2hlZXQtdGl0bGUuc3ZnCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pgor
PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIG9ubG9hZD0icnVuVGVzdCgp
Ij4KKyAgICA8c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICAgICAgewor
ICAgICAgICAgICAgaWYgKGRvY3VtZW50LnN0eWxlU2hlZXRzWzBdLnRpdGxlID09ICJiYXNpYyIp
IHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicSIpLnNldEF0dHJp
YnV0ZSgidGl0bGUiLCAiYWR2YW5jZWQiKTsKKyAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQu
c3R5bGVTaGVldHNbMF0udGl0bGUgPT0gImFkdmFuY2VkIikgeworICAgICAgICAgICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzc2VkIikuc2V0QXR0cmlidXRlKCJmaWxsIiwg
ImdyZWVuIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgPC9zY3JpcHQ+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iYmFzaWMiIGlk
PSJxIj48IVtDREFUQVsKKyAgICAgICAgI2ZvbyB7CisgICAgICAgICAgICBzdG9wLWNvbG9yOiBy
ZWQgYXV0bzsKKyAgICAgICAgfQorICAgIF1dPjwvc3R5bGU+CisgICAgPHJlY3QgaWQ9InBhc3Nl
ZCIgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9InJlZCIvPgorPC9z
dmc+CkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5n
ZUxvZwkocmV2aXNpb24gMTgyMzEpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDMzIEBACisyMDA2LTEyLTE1ICBSb2IgQnVpcyAgPGJ1aXNAa2RlLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgyNAorICAgICAgICBDU1NTdHlsZVNo
ZWV0LnRpdGxlIHByb3BlcnR5IGlzIGFsd2F5cyBudWxsCisKKyAgICAgICAgU2V0IHRpdGxlIG9u
IHRoZSBzdHlsZXNoZWV0IGp1c3QgYWZ0ZXIgY3JlYXRpbmcgaXQsIGZvciB0aGUgSFRNTAorICAg
ICAgICBlbGVtZW50cyA8bGluaz4gYW5kIDxzdHlsZT4uCisKKyAgICAgICAgKiBjc3MvU3R5bGVT
aGVldC5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVTaGVldDo6c2V0VGl0bGUpOgorICAgICAg
ICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnRpdGxlKToK
KyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIGRvbS9TdHlsZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQpOgorICAg
ICAgICAqIGRvbS9TdHlsZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmNw
cDoKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MTGlu
a0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OnNldENT
U1N0eWxlU2hlZXQpOgorICAgICAgICAqIGh0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MU3R5bGVFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6Cisg
ICAgICAgICoga3N2ZzIvc3ZnL1NWR1N0eWxlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdTdHlsZUVsZW1lbnQ6OnNldFRpdGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxl
RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdT
dHlsZUVsZW1lbnQuaDoKKwogMjAwNi0xMi0xNCAgQW5kZXJzIENhcmxzc29uICA8YWNhcmxzc29u
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWouCkluZGV4OiBXZWJDb3Jl
L2Nzcy9TdHlsZVNoZWV0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5o
CShyZXZpc2lvbiAxODIzMSkKKysrIFdlYkNvcmUvY3NzL1N0eWxlU2hlZXQuaAkod29ya2luZyBj
b3B5KQpAQCAtNTAsNiArNTAsNyBAQCBwdWJsaWM6CiAgICAgU3R5bGVTaGVldCAqcGFyZW50U3R5
bGVTaGVldCgpIGNvbnN0OwogICAgIFN0cmluZyBocmVmKCkgY29uc3QgeyByZXR1cm4gbV9zdHJI
cmVmOyB9CiAgICAgU3RyaW5nIHRpdGxlKCkgY29uc3QgeyByZXR1cm4gbV9zdHJUaXRsZTsgfQor
ICAgIHZvaWQgc2V0VGl0bGUoY29uc3QgU3RyaW5nJiBzKSB7IG1fc3RyVGl0bGUgPSBzOyB9CiAg
ICAgTWVkaWFMaXN0KiBtZWRpYSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWEuZ2V0KCk7IH0KICAg
ICB2b2lkIHNldE1lZGlhKE1lZGlhTGlzdCopOwogCkluZGV4OiBXZWJDb3JlL2RvbS9FbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMTgy
MzEpCisrKyBXZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTQzLDUg
Kzk0Myw5IEBAIFN0cmluZyBFbGVtZW50OjpvdXRlclRleHQoKSBjb25zdAogICAgIHJldHVybiBp
bm5lclRleHQoKTsKIH0KIAorU3RyaW5nIEVsZW1lbnQ6OnRpdGxlKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gZ2V0QXR0cmlidXRlKHRpdGxlQXR0cik7Cit9CiAKIH0KSW5kZXg6IFdlYkNvcmUvZG9t
L0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FbGVtZW50LmgJKHJldmlzaW9u
IDE4MjMxKQorKysgV2ViQ29yZS9kb20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMs
NiArMTczLDggQEAgcHVibGljOgogICAgIFN0cmluZyBpbm5lclRleHQoKSBjb25zdDsKICAgICBT
dHJpbmcgb3V0ZXJUZXh0KCkgY29uc3Q7CiAgCisgICAgU3RyaW5nIHRpdGxlKCkgY29uc3Q7CisK
IHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlQXR0cmlidXRlTWFwKCkgY29uc3Q7
CiAgICAgU3RyaW5nIG9wZW5UYWdTdGFydFRvU3RyaW5nKCkgY29uc3Q7CkluZGV4OiBXZWJDb3Jl
L2RvbS9TdHlsZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL1N0eWxlRWxl
bWVudC5jcHAJKHJldmlzaW9uIDE4MjMxKQorKysgV2ViQ29yZS9kb20vU3R5bGVFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgIlN0eWxlRWxlbWVu
dC5oIgogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIk1hcHBlZEF0dHJpYnV0ZS5oIgogI2lu
Y2x1ZGUgIk1lZGlhTGlzdC5oIgpAQCAtNTMsNyArNTQsNyBAQCB2b2lkIFN0eWxlRWxlbWVudDo6
cmVtb3ZlZEZyb21Eb2N1bWVudChECiAgICAgICAgIGRvY3VtZW50LT51cGRhdGVTdHlsZVNlbGVj
dG9yKCk7CiB9CiAKLXZvaWQgU3R5bGVFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoTm9kZSogZSkK
K3ZvaWQgU3R5bGVFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoRWxlbWVudCogZSkKIHsKICAgICBp
ZiAoIWUpCiAgICAgICAgIHJldHVybjsKQEAgLTgyLDYgKzgzLDcgQEAgdm9pZCBTdHlsZUVsZW1l
bnQ6OmNoaWxkcmVuQ2hhbmdlZChOb2RlKgogICAgICAgICAgICAgbV9zaGVldCA9IG5ldyBDU1NT
dHlsZVNoZWV0KGUsIFN0cmluZygpLCBkb2N1bWVudC0+aW5wdXRFbmNvZGluZygpKTsKICAgICAg
ICAgICAgIG1fc2hlZXQtPnBhcnNlU3RyaW5nKHRleHQsICFkb2N1bWVudC0+aW5Db21wYXRNb2Rl
KCkpOwogICAgICAgICAgICAgbV9zaGVldC0+c2V0TWVkaWEobWVkaWFMaXN0LmdldCgpKTsKKyAg
ICAgICAgICAgIG1fc2hlZXQtPnNldFRpdGxlKGUtPnRpdGxlKCkpOwogICAgICAgICAgICAgbV9s
b2FkaW5nID0gZmFsc2U7CiAgICAgICAgIH0KICAgICB9CkluZGV4OiBXZWJDb3JlL2RvbS9TdHls
ZUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9TdHlsZUVsZW1lbnQuaAkocmV2
aXNpb24gMTgyMzEpCisrKyBXZWJDb3JlL2RvbS9TdHlsZUVsZW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMjYsNiArMjYsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEVsZW1l
bnQ7CisKIGNsYXNzIFN0eWxlRWxlbWVudCB7CiBwdWJsaWM6CiAgICAgU3R5bGVFbGVtZW50KCk7
CkBAIC00MCw3ICs0Miw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgaW5zZXJ0ZWRJbnRvRG9jdW1l
bnQoRG9jdW1lbnQqKTsKICAgICB2b2lkIHJlbW92ZWRGcm9tRG9jdW1lbnQoRG9jdW1lbnQqKTsK
LSAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChOb2RlKik7CisgICAgdm9pZCBjaGlsZHJlbkNoYW5n
ZWQoRWxlbWVudCopOwogCiBwcm90ZWN0ZWQ6CiAgICAgUmVmUHRyPENTU1N0eWxlU2hlZXQ+IG1f
c2hlZXQ7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJKHJldmlzaW9uIDE4MjMxKQorKysgV2ViQ29y
ZS9odG1sL0hUTUxFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjExLDExICs2MTEsNiBA
QCB2b2lkIEhUTUxFbGVtZW50OjpzZXRJZChjb25zdCBTdHJpbmcgJnZhCiAgICAgc2V0QXR0cmli
dXRlKGlkQXR0ciwgdmFsdWUpOwogfQogCi1TdHJpbmcgSFRNTEVsZW1lbnQ6OnRpdGxlKCkgY29u
c3QKLXsKLSAgICByZXR1cm4gZ2V0QXR0cmlidXRlKHRpdGxlQXR0cik7Ci19Ci0KIHZvaWQgSFRN
TEVsZW1lbnQ6OnNldFRpdGxlKGNvbnN0IFN0cmluZyAmdmFsdWUpCiB7CiAgICAgc2V0QXR0cmli
dXRlKHRpdGxlQXR0ciwgdmFsdWUpOwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgJKHJldmlzaW9uIDE4MjMx
KQorKysgV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDcg
KzU0LDYgQEAgcHVibGljOgogICAgIAogICAgIFN0cmluZyBpZCgpIGNvbnN0OwogICAgIHZvaWQg
c2V0SWQoY29uc3QgU3RyaW5nJik7Ci0gICAgU3RyaW5nIHRpdGxlKCkgY29uc3Q7CiAgICAgdm9p
ZCBzZXRUaXRsZShjb25zdCBTdHJpbmcmKTsKICAgICBTdHJpbmcgbGFuZygpIGNvbnN0OwogICAg
IHZvaWQgc2V0TGFuZyhjb25zdCBTdHJpbmcmKTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MTGlu
a0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQu
Y3BwCShyZXZpc2lvbiAxODIzMSkKKysrIFdlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsOCArMTE4LDExIEBAIHZvaWQgSFRNTExpbmtFbGVtZW50
OjpwYXJzZU1hcHBlZEF0dHJpYnUKICAgICAgICAgcHJvY2VzcygpOwogICAgIH0gZWxzZSBpZiAo
YXR0ci0+bmFtZSgpID09IGRpc2FibGVkQXR0cikgewogICAgICAgICBzZXREaXNhYmxlZFN0YXRl
KCFhdHRyLT5pc051bGwoKSk7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYg
KGF0dHItPm5hbWUoKSA9PSB0aXRsZUF0dHIgJiYgbV9zaGVldCkKKyAgICAgICAgICAgIG1fc2hl
ZXQtPnNldFRpdGxlKGF0dHItPnZhbHVlKCkpOwogICAgICAgICBIVE1MRWxlbWVudDo6cGFyc2VN
YXBwZWRBdHRyaWJ1dGUoYXR0cik7CisgICAgfQogfQogCiB2b2lkIEhUTUxMaW5rRWxlbWVudDo6
dG9rZW5pemVSZWxBdHRyaWJ1dGUoY29uc3QgQXRvbWljU3RyaW5nJiByZWxTdHIpCkBAIC0yMTUs
NiArMjE4LDcgQEAgdm9pZCBIVE1MTGlua0VsZW1lbnQ6OnNldENTU1N0eWxlU2hlZXQoYwogewog
ICAgIG1fc2hlZXQgPSBuZXcgQ1NTU3R5bGVTaGVldCh0aGlzLCB1cmwsIGNoYXJzZXQpOwogICAg
IG1fc2hlZXQtPnBhcnNlU3RyaW5nKHNoZWV0U3RyLCAhZG9jdW1lbnQoKS0+aW5Db21wYXRNb2Rl
KCkpOworICAgIG1fc2hlZXQtPnNldFRpdGxlKHRpdGxlKCkpOwogCiAgICAgUmVmUHRyPE1lZGlh
TGlzdD4gbWVkaWEgPSBuZXcgTWVkaWFMaXN0KChDU1NTdHlsZVNoZWV0KikwLCBtX21lZGlhLCB0
cnVlKTsKICAgICBtX3NoZWV0LT5zZXRNZWRpYShtZWRpYS5nZXQoKSk7CkluZGV4OiBXZWJDb3Jl
L2h0bWwvSFRNTFN0eWxlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hU
TUxTdHlsZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxODIzMSkKKysrIFdlYkNvcmUvaHRtbC9IVE1M
U3R5bGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsOSBAQCB2b2lkIEhU
TUxTdHlsZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmliCiB7CiAgICAgaWYgKGF0dHItPm5hbWUo
KSA9PSBtZWRpYUF0dHIpCiAgICAgICAgIG1fbWVkaWEgPSBhdHRyLT52YWx1ZSgpLmRlcHJlY2F0
ZWRTdHJpbmcoKS5sb3dlcigpOwotICAgIGVsc2UKKyAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkg
PT0gdGl0bGVBdHRyICYmIG1fc2hlZXQpCisgICAgICAgIG1fc2hlZXQtPnNldFRpdGxlKGF0dHIt
PnZhbHVlKCkpOworICAgICBlbHNlCiAgICAgICAgIEhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZShhdHRyKTsKIH0KIApJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHU3R5bGVFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdTdHlsZUVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAxODIzMSkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1N0eWxlRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc0LDE0ICs3NCwxNyBAQCB2b2lkIFNWR1N0eWxlRWxl
bWVudDo6c2V0TWVkaWEoY29uc3QgQXRvCiAgICAgZWMgPSBOT19NT0RJRklDQVRJT05fQUxMT1dF
RF9FUlI7CiB9CiAKLWNvbnN0IEF0b21pY1N0cmluZyYgU1ZHU3R5bGVFbGVtZW50Ojp0aXRsZSgp
IGNvbnN0Cit2b2lkIFNWR1N0eWxlRWxlbWVudDo6c2V0VGl0bGUoY29uc3QgQXRvbWljU3RyaW5n
JiwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgcmV0dXJuIGdldEF0dHJpYnV0ZSh0aXRsZUF0
dHIpOworICAgIGVjID0gTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSOwogfQogCi12b2lkIFNW
R1N0eWxlRWxlbWVudDo6c2V0VGl0bGUoY29uc3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit2b2lkIFNWR1N0eWxlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVk
QXR0cmlidXRlICphdHRyKQogewotICAgIGVjID0gTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJS
OworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gdGl0bGVBdHRyICYmIG1fc2hlZXQpCisgICAgICAg
IG1fc2hlZXQtPnNldFRpdGxlKGF0dHItPnZhbHVlKCkpOworICAgIGVsc2UKKyAgICAgICAgU1ZH
RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7CiB9CiAKIHZvaWQgU1ZHU3R5bGVF
bGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9T
VkdTdHlsZUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdTdHls
ZUVsZW1lbnQuaAkocmV2aXNpb24gMTgyMzEpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdTdHls
ZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIFNWR1N0eWxlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQqKTsKIAogICAgICAgICAvLyBEZXJpdmVkIGZyb206ICdFbGVtZW50JworICAgICAgICB2
aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOwogICAgICAgICB2aXJ0dWFs
IHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRy
ZW5DaGFuZ2VkKCk7CkBAIC00OCw3ICs0OSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBtZWRpYSgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldE1l
ZGlhKGNvbnN0IEF0b21pY1N0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgICAgICBjb25z
dCBBdG9taWNTdHJpbmcmIHRpdGxlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0VGl0bGUoY29u
c3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIH07CiAKSW5kZXg6IExheW91
dFRlc3RzL3N2Zy9jdXN0b20vc2hlZXQtdGl0bGUtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fu
bm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUg
PSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL3N2Zy9jdXN0b20vc2hlZXQtdGl0bGUtZXhwZWN0ZWQucG5nCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTog
c3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKCmlWQk9SdzBLR2dv
QUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBTWVVbEVRVlI0bk8zWndRMkFRQXdF
c1lQR29mUFEKeFJ3Q3U0S1Y4aHJsV1BlYXhXdk01UndBQUh6WHVYc0FBQUR3SHdJRUFBRElDQkFB
QUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQQpBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFB
QUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFCkFBRElDQkFB
QUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFB
Q0FqUUFBQWdJd0EKQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFB
Q0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBagpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFB
Q0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJCkNCQUFB
Q0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUEKTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQQpnSXdBQVFBQU1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBCkFD
QWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNB
alFBQUFnSXdBQVFBQU1nSUUKQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNC
enpNenNIZ0VBQVB5RER3Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVh
QUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
CkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
QwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsK
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFtUWRpbFF5bllNdXpnQUFBQUFCSlJVNUVya0pnCmdnPT0KCg==
</data>
<flag name="review"
          id="4318"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>