<?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>10795</bug_id>
          
          <creation_ts>2006-09-09 18:50:14 -0700</creation_ts>
          <short_desc>Auto-generate the Objective-C DOM XPath bindings</short_desc>
          <delta_ts>2006-09-09 19:30:04 -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>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>55140</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-09 18:50:14 -0700</bug_when>
    <thetext>3 more classes down.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55141</commentid>
    <comment_count>1</comment_count>
      <attachid>10480</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-09 18:54:18 -0700</bug_when>
    <thetext>Created attachment 10480
patch

- Auto-generates DOMXPathExpression, DOMXPathNSResolver and DOMXPathResult.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55143</commentid>
    <comment_count>2</comment_count>
      <attachid>10480</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-09-09 19:22:00 -0700</bug_when>
    <thetext>Comment on attachment 10480
patch

Looks fine. r=me.

+//- (DOMXPathResult *)evaluate:(DOMNode *)contextNode type:(unsigned short)type inResult:(DOMXPathResult *)inResult;
+- (DOMXPathResult *)evaluate:(DOMNode *)contextNode :(unsigned short)type :(DOMXPathResult *)inResult;

There should be a comment added about how we can remove the old style binding once internal clients are moved off of it.  The XPath bindings have never been public.

Otherwise looks fine. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55144</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-09 19:30:04 -0700</bug_when>
    <thetext>Landed in r16278.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10480</attachid>
            <date>2006-09-09 18:54:18 -0700</date>
            <delta_ts>2006-09-09 19:22:00 -0700</delta_ts>
            <desc>patch</desc>
            <filename>autoXPath.diff</filename>
            <type>text/plain</type>
            <size>21691</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjI3NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDYtMDktMDkgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQ
