<?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>42552</bug_id>
          
          <creation_ts>2010-07-18 22:13:53 -0700</creation_ts>
          <short_desc>WebKit2 does not have application cache</short_desc>
          <delta_ts>2010-07-19 08:42:03 -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="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>253090</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-07-18 22:13:53 -0700</bug_when>
    <thetext>WebKit2 does not have application cache</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253091</commentid>
    <comment_count>1</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-07-18 22:14:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/8204936&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253225</commentid>
    <comment_count>2</comment_count>
      <attachid>61958</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-19 08:18:39 -0700</bug_when>
    <thetext>Created attachment 61958
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253228</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-19 08:21:20 -0700</bug_when>
    <thetext>Attachment 61958 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/UIProcess/win/WebContextWin.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 19 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>253229</commentid>
    <comment_count>4</comment_count>
      <attachid>61958</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-07-19 08:23:51 -0700</bug_when>
    <thetext>Comment on attachment 61958
Patch

If we implemented localUserSpecificStorageDirectory on Mac, we could share the implementation of WebContext::applicationCacheDirectory.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253240</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-19 08:42:03 -0700</bug_when>
    <thetext>Committed r63664: &lt;http://trac.webkit.org/changeset/63664&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61958</attachid>
            <date>2010-07-19 08:18:39 -0700</date>
            <delta_ts>2010-07-19 08:23:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42552-20100719081836.patch</filename>
            <type>text/plain</type>
            <size>28473</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
