<?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>20171</bug_id>
          
          <creation_ts>2008-07-25 11:34:25 -0700</creation_ts>
          <short_desc>[XBL] Add &lt;binding&gt; &apos;element&apos; attribute</short_desc>
          <delta_ts>2008-07-28 14:16:33 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>86945</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-07-25 11:34:25 -0700</bug_when>
    <thetext>A way of attaching bindings is through the &lt;binding&gt; &apos;element&apos; attribute that represents a Selector to apply to the bound document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86947</commentid>
    <comment_count>1</comment_count>
      <attachid>22475</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-07-25 11:39:00 -0700</bug_when>
    <thetext>Created attachment 22475
First draft

This is a first try:

- we add the potential bindings to the bound document so that we could apply the Selector efficiently.
- the binding attachment is postponed until the document is fully parsed (that is we just have to apply the Selector once).

Comments are welcome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>87166</commentid>
    <comment_count>2</comment_count>
      <attachid>22522</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-07-28 10:10:08 -0700</bug_when>
    <thetext>Created attachment 22522
Just add the &apos;element&apos; attribute without the handling

The approach taken was not the right one so I will just add the &apos;element&apos; and postpone the &apos;element&apos; handling for another bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>87205</commentid>
    <comment_count>3</comment_count>
      <attachid>22522</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-07-28 13:51:14 -0700</bug_when>
    <thetext>Comment on attachment 22522
Just add the &apos;element&apos; attribute without the handling

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>87219</commentid>
    <comment_count>4</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2008-07-28 14:16:33 -0700</bug_when>
    <thetext>Landed in r35412.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22475</attachid>
            <date>2008-07-25 11:39:00 -0700</date>
            <delta_ts>2008-07-25 11:39:00 -0700</delta_ts>
            <desc>First draft</desc>
            <filename>XBLElementAttr.patch</filename>
            <type>text/plain</type>
            <size>17926</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNTM0NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDggQEAKKzIwMDgtMDctMjUgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIDxiaW5kaW5nPiAnZWxlbWVudCcgYXR0cmlidXRlLgorCisgICAgICAgIEluIG9y