YXRjaCBmb3IgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDc5NQorICAgICAgICBBdXRvLWdlbmVyYXRlIHRoZSBPYmplY3RpdmUtQyBET00gWFBhdGggYmlu
ZGluZ3MKKworICAgICAgICAtIEF1dG8tZ2VuZXJhdGVzIERPTVhQYXRoRXhwcmVzc2lvbiwgRE9N
WFBhdGhOU1Jlc29sdmVyIGFuZCBET01YUGF0aFJlc3VsdC4KKworICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NUHJpdmF0ZS5oOgorICAgICAgICAqIGJpbmRp
bmdzL29iamMvRE9NWFBhdGguaDoKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTVhQYXRoLm1t
OgorICAgICAgICAqIGJpbmRpbmdzL29iamMvUHVibGljRE9NSW50ZXJmYWNlcy5oOgorICAgICAg
ICAqIHhtbC9YUGF0aEV4cHJlc3Npb24uaWRsOgorICAgICAgICAqIHhtbC9YUGF0aE5TUmVzb2x2
ZXIuaWRsOgorICAgICAgICAqIHhtbC9YUGF0aFJlc3VsdC5pZGw6CisKIDIwMDYtMDktMDkgIFNh
bSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBF
cmljLgpJbmRleDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMTYyNzcpCisrKyBXZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsxMzksMTAgQEAgYWxs
IDogXAogICAgIERPTVRleHQuaCBcCiAgICAgRE9NVHJlZVdhbGtlci5oIFwKICAgICBET01VSUV2
ZW50LmggXAotICAgIERPTVdoZWVsRXZlbnQuaAorICAgIERPTVdoZWVsRXZlbnQuaCBcCisgICAg
RE9NWFBhdGhFeHByZXNzaW9uLmggXAorICAgIERPTVhQYXRoTlNSZXNvbHZlci5oIFwKKyAgICBE
T01YUGF0aFJlc3VsdC5oCiBlbmRpZgogCiBhbGwgOiBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTYyNzcpCisrKyBXZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjYyLDYg
KzY2MiwxNiBAQAogCQk4NURGODI3MDBBQTc4QjhCMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVE
RjgyNkUwQUE3OEI4QTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUVsZW1lbnQuaCAqLzsgfTsKIAkJ
ODVERjgyNzEwQUE3OEI4QjAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUVsZW1lbnQubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NURGODI2RjBBQTc4QjhB
MDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlRWxlbWVudC5tbSAqLzsgfTsKIAkJODVERjgyNzQwQUE3
OEM3MzAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVERjgyNkUwQUE3OEI4QTAwNDg2QUQ3IC8q
IERPTUhUTUxUYWJsZUVsZW1lbnQuaCAqLzsgfTsKKwkJODVFOUUwQTEwQUIzQTBDNzAwMDY5Q0Qw
IC8qIERPTVhQYXRoRXhwcmVzc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODVFOUUwOUIwQUIzQTBDNzAwMDY5Q0QwIC8qIERPTVhQYXRoRXhwcmVz
c2lvbi5oICovOyB9OworCQk4NUU5RTBBMjBBQjNBMEM3MDAwNjlDRDAgLyogRE9NWFBhdGhFeHBy
ZXNzaW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODVFOUUwOUMwQUIzQTBDNzAwMDY5Q0QwIC8qIERPTVhQYXRoRXhwcmVzc2lvbi5tbSAqLzsgfTsK
KwkJODVFOUUwQTMwQUIzQTBDNzAwMDY5Q0QwIC8qIERPTVhQYXRoRXhwcmVzc2lvblByaXZhdGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RTlFMDlE
MEFCM0EwQzcwMDA2OUNEMCAvKiBET01YUGF0aEV4cHJlc3Npb25Qcml2YXRlLmggKi87IH07CisJ
CTg1RTlFMEE0MEFCM0EwQzcwMDA2OUNEMCAvKiBET01YUGF0aE5TUmVzb2x2ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RTlFMDlFMEFCM0EwQzcw
MDA2OUNEMCAvKiBET01YUGF0aE5TUmVzb2x2ZXIuaCAqLzsgfTsKKwkJODVFOUUwQTUwQUIzQTBD
NzAwMDY5Q0QwIC8qIERPTVhQYXRoUmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NUU5RTA5RjBBQjNBMEM3MDAwNjlDRDAgLyogRE9NWFBhdGhS
ZXN1bHQuaCAqLzsgfTsKKwkJODVFOUUwQTYwQUIzQTBDNzAwMDY5Q0QwIC8qIERPTVhQYXRoUmVz
dWx0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVF
OUUwQTAwQUIzQTBDNzAwMDY5Q0QwIC8qIERPTVhQYXRoUmVzdWx0Lm1tICovOyB9OworCQk4NUU5
RTBBODBBQjNBMTE5MDAwNjlDRDAgLyogRE9NWFBhdGhFeHByZXNzaW9uLmggaW4gQ29weUZpbGVz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RTlFMDlCMEFCM0EwQzcwMDA2
OUNEMCAvKiBET01YUGF0aEV4cHJlc3Npb24uaCAqLzsgfTsKKwkJODVFOUUwQTkwQUIzQTExOTAw
MDY5Q0QwIC8qIERPTVhQYXRoRXhwcmVzc2lvblByaXZhdGUuaCBpbiBDb3B5RmlsZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVFOUUwOUQwQUIzQTBDNzAwMDY5Q0QwIC8q
IERPTVhQYXRoRXhwcmVzc2lvblByaXZhdGUuaCAqLzsgfTsKKwkJODVFOUUwQUEwQUIzQTExOTAw
MDY5Q0QwIC8qIERPTVhQYXRoTlNSZXNvbHZlci5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUU5RTA5RTBBQjNBMEM3MDAwNjlDRDAgLyogRE9NWFBh
dGhOU1Jlc29sdmVyLmggKi87IH07CisJCTg1RTlFMEFCMEFCM0ExMTkwMDA2OUNEMCAvKiBET01Y
UGF0aFJlc3VsdC5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NUU5RTA5RjBBQjNBMEM3MDAwNjlDRDAgLyogRE9NWFBhdGhSZXN1bHQuaCAqLzsgfTsK
IAkJODVFQzlBRkEwQTcxQTJDNjAwRUVFQUVEIC8qIEZvbnREYXRhLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUVDOUFGODBBNzFBMkM2MDBFRUVBRUQg
LyogRm9udERhdGEuaCAqLzsgfTsKIAkJODVFQzlBRkIwQTcxQTJDNjAwRUVFQUVEIC8qIExhbmd1
YWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUVD
OUFGOTBBNzFBMkM2MDBFRUVBRUQgLyogTGFuZ3VhZ2UuaCAqLzsgfTsKIAkJODVFQ0JFRUIwQUE3
NjI2OTAwNTQ0RjBCIC8qIERPTUhUTUxBcmVhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVFQ0JFREQwQUE3NjI2ODAwNTQ0RjBCIC8qIERP
TUhUTUxBcmVhRWxlbWVudC5oICovOyB9OwpAQCAtMjAyMiw2ICsyMDMyLDEwIEBACiAJCQlkc3RQ
YXRoID0gVmVyc2lvbnMvQS9Qcml2YXRlSGVhZGVyczsKIAkJCWRzdFN1YmZvbGRlclNwZWMgPSAx
OwogCQkJZmlsZXMgPSAoCisJCQkJODVFOUUwQTgwQUIzQTExOTAwMDY5Q0QwIC8qIERPTVhQYXRo
RXhwcmVzc2lvbi5oIGluIENvcHlGaWxlcyAqLywKKwkJCQk4NUU5RTBBOTBBQjNBMTE5MDAwNjlD
RDAgLyogRE9NWFBhdGhFeHByZXNzaW9uUHJpdmF0ZS5oIGluIENvcHlGaWxlcyAqLywKKwkJCQk4
NUU5RTBBQTBBQjNBMTE5MDAwNjlDRDAgLyogRE9NWFBhdGhOU1Jlc29sdmVyLmggaW4gQ29weUZp
bGVzICovLAorCQkJCTg1RTlFMEFCMEFCM0ExMTkwMDA2OUNEMCAvKiBET01YUGF0aFJlc3VsdC5o
IGluIENvcHlGaWxlcyAqLywKIAkJCQk4NUQyQUQ2RDBBQjFBNDgyMDBDMzEzRUEgLyogRE9NRXZl
bnRMaXN0ZW5lci5oIGluIENvcHlGaWxlcyAqLywKIAkJCQk4NTUyNkQwNTBBQjBCOTc5MDAwMzAy
RUEgLyogRE9NVHJlZVdhbGtlci5oIGluIENvcHlGaWxlcyAqLywKIAkJCQk4NTUyNkM3MjBBQjBB
RTJGMDAwMzAyRUEgLyogRE9NTm9kZUl0ZXJhdG9yLmggaW4gQ29weUZpbGVzICovLApAQCAtMjg1
NSw2ICsyODY5LDEyIEBACiAJCTg1REY4MjFDMEFBNzg0OUUwMDQ4NkFENyAvKiBET01IVE1MVGFi
bGVTZWN0aW9uRWxlbWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBET01IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODVERjgyNkUwQUE3OEI4QTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZUVsZW1lbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxUYWJsZUVsZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVERjgyNkYwQUE3OEI4QTAwNDg2QUQ3
IC8qIERPTUhUTUxUYWJsZUVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gRE9NSFRNTFRhYmxlRWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODVFOUUwOUIwQUIzQTBDNzAwMDY5Q0QwIC8qIERPTVhQYXRoRXhwcmVzc2lvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NWFBhdGhFeHByZXNzaW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1RTlFMDlDMEFCM0EwQzcwMDA2OUNEMCAv
KiBET01YUGF0aEV4cHJlc3Npb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gRE9NWFBhdGhFeHByZXNzaW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4NUU5RTA5RDBBQjNBMEM3MDAwNjlDRDAgLyogRE9NWFBhdGhFeHByZXNzaW9uUHJpdmF0
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NWFBhdGhFeHByZXNzaW9u
UHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NUU5RTA5RTBBQjNBMEM3
MDAwNjlDRDAgLyogRE9NWFBhdGhOU1Jlc29sdmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBET01YUGF0aE5TUmVzb2x2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODVFOUUwOUYwQUIzQTBDNzAwMDY5Q0QwIC8qIERPTVhQYXRoUmVzdWx0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01YUGF0aFJlc3VsdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4NUU5RTBBMDBBQjNBMEM3MDAwNjlDRDAgLyogRE9NWFBhdGhS
ZXN1bHQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NWFBh
dGhSZXN1bHQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RUM5QUY4MEE3MUEy
QzYwMEVFRUFFRCAvKiBGb250RGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRm9udERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVFQzlBRjkwQTcx
QTJDNjAwRUVFQUVEIC8qIExhbmd1YWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBMYW5ndWFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NUVDQkVERDBB
QTc2MjY4MDA1NDRGMEIgLyogRE9NSFRNTEFyZWFFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01IVE1MQXJlYUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTMwMzksNyArMzA1OSw3IEBACiAJCTkzQTFFQUE3MEE1NjM1MDgwMDY5NjBB
MCAvKiBJbWFnZURvY3VtZW50TWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEltYWdlRG9jdW1lbnRNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBQkNF
NUQwNkUxQTQyRTAwODU5MjVCIC8qIEZvcm1EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvcm1EYXRhLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCTkzQUJDRTVF
MDZFMUE0MkUwMDg1OTI1QiAvKiBGb3JtRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb3JtRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKLQkJOTNBQzhERTAwQTk1NUZBQzAw
MjM5Nzk0IC8qIFRleHRTdHlsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBU
ZXh0U3R5bGUuaDsgcGF0aCA9IHBsYXRmb3JtL1RleHRTdHlsZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5M0FDOERFMDBBOTU1RkFDMDAyMzk3OTQgLyogVGV4dFN0eWxlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRleHRTdHlsZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5M0FFMjMxNzBBQUI1MUU1MDBDRDhBMzUgLyogVGV4dEVuY29kaW5n
UmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4dEVuY29kaW5n
UmVnaXN0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNBRTIzMjAwQUFCNTIx
QjAwQ0Q4QTM1IC8qIFRleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFRleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTNCMEZEODgwQTc1OUJFRDAwODBBRDQ0IC8qIFN0cmluZ0ltcGxN
YWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3RyaW5nSW1w
bE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQzODAsNyArNDQwMCw2IEBA
CiAJCQkJMDg5QzE2NjVGRTg0MTE1OEMwMkFBQzA3IC8qIFJlc291cmNlcyAqLywKIAkJCQkwODY3
RDY5QUZFODQwMjhGQzAyQUFDMDcgLyogRnJhbWV3b3JrcyAqLywKIAkJCQkwMzQ3NjhERkZGMzhB
NTA0MTFEQjlDOEIgLyogUHJvZHVjdHMgKi8sCi0JCQkJOTNBQzhERTAwQTk1NUZBQzAwMjM5Nzk0
IC8qIFRleHRTdHlsZS5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBXZWJLaXQ7CiAJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOwpAQCAtNTEwNiw2ICs1MTI1LDcgQEAKIAkJCQk4NUM1NkQwMzBBQThC
QUE3MDBEOTU3NTUgLyogSFRNTCAqLywKIAkJCQk4NTA2NTcwNDBBQUI0NzZDMDAyRDE1QzAgLyog
U3R5bGVTaGVldHMgKi8sCiAJCQkJODU1MjZDMTUwQUIwQTEyQTAwMDMwMkVBIC8qIFRyYXZlcnNh
bCAqLywKKwkJCQk4NUU5RTBBNzBBQjNBMENDMDAwNjlDRDAgLyogWFBhdGggKi8sCiAJCQkpOwog
CQkJbmFtZSA9ICJEZXJpdmVkIFNvdXJjZXMiOwogCQkJcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dl
YkNvcmU7CkBAIC01MjQ2LDYgKzUyNjYsMTkgQEAKIAkJCW5hbWUgPSBFdmVudHM7CiAJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk4NUU5RTBBNzBBQjNBMENDMDAwNjlDRDAgLyog
WFBhdGggKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTg1
RTlFMDlEMEFCM0EwQzcwMDA2OUNEMCAvKiBET01YUGF0aEV4cHJlc3Npb25Qcml2YXRlLmggKi8s
CisJCQkJODVFOUUwOUIwQUIzQTBDNzAwMDY5Q0QwIC8qIERPTVhQYXRoRXhwcmVzc2lvbi5oICov
LAorCQkJCTg1RTlFMDlDMEFCM0EwQzcwMDA2OUNEMCAvKiBET01YUGF0aEV4cHJlc3Npb24ubW0g
Ki8sCisJCQkJODVFOUUwOUUwQUIzQTBDNzAwMDY5Q0QwIC8qIERPTVhQYXRoTlNSZXNvbHZlci5o
ICovLAorCQkJCTg1RTlFMDlGMEFCM0EwQzcwMDA2OUNEMCAvKiBET01YUGF0aFJlc3VsdC5oICov
LAorCQkJCTg1RTlFMEEwMEFCM0EwQzcwMDA2OUNEMCAvKiBET01YUGF0aFJlc3VsdC5tbSAqLywK
KwkJCSk7CisJCQluYW1lID0gWFBhdGg7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9
OwogCQk5MzAzMkNDQzA5QUVDMzYyMDBGODJBMTggLyogY2cgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNjQ2OSw2ICs2NTAyLDcgQEAKIAkJCQlGNTg3ODY5
ODAyREUzQjg2MDFFQTQxMjIgLyogVGV4dEZpZWxkLmggKi8sCiAJCQkJRjU4Nzg1MzkwMkRFMzc1
OTAxRUE0MTIyIC8qIFRleHRTdHJlYW0uY3BwICovLAogCQkJCUY1ODc4NkJGMDJERTNCODYwMUVB
NDEyMiAvKiBUZXh0U3RyZWFtLmggKi8sCisJCQkJOTNBQzhERTAwQTk1NUZBQzAwMjM5Nzk0IC8q
IFRleHRTdHlsZS5oICovLAogCQkJCTkzMzA5RUExMDk5RUI3OEMwMDU2RTU4MSAvKiBUaW1lci5j
cHAgKi8sCiAJCQkJOTMwNUIyNEMwOThGMUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggKi8sCiAJCQkJ
OTM4MEY0NzEwOUExMUFCNDAwMUZEQjM0IC8qIFdpZGdldC5jcHAgKi8sCkBAIC03ODU3LDYgKzc4
OTEsMTAgQEAKIAkJCQk4NTlGQTVGQjBBQjBCRjIwMDA0RkFFRTkgLyogRE9NTm9kZUZpbHRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODVEMkFENjgwQUIxQTQwQTAwQzMxM0VBIC8qIERPTUV2ZW50
TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1OTEyOEYzMEFCMjQzMUEwMDIwMjI2NSAv
KiBET01IVE1MRW1iZWRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NUU5RTBBMTBBQjNB
MEM3MDAwNjlDRDAgLyogRE9NWFBhdGhFeHByZXNzaW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk4
NUU5RTBBMzBBQjNBMEM3MDAwNjlDRDAgLyogRE9NWFBhdGhFeHByZXNzaW9uUHJpdmF0ZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJODVFOUUwQTQwQUIzQTBDNzAwMDY5Q0QwIC8qIERPTVhQYXRoTlNS
ZXNvbHZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODVFOUUwQTUwQUIzQTBDNzAwMDY5Q0QwIC8q
IERPTVhQYXRoUmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTg4NjgsNiArODkwNiw4IEBACiAJ
CQkJODU1MjZDMzgwQUIwQTE3RTAwMDMwMkVBIC8qIERPTU5vZGVJdGVyYXRvci5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTg1NTI2Q0QzMEFCMEI3REEwMDAzMDJFQSAvKiBET01UcmVlV2Fsa2VyLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJODU5MTI4RjQwQUIyNDMxQTAwMjAyMjY1IC8qIERPTUhUTUxF
bWJlZEVsZW1lbnQubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NUU5RTBBMjBBQjNBMEM3MDAwNjlD
RDAgLyogRE9NWFBhdGhFeHByZXNzaW9uLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODVFOUUwQTYw
QUIzQTBDNzAwMDY5Q0QwIC8qIERPTVhQYXRoUmVzdWx0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4
OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvYmluZGluZ3Mvb2JqYy9ET01Qcml2YXRlLmgJKHJldmlzaW9uIDE2Mjc3KQorKysgV2ViQ29y
ZS9iaW5kaW5ncy9vYmpjL0RPTVByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjYsNiArNjYs
NyBAQAogI2ltcG9ydCA8V2ViQ29yZS9ET01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Qcml2YXRlLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0RPTVVJRXZlbnRQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0RPTVdoZWVsRXZlbnRQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTVhQYXRoRXhwcmVz
c2lvblByaXZhdGUuaD4KIAogQGludGVyZmFjZSBET01SYW5nZSAoV2ViUHJpdmF0ZSkKIC8vIHVz
ZXMgc2FtZSBhbGdvcml0aG0gYXMgaW5uZXJUZXh0CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29i
amMvRE9NWFBhdGguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NWFBh
dGguaAkocmV2aXNpb24gMTYyNzYpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NWFBhdGgu
aAkod29ya2luZyBjb3B5KQpAQCAtMjgsNDMgKzI4LDEzIEBACiAjaW1wb3J0IDxXZWJDb3JlL0RP
TURvY3VtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTU9iamVjdC5oPgogCisjaW1wb3J0IDxX
ZWJDb3JlL0RPTVhQYXRoRXhwcmVzc2lvbi5oPgorI2ltcG9ydCA8V2ViQ29yZS9ET01YUGF0aE5T
UmVzb2x2ZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRE9NWFBhdGhSZXN1bHQuaD4KKwogZXh0ZXJu
IE5TU3RyaW5nICogY29uc3QgRE9NWFBhdGhFeGNlcHRpb247CiAKIGVudW0gRE9NWFBhdGhFeGNl
cHRpb25Db2RlIHsKICAgICBET01fSU5WQUxJRF9FWFBSRVNTSU9OX0VSUiA9IDUxLAogICAgIERP
TV9UWVBFX0VSUiA9IDUyCiB9OwotCi1AcHJvdG9jb2wgRE9NWFBhdGhOU1Jlc29sdmVyIDxOU09i
amVjdD4KLS0gKE5TU3RyaW5nICopbG9va3VwTmFtZXNwYWNlVVJJOihOU1N0cmluZyAqKXByZWZp
eDsKLUBlbmQKLQotZW51bSB7Ci0gICAgLy8gWFBhdGggcmVzdWx0IHR5cGVzCi0gICAgRE9NX0FO
WV9UWVBFICAgICAgICAgICAgICAgICAgICAgICA9IDAsCi0gICAgRE9NX05VTUJFUl9UWVBFICAg
ICAgICAgICAgICAgICAgICA9IDEsCi0gICAgRE9NX1NUUklOR19UWVBFICAgICAgICAgICAgICAg
ICAgICA9IDIsCi0gICAgRE9NX0JPT0xFQU5fVFlQRSAgICAgICAgICAgICAgICAgICA9IDMsCi0g
ICAgRE9NX1VOT1JERVJFRF9OT0RFX0lURVJBVE9SX1RZUEUgICA9IDQsCi0gICAgRE9NX09SREVS
RURfTk9ERV9JVEVSQVRPUl9UWVBFICAgICA9IDUsCi0gICAgRE9NX1VOT1JERVJFRF9OT0RFX1NO
QVBTSE9UX1RZUEUgICA9IDYsCi0gICAgRE9NX09SREVSRURfTk9ERV9TTkFQU0hPVF9UWVBFICAg
ICA9IDcsCi0gICAgRE9NX0FOWV9VTk9SREVSRURfTk9ERV9UWVBFICAgICAgICA9IDgsCi0gICAg
RE9NX0ZJUlNUX09SREVSRURfTk9ERV9UWVBFICAgICAgICA9IDkKLX07Ci0KLUBpbnRlcmZhY2Ug
RE9NWFBhdGhSZXN1bHQgOiBET01PYmplY3QKLS0gKHVuc2lnbmVkIHNob3J0KXJlc3VsdFR5cGU7
Ci0tIChkb3VibGUpbnVtYmVyVmFsdWU7Ci0tIChOU1N0cmluZyAqKXN0cmluZ1ZhbHVlOwotLSAo
Qk9PTClib29sZWFuVmFsdWU7Ci0tIChET01Ob2RlICopc2luZ2xlTm9kZVZhbHVlOwotLSAoQk9P
TClpbnZhbGlkSXRlcmF0b3JTdGF0ZTsKLS0gKHVuc2lnbmVkKXNuYXBzaG90TGVuZ3RoOwotLSAo
RE9NTm9kZSAqKWl0ZXJhdGVOZXh0OwotLSAoRE9NTm9kZSAqKXNuYXBzaG90SXRlbToodW5zaWdu
ZWQpaW5kZXg7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NWFBhdGhFeHByZXNzaW9uIDogRE9NT2Jq
ZWN0Ci0tIChET01YUGF0aFJlc3VsdCAqKWV2YWx1YXRlOihET01Ob2RlICopY29udGV4dE5vZGUg
Oih1bnNpZ25lZCBzaG9ydCl0eXBlIDooRE9NWFBhdGhSZXN1bHQgKilyZXN1bHQ7Ci1AZW5kCklu
ZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NWFBhdGgubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9iaW5kaW5ncy9vYmpjL0RPTVhQYXRoLm1tCShyZXZpc2lvbiAxNjI3NikKKysrIFdlYkNv
cmUvYmluZGluZ3Mvb2JqYy9ET01YUGF0aC5tbQkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQw
LDYgKzQxLDkgQEAgdXNpbmcgV2ViQ29yZTo6WFBhdGhFeHByZXNzaW9uOwogdXNpbmcgV2ViQ29y
ZTo6WFBhdGhOU1Jlc29sdmVyOwogdXNpbmcgV2ViQ29yZTo6WFBhdGhSZXN1bHQ7CiAKKy8vLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyBET01OYXRpdmVYUGF0aE5TUmVzb2x2
ZXIKKwogQGltcGxlbWVudGF0aW9uIERPTU5hdGl2ZVhQYXRoTlNSZXNvbHZlcgogCiAtICh2b2lk
KWRlYWxsb2MKQEAgLTk0LDkxICs5OCw5IEBAIHVzaW5nIFdlYkNvcmU6OlhQYXRoUmVzdWx0Owog
CiBAZW5kCiAKLUBpbXBsZW1lbnRhdGlvbiBET01YUGF0aFJlc3VsdAotCi0tICh2b2lkKWRlYWxs
b2MKLXsKLSAgICBpZiAoX2ludGVybmFsKSB7Ci0gICAgICAgIERPTV9jYXN0PFhQYXRoUmVzdWx0
Kj4oX2ludGVybmFsKS0+ZGVyZWYoKTsKLSAgICB9Ci0gICAgW3N1cGVyIGRlYWxsb2NdOwotfQot
Ci0tICh2b2lkKWZpbmFsaXplCi17Ci0gICAgaWYgKF9pbnRlcm5hbCkgewotICAgICAgICBET01f
Y2FzdDxYUGF0aFJlc3VsdCo+KF9pbnRlcm5hbCktPmRlcmVmKCk7Ci0gICAgfQotICAgIFtzdXBl
ciBmaW5hbGl6ZV07Ci19Ci0KLS0gKHVuc2lnbmVkIHNob3J0KXJlc3VsdFR5cGUKLXsKLSAgICBy
ZXR1cm4gW3NlbGYgX3hwYXRoUmVzdWx0XS0+cmVzdWx0VHlwZSgpOwotfQotCi0tIChkb3VibGUp
bnVtYmVyVmFsdWUKLXsKLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBkb3VibGUgcmVz
dWx0ID0gW3NlbGYgX3hwYXRoUmVzdWx0XS0+bnVtYmVyVmFsdWUoZWMpOwotICAgIHJhaXNlT25E
T01FcnJvcihlYyk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLSAoTlNTdHJpbmcgKilzdHJp
bmdWYWx1ZQotewotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIE5TU3RyaW5nICpyZXN1
bHQgPSBbc2VsZiBfeHBhdGhSZXN1bHRdLT5zdHJpbmdWYWx1ZShlYyk7Ci0gICAgcmFpc2VPbkRP
TUVycm9yKGVjKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0tIChCT09MKWJvb2xlYW5WYWx1
ZQotewotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIEJPT0wgcmVzdWx0ID0gW3NlbGYg
X3hwYXRoUmVzdWx0XS0+Ym9vbGVhblZhbHVlKGVjKTsKLSAgICByYWlzZU9uRE9NRXJyb3IoZWMp
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS0gKERPTU5vZGUgKilzaW5nbGVOb2RlVmFsdWUK
LXsKLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBET01Ob2RlICpyZXN1bHQgPSBbRE9N
Tm9kZSBfbm9kZVdpdGg6W3NlbGYgX3hwYXRoUmVzdWx0XS0+c2luZ2xlTm9kZVZhbHVlKGVjKV07
Ci0gICAgcmFpc2VPbkRPTUVycm9yKGVjKTsKLSAgICByZXR1cm4gcmVzdWx0OyAgICAKLX0KLQot
LSAoQk9PTClpbnZhbGlkSXRlcmF0b3JTdGF0ZQotewotICAgIHJldHVybiBbc2VsZiBfeHBhdGhS
ZXN1bHRdLT5pbnZhbGlkSXRlcmF0b3JTdGF0ZSgpOwotfQotCi0tICh1bnNpZ25lZClzbmFwc2hv
dExlbmd0aAotewotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIHVuc2lnbmVkIHJlc3Vs
dCA9IFtzZWxmIF94cGF0aFJlc3VsdF0tPnNuYXBzaG90TGVuZ3RoKGVjKTsKLSAgICByYWlzZU9u
RE9NRXJyb3IoZWMpOwotICAgIHJldHVybiByZXN1bHQ7ICAgICAgICAKLX0KLQotLSAoRE9NTm9k
ZSAqKWl0ZXJhdGVOZXh0Ci17Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgRE9NTm9k
ZSAqcmVzdWx0ID0gW0RPTU5vZGUgX25vZGVXaXRoOltzZWxmIF94cGF0aFJlc3VsdF0tPml0ZXJh
dGVOZXh0KGVjKV07Ci0gICAgcmFpc2VPbkRPTUVycm9yKGVjKTsKLSAgICByZXR1cm4gcmVzdWx0
OyAgICAKLX0KLQotLSAoRE9NTm9kZSAqKXNuYXBzaG90SXRlbToodW5zaWduZWQpaW5kZXgKLXsK
LSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBET01Ob2RlICpyZXN1bHQgPSBbRE9NTm9k
ZSBfbm9kZVdpdGg6W3NlbGYgX3hwYXRoUmVzdWx0XS0+c25hcHNob3RJdGVtKGluZGV4LCBlYyld
OwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7Ci0gICAgcmV0dXJuIHJlc3VsdDsgICAgCi19CiAK
LUBlbmQKKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyBET01YUGF0aFJl
c3VsdAogCiBAaW1wbGVtZW50YXRpb24gRE9NWFBhdGhSZXN1bHQgKFdlYkNvcmVJbnRlcm5hbCkK
IApAQCAtMjE0LDMzICsxMzYsOCBAQCB1c2luZyBXZWJDb3JlOjpYUGF0aFJlc3VsdDsKIEBlbmQK
IAogCi1AaW1wbGVtZW50YXRpb24gRE9NWFBhdGhFeHByZXNzaW9uCi0KLS0gKHZvaWQpZGVhbGxv
YwotewotICAgIGlmIChfaW50ZXJuYWwpIHsKLSAgICAgICAgRE9NX2Nhc3Q8WFBhdGhOU1Jlc29s
dmVyKj4oX2ludGVybmFsKS0+ZGVyZWYoKTsKLSAgICB9Ci0gICAgW3N1cGVyIGRlYWxsb2NdOwot
fQotCi0tICh2b2lkKWZpbmFsaXplCi17Ci0gICAgaWYgKF9pbnRlcm5hbCkgewotICAgICAgICBE
T01fY2FzdDxYUGF0aE5TUmVzb2x2ZXIqPihfaW50ZXJuYWwpLT5kZXJlZigpOwotICAgIH0KLSAg
ICBbc3VwZXIgZmluYWxpemVdOwotfQotCi0tIChET01YUGF0aFJlc3VsdCAqKWV2YWx1YXRlOihE
T01Ob2RlICopY29udGV4dE5vZGUgOih1bnNpZ25lZCBzaG9ydCl0eXBlIDooRE9NWFBhdGhSZXN1
bHQgKilyZXN1bHQKLXsKLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBET01YUGF0aFJl
c3VsdCAqX3Jlc3VsdCA9IFtET01YUGF0aFJlc3VsdCBfeHBhdGhSZXN1bHRXaXRoOltzZWxmIF94
cGF0aEV4cHJlc3Npb25dLT5ldmFsdWF0ZShbY29udGV4dE5vZGUgX25vZGVdLCB0eXBlLCBbcmVz
dWx0IF94cGF0aFJlc3VsdF0sIGVjKS5nZXQoKV07Ci0gICAgcmFpc2VPbkRPTUVycm9yKGVjKTsK
LSAgICByZXR1cm4gX3Jlc3VsdDsKLX0KLQotQGVuZAorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KKy8vIERPTVhQYXRoUmVzdWx0CiAKIEBpbXBsZW1lbnRhdGlvbiBET01YUGF0
aEV4cHJlc3Npb24gKFdlYkNvcmVJbnRlcm5hbCkKIApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9v
YmpjL1B1YmxpY0RPTUludGVyZmFjZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdz
L29iamMvUHVibGljRE9NSW50ZXJmYWNlcy5oCShyZXZpc2lvbiAxNjI3NykKKysrIFdlYkNvcmUv
YmluZGluZ3Mvb2JqYy9QdWJsaWNET01JbnRlcmZhY2VzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEs
NCArMSw1IEBACiAvLyBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNiBBcHBsZSBDb21wdXRlciwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2Vp
bmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtODc5LDggKzg4MCwyOSBAQAogLSAoRE9NTm9kZSAqKW5leHROb2RlOwogQGVuZAogCitA
aW50ZXJmYWNlIERPTVhQYXRoUmVzdWx0IDogRE9NT2JqZWN0CitAcHJvcGVydHkocmVhZG9ubHkp
IHVuc2lnbmVkIHNob3J0IHJlc3VsdFR5cGU7CitAcHJvcGVydHkocmVhZG9ubHkpIGRvdWJsZSBu
dW1iZXJWYWx1ZTsKK0Bwcm9wZXJ0eShyZWFkb25seSkgTlNTdHJpbmcgKnN0cmluZ1ZhbHVlOwor
QHByb3BlcnR5KHJlYWRvbmx5KSBCT09MIGJvb2xlYW5WYWx1ZTsKK0Bwcm9wZXJ0eShyZWFkb25s
eSkgRE9NTm9kZSAqc2luZ2xlTm9kZVZhbHVlOworQHByb3BlcnR5KHJlYWRvbmx5KSBCT09MIGlu
dmFsaWRJdGVyYXRvclN0YXRlOworQHByb3BlcnR5KHJlYWRvbmx5KSB1bnNpZ25lZCBzbmFwc2hv
dExlbmd0aDsKKy0gKERPTU5vZGUgKilpdGVyYXRlTmV4dDsKKy0gKERPTU5vZGUgKilzbmFwc2hv
dEl0ZW06KHVuc2lnbmVkKWluZGV4OworQGVuZAorCitAaW50ZXJmYWNlIERPTVhQYXRoRXhwcmVz
c2lvbiA6IERPTU9iamVjdAorLy8tIChET01YUGF0aFJlc3VsdCAqKWV2YWx1YXRlOihET01Ob2Rl
ICopY29udGV4dE5vZGUgdHlwZToodW5zaWduZWQgc2hvcnQpdHlwZSBpblJlc3VsdDooRE9NWFBh
dGhSZXN1bHQgKilpblJlc3VsdDsKKy0gKERPTVhQYXRoUmVzdWx0ICopZXZhbHVhdGU6KERPTU5v
ZGUgKiljb250ZXh0Tm9kZSA6KHVuc2lnbmVkIHNob3J0KXR5cGUgOihET01YUGF0aFJlc3VsdCAq
KWluUmVzdWx0OworQGVuZAorCiAvLyBQcm90b2NvbHMKIAogQHByb3RvY29sIERPTUV2ZW50TGlz
dGVuZXIgPE5TT2JqZWN0PgogLSAodm9pZCloYW5kbGVFdmVudDooRE9NRXZlbnQgKilldnQ7CiBA
ZW5kCisKK0Bwcm90b2NvbCBET01YUGF0aE5TUmVzb2x2ZXIgPE5TT2JqZWN0PgorLSAoTlNTdHJp
bmcgKilsb29rdXBOYW1lc3BhY2VVUkk6KE5TU3RyaW5nICopcHJlZml4OworQGVuZApJbmRleDog
V2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3ht
bC9YUGF0aEV4cHJlc3Npb24uaWRsCShyZXZpc2lvbiAxNjI3NikKKysrIFdlYkNvcmUveG1sL1hQ
YXRoRXhwcmVzc2lvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgog
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKQEAgLTE5LDEwICsyMCwxMiBAQAogCiBtb2R1bGUgeHBhdGggewogCisKICAgICBpbnRl
cmZhY2UgW0NvbmRpdGlvbmFsPVhQQVRIXSBYUGF0aEV4cHJlc3Npb24gewotICAgICAgICBYUGF0
aFJlc3VsdCBldmFsdWF0ZShpbiBOb2RlIGNvbnRleHROb2RlLCAKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gdW5zaWduZWQgc2hvcnQgdHlwZSwgCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIFhQYXRoUmVzdWx0IGluUmVzdWx0KQorICAgICAgICBbT2xkU3R5bGVPYmpD
XSBYUGF0aFJlc3VsdCBldmFsdWF0ZShpbiBOb2RlIGNvbnRleHROb2RlLCAKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdW5zaWduZWQgc2hvcnQgdHlwZSwg
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFhQYXRoUmVz
dWx0IGluUmVzdWx0KQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgfTsK
KwogfQpJbmRleDogV2ViQ29yZS94bWwvWFBhdGhOU1Jlc29sdmVyLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3htbC9YUGF0aE5TUmVzb2x2ZXIuaWRsCShyZXZpc2lvbiAxNjI3NikKKysrIFdl
YkNvcmUveG1sL1hQYXRoTlNSZXNvbHZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAg
KgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKQEAgLTE5LDcgKzIwLDggQEAKIAogbW9kdWxlIHhwYXRoIHsKIAot
ICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9WFBBVEhdIFhQYXRoTlNSZXNvbHZlciB7CisgICAg
aW50ZXJmYWNlIFtPYmpDUHJvdG9jb2wsIENvbmRpdGlvbmFsPVhQQVRIXSBYUGF0aE5TUmVzb2x2
ZXIgewogICAgICAgICBET01TdHJpbmcgbG9va3VwTmFtZXNwYWNlVVJJKGluIERPTVN0cmluZyBw
cmVmaXgpOwogICAgIH07CisKIH0KSW5kZXg6IFdlYkNvcmUveG1sL1hQYXRoUmVzdWx0LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3htbC9YUGF0aFJlc3VsdC5pZGwJKHJldmlzaW9uIDE2Mjc2
KQorKysgV2ViQ29yZS94bWwvWFBhdGhSZXN1bHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC01Myw0
ICs1Myw1IEBAIG1vZHVsZSB4cGF0aCB7CiAgICAgICAgIE5vZGUgc25hcHNob3RJdGVtKGluIHVu
c2lnbmVkIGxvbmcgaW5kZXgpCiAgICAgICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAg
ICAgfTsKKwogfQpJbmRleDogV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxNjI3NykKKysrIFdlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAwNi0wOS0wOSAgU2FtIFdlaW5pZyAgPHNhbS53ZWlu
aWdAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFBhdGNoIGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNzk1CisgICAgICAgIEF1dG8tZ2VuZXJhdGUgdGhlIE9iamVjdGl2ZS1DIERPTSBY
UGF0aCBiaW5kaW5ncworCisgICAgICAgICogTWlncmF0ZUhlYWRlcnMubWFrZToKKwogMjAwNi0w
OS0wOSAgU2FtIFdlaW5pZyAgPHNhbS53ZWluaWdAZ21haWwuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMuCkluZGV4OiBXZWJLaXQvTWlncmF0ZUhlYWRlcnMubWFrZQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvTWlncmF0ZUhlYWRlcnMubWFrZQkocmV2aXNpb24gMTYyNzcpCisrKyBXZWJL
aXQvTWlncmF0ZUhlYWRlcnMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTgzLDYgKzE4MywxMCBA
QCBhbGwgOiBcCiAgICAgJChQVUJMSUNfSEVBREVSU19ESVIpL0RPTVdoZWVsRXZlbnQuaCBcCiAg
ICAgJChQUklWQVRFX0hFQURFUlNfRElSKS9ET01XaGVlbEV2ZW50UHJpdmF0ZS5oIFwKICAgICAk
KFBVQkxJQ19IRUFERVJTX0RJUikvRE9NWFBhdGguaCBcCisgICAgJChQVUJMSUNfSEVBREVSU19E
SVIpL0RPTVhQYXRoRXhwcmVzc2lvbi5oIFwKKyAgICAkKFBSSVZBVEVfSEVBREVSU19ESVIpL0RP
TVhQYXRoRXhwcmVzc2lvblByaXZhdGUuaCBcCisgICAgJChQVUJMSUNfSEVBREVSU19ESVIpL0RP
TVhQYXRoTlNSZXNvbHZlci5oIFwKKyAgICAkKFBVQkxJQ19IRUFERVJTX0RJUikvRE9NWFBhdGhS
ZXN1bHQuaCBcCiAgICAgJChQUklWQVRFX0hFQURFUlNfRElSKS9XZWJEYXNoYm9hcmRSZWdpb24u
aCBcCiAgICAgJChQVUJMSUNfSEVBREVSU19ESVIpL1dlYlNjcmlwdE9iamVjdC5oIFwKICAgICAk
KFBVQkxJQ19IRUFERVJTX0RJUikvbnBhcGkuaCBcCg==
</data>
<flag name="review"
          id="3375"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>