<?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>41160</bug_id>
          
          <creation_ts>2010-06-24 07:54:31 -0700</creation_ts>
          <short_desc>Spatial Navigation: make elements in inner frames nested more than 1 level deep focusable</short_desc>
          <delta_ts>2011-04-19 05:15:29 -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>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.w3schools.com/TAGS/tryit.asp?filename=tryhtml_iframe</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>41157</dependson>
          <blocked>18662</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antonio Gomes">tonikitoo</reporter>
          <assigned_to name="Antonio Gomes">tonikitoo</assigned_to>
          <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>242519</commentid>
    <comment_count>0</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-06-24 07:54:31 -0700</bug_when>
    <thetext>Spatial navigation does not work fine traversing nested iframe content as in [1].

[1] http://www.w3schools.com/TAGS/tryit.asp?filename=tryhtml_iframe

patch coming ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242524</commentid>
    <comment_count>1</comment_count>
      <attachid>59656</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-06-24 08:15:17 -0700</bug_when>
    <thetext>Created attachment 59656
patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243089</commentid>
    <comment_count>2</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-06-25 11:24:45 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=59656) [details]
&gt; patch v1

@Simon, Kenneth: could any of you help with reviewing this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244425</commentid>
    <comment_count>3</comment_count>
      <attachid>59656</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-06-29 12:28:21 -0700</bug_when>
    <thetext>Comment on attachment 59656
patch v1

&gt; +bool checkDescendenceRecursively(Document* baseDocument, Node* node)

Check for what? I think this method name could be improved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244472</commentid>
    <comment_count>4</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-06-29 14:12:06 -0700</bug_when>
    <thetext>Thank you for the review.

(In reply to comment #3)
&gt; (From update of attachment 59656 [details])
&gt; &gt; +bool checkDescendenceRecursively(Document* baseDocument, Node* node)
&gt; 
&gt; Check for what? I think this method name could be improved.

This method works like Node::isDescendantOf, but for nested documents.

Basically, it checks if a given node is descendant of a given baseDocument. If it is not, it goes recursively up in the document chain checking if the current document is a descendant of baseDocument.

Would you have a better name to suggest based on the description?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244481</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-06-29 14:16:08 -0700</bug_when>
    <thetext>isDeepDescendantOf?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244491</commentid>
    <comment_count>6</comment_count>
      <attachid>60056</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-06-29 14:38:04 -0700</bug_when>
    <thetext>Created attachment 60056
patch v2 - s/checkDescendanceRecursively/isDeepDescendantOf/

As per Simon suggestion, naming the added method as isDeepDescendantOf/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244505</commentid>
    <comment_count>7</comment_count>
      <attachid>60062</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-06-29 14:57:18 -0700</bug_when>
    <thetext>Created attachment 60062
(r62179 - r=smfr) patch v2.1 - right patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244508</commentid>
    <comment_count>8</comment_count>
      <attachid>60062</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-06-29 14:59:37 -0700</bug_when>
    <thetext>Comment on attachment 60062
(r62179 - r=smfr) patch v2.1 - right patch

Since this addition is a function, not a method, the name should be more like isNodeDeepDescendentOfDocument(), or perhaps documentTreeContainsNode().

r=me either way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244743</commentid>
    <comment_count>9</comment_count>
      <attachid>60062</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-06-30 05:46:45 -0700</bug_when>
    <thetext>Comment on attachment 60062
(r62179 - r=smfr) patch v2.1 - right patch

Clearing flags on attachment: 60062

Committed r62179: &lt;http://trac.webkit.org/changeset/62179&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244744</commentid>
    <comment_count>10</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-06-30 05:47:23 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 60062 [details])
&gt; Since this addition is a function, not a method, the name should be more like isNodeDeepDescendentOfDocument(), or perhaps documentTreeContainsNode().
&gt; 
&gt; r=me either way.

I used the former. Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245188</commentid>
    <comment_count>11</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-07-01 01:16:06 -0700</bug_when>
    <thetext>Revision r62179 cherry-picked into qtwebkit-2.0 with commit 18375caeaf6b2cf99c45e1b225e23c6028e1dd68</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59656</attachid>
            <date>2010-06-24 08:15:17 -0700</date>
            <delta_ts>2010-06-29 14:38:04 -0700</delta_ts>
            <desc>patch v1</desc>
            <filename>0001-2010-06-24-Antonio-Gomes-tonikitoo-webkit.org.patch</filename>
            <type>text/plain</type>
            <size>11021</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSBlZDFkZGFkYjQyYWI3YjFmNGI5NTdiZTM2N2U3OGM3YjM4ODJlZmY4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4K