OTRmYjM1YzMzMzc2ZWM0ZjQ4NDZhZjllNDA1MzgxMDY5YzEwZjAxNy4uZmY4MDg4NTU4MDdlMjhl
OWMyZjliZjYwNDJjMzdkNWU2MDJlYWJlYSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MyBAQAorMjAxMC0wNy0xOSAgQW5k
ZXJzIGNhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktpdDIgZG9lcyBub3QgaGF2ZSBhcHBsaWNh
dGlvbiBjYWNoZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDI1NTIKKworICAgICAgICAqIFNoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJQcm9jZXNzTWVz
c2FnZUtpbmRzLmg6CisgICAgICAgIChXZWJQcm9jZXNzTWVzc2FnZTo6KToKKyAgICAgICAgQWRk
IFNldEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJl
ZmVyZW5jZXNTdG9yZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpl
bmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpkZWNvZGUpOgor
ICAgICAgICBhZGQgb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJl
bmNlc1NldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCk6CisgICAgICAgIChXS1By
ZWZlcmVuY2VzR2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oOgorICAgICAgICBBZGQgZ2V0dGVycy9z
ZXR0ZXJzIGZvciB3aGV0aGVyIHRoZSBhcHBsaWNhdGlvbiBjYWNoZSBpcyBlbmFibGVkLgorCisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6c2V0T2Zm
bGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKToKKyAgICAgICAgVXBkYXRlIHRoZSBzdG9y
ZSBhbmQgY2FsbCB1cGRhdGUoKS4KKyAgICAgICAgCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBy
ZWZlcmVuY2VzLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6V2ViUHJvY2Vzc1Byb3h5KToKKyAgICAg
ICAgQXNrIHRoZSB3ZWIgcHJvY2VzcyB0byBzZXQgdGhlIGFwcGxpY2F0aW9uIGNhY2hlIGRpcmVj
dG9yeS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1hYy5tbTogQWRkZWQu
CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmFwcGxpY2F0aW9uQ2FjaGVEaXJlY3Rvcnkp
OgorICAgICAgICBSZXR1cm4gdGhlIGFwcGxpY2F0aW9uIGNhY2hlIGRpcmVjdG9yeS4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViQ29udGV4dFdpbi5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpXZWJDb250ZXh0OjphcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KToKKyAgICAgICAg
RGl0dG8uCisKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgIEFkZCBXZWJDb250ZXh0TWFjLm1tCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnByZWZlcmVuY2VzRGlk
Q2hhbmdlKToKKyAgICAgICAgCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZFJlY2VpdmVN
ZXNzYWdlKToKKyAgICAgICAgSGFuZGxlIFByZWZlcmVuY2VzRGlkQ2hhbmdlLiBHZXQgcmlkIG9m
IHRoZSBkZWZhdWx0OiBjYXNlIHN0YXRlbWVudCBzbyB3ZSdsbAorICAgICAgICBnZXQgd2Fybmlu
Z3MgaWYgd2UgaGF2ZSB1bmhhbmRsZWQgbWVzc2FnZSBraW5kcy4KKworICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNldEFw
cGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkpOgorICAgICAgICBTZXQgdGhlIGFwcGxpY2F0aW9uIGNh
Y2hlIGRpcmVjdG9yeS4KKworICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRSZWNlaXZl
TWVzc2FnZSk6CisgICAgICAgIEhhbmRsZSBTZXRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5Lgor
CisgICAgICAgIHdpbi9XZWJLaXQyLnZjcHJvajoKKyAgICAgICAgQWRkIFdlYkNvbnRleHRXaW4u
Y3BwCisKIDIwMTAtMDctMTggIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4K
IAogICAgICAgICBBbm90aGVyIGF0dGVtcHQgYXQgZml4aW5nIHRoZSBXaW5kb3dzIGJ1aWxkLgpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUHJvY2Vzc01lc3Nh
Z2VLaW5kcy5oIGIvV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUHJvY2Vzc01lc3Nh
Z2VLaW5kcy5oCmluZGV4IDBlNGNmNDRmY2Y1Y2RmMGUyMTM5NTcyNzZjZWJlZjU3MWQwNWEyY2Qu
LmQwOWEwNDMzNDFkMTYzZTBmNWM5OTM5MGJmOGRlYmEzZmM3MjMxOGQgMTAwNjQ0Ci0tLSBhL1dl
YktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYlByb2Nlc3NNZXNzYWdlS2luZHMuaAorKysg
Yi9XZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJQcm9jZXNzTWVzc2FnZUtpbmRzLmgK
QEAgLTM0LDYgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYlByb2Nlc3NNZXNzYWdlIHsKIAogZW51bSBL
aW5kIHsKICAgICBMb2FkSW5qZWN0ZWRCdW5kbGUsCisgICAgU2V0QXBwbGljYXRpb25DYWNoZURp
cmVjdG9yeSwKICAgICBDcmVhdGUsCiAgICAgUG9zdE1lc3NhZ2UsCiAjaWYgUExBVEZPUk0oTUFD
KQpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oIGIvV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCmluZGV4IDUyZDI1MzY0ODIwMzJmMmIx
MzU2YzM3YzhkYWM5OWM1YjViM2EyNDkuLjBlZjBmNTJiNWI0NjFmNjljZDg5NTQ5ZjQ0MTc3OWMw
ZWFiNzMwMWYgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUu
aAorKysgYi9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKQEAgLTQ0LDYgKzQ0
LDcgQEAgc3RydWN0IFdlYlByZWZlcmVuY2VzU3RvcmUgewogICAgICAgICBlbmNvZGVyLmVuY29k
ZShqYXZhU2NyaXB0RW5hYmxlZCk7CiAgICAgICAgIGVuY29kZXIuZW5jb2RlKGxvYWRzSW1hZ2Vz
QXV0b21hdGljYWxseSk7CiAgICAgICAgIGVuY29kZXIuZW5jb2RlKHBsdWdpbnNFbmFibGVkKTsK
KyAgICAgICAgZW5jb2Rlci5lbmNvZGUob2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVk
KTsKICAgICAgICAgZW5jb2Rlci5lbmNvZGUobWluaW11bUZvbnRTaXplKTsKICAgICAgICAgZW5j
b2Rlci5lbmNvZGUobWluaW11bUxvZ2ljYWxGb250U2l6ZSk7CiAgICAgICAgIGVuY29kZXIuZW5j
b2RlKGRlZmF1bHRGb250U2l6ZSk7CkBAIC02NCw2ICs2NSw4IEBAIHN0cnVjdCBXZWJQcmVmZXJl
bmNlc1N0b3JlIHsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShzLnBsdWdpbnNFbmFibGVkKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzLm9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hl
RW5hYmxlZCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocy5taW5pbXVtRm9udFNpemUpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHMubWluaW11bUxvZ2ljYWxGb250U2l6ZSkpCkBA
IC05MCw3ICs5Myw4IEBAIHN0cnVjdCBXZWJQcmVmZXJlbmNlc1N0b3JlIHsKICAgICBib29sIGph
dmFTY3JpcHRFbmFibGVkOwogICAgIGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5OwogICAg
IGJvb2wgcGx1Z2luc0VuYWJsZWQ7Ci0gICAgCisgICAgYm9vbCBvZmZsaW5lV2ViQXBwbGljYXRp
b25DYWNoZUVuYWJsZWQ7CisKICAgICB1aW50MzJfdCBtaW5pbXVtRm9udFNpemU7CiAgICAgdWlu
dDMyX3QgbWluaW11bUxvZ2ljYWxGb250U2l6ZTsKICAgICB1aW50MzJfdCBkZWZhdWx0Rm9udFNp
emU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNw
cCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDZlZWI0
ZDUxM2RhOTVlOTc1YzI2MjA3NTljZDJhMDUzOTAzN2JjNDYuLjIyMjhmZjg5Y2RiZmRjMjVkOWI1
NzBkZTlmOWQ5OWEyZGY4YjEyOGIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXMuY3BwCkBAIC02NCw2ICs2NCwxNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRMb2Fkc0lt
YWdlc0F1dG9tYXRpY2FsbHkoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKICAgICBy
ZXR1cm4gdG9XSyhwcmVmZXJlbmNlc1JlZiktPmxvYWRzSW1hZ2VzQXV0b21hdGljYWxseSgpOwog
fQogCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBvZmZsaW5lV2ViQXBwbGlj
YXRpb25DYWNoZUVuYWJsZWQpCit7CisgICAgdG9XSyhwcmVmZXJlbmNlc1JlZiktPnNldE9mZmxp
bmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZChvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVu
YWJsZWQpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRPZmZsaW5lV2ViQXBwbGljYXRpb25D
YWNoZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1
cm4gdG9XSyhwcmVmZXJlbmNlc1JlZiktPm9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxl
ZCgpOworfQorCiBXS1ByZWZlcmVuY2VzUmVmIFdLUHJlZmVyZW5jZXNSZXRhaW4oV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKIHsKICAgICB0b1dLKHByZWZlcmVuY2VzUmVmKS0+cmVm
KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmgg
Yi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmgKaW5kZXggY2RjNDA4NmI4
OWY5NzQyNWU0ODk3NmFiNTRhZjc5NmRkOWRkNGYxNy4uZjg2MTU0MjIxMjc2NzI1ZmZmODJjZTk2
MTg4MzZiNjlmNTQwM2FjYyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMu
aApAQCAtNDMsNiArNDMsOCBAQCBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0SmF2YVNj
cmlwdEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcywgYgogV0tfRVhQT1JUIGJv
b2wgV0tQcmVmZXJlbmNlc0dldEphdmFTY3JpcHRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXMpOwogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldExvYWRzSW1hZ2VzQXV0
b21hdGljYWxseShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzLCBib29sIGxvYWRzSW1hZ2Vz
QXV0b21hdGljYWxseSk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TG9hZHNJbWFn
ZXNBdXRvbWF0aWNhbGx5KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMpOworV0tfRVhQT1JU
IHZvaWQgV0tQcmVmZXJlbmNlc1NldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZChX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzLCBib29sIG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNh
Y2hlRW5hYmxlZCk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0T2ZmbGluZVdlYkFw
cGxpY2F0aW9uQ2FjaGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMpOwogCiBX
S19FWFBPUlQgV0tQcmVmZXJlbmNlc1JlZiBXS1ByZWZlcmVuY2VzUmV0YWluKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXMpOwogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1JlbGVhc2Uo
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJDb250ZXh0LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKaW5kZXgg
MDhiNDZmMGJlNTQwN2Q0YmY1NjAzMDBmYTI1NGQ3YTcyMTI3Yzk1Yi4uMThlODUyMjc4NzFiMTMy
ZmM2OTM4OWViODNhMzA5ODY0ZDM2M2Q0OSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29udGV4dC5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaApAQCAtODQs
MTIgKzg0LDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFkZGl0aW9uYWxQbHVnaW5QYXRoKGNv
bnN0IFdlYkNvcmU6OlN0cmluZyYpOwogCiAgICAgUGx1Z2luSW5mb1N0b3JlKiBwbHVnaW5JbmZv
U3RvcmUoKSB7IHJldHVybiAmbV9wbHVnaW5JbmZvU3RvcmU7IH0KKyAgICBXZWJDb3JlOjpTdHJp
bmcgYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpOwogCiBwcml2YXRlOgogICAgIFdlYkNvbnRl
eHQoUHJvY2Vzc01vZGVsLCBjb25zdCBXZWJDb3JlOjpTdHJpbmcmIGluamVjdGVkQnVuZGxlUGF0
aCk7CiAKICAgICB2b2lkIGVuc3VyZVdlYlByb2Nlc3MoKTsKIAorCiAgICAgUHJvY2Vzc01vZGVs
IG1fcHJvY2Vzc01vZGVsOwogICAgIAogICAgIC8vIEZJWE1FOiBJbiB0aGUgZnV0dXJlLCB0aGlz
IHNob3VsZCBiZSBvbmUgb3IgbW9yZSBXZWJQcm9jZXNzUHJveGllcy4KZGlmZiAtLWdpdCBhL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlByZWZlcmVuY2VzLmNwcAppbmRleCA2MTI4NDljNTY0YzYwZTA1ZDg2YjYyNDViMWRhMTBiMGEw
NjFjODRjLi41ZDdkYzBmMzU4NzI5MGQ4YjU4MGJkNGJjODdiYmI4ZDZhNjRkZTI3IDEwMDY0NAot
LS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC04Niw0ICs4NiwxNSBAQCBib29sIFdlYlBy
ZWZlcmVuY2VzOjpsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoKSBjb25zdAogICAgIHJldHVybiBt
X3N0b3JlLmxvYWRzSW1hZ2VzQXV0b21hdGljYWxseTsKIH0KIAordm9pZCBXZWJQcmVmZXJlbmNl
czo6c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKGJvb2wgYikKK3sKKyAgICBt
X3N0b3JlLm9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCA9IGI7CisgICAgdXBkYXRl
KCk7Cit9CisgICAgCitib29sIFdlYlByZWZlcmVuY2VzOjpvZmZsaW5lV2ViQXBwbGljYXRpb25D
YWNoZUVuYWJsZWQoKSBjb25zdAoreworICAgIHJldHVybiBtX3N0b3JlLm9mZmxpbmVXZWJBcHBs
aWNhdGlvbkNhY2hlRW5hYmxlZDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oIGIvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUHJlZmVyZW5jZXMuaAppbmRleCBmNmQxMTYzYWJmOWZjZGNiMDRlYzhlYmM5Y2IwOTQy
ODk5YWFjYTVhLi44OWVkMTFiNzJmNGJlYWE4NDQ0ODNhYmE2ZWUyYzU5NjNhYzNlNTc4IDEwMDY0
NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oCisrKyBiL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKQEAgLTYxLDYgKzYxLDkgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGJvb2wpOwogICAgIGJvb2wgbG9hZHNJ
bWFnZXNBdXRvbWF0aWNhbGx5KCkgY29uc3Q7CiAKKyAgICB2b2lkIHNldE9mZmxpbmVXZWJBcHBs
aWNhdGlvbkNhY2hlRW5hYmxlZChib29sKTsKKyAgICBib29sIG9mZmxpbmVXZWJBcHBsaWNhdGlv
bkNhY2hlRW5hYmxlZCgpIGNvbnN0OworCiBwcml2YXRlOgogICAgIFdlYlByZWZlcmVuY2VzKCk7
CiAgICAgV2ViUHJlZmVyZW5jZXMoV2ViUHJlZmVyZW5jZXMqKTsKZGlmZiAtLWdpdCBhL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuY3BwCmluZGV4IDkxMDFmN2JmZTRiODBkZTY0NDJjNzk3NzMxZmQ4MWUxYjQ2
ZDdlNzQuLjYxYzljY2FlNjVmNmU1ZWExMWM2NmM5NjkwMDA2N2YzNGIyNDVhY2EgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysrIGIvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApAQCAtNTgsNiArNTgsMTAgQEAgV2ViUHJvY2Vz
c1Byb3h5OjpXZWJQcm9jZXNzUHJveHkoV2ViQ29udGV4dCogY29udGV4dCkKIHsKICAgICBjb25u
ZWN0KCk7CiAKKyAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiBzZW5kaW5nIHRocmVlIHNlcGFyYXRl
IGluaXRpYWxpemF0aW9uIHJlbGF0ZWQgbWVzc2FnZXMgaGVyZSwgd2Ugc2hvdWxkIGp1c3Qgc2Vu
ZCBhCisgICAgLy8gc2luZ2xlICJJbml0aWFsaXplIiBtZXNzYWdlcyB3aXRoIGEgc3RydWN0IHRo
YXQgaGFzIGFsbCB0aGUgbmVlZGVkIGluZm9ybWF0aW9uLgorICAgIHNlbmQoV2ViUHJvY2Vzc01l
c3NhZ2U6OlNldEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnksIDAsIENvcmVJUEM6OkluKG1fY29u
dGV4dC0+YXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpKSk7CisKICAgICAvLyBGSVhNRTogV2Ug
Y291bGQgaW5zdGVhZCBzZW5kIHRoZSBidW5kbGUgcGF0aCBhcyBwYXJ0IG9mIHRoZSBhcmd1bWVu
dHMgdG8gcHJvY2VzcyBjcmVhdGlvbj8KICAgICAvLyBXb3VsZCB0aGF0IGJlIGJldHRlciB0aGFu
IHNlbmRpbmcgYSBjb25uZWN0aW9uPwogICAgIGlmICghY29udGV4dC0+aW5qZWN0ZWRCdW5kbGVQ
YXRoKCkuaXNFbXB0eSgpKQpAQCAtNjYsNiArNzAsNyBAQCBXZWJQcm9jZXNzUHJveHk6OldlYlBy
b2Nlc3NQcm94eShXZWJDb250ZXh0KiBjb250ZXh0KQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKICAgICBzZXRVcEFjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKTsKICNlbmRpZgorCiB9
CiAKIFdlYlByb2Nlc3NQcm94eTo6fldlYlByb2Nlc3NQcm94eSgpCmRpZmYgLS1naXQgYS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1hYy5tbSBiL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9XZWJDb250ZXh0TWFjLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjNWJkZDY3NTk0ZGMxOWUwNWQzNDg3ZDQy
NWQxNzM4Y2VhNWM5Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
V2ViQ29udGV4dE1hYy5tbQpAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
IldlYkNvbnRleHQuaCIKKworI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorCit1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKKworTlNTdHJpbmcgKldlYktpdExvY2FsQ2FjaGVEZWZhdWx0c0tleSA9IEAi
V2ViS2l0TG9jYWxDYWNoZSI7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitTdHJpbmcgV2ViQ29u
dGV4dDo6YXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpCit7CisgICAgTlNTdHJpbmcgKmFwcE5h
bWUgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdOworICAgIGlmICgh
YXBwTmFtZSkKKyAgICAgICAgYXBwTmFtZSA9IFtbTlNQcm9jZXNzSW5mbyBwcm9jZXNzSW5mb10g
cHJvY2Vzc05hbWVdOworICAgIAorICAgIEFTU0VSVChhcHBOYW1lKTsKKyAgICAKKyAgICBOU1Vz
ZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVs
dHNdOworICAgIE5TU3RyaW5nICpjYWNoZURpciA9IFtkZWZhdWx0cyBvYmplY3RGb3JLZXk6V2Vi
S2l0TG9jYWxDYWNoZURlZmF1bHRzS2V5XTsKKworICAgIGlmICghY2FjaGVEaXIgfHwgIVtjYWNo
ZURpciBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKSB7CisjaWZkZWYgQlVJTERJTkdf
T05fVElHRVIKKyAgICAgICAgY2FjaGVEaXIgPSBbTlNIb21lRGlyZWN0b3J5KCkgc3RyaW5nQnlB
cHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiTGlicmFyeS9DYWNoZXMiXTsKKyNlbHNlCisgICAgICAg
IGNoYXIgY2FjaGVEaXJlY3RvcnlbTUFYUEFUSExFTl07CisgICAgICAgIHNpemVfdCBjYWNoZURp
cmVjdG9yeUxlbiA9IGNvbmZzdHIoX0NTX0RBUldJTl9VU0VSX0NBQ0hFX0RJUiwgY2FjaGVEaXJl
Y3RvcnksIE1BWFBBVEhMRU4pOworICAgIAorICAgICAgICBpZiAoY2FjaGVEaXJlY3RvcnlMZW4p
CisgICAgICAgICAgICBjYWNoZURpciA9IFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0g
c3RyaW5nV2l0aEZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbjpjYWNoZURpcmVjdG9yeSBsZW5ndGg6
Y2FjaGVEaXJlY3RvcnlMZW4gLSAxXTsKKyNlbmRpZgorICAgIH0KKworICAgIHJldHVybiBbY2Fj
aGVEaXIgc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OmFwcE5hbWVdOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKKwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dl
YkNvbnRleHRXaW4uY3BwIGIvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYkNvbnRleHRXaW4uY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNiODNmYjA1NTkzOTEwZGZmOWYwNTg1MmMxNGJlYzM5ZWMxZjFhNWYKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViQ29udGV4dFdpbi5jcHAK
QEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJXZWJDb250ZXh0LmgiCisK
KyNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitTdHJpbmcgV2ViQ29udGV4dDo6YXBwbGljYXRp
b25DYWNoZURpcmVjdG9yeSgpCit7CisgICAgcmV0dXJuIGxvY2FsVXNlclNwZWNpZmljU3RvcmFn
ZURpcmVjdG9yeSgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzNDE4NzBlZGI5YmIyMDJlMjQwODg5
ODVlYWJmYjcwZTdkNjU1NmM0Li5mZTYzNDRmYTg3OTk1YjhmYjE2OTA4ODM4YmE5M2M1NTk5NmJi
NTFmIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzIs
NiArMzIsNyBAQAogCQkwRjUyNjY3NDExREQ0QTQ5MDAwNkQzM0MgLyogV2ViUHJvY2Vzc1Byb3h5
TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1
MjY2NzMxMURENEE0OTAwMDZEMzNDIC8qIFdlYlByb2Nlc3NQcm94eU1hYy5tbSAqLzsgfTsKIAkJ
MUExMDQ3NUExMTBBNUFENTAwQTQzRUNEIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQTFDN0RFMTAw
RTg0NkUwMDc4REVCQyAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi87IH07CiAJCTFBMUM0
RUM4MTBEMDYwOTkwMDVFNjdFNyAvKiBXZWJDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQTFDNzlBMTAwRTdGQzUwMDc4REVC
QyAvKiBXZWJDb3JlLmZyYW1ld29yayAqLzsgfTsKKwkJMUExQzY0OUIxMUY0MTc0MjAwNTUzQzE5
IC8qIFdlYkNvbnRleHRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTFDNjQ4NjExRjQxNUI3MDA1NTNDMTkgLyogV2ViQ29udGV4dE1hYy5tbSAq
LzsgfTsKIAkJMUEyMTYxQjAxMUYzNzY2NDAwOEFEMEY1IC8qIE5QSlNPYmplY3RNYXAuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjE2MUFFMTFGMzc2
NjQwMDhBRDBGNSAvKiBOUEpTT2JqZWN0TWFwLmggKi87IH07CiAJCTFBMjE2MUIxMTFGMzc2NjQw
MDhBRDBGNSAvKiBOUEpTT2JqZWN0TWFwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjE2MUFGMTFGMzc2NjQwMDhBRDBGNSAvKiBOUEpTT2JqZWN0
TWFwLmNwcCAqLzsgfTsKIAkJMUEyMTYyQjAxMUYzODk3MTAwOEFEMEY1IC8qIE5QUnVudGltZVV0
aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTIxNjJBRTExRjM4OTcxMDA4QUQwRjUgLyogTlBSdW50aW1lVXRpbGl0aWVzLmNwcCAqLzsg
fTsKQEAgLTMwMSw2ICszMDIsNyBAQAogCQkwRjUyNjVCQjExREQzNzg2MDAwNkQzM0MgLyogTGF5
ZXJCYWNrZWREcmF3aW5nQXJlYVByb3h5TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gTGF5ZXJCYWNrZWREcmF3aW5nQXJlYVByb3h5TWFjLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwRjUyNjY3MzExREQ0QTQ5MDAwNkQzM0MgLyogV2ViUHJv
Y2Vzc1Byb3h5TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
V2ViUHJvY2Vzc1Byb3h5TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxMDU4
QzdCMUZFQTU1ODVFMTFDQTJDQkIgLyogQ29jb2EuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUg
PSBDb2NvYS5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db2Nv
YS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CisJCTFBMUM2NDg2MTFG
NDE1QjcwMDU1M0MxOSAvKiBXZWJDb250ZXh0TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gV2ViQ29udGV4dE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUEyMTYxQUUxMUYzNzY2NDAwOEFEMEY1IC8qIE5QSlNPYmplY3RNYXAuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlBKU09iamVjdE1hcC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQTIxNjFBRjExRjM3NjY0MDA4QUQwRjUgLyogTlBKU09iamVj
dE1hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOUEpTT2JqZWN0
TWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyMTYyQUUxMUYzODk3MTAw
OEFEMEY1IC8qIE5QUnVudGltZVV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBOUFJ1bnRpbWVVdGlsaXRpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTEyMSw2ICsxMTIzLDcgQEAKIAkJCQlCQzI2NTFGNTExODI1RUY4MDAyNDNF
MTIgLyogQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHlNYWMubW0gKi8sCiAJCQkJMEY1MjY1
QkIxMUREMzc4NjAwMDZEMzNDIC8qIExheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eU1hYy5tbSAq
LywKIAkJCQkwRjUyNjY3MzExREQ0QTQ5MDAwNkQzM0MgLyogV2ViUHJvY2Vzc1Byb3h5TWFjLm1t
ICovLAorCQkJCTFBMUM2NDg2MTFGNDE1QjcwMDU1M0MxOSAvKiBXZWJDb250ZXh0TWFjLm1tICov
LAogCQkJKTsKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAt
MTQ0MCw2ICsxNDQzLDcgQEAKIAkJCQlCQzAwOTJGODExNTgzN0EzMDBFMEFFMkEgLyogV29ya1F1
ZXVlTWFjLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMjE2MUIxMTFGMzc2NjQwMDhBRDBGNSAv
KiBOUEpTT2JqZWN0TWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMjE2MkIwMTFGMzg5NzEw
MDhBRDBGNSAvKiBOUFJ1bnRpbWVVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUEx
QzY0OUIxMUY0MTc0MjAwNTUzQzE5IC8qIFdlYkNvbnRleHRNYWMubW0gaW4gU291cmNlcyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMGFjZTJhMjNiMDlhODBh
MjI0NWJhN2NjNTQ0ZGZkYmMxYzQ5Yzk4OC4uZTI2MGY1ZDc3ZmMyZTcwNmE0YjJhMGMxZjYwMDEz
Y2Y2ZWI5ZDE0ZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMy
Nyw2ICszMjcsNyBAQCB2b2lkIFdlYlBhZ2U6OnByZWZlcmVuY2VzRGlkQ2hhbmdlKGNvbnN0IFdl
YlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogewogICAgIG1fcGFnZS0+c2V0dGluZ3MoKS0+c2V0
SmF2YVNjcmlwdEVuYWJsZWQoc3RvcmUuamF2YVNjcmlwdEVuYWJsZWQpOwogICAgIG1fcGFnZS0+
c2V0dGluZ3MoKS0+c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KHN0b3JlLmxvYWRzSW1hZ2Vz
QXV0b21hdGljYWxseSk7CisgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5zZXRPZmZsaW5lV2ViQXBw
bGljYXRpb25DYWNoZUVuYWJsZWQoc3RvcmUub2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFi
bGVkKTsKIH0KIAogYm9vbCBXZWJQYWdlOjpoYW5kbGVFZGl0aW5nS2V5Ym9hcmRFdmVudChLZXli
b2FyZEV2ZW50KiBldnQpCkBAIC0zNzQsNyArMzc1LDcgQEAgdm9pZCBXZWJQYWdlOjpkaWRSZWNl
aXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNz
YWcKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAKICAgICAgICAgICAgIHNldEFj
dGl2ZShhY3RpdmUpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KICAgICAgICAgY2FzZSBXZWJQYWdlTWVzc2FnZTo6U2V0Rm9jdXNlZDogewogICAg
ICAgICAgICAgYm9vbCBmb2N1c2VkOwpAQCAtMzgyLDcgKzM4Myw3IEBAIHZvaWQgV2ViUGFnZTo6
ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQ
Qzo6TWVzc2FnCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgCiAgICAgICAg
ICAgICBzZXRGb2N1c2VkKGZvY3VzZWQpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBXZWJQYWdlTWVzc2FnZTo6U2V0SXNJ
bldpbmRvdzogewogICAgICAgICAgICAgYm9vbCBpc0luV2luZG93OwpAQCAtMzkwLDcgKzM5MSw3
IEBAIHZvaWQgV2ViUGFnZTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiog
Y29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICAgICAgCiAgICAgICAgICAgICBzZXRJc0luV2luZG93KGlzSW5XaW5kb3cpOwotICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgY2Fz
ZSBXZWJQYWdlTWVzc2FnZTo6TW91c2VFdmVudDogewogICAgICAgICAgICAgV2ViTW91c2VFdmVu
dCBldmVudDsKQEAgLTM5OSw3ICs0MDAsMTUgQEAgdm9pZCBXZWJQYWdlOjpkaWRSZWNlaXZlTWVz
c2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWcKICAg
ICAgICAgICAgIGNvbm5lY3Rpb24tPnNlbmQoV2ViUGFnZVByb3h5TWVzc2FnZTo6RGlkUmVjZWl2
ZUV2ZW50LCBtX3BhZ2VJRCwgQ29yZUlQQzo6SW4oKHVpbnQzMl90KWV2ZW50LnR5cGUoKSkpOwog
ICAgICAgICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50IHBsYXRmb3JtRXZlbnQgPSBwbGF0Zm9ybShl
dmVudCk7CiAgICAgICAgICAgICBtb3VzZUV2ZW50KHBsYXRmb3JtRXZlbnQpOwotICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBX
ZWJQYWdlTWVzc2FnZTo6UHJlZmVyZW5jZXNEaWRDaGFuZ2U6IHsKKyAgICAgICAgICAgIFdlYlBy
ZWZlcmVuY2VzU3RvcmUgc3RvcmU7CisgICAgICAgICAgICBpZiAoIWFyZ3VtZW50cy5kZWNvZGUo
c3RvcmUpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIAorICAgICAgICAg
ICAgcHJlZmVyZW5jZXNEaWRDaGFuZ2Uoc3RvcmUpOworICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAgICAgICAgIGNhc2UgV2ViUGFnZU1lc3NhZ2U6OldoZWVsRXZlbnQ6IHsKICAgICAg
ICAgICAgIFdlYldoZWVsRXZlbnQgZXZlbnQ7CkBAIC00MDgsNyArNDE3LDcgQEAgdm9pZCBXZWJQ
YWdlOjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBD
b3JlSVBDOjpNZXNzYWcKICAgICAgICAgICAgIGNvbm5lY3Rpb24tPnNlbmQoV2ViUGFnZVByb3h5
TWVzc2FnZTo6RGlkUmVjZWl2ZUV2ZW50LCBtX3BhZ2VJRCwgQ29yZUlQQzo6SW4oKHVpbnQzMl90
KWV2ZW50LnR5cGUoKSkpOwogICAgICAgICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50IHBsYXRmb3Jt
RXZlbnQgPSBwbGF0Zm9ybShldmVudCk7CiAgICAgICAgICAgICB3aGVlbEV2ZW50KHBsYXRmb3Jt
RXZlbnQpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KICAgICAgICAgY2FzZSBXZWJQYWdlTWVzc2FnZTo6S2V5RXZlbnQ6IHsKICAgICAgICAgICAg
IFdlYktleWJvYXJkRXZlbnQgZXZlbnQ7CkBAIC00MTcsNyArNDI2LDcgQEAgdm9pZCBXZWJQYWdl
OjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3Jl
SVBDOjpNZXNzYWcKICAgICAgICAgICAgIGNvbm5lY3Rpb24tPnNlbmQoV2ViUGFnZVByb3h5TWVz
c2FnZTo6RGlkUmVjZWl2ZUV2ZW50LCBtX3BhZ2VJRCwgQ29yZUlQQzo6SW4oKHVpbnQzMl90KWV2
ZW50LnR5cGUoKSkpOwogICAgICAgICAgICAgUGxhdGZvcm1LZXlib2FyZEV2ZW50IHBsYXRmb3Jt
RXZlbnQgPSBwbGF0Zm9ybShldmVudCk7CiAgICAgICAgICAgICBrZXlFdmVudChwbGF0Zm9ybUV2
ZW50KTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAgICAgICAgIGNhc2UgV2ViUGFnZU1lc3NhZ2U6OkxvYWRVUkw6IHsKICAgICAgICAgICAgIFN0
cmluZyB1cmw7CkBAIC00MjUsNyArNDM0LDcgQEAgdm9pZCBXZWJQYWdlOjpkaWRSZWNlaXZlTWVz
c2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWcKICAg
ICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGxvYWRVUkwo
dXJsKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAgICAgICAgIGNhc2UgV2ViUGFnZU1lc3NhZ2U6OlN0b3BMb2FkaW5nOgogICAgICAgICAgICAg
c3RvcExvYWRpbmcoKTsKQEAgLTQzNiwyOCArNDQ1LDI4IEBAIHZvaWQgV2ViUGFnZTo6ZGlkUmVj
ZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVz
c2FnCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgICAgICByZWxvYWQocmVsb2Fk
RnJvbU9yaWdpbik7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogICAgICAgICBjYXNlIFdlYlBhZ2VNZXNzYWdlOjpHb0ZvcndhcmQ6IHsKICAgICAg
ICAgICAgIHVpbnQ2NF90IGJhY2tGb3J3YXJkSXRlbUlEOwogICAgICAgICAgICAgaWYgKCFhcmd1
bWVudHMuZGVjb2RlKENvcmVJUEM6Ok91dChiYWNrRm9yd2FyZEl0ZW1JRCkpKQogICAgICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgICAgIGdvRm9yd2FyZChiYWNrRm9yd2FyZEl0ZW1JRCk7
Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAg
ICAgICBjYXNlIFdlYlBhZ2VNZXNzYWdlOjpHb0JhY2s6IHsKICAgICAgICAgICAgIHVpbnQ2NF90
IGJhY2tGb3J3YXJkSXRlbUlEOwogICAgICAgICAgICAgaWYgKCFhcmd1bWVudHMuZGVjb2RlKENv
cmVJUEM6Ok91dChiYWNrRm9yd2FyZEl0ZW1JRCkpKQogICAgICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgICAgIGdvQmFjayhiYWNrRm9yd2FyZEl0ZW1JRCk7Ci0gICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgIGNhc2UgV2ViUGFnZU1l
c3NhZ2U6OkdvVG9CYWNrRm9yd2FyZEl0ZW06IHsKICAgICAgICAgICAgIHVpbnQ2NF90IGJhY2tG
b3J3YXJkSXRlbUlEOwogICAgICAgICAgICAgaWYgKCFhcmd1bWVudHMuZGVjb2RlKENvcmVJUEM6
Ok91dChiYWNrRm9yd2FyZEl0ZW1JRCkpKQogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgICAgIGdvVG9CYWNrRm9yd2FyZEl0ZW0oYmFja0ZvcndhcmRJdGVtSUQpOwotICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBX
ZWJQYWdlTWVzc2FnZTo6RGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uOiB7CiAgICAgICAgICAgICB1
aW50NjRfdCBmcmFtZUlEOwpAQCAtNDY2LDcgKzQ3NSw3IEBAIHZvaWQgV2ViUGFnZTo6ZGlkUmVj
ZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVz
c2FnCiAgICAgICAgICAgICBpZiAoIWFyZ3VtZW50cy5kZWNvZGUoQ29yZUlQQzo6T3V0KGZyYW1l
SUQsIGxpc3RlbmVySUQsIHBvbGljeUFjdGlvbikpKQogICAgICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgICAgIGRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbih3ZWJGcmFtZShmcmFtZUlEKSwg
bGlzdGVuZXJJRCwgKFdlYkNvcmU6OlBvbGljeUFjdGlvbilwb2xpY3lBY3Rpb24pOwotICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgY2Fz
ZSBXZWJQYWdlTWVzc2FnZTo6UnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lOiB7CiAgICAgICAgICAg
ICBTdHJpbmcgc2NyaXB0OwpAQCAtNDc0LDI3ICs0ODMsMjYgQEAgdm9pZCBXZWJQYWdlOjpkaWRS
ZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpN
ZXNzYWcKICAgICAgICAgICAgIGlmICghYXJndW1lbnRzLmRlY29kZShDb3JlSVBDOjpPdXQoc2Ny
aXB0LCBjYWxsYmFja0lEKSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAg
cnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lKHNjcmlwdCwgY2FsbGJhY2tJRCk7Ci0gICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBjYXNlIFdl
YlBhZ2VNZXNzYWdlOjpHZXRSZW5kZXJUcmVlRXh0ZXJuYWxSZXByZXNlbnRhdGlvbjogewogICAg
ICAgICAgICAgdWludDY0X3QgY2FsbGJhY2tJRDsKICAgICAgICAgICAgIGlmICghYXJndW1lbnRz
LmRlY29kZShjYWxsYmFja0lEKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAg
ICBnZXRSZW5kZXJUcmVlRXh0ZXJuYWxSZXByZXNlbnRhdGlvbihjYWxsYmFja0lEKTsKLSAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIGNh
c2UgV2ViUGFnZU1lc3NhZ2U6OkNsb3NlOiB7CiAgICAgICAgICAgICBjbG9zZSgpOwotICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgY2Fz
ZSBXZWJQYWdlTWVzc2FnZTo6VHJ5Q2xvc2U6IHsKICAgICAgICAgICAgIHRyeUNsb3NlKCk7Ci0g
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAg
ICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAg
ICBicmVhazsKICAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggMTdhMTA5NGQ5
ZjdlOTUyZGY4M2IyMGNkOTRkYTY1N2IwOGRlYjhiMi4uMTQyZjIwYjYxZTIxNzFhNTBhMjJkNjdi
NmUxNjllNGVhN2JjYzI5YiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMzYsNiAr
MzYsNyBAQAogI2luY2x1ZGUgIldlYlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2luY2x1ZGUgIldl
YlByZWZlcmVuY2VzU3RvcmUuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZUtpbmRzLmgi
CisjaW5jbHVkZSA8V2ViQ29yZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAKICNpZm5kZWYgTkRFQlVHCkBAIC04Nyw2ICs4OCwxMSBAQCB2
b2lkIFdlYlByb2Nlc3M6OmxvYWRJbmplY3RlZEJ1bmRsZShjb25zdCBTdHJpbmcmIHBhdGgpCiAg
ICAgfQogfQogCit2b2lkIFdlYlByb2Nlc3M6OnNldEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3Rvcnko
Y29uc3QgU3RyaW5nJiBkaXJlY3RvcnkpCit7CisgICAgY2FjaGVTdG9yYWdlKCkuc2V0Q2FjaGVE
aXJlY3RvcnkoZGlyZWN0b3J5KTsKK30KKwogdm9pZCBXZWJQcm9jZXNzOjpmb3J3YXJkTWVzc2Fn
ZVRvSW5qZWN0ZWRCdW5kbGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIGlmICghbV9p
bmplY3RlZEJ1bmRsZSkKQEAgLTE1OSw2ICsxNjUsMTQgQEAgdm9pZCBXZWJQcm9jZXNzOjpkaWRS
ZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpN
ZXMKICAgICAgICAgICAgICAgICBsb2FkSW5qZWN0ZWRCdW5kbGUocGF0aCk7CiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgY2FzZSBXZWJQcm9jZXNz
TWVzc2FnZTo6U2V0QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeTogeworICAgICAgICAgICAgICAg
IFN0cmluZyBkaXJlY3Rvcnk7CisgICAgICAgICAgICAgICAgaWYgKCFhcmd1bWVudHMtPmRlY29k
ZShDb3JlSVBDOjpPdXQoZGlyZWN0b3J5KSkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBzZXRBcHBsaWNhdGlvbkNhY2hlRGly
ZWN0b3J5KGRpcmVjdG9yeSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
fQogICAgICAgICAgICAgY2FzZSBXZWJQcm9jZXNzTWVzc2FnZTo6Q3JlYXRlOiB7CiAgICAgICAg
ICAgICAgICAgdWludDY0X3QgcGFnZUlEID0gYXJndW1lbnRzLT5kZXN0aW5hdGlvbklEKCk7CiAg
ICAgICAgICAgICAgICAgSW50U2l6ZSB2aWV3U2l6ZTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmlu
ZGV4IDg1MmQwOWE5MTk0ZDRlMDk0M2MzYWJlNzI3OTVmY2NiNTk1MTc5ZWUuLmNiNTQ2MjVkZDEx
MmZlMjJmYzEwMjg0NDQ5MDY5NzVlZWQ2ODM1YzggMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApA
QCAtNjcsNiArNjcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2h1dGRvd24oKTsKIAogICAgIHZv
aWQgbG9hZEluamVjdGVkQnVuZGxlKGNvbnN0IFdlYkNvcmU6OlN0cmluZyYpOworICAgIHZvaWQg
c2V0QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeShjb25zdCBXZWJDb3JlOjpTdHJpbmcmKTsKICAg
ICB2b2lkIGZvcndhcmRNZXNzYWdlVG9JbmplY3RlZEJ1bmRsZShjb25zdCBXZWJDb3JlOjpTdHJp
bmcmKTsKIAogICAgIC8vIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaWVudApkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogYi9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagpp
bmRleCBhODZjNWY2OWEwNTA5NjAwNGM0OGEyZmQ1ZjkzZmYxOGU5NTcxM2MwLi40NGJmYzc5ZGVk
NjM1ZTU0MzBkMjY0ZjU4ZmNjOTFhNmRmYTMzNWNiIDEwMDc1NQotLS0gYS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLnZjcHJvagorKysgYi9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagpAQCAtMTE5Myw2
ICsxMTkzLDEwIEBACiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KKwkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxVSVByb2Nlc3Ncd2luXFdlYkNvbnRleHRXaW4uY3BwIg0KKwkJCQkJPg0K
KwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vz
c1x3aW5cV2ViVmlldy5jcHAiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggZTc2MzNm
OTkyOThjYjU3ZTczNDVmMjFmNTQzZGU5ZWMxNGQxMmZhOC4uNGZhOWM0Njk2NDE3YzEwNjZjYzRi
NWIyNjQxNWJhMzRlMGQxZjg4MSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEwLTA3LTE5ICBB
bmRlcnMgY2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0MiBkb2VzIG5vdCBoYXZlIGFwcGxp
Y2F0aW9uIGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00MjU1MgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5j
cHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpyZXNldFByZWZlcmVuY2VzVG9Db25z
aXN0ZW50VmFsdWVzKToKKyAgICAgICAgU2V0IHVwIGRlZmF1bHQgcHJlZmVyZW5jZXMuIFJpZ2h0
IG5vdyBqdXN0IGVuYWJsZXMgdGhlIHdlYiBhcHBsaWNhdGlvbiBjYWNoZS4KKworICAgICAgICAo
V1RSOjpUZXN0SW52b2NhdGlvbjo6aW52b2tlKToKKyAgICAgICAgQ2FsbCByZXNldFByZWZlcmVu
Y2VzVG9Db25zaXN0ZW50VmFsdWVzLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5oOgorCiAyMDEwLTA3LTE4ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwIGIvV2Vi
S2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKaW5kZXggZTRlNGRj
NjE0ZDhlYjI5ZmNjODJkODc5YzhjYWFmMmE5YWVmZjZkMC4uMTQzNGQ1MDgxNjFkNTQ5NTUxNTlj
N2FmYjkwNDgzZmEyMmExMGJmYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0SW52b2NhdGlvbi5jcHAKQEAgLTk2LDkgKzk2LDE4IEBAIHN0YXRpYyB2b2lkIHNpemVX
ZWJWaWV3Rm9yQ3VycmVudFRlc3QoY2hhciogcGF0aE9yVVJMKQogICAgICAgICBUZXN0Q29udHJv
bGxlcjo6c2hhcmVkKCkubWFpbldlYlZpZXcoKS0+cmVzaXplVG8obm9ybWFsV2lkdGgsIG5vcm1h
bEhlaWdodCk7CiB9CiAKK3ZvaWQgVGVzdEludm9jYXRpb246OnJlc2V0UHJlZmVyZW5jZXNUb0Nv
bnNpc3RlbnRWYWx1ZXMoKQoreworICAgIFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMgPSBX
S0NvbnRleHRHZXRQcmVmZXJlbmNlcyhUZXN0Q29udHJvbGxlcjo6c2hhcmVkKCkuY29udGV4dCgp
KTsKKyAgICAKKyAgICBXS1ByZWZlcmVuY2VzU2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVF
bmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKK30KKwogdm9pZCBUZXN0SW52b2NhdGlvbjo6aW52
b2tlKCkKIHsKICAgICBzaXplV2ViVmlld0ZvckN1cnJlbnRUZXN0KG1fcGF0aE9yVVJMKTsKKyAg
ICByZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKCk7CisKICAgICBXS1JldGFpblB0
cjxXS1N0cmluZ1JlZj4gbWVzc2FnZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhDRlN0cmlu
ZyhDRlNUUigiQmVnaW5UZXN0IikpKTsKICAgICBXS0NvbnRleHRQb3N0TWVzc2FnZVRvSW5qZWN0
ZWRCdW5kbGUoVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLmNvbnRleHQoKSwgbWVzc2FnZS5nZXQo
KSk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9j
YXRpb24uaCBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaApp
bmRleCBlYTFlODQwNjI2OTkzODQ1NmFjZTFmNjI2MTViZDU5ODk3NGFkZGEyLi5iNWZjMDQxYTQ0
YjNiYTdjMzQwZGY4NmNlNDU2ZTg4ZDU4NzAxN2Q1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCkBAIC00Miw2ICs0Miw4IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgdm9pZCBkdW1wKGNvbnN0IGNoYXIqKTsKIAorICAgIHZvaWQgcmVzZXRQcmVm
ZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcygpOworCiAgICAgLy8gSGVscGVyCiAgICAgc3RhdGlj
IHZvaWQgcnVuVW50aWwoYm9vbCYgZG9uZSk7CiAK
</data>
<flag name="review"
          id="50061"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>