<?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>20887</bug_id>
          
          <creation_ts>2008-09-16 11:04:44 -0700</creation_ts>
          <short_desc>Legend tag should be exposed through AX</short_desc>
          <delta_ts>2008-09-19 13:25:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>91403</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2008-09-16 11:04:44 -0700</bug_when>
    <thetext>the object in AX representing the field set should have its title ui element set to the legend tag (if there is a legend tag)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91709</commentid>
    <comment_count>1</comment_count>
      <attachid>23548</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2008-09-18 17:48:50 -0700</bug_when>
    <thetext>Created attachment 23548
Expose &lt;legend&gt; tag in AX</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91727</commentid>
    <comment_count>2</comment_count>
      <attachid>23548</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-09-18 23:30:25 -0700</bug_when>
    <thetext>Comment on attachment 23548
Expose &lt;legend&gt; tag in AX

 427     Node *element = m_renderer-&gt;element();

Should be Node*, not &quot;Node *&quot;.

 1061     if (isFieldset())
 1062         return axObjectCache()-&gt;get(static_cast&lt;RenderFieldset*&gt;(m_renderer)-&gt;findLegend());

This assumes that the renderer will be a RenderFieldset because the tag is fieldsetTag. Why is that a safe assumption? Instead, both function should be looking at hte renderer, and neither should be asking what the tag name is.

Patch otherwise looks fine. review- because of the DOM/Renderer assumption.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91763</commentid>
    <comment_count>3</comment_count>
      <attachid>23566</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2008-09-19 09:08:13 -0700</bug_when>
    <thetext>Created attachment 23566
&lt;legend&gt; patch, updated based on review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91799</commentid>
    <comment_count>4</comment_count>
      <attachid>23566</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-09-19 12:13:15 -0700</bug_when>
    <thetext>Comment on attachment 23566
&lt;legend&gt; patch, updated based on review

     virtual bool isWidget() const { return false; }
-
+    virtual bool isFieldset() const { return false; }

The rest of these are in alphabetical order. It would be better if you sorted your new one in rather than putting it at the bottom.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91815</commentid>
    <comment_count>5</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2008-09-19 13:25:46 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/36670</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23548</attachid>
            <date>2008-09-18 17:48:50 -0700</date>
            <delta_ts>2008-09-18 23:30:25 -0700</delta_ts>
            <desc>Expose &lt;legend&gt; tag in AX</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>11161</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNjYzNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDgtMDktMTggIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNjIxMTA0MT4gRXhwb3NlIGxlZ2VuZCB0YWcgaW4gYWNjZXNzaWJp
