<?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>48574</bug_id>
          
          <creation_ts>2010-10-28 16:19:56 -0700</creation_ts>
          <short_desc>Change BackForwardList clients to use BackForwardListImpl to prepare for further refactoring</short_desc>
          <delta_ts>2010-10-29 14:38: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>History</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>301416</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-28 16:19:56 -0700</bug_when>
    <thetext>Change BackForwardList clients to use BackForwardListImpl to prepare for further refactoring</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301422</commentid>
    <comment_count>1</comment_count>
      <attachid>72254</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-28 16:24:19 -0700</bug_when>
    <thetext>Created attachment 72254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301425</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-28 16:26:38 -0700</bug_when>
    <thetext>Attachment 72254 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit/win/WebBackForwardList.h:37:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
WARNING: File exempt from style guide. Skipping: &quot;WebKit/qt/Api/qwebhistory.cpp&quot;
WebKit/gtk/webkit/webkitwebbackforwardlist.cpp:30:  Alphabetical sorting problem.  [build/include_order] [4]
WARNING: File exempt from style guide. Skipping: &quot;WebKit/qt/Api/qwebhistory_p.h&quot;
WARNING: File exempt from style guide. Skipping: &quot;WebKit/qt/Api/qwebpage.cpp&quot;
Total errors found: 2 in 23 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302070</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-29 14:38:33 -0700</bug_when>
    <thetext>Committed r70931: &lt;http://trac.webkit.org/changeset/70931&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72254</attachid>
            <date>2010-10-28 16:24:19 -0700</date>
            <delta_ts>2010-10-29 11:29:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48574-20101028162418.patch</filename>
            <type>text/plain</type>
            <size>32649</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNzA4MjMpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMTAtMjggIERhcmlu
IEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENoYW5nZSBCYWNrRm9yd2FyZExpc3QgY2xpZW50cyB0byB1c2Ug
QmFja0ZvcndhcmRMaXN0SW1wbCB0byBwcmVwYXJlIGZvciBmdXJ0aGVyIHJlZmFjdG9yaW5nCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODU3NAorCisg
ICAgICAgICogc3JjL0JhY2tGb3J3YXJkTGlzdENsaWVudEltcGwuaDogVXNlIEJhY2tGb3J3YXJk
TGlzdEltcGwuaC4KKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwpOiBDYXN0IHRvIEJhY2tGb3J3YXJkTGlzdCog
YmVmb3JlIGNhbGxpbmcgc2V0Q2xpZW50LgorCiAyMDEwLTEwLTI4ICBNaWhhaSBQYXJwYXJpdGEg
IDxtaWhhaXBAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9CYWNrRm9yd2FyZExpc3RDbGllbnRJbXBsLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9CYWNrRm9yd2FyZExpc3RDbGllbnRJ
bXBsLmgJKHJldmlzaW9uIDcwNzk2KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9CYWNrRm9yd2Fy
ZExpc3RDbGllbnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICNpZm5k
ZWYgQmFja0ZvcndhcmRMaXN0Q2xpZW50SW1wbF9oCiAjZGVmaW5lIEJhY2tGb3J3YXJkTGlzdENs
aWVudEltcGxfaAogCi0jaW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0LmgiCisjaW5jbHVkZSAiQmFj
a0ZvcndhcmRMaXN0SW1wbC5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYlZpZXdJ
bXBsOwpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAJKHJldmlzaW9uIDcwNzk2
KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkF1dG9GaWxsUG9wdXBNZW51Q2xpZW50Lmgi
CiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgorI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdElt
cGwuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDb2xvclNwYWNlLmgiCiAjaW5j
bHVkZSAiQ29tcG9zaXRpb25VbmRlcmxpbmVWZWN0b3JCdWlsZGVyLmgiCkBAIC0zMTEsNyArMzEy
LDcgQEAgV2ViVmlld0ltcGw6OldlYlZpZXdJbXBsKFdlYlZpZXdDbGllbnQqIAogCiAgICAgbV9w
YWdlLnNldChuZXcgUGFnZShwYWdlQ2xpZW50cykpOwogCi0gICAgbV9wYWdlLT5iYWNrRm9yd2Fy
ZExpc3QoKS0+c2V0Q2xpZW50KCZtX2JhY2tGb3J3YXJkTGlzdENsaWVudEltcGwpOworICAgIHN0
YXRpY19jYXN0PEJhY2tGb3J3YXJkTGlzdEltcGwqPihtX3BhZ2UtPmJhY2tGb3J3YXJkTGlzdCgp
KS0+c2V0Q2xpZW50KCZtX2JhY2tGb3J3YXJkTGlzdENsaWVudEltcGwpOwogICAgIG1fcGFnZS0+
c2V0R3JvdXBOYW1lKHBhZ2VHcm91cE5hbWUpOwogCiAgICAgbV9pbnNwZWN0b3JTZXR0aW5nc01h
cC5zZXQobmV3IFNldHRpbmdzTWFwKTsKSW5kZXg6IFdlYktpdC9lZmwvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9lZmwvQ2hhbmdlTG9nCShyZXZpc2lvbiA3MDgyMykKKysrIFdlYktp
dC9lZmwvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMTAt
MjggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBCYWNrRm9yd2FyZExpc3QgY2xpZW50
cyB0byB1c2UgQmFja0ZvcndhcmRMaXN0SW1wbCB0byBwcmVwYXJlIGZvciBmdXJ0aGVyIHJlZmFj
dG9yaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
ODU3NAorCisgICAgICAgICogZXdrL2V3a19oaXN0b3J5LmNwcDoKKyAgICAgICAgKGV3a19oaXN0
b3J5X25ldyk6CisgICAgICAgICogZXdrL2V3a19wcml2YXRlLmg6CisgICAgICAgICogZXdrL2V3
a192aWV3LmNwcDoKKyAgICAgICAgKF9ld2tfdmlld19wcml2X25ldyk6CisgICAgICAgIChld2tf
dmlld19oaXN0b3J5X2VuYWJsZV9nZXQpOgorICAgICAgICAoZXdrX3ZpZXdfaGlzdG9yeV9lbmFi
bGVfc2V0KToKKyAgICAgICAgKGV3a192aWV3X2hpc3RvcnlfZ2V0KToKKyAgICAgICAgVXNlIEJh
Y2tGb3J3YXJkTGlzdEltcGwuCisKIDIwMTAtMTAtMjYgIEplbm4gQnJhaXRod2FpdGUgIDxqZW5u
YkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRG1pdHJ5IFRpdG92LgpJbmRl
eDogV2ViS2l0L2VmbC9ld2svZXdrX2hpc3RvcnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9l
ZmwvZXdrL2V3a19oaXN0b3J5LmNwcAkocmV2aXNpb24gNzA3OTYpCisrKyBXZWJLaXQvZWZsL2V3
ay9ld2tfaGlzdG9yeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJld2tfaGlzdG9yeS5oIgogCi0jaW5jbHVkZSAiQmFj
a0ZvcndhcmRMaXN0LmgiCisjaW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0SW1wbC5oIgogI2luY2x1
ZGUgIkVXZWJLaXQuaCIKICNpbmNsdWRlICJIaXN0b3J5SXRlbS5oIgogI2luY2x1ZGUgIkltYWdl
LmgiCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSA8ZWluYV9zYWZldHlfY2hlY2tzLmg+CiAK
IHN0cnVjdCBfRXdrX0hpc3RvcnkgewotICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdCAqY29y
ZTsKKyAgICBXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3RJbXBsICpjb3JlOwogfTsKIAogI2RlZmlu
ZSBFV0tfSElTVE9SWV9DT1JFX0dFVF9PUl9SRVRVUk4oaGlzdG9yeSwgY29yZV8sIC4uLikgICAg
ICBcCkBAIC00OCw3ICs0OCw3IEBAIHN0cnVjdCBfRXdrX0hpc3RvcnkgewogICAgICAgICBFUlIo
Imhpc3RvcnktPmNvcmUgaXMgZGlzYWJsZWQhLiIpOyAgICAgICAgICAgICAgICAgICAgICBcCiAg
ICAgICAgIHJldHVybiBfX1ZBX0FSR1NfXzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdCAqY29yZV8g
PSAoaGlzdG9yeSktPmNvcmUKKyAgICBXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3RJbXBsICpjb3Jl
XyA9IChoaXN0b3J5KS0+Y29yZQogCiAKIHN0cnVjdCBfRXdrX0hpc3RvcnlfSXRlbSB7CkBAIC02
NjYsMTEgKzY2NiwxMSBAQCBFaW5hX0Jvb2wgZXdrX2hpc3RvcnlfaXRlbV92aXNpdF9sYXN0X2Zh
CiAgKiBDcmVhdGVzIGhpc3RvcnkgZm9yIGdpdmVuIHZpZXcuIENhbGxlZCBpbnRlcm5hbGx5IGJ5
IGV3a192aWV3IGFuZAogICogc2hvdWxkIG5ldmVyIGJlIGNhbGxlZCBmcm9tIG91dHNpZGUuCiAg
KgotICogQHBhcmFtIGNvcmUgV2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0IGluc3RhbmNlIHRvIHVz
ZSBpbnRlcm5hbGx5LgorICogQHBhcmFtIGNvcmUgV2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0SW1w
bCBpbnN0YW5jZSB0byB1c2UgaW50ZXJuYWxseS4KICAqCiAgKiBAcmV0dXJuIG5ld2x5IGFsbG9j
YXRlZCBoaXN0b3J5IGluc3RhbmNlIG9yIEBjIE5VTEwgb24gZXJyb3JzLgogICovCi1Fd2tfSGlz
dG9yeSogZXdrX2hpc3RvcnlfbmV3KFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdCogY29yZSkKK0V3
a19IaXN0b3J5KiBld2tfaGlzdG9yeV9uZXcoV2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0SW1wbCog
Y29yZSkKIHsKICAgICBFd2tfSGlzdG9yeSogaGlzdG9yeTsKICAgICBFSU5BX1NBRkVUWV9PTl9O
VUxMX1JFVFVSTl9WQUwoY29yZSwgMCk7CkluZGV4OiBXZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgJKHJldmlzaW9u
IDcwNzk2KQorKysgV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpA
QCAtMjEsNyArMjEsNyBAQAogI2lmbmRlZiBld2tfcHJpdmF0ZV9oCiAjZGVmaW5lIGV3a19wcml2
YXRlX2gKIAotI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdC5oIgorI2luY2x1ZGUgIkJhY2tGb3J3
YXJkTGlzdEltcGwuaCIKICNpbmNsdWRlICJFV2ViS2l0LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIK
ICNpbmNsdWRlICJQYWdlLmgiCkBAIC0xMDgsNyArMTA4LDcgQEAgdm9pZCBld2tfdmlld19kb3du
bG9hZF9yZXF1ZXN0KEV2YXNfT2JqZQogCiBpbnQgZXdrX3ZpZXdfZHBpX2dldCgpOwogCi1Fd2tf
SGlzdG9yeSAqZXdrX2hpc3RvcnlfbmV3KFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdCAqaGlzdG9y
eSk7CitFd2tfSGlzdG9yeSAqZXdrX2hpc3RvcnlfbmV3KFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlz
dEltcGwgKmhpc3RvcnkpOwogdm9pZCBld2tfaGlzdG9yeV9mcmVlKEV3a19IaXN0b3J5ICpoaXN0
b3J5KTsKIAogRXdrX0NvbnRleHRfTWVudSAqZXdrX2NvbnRleHRfbWVudV9uZXcoRXZhc19PYmpl
Y3QgKnZpZXcsIFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlciAqY29udHJvbGxlcik7Cklu
ZGV4OiBXZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuY3BwCShyZXZpc2lvbiA3MDc5NikKKysrIFdlYktpdC9lZmwvZXdrL2V3
a192aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgImV3a192aWV3LmgiCiAKKyNpbmNsdWRlICJCYWNrRm9yd2FyZExp
c3RJbXBsLmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50RWZs
LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDbGllbnRFZmwuaCIKQEAgLTYzNCw3ICs2MzUsNyBA
QCBzdGF0aWMgRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKiBfZXdrX3ZpZXdfCiAgICAgICAgIGdvdG8g
ZXJyb3JfbWFpbl9mcmFtZTsKICAgICB9CiAKLSAgICBwcml2LT5oaXN0b3J5ID0gZXdrX2hpc3Rv
cnlfbmV3KHByaXYtPnBhZ2UtPmJhY2tGb3J3YXJkTGlzdCgpKTsKKyAgICBwcml2LT5oaXN0b3J5
ID0gZXdrX2hpc3RvcnlfbmV3KHN0YXRpY19jYXN0PFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdElt
cGwqPihwcml2LT5wYWdlLT5iYWNrRm9yd2FyZExpc3QoKSkpOwogICAgIGlmICghcHJpdi0+aGlz
dG9yeSkgewogICAgICAgICBDUklUSUNBTCgiQ291bGQgbm90IGNyZWF0ZSBoaXN0b3J5IGluc3Rh
bmNlIGZvciB2aWV3LiIpOwogICAgICAgICBnb3RvIGVycm9yX2hpc3Rvcnk7CkBAIC0xNzYyLDcg
KzE3NjMsNyBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfaGlzdG9yeV9lbmFibGVfZ2V0KGNvCiB7CiAg
ICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwgRUlOQV9GQUxTRSk7CiAgICAgRVdL
X1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNkLCBwcml2LCBFSU5BX0ZBTFNFKTsKLSAgICByZXR1
cm4gcHJpdi0+cGFnZS0+YmFja0ZvcndhcmRMaXN0KCktPmVuYWJsZWQoKTsKKyAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8V2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0SW1wbCo+KHByaXYtPnBhZ2UtPmJh
Y2tGb3J3YXJkTGlzdCgpKS0+ZW5hYmxlZCgpOwogfQogCiAvKioKQEAgLTE3NzgsNyArMTc3OSw3
IEBAIEVpbmFfQm9vbCBld2tfdmlld19oaXN0b3J5X2VuYWJsZV9zZXQoRXYKIHsKICAgICBFV0tf
VklFV19TRF9HRVRfT1JfUkVUVVJOKG8sIHNkLCBFSU5BX0ZBTFNFKTsKICAgICBFV0tfVklFV19Q
UklWX0dFVF9PUl9SRVRVUk4oc2QsIHByaXYsIEVJTkFfRkFMU0UpOwotICAgIHByaXYtPnBhZ2Ut
PmJhY2tGb3J3YXJkTGlzdCgpLT5zZXRFbmFibGVkKGVuYWJsZSk7CisgICAgc3RhdGljX2Nhc3Q8
V2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0SW1wbCo+KHByaXYtPnBhZ2UtPmJhY2tGb3J3YXJkTGlz
dCgpKS0+c2V0RW5hYmxlZChlbmFibGUpOwogICAgIHJldHVybiBFSU5BX1RSVUU7CiB9CiAKQEAg
LTE4MDIsNyArMTgwMyw3IEBAIEV3a19IaXN0b3J5KiBld2tfdmlld19oaXN0b3J5X2dldChjb25z
dCAKIHsKICAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKG8sIHNkLCAwKTsKICAgICBFV0tf
VklFV19QUklWX0dFVF9PUl9SRVRVUk4oc2QsIHByaXYsIDApOwotICAgIGlmICghcHJpdi0+cGFn
ZS0+YmFja0ZvcndhcmRMaXN0KCktPmVuYWJsZWQoKSkgeworICAgIGlmICghc3RhdGljX2Nhc3Q8
V2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0SW1wbCo+KHByaXYtPnBhZ2UtPmJhY2tGb3J3YXJkTGlz
dCgpKS0+ZW5hYmxlZCgpKSB7CiAgICAgICAgIEVSUigiYXNrZWQgaGlzdG9yeSwgYnV0IGl0J3Mg
ZGlzYWJsZWQhIFJldHVybmluZyAwISIpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CkluZGV4
OiBXZWJLaXQvZ3RrL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL0NoYW5nZUxv
ZwkocmV2aXNpb24gNzA4MjMpCisrKyBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDM2IEBACisyMDEwLTEwLTI4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
aGFuZ2UgQmFja0ZvcndhcmRMaXN0IGNsaWVudHMgdG8gdXNlIEJhY2tGb3J3YXJkTGlzdEltcGwg
dG8gcHJlcGFyZSBmb3IgZnVydGhlciByZWZhY3RvcmluZworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg1NzQKKworICAgICAgICAqIHdlYmtpdC93ZWJr
aXRwcml2YXRlLmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYmJhY2tmb3J3YXJkbGlzdC5j
cHA6CisgICAgICAgICh3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2Rpc3Bvc2UpOgorICAg
ICAgICAod2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9uZXdfd2l0aF93ZWJfdmlldyk6Cisg
ICAgICAgICh3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2dvX2ZvcndhcmQpOgorICAgICAg
ICAod2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nb19iYWNrKToKKyAgICAgICAgKHdlYmtp
dF93ZWJfYmFja19mb3J3YXJkX2xpc3RfY29udGFpbnNfaXRlbSk6CisgICAgICAgICh3ZWJraXRf
d2ViX2JhY2tfZm9yd2FyZF9saXN0X2dvX3RvX2l0ZW0pOgorICAgICAgICAod2Via2l0X3dlYl9i
YWNrX2ZvcndhcmRfbGlzdF9nZXRfZm9yd2FyZF9saXN0X3dpdGhfbGltaXQpOgorICAgICAgICAo
d2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfYmFja19saXN0X3dpdGhfbGltaXQpOgor
ICAgICAgICAod2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfYmFja19pdGVtKToKKyAg
ICAgICAgKHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2N1cnJlbnRfaXRlbSk6Cisg
ICAgICAgICh3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2dldF9mb3J3YXJkX2l0ZW0pOgor
ICAgICAgICAod2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfbnRoX2l0ZW0pOgorICAg
ICAgICAod2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfYmFja19sZW5ndGgpOgorICAg
ICAgICAod2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfZm9yd2FyZF9sZW5ndGgpOgor
ICAgICAgICAod2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfbGltaXQpOgorICAgICAg
ICAod2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9zZXRfbGltaXQpOgorICAgICAgICAod2Vi
a2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9hZGRfaXRlbSk6CisgICAgICAgICh3ZWJraXRfd2Vi
X2JhY2tfZm9yd2FyZF9saXN0X2NsZWFyKToKKyAgICAgICAgKFdlYktpdDo6Y29yZSk6CisgICAg
ICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3
X3NldF9tYWludGFpbnNfYmFja19mb3J3YXJkX2xpc3QpOgorICAgICAgICAod2Via2l0X3dlYl92
aWV3X2dldF9iYWNrX2ZvcndhcmRfbGlzdCk6CisgICAgICAgIFVzZSBCYWNrRm9yd2FyZExpc3RJ
bXBsLgorCiAyMDEwLTEwLTI4ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KSW5kZXg6IFdlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXRwcml2YXRlLmgJKHJldmlzaW9uIDcwNzk2KQorKysgV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0cHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBACiAjaW5j
bHVkZSA8d2Via2l0L3dlYmtpdHNlY3VyaXR5b3JpZ2luLmg+CiAKICNpbmNsdWRlICJBcmNoaXZl
UmVzb3VyY2UuaCIKLSNpbmNsdWRlICJCYWNrRm9yd2FyZExpc3QuaCIKKyNpbmNsdWRlICJCYWNr
Rm9yd2FyZExpc3RJbXBsLmgiCiAjaW5jbHVkZSAiRGF0YU9iamVjdEd0ay5oIgogI2luY2x1ZGUg
IkRyYWdBY3Rpb25zLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTkyLDcgKzkyLDcgQEAgbmFt
ZXNwYWNlIFdlYktpdCB7CiAgICAgV2ViQ29yZTo6SGlzdG9yeUl0ZW0qIGNvcmUoV2ViS2l0V2Vi
SGlzdG9yeUl0ZW0qKTsKICAgICBXZWJLaXRXZWJIaXN0b3J5SXRlbSoga2l0KFBhc3NSZWZQdHI8
V2ViQ29yZTo6SGlzdG9yeUl0ZW0+KTsKIAotICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdCog
Y29yZShXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QqKTsKKyAgICBXZWJDb3JlOjpCYWNrRm9yd2Fy
ZExpc3RJbXBsKiBjb3JlKFdlYktpdFdlYkJhY2tGb3J3YXJkTGlzdCopOwogCiAgICAgV2ViS2l0
V2ViTmF2aWdhdGlvblJlYXNvbiBraXQoV2ViQ29yZTo6TmF2aWdhdGlvblR5cGUgdHlwZSk7CiAg
ICAgV2ViQ29yZTo6TmF2aWdhdGlvblR5cGUgY29yZShXZWJLaXRXZWJOYXZpZ2F0aW9uUmVhc29u
IHJlYXNvbik7CkluZGV4OiBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJiYWNrZm9yd2FyZGxp
c3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmJhY2tmb3J3
YXJkbGlzdC5jcHAJKHJldmlzaW9uIDcwNzk2KQorKysgV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2ViYmFja2ZvcndhcmRsaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAog
CiAjaW5jbHVkZSA8Z2xpYi5oPgogCi0jaW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0LmgiCisjaW5j
bHVkZSAiQmFja0ZvcndhcmRMaXN0SW1wbC5oIgogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAK
IC8qKgpAQCAtNTMsNyArNTMsNyBAQAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogc3RydWN0
IF9XZWJLaXRXZWJCYWNrRm9yd2FyZExpc3RQcml2YXRlIHsKLSAgICBXZWJDb3JlOjpCYWNrRm9y
d2FyZExpc3QqIGJhY2tGb3J3YXJkTGlzdDsKKyAgICBXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3RJ
bXBsKiBiYWNrRm9yd2FyZExpc3Q7CiAgICAgZ2Jvb2xlYW4gZGlzcG9zZWQ7CiB9OwogCkBAIC02
NCw3ICs2NCw3IEBAIEdfREVGSU5FX1RZUEUoV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0LCAKIHN0
YXRpYyB2b2lkIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZGlzcG9zZShHT2JqZWN0KiBv
YmplY3QpCiB7CiAgICAgV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0KiBsaXN0ID0gV0VCS0lUX1dF
Ql9CQUNLX0ZPUldBUkRfTElTVChvYmplY3QpOwotICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlz
dCogYmFja0ZvcndhcmRMaXN0ID0gY29yZShsaXN0KTsKKyAgICBXZWJDb3JlOjpCYWNrRm9yd2Fy
ZExpc3RJbXBsKiBiYWNrRm9yd2FyZExpc3QgPSBjb3JlKGxpc3QpOwogICAgIFdlYktpdFdlYkJh
Y2tGb3J3YXJkTGlzdFByaXZhdGUqIHByaXYgPSBsaXN0LT5wcml2OwogCiAgICAgaWYgKCFwcml2
LT5kaXNwb3NlZCkgewpAQCAtMTE1LDcgKzExNSw3IEBAIFdlYktpdFdlYkJhY2tGb3J3YXJkTGlz
dCogd2Via2l0X3dlYl9iYWMKICAgICB3ZWJCYWNrRm9yd2FyZExpc3QgPSBXRUJLSVRfV0VCX0JB
Q0tfRk9SV0FSRF9MSVNUKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9XRUJfQkFDS19GT1JXQVJE
X0xJU1QsIE5VTEwpKTsKICAgICBXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3RQcml2YXRlKiBwcml2
ID0gd2ViQmFja0ZvcndhcmRMaXN0LT5wcml2OwogCi0gICAgcHJpdi0+YmFja0ZvcndhcmRMaXN0
ID0gY29yZSh3ZWJWaWV3KS0+YmFja0ZvcndhcmRMaXN0KCk7CisgICAgcHJpdi0+YmFja0Zvcndh
cmRMaXN0ID0gc3RhdGljX2Nhc3Q8QmFja0ZvcndhcmRMaXN0SW1wbCo+KGNvcmUod2ViVmlldykt
PmJhY2tGb3J3YXJkTGlzdCgpKTsKICAgICBwcml2LT5iYWNrRm9yd2FyZExpc3QtPnNldEVuYWJs
ZWQoVFJVRSk7CiAKICAgICByZXR1cm4gd2ViQmFja0ZvcndhcmRMaXN0OwpAQCAtMTMxLDcgKzEz
MSw3IEBAIHZvaWQgd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nb19mb3IKIHsKICAgICBn
X3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfQkFDS19GT1JXQVJEX0xJU1Qod2ViQmFja0Zv
cndhcmRMaXN0KSk7CiAKLSAgICBXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3QqIGJhY2tGb3J3YXJk
TGlzdCA9IGNvcmUod2ViQmFja0ZvcndhcmRMaXN0KTsKKyAgICBXZWJDb3JlOjpCYWNrRm9yd2Fy
ZExpc3RJbXBsKiBiYWNrRm9yd2FyZExpc3QgPSBjb3JlKHdlYkJhY2tGb3J3YXJkTGlzdCk7CiAg
ICAgaWYgKGJhY2tGb3J3YXJkTGlzdC0+ZW5hYmxlZCgpKQogICAgICAgICBiYWNrRm9yd2FyZExp
c3QtPmdvRm9yd2FyZCgpOwogfQpAQCAtMTQ2LDcgKzE0Niw3IEBAIHZvaWQgd2Via2l0X3dlYl9i
YWNrX2ZvcndhcmRfbGlzdF9nb19iYWMKIHsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9J
U19XRUJfQkFDS19GT1JXQVJEX0xJU1Qod2ViQmFja0ZvcndhcmRMaXN0KSk7CiAKLSAgICBXZWJD
b3JlOjpCYWNrRm9yd2FyZExpc3QqIGJhY2tGb3J3YXJkTGlzdCA9IGNvcmUod2ViQmFja0Zvcndh
cmRMaXN0KTsKKyAgICBXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3RJbXBsKiBiYWNrRm9yd2FyZExp
c3QgPSBjb3JlKHdlYkJhY2tGb3J3YXJkTGlzdCk7CiAgICAgaWYgKGJhY2tGb3J3YXJkTGlzdC0+
ZW5hYmxlZCgpKQogICAgICAgICBiYWNrRm9yd2FyZExpc3QtPmdvQmFjaygpOwogfQpAQCAtMTY5
LDcgKzE2OSw3IEBAIGdib29sZWFuIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfY28KIAog
ICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKGhpc3RvcnlJdGVtICE9IE5VTEwsIEZBTFNFKTsKIAot
ICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdCogYmFja0ZvcndhcmRMaXN0ID0gY29yZSh3ZWJC
YWNrRm9yd2FyZExpc3QpOworICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdEltcGwqIGJhY2tG
b3J3YXJkTGlzdCA9IGNvcmUod2ViQmFja0ZvcndhcmRMaXN0KTsKIAogICAgIHJldHVybiAoYmFj
a0ZvcndhcmRMaXN0LT5lbmFibGVkKCkgPyBiYWNrRm9yd2FyZExpc3QtPmNvbnRhaW5zSXRlbSho
aXN0b3J5SXRlbSkgOiBGQUxTRSk7CiB9CkBAIC0xODcsNyArMTg3LDcgQEAgdm9pZCB3ZWJraXRf
d2ViX2JhY2tfZm9yd2FyZF9saXN0X2dvX3RvXwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lU
X0lTX1dFQl9ISVNUT1JZX0lURU0od2ViSGlzdG9yeUl0ZW0pKTsKIAogICAgIFdlYkNvcmU6Okhp
c3RvcnlJdGVtKiBoaXN0b3J5SXRlbSA9IGNvcmUod2ViSGlzdG9yeUl0ZW0pOwotICAgIFdlYkNv
cmU6OkJhY2tGb3J3YXJkTGlzdCogYmFja0ZvcndhcmRMaXN0ID0gY29yZSh3ZWJCYWNrRm9yd2Fy
ZExpc3QpOworICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdEltcGwqIGJhY2tGb3J3YXJkTGlz
dCA9IGNvcmUod2ViQmFja0ZvcndhcmRMaXN0KTsKIAogICAgIGlmIChiYWNrRm9yd2FyZExpc3Qt
PmVuYWJsZWQoKSAmJiBoaXN0b3J5SXRlbSkKICAgICAgICAgYmFja0ZvcndhcmRMaXN0LT5nb1Rv
SXRlbShoaXN0b3J5SXRlbSk7CkBAIC0yMDYsNyArMjA2LDcgQEAgR0xpc3QqIHdlYmtpdF93ZWJf
YmFja19mb3J3YXJkX2xpc3RfZ2V0XwogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJ
VF9JU19XRUJfQkFDS19GT1JXQVJEX0xJU1Qod2ViQmFja0ZvcndhcmRMaXN0KSwgTlVMTCk7CiAK
LSAgICBXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3QqIGJhY2tGb3J3YXJkTGlzdCA9IGNvcmUod2Vi
QmFja0ZvcndhcmRMaXN0KTsKKyAgICBXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3RJbXBsKiBiYWNr
Rm9yd2FyZExpc3QgPSBjb3JlKHdlYkJhY2tGb3J3YXJkTGlzdCk7CiAgICAgaWYgKCFiYWNrRm9y
d2FyZExpc3QgfHwgIWJhY2tGb3J3YXJkTGlzdC0+ZW5hYmxlZCgpKQogICAgICAgICByZXR1cm4g
TlVMTDsKIApAQCAtMjM2LDcgKzIzNiw3IEBAIEdMaXN0KiB3ZWJraXRfd2ViX2JhY2tfZm9yd2Fy
ZF9saXN0X2dldF8KIHsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX0JB
Q0tfRk9SV0FSRF9MSVNUKHdlYkJhY2tGb3J3YXJkTGlzdCksIE5VTEwpOwogCi0gICAgV2ViQ29y
ZTo6QmFja0ZvcndhcmRMaXN0KiBiYWNrRm9yd2FyZExpc3QgPSBjb3JlKHdlYkJhY2tGb3J3YXJk
TGlzdCk7CisgICAgV2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0SW1wbCogYmFja0ZvcndhcmRMaXN0
ID0gY29yZSh3ZWJCYWNrRm9yd2FyZExpc3QpOwogICAgIGlmICghYmFja0ZvcndhcmRMaXN0IHx8
ICFiYWNrRm9yd2FyZExpc3QtPmVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKQEAg
LTI2NSw3ICsyNjUsNyBAQCBXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2Via2l0X3dlYl9iYWNrX2Zv
CiB7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9CQUNLX0ZPUldBUkRf
TElTVCh3ZWJCYWNrRm9yd2FyZExpc3QpLCBOVUxMKTsKIAotICAgIFdlYkNvcmU6OkJhY2tGb3J3
YXJkTGlzdCogYmFja0ZvcndhcmRMaXN0ID0gY29yZSh3ZWJCYWNrRm9yd2FyZExpc3QpOworICAg
IFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdEltcGwqIGJhY2tGb3J3YXJkTGlzdCA9IGNvcmUod2Vi
QmFja0ZvcndhcmRMaXN0KTsKICAgICBpZiAoIWJhY2tGb3J3YXJkTGlzdCB8fCAhYmFja0Zvcndh
cmRMaXN0LT5lbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCkBAIC0yODgsNyArMjg4
LDcgQEAgV2ViS2l0V2ViSGlzdG9yeUl0ZW0qIHdlYmtpdF93ZWJfYmFja19mbwogewogICAgIGdf
cmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19XRUJfQkFDS19GT1JXQVJEX0xJU1Qod2ViQmFj
a0ZvcndhcmRMaXN0KSwgTlVMTCk7CiAKLSAgICBXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3QqIGJh
Y2tGb3J3YXJkTGlzdCA9IGNvcmUod2ViQmFja0ZvcndhcmRMaXN0KTsKKyAgICBXZWJDb3JlOjpC
YWNrRm9yd2FyZExpc3RJbXBsKiBiYWNrRm9yd2FyZExpc3QgPSBjb3JlKHdlYkJhY2tGb3J3YXJk
TGlzdCk7CiAgICAgaWYgKCFiYWNrRm9yd2FyZExpc3QgfHwgIWJhY2tGb3J3YXJkTGlzdC0+ZW5h
YmxlZCgpKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtMzExLDcgKzMxMSw3IEBAIFdlYktp
dFdlYkhpc3RvcnlJdGVtKiB3ZWJraXRfd2ViX2JhY2tfZm8KIHsKICAgICBnX3JldHVybl92YWxf
aWZfZmFpbChXRUJLSVRfSVNfV0VCX0JBQ0tfRk9SV0FSRF9MSVNUKHdlYkJhY2tGb3J3YXJkTGlz
dCksIE5VTEwpOwogCi0gICAgV2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0KiBiYWNrRm9yd2FyZExp
c3QgPSBjb3JlKHdlYkJhY2tGb3J3YXJkTGlzdCk7CisgICAgV2ViQ29yZTo6QmFja0ZvcndhcmRM
aXN0SW1wbCogYmFja0ZvcndhcmRMaXN0ID0gY29yZSh3ZWJCYWNrRm9yd2FyZExpc3QpOwogICAg
IGlmICghYmFja0ZvcndhcmRMaXN0IHx8ICFiYWNrRm9yd2FyZExpc3QtPmVuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuIE5VTEw7CiAKQEAgLTMzMyw3ICszMzMsNyBAQCBXZWJLaXRXZWJIaXN0b3J5
SXRlbSogd2Via2l0X3dlYl9iYWNrX2ZvCiB7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VC
S0lUX0lTX1dFQl9CQUNLX0ZPUldBUkRfTElTVCh3ZWJCYWNrRm9yd2FyZExpc3QpLCBOVUxMKTsK
IAotICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdCogYmFja0ZvcndhcmRMaXN0ID0gY29yZSh3
ZWJCYWNrRm9yd2FyZExpc3QpOworICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdEltcGwqIGJh
Y2tGb3J3YXJkTGlzdCA9IGNvcmUod2ViQmFja0ZvcndhcmRMaXN0KTsKICAgICBpZiAoIWJhY2tG
b3J3YXJkTGlzdCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKQEAgLTM1NCw3ICszNTQsNyBAQCBn
aW50IHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2JhCiB7CiAgICAgZ19yZXR1cm5f
dmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9CQUNLX0ZPUldBUkRfTElTVCh3ZWJCYWNrRm9yd2Fy
ZExpc3QpLCAwKTsKIAotICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdCogYmFja0ZvcndhcmRM
aXN0ID0gY29yZSh3ZWJCYWNrRm9yd2FyZExpc3QpOworICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJk
TGlzdEltcGwqIGJhY2tGb3J3YXJkTGlzdCA9IGNvcmUod2ViQmFja0ZvcndhcmRMaXN0KTsKICAg
ICBpZiAoIWJhY2tGb3J3YXJkTGlzdCB8fCAhYmFja0ZvcndhcmRMaXN0LT5lbmFibGVkKCkpCiAg
ICAgICAgIHJldHVybiAwOwogCkBAIC0zNzMsNyArMzczLDcgQEAgZ2ludCB3ZWJraXRfd2ViX2Jh
Y2tfZm9yd2FyZF9saXN0X2dldF9mbwogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJ
VF9JU19XRUJfQkFDS19GT1JXQVJEX0xJU1Qod2ViQmFja0ZvcndhcmRMaXN0KSwgMCk7CiAKLSAg
ICBXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3QqIGJhY2tGb3J3YXJkTGlzdCA9IGNvcmUod2ViQmFj
a0ZvcndhcmRMaXN0KTsKKyAgICBXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3RJbXBsKiBiYWNrRm9y
d2FyZExpc3QgPSBjb3JlKHdlYkJhY2tGb3J3YXJkTGlzdCk7CiAgICAgaWYgKCFiYWNrRm9yd2Fy
ZExpc3QgfHwgIWJhY2tGb3J3YXJkTGlzdC0+ZW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gMDsK
IApAQCAtMzkyLDcgKzM5Miw3IEBAIGdpbnQgd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9n
ZXRfbGkKIHsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX0JBQ0tfRk9S
V0FSRF9MSVNUKHdlYkJhY2tGb3J3YXJkTGlzdCksIDApOwogCi0gICAgV2ViQ29yZTo6QmFja0Zv
cndhcmRMaXN0KiBiYWNrRm9yd2FyZExpc3QgPSBjb3JlKHdlYkJhY2tGb3J3YXJkTGlzdCk7Cisg
ICAgV2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0SW1wbCogYmFja0ZvcndhcmRMaXN0ID0gY29yZSh3
ZWJCYWNrRm9yd2FyZExpc3QpOwogICAgIGlmICghYmFja0ZvcndhcmRMaXN0IHx8ICFiYWNrRm9y
d2FyZExpc3QtPmVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTQxMiw3ICs0MTIs
NyBAQCB2b2lkIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3Rfc2V0X2xpCiB7CiAgICAgZ19y
ZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX0JBQ0tfRk9SV0FSRF9MSVNUKHdlYkJhY2tGb3J3
YXJkTGlzdCkpOwogCi0gICAgV2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0KiBiYWNrRm9yd2FyZExp
c3QgPSBjb3JlKHdlYkJhY2tGb3J3YXJkTGlzdCk7CisgICAgV2ViQ29yZTo6QmFja0ZvcndhcmRM
aXN0SW1wbCogYmFja0ZvcndhcmRMaXN0ID0gY29yZSh3ZWJCYWNrRm9yd2FyZExpc3QpOwogICAg
IGlmIChiYWNrRm9yd2FyZExpc3QpCiAgICAgICAgIGJhY2tGb3J3YXJkTGlzdC0+c2V0Q2FwYWNp
dHkobGltaXQpOwogfQpAQCAtNDM1LDcgKzQzNSw3IEBAIHZvaWQgd2Via2l0X3dlYl9iYWNrX2Zv
cndhcmRfbGlzdF9hZGRfaXQKIAogICAgIGdfb2JqZWN0X3JlZih3ZWJIaXN0b3J5SXRlbSk7CiAK
LSAgICBXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3QqIGJhY2tGb3J3YXJkTGlzdCA9IGNvcmUod2Vi
QmFja0ZvcndhcmRMaXN0KTsKKyAgICBXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3RJbXBsKiBiYWNr
Rm9yd2FyZExpc3QgPSBjb3JlKHdlYkJhY2tGb3J3YXJkTGlzdCk7CiAgICAgV2ViQ29yZTo6SGlz
dG9yeUl0ZW0qIGhpc3RvcnlJdGVtID0gY29yZSh3ZWJIaXN0b3J5SXRlbSk7CiAKICAgICBiYWNr
Rm9yd2FyZExpc3QtPmFkZEl0ZW0oaGlzdG9yeUl0ZW0pOwpAQCAtNDU0LDcgKzQ1NCw3IEBAIHZv
aWQgd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9jbGVhcigKIHsKICAgICBnX3JldHVybl9p
Zl9mYWlsKFdFQktJVF9JU19XRUJfQkFDS19GT1JXQVJEX0xJU1Qod2ViQmFja0ZvcndhcmRMaXN0
KSk7CiAKLSAgICBXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3QqIGJhY2tGb3J3YXJkTGlzdCA9IGNv
cmUod2ViQmFja0ZvcndhcmRMaXN0KTsKKyAgICBXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3RJbXBs
KiBiYWNrRm9yd2FyZExpc3QgPSBjb3JlKHdlYkJhY2tGb3J3YXJkTGlzdCk7CiAgICAgaWYgKCFi
YWNrRm9yd2FyZExpc3QgfHwgIWJhY2tGb3J3YXJkTGlzdC0+ZW5hYmxlZCgpIHx8ICFiYWNrRm9y
d2FyZExpc3QtPmVudHJpZXMoKS5zaXplKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtNDY0LDcg
KzQ2NCw3IEBAIHZvaWQgd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9jbGVhcigKICAgICBi
YWNrRm9yd2FyZExpc3QtPnNldENhcGFjaXR5KGNhcGFjaXR5KTsKIH0KIAotV2ViQ29yZTo6QmFj
a0ZvcndhcmRMaXN0KiBXZWJLaXQ6OmNvcmUoV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0KiB3ZWJC
YWNrRm9yd2FyZExpc3QpCitXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3RJbXBsKiBXZWJLaXQ6OmNv
cmUoV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0KiB3ZWJCYWNrRm9yd2FyZExpc3QpCiB7CiAgICAg
Z19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9CQUNLX0ZPUldBUkRfTElTVCh3ZWJC
YWNrRm9yd2FyZExpc3QpLCBOVUxMKTsKIApJbmRleDogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2Vidmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmll
dy5jcHAJKHJldmlzaW9uIDcwNzk2KQorKysgV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmll
dy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAKIAogI2luY2x1ZGUgIkFYT2Jq
ZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBYnN0cmFjdERhdGFiYXNlLmgiCi0jaW5jbHVkZSAiQmFj
a0ZvcndhcmRMaXN0LmgiCisjaW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0SW1wbC5oIgogI2luY2x1
ZGUgIkNhY2hlLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50R3RrLmgiCiAjaW5jbHVkZSAiQ2xp
cGJvYXJkVXRpbGl0aWVzR3RrLmgiCkBAIC0zMzkyLDcgKzMzOTIsNyBAQCB2b2lkIHdlYmtpdF93
ZWJfdmlld19zZXRfbWFpbnRhaW5zX2JhY2tfCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJL
SVRfSVNfV0VCX1ZJRVcod2ViVmlldykpOwogCi0gICAgY29yZSh3ZWJWaWV3KS0+YmFja0Zvcndh
cmRMaXN0KCktPnNldEVuYWJsZWQoZmxhZyk7CisgICAgc3RhdGljX2Nhc3Q8QmFja0ZvcndhcmRM
aXN0SW1wbCo+KGNvcmUod2ViVmlldyktPmJhY2tGb3J3YXJkTGlzdCgpKS0+c2V0RW5hYmxlZChm
bGFnKTsKIH0KIAogLyoqCkBAIC0zNDA3LDcgKzM0MDcsNyBAQCB2b2lkIHdlYmtpdF93ZWJfdmll
d19zZXRfbWFpbnRhaW5zX2JhY2tfCiBXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QqIHdlYmtpdF93
ZWJfdmlld19nZXRfYmFja19mb3J3YXJkX2xpc3QoV2ViS2l0V2ViVmlldyogd2ViVmlldykKIHsK
ICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldyksIDAp
OwotICAgIGlmICghY29yZSh3ZWJWaWV3KSB8fCAhY29yZSh3ZWJWaWV3KS0+YmFja0ZvcndhcmRM
aXN0KCktPmVuYWJsZWQoKSkKKyAgICBpZiAoIWNvcmUod2ViVmlldykgfHwgIXN0YXRpY19jYXN0
PEJhY2tGb3J3YXJkTGlzdEltcGwqPihjb3JlKHdlYlZpZXcpLT5iYWNrRm9yd2FyZExpc3QoKSkt
PmVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIHdlYlZpZXctPnByaXYt
PmJhY2tGb3J3YXJkTGlzdC5nZXQoKTsKIH0KSW5kZXg6IFdlYktpdC9tYWMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3MDgyMykKKysrIFdl
YktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAt
MTAtMjggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBCYWNrRm9yd2FyZExpc3QgY2xp
ZW50cyB0byB1c2UgQmFja0ZvcndhcmRMaXN0SW1wbCB0byBwcmVwYXJlIGZvciBmdXJ0aGVyIHJl
ZmFjdG9yaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00ODU3NAorCisgICAgICAgICogSGlzdG9yeS9XZWJCYWNrRm9yd2FyZExpc3QubW06CisgICAg
ICAgIFVzZSBCYWNrRm9yd2FyZExpc3RJbXBsLgorCiAyMDEwLTEwLTI4ICBJdmFuIEtyc3RpxIcg
IDxpa2VAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgUm93ZS4KSW5kZXg6
IFdlYktpdC9tYWMvSGlzdG9yeS9XZWJCYWNrRm9yd2FyZExpc3QubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0L21hYy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQkocmV2aXNpb24gNzA3OTYp
CisrKyBXZWJLaXQvbWFjL0hpc3RvcnkvV2ViQmFja0ZvcndhcmRMaXN0Lm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNyBBcHBs
ZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNTMsOCArNTMsMTAgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
LXR5cGVkZWYgSGFzaE1hcDxCYWNrRm9yd2FyZExpc3QqLCBXZWJCYWNrRm9yd2FyZExpc3QqPiBC
YWNrRm9yd2FyZExpc3RNYXA7Cit0eXBlZGVmIEhhc2hNYXA8QmFja0ZvcndhcmRMaXN0SW1wbCos
IFdlYkJhY2tGb3J3YXJkTGlzdCo+IEJhY2tGb3J3YXJkTGlzdE1hcDsKIAorLy8gRklYTUU6IElu
c3RlYWQgb2YgdGhpcyB3ZSBjb3VsZCBqdXN0IGNyZWF0ZSBhIGNsYXNzIGRlcml2ZWQgZnJvbSBC
YWNrRm9yd2FyZExpc3RJbXBsCisvLyB3aXRoIGEgcG9pbnRlciB0byBhIFdlYkJhY2tGb3J3YXJk
TGlzdCBpbiBpdC4KIHN0YXRpYyBCYWNrRm9yd2FyZExpc3RNYXAmIGJhY2tGb3J3YXJkTGlzdHMo
KQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQmFja0ZvcndhcmRMaXN0TWFwLCBzdGF0aWNC
YWNrRm9yd2FyZExpc3RzLCAoKSk7CkluZGV4OiBXZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDcwODIzKQorKysgV2ViS2l0L3F0
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEwLTEwLTI4ICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgQmFja0ZvcndhcmRMaXN0IGNsaWVudHMgdG8g
dXNlIEJhY2tGb3J3YXJkTGlzdEltcGwgdG8gcHJlcGFyZSBmb3IgZnVydGhlciByZWZhY3Rvcmlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg1NzQK
KworICAgICAgICAqIEFwaS9xd2ViaGlzdG9yeS5jcHA6CisgICAgICAgIChRV2ViSGlzdG9yeTo6
Y2xlYXIpOgorICAgICAgICAqIEFwaS9xd2ViaGlzdG9yeV9wLmg6CisgICAgICAgICogQXBpL3F3
ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKToK
KyAgICAgICAgVXNlIEJhY2tGb3J3YXJkTGlzdEltcGwuCisKIDIwMTAtMTAtMjggIE5vYW0gUm9z
ZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFyaXlhIEhpZGF5YXQuCkluZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJoaXN0b3J5LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3ZWJoaXN0b3J5LmNwcAkocmV2aXNpb24gNzA3OTYp
CisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJoaXN0b3J5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU2
LDggKzI1Niw4IEBAIFFXZWJIaXN0b3J5Ojp+UVdlYkhpc3RvcnkoKQogKi8KIHZvaWQgUVdlYkhp
c3Rvcnk6OmNsZWFyKCkKIHsKLSAgICAvL3Nob3J0Y3V0IHRvIHByaXZhdGUgQmFja0ZvcndhcmRM
aXN0Ci0gICAgV2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0KiBsc3QgPSBkLT5sc3Q7CisgICAgLy9z
aG9ydGN1dCB0byBwcml2YXRlIEJhY2tGb3J3YXJkTGlzdEltcGwKKyAgICBXZWJDb3JlOjpCYWNr
Rm9yd2FyZExpc3RJbXBsKiBsc3QgPSBkLT5sc3Q7CiAKICAgICAvL2NsZWFyIHZpc2l0ZWQgbGlu
a3MKICAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6QmFja0Zv
cndhcmRMaXN0SW1wbCo+KGxzdCktPnBhZ2UoKTsKSW5kZXg6IFdlYktpdC9xdC9BcGkvcXdlYmhp
c3RvcnlfcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYmhpc3RvcnlfcC5oCShy
ZXZpc2lvbiA3MDc5NikKKysrIFdlYktpdC9xdC9BcGkvcXdlYmhpc3RvcnlfcC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiAjaWZuZGVmIFFXRUJISVNUT1JZX1BfSAogI2RlZmlu
ZSBRV0VCSElTVE9SWV9QX0gKIAotI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdC5oIgorI2luY2x1
ZGUgIkJhY2tGb3J3YXJkTGlzdEltcGwuaCIKICNpbmNsdWRlICJIaXN0b3J5SXRlbS5oIgogI2lu
Y2x1ZGUgPFF0Q29yZS9xZ2xvYmFsLmg+CiAjaW5jbHVkZSA8UXRDb3JlL3FzaGFyZWRkYXRhLmg+
CkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKIAogY2xhc3MgUVdlYkhpc3RvcnlQcml2YXRlIDog
cHVibGljIFFTaGFyZWREYXRhIHsKIHB1YmxpYzoKLSAgICBRV2ViSGlzdG9yeVByaXZhdGUoV2Vi
Q29yZTo6QmFja0ZvcndhcmRMaXN0KiBsKQorICAgIFFXZWJIaXN0b3J5UHJpdmF0ZShXZWJDb3Jl
OjpCYWNrRm9yd2FyZExpc3RJbXBsKiBsKQogICAgIHsKICAgICAgICAgbC0+cmVmKCk7CiAgICAg
ICAgIGxzdCA9IGw7CkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKIAogICAgIFFXZWJQYWdlUHJp
dmF0ZSogcGFnZSgpOwogCi0gICAgV2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0KiBsc3Q7CisgICAg
V2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0SW1wbCogbHN0OwogfTsKIAogCkluZGV4OiBXZWJLaXQv
cXQvQXBpL3F3ZWJwYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdl
LmNwcAkocmV2aXNpb24gNzA3OTYpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzMsNzAgKzMzLDcxIEBACiAjaW5jbHVkZSAicXdlYnNldHRpbmdzLmgi
CiAjaW5jbHVkZSAicXdlYmtpdHZlcnNpb24uaCIKIAotI2luY2x1ZGUgIkNocm9tZS5oIgotI2lu
Y2x1ZGUgIkNvbnRleHRNZW51Q29udHJvbGxlci5oIgotI2luY2x1ZGUgIkZyYW1lLmgiCi0jaW5j
bHVkZSAiRnJhbWVUcmVlLmgiCi0jaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKLSNpbmNsdWRlICJG
cmFtZUxvYWRlckNsaWVudFF0LmgiCi0jaW5jbHVkZSAiRnJhbWVWaWV3LmgiCi0jaW5jbHVkZSAi
Rm9ybVN0YXRlLmgiCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCIKKyNpbmNs
dWRlICJCYWNrRm9yd2FyZExpc3RJbXBsLmgiCisjaW5jbHVkZSAiQ2FjaGUuaCIKKyNpbmNsdWRl
ICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnRRdC5oIgogI2luY2x1ZGUgIkNvbnRl
eHRNZW51LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDbGllbnRRdC5oIgorI2luY2x1ZGUgIkNv
bnRleHRNZW51Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRldmljZU1vdGlvbkNsaWVudFF0Lmgi
CiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRHJhZ0NsaWVudFF0LmgiCiAjaW5jbHVkZSAiRHJhZ0Nv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJEcmFnRGF0YS5oIgorI2luY2x1ZGUgIkVkaXRvci5oIgog
I2luY2x1ZGUgIkVkaXRvckNsaWVudFF0LmgiCi0jaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIK
LSNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1ZGUgIlNldHRpbmdzLmgiCi0jaW5j
bHVkZSAiUGFnZS5oIgotI2luY2x1ZGUgIlBhc3RlYm9hcmQuaCIKLSNpbmNsdWRlICJGcmFtZUxv
YWRlci5oIgorI2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkZvcm1TdGF0
ZS5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkUmVxdWVzdC5oIgot
I2luY2x1ZGUgIktVUkwuaCIKLSNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiRnJhbWVM
b2FkZXIuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgorI2luY2x1ZGUgIkZyYW1lTG9hZGVy
Q2xpZW50UXQuaCIKKyNpbmNsdWRlICJGcmFtZVRyZWUuaCIKKyNpbmNsdWRlICJGcmFtZVZpZXcu
aCIKKyNpbmNsdWRlICJHZW9sb2NhdGlvblBlcm1pc3Npb25DbGllbnRRdC5oIgorI2luY2x1ZGUg
IkhUTUxGb3JtRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKKyNpbmNs
dWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJIYXNoTWFwLmgiCisjaW5jbHVkZSAiSGl0VGVz
dFJlc3VsdC5oIgogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50
UXQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiRm9jdXND
b250cm9sbGVyLmgiCi0jaW5jbHVkZSAiRWRpdG9yLmgiCi0jaW5jbHVkZSAiU2Nyb2xsYmFyLmgi
CisjaW5jbHVkZSAiSW5zcGVjdG9yU2VydmVyUXQuaCIKKyNpbmNsdWRlICJLVVJMLmgiCisjaW5j
bHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRl
ICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTmF2aWdhdGlvbkFjdGlvbi5oIgogI2lu
Y2x1ZGUgIk5ldHdvcmtpbmdDb250ZXh0LmgiCisjaW5jbHVkZSAiTm90aWZpY2F0aW9uUHJlc2Vu
dGVyQ2xpZW50UXQuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGFnZUNsaWVudFF0
LmgiCisjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCisjaW5jbHVkZSAiUGFzdGVib2FyZC5oIgogI2lu
Y2x1ZGUgIlBsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtVG91Y2hF
dmVudC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtV2hlZWxFdmVudC5oIgogI2luY2x1ZGUgIlBsdWdp
bkRhdGFiYXNlLmgiCisjaW5jbHVkZSAiUGx1Z2luRGF0YWJhc2UuaCIKKyNpbmNsdWRlICJQbHVn
aW5QYWNrYWdlLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCiAjaW5jbHVkZSAiUmVm
UHRyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRyb2wuaCIKKyNpbmNsdWRlICJTY2hlbWVS
ZWdpc3RyeS5oIgorI2luY2x1ZGUgIlNjcm9sbGJhci5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIK
LSNpbmNsdWRlICJIYXNoTWFwLmgiCi0jaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCi0jaW5j
bHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1
ZGUgIkhpdFRlc3RSZXN1bHQuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JTZXJ2ZXJRdC5oIgotI2lu
Y2x1ZGUgIldpbmRvd0ZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiV2ViUGxhdGZvcm1TdHJhdGVnaWVz
LmgiCi0jaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgotI2luY2x1ZGUgIkNhY2hlLmgiCi0j
aW5jbHVkZSAicnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmgiCi0jaW5jbHVkZSAiUGFnZUdy
b3VwLmgiCi0jaW5jbHVkZSAiR2VvbG9jYXRpb25QZXJtaXNzaW9uQ2xpZW50UXQuaCIKLSNpbmNs
dWRlICJOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5oIgotI2luY2x1ZGUgIlBhZ2VDbGll
bnRRdC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtVG91Y2hFdmVudC5oIgorI2luY2x1ZGUgIldpbmRv
d0ZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSAicnVudGlt
ZS9Jbml0aWFsaXplVGhyZWFkaW5nLmgiCiAjaW5jbHVkZSAid3RmL1RocmVhZGluZy5oIgotI2lu
Y2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKLSNpbmNsdWRlICJQbHVnaW5EYXRhYmFzZS5oIgot
I2luY2x1ZGUgIlBsdWdpblBhY2thZ2UuaCIKIAogI2luY2x1ZGUgPFFBcHBsaWNhdGlvbj4KICNp
bmNsdWRlIDxRQmFzaWNUaW1lcj4KQEAgLTMxMiw3ICszMTMsNyBAQCBRV2ViUGFnZVByaXZhdGU6
OlFXZWJQYWdlUHJpdmF0ZShRV2ViUGFnCiAKICAgICBzZXR0aW5ncyA9IG5ldyBRV2ViU2V0dGlu
Z3MocGFnZS0+c2V0dGluZ3MoKSk7CiAKLSAgICBoaXN0b3J5LmQgPSBuZXcgUVdlYkhpc3RvcnlQ
cml2YXRlKHBhZ2UtPmJhY2tGb3J3YXJkTGlzdCgpKTsKKyAgICBoaXN0b3J5LmQgPSBuZXcgUVdl
Ykhpc3RvcnlQcml2YXRlKHN0YXRpY19jYXN0PFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdEltcGwq
PihwYWdlLT5iYWNrRm9yd2FyZExpc3QoKSkpOwogICAgIG1lbXNldChhY3Rpb25zLCAwLCBzaXpl
b2YoYWN0aW9ucykpOwogCiAgICAgUGFnZUdyb3VwOjpzZXRTaG91bGRUcmFja1Zpc2l0ZWRMaW5r
cyh0cnVlKTsKSW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiA3MDgyMykKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMTAtMjggIERhcmluIEFkbGVy
ICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENoYW5nZSBCYWNrRm9yd2FyZExpc3QgY2xpZW50cyB0byB1c2UgQmFja0Zv
cndhcmRMaXN0SW1wbCB0byBwcmVwYXJlIGZvciBmdXJ0aGVyIHJlZmFjdG9yaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODU3NAorCisgICAgICAg
ICogV2ViQmFja0ZvcndhcmRMaXN0LmNwcDoKKyAgICAgICAgKGJhY2tGb3J3YXJkTGlzdFdyYXBw
ZXJzKToKKyAgICAgICAgKFdlYkJhY2tGb3J3YXJkTGlzdDo6V2ViQmFja0ZvcndhcmRMaXN0KToK
KyAgICAgICAgKFdlYkJhY2tGb3J3YXJkTGlzdDo6Y3JlYXRlSW5zdGFuY2UpOgorICAgICAgICAq
IFdlYkJhY2tGb3J3YXJkTGlzdC5oOgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAo
V2ViVmlldzo6YmFja0ZvcndhcmRMaXN0KToKKyAgICAgICAgVXNlIEJhY2tGb3J3YXJkTGlzdElt
cGwuCisKIDIwMTAtMTAtMjYgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4LgpJbmRleDogV2ViS2l0L3dpbi9XZWJCYWNr
Rm9yd2FyZExpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2ViQmFja0ZvcndhcmRM
aXN0LmNwcAkocmV2aXNpb24gNzA3OTYpCisrKyBXZWJLaXQvd2luL1dlYkJhY2tGb3J3YXJkTGlz
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJXZWJLaXQu
aCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgogCi0jaW5jbHVkZSA8V2ViQ29yZS9CYWNr
Rm9yd2FyZExpc3QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0JhY2tGb3J3YXJkTGlzdEltcGwuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0hpc3RvcnlJdGVtLmg+CiAKIHVzaW5nIHN0ZDo6bWluOwpAQCAt
NDAsMTMgKzQwLDE1IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiAvLyBXZWJCYWNrRm9y
d2FyZExpc3QgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogCi1zdGF0aWMgSGFzaE1hcDxCYWNrRm9yd2FyZExpc3QqLCBXZWJC
YWNrRm9yd2FyZExpc3QqPiYgYmFja0ZvcndhcmRMaXN0V3JhcHBlcnMoKQorLy8gRklYTUU6IElu
c3RlYWQgb2YgdGhpcyB3ZSBjb3VsZCBqdXN0IGNyZWF0ZSBhIGNsYXNzIGRlcml2ZWQgZnJvbSBC
YWNrRm9yd2FyZExpc3RJbXBsCisvLyB3aXRoIGEgcG9pbnRlciB0byBhIFdlYkJhY2tGb3J3YXJk
TGlzdCBpbiBpdC4KK3N0YXRpYyBIYXNoTWFwPEJhY2tGb3J3YXJkTGlzdEltcGwqLCBXZWJCYWNr
Rm9yd2FyZExpc3QqPiYgYmFja0ZvcndhcmRMaXN0V3JhcHBlcnMoKQogewotICAgIHN0YXRpYyBI
YXNoTWFwPEJhY2tGb3J3YXJkTGlzdCosIFdlYkJhY2tGb3J3YXJkTGlzdCo+IHN0YXRpY0JhY2tG
b3J3YXJkTGlzdFdyYXBwZXJzOworICAgIHN0YXRpYyBIYXNoTWFwPEJhY2tGb3J3YXJkTGlzdElt
cGwqLCBXZWJCYWNrRm9yd2FyZExpc3QqPiBzdGF0aWNCYWNrRm9yd2FyZExpc3RXcmFwcGVyczsK
ICAgICByZXR1cm4gc3RhdGljQmFja0ZvcndhcmRMaXN0V3JhcHBlcnM7CiB9CiAKLVdlYkJhY2tG
b3J3YXJkTGlzdDo6V2ViQmFja0ZvcndhcmRMaXN0KFBhc3NSZWZQdHI8QmFja0ZvcndhcmRMaXN0
PiBiYWNrRm9yd2FyZExpc3QpCitXZWJCYWNrRm9yd2FyZExpc3Q6OldlYkJhY2tGb3J3YXJkTGlz
dChQYXNzUmVmUHRyPEJhY2tGb3J3YXJkTGlzdEltcGw+IGJhY2tGb3J3YXJkTGlzdCkKICAgICA6
IG1fcmVmQ291bnQoMCkKICAgICAsIG1fYmFja0ZvcndhcmRMaXN0KGJhY2tGb3J3YXJkTGlzdCkK
IHsKQEAgLTY4LDcgKzcwLDcgQEAgV2ViQmFja0ZvcndhcmRMaXN0Ojp+V2ViQmFja0ZvcndhcmRM
aXN0KAogICAgIGdDbGFzc05hbWVDb3VudC5yZW1vdmUoIldlYkJhY2tGb3J3YXJkTGlzdCIpOwog
fQogCi1XZWJCYWNrRm9yd2FyZExpc3QqIFdlYkJhY2tGb3J3YXJkTGlzdDo6Y3JlYXRlSW5zdGFu
Y2UoUGFzc1JlZlB0cjxCYWNrRm9yd2FyZExpc3Q+IGJhY2tGb3J3YXJkTGlzdCkKK1dlYkJhY2tG
b3J3YXJkTGlzdCogV2ViQmFja0ZvcndhcmRMaXN0OjpjcmVhdGVJbnN0YW5jZShQYXNzUmVmUHRy
PEJhY2tGb3J3YXJkTGlzdEltcGw+IGJhY2tGb3J3YXJkTGlzdCkKIHsKICAgICBXZWJCYWNrRm9y
d2FyZExpc3QqIGluc3RhbmNlOwogCkluZGV4OiBXZWJLaXQvd2luL1dlYkJhY2tGb3J3YXJkTGlz
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2ViQmFja0ZvcndhcmRMaXN0LmgJKHJldmlz
aW9uIDcwNzk2KQorKysgV2ViS2l0L3dpbi9XZWJCYWNrRm9yd2FyZExpc3QuaAkod29ya2luZyBj
b3B5KQpAQCAtMzQsMTUgKzM0LDE1IEBACiAjaW5jbHVkZSA8V1RGL1JlZlB0ci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgQmFja0ZvcndhcmRMaXN0OworICAgIGNsYXNzIEJh
Y2tGb3J3YXJkTGlzdEltcGw7CiB9CiAKIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdCA6IHB1Ymxp
YyBJV2ViQmFja0ZvcndhcmRMaXN0LCBJV2ViQmFja0ZvcndhcmRMaXN0UHJpdmF0ZQogewogcHVi
bGljOgotICAgIHN0YXRpYyBXZWJCYWNrRm9yd2FyZExpc3QqIGNyZWF0ZUluc3RhbmNlKFBhc3NS
ZWZQdHI8V2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0Pik7CisgICAgc3RhdGljIFdlYkJhY2tGb3J3
YXJkTGlzdCogY3JlYXRlSW5zdGFuY2UoUGFzc1JlZlB0cjxXZWJDb3JlOjpCYWNrRm9yd2FyZExp
c3RJbXBsPik7CiBwcm90ZWN0ZWQ6Ci0gICAgV2ViQmFja0ZvcndhcmRMaXN0KFBhc3NSZWZQdHI8
V2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0Pik7CisgICAgV2ViQmFja0ZvcndhcmRMaXN0KFBhc3NS
ZWZQdHI8V2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0SW1wbD4pOwogICAgIH5XZWJCYWNrRm9yd2Fy
ZExpc3QoKTsKIAogcHVibGljOgpAQCAtMTA5LDcgKzEwOSw3IEBAIHB1YmxpYzoKIAogcHJvdGVj
dGVkOgogICAgIFVMT05HIG1fcmVmQ291bnQ7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OkJhY2tGb3J3
YXJkTGlzdD4gbV9iYWNrRm9yd2FyZExpc3Q7CisgICAgUmVmUHRyPFdlYkNvcmU6OkJhY2tGb3J3
YXJkTGlzdEltcGw+IG1fYmFja0ZvcndhcmRMaXN0OwogfTsKIAogI2VuZGlmCkluZGV4OiBXZWJL
aXQvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2ViVmlldy5jcHAJ
KHJldmlzaW9uIDcwNzk2KQorKysgV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjcsNyArNjcsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQVhPYmplY3RDYWNoZS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0JTdHJpbmcuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0JhY2tGb3J3YXJkTGlzdC5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvQmFja0ZvcndhcmRMaXN0SW1wbC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvQml0bWFwSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ2FjaGUuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0Nocm9tZS5oPgpAQCAtMjg3MCwxMyArMjg3MCwxNCBAQCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIFdlYlZpZXc6OmZvY3VzCiAKICAgICByZXR1cm4gd2ViRnJhbWUtPlF1ZXJ5SW50
ZXJmYWNlKElJRF9JV2ViRnJhbWUsICh2b2lkKiopIGZyYW1lKTsKIH0KKwogSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBXZWJWaWV3OjpiYWNrRm9yd2FyZExpc3QoIAogICAgIC8qIFtvdXRdW3Jl
dHZhbF0gKi8gSVdlYkJhY2tGb3J3YXJkTGlzdCoqIGxpc3QpCiB7CiAgICAgaWYgKCFtX3VzZUJh
Y2tGb3J3YXJkTGlzdCkKICAgICAgICAgcmV0dXJuIEVfRkFJTDsKICAKLSAgICAqbGlzdCA9IFdl
YkJhY2tGb3J3YXJkTGlzdDo6Y3JlYXRlSW5zdGFuY2UobV9wYWdlLT5iYWNrRm9yd2FyZExpc3Qo
KSk7CisgICAgKmxpc3QgPSBXZWJCYWNrRm9yd2FyZExpc3Q6OmNyZWF0ZUluc3RhbmNlKHN0YXRp
Y19jYXN0PFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdEltcGwqPihtX3BhZ2UtPmJhY2tGb3J3YXJk
TGlzdCgpKSk7CiAKICAgICByZXR1cm4gU19PSzsKIH0KSW5kZXg6IFdlYktpdC93eC9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L3d4L0NoYW5nZUxvZwkocmV2aXNpb24gNzA4MjMpCisr
KyBXZWJLaXQvd3gvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTAtMTAtMjggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBCYWNrRm9yd2FyZExpc3Qg
Y2xpZW50cyB0byB1c2UgQmFja0ZvcndhcmRMaXN0SW1wbCB0byBwcmVwYXJlIGZvciBmdXJ0aGVy
IHJlZmFjdG9yaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00ODU3NAorCisgICAgICAgICogV2ViRnJhbWUuY3BwOgorICAgICAgICAod3hXZWJGcmFt
ZTo6Q2FuR29CYWNrKTogVXNlIGNhbkdvQmFja09yRm9yd2FyZC4KKyAgICAgICAgKHd4V2ViRnJh
bWU6OkNhbkdvRm9yd2FyZCk6IERpdHRvLgorCiAyMDEwLTEwLTI2ICBKZW5uIEJyYWl0aHdhaXRl
ICA8amVubmJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERtaXRyeSBUaXRv
di4KSW5kZXg6IFdlYktpdC93eC9XZWJGcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3d4
L1dlYkZyYW1lLmNwcAkocmV2aXNpb24gNzA3OTYpCisrKyBXZWJLaXQvd3gvV2ViRnJhbWUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdC5oIgorCiAjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCkBAIC0zMTgsMTYg
KzMxOCwxNiBAQCBib29sIHd4V2ViRnJhbWU6OkdvRm9yd2FyZCgpCiAKIGJvb2wgd3hXZWJGcmFt
ZTo6Q2FuR29CYWNrKCkKIHsKLSAgICBpZiAobV9pbXBsLT5mcmFtZSAmJiBtX2ltcGwtPmZyYW1l
LT5wYWdlKCkgJiYgbV9pbXBsLT5mcmFtZS0+cGFnZSgpLT5iYWNrRm9yd2FyZExpc3QoKSkKLSAg
ICAgICAgcmV0dXJuIG1faW1wbC0+ZnJhbWUtPnBhZ2UoKS0+YmFja0ZvcndhcmRMaXN0KCktPmJh
Y2tJdGVtKCkgIT0gTlVMTDsKKyAgICBpZiAobV9pbXBsLT5mcmFtZSAmJiBtX2ltcGwtPmZyYW1l
LT5wYWdlKCkpCisgICAgICAgIHJldHVybiBtX2ltcGwtPmZyYW1lLT5wYWdlKCktPmNhbkdvQmFj
a09yRm9yd2FyZCgtMSk7CiAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGJvb2wgd3hXZWJGcmFt
ZTo6Q2FuR29Gb3J3YXJkKCkKIHsKLSAgICBpZiAobV9pbXBsLT5mcmFtZSAmJiBtX2ltcGwtPmZy
YW1lLT5wYWdlKCkgJiYgbV9pbXBsLT5mcmFtZS0+cGFnZSgpLT5iYWNrRm9yd2FyZExpc3QoKSkK
LSAgICAgICAgcmV0dXJuIG1faW1wbC0+ZnJhbWUtPnBhZ2UoKS0+YmFja0ZvcndhcmRMaXN0KCkt
PmZvcndhcmRJdGVtKCkgIT0gTlVMTDsKKyAgICBpZiAobV9pbXBsLT5mcmFtZSAmJiBtX2ltcGwt
PmZyYW1lLT5wYWdlKCkpCisgICAgICAgIHJldHVybiBtX2ltcGwtPmZyYW1lLT5wYWdlKCktPmNh
bkdvQmFja09yRm9yd2FyZCgxKTsKIAogICAgIHJldHVybiBmYWxzZTsKIH0K
</data>
<flag name="review"
          id="62477"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>