ZGVyIHRvIGtub3cgd2hpY2ggYmluZGluZyB3b3VsZCBwb3RlbnRpYWxseSBhcHBseSB0byBhIERv
Y3VtZW50LAorICAgICAgICB3ZSBrZWVwIGEgcG9pbnRlciB0byB0aGVtIGluc2lkZSB0aGUgRG9j
dW1lbnQuIFRoaXMgZW5hYmxlcyB1cyBhYmxlIHRvIG1hdGNoIHRoZW0KKyAgICAgICAgZWZmaWNp
ZW50bHkuCisKKyAgICAgICAgQ3VyZW50bHkgdGhlIGJpbmRpbmcgYXR0YWNobWVudCBpcyBwb3N0
cG9uZWQgdW50aWwgdGhlIERvY3VtZW50IGhhcyBmaW5pc2hlZCBwYXJzaW5nLgorICAgICAgICBU
aHVzIHdoZW4gd2UgYXBwbHkgdGhlIGJpbmRpbmcsIHdlIGtub3cgYWxsIHRoZSBFbGVtZW50IHRo
YXQgd2lsbCBtYXRjaCB0aGUgYmluZGluZydzCisgICAgICAgICJlbGVtZW50IiBzZWxlY3Rvci4K
KworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IEFkZCB4YmxhdHRycy5pbiB0byBtYWtl
X25hbWVzLnBsCisgICAgICAgIGFuZCBYQkxCaW5kaW5nRWxlbWVudC5jcHAuCisgICAgICAgICog
R05VbWFrZWZpbGUuYW06IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUucHJvOiBEaXR0by4KKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZmluaXNo
ZWRQYXJzaW5nKTogYXR0YWNoCisgICAgICAgIHRoZSBiaW5kaW5nLgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OmFkZFBvdGVudGlhbEJpbmRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OnJlbW92ZVBvdGVudGlhbEJpbmRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OmF0dGFjaFBvdGVudGlhbEJpbmRpbmdzKTogQ2FsbGVkCisgICAgICAgIGZyb20gZmluaXNo
ZWRQYXJzaW5nIGFuZCB0cmF2ZXJzZSB0aGUgYmluZGluZ3MgdG8KKyAgICAgICAgc2VlIHRoZSBF
bGVtZW50cyB0aGF0IG1hdGNoIHRoZW0uCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAg
ICAgICAgKiB4YmwvWEJMQmluZGluZy5oOgorICAgICAgICAoV2ViQ29yZTo6WEJMQmluZGluZzo6
WEJMQmluZGluZyk6IEFkZGVkIGFuIFhCTEJpbmRpbmdFbGVtZW50KiBwYXJhbWV0ZXIuCisgICAg
ICAgIChXZWJDb3JlOjpYQkxCaW5kaW5nOjpiaW5kaW5nRWxlbWVudCk6CisgICAgICAgICogeGJs
L1hCTEJpbmRpbmdFbGVtZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpYQkxCaW5k
aW5nRWxlbWVudDo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKTogQ2hlY2sgaWYgdGhlIGJpbmRpbmcg
aGFzCisgICAgICAgIGEgbm9uLWVtcHR5ICdlbGVtZW50JyBhdHRyaWJ1dGUgYW5kIGFkZCBpdCB0
byB0aGUgRG9jdW1lbnQgcG90ZW50aWFsIGJpbmRpbmcuCisKKyAgICAgICAgKFdlYkNvcmU6OlhC
TEJpbmRpbmdFbGVtZW50Ojp+WEJMQmluZGluZ0VsZW1lbnQpOiBSZW1vdmUgdGhlIGJpbmRpbmcg
ZnJvbSB0aGUKKyAgICAgICAgRG9jdW1lbnQgcG90ZW50aWFsIGJpbmRpbmdzLgorCisgICAgICAg
ICogeGJsL1hCTEJpbmRpbmdFbGVtZW50Lmg6CisgICAgICAgICogeGJsL1hCTEJpbmRpbmdNYW5h
Z2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhCTEJpbmRpbmdNYW5hZ2VyOjphZGRCaW5kaW5n
KTogVGFrZSBhbiBvcHRpb25hbCBYQkxCaW5kaW5nRWxlbWVudC4KKyAgICAgICAgKiB4YmwvWEJM
QmluZGluZ01hbmFnZXIuaDoKKyAgICAgICAgKiB4YmwveGJsYXR0cnMuaW46IEFkZGVkLgorCiAy
MDA4LTA3LTI0ICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEVyaWMuCkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAz
NTE1NCkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAt
NTM1LDcgKzUzNSw3IEBAIFhNTE5hbWVzLmNwcCA6IGRvbS9tYWtlX25hbWVzLnBsIHhtbC94bWwK
IGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfWEJMLCQoRkVBVFVSRV9ERUZJTkVTKSksIEVOQUJM
RV9YQkwpCiAKIFhCTE5hbWVzLmNwcCBYQkxFbGVtZW50RmFjdG9yeS5jcHAgOiBkb20vbWFrZV9u
YW1lcy5wbCB4YmwveGJsdGFncy5pbgotCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3Jp
cHRzICQ8IC0tdGFncyAkKFdlYkNvcmUpL3hibC94Ymx0YWdzLmluICAtLW91dHB1dCAuCisJcGVy
bCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMgJDwgLS10YWdzICQoV2ViQ29yZSkveGJs
L3hibHRhZ3MuaW4gLS1hdHRycyAkKFdlYkNvcmUpL3hibC94YmxhdHRycy5pbiAgLS1vdXRwdXQg
LgogCiBlbHNlCiAKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gMzUzMjQpCisrKyBXZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0xNDM4LDEyICsxNDM4LDEzIEBAIEZFQVRVUkVf
REVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9YQkwKIHdlYmNvcmVfY3BwZmxhZ3MgKz0gLURF
TkFCTEVfWEJMPTEgXAogCS1JXCQodG9wX3NyY2RpcikvV2ViQ29yZS94YmwKIAotd2ViY29yZV9i
dWlsdF9zb3VyY2VzICs9IFwgCit3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRT
b3VyY2VzL1hCTEVsZW1lbnRGYWN0b3J5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvWEJMTmFtZXMu
Y3BwCiAKIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9sb2FkZXIvQ2FjaGVkWEJMRG9j
dW1lbnQuY3BwIFwKKwlXZWJDb3JlL3hibC9YQkxCaW5kaW5nRWxlbWVudC5jcHAgXAogCVdlYkNv
cmUveGJsL1hCTEJpbmRpbmdNYW5hZ2VyLmNwcCBcCiAJV2ViQ29yZS94YmwvWEJMWEJMRWxlbWVu
dC5jcHAKIApAQCAtMjE2NCw3ICsyMTY1LDcgQEAgaWYgRU5BQkxFX1hCTAogRGVyaXZlZFNvdXJj
ZXMvWEJMTmFtZXMuY3BwOiBEZXJpdmVkU291cmNlcy9YQkxFbGVtZW50RmFjdG9yeS5jcHA7CiAK
IERlcml2ZWRTb3VyY2VzL1hCTEVsZW1lbnRGYWN0b3J5LmNwcDogJChXZWJDb3JlKS9kb20vbWFr
ZV9uYW1lcy5wbCAkKFdlYkNvcmUpL3hibC94Ymx0YWdzLmluCi0JJChQRVJMKSAtSSQoV2ViQ29y
ZSkvYmluZGluZ3Mvc2NyaXB0cyAkPCAtLXRhZ3MgJChXZWJDb3JlKS94YmwveGJsdGFncy5pbiAt
LW91dHB1dCAkKEdFTlNPVVJDRVMpCisJJChQRVJMKSAtSSQoV2ViQ29yZSkvYmluZGluZ3Mvc2Ny
aXB0cyAkPCAtLXRhZ3MgJChXZWJDb3JlKS94YmwveGJsdGFncy5pbiAtLWF0dHJzICQoV2ViQ29y
ZSkveGJsL3hibGF0dHJzLmluIC0tb3V0cHV0ICQoR0VOU09VUkNFUykKIAogZW5kaWYgIyBFTkQg
RU5BQkxFX1hCTAogCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvV2ViQ29yZS5wcm8JKHJldmlzaW9uIDM1MzI0KQorKysgV2ViQ29yZS9XZWJDb3JlLnBy
bwkod29ya2luZyBjb3B5KQpAQCAtMTIzNiwxMyArMTIzNiwxNCBAQCBjb250YWlucyhERUZJTkVT
LCBFTkFCTEVfWEJMPTEpIHsKIAogICAgIFNPVVJDRVMgKz0gXAogICAgICAgICBsb2FkZXIvQ2Fj
aGVkWEJMRG9jdW1lbnQuY3BwIFwKKyAgICAgICAgeGJsL1hCTEJpbmRpbmdFbGVtZW50LmNwcCBc
CiAgICAgICAgIHhibC9YQkxCaW5kaW5nTWFuYWdlci5jcHAgXAogICAgICAgICB4YmwvWEJMWEJM
RWxlbWVudC5jcHAKIAogICAgICAgICBYQkxfTkFNRVMgPSAkJFBXRC94YmwveGJsdGFncy5pbgog
CiAgICAgICAgIHhibG5hbWVzX2Eub3V0cHV0ID0gJCRHRU5FUkFURURfU09VUkNFU19ESVIvWEJM
TmFtZXMuY3BwCi0gICAgICAgIHhibG5hbWVzX2EuY29tbWFuZHMgPSBwZXJsIC1JJCRQV0QvYmlu
ZGluZ3Mvc2NyaXB0cyAgJCRQV0QvZG9tL21ha2VfbmFtZXMucGwgLS10YWdzICQkUFdEL3hibC94
Ymx0YWdzLmluIC0tcHJlcHJvY2Vzc29yIFwiJCR7UU1BS0VfTU9DfSAtRVwiIC0tb3V0cHV0ICQk
R0VORVJBVEVEX1NPVVJDRVNfRElSCisgICAgICAgIHhibG5hbWVzX2EuY29tbWFuZHMgPSBwZXJs
IC1JJCRQV0QvYmluZGluZ3Mvc2NyaXB0cyAgJCRQV0QvZG9tL21ha2VfbmFtZXMucGwgLS10YWdz
ICQkUFdEL3hibC94Ymx0YWdzLmluIC0tYXR0cnMgJCRQV0QveGJsL3hibGF0dHJzLmluIC0tcHJl
cHJvY2Vzc29yIFwiJCR7UU1BS0VfTU9DfSAtRVwiIC0tb3V0cHV0ICQkR0VORVJBVEVEX1NPVVJD
RVNfRElSCiAgICAgICAgIHhibG5hbWVzX2EuaW5wdXQgPSBYQkxfTkFNRVMKICAgICAgICAgeGJs
bmFtZXNfYS5kZXBlbmRlbmN5X3R5cGUgPSBUWVBFX0MKICAgICAgICAgeGJsbmFtZXNfYS5DT05G
SUcgPSB0YXJnZXRfcHJlZGVwcwpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHJldmlzaW9uIDM1MzI1KQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE4MjksNiArMTgyOSw3IEBACiAJ
CUExMEQyMTQwMEUzODlBMEQwMDdFNTAwQiAvKiBYQkxCaW5kaW5nRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEwRDIxM0YwRTM4OUEwRDAw
N0U1MDBCIC8qIFhCTEJpbmRpbmdFbGVtZW50LmggKi87IH07CiAJCUExMEQyMTQyMEUzODlBMTgw
MDdFNTAwQiAvKiBYQkxUZW1wbGF0ZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMEQyMTQxMEUzODlBMTgwMDdFNTAwQiAvKiBYQkxUZW1w
bGF0ZUVsZW1lbnQuaCAqLzsgfTsKIAkJQTExNzJENkUwRTBDNTM5RTAwMTc1Qzg4IC8qIFhCTERv
Y3VtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
MTE3MkQ2RDBFMEM1MzlFMDAxNzVDODggLyogWEJMRG9jdW1lbnQuaCAqLzsgfTsKKwkJQTFEQkU3
MEIwRTM5MDZBMTAwRDVBNzhCIC8qIFhCTEJpbmRpbmdFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExREJFNzBBMEUzOTA2QTEwMEQ1QTc4
QiAvKiBYQkxCaW5kaW5nRWxlbWVudC5jcHAgKi87IH07CiAJCUE3MTg3NjBFMEIyQTEyMDEwMEEx
NkVDRSAvKiBEcmFnQWN0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTcxODc2MEQwQjJBMTIwMTAwQTE2RUNFIC8qIERyYWdBY3Rpb25zLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTcxODc4OTAw
QjJEMDRBQzAwQTE2RUNFIC8qIERyYWdDb250cm9sbGVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcxODc4OEYwQjJEMDRBQzAwQTE2RUNFIC8q
IERyYWdDb250cm9sbGVyTWFjLm1tICovOyB9OwogCQlBNzM1MkMxOTBCMUJCODlEMDBBOTg2RDAg
LyogUmVuZGVyU1ZHQmxvY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTczNTJDMTcwQjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Jsb2NrLmNw
cCAqLzsgfTsKQEAgLTYzMDMsNiArNjMwNCw3IEBACiAJCUExMEQyMTNGMEUzODlBMEQwMDdFNTAw
QiAvKiBYQkxCaW5kaW5nRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBYQkxCaW5kaW5nRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTBE
MjE0MTBFMzg5QTE4MDA3RTUwMEIgLyogWEJMVGVtcGxhdGVFbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhCTFRlbXBsYXRlRWxlbWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBMTE3MkQ2RDBFMEM1MzlFMDAxNzVDODggLyogWEJMRG9jdW1lbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWEJMRG9jdW1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFEQkU3MEEwRTM5MDZBMTAwRDVBNzhCIC8qIFhCTEJp
bmRpbmdFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFhC
TEJpbmRpbmdFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcxODc2
MEQwQjJBMTIwMTAwQTE2RUNFIC8qIERyYWdBY3Rpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERyYWdBY3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE3MTg3ODhGMEIyRDA0QUMwMEExNkVDRSAvKiBEcmFnQ29udHJvbGxlck1hYy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERyYWdDb250cm9sbGVyTWFjLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzM1MkMxNzBCMUJCODlEMDBBOTg2RDAgLyog
UmVuZGVyU1ZHQmxvY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlbmRlclNWR0Jsb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzAz
LDYgKzEzMzA1LDcgQEAKIAkJRjlDNjc1NUEwREVDNzZBNTAwOEQwQzJGIC8qIHhibCAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQTFEQkU3MEEwRTM5MDZB
MTAwRDVBNzhCIC8qIFhCTEJpbmRpbmdFbGVtZW50LmNwcCAqLywKIAkJCQlBMTBEMjE0MTBFMzg5
QTE4MDA3RTUwMEIgLyogWEJMVGVtcGxhdGVFbGVtZW50LmggKi8sCiAJCQkJQTEwRDIxM0YwRTM4
OUEwRDAwN0U1MDBCIC8qIFhCTEJpbmRpbmdFbGVtZW50LmggKi8sCiAJCQkJQTEwRDIwQTMwRTM4
NkRDRjAwN0U1MDBCIC8qIFhCTEJpbmRpbmcuaCAqLywKQEAgLTE3MTAzLDYgKzE3MTA2LDcgQEAK
IAkJCQlGOUM2NzYwQTBERUM3OTAzMDA4RDBDMkYgLyogWEJMRWxlbWVudEZhY3RvcnkuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRjlDNjc2MEIwREVDNzkwMzAwOEQwQzJGIC8qIFhCTE5hbWVzLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUExMEQyMEE3MEUzODZEQ0YwMDdFNTAwQiAvKiBYQkxCaW5k
aW5nTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBMURCRTcwQjBFMzkwNkExMDBENUE3
OEIgLyogWEJMQmluZGluZ0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CShyZXZpc2lvbiAzNTMyNCkKKysrIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTI3LDYgKzEyNyw4IEBACiAjZW5kaWYKIAogI2lmIEVOQUJMRShYQkwpCisjaW5j
bHVkZSAiWEJMQmluZGluZ0VsZW1lbnQuaCIKKyNpbmNsdWRlICJYQkxCaW5kaW5nTWFuYWdlci5o
IgogI2luY2x1ZGUgIlhCTEVsZW1lbnQuaCIKICNpbmNsdWRlICJYQkxFbGVtZW50RmFjdG9yeS5o
IgogI2luY2x1ZGUgIlhCTE5hbWVzLmgiCkBAIC0zNzE2LDYgKzM3MTgsMTMgQEAgdm9pZCBEb2N1
bWVudDo6ZmluaXNoZWRQYXJzaW5nKCkKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBk
aXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoRE9NQ29udGVudExvYWRlZEV2ZW50LCB0cnVlLCBm
YWxzZSksIGVjKTsKIAorI2lmIEVOQUJMRShYQkwpCisgICAgLy8gV2UgYXR0YWNoIHRoZSBiaW5k
aW5ncyB3aGVuIHRoZSBEb2N1bWVudCBpcyBmdWxseSBwYXJzZWQgZm9yIHRoZSBtb21lbnQKKyAg
ICAvLyBhcyB3ZSBrbm93IGFsbCB0aGUgRWxlbWVudCB0aGF0IG1hdGNoZXMgdGhlIGJpbmRpbmdz
JyAnZWxlbWVudCcgYXR0cmlidXRlLgorICAgIC8vIEZJWE1FOiBXZSB3aWxsIHdhbnQgdG8gYXR0
YWNoIHRoZW0gYXMgc29vbiBhcyB3ZSBrbm93IHRoZXkgYXBwbHkgKGFzIHRoZSBzcGVjIHJlcXVp
cmVzKS4KKyAgICBhdHRhY2hQb3RlbnRpYWxCaW5kaW5ncygpOworI2VuZGlmCisKICAgICBpZiAo
RnJhbWUqIGYgPSBmcmFtZSgpKQogICAgICAgICBmLT5sb2FkZXIoKS0+ZmluaXNoZWRQYXJzaW5n
KCk7CiB9CkBAIC00MjQ0LDQgKzQyNTMsNDYgQEAgSFRNTENhbnZhc0VsZW1lbnQqIERvY3VtZW50
OjpnZXRDU1NDYW52YQogICAgIHJldHVybiByZXN1bHQuZ2V0KCk7CiB9CiAKKyNpZiBFTkFCTEUo
WEJMKQorCit2b2lkIERvY3VtZW50OjphZGRQb3RlbnRpYWxCaW5kaW5nKFhCTEJpbmRpbmdFbGVt
ZW50KiBiaW5kaW5nKQoreworICAgIG1fYmluZGluZ3MuYXBwZW5kKGJpbmRpbmcpOworfQorCit2
b2lkIERvY3VtZW50OjpyZW1vdmVQb3RlbnRpYWxCaW5kaW5nKGNvbnN0IFhCTEJpbmRpbmdFbGVt
ZW50KiBiaW5kaW5nKQoreworICAgIGZvciAoVmVjdG9yPFhCTEJpbmRpbmdFbGVtZW50Kj46Oml0
ZXJhdG9yIGl0ID0gbV9iaW5kaW5ncy5iZWdpbigpOyBpdCAhPSBtX2JpbmRpbmdzLmVuZCgpOyAr
K2l0KQorICAgICAgICAgICAgaWYgKCgqaXQpID09IGJpbmRpbmcpIHsKKyAgICAgICAgICAgICAg
ICBtX2JpbmRpbmdzLnJlbW92ZShpdCAtIG1fYmluZGluZ3MuYmVnaW4oKSk7CisgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorfQorCit2b2lkIERvY3VtZW50OjphdHRhY2hQ
b3RlbnRpYWxCaW5kaW5ncygpCit7CisgICAgWEJMQmluZGluZ01hbmFnZXIqIG1hbmFnZXIgPSBY
QkxCaW5kaW5nTWFuYWdlcjo6c2hhcmVkSW5zdGFuY2UoKTsKKworICAgIC8vIFRyeSBhbGwgdGhl
IGJpbmRpbmdzIHRvIHNlZSB0aG9zZSB0aGF0IG1hdGNoIHRoZWlyICJlbGVtZW50Ii4KKyAgICBm
b3IgKFZlY3RvcjxYQkxCaW5kaW5nRWxlbWVudCo+OjppdGVyYXRvciBpdCA9IG1fYmluZGluZ3Mu
YmVnaW4oKTsgaXQgIT0gbV9iaW5kaW5ncy5lbmQoKTsgKytpdCkgeworICAgICAgICBFeGNlcHRp
b25Db2RlIGVjID0gMDsKKyAgICAgICAgUmVmUHRyPE5vZGVMaXN0PiBtYXRjaGluZ05vZGVzID0g
cXVlcnlTZWxlY3RvckFsbCgoKml0KS0+Z2V0QXR0cmlidXRlKFhCTE5hbWVzOjplbGVtZW50QXR0
ciksIGVjKTsKKworICAgICAgICAvLyBJZiBhbiBleGNlcHRpb24gb2NjdXJlZCB0aGUgc2VsZWN0
b3IgaXMgd3JvbmcgYW5kIHRoZSA8YmluZGluZz4gaXMgaW4gZXJyb3IKKyAgICAgICAgLy8gc28g
cmVtb3ZlIGl0IGZyb20gdGhlIHBvdGVudGlhbCBiaW5kaW5nLgorICAgICAgICAvLyBGSVhNRTog
d2Ugc2hvdWxkIGFsc28gc2V0IGl0IGluIGVycm9yLgorICAgICAgICBpZiAoZWMpIHsKKyAgICAg
ICAgICAgIHJlbW92ZVBvdGVudGlhbEJpbmRpbmcoKml0KTsKKyAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICB9CisKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1hdGNoaW5n
Tm9kZXMtPmxlbmd0aCgpOyArK2kpIHsKKyAgICAgICAgICAgIGlmIChtYXRjaGluZ05vZGVzLT5p
dGVtKGkpLT5pc0VsZW1lbnROb2RlKCkpCisgICAgICAgICAgICAgICAgbWFuYWdlci0+YWRkQmlu
ZGluZyhzdGF0aWNfY2FzdDxFbGVtZW50Kj4obWF0Y2hpbmdOb2Rlcy0+aXRlbShpKSksIFN0cmlu
ZygpLCAoKml0KSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKKyNlbmRpZgorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDM1MzI0KQorKysgV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTE0LDYgKzExNCwxMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgY2xhc3MgWFBhdGhSZXN1bHQ7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShY
QkwpCisgICAgY2xhc3MgWEJMQmluZGluZ0VsZW1lbnQ7CisjZW5kaWYKKwogI2lmIEVOQUJMRShE
QVNIQk9BUkRfU1VQUE9SVCkKICAgICBzdHJ1Y3QgRGFzaGJvYXJkUmVnaW9uVmFsdWU7CiAjZW5k
aWYKQEAgLTY5Nyw2ICs3MDEsMTMgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VHJhbnNmb3JtU291
cmNlRG9jdW1lbnQoRG9jdW1lbnQqIGRvYykgeyBtX3RyYW5zZm9ybVNvdXJjZURvY3VtZW50ID0g
ZG9jOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShYQkwpCisgICAgdm9pZCBhZGRQb3RlbnRpYWxC
aW5kaW5nKFhCTEJpbmRpbmdFbGVtZW50Kik7CisgICAgdm9pZCByZW1vdmVQb3RlbnRpYWxCaW5k
aW5nKGNvbnN0IFhCTEJpbmRpbmdFbGVtZW50Kik7CisKKyAgICB2b2lkIGF0dGFjaFBvdGVudGlh
bEJpbmRpbmdzKCk7CisjZW5kaWYKKwogICAgIHZvaWQgaW5jRE9NVHJlZVZlcnNpb24oKSB7ICsr
bV9kb210cmVlX3ZlcnNpb247IH0KICAgICB1bnNpZ25lZCBkb21UcmVlVmVyc2lvbigpIGNvbnN0
IHsgcmV0dXJuIG1fZG9tdHJlZV92ZXJzaW9uOyB9CiAKQEAgLTk5NCw3ICsxMDA1LDEyIEBAIHBy
aXZhdGU6CiAjaWYgRU5BQkxFKFNWRykKICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMqIG1fc3Zn
RXh0ZW5zaW9uczsKICNlbmRpZgotICAgIAorCisjaWYgRU5BQkxFKFhCTCkKKyAgICAvLyBUaGUg
YmluZGluZ3MgdGhhdCBjb3VsZCBtYXRjaCB0aGlzIGRvY3VtZW50J3MgZWxlbWVudHMuCisgICAg
VmVjdG9yPFhCTEJpbmRpbmdFbGVtZW50Kj4gbV9iaW5kaW5nczsKKyNlbmRpZgorCiAjaWYgRU5B
QkxFKERBU0hCT0FSRF9TVVBQT1JUKQogICAgIFZlY3RvcjxEYXNoYm9hcmRSZWdpb25WYWx1ZT4g
bV9kYXNoYm9hcmRSZWdpb25zOwogICAgIGJvb2wgbV9oYXNEYXNoYm9hcmRSZWdpb25zOwpJbmRl
eDogV2ViQ29yZS94YmwvWEJMQmluZGluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUveGJsL1hC
TEJpbmRpbmcuaAkocmV2aXNpb24gMzUzMjQpCisrKyBXZWJDb3JlL3hibC9YQkxCaW5kaW5nLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDIwICsyOSwyNCBAQAogI2lmIEVOQUJMRShYQkwpCiAKICNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlhCTEJpbmRpbmdFbGVtZW50Lmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFhCTEJpbmRpbmcgewogICAgIHB1
YmxpYzoKLSAgICAgICAgWEJMQmluZGluZyhjb25zdCBTdHJpbmcmIHVyaSkKKyAgICAgICAgWEJM
QmluZGluZyhjb25zdCBTdHJpbmcmIHVyaSwgWEJMQmluZGluZ0VsZW1lbnQqIGJpbmRpbmdFbGVt
ZW50KQogICAgICAgICAgICAgOiBtX3VyaSh1cmkpCisgICAgICAgICAgICAsIG1fYmluZGluZ0Vs
ZW1lbnQoYmluZGluZ0VsZW1lbnQpCiAgICAgICAgIHsKICAgICAgICAgfQogCiAgICAgICAgIGNv
bnN0IFN0cmluZyYgdXJpKCkgeyByZXR1cm4gbV91cmk7IH0KKyAgICAgICAgWEJMQmluZGluZ0Vs
ZW1lbnQqIGJpbmRpbmdFbGVtZW50KCkgeyByZXR1cm4gbV9iaW5kaW5nRWxlbWVudDsgfQorCiAg
ICAgcHJpdmF0ZToKLSAgICAgICAgLy8gRklYTUU6IHdlIHNob3VsZCBoYXZlIHRoZSA8YmluZGlu
Zz4gZWxlbWVudCB0b28uCiAgICAgICAgIFN0cmluZyBtX3VyaTsKKyAgICAgICAgWEJMQmluZGlu
Z0VsZW1lbnQqIG1fYmluZGluZ0VsZW1lbnQ7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogV2ViQ29yZS94YmwvWEJMQmluZGluZ0VsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUveGJsL1hCTEJpbmRpbmdFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKKysrIFdl
YkNvcmUveGJsL1hCTEJpbmRpbmdFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBKdWxpZW4gQ2hhZmZyYWl4IDxqY2hhZmZy
YWl4QHdlYmtpdC5vcmc+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJY
QkxCaW5kaW5nRWxlbWVudC5oIgorCisjaWYgRU5BQkxFKFhCTCkKKworI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiWEJMTmFtZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2
b2lkIFhCTEJpbmRpbmdFbGVtZW50OjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKQoreworICAgIFhC
TEVsZW1lbnQ6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOworCisgICAgLy8gQ2hlY2sgdGhlICJl
bGVtZW50IiBhdHRyaWJ1dGUgYW5kIGFkZCB0aGlzIGVsZW1lbnQgdG8KKyAgICAvLyB0aGUgYm91
bmQgZG9jdW1lbnQncyBwb3RlbnRpYWwgYmluZGluZ3MnIGxpc3QuCisgICAgaWYgKGdldEF0dHJp
YnV0ZShYQkxOYW1lczo6ZWxlbWVudEF0dHIpLmlzTnVsbCgpKQorICAgICAgICByZXR1cm47CisK
KyAgICBpZiAoIWRvY3VtZW50KCktPmlzWEJMRG9jdW1lbnQoKSkKKyAgICAgICAgLy8gSW5saW5l
IGJpbmRpbmcuCisgICAgICAgIGRvY3VtZW50KCktPmFkZFBvdGVudGlhbEJpbmRpbmcodGhpcyk7
CisKKyAgICAvLyBGSVhNRTogZm9yIFhCTERvY3VtZWVudCwgd2UgaGF2ZSB0byBhZGQgdGhpcyB0
byB0aGUgYm91bmQgZG9jdW1lbnQncworICAgIC8vIHBvdGVudGlhbCBiaW5kaW5nIGxpc3QuCit9
CisKK1hCTEJpbmRpbmdFbGVtZW50Ojp+WEJMQmluZGluZ0VsZW1lbnQoKQoreworICAgIGlmICgh
Z2V0QXR0cmlidXRlKFhCTE5hbWVzOjplbGVtZW50QXR0cikuaXNOdWxsKCkpCisgICAgICAgIGRv
Y3VtZW50KCktPnJlbW92ZVBvdGVudGlhbEJpbmRpbmcodGhpcyk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShYQkwpCkluZGV4OiBXZWJDb3JlL3hibC9Y
QkxCaW5kaW5nRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUveGJsL1hCTEJpbmRpbmdF
bGVtZW50LmgJKHJldmlzaW9uIDM1MzI1KQorKysgV2ViQ29yZS94YmwvWEJMQmluZGluZ0VsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICAgICAgOiBYQkxFbGVtZW50KHFOYW1lLCBkb2MpCiAgICAgICAgIHsKICAgICAg
ICAgfQorCisgICAgICAgIH5YQkxCaW5kaW5nRWxlbWVudCgpOworCisgICAgICAgIHZpcnR1YWwg
dm9pZCBmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCkluZGV4OiBXZWJDb3JlL3hibC9YQkxCaW5kaW5nTWFuYWdlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS94YmwvWEJMQmluZGluZ01hbmFnZXIuY3BwCShyZXZpc2lvbiAzNTMyNCkK
KysrIFdlYkNvcmUveGJsL1hCTEJpbmRpbmdNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjgsNyArMjgsMTAgQEAKIAogI2lmIEVOQUJMRShYQkwpCiAKKyNpbmNsdWRlICJEb2N1bWVudC5o
IgorI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJYQkxCaW5kaW5nLmgiCisjaW5jbHVkZSAi
WEJMQmluZGluZ0VsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0
NSw3IEBAIFhCTEJpbmRpbmdNYW5hZ2VyOjpYQkxCaW5kaW5nTWFuYWdlcigpCiB7CiB9CiAKLXZv
aWQgWEJMQmluZGluZ01hbmFnZXI6OmFkZEJpbmRpbmcoRWxlbWVudCogYm91bmRFbGVtZW50LCBj
b25zdCBTdHJpbmcmIHVyaSkKK3ZvaWQgWEJMQmluZGluZ01hbmFnZXI6OmFkZEJpbmRpbmcoRWxl
bWVudCogYm91bmRFbGVtZW50LCBjb25zdCBTdHJpbmcmIHVyaSwgWEJMQmluZGluZ0VsZW1lbnQq
IGJpbmRpbmdFbGVtZW50KQogewogICAgIFZlY3RvcjxYQkxCaW5kaW5nPiogZWxlbWVudEJpbmRp
bmdzID0gbV9iaW5kaW5ncy5nZXQoYm91bmRFbGVtZW50KTsKICAgICBpZiAoIWVsZW1lbnRCaW5k
aW5ncykgewpAQCAtNTEsNyArNTQsNyBAQCB2b2lkIFhCTEJpbmRpbmdNYW5hZ2VyOjphZGRCaW5k
aW5nKEVsZW1lCiAgICAgfQogCiAgICAgLy8gRklYTUU6IHdlIGNhbiBhZGQgdGhlIHNhbWUgYmlu
ZGluZyBzZXZlcmFsIHRpbWVzLgotICAgIGVsZW1lbnRCaW5kaW5ncy0+YXBwZW5kKFhCTEJpbmRp
bmcodXJpKSk7CisgICAgZWxlbWVudEJpbmRpbmdzLT5hcHBlbmQoWEJMQmluZGluZyh1cmksIGJp
bmRpbmdFbGVtZW50KSk7CiB9CiAKIHZvaWQgWEJMQmluZGluZ01hbmFnZXI6OnJlbW92ZUJpbmRp
bmcoRWxlbWVudCogYm91bmRFbGVtZW50LCBjb25zdCBTdHJpbmcmIHVyaSkKSW5kZXg6IFdlYkNv
cmUveGJsL1hCTEJpbmRpbmdNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS94YmwvWEJM
QmluZGluZ01hbmFnZXIuaAkocmV2aXNpb24gMzUzMjQpCisrKyBXZWJDb3JlL3hibC9YQkxCaW5k
aW5nTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMyArMzcsMTQgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgY2xhc3MgRWxlbWVudDsKICAgICBjbGFzcyBYQkxCaW5kaW5nOwor
ICAgIGNsYXNzIFhCTEJpbmRpbmdFbGVtZW50OwogICAgIGNsYXNzIFN0cmluZzsKIAogICAgIGNs
YXNzIFhCTEJpbmRpbmdNYW5hZ2VyIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBYQkxC
aW5kaW5nTWFuYWdlciogc2hhcmVkSW5zdGFuY2UoKTsKIAotICAgICAgICB2b2lkIGFkZEJpbmRp
bmcoRWxlbWVudCogYm91bmRFbGVtZW50LCBjb25zdCBTdHJpbmcmIHVyaSk7CisgICAgICAgIHZv
aWQgYWRkQmluZGluZyhFbGVtZW50KiBib3VuZEVsZW1lbnQsIGNvbnN0IFN0cmluZyYgdXJpLCBY
QkxCaW5kaW5nRWxlbWVudCogPSAwKTsKICAgICAgICAgdm9pZCByZW1vdmVCaW5kaW5nKEVsZW1l
bnQqIGJvdW5kRWxlbWVudCwgY29uc3QgU3RyaW5nJiB1cmkpOwogICAgICAgICBib29sIGhhc0Jp
bmRpbmcoRWxlbWVudCogYm91bmRFbGVtZW50LCBjb25zdCBTdHJpbmcmIHVyaSk7CiAKSW5kZXg6
IFdlYkNvcmUveGJsL3hibGF0dHJzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUveGJsL3hibGF0
dHJzLmluCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS94YmwveGJsYXR0cnMuaW4JKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMyBAQAorPGF0dHJzIG5hbWVzcGFjZT0iWEJMIiBjcHBOYW1lc3BhY2U9
IldlYkNvcmUiIG5hbWVzcGFjZVVSST0iaHR0cDovL3d3dy53My5vcmcvbnMveGJsIiBudWxsTmFt
ZXNwYWNlPSIxIiBnZW5lcmF0ZUZhY3Rvcnk9IjEiIGd1YXJkRmFjdG9yeVdpdGg9IkVOQUJMRShY
QkwpIj4KKzxlbGVtZW50Lz4KKzwvYXR0cnM+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22522</attachid>
            <date>2008-07-28 10:10:08 -0700</date>
            <delta_ts>2008-07-28 13:51:14 -0700</delta_ts>
            <desc>Just add the &apos;element&apos; attribute without the handling</desc>
            <filename>XBLElementAttrSimple.patch</filename>
            <type>text/plain</type>
            <size>3348</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNTQwNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMDgtMDctMjggIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQnVnIDIwMTcxOiBbWEJMXSBBZGQgPGJpbmRpbmc+ICdlbGVtZW50JyBhdHRyaWJ1dGUK
KworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IEFkZCBhdHRycyBmaWxlLgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnBybzogRGl0dG8u
CisgICAgICAgICogeGJsL3hibGF0dHJzLmluOiBBZGRlZC4KKwogMjAwOC0wNy0yNiAgSnVsaWVu
IENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBEYXZpZCBIeWF0dC4KSW5kZXg6IFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDM1MTU0KQorKysg
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC01MzUsNyArNTM1
LDcgQEAgWE1MTmFtZXMuY3BwIDogZG9tL21ha2VfbmFtZXMucGwgeG1sL3htbAogaWZlcSAoJChm
aW5kc3RyaW5nIEVOQUJMRV9YQkwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxFX1hCTCkKIAog
WEJMTmFtZXMuY3BwIFhCTEVsZW1lbnRGYWN0b3J5LmNwcCA6IGRvbS9tYWtlX25hbWVzLnBsIHhi
bC94Ymx0YWdzLmluCi0JcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMgJDwgLS10
YWdzICQoV2ViQ29yZSkveGJsL3hibHRhZ3MuaW4gIC0tb3V0cHV0IC4KKwlwZXJsIC1JICQoV2Vi
Q29yZSkvYmluZGluZ3Mvc2NyaXB0cyAkPCAtLXRhZ3MgJChXZWJDb3JlKS94YmwveGJsdGFncy5p
biAtLWF0dHJzICQoV2ViQ29yZSkveGJsL3hibGF0dHJzLmluICAtLW91dHB1dCAuCiAKIGVsc2UK
IApJbmRleDogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCShyZXZpc2lvbiAzNTMyNCkKKysrIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0J
KHdvcmtpbmcgY29weSkKQEAgLTE0MzgsNyArMTQzOCw3IEBAIEZFQVRVUkVfREVGSU5FU19KQVZB
U0NSSVBUICs9IEVOQUJMRV9YQkwKIHdlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfWEJMPTEg
XAogCS1JXCQodG9wX3NyY2RpcikvV2ViQ29yZS94YmwKIAotd2ViY29yZV9idWlsdF9zb3VyY2Vz
ICs9IFwgCit3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1hCTEVs
ZW1lbnRGYWN0b3J5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvWEJMTmFtZXMuY3BwCiAKQEAgLTIx
NjQsNyArMjE2NCw3IEBAIGlmIEVOQUJMRV9YQkwKIERlcml2ZWRTb3VyY2VzL1hCTE5hbWVzLmNw
cDogRGVyaXZlZFNvdXJjZXMvWEJMRWxlbWVudEZhY3RvcnkuY3BwOwogCiBEZXJpdmVkU291cmNl
cy9YQkxFbGVtZW50RmFjdG9yeS5jcHA6ICQoV2ViQ29yZSkvZG9tL21ha2VfbmFtZXMucGwgJChX
ZWJDb3JlKS94YmwveGJsdGFncy5pbgotCSQoUEVSTCkgLUkkKFdlYkNvcmUpL2JpbmRpbmdzL3Nj
cmlwdHMgJDwgLS10YWdzICQoV2ViQ29yZSkveGJsL3hibHRhZ3MuaW4gLS1vdXRwdXQgJChHRU5T
T1VSQ0VTKQorCSQoUEVSTCkgLUkkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMgJDwgLS10YWdz
ICQoV2ViQ29yZSkveGJsL3hibHRhZ3MuaW4gLS1hdHRycyAkKFdlYkNvcmUpL3hibC94YmxhdHRy
cy5pbiAtLW91dHB1dCAkKEdFTlNPVVJDRVMpCiAKIGVuZGlmICMgRU5EIEVOQUJMRV9YQkwKIApJ
bmRleDogV2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUu
cHJvCShyZXZpc2lvbiAzNTMyNCkKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29w
eSkKQEAgLTEyNDIsNyArMTI0Miw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9YQkw9MSkg
ewogICAgICAgICBYQkxfTkFNRVMgPSAkJFBXRC94YmwveGJsdGFncy5pbgogCiAgICAgICAgIHhi
bG5hbWVzX2Eub3V0cHV0ID0gJCRHRU5FUkFURURfU09VUkNFU19ESVIvWEJMTmFtZXMuY3BwCi0g
ICAgICAgIHhibG5hbWVzX2EuY29tbWFuZHMgPSBwZXJsIC1JJCRQV0QvYmluZGluZ3Mvc2NyaXB0
cyAgJCRQV0QvZG9tL21ha2VfbmFtZXMucGwgLS10YWdzICQkUFdEL3hibC94Ymx0YWdzLmluIC0t
cHJlcHJvY2Vzc29yIFwiJCR7UU1BS0VfTU9DfSAtRVwiIC0tb3V0cHV0ICQkR0VORVJBVEVEX1NP
VVJDRVNfRElSCisgICAgICAgIHhibG5hbWVzX2EuY29tbWFuZHMgPSBwZXJsIC1JJCRQV0QvYmlu
ZGluZ3Mvc2NyaXB0cyAgJCRQV0QvZG9tL21ha2VfbmFtZXMucGwgLS10YWdzICQkUFdEL3hibC94
Ymx0YWdzLmluIC0tYXR0cnMgJCRQV0QveGJsL3hibGF0dHJzLmluIC0tcHJlcHJvY2Vzc29yIFwi
JCR7UU1BS0VfTU9DfSAtRVwiIC0tb3V0cHV0ICQkR0VORVJBVEVEX1NPVVJDRVNfRElSCiAgICAg
ICAgIHhibG5hbWVzX2EuaW5wdXQgPSBYQkxfTkFNRVMKICAgICAgICAgeGJsbmFtZXNfYS5kZXBl
bmRlbmN5X3R5cGUgPSBUWVBFX0MKICAgICAgICAgeGJsbmFtZXNfYS5DT05GSUcgPSB0YXJnZXRf
cHJlZGVwcwpJbmRleDogV2ViQ29yZS94YmwveGJsYXR0cnMuaW4KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS94YmwveGJsYXR0cnMuaW4JKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3hibC94YmxhdHRy
cy5pbgkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACis8YXR0cnMgbmFtZXNwYWNlPSJYQkwi
IGNwcE5hbWVzcGFjZT0iV2ViQ29yZSIgbmFtZXNwYWNlVVJJPSJodHRwOi8vd3d3LnczLm9yZy9u
cy94YmwiIG51bGxOYW1lc3BhY2U9IjEiIGdlbmVyYXRlRmFjdG9yeT0iMSIgZ3VhcmRGYWN0b3J5
V2l0aD0iRU5BQkxFKFhCTCkiPgorPGVsZW1lbnQvPgorPC9hdHRycz4K
</data>
<flag name="review"
          id="9936"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>