RGF0ZTogVGh1LCAyNCBKdW4gMjAxMCAwOTo1NzoxNSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIw
MTAtMDYtMjQgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4KCiAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFNwYXRpYWwgTmF2aWdhdGlvbjog
bWFrZSBlbGVtZW50cyBpbiBpbm5lciBmcmFtZXMgbmVzdGVkIG1vcmUgdGhhbiAxIGxldmVsIGRl
ZXAgZm9jdXNhYmxlCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQxMTYwCgogICAgICAgIFBhdGNoIGFkZHJlc3NlcyB0aGUgcHJvYmxlbSBvZiBzcGF0aWFs
IG5hdmlnYXRpb24gbm90IHdvcmsgcHJvcGVybHkgd2l0aCBuZXN0ZWQKICAgICAgICBpbm5lciBm
cmFtZXMgYnkgYWRkaW5nIHRoZSBjaGVja0Rlc2NlbmRlbmNlUmVjdXJzaXZlbHkgbWV0aG9kLiBJ
dCByZWN1cnNpdmVseSBjaGVja3MKICAgICAgICBpZiBhIGdpdmUgbm9kZSBpcyBkZXNjZW5kYW50
IG9mIGEgZ2l2ZW4gZG9jdW1lbnQgb3IgYW55IHBhcmVudCBvZiBpdC4KCiAgICAgICAgVGVzdDog
ZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sCgog
ICAgICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgogICAgICAgIChXZWJDb3JlOjpGb2N1
c0NvbnRyb2xsZXI6OmRlZXBGaW5kRm9jdXNhYmxlTm9kZUluRGlyZWN0aW9uKToKICAgICAgICAq
IHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwOgogICAgICAgIChXZWJDb3JlOjpjaGVja0Rlc2Nl
bmRlbmNlUmVjdXJzaXZlbHkpOgogICAgICAgICogcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5oOgog
ICAgICAgICogZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3Jlc291cmNlcy9pZnJhbWUu
aHRtbDogQWRkZWQuCiAgICAgICAgKiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25h
di1pZnJhbWUtbmVzdGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgKiBmYXN0L2V2ZW50
cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtbmVzdGVkLmh0bWw6IEFkZGVkLgotLS0K
IExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAx
MSArKysKIC4uLi9zcGF0aWFsLW5hdmlnYXRpb24vcmVzb3VyY2VzL2lmcmFtZS5odG1sICAgICAg
IHwgICAxNiArKysrCiAuLi4vc25hdi1pZnJhbWUtbmVzdGVkLWV4cGVjdGVkLnR4dCAgICAgICAg
ICAgICAgICB8ICAgMjYgKysrKysrCiAuLi4vc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1l
LW5lc3RlZC5odG1sICAgICB8ICAgOTMgKysrKysrKysrKysrKysrKysrKysKIFdlYkNvcmUvQ2hh
bmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxOSArKysrCiBXZWJD
b3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcCAgICAgICAgICAgICAgICAgICB8ICAgIDIgKy0K
IFdlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAgICAgICAgICAgICAgICAgIHwgICAy
MCArKysrCiBXZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uaCAgICAgICAgICAgICAgICAg
ICB8ICAgIDEgKwogOCBmaWxlcyBjaGFuZ2VkLCAxODcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv
bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFs
LW5hdmlnYXRpb24vcmVzb3VyY2VzL2lmcmFtZS5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3Rl
ZC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtbmVzdGVkLmh0bWwKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODhi
ZTA1ZS4uM2UzZjQwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMiw2ICsyLDE3IEBACiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCiAKKyAgICAgICAgU3BhdGlhbCBOYXZpZ2F0aW9uOiBtYWtlIGVs
ZW1lbnRzIGluIGlubmVyIGZyYW1lcyBuZXN0ZWQgbW9yZSB0aGFuIDEgbGV2ZWwgZGVlcCBmb2N1
c2FibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQx
MTYwCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vcmVzb3VyY2Vz
L2lmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi1pZnJhbWUtbmVzdGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sOiBB
ZGRlZC4KKworMjAxMC0wNi0yNCAgQW50b25pbyBHb21lcyAgPHRvbmlraXRvb0B3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIFNwYXRp
YWwgTmF2aWdhdGlvbjogcmVmYWN0b3Igc3BhdGlhbC1uYXZpZ2F0aW9uLXV0aWxzLmpzIHRvIHN1
cHBvcnQgdGVzdGluZyBuZXN0ZWQgZnJhbWVzIGRlZXBlciB0aGFuIG9uZSBsZXZlbAogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDExNTcKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3Jlc291cmNl
cy9pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlv
bi9yZXNvdXJjZXMvaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMzAzODhkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Nw
YXRpYWwtbmF2aWdhdGlvbi9yZXNvdXJjZXMvaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwxNiBAQAor
PGh0bWw+Cis8Ym9keT4KKyAgPGlmcmFtZSB3aWR0aD0nODAlJyBoZWlnaHQ9IjcwcHgiIGZyYW1l
Ym9yZGVyPSIwIiBzcmM9ImRhdGE6dGV4dC9odG1sLAorICA8Ym9keT4KKyAgICA8YSBpZD0nMScg
aHJlZj0nIyc+YjwvYT4KKyAgICA8YSBpZD0nMicgaHJlZj0nIyc+YzwvYT4KKyAgICA8YSBpZD0n
MycgaHJlZj0nIyc+ZDwvYT4KKyAgICA8YSBpZD0nNCcgaHJlZj0nIyc+ZTwvYT4KKyAgICA8YSBp
ZD0nNScgaHJlZj0nIyc+ZjwvYT4KKyAgICA8YSBpZD0nNicgaHJlZj0nIyc+ZzwvYT4KKyAgICA8
YSBpZD0nNycgaHJlZj0nIyc+aDwvYT4KKyAgICA8YSBpZD0nOCcgaHJlZj0nIyc+aTwvYT4KKyAg
PC9ib2R5PgorICI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uZXN0ZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9u
L3NuYXYtaWZyYW1lLW5lc3RlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uZjUzYzNmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uZXN0ZWQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMjYgQEAKK0xpbmsKKworTGluaworTGluaworSGVyZSBpcyBhIGxpbmsuCisK
K0xpbmsKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgi
aWQiKSBpcyAiMSIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJp
YnV0ZSgiaWQiKSBpcyAiMiIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50Lmdl
dEF0dHJpYnV0ZSgiaWQiKSBpcyAiMyIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVt
ZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiNCIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3Rp
dmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiNSIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVu
dC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiNiIKK1BBU1MgZ0ZvY3VzZWRE
b2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiNyIKK1BBU1MgZ0Zv
Y3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiOCIKK1BB
U1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAi
OSIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQi
KSBpcyAiOCIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0
ZSgiaWQiKSBpcyAiNyIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0
dHJpYnV0ZSgiaWQiKSBpcyAiNiIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50
LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiNSIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVF
bGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiNCIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5h
Y3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiMyIKK1BBU1MgZ0ZvY3VzZWREb2N1
bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiMiIKK1BBU1MgZ0ZvY3Vz
ZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiMSIKK1BBU1Mg
Z0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAic3Rh
cnQiCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdh
dGlvbi9zbmF2LWlmcmFtZS1uZXN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Nw
YXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uZXN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi40MTQzZjc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1s
CkBAIC0wLDAgKzEsOTMgQEAKKzxodG1sPgorICA8IS0tCisgICAgVGhpcyB0ZXN0IGVuc3VyZXMg
dGhlIGNyb3NzIGlmcmFtZSB0cmF2ZXJzYWwgY29ycmVjdG5lc3Mgb2Ygc3BhdGlhbCBuYXZpZ2F0
aW9uOgorICAgIGZvY3VzYWJsZSBlbGVtZW50cyBpbiBuZXN0ZWQgaW5uZXIgZnJhbWUgc2hvdWxk
IGJlIGFjY2Vzc2libGUuCisKKyAgICAqIFByZS1jb25kaXRpb25zOgorICAgIDEpIERSVCBzdXBw
b3J0IGZvciBzcGF0aWFsIG5hdmlnYXRpb24gZW5hYmxlL2Rpc2FibGUuCisKKyAgICAqIE5hdmln
YXRpb24gc3RlcHM6CisgICAgMSkgTG9hZHMgdGhpcyBwYWdlLCBmb2N1cyBnb2VzIHRvICJzdGFy
dCIgYXV0b21hdGljYWxseS4KKyAgICAyKSBGb2N1cyBtb3ZlcyBhbG9uZyB0aGUgZWxlbWVudHMg
aW4gdGhlIHR3byBsZXZlbCBkZWVwIG5lc3RlZCBmcmFtZSwKKyAgICAgICBidXQgZ29pbmcgYmFj
ayB0byB0aGUgbWFpbiBmcmFtZSBsYXRlciBvbi4KKyAgLS0+CisgIDxoZWFkPgorICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc3BhdGlhbC1uYXZpZ2F0aW9uLXV0aWxzLmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiPgorCisgICAg
dmFyIHJlc3VsdE1hcCA9IFsKKyAgICAgIFsiUmlnaHQiLCAiMSJdLAorICAgICAgWyJSaWdodCIs
ICIyIl0sCisgICAgICBbIlJpZ2h0IiwgIjMiXSwKKyAgICAgIFsiUmlnaHQiLCAiNCJdLAorICAg
ICAgWyJSaWdodCIsICI1Il0sCisgICAgICBbIlJpZ2h0IiwgIjYiXSwKKyAgICAgIFsiUmlnaHQi
LCAiNyJdLAorICAgICAgWyJSaWdodCIsICI4Il0sCisgICAgICBbIlJpZ2h0IiwgIjkiXSwKKyAg
ICAgIFsiTGVmdCIsICI4Il0sCisgICAgICBbIkxlZnQiLCAiNyJdLAorICAgICAgWyJMZWZ0Iiwg
IjYiXSwKKyAgICAgIFsiTGVmdCIsICI1Il0sCisgICAgICBbIkxlZnQiLCAiNCJdLAorICAgICAg
WyJMZWZ0IiwgIjMiXSwKKyAgICAgIFsiTGVmdCIsICIyIl0sCisgICAgICBbIkxlZnQiLCAiMSJd
LAorICAgICAgWyJMZWZ0IiwgInN0YXJ0Il0sCisgICAgICBbIkRPTkUiLCAiRE9ORSJdCisgICAg
XTsKKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKKyAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXki
LCAxKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICB7CisgICAgICAvLyBzdGFydGluZyB0aGUg
dGVzdCBpdHNlbGY6IGdldCB0byBhIGtub3duIHBsYWNlLgorICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN0YXJ0IikuZm9jdXMoKTsKKworICAgICAgaW5pdFRlc3QocmVzdWx0TWFwLCB0
ZXN0Q29tcGxldGVkKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB0ZXN0Q29tcGxldGVkKCkKKyAg
ICB7CisgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgd2luZG93Lm9ubG9h
ZCA9IHJ1blRlc3Q7CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5PgorICA8
dGFibGUgc3R5bGU9InRleHQtYWxpZ246IHRvcDsiICBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIz
cHgiIGNlbGxzcGFjaW5nPSIzcHgiPgorICAgIDx0cj4KKyAgICAgIDx0ZCB2YWxpZ249InRvcCIg
d2lkdGg9IjEwJSI+CisgICAgICAgIDxhIGlkPSJzdGFydCIgaHJlZj0iIyI+TGluazwvYT48YnI+
CisgICAgICA8L3RkPgorICAgICAgPHRkIHZhbGlnbj0idG9wIj4KKyAgICAgICAgPGlmcmFtZSB3
aWR0aD0iNTAlIiBoZWlnaHQ9IjEwMHB4IiBmcmFtZWJvcmRlcj0iMSIgc3JjPSJyZXNvdXJjZXMv
aWZyYW1lLmh0bWwiPjwvaWZyYW1lPjxicj4KKyAgICAgIDwvdGQ+CisgICAgICA8dGQgdmFsaWdu
PSJ0b3AiIHdpZHRoPSIxMCUiPgorICAgICAgICA8YSBpZD0iOSIgaHJlZj0iIyI+TGluazwvYT48
YnI+CisgICAgICA8L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgPHRkIHZhbGlnbj0i
dG9wIiB3aWR0aD0iMTAlIj4KKyAgICAgICAgPGEgaWQ9IjEwIiBocmVmPSIjIj5MaW5rPC9hPjxi
cj4KKyAgICAgIDwvdGQ+CisgICAgICA8dGQgdmFsaWduPSJ0b3AiPgorICAgICAgICAgIDxwPjxh
IGlkPSIxMSIgaHJlZj0iIyI+SGVyZTwvYT4gaXMgYSBsaW5rLjwvcD4KKyAgICAgIDwvdGQ+Cisg
ICAgICA8dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIxMCUiPgorICAgICAgICA8YSBpZD0iMTIiIGhy
ZWY9IiMiPkxpbms8L2E+PGJyPgorICAgICAgPC90ZD4KKyAgICA8L3RyPgorICA8L3RhYmxlPgor
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5MTI5ZjNkLi40
M2E5ZDYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEwLTA2LTI0ICBBbnRvbmlvIEdvbWVzICA8dG9uaWtp
dG9vQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU3BhdGlhbCBOYXZpZ2F0aW9uOiBtYWtlIGVsZW1lbnRzIGluIGlubmVyIGZyYW1l
cyBuZXN0ZWQgbW9yZSB0aGFuIDEgbGV2ZWwgZGVlcCBmb2N1c2FibGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxMTYwCisKKyAgICAgICAgUGF0Y2gg
YWRkcmVzc2VzIHRoZSBwcm9ibGVtIG9mIHNwYXRpYWwgbmF2aWdhdGlvbiBub3Qgd29yayBwcm9w
ZXJseSB3aXRoIG5lc3RlZAorICAgICAgICBpbm5lciBmcmFtZXMgYnkgYWRkaW5nIHRoZSBjaGVj
a0Rlc2NlbmRlbmNlUmVjdXJzaXZlbHkgbWV0aG9kLiBJdCByZWN1cnNpdmVseSBjaGVja3MKKyAg
ICAgICAgaWYgYSBnaXZlIG5vZGUgaXMgZGVzY2VuZGFudCBvZiBhIGdpdmVuIGRvY3VtZW50IG9y
IGFueSBwYXJlbnQgb2YgaXQuCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvc3BhdGlhbC1u
YXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sCisKKyAgICAgICAgKiBwYWdlL0ZvY3Vz
Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OmRlZXBG
aW5kRm9jdXNhYmxlTm9kZUluRGlyZWN0aW9uKToKKyAgICAgICAgKiBwYWdlL1NwYXRpYWxOYXZp
Z2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNoZWNrRGVzY2VuZGVuY2VSZWN1cnNpdmVs
eSk6CisgICAgICAgICogcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5oOgorCiAyMDEwLTA2LTIyIEdy
YWNlIEtsb2JhICA8a2xvYmFnQGdtYWlsLmNvbT4gLCBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9v
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUvcGFnZS9G
b2N1c0NvbnRyb2xsZXIuY3BwCmluZGV4IGU5ZjE4MGIuLjY0MzQzNDIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9Gb2N1c0Nv
bnRyb2xsZXIuY3BwCkBAIC01MDMsNyArNTAzLDcgQEAgdm9pZCBGb2N1c0NvbnRyb2xsZXI6OmRl
ZXBGaW5kRm9jdXNhYmxlTm9kZUluRGlyZWN0aW9uKE5vZGUqIGNvbnRhaW5lciwgTm9kZSogZm8K
ICAgICAgICAgaWYgKCFpbm5lckRvY3VtZW50KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAg
ICAgIGRlc2NlbmRhbnRPZkNvbnRhaW5lciA9IGlubmVyRG9jdW1lbnQgPT0gZm9jdXNlZE5vZGUt
PmRvY3VtZW50KCk7CisgICAgICAgIGRlc2NlbmRhbnRPZkNvbnRhaW5lciA9IGNoZWNrRGVzY2Vu
ZGVuY2VSZWN1cnNpdmVseShpbm5lckRvY3VtZW50LCBmb2N1c2VkTm9kZSk7CiAgICAgICAgIGZp
cnN0Q2hpbGQgPSBpbm5lckRvY3VtZW50LT5maXJzdENoaWxkKCk7CiAKICAgICAvLyBTY3JvbGxh
YmxlIGJsb2NrIGVsZW1lbnRzIChlLmcuIDxkaXY+LCBldGMpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwIGIvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0
aW9uLmNwcAppbmRleCA1OGI3MGU0Li5jNTdhNWI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
U3BhdGlhbE5hdmlnYXRpb24uY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlv
bi5jcHAKQEAgLTU0Niw0ICs1NDYsMjQgQEAgYm9vbCBpc1Njcm9sbGFibGVDb250YWluZXJOb2Rl
KE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIGNoZWNrRGVzY2VuZGVu
Y2VSZWN1cnNpdmVseShEb2N1bWVudCogYmFzZURvY3VtZW50LCBOb2RlKiBub2RlKQoreworICAg
IGlmICghbm9kZSB8fCAhYmFzZURvY3VtZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBib29sIGRlc2NlbmRhbnQgPSBiYXNlRG9jdW1lbnQgPT0gbm9kZS0+ZG9jdW1lbnQoKTsKKwor
ICAgIEVsZW1lbnQqIGN1cnJlbnRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUp
OworICAgIHdoaWxlICghZGVzY2VuZGFudCkgeworICAgICAgICBFbGVtZW50KiBkb2N1bWVudE93
bmVyID0gY3VycmVudEVsZW1lbnQtPmRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpOworICAgICAg
ICBpZiAoIWRvY3VtZW50T3duZXIpCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBkZXNj
ZW5kYW50ID0gZG9jdW1lbnRPd25lci0+ZG9jdW1lbnQoKSA9PSBiYXNlRG9jdW1lbnQ7CisgICAg
ICAgIGN1cnJlbnRFbGVtZW50ID0gZG9jdW1lbnRPd25lcjsKKyAgICB9CisKKyAgICByZXR1cm4g
ZGVzY2VuZGFudDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmggYi9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmln
YXRpb24uaAppbmRleCA3ODQxOWE3Li42MzkzNzc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
U3BhdGlhbE5hdmlnYXRpb24uaAorKysgYi9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24u
aApAQCAtMTMzLDYgKzEzMyw3IEBAIHZvaWQgc2Nyb2xsSW50b1ZpZXcoRWxlbWVudCopOwogYm9v
bCBoYXNPZmZzY3JlZW5SZWN0KE5vZGUqKTsKIGJvb2wgaXNJblJvb3REb2N1bWVudChOb2RlKik7
CiBib29sIGlzU2Nyb2xsYWJsZUNvbnRhaW5lck5vZGUoTm9kZSopOworYm9vbCBjaGVja0Rlc2Nl
bmRlbmNlUmVjdXJzaXZlbHkoRG9jdW1lbnQqLCBOb2RlKik7CiAKIH0gLy8gbmFtc3BhY2UgV2Vi
Q29yZQogCi0tIAoxLjcuMC40Cgo=
</data>
<flag name="review"
          id="46633"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60056</attachid>
            <date>2010-06-29 14:38:04 -0700</date>
            <delta_ts>2010-06-29 14:57:18 -0700</delta_ts>
            <desc>patch v2 - s/checkDescendanceRecursively/isDeepDescendantOf/</desc>
            <filename>0001-2010-06-24-Antonio-Gomes-tonikitoo-webkit.org.patch</filename>
            <type>text/plain</type>
            <size>10997</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSBhMGM0YmZmNjk2ZDVlM2E1MGM1ZDc4NGI4ZjAzZTc2MGE1MTdmYzc4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4K