bGl0eQorCisgICAgICAgIEV4cG9zZXMgdGhlIGxlZ2VuZCB0YWcgYXMgdGhlIHRpdGxlVUlFbGVt
ZW50IG9mIGEgZmllbGRzZXQKKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L2xlZ2VuZC5o
dG1sCisKKyAgICAgICAgKiBwYWdlL0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzRmllbGRzZXQpOgorICAgICAgICAqIHBhZ2Uv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0Ojppc0ZpZWxkc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OnRpdGxlVUlFbGVtZW50KToKKyAgICAgICAgKiBwYWdlL0Fj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmll
bGRzZXQuaDoKKwogMjAwOC0wOS0xOCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAK
ICAgICAgICAgTWFrZSB0aGUgY29udmVyc2lvbiBtZXRob2RzIHRoYXQgZ28gdG8gYW5kIGZyb20g
c29tZSBjb250YWluaW5nV2luZG93CkluZGV4OiBXZWJDb3JlL3BhZ2UvQWNjZXNzaWJpbGl0eU9i
amVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJ
KHJldmlzaW9uIDM2NjM2KQorKysgV2ViQ29yZS9wYWdlL0FjY2Vzc2liaWxpdHlPYmplY3QuaAko
d29ya2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJv
b2wgaXNUYWJsZVJvdygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9OwogICAgIHZpcnR1YWwgYm9v
bCBpc1RhYmxlQ29sdW1uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH07CiAgICAgdmlydHVhbCBi
b29sIGlzVGFibGVDZWxsKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH07CisgICAgdmlydHVhbCBi
b29sIGlzRmllbGRzZXQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfTsKICAgICAKICAgICB2aXJ0
dWFsIGJvb2wgaXNDaGVja2VkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH07CiAgICAgdmlydHVh
bCBib29sIGlzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9OwpJbmRleDogV2ViQ29y
ZS9wYWdlL0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGFnZS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAkocmV2aXNpb24gMzY2MzYpCisr
KyBXZWJDb3JlL3BhZ2UvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU3LDYgKzU3LDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2wuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgorI2luY2x1ZGUg
IlJlbmRlckZpZWxkc2V0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGlzdEJveC5oIgogI2luY2x1ZGUg
IlJlbmRlckxpc3RNYXJrZXIuaCIKICNpbmNsdWRlICJSZW5kZXJNZW51TGlzdC5oIgpAQCAtNDE4
LDYgKzQxOSwxNSBAQCBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzQ29udHJvCiAg
ICAgcmV0dXJuIG5vZGUgJiYgKG5vZGUtPmlzQ29udHJvbCgpIHx8IEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmlzQVJJQUNvbnRyb2woYXJpYVJvbGVBdHRyaWJ1dGUoKSkpOwogfQogCitib29sIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzRmllbGRzZXQoKSBjb25zdAoreworICAgIGlmICghbV9y
ZW5kZXJlcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAorICAgIE5vZGUgKmVsZW1lbnQg
PSBtX3JlbmRlcmVyLT5lbGVtZW50KCk7CisgICAgcmV0dXJuIGVsZW1lbnQgJiYgZWxlbWVudC0+
aGFzVGFnTmFtZShmaWVsZHNldFRhZyk7Cit9CisgICAgCiBjb25zdCBBdG9taWNTdHJpbmcmIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmdldEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiBhdHRyaWJ1dGUpIGNvbnN0CiB7CiAgICAgTm9kZSogbm9kZSA9IG1fcmVuZGVyZXItPmVsZW1l
bnQoKTsKQEAgLTEwNDgsNiArMTA1OCw5IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2li
aWxpdHlSZW5kZXIKICAgICBpZiAoIW1fcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiAwOwogICAg
IAorICAgIGlmIChpc0ZpZWxkc2V0KCkpCisgICAgICAgIHJldHVybiBheE9iamVjdENhY2hlKCkt
PmdldChzdGF0aWNfY2FzdDxSZW5kZXJGaWVsZHNldCo+KG1fcmVuZGVyZXIpLT5maW5kTGVnZW5k
KCkpOworICAgIAogICAgIC8vIGNoZWNrYm94IGFuZCByYWRpbyBoaWRlIHRoZWlyIGxhYmVscy4g
T25seSBjb250cm9scyBnZXQgdGl0bGVVSUVsZW1lbnRzIGZvciBub3cKICAgICBpZiAoaXNDaGVj
a2JveE9yUmFkaW8oKSB8fCAhaXNDb250cm9sKCkpCiAgICAgICAgIHJldHVybiAwOwpJbmRleDog
V2ViQ29yZS9wYWdlL0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BhZ2UvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oCShyZXZpc2lvbiAzNjYzNikK
KysrIFdlYkNvcmUvcGFnZS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTg0LDYgKzg0LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc01lbnVCdXR0
b24oKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNNZW51SXRlbSgpIGNvbnN0OwogICAgIHZp
cnR1YWwgYm9vbCBpc0NvbnRyb2woKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNGaWVsZHNl
dCgpIGNvbnN0OwogCiAgICAgdmlydHVhbCBib29sIGlzRW5hYmxlZCgpIGNvbnN0OwogICAgIHZp
cnR1YWwgYm9vbCBpc1NlbGVjdGVkKCkgY29uc3Q7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGaWVsZHNldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZp
ZWxkc2V0LmgJKHJldmlzaW9uIDM2NjM2KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmll
bGRzZXQuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTEgKzQ3LDEyIEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGJvb2wgZXhwYW5kc1RvRW5jbG9zZU92ZXJoYW5naW5nRmxvYXRzKCkgY29uc3QgeyBy
ZXR1cm4gc3R5bGUoKS0+aGVpZ2h0KCkuaXNBdXRvKCk7IH0KICAgICB2aXJ0dWFsIGJvb2wgc3Ry
ZXRjaGVzVG9NaW5JbnRyaW5zaWNXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAorICAg
IFJlbmRlck9iamVjdCogZmluZExlZ2VuZCgpIGNvbnN0OworCiBwcml2YXRlOgogICAgIHZpcnR1
YWwgdm9pZCBwYWludEJveERlY29yYXRpb25zKFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5KTsK
ICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRNYXNrKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgs
IGludCB0eSk7CiAgICAgdm9pZCBwYWludEJvcmRlck1pbnVzTGVnZW5kKEdyYXBoaWNzQ29udGV4
dCosIGludCB0eCwgaW50IHR5LCBpbnQgdywgaW50IGgsIGNvbnN0IFJlbmRlclN0eWxlKiwgaW50
IGx4LCBpbnQgbHcsIGludCBsYik7Ci0gICAgUmVuZGVyT2JqZWN0KiBmaW5kTGVnZW5kKCkgY29u
c3Q7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJLaXRUb29scy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAzNjYz
NikKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3
IEBACisyMDA4LTA5LTE4ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3NlIHRp
dGxlVUlFbGVtZW50IGNhbGwgZm9yIER1bXBSZW5kZXJUcmVlCisKKyAgICAgICAgKiBDaGFuZ2VM
b2c6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6
CisgICAgICAgICh0aXRsZVVJRWxlbWVudENhbGxiYWNrKToKKyAgICAgICAgKEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmdldEpTQ2xhc3MpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnRpdGxlVUlFbGVtZW50KToKKwogMjAwOC0wOS0xOCAgU3RlcGhhbmllIExld2lzICA8c2xld2lz
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWFsbHkgZml4IHRpZ2VyIGpzYyB0ZXN0cy4KSW5kZXg6
IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuY3BwCShyZXZpc2lvbiAzNjYzNikKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsNiArMTUz
LDEwIEBAIHN0YXRpYyBKU1ZhbHVlUmVmIGNlbGxGb3JDb2x1bW5BbmRSb3dDYWwKICAgICByZXR1
cm4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWFrZUpTQWNjZXNzaWJpbGl0eVVJRWxlbWVudChj
b250ZXh0LCB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+Y2VsbEZvckNvbHVtbkFuZFJvdyhjb2x1
bW4sIHJvdykpOwogfQogCitzdGF0aWMgSlNWYWx1ZVJlZiB0aXRsZVVJRWxlbWVudENhbGxiYWNr
KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYg
dGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1l
bnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICByZXR1cm4gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6bWFrZUpTQWNjZXNzaWJpbGl0eVVJRWxlbWVudChjb250ZXh0LCB0b0FYRWxl
bWVudCh0aGlzT2JqZWN0KS0+dGl0bGVVSUVsZW1lbnQoKSk7Cit9CiAvLyBTdGF0aWMgVmFsdWUg
R2V0dGVycwogCiBzdGF0aWMgSlNWYWx1ZVJlZiBnZXRSb2xlQ2FsbGJhY2soSlNDb250ZXh0UmVm
IGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5TmFt
ZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQpAQCAtMjUwLDYgKzI1NCw3IEBAIEpTQ2xhc3NSZWYg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0SlMKICAgICAgICAgeyAicm93SW5kZXhSYW5nZSIs
IHJvd0luZGV4UmFuZ2VDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJjb2x1bW5JbmRleFJh
bmdlIiwgY29sdW1uSW5kZXhSYW5nZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRP
bmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImNlbGxG
b3JDb2x1bW5BbmRSb3ciLCBjZWxsRm9yQ29sdW1uQW5kUm93Q2FsbGJhY2ssIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAg
ICAgICAgeyAidGl0bGVVSUVsZW1lbnQiLCB0aXRsZVVJRWxlbWVudENhbGxiYWNrLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0s
CiAgICAgICAgIHsgMCwgMCwgMCB9CiAgICAgfTsKIApJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAkocmV2aXNpb24gMzY2
MzYpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDcgQEAgcHVibGljOgogICAgIHZvaWQgZ2V0
TGlua2VkVUlFbGVtZW50cyhWZWN0b3I8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4mKTsKICAgICB2
b2lkIGdldENoaWxkcmVuKFZlY3RvcjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiYpOwogICAgIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQgZ2V0Q2hpbGRBdEluZGV4KHVuc2lnbmVkKTsKKyAgICBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50IHRpdGxlVUlFbGVtZW50KCk7CiAgICAgCiAgICAgLy8gTWV0aG9k
cyAtIHBsYXRmb3JtLWluZGVwZW5kZW50IGltcGxlbWVudGF0aW9ucwogICAgIEpTU3RyaW5nUmVm
IGFsbEF0dHJpYnV0ZXMoKTsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCShyZXZpc2lvbiAz
NjYzNikKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xODMsNiArMTgzLDE1IEBAIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJpbGl0eVVJRWwKICAgICByZXR1cm4gbmlsOwogfQogCitB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlVUlFbGVt
ZW50KCkKK3sKKyAgICBpZCBhY2Nlc3NpYmlsaXR5T2JqZWN0ID0gW21fZWxlbWVudCBhY2Nlc3Np
YmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VGl0bGVVSUVsZW1lbnRBdHRyaWJ1
dGVdOworICAgIGlmIChhY2Nlc3NpYmlsaXR5T2JqZWN0KQorICAgICAgICByZXR1cm4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudChhY2Nlc3NpYmlsaXR5T2JqZWN0KTsKKyAgICAKKyAgICByZXR1cm4g
bmlsOworfQorCiBKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVz
T2ZMaW5rZWRVSUVsZW1lbnRzKCkKIHsKICAgICBWZWN0b3I8QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dD4gbGlua2VkRWxlbWVudHM7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAzNjYzNikKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDA4LTA5LTE4
ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgZm9yIDxyZGFyOi8vcHJvYmxl
bS82MjExMDQxPiBFeHBvc2UgbGVnZW5kIHRhZyBpbiBhY2Nlc3NpYmlsaXR5CisKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2xlZ2VuZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvbGVnZW5kLmh0bWw6IEFkZGVkLgorCiAyMDA4LTA5LTE4ICBDaHJpcyBGbGVp
emFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQmV0aCBE
YWtpbgpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbGVnZW5kLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbGVnZW5kLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NCBAQAorQ2hvb3NlIGEgc2hpcHBp
bmcgbWV0aG9kOgorT3Zlcm5pZ2h0CitBWFJvbGU6IEFYR3JvdXAKK0FYU3Vicm9sZTogKG51bGwp
CitBWFJvbGVEZXNjcmlwdGlvbjogZ3JvdXAKK0FYQ2hpbGRyZW46IDxhcnJheSBvZiBzaXplIDI+
CitBWEhlbHA6IAorQVhQYXJlbnQ6IDxBWEdyb3VwPgorQVhTaXplOiBOU1NpemU6IHs3ODAsIDU0
fQorQVhUaXRsZTogCitBWERlc2NyaXB0aW9uOiAKK0FYVmFsdWU6IAorQVhGb2N1c2VkOiAwCitB
WEVuYWJsZWQ6IDEKK0FYV2luZG93OiA8QVhHcm91cD4KK0FYU2VsZWN0ZWRUZXh0TWFya2VyUmFu
Z2U6IChudWxsKQorQVhTdGFydFRleHRNYXJrZXI6IDxBWEdyb3VwPgorQVhFbmRUZXh0TWFya2Vy
OiA8QVhHcm91cD4KK0FYVmlzaXRlZDogMAorQVhMaW5rZWRVSUVsZW1lbnRzOiAobnVsbCkKK0FY
U2VsZWN0ZWQ6IDAKK0FYQmxvY2tRdW90ZUxldmVsOiAwCitBWFRvcExldmVsVUlFbGVtZW50OiA8
QVhHcm91cD4KK0FYVGl0bGVVSUVsZW1lbnQ6IDxBWEdyb3VwPgorCisKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCisKK0FYUm9sZTogQVhTdGF0aWNUZXh0CitBWFN1YnJvbGU6IChudWxs
KQorQVhSb2xlRGVzY3JpcHRpb246IHRleHQKK0FYQ2hpbGRyZW46IDxhcnJheSBvZiBzaXplIDA+
CitBWEhlbHA6IAorQVhQYXJlbnQ6IDxBWFN0YXRpY1RleHQ+CitBWFNpemU6IE5TU2l6ZTogezE3
MiwgMTh9CitBWFRpdGxlOiAKK0FYRGVzY3JpcHRpb246IAorQVhWYWx1ZTogQ2hvb3NlIGEgc2hp
cHBpbmcgbWV0aG9kOgorQVhGb2N1c2VkOiAwCitBWEVuYWJsZWQ6IDEKK0FYV2luZG93OiA8QVhT
dGF0aWNUZXh0PgorQVhTZWxlY3RlZFRleHRNYXJrZXJSYW5nZTogKG51bGwpCitBWFN0YXJ0VGV4
dE1hcmtlcjogPEFYU3RhdGljVGV4dD4KK0FYRW5kVGV4dE1hcmtlcjogPEFYU3RhdGljVGV4dD4K
K0FYVmlzaXRlZDogMAorQVhMaW5rZWRVSUVsZW1lbnRzOiAobnVsbCkKK0FYU2VsZWN0ZWQ6IDAK
K0FYQmxvY2tRdW90ZUxldmVsOiAwCitBWFRvcExldmVsVUlFbGVtZW50OiA8QVhTdGF0aWNUZXh0
PgorCistLS0tLS0tLS0tLS0KKworCisKSW5kZXg6IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
bGVnZW5kLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9sZWdl
bmQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbGVnZW5k
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzUgQEAKKzxodG1sPgorPHNjcmlwdD4KKyAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxib2R5IGlkPSJib2R5Ij4KKyAKKyAg
ICA8IS0tIHRoaXMgdGVzdCBzaG91bGQgb3V0cHV0IHRoZSBhdHRyaWJ1dGVzIG9mIHRoZSBmaWVs
ZHNldCB3aGljaCBzaG91bGQgYmUgYSBncm91cAorICAgICAgICAgYW5kIGl0J3MgdGl0bGUgdWkg
ZWxlbWVudCdzIGNoaWxkcmVuLCB3aGljaCBzaG91bGQgYmUgdGhlIDxsZWdlbmQ+IHRhZydzIHN0
YXRpYyB0ZXh0IC0tPgorCisgICAgPGZpZWxkc2V0PgorCTxsZWdlbmQ+Q2hvb3NlIGEgc2hpcHBp
bmcgbWV0aG9kOjwvbGVnZW5kPgorCTxpbnB1dCBpZD0ib3Zlcm5pZ2h0IiB0eXBlPSJyYWRpbyIg
bmFtZT0ic2hpcHBpbmciIHZhbHVlPSJvdmVybmlnaHQiIC8+T3Zlcm5pZ2h0CisgICAgIDwvZmll
bGRzZXQ+CisKKyAgICAKKyAgICA8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorCisgICAgIAorICAg
IDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsK
KyAgICAgICAgICAgIHZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
Iik7CisKKyAgICAgICAgICAgIHZhciBib2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJv
ZHkiKTsKKyAgICAgICAgICAgIGJvZHkuZm9jdXMoKTsKKyAgICAgICAgICAgIHZhciBmaWVsZHNl
dCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmNoaWxkQXRJbmRleCgw
KTsKKyAgICAgICAgICAgIHZhciB0aXRsZVVJRWxlbWVudCA9IGZpZWxkc2V0LnRpdGxlVUlFbGVt
ZW50KCk7CisKKyAgICAgICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0gZmllbGRzZXQuYWxsQXR0
cmlidXRlcygpICsgIlxuXG4iOworICAgICAgICAgICAgcmVzdWx0LmlubmVyVGV4dCArPSAiLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIjsgCisgICAgICAgICAgICByZXN1bHQuaW5u
ZXJUZXh0ICs9IHRpdGxlVUlFbGVtZW50LmF0dHJpYnV0ZXNPZkNoaWxkcmVuKCkgKyAiXG5cbiI7
IAorICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="10543"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23566</attachid>
            <date>2008-09-19 09:08:13 -0700</date>
            <delta_ts>2008-09-19 12:13:15 -0700</delta_ts>
            <desc>&lt;legend&gt; patch, updated based on review</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>12006</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNjY2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDgtMDktMTggIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNjIxMTA0MT4gRXhwb3NlIGxlZ2VuZCB0YWcgaW4gYWNjZXNzaWJp
