<?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>42195</bug_id>
          
          <creation_ts>2010-07-13 13:54:49 -0700</creation_ts>
          <short_desc>WebKitTestRunner needs to support layoutTestController.setXSSAuditorEnabled</short_desc>
          <delta_ts>2010-08-31 16:51:45 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>abarth</cc>
    
    <cc>dbates</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>250721</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-07-13 13:54:49 -0700</bug_when>
    <thetext>WebKitTestRunner needs to support layoutTestController.setXSSAuditorEnabled

The tests in http/tests/security/xssAuditor fail for this reason (unsurprisingly).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250727</commentid>
    <comment_count>1</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-07-13 13:58:54 -0700</bug_when>
    <thetext>&lt;rdar://problem/8186761&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272456</commentid>
    <comment_count>2</comment_count>
      <attachid>66130</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-08-31 16:02:14 -0700</bug_when>
    <thetext>Created attachment 66130
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272463</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-08-31 16:14:23 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/66551&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272494</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-31 16:43:19 -0700</bug_when>
    <thetext>This patch doesn&apos;t seem to build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272504</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-08-31 16:51:45 -0700</bug_when>
    <thetext>Hopefully fixed in&lt;http://trac.webkit.org/changeset/66554&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66130</attachid>
            <date>2010-08-31 16:02:14 -0700</date>
            <delta_ts>2010-08-31 16:09:21 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>XSSAuditor.txt</filename>
            <type>text/plain</type>
            <size>21597</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjU0NykKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTAgQEAKKzIwMTAtMDgtMzEgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMTk1CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS84MTg2NzYxPiBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIHRvIHN1cHBvcnQg
bGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0WFNTQXVkaXRvckVuYWJsZWQKKworICAgICAgICAqIFNo
YXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVy
ZW5jZXNTdG9yZTo6V2ViUHJlZmVyZW5jZXNTdG9yZSk6IEluaXRpYWxpemUgeHNzQXVkaXRvckVu
YWJsZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OmRlY29kZSk6IE1v
dmVkIGZyb20gaGVhZGVyLCBhZGRlZCB4c3NBdWRpdG9yRW5hYmxlZC4KKyAgICAgICAgKFdlYktp
dDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6ZW5jb2RlKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6
OldlYlByZWZlcmVuY2VzU3RvcmU6Om92ZXJyaWRlWFNTQXVkaXRvckVuYWJsZWRGb3JUZXN0UnVu
bmVyKTogU2V0IGFuIG92ZXJyaWRlLCBzbworICAgICAgICB0aGF0IGRlY29kaW5nIGEgV2ViUHJl
ZmVyZW5jZXNTdG9yZSBpbiB0aGUgcHJvY2VzcyB3aWxsIGdpdmUgdGhlIG92ZXJyaWRlIHJlc3Vs
dC4gV2ViUHJvY2VzcworICAgICAgICBkb2Vzbid0IGhvbGQgdG8gV2ViUHJlZmVyZW5jZXNTdG9y
ZSwgc28gdGhlcmUgYXJlIG5vIGV4aXN0aW5nIG9uZXMgdG8gcGF0Y2guCisgICAgICAgIChXZWJL
aXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OnJlbW92ZVRlc3RSdW5uZXJPdmVycmlkZXMpOiBSZW1v
dmUgdGhlIG92ZXJyaWRlLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUu
aDogQWRkZWQgeHNzQXVkaXRvckVuYWJsZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0WFNTQXVkaXRvckVu
YWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldFhTU0F1ZGl0b3JFbmFibGVkKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oOgorICAgICAgICBBZGRlZCBh
biBBUEkgbWV0aG9kIHRvIGNoYW5nZSB4c3NBdWRpdG9yRW5hYmxlZCBwcmVmZXJlbmNlLgorCisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6IChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6cHJlZmVyZW5jZXNEaWRDaGFuZ2UpOiBBZGRlZCBhIGNvbW1lbnQKKyAgICAgICAgZXhwbGFp
bmluZyBob3cgbWFraW5nIHRoaXMgbWV0aG9kIHNtYXJ0ZXIgY291bGQgYWZmZWN0IFdlYktpdFRl
c3RSdW5uZXIuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6c2V0WFNTQXVkaXRvckVuYWJsZWQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6eHNzQXVkaXRvckVuYWJsZWQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICBJbXBsZW1lbnRlZCB4c3NB
dWRpdG9yRW5hYmxlZCBwcmVmZXJlbmNlIGFjY2Vzc29ycy4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwOiAoV0tCdW5kbGVPdmVycmlkZVhT
U0F1ZGl0b3JFbmFibGVkRm9yVGVzdFJ1bm5lcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaDoKKyAgICAgICAgQWRkZWQgYSBwcml2
YXRlIG1ldGhvZHMgdG8gdGVtcG9yYXJpbHkgY2hhbmdlIHhzc0F1ZGl0b3Igc2V0dGluZyBmcm9t
IGFuIGluamVjdGVkIGJ1bmRsZSwKKyAgICAgICAgbm90IG5vdGlmeWluZyBVSVByb2Nlc3MgYWJv
dXQgdGhlIGNoYW5nZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuY3BwOiAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVYU1NBdWRp
dG9yRW5hYmxlZEZvclRlc3RSdW5uZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuaDoKKyAgICAgICAgQ2hhbmdlIHRoZSBzZXR0aW5nIGluIGV4
aXN0aW5nIHBhZ2VzLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZ1dHVyZSBvbmVzLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpXZWJQYWdlKTogVGFrZSB4c3NBdWRpdG9yRW5hYmxlZCBmcm9tIHByZWZlcmVuY2VzIHN0
b3JlLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwcmVmZXJlbmNlc0RpZENoYW5nZSk6IElm
IHByZWZlcmVuY2VzIGNoYW5nZSwgZm9yZ2V0IG91ciBvdmVycmlkZS4gVGhpcyBvbmx5CisgICAg
ICAgIGhhcHBlbnMgaW4gV0tSVCB3aGVuIHRoZSBuZXh0IHRlc3QgYmVnaW5zLgorCiAyMDEwLTA4
LTMxICBTdGV2ZSBGYWxrZW5idXJnICA8c2ZhbGtlbkBhcHBsZS5jb20+CiAKICAgICAgICAgUnVi
YmVyIHN0YW1wZWQgYnkgU2FtIFdlaW5pZy4KSW5kZXg6IFdlYktpdDIvU2hhcmVkL1dlYlByZWZl
cmVuY2VzU3RvcmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzU3RvcmUuY3BwCShyZXZpc2lvbiA2NjM5MikKKysrIFdlYktpdDIvU2hhcmVkL1dlYlByZWZl
cmVuY2VzU3RvcmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMiArMjksMTYgQEAKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKK3N0YXRpYyBib29sIGhhc1hTU0F1ZGl0b3JFbmFibGVkVGVzdFJ1
bm5lck92ZXJyaWRlOworc3RhdGljIGJvb2wgeHNzQXVkaXRvckVuYWJsZWRUZXN0UnVubmVyT3Zl
cnJpZGU7CisKIFdlYlByZWZlcmVuY2VzU3RvcmU6OldlYlByZWZlcmVuY2VzU3RvcmUoKQogICAg
IDogamF2YVNjcmlwdEVuYWJsZWQodHJ1ZSkKICAgICAsIGxvYWRzSW1hZ2VzQXV0b21hdGljYWxs
eSh0cnVlKQogICAgICwgcGx1Z2luc0VuYWJsZWQodHJ1ZSkKICAgICAsIG9mZmxpbmVXZWJBcHBs
aWNhdGlvbkNhY2hlRW5hYmxlZChmYWxzZSkKICAgICAsIGxvY2FsU3RvcmFnZUVuYWJsZWQodHJ1
ZSkKKyAgICAsIHhzc0F1ZGl0b3JFbmFibGVkKHRydWUpCiAgICAgLCBmb250U21vb3RoaW5nTGV2
ZWwoRm9udFNtb290aGluZ0xldmVsTWVkaXVtKQogICAgICwgbWluaW11bUZvbnRTaXplKDEpCiAg
ICAgLCBtaW5pbXVtTG9naWNhbEZvbnRTaXplKDkpCkBAIC00OSw0ICs1Myw3OSBAQCBXZWJQcmVm
ZXJlbmNlc1N0b3JlOjpXZWJQcmVmZXJlbmNlc1N0b3JlCiB7CiB9CiAKK3ZvaWQgV2ViUHJlZmVy
ZW5jZXNTdG9yZTo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciogZW5jb2RlcikgY29u
c3QKK3sKKyAgICBlbmNvZGVyLT5lbmNvZGUoamF2YVNjcmlwdEVuYWJsZWQpOworICAgIGVuY29k
ZXItPmVuY29kZShsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkpOworICAgIGVuY29kZXItPmVuY29k
ZShwbHVnaW5zRW5hYmxlZCk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKG9mZmxpbmVXZWJBcHBsaWNh
dGlvbkNhY2hlRW5hYmxlZCk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKGxvY2FsU3RvcmFnZUVuYWJs
ZWQpOworICAgIGVuY29kZXItPmVuY29kZSh4c3NBdWRpdG9yRW5hYmxlZCk7CisgICAgZW5jb2Rl
ci0+ZW5jb2RlKGZvbnRTbW9vdGhpbmdMZXZlbCk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKG1pbmlt
dW1Gb250U2l6ZSk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKG1pbmltdW1Mb2dpY2FsRm9udFNpemUp
OworICAgIGVuY29kZXItPmVuY29kZShkZWZhdWx0Rm9udFNpemUpOworICAgIGVuY29kZXItPmVu
Y29kZShkZWZhdWx0Rml4ZWRGb250U2l6ZSk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKHN0YW5kYXJk
Rm9udEZhbWlseSk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKGN1cnNpdmVGb250RmFtaWx5KTsKKyAg
ICBlbmNvZGVyLT5lbmNvZGUoZmFudGFzeUZvbnRGYW1pbHkpOworICAgIGVuY29kZXItPmVuY29k
ZShmaXhlZEZvbnRGYW1pbHkpOworICAgIGVuY29kZXItPmVuY29kZShzYW5zU2VyaWZGb250RmFt
aWx5KTsKKyAgICBlbmNvZGVyLT5lbmNvZGUoc2VyaWZGb250RmFtaWx5KTsKK30KKworYm9vbCBX
ZWJQcmVmZXJlbmNlc1N0b3JlOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNv
ZGVyLCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzKQoreworICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
KHMuamF2YVNjcmlwdEVuYWJsZWQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFk
ZWNvZGVyLT5kZWNvZGUocy5sb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocy5wbHVnaW5zRW5hYmxlZCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShzLm9mZmxpbmVX
ZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBp
ZiAoIWRlY29kZXItPmRlY29kZShzLmxvY2FsU3RvcmFnZUVuYWJsZWQpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocy54c3NBdWRpdG9yRW5hYmxlZCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShzLmZvbnRT
bW9vdGhpbmdMZXZlbCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIt
PmRlY29kZShzLm1pbmltdW1Gb250U2l6ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBp
ZiAoIWRlY29kZXItPmRlY29kZShzLm1pbmltdW1Mb2dpY2FsRm9udFNpemUpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocy5kZWZhdWx0Rm9udFNpemUp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocy5kZWZh
dWx0Rml4ZWRGb250U2l6ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29k
ZXItPmRlY29kZShzLnN0YW5kYXJkRm9udEZhbWlseSkpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICBpZiAoIWRlY29kZXItPmRlY29kZShzLmN1cnNpdmVGb250RmFtaWx5KSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHMuZmFudGFzeUZvbnRGYW1p
bHkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocy5m
aXhlZEZvbnRGYW1pbHkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVy
LT5kZWNvZGUocy5zYW5zU2VyaWZGb250RmFtaWx5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHMuc2VyaWZGb250RmFtaWx5KSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgaWYgKGhhc1hTU0F1ZGl0b3JFbmFibGVkVGVzdFJ1bm5lck92ZXJy
aWRlKQorICAgICAgICBzLnhzc0F1ZGl0b3JFbmFibGVkID0geHNzQXVkaXRvckVuYWJsZWRUZXN0
UnVubmVyT3ZlcnJpZGU7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBXZWJQcmVmZXJl
bmNlc1N0b3JlOjpvdmVycmlkZVhTU0F1ZGl0b3JFbmFibGVkRm9yVGVzdFJ1bm5lcihib29sIGVu
YWJsZWQpCit7CisgICAgaGFzWFNTQXVkaXRvckVuYWJsZWRUZXN0UnVubmVyT3ZlcnJpZGUgPSB0
cnVlOworICAgIHhzc0F1ZGl0b3JFbmFibGVkVGVzdFJ1bm5lck92ZXJyaWRlID0gZW5hYmxlZDsK
K30KKwordm9pZCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpyZW1vdmVUZXN0UnVubmVyT3ZlcnJpZGVz
KCkKK3sKKyAgICBoYXNYU1NBdWRpdG9yRW5hYmxlZFRlc3RSdW5uZXJPdmVycmlkZSA9IGZhbHNl
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzU3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJl
bmNlc1N0b3JlLmgJKHJldmlzaW9uIDY2MzkyKQorKysgV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXNTdG9yZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBAIHN0cnVjdCBXZWJQ
cmVmZXJlbmNlc1N0b3JlIHsKICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlKHBsdWdpbnNFbmFibGVk
KTsKICAgICAgICAgZW5jb2Rlci0+ZW5jb2RlKG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5h
YmxlZCk7CiAgICAgICAgIGVuY29kZXItPmVuY29kZShsb2NhbFN0b3JhZ2VFbmFibGVkKTsKKyAg
ICAgICAgZW5jb2Rlci0+ZW5jb2RlKHhzc0F1ZGl0b3JFbmFibGVkKTsKICAgICAgICAgZW5jb2Rl
ci0+ZW5jb2RlKGZvbnRTbW9vdGhpbmdMZXZlbCk7CiAgICAgICAgIGVuY29kZXItPmVuY29kZSht
aW5pbXVtRm9udFNpemUpOwogICAgICAgICBlbmNvZGVyLT5lbmNvZGUobWluaW11bUxvZ2ljYWxG
b250U2l6ZSk7CkBAIC01Niw0OCArNTcsMTcgQEAgc3RydWN0IFdlYlByZWZlcmVuY2VzU3RvcmUg
ewogICAgICAgICBlbmNvZGVyLT5lbmNvZGUoc2VyaWZGb250RmFtaWx5KTsKICAgICB9CiAKLSAg
ICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBX
ZWJQcmVmZXJlbmNlc1N0b3JlJiBzKQotICAgIHsKLSAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNv
ZGUocy5qYXZhU2NyaXB0RW5hYmxlZCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHMubG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KSkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocy5w
bHVnaW5zRW5hYmxlZCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGlmICgh
ZGVjb2Rlci0+ZGVjb2RlKHMub2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKSkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocy5s
b2NhbFN0b3JhZ2VFbmFibGVkKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
aWYgKCFkZWNvZGVyLT5kZWNvZGUocy5mb250U21vb3RoaW5nTGV2ZWwpKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShzLm1pbmltdW1Gb250
U2l6ZSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGlmICghZGVjb2Rlci0+
ZGVjb2RlKHMubWluaW11bUxvZ2ljYWxGb250U2l6ZSkpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHMuZGVmYXVsdEZvbnRTaXplKSkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocy5k
ZWZhdWx0Rml4ZWRGb250U2l6ZSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
IGlmICghZGVjb2Rlci0+ZGVjb2RlKHMuc3RhbmRhcmRGb250RmFtaWx5KSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocy5jdXJzaXZlRm9u
dEZhbWlseSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGlmICghZGVjb2Rl
ci0+ZGVjb2RlKHMuZmFudGFzeUZvbnRGYW1pbHkpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShzLmZpeGVkRm9udEZhbWlseSkpCi0gICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHMuc2Fu
c1NlcmlmRm9udEZhbWlseSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGlm
ICghZGVjb2Rlci0+ZGVjb2RlKHMuc2VyaWZGb250RmFtaWx5KSkKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQorICAgIHN0YXRpYyBib29sIGRl
Y29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBXZWJQcmVmZXJlbmNlc1N0b3JlJik7CisK
KyAgICBzdGF0aWMgdm9pZCBvdmVycmlkZVhTU0F1ZGl0b3JFbmFibGVkRm9yVGVzdFJ1bm5lcihi
b29sKTsKKyAgICBzdGF0aWMgdm9pZCByZW1vdmVUZXN0UnVubmVyT3ZlcnJpZGVzKCk7CiAKICAg
ICBib29sIGphdmFTY3JpcHRFbmFibGVkOwogICAgIGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNh
bGx5OwogICAgIGJvb2wgcGx1Z2luc0VuYWJsZWQ7CiAgICAgYm9vbCBvZmZsaW5lV2ViQXBwbGlj
YXRpb25DYWNoZUVuYWJsZWQ7CiAgICAgYm9vbCBsb2NhbFN0b3JhZ2VFbmFibGVkOworICAgIGJv
b2wgeHNzQXVkaXRvckVuYWJsZWQ7CiAKICAgICB1aW50MzJfdCBmb250U21vb3RoaW5nTGV2ZWw7
CiAKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gNjYzOTIpCisr
KyBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
OTQsNiArMzk0LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnByZWZlcmVuY2VzRGlkQ2hhbmdlKAog
ICAgICAgICByZXR1cm47CiAKICAgICAvLyBGSVhNRTogSXQgcHJvYmFibHkgbWFrZXMgbW9yZSBz
ZW5zZSB0byBzZW5kIGluZGl2aWR1YWwgcHJlZmVyZW5jZSBjaGFuZ2VzLgorICAgIC8vIEhvd2V2
ZXIsIFdlYktpdFRlc3RSdW5uZXIgZGVwZW5kcyBvbiBnZXR0aW5nIGEgcHJlZmVyZW5jZSBjaGFu
Z2Ugbm90aWZpY2F0aW9uIGV2ZW4gaWYgbm90aGluZyBjaGFuZ2VkIGluIFVJIHByb2Nlc3MsIHNv
IHRoYXQgb3ZlcnJpZGVzIGdldCByZW1vdmVkLgogICAgIHByb2Nlc3MoKS0+c2VuZChXZWJQYWdl
TWVzc2FnZTo6UHJlZmVyZW5jZXNEaWRDaGFuZ2UsIG1fcGFnZUlELCBDb3JlSVBDOjpJbihwYWdl
TmFtZXNwYWNlKCktPmNvbnRleHQoKS0+cHJlZmVyZW5jZXMoKS0+c3RvcmUoKSkpOwogfQogCklu
ZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiA2NjM5MikKKysr
IFdlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTA4LDYgKzEwOCwxNyBAQCBib29sIFdlYlByZWZlcmVuY2VzOjpsb2NhbFN0b3JhZ2VFbmFibGVk
CiAgICAgcmV0dXJuIG1fc3RvcmUubG9jYWxTdG9yYWdlRW5hYmxlZDsKIH0KIAordm9pZCBXZWJQ
cmVmZXJlbmNlczo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBiKQoreworICAgIG1fc3RvcmUu
eHNzQXVkaXRvckVuYWJsZWQgPSBiOworICAgIHVwZGF0ZSgpOworfQorCitib29sIFdlYlByZWZl
cmVuY2VzOjp4c3NBdWRpdG9yRW5hYmxlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc3RvcmUu
eHNzQXVkaXRvckVuYWJsZWQ7Cit9CisKIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnNldEZvbnRTbW9v
dGhpbmdMZXZlbChGb250U21vb3RoaW5nTGV2ZWwgbGV2ZWwpCiB7CiAgICAgbV9zdG9yZS5mb250
U21vb3RoaW5nTGV2ZWwgPSBsZXZlbDsKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZl
cmVuY2VzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMu
aAkocmV2aXNpb24gNjYzOTIpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC03MCw2ICs3MCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldExv
Y2FsU3RvcmFnZUVuYWJsZWQoYm9vbCk7CiAgICAgYm9vbCBsb2NhbFN0b3JhZ2VFbmFibGVkKCkg
Y29uc3Q7CiAKKyAgICB2b2lkIHNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wpOworICAgIGJvb2wg
eHNzQXVkaXRvckVuYWJsZWQoKSBjb25zdDsKKwogICAgIHZvaWQgc2V0Rm9udFNtb290aGluZ0xl
dmVsKEZvbnRTbW9vdGhpbmdMZXZlbCk7CiAgICAgRm9udFNtb290aGluZ0xldmVsIGZvbnRTbW9v
dGhpbmdMZXZlbCgpIGNvbnN0OwogCkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gNjYzOTIpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODgsMyArODgsMTMgQEAgYm9v
bCBXS1ByZWZlcmVuY2VzR2V0TG9jYWxTdG9yYWdlRW5hYmxlZAogewogICAgIHJldHVybiB0b1dL
KHByZWZlcmVuY2VzUmVmKS0+bG9jYWxTdG9yYWdlRW5hYmxlZCgpOwogfQorCit2b2lkIFdLUHJl
ZmVyZW5jZXNTZXRYU1NBdWRpdG9yRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
UmVmLCBib29sIHhzc0F1ZGl0b3JFbmFibGVkKQoreworICAgIHRvV0socHJlZmVyZW5jZXNSZWYp
LT5zZXRYU1NBdWRpdG9yRW5hYmxlZCh4c3NBdWRpdG9yRW5hYmxlZCk7Cit9CisKK2Jvb2wgV0tQ
cmVmZXJlbmNlc0dldFhTU0F1ZGl0b3JFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpCit7CisgICAgcmV0dXJuIHRvV0socHJlZmVyZW5jZXNSZWYpLT54c3NBdWRpdG9yRW5h
YmxlZCgpOworfQpJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaAko
cmV2aXNpb24gNjYzOTIpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTU3LDYgKzU3LDEwIEBAIFdLX0VYUE9SVCBib29sIFdLUHJl
ZmVyZW5jZXNHZXRPZmZsaW5lV2UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRMb2Nh
bFN0b3JhZ2VFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMsIGJvb2wgbG9jYWxT
dG9yYWdlRW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TG9jYWxTdG9y
YWdlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzKTsKIAorLy8gRGVmYXVsdHMg
dG8gdHJ1ZS4KK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRYU1NBdWRpdG9yRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzLCBib29sIHhzc0F1ZGl0b3JFbmFibGVkKTsK
K1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRYU1NBdWRpdG9yRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmIHByZWZlcmVuY2VzKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYK
SW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlLmNwcAkocmV2aXNpb24gNjYzOTIpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwxMSAr
MzQsMTQgQEAKICNpbmNsdWRlICJXZWJDb250ZXh0TWVzc2FnZUtpbmRzLmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5oIgorI2luY2x1ZGUg
IldlYlByZWZlcmVuY2VzU3RvcmUuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvSlNMb2NrLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HQ0NvbnRyb2xs
ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0pTRE9NV2luZG93Lmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9QYWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlR3JvdXAuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL1NldHRpbmdzLmg+CiAjaW5jbHVkZSA8d3RmL093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25BcnJheVB0ci5oPgogCkBAIC0xOTcsNiArMjAwLDE5IEBAIHZvaWQgSW5qZWN0
ZWRCdW5kbGU6OnJlbW92ZUFsbFZpc2l0ZWRMaW4KICAgICBQYWdlR3JvdXA6OnJlbW92ZUFsbFZp
c2l0ZWRMaW5rcygpOwogfQogCit2b2lkIEluamVjdGVkQnVuZGxlOjpvdmVycmlkZVhTU0F1ZGl0
b3JFbmFibGVkRm9yVGVzdFJ1bm5lcihib29sIGVuYWJsZWQpCit7CisgICAgLy8gT3ZlcnJpZGUg
dGhlIHByZWZlcmVuY2UgZm9yIGFsbCBmdXR1cmUgcGFnZXMuCisgICAgV2ViUHJlZmVyZW5jZXNT
dG9yZTo6b3ZlcnJpZGVYU1NBdWRpdG9yRW5hYmxlZEZvclRlc3RSdW5uZXIoZW5hYmxlZCk7CisK
KyAgICAvLyBDaGFuZ2UgdGhlIHNldHRpbmcgZm9yIGV4aXN0aW5nIG9uZXMuCisgICAgY29uc3Qg
SGFzaFNldDxQYWdlKj4mIHBhZ2VzID0gV2ViUHJvY2Vzczo6c2hhcmVkUGFnZUdyb3VwKCktPnBh
Z2VzKCk7CisKKyAgICBmb3IgKEhhc2hTZXQ8UGFnZSo+OjppdGVyYXRvciBpdGVyID0gcGFnZXMu
YmVnaW4oKTsgaXRlciAhPSBwYWdlcy5lbmQoKTsgKytpdGVyKQorICAgICAgICAoKml0ZXIpLT5z
ZXR0aW5ncygpLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChlbmFibGVkKTsKK30KKworCiBzdGF0aWMg
UGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHRvU3RyaW5nVmVjdG9yKEltbXV0YWJsZUFycmF5
KiBwYXR0ZXJucykKIHsKICAgICBzaXplX3Qgc2l6ZSA9ICBwYXR0ZXJucy0+c2l6ZSgpOwpJbmRl
eDogV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmgJKHJldmlzaW9uIDY2MzkyKQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTc1LDYgKzc1LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0U2hvdWxkVHJhY2tWaXNpdGVkTGlua3MoYm9vbCk7CiAgICAgdm9p
ZCByZW1vdmVBbGxWaXNpdGVkTGlua3MoKTsKICAgICB2b2lkIGFjdGl2YXRlTWFjRm9udEFzY2Vu
dEhhY2soKTsKKyAgICB2b2lkIG92ZXJyaWRlWFNTQXVkaXRvckVuYWJsZWRGb3JUZXN0UnVubmVy
KGJvb2wgZW5hYmxlZCk7CiAKICAgICAvLyBVc2VyQ29udGVudCBBUEkKICAgICB2b2lkIGFkZFVz
ZXJTY3JpcHQoSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZCosIGNvbnN0IFN0cmluZyYgc291cmNl
LCBjb25zdCBTdHJpbmcmIHVybCwgSW1tdXRhYmxlQXJyYXkqIHdoaXRlbGlzdCwgSW1tdXRhYmxl
QXJyYXkqIGJsYWNrbGlzdCwgV2ViQ29yZTo6VXNlclNjcmlwdEluamVjdGlvblRpbWUsIFdlYkNv
cmU6OlVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMpOwpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwCShyZXZpc2lvbiA2
NjM5MikKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMiwzICsxMTIsOCBAQCB2b2lkIFdLQnVuZGxlUmVt
b3ZlQWxsVXNlckNvbnRlbnQoV0tCdW5kCiB7CiAgICAgdG9XSyhidW5kbGVSZWYpLT5yZW1vdmVB
bGxVc2VyQ29udGVudCgpOwogfQorCit2b2lkIFdLQnVuZGxlT3ZlcnJpZGVYU1NBdWRpdG9yRW5h
YmxlZEZvclRlc3RSdW5uZXIoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBib29sIGVuYWJsZWQpCit7
CisgICAgdG9XSyhidW5kbGVSZWYpLT5vdmVycmlkZVhTU0F1ZGl0b3JFbmFibGVkRm9yVGVzdFJ1
bm5lcihlbmFibGVkKTsKK30KSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgJKHJldmlzaW9uIDY2Mzky
KQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJp
dmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCw5IEBAIFdLX0VYUE9SVCB2b2lkIFdL
QnVuZGxlUmVtb3ZlVXNlclNjcmlwdHMKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUmVtb3ZlVXNl
clN0eWxlU2hlZXRzKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiBz
Y3JpcHRXb3JsZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVJlbW92ZUFsbFVzZXJDb250ZW50
KFdLQnVuZGxlUmVmIGJ1bmRsZSk7CiAKKy8vIFdpbGwgbWFrZSBXZWJQcm9jZXNzIGlnbm9yZSB0
aGlzIHByZWZlcmVuY2UgdW50aWwgYSBwcmVmZXJlbmNlcyBjaGFuZ2Ugbm90aWZpY2F0aW9uLCBv
bmx5IGZvciBXZWJLaXRUZXN0UnVubmVyIHVzZS4KK1dLX0VYUE9SVCB2b2lkIFdLQnVuZGxlT3Zl
cnJpZGVYU1NBdWRpdG9yRW5hYmxlZEZvclRlc3RSdW5uZXIoV0tCdW5kbGVSZWYgYnVuZGxlLCBi
b29sIGVuYWJsZWQpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpJbmRleDogV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDY2MzkyKQorKysgV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEw
Myw2ICsxMDMsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgCiAg
ICAgbV9wYWdlLT5zZXR0aW5ncygpLT5zZXRQbHVnaW5zRW5hYmxlZChzdG9yZS5wbHVnaW5zRW5h
YmxlZCk7CiAgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5zZXRPZmZsaW5lV2ViQXBwbGljYXRpb25D
YWNoZUVuYWJsZWQoc3RvcmUub2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKTsKICAg
ICBtX3BhZ2UtPnNldHRpbmdzKCktPnNldExvY2FsU3RvcmFnZUVuYWJsZWQoc3RvcmUubG9jYWxT
dG9yYWdlRW5hYmxlZCk7CisgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5zZXRYU1NBdWRpdG9yRW5h
YmxlZChzdG9yZS54c3NBdWRpdG9yRW5hYmxlZCk7CiAgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5z
ZXRNaW5pbXVtRm9udFNpemUoc3RvcmUubWluaW11bUZvbnRTaXplKTsKICAgICBtX3BhZ2UtPnNl
dHRpbmdzKCktPnNldE1pbmltdW1Mb2dpY2FsRm9udFNpemUoc3RvcmUubWluaW11bUxvZ2ljYWxG
b250U2l6ZSk7CiAgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5zZXREZWZhdWx0Rm9udFNpemUoc3Rv
cmUuZGVmYXVsdEZvbnRTaXplKTsKQEAgLTQ4NiwxMCArNDg3LDEzIEBAIHZvaWQgV2ViUGFnZTo6
Z2V0UmVuZGVyVHJlZUV4dGVybmFsUmVwcmUKIAogdm9pZCBXZWJQYWdlOjpwcmVmZXJlbmNlc0Rp
ZENoYW5nZShjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKIHsKKyAgICBXZWJQcmVm
ZXJlbmNlc1N0b3JlOjpyZW1vdmVUZXN0UnVubmVyT3ZlcnJpZGVzKCk7CisKICAgICBtX3BhZ2Ut
PnNldHRpbmdzKCktPnNldEphdmFTY3JpcHRFbmFibGVkKHN0b3JlLmphdmFTY3JpcHRFbmFibGVk
KTsKICAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShz
dG9yZS5sb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkpOwogICAgIG1fcGFnZS0+c2V0dGluZ3MoKS0+
c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKHN0b3JlLm9mZmxpbmVXZWJBcHBs
aWNhdGlvbkNhY2hlRW5hYmxlZCk7CiAgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5zZXRMb2NhbFN0
b3JhZ2VFbmFibGVkKHN0b3JlLmxvY2FsU3RvcmFnZUVuYWJsZWQpOworICAgIG1fcGFnZS0+c2V0
dGluZ3MoKS0+c2V0WFNTQXVkaXRvckVuYWJsZWQoc3RvcmUueHNzQXVkaXRvckVuYWJsZWQpOwog
CiAgICAgcGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5nZShzdG9yZSk7CiB9CkluZGV4OiBXZWJL
aXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA2NjU0NykKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIwIEBACisyMDEwLTA4LTMxICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBw
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjE5NQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vODE4Njc2MT4gV2ViS2l0VGVzdFJ1bm5lciBuZWVkcyB0byBzdXBwb3J0
IGxheW91dFRlc3RDb250cm9sbGVyLnNldFhTU0F1ZGl0b3JFbmFibGVkCisKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9s
bGVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcDogKFdUUjo6TGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFhTU0F1
ZGl0b3JFbmFibGVkKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgIEFkZGVkIHNldFhTU0F1ZGl0b3JFbmFi
bGVkLCBjYWxsaW5nIHRocm91Z2ggdG8gYW4gV0tCdW5kbGUgcHJpdmF0ZSBtZXRob2QuIENhbGxp
bmcgdGhpcyBtZXRob2QKKyAgICAgICAgbWFrZXMgV2ViUHJvY2VzcyB1c2UgYSBkaWZmZXJlbnQg
dmFsdWUgZm9yIHRoaXMgcHJlZmVyZW5jZSB0aGFuIFVJUHJvY2VzcyB0aGlua3MgaXQgdXNlcy4K
KworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOiAoV1RSOjpU
ZXN0Q29udHJvbGxlcjo6cmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgIFJl
c2V0IHhzc0F1ZGl0b3JFbmFibGVkLiBFdmVuIHRob3VnaCB0aGUgdmFsdWUgZG9lc24ndCBjaGFu
Z2UsIHRoaXMgY2FsbHMgdGhyb3VnaCB0byBXZWJQcm9jZXNzLAorICAgICAgICB3aGljaCBmb3Jn
ZXRzIGl0cyBvdmVycmlkZS4KKwogMjAxMC0wOC0zMSAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNjY1NDIuCklu
ZGV4OiBXZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cAkocmV2aXNpb24gNjYzOTIpCisrKyBXZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk3LDYgKzE5Nyw3IEBAIHZvaWQgVGVz
dENvbnRyb2xsZXI6OnJlc2V0U3RhdGVUb0NvbnNpc3QKICAgICBXS1ByZWZlcmVuY2VzUmVmIHBy
ZWZlcmVuY2VzID0gV0tDb250ZXh0R2V0UHJlZmVyZW5jZXMobV9jb250ZXh0LmdldCgpKTsKICAg
ICBXS1ByZWZlcmVuY2VzU2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKHByZWZl
cmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0Rm9udFNtb290aGluZ0xldmVsKHBy
ZWZlcmVuY2VzLCBrV0tGb250U21vb3RoaW5nTGV2ZWxOb1N1YnBpeGVsQW50aUFsaWFzaW5nKTsK
KyAgICBXS1ByZWZlcmVuY2VzU2V0WFNTQXVkaXRvckVuYWJsZWQocHJlZmVyZW5jZXMsIGZhbHNl
KTsKIAogICAgIG1fbWFpbldlYlZpZXctPmZvY3VzKCk7CiAKSW5kZXg6IFdlYktpdFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA2NjM5MikKKysrIFdlYktpdFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5LDExIEBAIHZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnNldENhbk9wZW5XaW4KICAgICAvLyBGb3Igbm93LCBqdXN0IGlnbm9yZSB0aGlzIHNl
dHRpbmcsIGFuZCBpZiB3ZSBmaW5kIGxhdGVyIGl0J3MgbmVlZGVkIHdlIGNhbiBhZGQgaXQuCiB9
CiAKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wg
ZW5hYmxlZCkKK3sKKyAgICBXS0J1bmRsZU92ZXJyaWRlWFNTQXVkaXRvckVuYWJsZWRGb3JUZXN0
UnVubmVyKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgdHJ1ZSk7Cit9CisKIHVu
c2lnbmVkIExheW91dFRlc3RDb250cm9sbGVyOjp3aW5kb3dDb3VudCgpCiB7CiAgICAgcmV0dXJu
IEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlQ291bnQoKTsKSW5kZXg6IFdlYktpdFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0xheW91dFRlc3RDb250cm9sbGVyLmgJKHJldmlzaW9uIDY2MzkyKQorKysgV2ViS2l0VG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFjY2Vw
dHNFZGl0aW5nKGJvb2wgdmFsdWUpIHsgbV9zaG91bGRBbGxvd0VkaXRpbmcgPSB2YWx1ZTsgfQog
ICAgIHZvaWQgc2V0Q2FuT3BlbldpbmRvd3MoYm9vbCk7CiAgICAgdm9pZCBzZXRDbG9zZVJlbWFp
bmluZ1dpbmRvd3NXaGVuQ29tcGxldGUoYm9vbCB2YWx1ZSkgeyBtX3Nob3VsZENsb3NlRXh0cmFX
aW5kb3dzID0gdmFsdWU7IH0KKyAgICB2b2lkIHNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wpOwog
ICAgIHVuc2lnbmVkIHdpbmRvd0NvdW50KCk7CiAKICAgICAvLyBTcGVjaWFsIERPTSBmdW5jdGlv
bnMuCkluZGV4OiBXZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250
cm9sbGVyLmlkbAkocmV2aXNpb24gNjYzOTIpCisrKyBXZWJLaXRUb29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBtb2R1bGUgV1RSIHsKICAgICAgICAgdm9pZCBz
ZXRBY2NlcHRzRWRpdGluZyhpbiBib29sZWFuIHZhbHVlKTsKICAgICAgICAgdm9pZCBzZXRDYW5P
cGVuV2luZG93cyhpbiBib29sZWFuIHZhbHVlKTsKICAgICAgICAgdm9pZCBzZXRDbG9zZVJlbWFp
bmluZ1dpbmRvd3NXaGVuQ29tcGxldGUoaW4gYm9vbGVhbiB2YWx1ZSk7CisgICAgICAgIHZvaWQg
c2V0WFNTQXVkaXRvckVuYWJsZWQoaW4gYm9vbGVhbiB2YWx1ZSk7CiAgICAgICAgIHVuc2lnbmVk
IGxvbmcgd2luZG93Q291bnQoKTsKIAogICAgICAgICAvLyBTcGVjaWFsIERPTSBmdW5jdGlvbnMu
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiA2NjU0NykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDEwLTA4LTMxICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjE5
NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODE4Njc2MT4gV2ViS2l0VGVzdFJ1bm5lciBuZWVk
cyB0byBzdXBwb3J0IGxheW91dFRlc3RDb250cm9sbGVyLnNldFhTU0F1ZGl0b3JFbmFibGVkCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQ6IFVuc2tpcCBYU1MgQXVkaXRvciB0
ZXN0cy4KKwogMjAxMC0wOC0zMSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHVwZGF0aW5nIHRlc3RfZXhwZWN0YXRpb25zLnR4dC4K
</data>
<flag name="review"
          id="55051"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>