RGF0ZTogVGh1LCAyNCBKdW4gMjAxMCAwOTo1NzoxNSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIw
MTAtMDYtMjQgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4KCiAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFNwYXRpYWwgTmF2aWdhdGlvbjog
bWFrZSBlbGVtZW50cyBpbiBpbm5lciBmcmFtZXMgbmVzdGVkIG1vcmUgdGhhbiAxIGxldmVsIGRl
ZXAgZm9jdXNhYmxlCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQxMTYwCgogICAgICAgIFBhdGNoIGFkZHJlc3NlcyB0aGUgcHJvYmxlbSBvZiBzcGF0aWFs
IG5hdmlnYXRpb24gbm90IHdvcmsgcHJvcGVybHkgd2l0aCBuZXN0ZWQKICAgICAgICBpbm5lciBm
cmFtZXMgYnkgYWRkaW5nIHRoZSBpc0RlZXBEZXNjZW5kYW50T2YgbWV0aG9kLiBJdCByZWN1cnNp
dmVseSBjaGVja3MKICAgICAgICBpZiBhIGdpdmUgbm9kZSBpcyBkZXNjZW5kYW50IG9mIGEgZ2l2
ZW4gZG9jdW1lbnQgb3IgYW55IHBhcmVudCBvZiBpdC4KCiAgICAgICAgVGVzdDogZmFzdC9ldmVu
dHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sCgogICAgICAgICog
cGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgogICAgICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xs
ZXI6OmRlZXBGaW5kRm9jdXNhYmxlTm9kZUluRGlyZWN0aW9uKToKICAgICAgICAqIHBhZ2UvU3Bh
dGlhbE5hdmlnYXRpb24uY3BwOgogICAgICAgIChXZWJDb3JlOjppc0RlZXBEZXNjZW5kYW50T2Yp
OgogICAgICAgICogcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5oOgogICAgICAgICogZmFzdC9ldmVu
dHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3Jlc291cmNlcy9pZnJhbWUuaHRtbDogQWRkZWQuCiAgICAg
ICAgKiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtbmVzdGVkLWV4
cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgKiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRp
b24vc25hdi1pZnJhbWUtbmVzdGVkLmh0bWw6IEFkZGVkLgotLS0KIExheW91dFRlc3RzL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMSArKysKIC4uLi9zcGF0aWFs
LW5hdmlnYXRpb24vcmVzb3VyY2VzL2lmcmFtZS5odG1sICAgICAgIHwgICAxNiArKysrCiAuLi4v
c25hdi1pZnJhbWUtbmVzdGVkLWV4cGVjdGVkLnR4dCAgICAgICAgICAgICAgICB8ICAgMjYgKysr
KysrCiAuLi4vc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sICAgICB8
ICAgOTMgKysrKysrKysrKysrKysrKysrKysKIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAxOSArKysrCiBXZWJDb3JlL3BhZ2UvRm9jdXNDb250
cm9sbGVyLmNwcCAgICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIFdlYkNvcmUvcGFnZS9TcGF0
aWFsTmF2aWdhdGlvbi5jcHAgICAgICAgICAgICAgICAgIHwgICAyMCArKysrCiBXZWJDb3JlL3Bh
Z2UvU3BhdGlhbE5hdmlnYXRpb24uaCAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogOCBmaWxl
cyBjaGFuZ2VkLCAxODcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vcmVzb3Vy
Y2VzL2lmcmFtZS5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC1leHBlY3RlZC50eHQKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRp
b24vc25hdi1pZnJhbWUtbmVzdGVkLmh0bWwKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGU3ZmE4NC4uZTJlOGVmMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMjExNCw2ICsyMTE0LDE3IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBD
aHJpc3RpYW5zZW4uCiAKKyAgICAgICAgU3BhdGlhbCBOYXZpZ2F0aW9uOiBtYWtlIGVsZW1lbnRz
IGluIGlubmVyIGZyYW1lcyBuZXN0ZWQgbW9yZSB0aGFuIDEgbGV2ZWwgZGVlcCBmb2N1c2FibGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxMTYwCisK
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vcmVzb3VyY2VzL2lmcmFt
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24v
c25hdi1pZnJhbWUtbmVzdGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9l
dmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sOiBBZGRlZC4K
KworMjAxMC0wNi0yNCAgQW50b25pbyBHb21lcyAgPHRvbmlraXRvb0B3ZWJraXQub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIFNwYXRpYWwgTmF2
aWdhdGlvbjogcmVmYWN0b3Igc3BhdGlhbC1uYXZpZ2F0aW9uLXV0aWxzLmpzIHRvIHN1cHBvcnQg
dGVzdGluZyBuZXN0ZWQgZnJhbWVzIGRlZXBlciB0aGFuIG9uZSBsZXZlbAogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDExNTcKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3Jlc291cmNlcy9pZnJh
bWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9yZXNv
dXJjZXMvaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAz
ODhkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwt
bmF2aWdhdGlvbi9yZXNvdXJjZXMvaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+
Cis8Ym9keT4KKyAgPGlmcmFtZSB3aWR0aD0nODAlJyBoZWlnaHQ9IjcwcHgiIGZyYW1lYm9yZGVy
PSIwIiBzcmM9ImRhdGE6dGV4dC9odG1sLAorICA8Ym9keT4KKyAgICA8YSBpZD0nMScgaHJlZj0n
Iyc+YjwvYT4KKyAgICA8YSBpZD0nMicgaHJlZj0nIyc+YzwvYT4KKyAgICA8YSBpZD0nMycgaHJl
Zj0nIyc+ZDwvYT4KKyAgICA8YSBpZD0nNCcgaHJlZj0nIyc+ZTwvYT4KKyAgICA8YSBpZD0nNScg
aHJlZj0nIyc+ZjwvYT4KKyAgICA8YSBpZD0nNicgaHJlZj0nIyc+ZzwvYT4KKyAgICA8YSBpZD0n
NycgaHJlZj0nIyc+aDwvYT4KKyAgICA8YSBpZD0nOCcgaHJlZj0nIyc+aTwvYT4KKyAgPC9ib2R5
PgorICI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uZXN0ZWQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
aWZyYW1lLW5lc3RlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZjUzYzNmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uZXN0ZWQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMjYgQEAKK0xpbmsKKworTGluaworTGluaworSGVyZSBpcyBhIGxpbmsuCisKK0xpbmsK
K1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBp
cyAiMSIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgi
aWQiKSBpcyAiMiIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJp
YnV0ZSgiaWQiKSBpcyAiMyIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50Lmdl
dEF0dHJpYnV0ZSgiaWQiKSBpcyAiNCIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVt
ZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiNSIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3Rp
dmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiNiIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVu
dC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiNyIKK1BBU1MgZ0ZvY3VzZWRE
b2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiOCIKK1BBU1MgZ0Zv
Y3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiOSIKK1BB
U1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAi
OCIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQi
KSBpcyAiNyIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0
ZSgiaWQiKSBpcyAiNiIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0
dHJpYnV0ZSgiaWQiKSBpcyAiNSIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50
LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiNCIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVF
bGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiMyIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5h
Y3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiMiIKK1BBU1MgZ0ZvY3VzZWREb2N1
bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiMSIKK1BBU1MgZ0ZvY3Vz
ZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAic3RhcnQiCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LWlmcmFtZS1uZXN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwt
bmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uZXN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi40MTQzZjc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sCkBAIC0w
LDAgKzEsOTMgQEAKKzxodG1sPgorICA8IS0tCisgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNy
b3NzIGlmcmFtZSB0cmF2ZXJzYWwgY29ycmVjdG5lc3Mgb2Ygc3BhdGlhbCBuYXZpZ2F0aW9uOgor
ICAgIGZvY3VzYWJsZSBlbGVtZW50cyBpbiBuZXN0ZWQgaW5uZXIgZnJhbWUgc2hvdWxkIGJlIGFj
Y2Vzc2libGUuCisKKyAgICAqIFByZS1jb25kaXRpb25zOgorICAgIDEpIERSVCBzdXBwb3J0IGZv
ciBzcGF0aWFsIG5hdmlnYXRpb24gZW5hYmxlL2Rpc2FibGUuCisKKyAgICAqIE5hdmlnYXRpb24g
c3RlcHM6CisgICAgMSkgTG9hZHMgdGhpcyBwYWdlLCBmb2N1cyBnb2VzIHRvICJzdGFydCIgYXV0
b21hdGljYWxseS4KKyAgICAyKSBGb2N1cyBtb3ZlcyBhbG9uZyB0aGUgZWxlbWVudHMgaW4gdGhl
IHR3byBsZXZlbCBkZWVwIG5lc3RlZCBmcmFtZSwKKyAgICAgICBidXQgZ29pbmcgYmFjayB0byB0
aGUgbWFpbiBmcmFtZSBsYXRlciBvbi4KKyAgLS0+CisgIDxoZWFkPgorICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvc3BhdGlhbC1uYXZpZ2F0aW9uLXV0aWxzLmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiPgorCisgICAgdmFyIHJl
c3VsdE1hcCA9IFsKKyAgICAgIFsiUmlnaHQiLCAiMSJdLAorICAgICAgWyJSaWdodCIsICIyIl0s
CisgICAgICBbIlJpZ2h0IiwgIjMiXSwKKyAgICAgIFsiUmlnaHQiLCAiNCJdLAorICAgICAgWyJS
aWdodCIsICI1Il0sCisgICAgICBbIlJpZ2h0IiwgIjYiXSwKKyAgICAgIFsiUmlnaHQiLCAiNyJd
LAorICAgICAgWyJSaWdodCIsICI4Il0sCisgICAgICBbIlJpZ2h0IiwgIjkiXSwKKyAgICAgIFsi
TGVmdCIsICI4Il0sCisgICAgICBbIkxlZnQiLCAiNyJdLAorICAgICAgWyJMZWZ0IiwgIjYiXSwK
KyAgICAgIFsiTGVmdCIsICI1Il0sCisgICAgICBbIkxlZnQiLCAiNCJdLAorICAgICAgWyJMZWZ0
IiwgIjMiXSwKKyAgICAgIFsiTGVmdCIsICIyIl0sCisgICAgICBbIkxlZnQiLCAiMSJdLAorICAg
ICAgWyJMZWZ0IiwgInN0YXJ0Il0sCisgICAgICBbIkRPTkUiLCAiRE9ORSJdCisgICAgXTsKKwor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFNw
YXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsK
KyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICB7CisgICAgICAvLyBzdGFydGluZyB0aGUgdGVzdCBp
dHNlbGY6IGdldCB0byBhIGtub3duIHBsYWNlLgorICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikuZm9jdXMoKTsKKworICAgICAgaW5pdFRlc3QocmVzdWx0TWFwLCB0ZXN0Q29t
cGxldGVkKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB0ZXN0Q29tcGxldGVkKCkKKyAgICB7Cisg
ICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgd2luZG93Lm9ubG9hZCA9IHJ1
blRlc3Q7CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5PgorICA8dGFibGUg
c3R5bGU9InRleHQtYWxpZ246IHRvcDsiICBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzcHgiIGNl
bGxzcGFjaW5nPSIzcHgiPgorICAgIDx0cj4KKyAgICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9
IjEwJSI+CisgICAgICAgIDxhIGlkPSJzdGFydCIgaHJlZj0iIyI+TGluazwvYT48YnI+CisgICAg
ICA8L3RkPgorICAgICAgPHRkIHZhbGlnbj0idG9wIj4KKyAgICAgICAgPGlmcmFtZSB3aWR0aD0i
NTAlIiBoZWlnaHQ9IjEwMHB4IiBmcmFtZWJvcmRlcj0iMSIgc3JjPSJyZXNvdXJjZXMvaWZyYW1l
Lmh0bWwiPjwvaWZyYW1lPjxicj4KKyAgICAgIDwvdGQ+CisgICAgICA8dGQgdmFsaWduPSJ0b3Ai
IHdpZHRoPSIxMCUiPgorICAgICAgICA8YSBpZD0iOSIgaHJlZj0iIyI+TGluazwvYT48YnI+Cisg
ICAgICA8L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgPHRkIHZhbGlnbj0idG9wIiB3
aWR0aD0iMTAlIj4KKyAgICAgICAgPGEgaWQ9IjEwIiBocmVmPSIjIj5MaW5rPC9hPjxicj4KKyAg
ICAgIDwvdGQ+CisgICAgICA8dGQgdmFsaWduPSJ0b3AiPgorICAgICAgICAgIDxwPjxhIGlkPSIx
MSIgaHJlZj0iIyI+SGVyZTwvYT4gaXMgYSBsaW5rLjwvcD4KKyAgICAgIDwvdGQ+CisgICAgICA8
dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIxMCUiPgorICAgICAgICA8YSBpZD0iMTIiIGhyZWY9IiMi
Pkxpbms8L2E+PGJyPgorICAgICAgPC90ZD4KKyAgICA8L3RyPgorICA8L3RhYmxlPgorICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhNzdhZGZhLi43MTQwZmI2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIyIEBACisyMDEwLTA2LTI0ICBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9vQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgU3BhdGlhbCBOYXZpZ2F0aW9uOiBtYWtlIGVsZW1lbnRzIGluIGlubmVyIGZyYW1lcyBuZXN0
ZWQgbW9yZSB0aGFuIDEgbGV2ZWwgZGVlcCBmb2N1c2FibGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxMTYwCisKKyAgICAgICAgUGF0Y2ggYWRkcmVz
c2VzIHRoZSBwcm9ibGVtIG9mIHNwYXRpYWwgbmF2aWdhdGlvbiBub3Qgd29yayBwcm9wZXJseSB3
aXRoIG5lc3RlZAorICAgICAgICBpbm5lciBmcmFtZXMgYnkgYWRkaW5nIHRoZSBpc0RlZXBEZXNj
ZW5kYW50T2YgbWV0aG9kLiBJdCByZWN1cnNpdmVseSBjaGVja3MKKyAgICAgICAgaWYgYSBnaXZl
IG5vZGUgaXMgZGVzY2VuZGFudCBvZiBhIGdpdmVuIGRvY3VtZW50IG9yIGFueSBwYXJlbnQgb2Yg
aXQuCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
aWZyYW1lLW5lc3RlZC5odG1sCisKKyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OmRlZXBGaW5kRm9jdXNhYmxlTm9k
ZUluRGlyZWN0aW9uKToKKyAgICAgICAgKiBwYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmlzRGVlcERlc2NlbmRhbnRPZik6CisgICAgICAgICogcGFnZS9TcGF0
aWFsTmF2aWdhdGlvbi5oOgorCiAyMDEwLTA2LTI1IEdyYWNlIEtsb2JhICA8a2xvYmFnQGdtYWls
LmNvbT4gLCBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9vQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRm9j
dXNDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCmluZGV4
IGU5ZjE4MGIuLjY0MzQzNDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xs
ZXIuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCkBAIC01MDMsNyAr
NTAzLDcgQEAgdm9pZCBGb2N1c0NvbnRyb2xsZXI6OmRlZXBGaW5kRm9jdXNhYmxlTm9kZUluRGly
ZWN0aW9uKE5vZGUqIGNvbnRhaW5lciwgTm9kZSogZm8KICAgICAgICAgaWYgKCFpbm5lckRvY3Vt
ZW50KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGRlc2NlbmRhbnRPZkNvbnRhaW5l
ciA9IGlubmVyRG9jdW1lbnQgPT0gZm9jdXNlZE5vZGUtPmRvY3VtZW50KCk7CisgICAgICAgIGRl
c2NlbmRhbnRPZkNvbnRhaW5lciA9IGNoZWNrRGVzY2VuZGVuY2VSZWN1cnNpdmVseShpbm5lckRv
Y3VtZW50LCBmb2N1c2VkTm9kZSk7CiAgICAgICAgIGZpcnN0Q2hpbGQgPSBpbm5lckRvY3VtZW50
LT5maXJzdENoaWxkKCk7CiAKICAgICAvLyBTY3JvbGxhYmxlIGJsb2NrIGVsZW1lbnRzIChlLmcu
IDxkaXY+LCBldGMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24u
Y3BwIGIvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcAppbmRleCA1OGI3MGU0Li5j
NTdhNWI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCisr
KyBiL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAKQEAgLTU0Niw0ICs1NDYsMjQg
QEAgYm9vbCBpc1Njcm9sbGFibGVDb250YWluZXJOb2RlKE5vZGUqIG5vZGUpCiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCitib29sIGNoZWNrRGVzY2VuZGVuY2VSZWN1cnNpdmVseShEb2N1bWVudCog
YmFzZURvY3VtZW50LCBOb2RlKiBub2RlKQoreworICAgIGlmICghbm9kZSB8fCAhYmFzZURvY3Vt
ZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBib29sIGRlc2NlbmRhbnQgPSBiYXNl
RG9jdW1lbnQgPT0gbm9kZS0+ZG9jdW1lbnQoKTsKKworICAgIEVsZW1lbnQqIGN1cnJlbnRFbGVt
ZW50ID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUpOworICAgIHdoaWxlICghZGVzY2VuZGFu
dCkgeworICAgICAgICBFbGVtZW50KiBkb2N1bWVudE93bmVyID0gY3VycmVudEVsZW1lbnQtPmRv
Y3VtZW50KCktPm93bmVyRWxlbWVudCgpOworICAgICAgICBpZiAoIWRvY3VtZW50T3duZXIpCisg
ICAgICAgICAgICBicmVhazsKKworICAgICAgICBkZXNjZW5kYW50ID0gZG9jdW1lbnRPd25lci0+
ZG9jdW1lbnQoKSA9PSBiYXNlRG9jdW1lbnQ7CisgICAgICAgIGN1cnJlbnRFbGVtZW50ID0gZG9j
dW1lbnRPd25lcjsKKyAgICB9CisKKyAgICByZXR1cm4gZGVzY2VuZGFudDsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0
aW9uLmggYi9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uaAppbmRleCA3ODQxOWE3Li42
MzkzNzc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uaAorKysg
Yi9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uaApAQCAtMTMzLDYgKzEzMyw3IEBAIHZv
aWQgc2Nyb2xsSW50b1ZpZXcoRWxlbWVudCopOwogYm9vbCBoYXNPZmZzY3JlZW5SZWN0KE5vZGUq
KTsKIGJvb2wgaXNJblJvb3REb2N1bWVudChOb2RlKik7CiBib29sIGlzU2Nyb2xsYWJsZUNvbnRh
aW5lck5vZGUoTm9kZSopOworYm9vbCBjaGVja0Rlc2NlbmRlbmNlUmVjdXJzaXZlbHkoRG9jdW1l
bnQqLCBOb2RlKik7CiAKIH0gLy8gbmFtc3BhY2UgV2ViQ29yZQogCi0tIAoxLjcuMC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60062</attachid>
            <date>2010-06-29 14:57:18 -0700</date>
            <delta_ts>2010-06-30 05:46:45 -0700</delta_ts>
            <desc>(r62179 - r=smfr) patch v2.1 - right patch</desc>
            <filename>0001-2010-06-24-Antonio-Gomes-tonikitoo-webkit.org.patch</filename>
            <type>text/plain</type>
            <size>10970</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA4MzYwZGI2OTk1ZTQ3YWQxYTc5YmUzOWQ4MTVkODlmODY1OGVlZmRhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4K