bGl0eQorCisgICAgICAgIEV4cG9zZXMgdGhlIGxlZ2VuZCB0YWcgYXMgdGhlIHRpdGxlVUlFbGVt
ZW50IG9mIGEgZmllbGRzZXQKKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L2xlZ2VuZC5o
dG1sCisKKyAgICAgICAgKiBwYWdlL0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzRmllbGRzZXQpOgorICAgICAgICAqIHBhZ2Uv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0Ojppc0ZpZWxkc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OnRpdGxlVUlFbGVtZW50KToKKyAgICAgICAgKiBwYWdlL0Fj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmll
bGRzZXQuaDoKKwogMjAwOC0wOS0xOSAgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIgIDx6ZWNr
ZUBzZWxmaXNoLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KSW5k
ZXg6IFdlYkNvcmUvcGFnZS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wYWdlL0FjY2Vzc2liaWxpdHlPYmplY3QuaAkocmV2aXNpb24gMzY2NjcpCisrKyBXZWJD
b3JlL3BhZ2UvQWNjZXNzaWJpbGl0eU9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiAr
MjE5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1RhYmxlUm93KCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH07CiAgICAgdmlydHVhbCBib29sIGlzVGFibGVDb2x1bW4oKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfTsKICAgICB2aXJ0dWFsIGJvb2wgaXNUYWJsZUNlbGwoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNGaWVsZHNldCgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9OwogICAgIAogICAgIHZpcnR1YWwgYm9vbCBpc0NoZWNrZWQoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfTsKICAgICB2aXJ0dWFsIGJvb2wgaXNFbmFibGVkKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH07CkluZGV4OiBXZWJDb3JlL3BhZ2UvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0FjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuY3BwCShyZXZpc2lvbiAzNjY2NykKKysrIFdlYkNvcmUvcGFnZS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsNiArNTcsNyBAQAogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oIgogI2lu
Y2x1ZGUgIlJlbmRlckltYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyRmllbGRzZXQuaCIKICNpbmNs
dWRlICJSZW5kZXJMaXN0Qm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGlzdE1hcmtlci5oIgogI2lu
Y2x1ZGUgIlJlbmRlck1lbnVMaXN0LmgiCkBAIC00MTgsNiArNDE5LDE0IEBAIGJvb2wgQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdDo6aXNDb250cm8KICAgICByZXR1cm4gbm9kZSAmJiAobm9kZS0+
aXNDb250cm9sKCkgfHwgQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNBUklBQ29udHJvbChhcmlhUm9s
ZUF0dHJpYnV0ZSgpKSk7CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aXNG
aWVsZHNldCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3JlbmRlcmVyKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgCisgICAgcmV0dXJuIG1fcmVuZGVyZXItPmlzRmllbGRzZXQoKTsKK30KKyAg
ICAKIGNvbnN0IEF0b21pY1N0cmluZyYgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6Z2V0QXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZSkgY29uc3QKIHsKICAgICBOb2Rl
KiBub2RlID0gbV9yZW5kZXJlci0+ZWxlbWVudCgpOwpAQCAtMTA0OCw2ICsxMDU3LDEwIEBAIEFj
Y2Vzc2liaWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlSZW5kZXIKICAgICBpZiAoIW1fcmVuZGVy
ZXIpCiAgICAgICAgIHJldHVybiAwOwogICAgIAorICAgIC8vIGlmIGlzRmllbGRzZXQgaXMgdHJ1
ZSwgdGhlIHJlbmRlcmVyIGlzIGd1YXJhbnRlZWQgdG8gYmUgYSBSZW5kZXJGaWVsZHNldAorICAg
IGlmIChpc0ZpZWxkc2V0KCkpCisgICAgICAgIHJldHVybiBheE9iamVjdENhY2hlKCktPmdldChz
dGF0aWNfY2FzdDxSZW5kZXJGaWVsZHNldCo+KG1fcmVuZGVyZXIpLT5maW5kTGVnZW5kKCkpOwor
ICAgIAogICAgIC8vIGNoZWNrYm94IGFuZCByYWRpbyBoaWRlIHRoZWlyIGxhYmVscy4gT25seSBj
b250cm9scyBnZXQgdGl0bGVVSUVsZW1lbnRzIGZvciBub3cKICAgICBpZiAoaXNDaGVja2JveE9y
UmFkaW8oKSB8fCAhaXNDb250cm9sKCkpCiAgICAgICAgIHJldHVybiAwOwpJbmRleDogV2ViQ29y
ZS9wYWdlL0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BhZ2UvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oCShyZXZpc2lvbiAzNjY2NykKKysrIFdl
YkNvcmUvcGFnZS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTg0LDYgKzg0LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc01lbnVCdXR0b24oKSBj
b25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNNZW51SXRlbSgpIGNvbnN0OwogICAgIHZpcnR1YWwg
Ym9vbCBpc0NvbnRyb2woKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNGaWVsZHNldCgpIGNv
bnN0OwogCiAgICAgdmlydHVhbCBib29sIGlzRW5hYmxlZCgpIGNvbnN0OwogICAgIHZpcnR1YWwg
Ym9vbCBpc1NlbGVjdGVkKCkgY29uc3Q7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
aWVsZHNldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpZWxkc2V0
LmgJKHJldmlzaW9uIDM2NjY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmllbGRzZXQu
aAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBj
b25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlckZpZWxkU2V0Ijsg
fQogCiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGxheW91dExlZ2VuZChib29sIHJlbGF5b3V0
Q2hpbGRyZW4pOworICAgIHZpcnR1YWwgYm9vbCBpc0ZpZWxkc2V0KCkgY29uc3QgeyByZXR1cm4g
dHJ1ZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIHNldFN0eWxlKFJlbmRlclN0eWxlKik7CiAKQEAg
LTQ3LDExICs0OCwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGV4cGFuZHNUb0VuY2xv
c2VPdmVyaGFuZ2luZ0Zsb2F0cygpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmhlaWdodCgpLmlz
QXV0bygpOyB9CiAgICAgdmlydHVhbCBib29sIHN0cmV0Y2hlc1RvTWluSW50cmluc2ljV2lkdGgo
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKKyAgICBSZW5kZXJPYmplY3QqIGZpbmRMZWdlbmQo
KSBjb25zdDsKKwogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRCb3hEZWNvcmF0aW9u
cyhQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50TWFz
ayhQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHkpOwogICAgIHZvaWQgcGFpbnRC
b3JkZXJNaW51c0xlZ2VuZChHcmFwaGljc0NvbnRleHQqLCBpbnQgdHgsIGludCB0eSwgaW50IHcs
IGludCBoLCBjb25zdCBSZW5kZXJTdHlsZSosIGludCBseCwgaW50IGx3LCBpbnQgbGIpOwotICAg
IFJlbmRlck9iamVjdCogZmluZExlZ2VuZCgpIGNvbnN0OwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgJKHJldmlzaW9uIDM2NjY3KQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4
OCw3ICsyODgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzVGV4dEFyZWEoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1RleHRGaWVsZCgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzV2lkZ2V0KCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KLQorICAgIHZpcnR1YWwgYm9vbCBpc0ZpZWxkc2V0KCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KIAogICAgIGJvb2wgaXNSb290KCkgY29uc3QgeyByZXR1cm4gZG9jdW1l
bnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkgPT0gbm9kZSgpOyB9CiAgICAgYm9vbCBpc0JvZHkoKSBj
b25zdDsKSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRU
b29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDM2NjY3KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDgtMDktMTggIENocmlzIEZsZWl6
YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBFeHBvc2UgdGl0bGVVSUVsZW1lbnQgY2FsbCBmb3IgRHVtcFJl
bmRlclRyZWUKKworICAgICAgICAqIENoYW5nZUxvZzoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcDoKKyAgICAgICAgKHRpdGxlVUlFbGVtZW50Q2Fs
bGJhY2spOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0SlNDbGFzcyk6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tOgorICAg
ICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGl0bGVVSUVsZW1lbnQpOgorCiAyMDA4LTA5
LTE4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICAqIFNjcmlwdHMv
ZG8td2ViY29yZS1yZW5hbWU6IE1vcmUgcmVuYW1pbmcgcGxhbnMuCkluZGV4OiBXZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAko
cmV2aXNpb24gMzY2NjcpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUzLDYgKzE1MywxMCBAQCBzdGF0
aWMgSlNWYWx1ZVJlZiBjZWxsRm9yQ29sdW1uQW5kUm93Q2FsCiAgICAgcmV0dXJuIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6Om1ha2VKU0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQoY29udGV4dCwgdG9B
WEVsZW1lbnQodGhpc09iamVjdCktPmNlbGxGb3JDb2x1bW5BbmRSb3coY29sdW1uLCByb3cpKTsK
IH0KIAorc3RhdGljIEpTVmFsdWVSZWYgdGl0bGVVSUVsZW1lbnRDYWxsYmFjayhKU0NvbnRleHRS
ZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3Qs
IHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1Zh
bHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
Om1ha2VKU0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQoY29udGV4dCwgdG9BWEVsZW1lbnQodGhpc09i
amVjdCktPnRpdGxlVUlFbGVtZW50KCkpOworfQogLy8gU3RhdGljIFZhbHVlIEdldHRlcnMKIAog
c3RhdGljIEpTVmFsdWVSZWYgZ2V0Um9sZUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBK
U09iamVjdFJlZiB0aGlzT2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVS
ZWYqIGV4Y2VwdGlvbikKQEAgLTI1MCw2ICsyNTQsNyBAQCBKU0NsYXNzUmVmIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmdldEpTCiAgICAgICAgIHsgInJvd0luZGV4UmFuZ2UiLCByb3dJbmRleFJh
bmdlQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiY29sdW1uSW5kZXhSYW5nZSIsIGNvbHVt
bkluZGV4UmFuZ2VDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJjZWxsRm9yQ29sdW1uQW5k
Um93IiwgY2VsbEZvckNvbHVtbkFuZFJvd0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJl
YWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgInRp
dGxlVUlFbGVtZW50IiwgdGl0bGVVSUVsZW1lbnRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7
IDAsIDAsIDAgfQogICAgIH07CiAKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgJKHJldmlzaW9uIDM2NjY3KQorKysgV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGdldExpbmtlZFVJRWxl
bWVudHMoVmVjdG9yPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+Jik7CiAgICAgdm9pZCBnZXRDaGls
ZHJlbihWZWN0b3I8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4mKTsKICAgICBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50IGdldENoaWxkQXRJbmRleCh1bnNpZ25lZCk7CisgICAgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudCB0aXRsZVVJRWxlbWVudCgpOwogICAgIAogICAgIC8vIE1ldGhvZHMgLSBwbGF0Zm9y
bS1pbmRlcGVuZGVudCBpbXBsZW1lbnRhdGlvbnMKICAgICBKU1N0cmluZ1JlZiBhbGxBdHRyaWJ1
dGVzKCk7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQkocmV2aXNpb24gMzY2NjcpCisrKyBX
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5t
bQkod29ya2luZyBjb3B5KQpAQCAtMTgzLDYgKzE4MywxNSBAQCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50IEFjY2Vzc2liaWxpdHlVSUVsCiAgICAgcmV0dXJuIG5pbDsKIH0KIAorQWNjZXNzaWJpbGl0
eVVJRWxlbWVudCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZVVJRWxlbWVudCgpCit7Cisg
ICAgaWQgYWNjZXNzaWJpbGl0eU9iamVjdCA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUF0dHJp
YnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVRpdGxlVUlFbGVtZW50QXR0cmlidXRlXTsKKyAgICBp
ZiAoYWNjZXNzaWJpbGl0eU9iamVjdCkKKyAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQoYWNjZXNzaWJpbGl0eU9iamVjdCk7CisgICAgCisgICAgcmV0dXJuIG5pbDsKK30KKwog
SlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mTGlua2VkVUlF
bGVtZW50cygpCiB7CiAgICAgVmVjdG9yPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IGxpbmtlZEVs
ZW1lbnRzOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMzY2NjcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAwOC0wOS0xOCAgQ2hyaXMgRmxl
aXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzIGZvciA8cmRhcjovL3Byb2JsZW0vNjIxMTA0MT4g
RXhwb3NlIGxlZ2VuZCB0YWcgaW4gYWNjZXNzaWJpbGl0eQorCisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L2xlZ2VuZC5odG1sOiBBZGRlZC4KKwogMjAwOC0wOS0xOCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCkluZGV4
OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2xlZ2VuZC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9sZWdlbmQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU0IEBACitDaG9vc2UgYSBzaGlwcGluZyBtZXRob2Q6
CitPdmVybmlnaHQKK0FYUm9sZTogQVhHcm91cAorQVhTdWJyb2xlOiAobnVsbCkKK0FYUm9sZURl
c2NyaXB0aW9uOiBncm91cAorQVhDaGlsZHJlbjogPGFycmF5IG9mIHNpemUgMj4KK0FYSGVscDog
CitBWFBhcmVudDogPEFYR3JvdXA+CitBWFNpemU6IE5TU2l6ZTogezc4MCwgNTR9CitBWFRpdGxl
OiAKK0FYRGVzY3JpcHRpb246IAorQVhWYWx1ZTogCitBWEZvY3VzZWQ6IDAKK0FYRW5hYmxlZDog
MQorQVhXaW5kb3c6IDxBWEdyb3VwPgorQVhTZWxlY3RlZFRleHRNYXJrZXJSYW5nZTogKG51bGwp
CitBWFN0YXJ0VGV4dE1hcmtlcjogPEFYR3JvdXA+CitBWEVuZFRleHRNYXJrZXI6IDxBWEdyb3Vw
PgorQVhWaXNpdGVkOiAwCitBWExpbmtlZFVJRWxlbWVudHM6IChudWxsKQorQVhTZWxlY3RlZDog
MAorQVhCbG9ja1F1b3RlTGV2ZWw6IDAKK0FYVG9wTGV2ZWxVSUVsZW1lbnQ6IDxBWEdyb3VwPgor
QVhUaXRsZVVJRWxlbWVudDogPEFYR3JvdXA+CisKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKworQVhSb2xlOiBBWFN0YXRpY1RleHQKK0FYU3Vicm9sZTogKG51bGwpCitBWFJvbGVE
ZXNjcmlwdGlvbjogdGV4dAorQVhDaGlsZHJlbjogPGFycmF5IG9mIHNpemUgMD4KK0FYSGVscDog
CitBWFBhcmVudDogPEFYU3RhdGljVGV4dD4KK0FYU2l6ZTogTlNTaXplOiB7MTcyLCAxOH0KK0FY
VGl0bGU6IAorQVhEZXNjcmlwdGlvbjogCitBWFZhbHVlOiBDaG9vc2UgYSBzaGlwcGluZyBtZXRo
b2Q6CitBWEZvY3VzZWQ6IDAKK0FYRW5hYmxlZDogMQorQVhXaW5kb3c6IDxBWFN0YXRpY1RleHQ+
CitBWFNlbGVjdGVkVGV4dE1hcmtlclJhbmdlOiAobnVsbCkKK0FYU3RhcnRUZXh0TWFya2VyOiA8
QVhTdGF0aWNUZXh0PgorQVhFbmRUZXh0TWFya2VyOiA8QVhTdGF0aWNUZXh0PgorQVhWaXNpdGVk
OiAwCitBWExpbmtlZFVJRWxlbWVudHM6IChudWxsKQorQVhTZWxlY3RlZDogMAorQVhCbG9ja1F1
b3RlTGV2ZWw6IDAKK0FYVG9wTGV2ZWxVSUVsZW1lbnQ6IDxBWFN0YXRpY1RleHQ+CisKKy0tLS0t
LS0tLS0tLQorCisKKwpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9sZWdlbmQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2xlZ2VuZC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9sZWdlbmQuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwzNSBAQAorPGh0bWw+Cis8c2NyaXB0PgorICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPGJvZHkgaWQ9ImJvZHkiPgorIAorICAgIDwhLS0gdGhp
cyB0ZXN0IHNob3VsZCBvdXRwdXQgdGhlIGF0dHJpYnV0ZXMgb2YgdGhlIGZpZWxkc2V0IHdoaWNo
IHNob3VsZCBiZSBhIGdyb3VwCisgICAgICAgICBhbmQgaXQncyB0aXRsZSB1aSBlbGVtZW50J3Mg
Y2hpbGRyZW4sIHdoaWNoIHNob3VsZCBiZSB0aGUgPGxlZ2VuZD4gdGFnJ3Mgc3RhdGljIHRleHQg
LS0+CisKKyAgICA8ZmllbGRzZXQ+CisJPGxlZ2VuZD5DaG9vc2UgYSBzaGlwcGluZyBtZXRob2Q6
PC9sZWdlbmQ+CisJPGlucHV0IGlkPSJvdmVybmlnaHQiIHR5cGU9InJhZGlvIiBuYW1lPSJzaGlw
cGluZyIgdmFsdWU9Im92ZXJuaWdodCIgLz5PdmVybmlnaHQKKyAgICAgPC9maWVsZHNldD4KKwor
ICAgIAorICAgIDxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+CisKKyAgICAgCisgICAgPHNjcmlwdD4K
KyAgICAgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICAg
ICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKTsKKworICAg
ICAgICAgICAgdmFyIGJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9keSIpOworICAg
ICAgICAgICAgYm9keS5mb2N1cygpOworICAgICAgICAgICAgdmFyIGZpZWxkc2V0ID0gYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApOworICAgICAg
ICAgICAgdmFyIHRpdGxlVUlFbGVtZW50ID0gZmllbGRzZXQudGl0bGVVSUVsZW1lbnQoKTsKKwor
ICAgICAgICAgICAgcmVzdWx0LmlubmVyVGV4dCArPSBmaWVsZHNldC5hbGxBdHRyaWJ1dGVzKCkg
KyAiXG5cbiI7CisgICAgICAgICAgICByZXN1bHQuaW5uZXJUZXh0ICs9ICItLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLVxuXG4iOyAKKyAgICAgICAgICAgIHJlc3VsdC5pbm5lclRleHQgKz0g
dGl0bGVVSUVsZW1lbnQuYXR0cmlidXRlc09mQ2hpbGRyZW4oKSArICJcblxuIjsgCisgICAgICAg
IH0KKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="10551"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>