RGF0ZTogVGh1LCAyNCBKdW4gMjAxMCAwOTo1NzoxNSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIw
MTAtMDYtMjQgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4KCiAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFNwYXRpYWwgTmF2aWdhdGlvbjog
bWFrZSBlbGVtZW50cyBpbiBpbm5lciBmcmFtZXMgbmVzdGVkIG1vcmUgdGhhbiAxIGxldmVsIGRl
ZXAgZm9jdXNhYmxlCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQxMTYwCgogICAgICAgIFBhdGNoIGFkZHJlc3NlcyB0aGUgcHJvYmxlbSBvZiBzcGF0aWFs
IG5hdmlnYXRpb24gbm90IHdvcmsgcHJvcGVybHkgd2l0aCBuZXN0ZWQKICAgICAgICBpbm5lciBm
cmFtZXMgYnkgYWRkaW5nIHRoZSBpc0RlZXBEZXNjZW5kYW50T2YgbWV0aG9kLiBJdCByZWN1cnNp
dmVseSBjaGVja3MKICAgICAgICBpZiBhIGdpdmUgbm9kZSBpcyBkZXNjZW5kYW50IG9mIGEgZ2l2
ZW4gZG9jdW1lbnQgb3IgYW55IHBhcmVudCBvZiBpdC4KCiAgICAgICAgVGVzdDogZmFzdC9ldmVu
dHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sCgogICAgICAgICog
cGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgogICAgICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xs
ZXI6OmRlZXBGaW5kRm9jdXNhYmxlTm9kZUluRGlyZWN0aW9uKToKICAgICAgICAqIHBhZ2UvU3Bh
dGlhbE5hdmlnYXRpb24uY3BwOgogICAgICAgIChXZWJDb3JlOjppc0RlZXBEZXNjZW5kYW50T2Yp
OgogICAgICAgICogcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5oOgogICAgICAgICogZmFzdC9ldmVu
dHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3Jlc291cmNlcy9pZnJhbWUuaHRtbDogQWRkZWQuCiAgICAg
ICAgKiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtbmVzdGVkLWV4
cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgKiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRp
b24vc25hdi1pZnJhbWUtbmVzdGVkLmh0bWw6IEFkZGVkLgotLS0KIExheW91dFRlc3RzL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMSArKysKIC4uLi9zcGF0aWFs
LW5hdmlnYXRpb24vcmVzb3VyY2VzL2lmcmFtZS5odG1sICAgICAgIHwgICAxNiArKysrCiAuLi4v
c25hdi1pZnJhbWUtbmVzdGVkLWV4cGVjdGVkLnR4dCAgICAgICAgICAgICAgICB8ICAgMjYgKysr
KysrCiAuLi4vc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sICAgICB8
ICAgOTMgKysrKysrKysrKysrKysrKysrKysKIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAxOSArKysrCiBXZWJDb3JlL3BhZ2UvRm9jdXNDb250
cm9sbGVyLmNwcCAgICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIFdlYkNvcmUvcGFnZS9TcGF0
aWFsTmF2aWdhdGlvbi5jcHAgICAgICAgICAgICAgICAgIHwgICAyMCArKysrCiBXZWJDb3JlL3Bh
Z2UvU3BhdGlhbE5hdmlnYXRpb24uaCAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogOCBmaWxl
cyBjaGFuZ2VkLCAxODcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vcmVzb3Vy
Y2VzL2lmcmFtZS5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC1leHBlY3RlZC50eHQKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRp
b24vc25hdi1pZnJhbWUtbmVzdGVkLmh0bWwKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGU3ZmE4NC4uZTJlOGVmMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMjExNCw2ICsyMTE0LDE3IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBD
aHJpc3RpYW5zZW4uCiAKKyAgICAgICAgU3BhdGlhbCBOYXZpZ2F0aW9uOiBtYWtlIGVsZW1lbnRz
IGluIGlubmVyIGZyYW1lcyBuZXN0ZWQgbW9yZSB0aGFuIDEgbGV2ZWwgZGVlcCBmb2N1c2FibGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxMTYwCisK
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24vcmVzb3VyY2VzL2lmcmFt
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zcGF0aWFsLW5hdmlnYXRpb24v
c25hdi1pZnJhbWUtbmVzdGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9l
dmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sOiBBZGRlZC4K
KworMjAxMC0wNi0yNCAgQW50b25pbyBHb21lcyAgPHRvbmlraXRvb0B3ZWJraXQub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIFNwYXRpYWwgTmF2
aWdhdGlvbjogcmVmYWN0b3Igc3BhdGlhbC1uYXZpZ2F0aW9uLXV0aWxzLmpzIHRvIHN1cHBvcnQg
dGVzdGluZyBuZXN0ZWQgZnJhbWVzIGRlZXBlciB0aGFuIG9uZSBsZXZlbAogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDExNTcKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3Jlc291cmNlcy9pZnJh
bWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9yZXNv
dXJjZXMvaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAz
ODhkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwt
bmF2aWdhdGlvbi9yZXNvdXJjZXMvaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+
Cis8Ym9keT4KKyAgPGlmcmFtZSB3aWR0aD0nODAlJyBoZWlnaHQ9IjcwcHgiIGZyYW1lYm9yZGVy
PSIwIiBzcmM9ImRhdGE6dGV4dC9odG1sLAorICA8Ym9keT4KKyAgICA8YSBpZD0nMScgaHJlZj0n
Iyc+YjwvYT4KKyAgICA8YSBpZD0nMicgaHJlZj0nIyc+YzwvYT4KKyAgICA8YSBpZD0nMycgaHJl
Zj0nIyc+ZDwvYT4KKyAgICA8YSBpZD0nNCcgaHJlZj0nIyc+ZTwvYT4KKyAgICA8YSBpZD0nNScg
aHJlZj0nIyc+ZjwvYT4KKyAgICA8YSBpZD0nNicgaHJlZj0nIyc+ZzwvYT4KKyAgICA8YSBpZD0n
NycgaHJlZj0nIyc+aDwvYT4KKyAgICA8YSBpZD0nOCcgaHJlZj0nIyc+aTwvYT4KKyAgPC9ib2R5
PgorICI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uZXN0ZWQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
aWZyYW1lLW5lc3RlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZjUzYzNmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uZXN0ZWQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMjYgQEAKK0xpbmsKKworTGluaworTGluaworSGVyZSBpcyBhIGxpbmsuCisKK0xpbmsK
K1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBp
cyAiMSIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgi
aWQiKSBpcyAiMiIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJp
YnV0ZSgiaWQiKSBpcyAiMyIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50Lmdl
dEF0dHJpYnV0ZSgiaWQiKSBpcyAiNCIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVt
ZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiNSIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3Rp
dmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiNiIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVu
dC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiNyIKK1BBU1MgZ0ZvY3VzZWRE
b2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiOCIKK1BBU1MgZ0Zv
Y3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiOSIKK1BB
U1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAi
OCIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQi
KSBpcyAiNyIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0
ZSgiaWQiKSBpcyAiNiIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0
dHJpYnV0ZSgiaWQiKSBpcyAiNSIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVFbGVtZW50
LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiNCIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5hY3RpdmVF
bGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiMyIKK1BBU1MgZ0ZvY3VzZWREb2N1bWVudC5h
Y3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiMiIKK1BBU1MgZ0ZvY3VzZWREb2N1
bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAiMSIKK1BBU1MgZ0ZvY3Vz
ZWREb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKSBpcyAic3RhcnQiCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwtbmF2aWdhdGlvbi9z
bmF2LWlmcmFtZS1uZXN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NwYXRpYWwt
bmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1uZXN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi40MTQzZjc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLW5lc3RlZC5odG1sCkBAIC0w
LDAgKzEsOTMgQEAKKzxodG1sPgorICA8IS0tCisgICAgVGhpcyB0ZXN0IGVuc3VyZXMgdGhlIGNy
b3NzIGlmcmFtZSB0cmF2ZXJzYWwgY29ycmVjdG5lc3Mgb2Ygc3BhdGlhbCBuYXZpZ2F0aW9uOgor
ICAgIGZvY3VzYWJsZSBlbGVtZW50cyBpbiBuZXN0ZWQgaW5uZXIgZnJhbWUgc2hvdWxkIGJlIGFj
Y2Vzc2libGUuCisKKyAgICAqIFByZS1jb25kaXRpb25zOgorICAgIDEpIERSVCBzdXBwb3J0IGZv
ciBzcGF0aWFsIG5hdmlnYXRpb24gZW5hYmxlL2Rpc2FibGUuCisKKyAgICAqIE5hdmlnYXRpb24g
c3RlcHM6CisgICAgMSkgTG9hZHMgdGhpcyBwYWdlLCBmb2N1cyBnb2VzIHRvICJzdGFydCIgYXV0
b21hdGljYWxseS4KKyAgICAyKSBGb2N1cyBtb3ZlcyBhbG9uZyB0aGUgZWxlbWVudHMgaW4gdGhl
IHR3byBsZXZlbCBkZWVwIG5lc3RlZCBmcmFtZSwKKyAgICAgICBidXQgZ29pbmcgYmFjayB0byB0
aGUgbWFpbiBmcmFtZSBsYXRlciBvbi4KKyAgLS0+CisgIDxoZWFkPgorICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvc3BhdGlhbC1uYXZpZ2F0aW9uLXV0aWxzLmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiPgorCisgICAgdmFyIHJl
c3VsdE1hcCA9IFsKKyAgICAgIFsiUmlnaHQiLCAiMSJdLAorICAgICAgWyJSaWdodCIsICIyIl0s
CisgICAgICBbIlJpZ2h0IiwgIjMiXSwKKyAgICAgIFsiUmlnaHQiLCAiNCJdLAorICAgICAgWyJS
aWdodCIsICI1Il0sCisgICAgICBbIlJpZ2h0IiwgIjYiXSwKKyAgICAgIFsiUmlnaHQiLCAiNyJd
LAorICAgICAgWyJSaWdodCIsICI4Il0sCisgICAgICBbIlJpZ2h0IiwgIjkiXSwKKyAgICAgIFsi
TGVmdCIsICI4Il0sCisgICAgICBbIkxlZnQiLCAiNyJdLAorICAgICAgWyJMZWZ0IiwgIjYiXSwK
KyAgICAgIFsiTGVmdCIsICI1Il0sCisgICAgICBbIkxlZnQiLCAiNCJdLAorICAgICAgWyJMZWZ0
IiwgIjMiXSwKKyAgICAgIFsiTGVmdCIsICIyIl0sCisgICAgICBbIkxlZnQiLCAiMSJdLAorICAg
ICAgWyJMZWZ0IiwgInN0YXJ0Il0sCisgICAgICBbIkRPTkUiLCAiRE9ORSJdCisgICAgXTsKKwor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFNw
YXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCh0cnVlKTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiLCAxKTsK
KyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICB7CisgICAgICAvLyBzdGFydGluZyB0aGUgdGVzdCBp
dHNlbGY6IGdldCB0byBhIGtub3duIHBsYWNlLgorICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN0YXJ0IikuZm9jdXMoKTsKKworICAgICAgaW5pdFRlc3QocmVzdWx0TWFwLCB0ZXN0Q29t
cGxldGVkKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB0ZXN0Q29tcGxldGVkKCkKKyAgICB7Cisg
ICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgfQorCisgICAgd2luZG93Lm9ubG9hZCA9IHJ1
blRlc3Q7CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5PgorICA8dGFibGUg
c3R5bGU9InRleHQtYWxpZ246IHRvcDsiICBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzcHgiIGNl
bGxzcGFjaW5nPSIzcHgiPgorICAgIDx0cj4KKyAgICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9
IjEwJSI+CisgICAgICAgIDxhIGlkPSJzdGFydCIgaHJlZj0iIyI+TGluazwvYT48YnI+CisgICAg
ICA8L3RkPgorICAgICAgPHRkIHZhbGlnbj0idG9wIj4KKyAgICAgICAgPGlmcmFtZSB3aWR0aD0i
NTAlIiBoZWlnaHQ9IjEwMHB4IiBmcmFtZWJvcmRlcj0iMSIgc3JjPSJyZXNvdXJjZXMvaWZyYW1l
Lmh0bWwiPjwvaWZyYW1lPjxicj4KKyAgICAgIDwvdGQ+CisgICAgICA8dGQgdmFsaWduPSJ0b3Ai
IHdpZHRoPSIxMCUiPgorICAgICAgICA8YSBpZD0iOSIgaHJlZj0iIyI+TGluazwvYT48YnI+Cisg
ICAgICA8L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgPHRkIHZhbGlnbj0idG9wIiB3
aWR0aD0iMTAlIj4KKyAgICAgICAgPGEgaWQ9IjEwIiBocmVmPSIjIj5MaW5rPC9hPjxicj4KKyAg
ICAgIDwvdGQ+CisgICAgICA8dGQgdmFsaWduPSJ0b3AiPgorICAgICAgICAgIDxwPjxhIGlkPSIx
MSIgaHJlZj0iIyI+SGVyZTwvYT4gaXMgYSBsaW5rLjwvcD4KKyAgICAgIDwvdGQ+CisgICAgICA8
dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIxMCUiPgorICAgICAgICA8YSBpZD0iMTIiIGhyZWY9IiMi
Pkxpbms8L2E+PGJyPgorICAgICAgPC90ZD4KKyAgICA8L3RyPgorICA8L3RhYmxlPgorICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhNzdhZGZhLi43MTQwZmI2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIyIEBACisyMDEwLTA2LTI0ICBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9vQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgU3BhdGlhbCBOYXZpZ2F0aW9uOiBtYWtlIGVsZW1lbnRzIGluIGlubmVyIGZyYW1lcyBuZXN0
ZWQgbW9yZSB0aGFuIDEgbGV2ZWwgZGVlcCBmb2N1c2FibGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxMTYwCisKKyAgICAgICAgUGF0Y2ggYWRkcmVz
c2VzIHRoZSBwcm9ibGVtIG9mIHNwYXRpYWwgbmF2aWdhdGlvbiBub3Qgd29yayBwcm9wZXJseSB3
aXRoIG5lc3RlZAorICAgICAgICBpbm5lciBmcmFtZXMgYnkgYWRkaW5nIHRoZSBpc0RlZXBEZXNj
ZW5kYW50T2YgbWV0aG9kLiBJdCByZWN1cnNpdmVseSBjaGVja3MKKyAgICAgICAgaWYgYSBnaXZl
IG5vZGUgaXMgZGVzY2VuZGFudCBvZiBhIGdpdmVuIGRvY3VtZW50IG9yIGFueSBwYXJlbnQgb2Yg
aXQuCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
aWZyYW1lLW5lc3RlZC5odG1sCisKKyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OmRlZXBGaW5kRm9jdXNhYmxlTm9k
ZUluRGlyZWN0aW9uKToKKyAgICAgICAgKiBwYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmlzRGVlcERlc2NlbmRhbnRPZik6CisgICAgICAgICogcGFnZS9TcGF0
aWFsTmF2aWdhdGlvbi5oOgorCiAyMDEwLTA2LTI1IEdyYWNlIEtsb2JhICA8a2xvYmFnQGdtYWls
LmNvbT4gLCBBbnRvbmlvIEdvbWVzICA8dG9uaWtpdG9vQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRm9j
dXNDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCmluZGV4
IGU5ZjE4MGIuLjU5NzI5OGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xs
ZXIuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCkBAIC01MDMsNyAr
NTAzLDcgQEAgdm9pZCBGb2N1c0NvbnRyb2xsZXI6OmRlZXBGaW5kRm9jdXNhYmxlTm9kZUluRGly
ZWN0aW9uKE5vZGUqIGNvbnRhaW5lciwgTm9kZSogZm8KICAgICAgICAgaWYgKCFpbm5lckRvY3Vt
ZW50KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGRlc2NlbmRhbnRPZkNvbnRhaW5l
ciA9IGlubmVyRG9jdW1lbnQgPT0gZm9jdXNlZE5vZGUtPmRvY3VtZW50KCk7CisgICAgICAgIGRl
c2NlbmRhbnRPZkNvbnRhaW5lciA9IGlzRGVlcERlc2NlbmRhbnRPZihmb2N1c2VkTm9kZSwgaW5u
ZXJEb2N1bWVudCk7CiAgICAgICAgIGZpcnN0Q2hpbGQgPSBpbm5lckRvY3VtZW50LT5maXJzdENo
aWxkKCk7CiAKICAgICAvLyBTY3JvbGxhYmxlIGJsb2NrIGVsZW1lbnRzIChlLmcuIDxkaXY+LCBl
dGMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwIGIvV2Vi
Q29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcAppbmRleCA1OGI3MGU0Li5jOTU3MzkzIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCisrKyBiL1dlYkNv
cmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAKQEAgLTU0Niw0ICs1NDYsMjQgQEAgYm9vbCBp
c1Njcm9sbGFibGVDb250YWluZXJOb2RlKE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCitib29sIGlzRGVlcERlc2NlbmRhbnRPZihOb2RlKiBub2RlLCBEb2N1bWVudCogYmFzZURv
Y3VtZW50KQoreworICAgIGlmICghbm9kZSB8fCAhYmFzZURvY3VtZW50KQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBib29sIGRlc2NlbmRhbnQgPSBiYXNlRG9jdW1lbnQgPT0gbm9kZS0+
ZG9jdW1lbnQoKTsKKworICAgIEVsZW1lbnQqIGN1cnJlbnRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8
RWxlbWVudCo+KG5vZGUpOworICAgIHdoaWxlICghZGVzY2VuZGFudCkgeworICAgICAgICBFbGVt
ZW50KiBkb2N1bWVudE93bmVyID0gY3VycmVudEVsZW1lbnQtPmRvY3VtZW50KCktPm93bmVyRWxl
bWVudCgpOworICAgICAgICBpZiAoIWRvY3VtZW50T3duZXIpCisgICAgICAgICAgICBicmVhazsK
KworICAgICAgICBkZXNjZW5kYW50ID0gZG9jdW1lbnRPd25lci0+ZG9jdW1lbnQoKSA9PSBiYXNl
RG9jdW1lbnQ7CisgICAgICAgIGN1cnJlbnRFbGVtZW50ID0gZG9jdW1lbnRPd25lcjsKKyAgICB9
CisKKyAgICByZXR1cm4gZGVzY2VuZGFudDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmggYi9XZWJDb3JlL3Bh
Z2UvU3BhdGlhbE5hdmlnYXRpb24uaAppbmRleCA3ODQxOWE3Li4wNmQ4Y2U4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uaAorKysgYi9XZWJDb3JlL3BhZ2UvU3Bh
dGlhbE5hdmlnYXRpb24uaApAQCAtMTMzLDYgKzEzMyw3IEBAIHZvaWQgc2Nyb2xsSW50b1ZpZXco
RWxlbWVudCopOwogYm9vbCBoYXNPZmZzY3JlZW5SZWN0KE5vZGUqKTsKIGJvb2wgaXNJblJvb3RE
b2N1bWVudChOb2RlKik7CiBib29sIGlzU2Nyb2xsYWJsZUNvbnRhaW5lck5vZGUoTm9kZSopOwor
Ym9vbCBpc0RlZXBEZXNjZW5kYW50T2YoTm9kZSosIERvY3VtZW50Kik7CiAKIH0gLy8gbmFtc3Bh
Y2UgV2ViQ29yZQogCi0tIAoxLjcuMC40Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>