<?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>145711</bug_id>
          
          <creation_ts>2015-06-05 13:48:10 -0700</creation_ts>
          <short_desc>Make the network cache directory part of WKContextConfigurationRef</short_desc>
          <delta_ts>2015-06-07 22:41:23 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          <blocked>145724</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1099929</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-05 13:48:10 -0700</bug_when>
    <thetext>Make the network cache directory part of WKContextConfigurationRef</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099930</commentid>
    <comment_count>1</comment_count>
      <attachid>254379</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-05 13:51:19 -0700</bug_when>
    <thetext>Created attachment 254379
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099952</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-05 14:31:53 -0700</bug_when>
    <thetext>Committed r185262: &lt;http://trac.webkit.org/changeset/185262&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100171</commentid>
    <comment_count>3</comment_count>
      <attachid>254379</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-06-07 03:00:49 -0700</bug_when>
    <thetext>Comment on attachment 254379
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=254379&amp;action=review

&gt; Source/WebKit2/UIProcess/WebProcessPool.cpp:170
&gt; +    , m_diskCacheDirectory(configuration.diskCacheDirectory())

Why do we need to keep this member? WebProcessPool saves the configuration, why not using m_configuration-&gt;diskCacheDirectory() directly when needed? This would also allow us to override the disk cache before the network process is spawned. We need it because we have an API method to set the disk cache, that is now broken. I can deprecate it in favor of a construct-only property of our WebContext, but while the method is deprecated it should at least work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100231</commentid>
    <comment_count>4</comment_count>
      <attachid>254379</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-07 15:39:39 -0700</bug_when>
    <thetext>Comment on attachment 254379
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=254379&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/WebProcessPool.cpp:170
&gt;&gt; +    , m_diskCacheDirectory(configuration.diskCacheDirectory())
&gt; 
&gt; Why do we need to keep this member? WebProcessPool saves the configuration, why not using m_configuration-&gt;diskCacheDirectory() directly when needed? This would also allow us to override the disk cache before the network process is spawned. We need it because we have an API method to set the disk cache, that is now broken. I can deprecate it in favor of a construct-only property of our WebContext, but while the method is deprecated it should at least work.

That won&apos;t work anyway because we copy the passed in configuration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100307</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-06-07 22:41:23 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 254379 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=254379&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/WebProcessPool.cpp:170
&gt; &gt;&gt; +    , m_diskCacheDirectory(configuration.diskCacheDirectory())
&gt; &gt; 
&gt; &gt; Why do we need to keep this member? WebProcessPool saves the configuration, why not using m_configuration-&gt;diskCacheDirectory() directly when needed? This would also allow us to override the disk cache before the network process is spawned. We need it because we have an API method to set the disk cache, that is now broken. I can deprecate it in favor of a construct-only property of our WebContext, but while the method is deprecated it should at least work.
&gt; 
&gt; That won&apos;t work anyway because we copy the passed in configuration.

Yes, and we have a method that returns a reference to the copied config, so we can change that, see patch in bug #145735.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254379</attachid>
            <date>2015-06-05 13:51:19 -0700</date>
            <delta_ts>2015-06-05 14:01:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145711-20150605135057.patch</filename>
            <type>text/plain</type>
            <size>18353</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWIwM2YxY2RiYWFhZjky
NWIxNjNiZGRmZmZjZTMyYzdiNGNmZGI0Zi4uNmMwZDc4ZmZmNTQ5ZGIwNGZmOWNlNGI2OWU2MWUx
OTJjOGYwOTk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDE1LTA2LTA1ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgTWFrZSB0aGUgbmV0
d29yayBjYWNoZSBkaXJlY3RvcnkgcGFydCBvZiBXS0NvbnRleHRDb25maWd1cmF0aW9uUmVmCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU3MTEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbHNvLCBtYWtl
IHRoZSBVSSBwcm9jZXNzIGJlIGluIGNvbnRyb2wgb2Ygd2hlcmUgd2UgcGxhY2UgdGhlIG5ldyBu
ZXR3b3JrIGNhY2hlLgorICAgICAgICBXaGVuIHVzaW5nIHRoZSBNb2Rlcm4gV2ViS2l0IEFQSSwg
cHV0IHRoZSBjYWNoZSBpbiB+L0xpYnJhcnkvQ2FjaGVzLzxCdW5kbGUgSUQ+L1dlYktpdC9OZXR3
b3JrQ2FjaGUsCisgICAgICAgIGFuZCBwdXQgdGhlIGNhY2hlIGluIH4vTGlicmFyeS9DYWNoZXMv
PEJ1bmRsZSBJRD4vV2ViS2l0Q2FjaGUgb3RoZXJ3aXNlICh0aGlzIGlzIGp1c3QgZm9yIFNhZmFy
aSkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpvcGVuKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHA6Cisg
ICAgICAgIChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6Y3JlYXRlV2l0aExlZ2FjeU9w
dGlvbnMpOgorICAgICAgICAoQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OlByb2Nlc3NQ
b29sQ29uZmlndXJhdGlvbik6CisgICAgICAgIChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlv
bjo6Y29weSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdLQ29udGV4dFNldERpc2tDYWNoZURpcmVjdG9yeSk6IERlbGV0ZWQuCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dENvbmZpZ3VyYXRpb25SZWYuY3BwOgorICAgICAgICAo
V0tDb250ZXh0Q29uZmlndXJhdGlvbkNvcHlEaXNrQ2FjaGVEaXJlY3RvcnkpOgorICAgICAgICAo
V0tDb250ZXh0Q29uZmlndXJhdGlvblNldERpc2tDYWNoZURpcmVjdG9yeSk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dENvbmZpZ3VyYXRpb25SZWYuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0
b3J5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmlzTmV0d29ya0NhY2hlRW5h
YmxlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybURlZmF1bHRE
aXNrQ2FjaGVEaXJlY3RvcnkpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmxlZ2FjeVdlYnNpdGVEYXRhU3RvcmVDb25m
aWd1cmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OldlYlByb2Nlc3NQ
b29sKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmVuc3VyZU5ldHdvcmtQcm9j
ZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmRpc2tDYWNoZURpcmVjdG9y
eSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisKKzIw
MTUtMDYtMDUgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKwogICAgICAg
ICBNYWtlIHRoZSBhcHBsaWNhdGlvbiBjYWNoZSBkaXJlY3RvcnkgcGFydCBvZiBXS0NvbnRleHRD
b25maWd1cmF0aW9uUmVmCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDU3MDQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAppbmRleCA1ZWNmZDcwZTVmNTFi
ZWU4MzBiMGFkNmI4ZGI2YWJkMmU5YTg3YTZlLi5mOWI1NjkyZTQ4OGU0YTllMDU2MjdjNTFmZTg5
MjAzMzU1MGNkNmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcApAQCAtNDEsNyArNDEsNiBAQAog
bmFtZXNwYWNlIFdlYktpdCB7CiBuYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKIAotc3RhdGljIGNv
bnN0IGNoYXIgbmV0d29ya0NhY2hlU3ViZGlyZWN0b3J5W10gPSAiV2ViS2l0Q2FjaGUiOwogc3Rh
dGljIGNvbnN0IGNoYXIgdmVyc2lvbkRpcmVjdG9yeVByZWZpeFtdID0gIlZlcnNpb24gIjsKIHN0
YXRpYyBjb25zdCBjaGFyIHJlY29yZHNEaXJlY3RvcnlOYW1lW10gPSAiUmVjb3JkcyI7CiBzdGF0
aWMgY29uc3QgY2hhciBibG9ic0RpcmVjdG9yeU5hbWVbXSA9ICJCbG9icyI7CkBAIC03OSwxMSAr
NzgsOSBAQCBzdGQ6OnVuaXF1ZV9wdHI8U3RvcmFnZT4gU3RvcmFnZTo6b3Blbihjb25zdCBTdHJp
bmcmIGNhY2hlUGF0aCkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAg
U3RyaW5nIG5ldHdvcmtDYWNoZVBhdGggPSBXZWJDb3JlOjpwYXRoQnlBcHBlbmRpbmdDb21wb25l
bnQoY2FjaGVQYXRoLCBuZXR3b3JrQ2FjaGVTdWJkaXJlY3RvcnkpOwotCi0gICAgaWYgKCFXZWJD
b3JlOjptYWtlQWxsRGlyZWN0b3JpZXMobmV0d29ya0NhY2hlUGF0aCkpCisgICAgaWYgKCFXZWJD
b3JlOjptYWtlQWxsRGlyZWN0b3JpZXMoY2FjaGVQYXRoKSkKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7Ci0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxTdG9yYWdlPihuZXcgU3RvcmFnZShuZXR3
b3JrQ2FjaGVQYXRoKSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxTdG9yYWdlPihuZXcg
U3RvcmFnZShjYWNoZVBhdGgpKTsKIH0KIAogc3RhdGljIFN0cmluZyBtYWtlVmVyc2lvbmVkRGly
ZWN0b3J5UGF0aChjb25zdCBTdHJpbmcmIGJhc2VEaXJlY3RvcnlQYXRoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24u
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24uY3BwCmluZGV4IDRlYTVkOGY1MTFkMTdlZGFmZWY3MDEzN2U4NTRiMzhiOTY2MmQ2NDku
LjQ4MjkxMmY3MzZkYzA2NzQ3M2E3YmNmYTkxYTgwMzc0NzRkOGJlNTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5jcHAKQEAgLTQ2LDYgKzQ2LDcgQEAgUmVmPFByb2Nlc3NQb29sQ29uZmlndXJhdGlv
bj4gUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpjcmVhdGVXaXRoTGVnYWN5T3B0aW9ucygKICAg
ICBjb25maWd1cmF0aW9uLT5tX2NhY2hlTW9kZWwgPSBXZWJLaXQ6OkNhY2hlTW9kZWxEb2N1bWVu
dFZpZXdlcjsKIAogICAgIGNvbmZpZ3VyYXRpb24tPm1fYXBwbGljYXRpb25DYWNoZURpcmVjdG9y
eSA9IFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0
aW9uQ2FjaGVEaXJlY3RvcnkoKTsKKyAgICBjb25maWd1cmF0aW9uLT5tX2Rpc2tDYWNoZURpcmVj
dG9yeSA9IFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE5ldHdv
cmtDYWNoZURpcmVjdG9yeSgpOwogICAgIGNvbmZpZ3VyYXRpb24tPm1faW5kZXhlZERCRGF0YWJh
c2VEaXJlY3RvcnkgPSBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1
bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpOwogICAgIGNvbmZpZ3VyYXRpb24tPm1fbG9j
YWxTdG9yYWdlRGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZv
cm1EZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCk7CiAgICAgY29uZmlndXJhdGlvbi0+bV9t
ZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5
UGxhdGZvcm1EZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpOwpAQCAtNTYsNiArNTcs
NyBAQCBSZWY8UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b246OmNyZWF0ZVdpdGhMZWdhY3lPcHRpb25zKAogCiBQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246
OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbigpCiAgICAgOiBtX2FwcGxpY2F0aW9uQ2FjaGVEaXJl
Y3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3Rvcnko
KSkKKyAgICAsIG1fZGlza0NhY2hlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRO
ZXR3b3JrQ2FjaGVEaXJlY3RvcnkoKSkKICAgICAsIG1faW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rv
cnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCkp
CiAgICAgLCBtX2xvY2FsU3RvcmFnZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0
TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCkpCiAgICAgLCBtX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5
KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeSgpKQpAQCAt
NzgsNiArODAsNyBAQCBSZWY8UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBQcm9jZXNzUG9vbENv
bmZpZ3VyYXRpb246OmNvcHkoKQogICAgIGNvcHktPm1fY2FjaGVNb2RlbCA9IHRoaXMtPm1fY2Fj
aGVNb2RlbDsKICAgICBjb3B5LT5tX2Rpc2tDYWNoZVNpemVPdmVycmlkZSA9IHRoaXMtPm1fZGlz
a0NhY2hlU2l6ZU92ZXJyaWRlOwogICAgIGNvcHktPm1fYXBwbGljYXRpb25DYWNoZURpcmVjdG9y
eSA9IHRoaXMtPm1fYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeTsKKyAgICBjb3B5LT5tX2Rpc2tD
YWNoZURpcmVjdG9yeSA9IHRoaXMtPm1fZGlza0NhY2hlRGlyZWN0b3J5OwogICAgIGNvcHktPm1f
aW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkgPSB0aGlzLT5tX2luZGV4ZWREQkRhdGFiYXNlRGly
ZWN0b3J5OwogICAgIGNvcHktPm1faW5qZWN0ZWRCdW5kbGVQYXRoID0gdGhpcy0+bV9pbmplY3Rl
ZEJ1bmRsZVBhdGg7CiAgICAgY29weS0+bV9sb2NhbFN0b3JhZ2VEaXJlY3RvcnkgPSB0aGlzLT5t
X2xvY2FsU3RvcmFnZURpcmVjdG9yeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oCmluZGV4IGE3ZTM5NDFj
ZjAwZWQ2NTUzNWUxY2E0YThlNmZjM2Y1ZjY3NzkxOWMuLmY5ZWNiMTZjNDgyMGE5YThhNzJhOTFj
MzE1ZjFkNDFlNDNjZjgwZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaApAQCAtNjYsNiArNjYsOSBA
QCBwdWJsaWM6CiAgICAgV1RGOjpTdHJpbmcgYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpIGNv
bnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeTsgfQogICAgIHZvaWQgc2V0
QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeShjb25zdCBXVEY6OlN0cmluZyYgYXBwbGljYXRpb25D
YWNoZURpcmVjdG9yeSkgeyBtX2FwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkgPSBhcHBsaWNhdGlv
bkNhY2hlRGlyZWN0b3J5OyB9CiAKKyAgICBXVEY6OlN0cmluZyBkaXNrQ2FjaGVEaXJlY3Rvcnko
KSBjb25zdCB7IHJldHVybiBtX2Rpc2tDYWNoZURpcmVjdG9yeTsgfQorICAgIHZvaWQgc2V0RGlz
a0NhY2hlRGlyZWN0b3J5KGNvbnN0IFdURjo6U3RyaW5nJiBkaXNrQ2FjaGVEaXJlY3RvcnkpIHsg
bV9kaXNrQ2FjaGVEaXJlY3RvcnkgPSBkaXNrQ2FjaGVEaXJlY3Rvcnk7IH0KKwogICAgIFdURjo6
U3RyaW5nIGluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9pbmRl
eGVkREJEYXRhYmFzZURpcmVjdG9yeTsgfQogICAgIHZvaWQgc2V0SW5kZXhlZERCRGF0YWJhc2VE
aXJlY3RvcnkoY29uc3QgV1RGOjpTdHJpbmcmIGluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KSB7
IG1faW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkgPSBpbmRleGVkREJEYXRhYmFzZURpcmVjdG9y
eTsgfQogCkBAIC05NCw2ICs5Nyw3IEBAIHByaXZhdGU6CiAgICAgaW50NjRfdCBtX2Rpc2tDYWNo
ZVNpemVPdmVycmlkZSB7IC0xIH07CiAKICAgICBXVEY6OlN0cmluZyBtX2FwcGxpY2F0aW9uQ2Fj
aGVEaXJlY3Rvcnk7CisgICAgV1RGOjpTdHJpbmcgbV9kaXNrQ2FjaGVEaXJlY3Rvcnk7CiAgICAg
V1RGOjpTdHJpbmcgbV9pbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeTsKICAgICBXVEY6OlN0cmlu
ZyBtX2luamVjdGVkQnVuZGxlUGF0aDsKICAgICBXVEY6OlN0cmluZyBtX2xvY2FsU3RvcmFnZURp
cmVjdG9yeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Nv
bnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAK
aW5kZXggNmUyNDFkNjYzN2U1MTlmZjg5Yzc2ODQxMWYyODQyZGJjNWM2ZDE4My4uZmM3MGYzOGNi
YTRmYWZiNWExMzU3MTY3NThmOTY0YmZlNjNjZTM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKQEAgLTUwNCwxMSArNTA0LDYgQEAgdm9pZCBXS0Nv
bnRleHRBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV0tDb250ZXh0UmVmIGNv
bnRleHRSZWYsIFdLQ2UKICAgICB0b0ltcGwoY29udGV4dFJlZiktPmFsbG93U3BlY2lmaWNIVFRQ
U0NlcnRpZmljYXRlRm9ySG9zdCh0b0ltcGwoY2VydGlmaWNhdGVSZWYpLCB0b0ltcGwoaG9zdFJl
ZiktPnN0cmluZygpKTsKIH0KIAotV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0RGlza0NhY2hl
RGlyZWN0b3J5KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1N0cmluZ1JlZiBkaXNrQ2FjaGVE
aXJlY3RvcnkpCi17Ci0gICAgdG9JbXBsKGNvbnRleHRSZWYpLT5zZXREaXNrQ2FjaGVEaXJlY3Rv
cnkodG9JbXBsKGRpc2tDYWNoZURpcmVjdG9yeSktPnN0cmluZygpKTsKLX0KLQogV0tfRVhQT1JU
IHZvaWQgV0tDb250ZXh0U2V0Q29va2llU3RvcmFnZURpcmVjdG9yeShXS0NvbnRleHRSZWYgY29u
dGV4dFJlZiwgV0tTdHJpbmdSZWYgY29va2llU3RvcmFnZURpcmVjdG9yeSkKIHsKICAgICB0b0lt
cGwoY29udGV4dFJlZiktPnNldENvb2tpZVN0b3JhZ2VEaXJlY3RvcnkodG9JbXBsKGNvb2tpZVN0
b3JhZ2VEaXJlY3RvcnkpLT5zdHJpbmcoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0Q29uZmlndXJhdGlvblJlZi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0Q29uZmlndXJhdGlvblJlZi5jcHAKaW5kZXgg
ZjVkMmE0MjAzZmEwMzcyNWQ2MzE3N2M3M2RkMTE0Y2U1MjlkNGMxMS4uODRlNDNmZTQwNDQyMzg3
Yzc4NTM2ZDUyODMwNzJlNWY1NDQzMjcxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dENvbmZpZ3VyYXRpb25SZWYuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRDb25maWd1cmF0aW9uUmVmLmNwcApAQCAt
NDIsNiArNDIsMTYgQEAgV0tDb250ZXh0Q29uZmlndXJhdGlvblJlZiBXS0NvbnRleHRDb25maWd1
cmF0aW9uQ3JlYXRlKCkKICAgICByZXR1cm4gdG9BUEkoJmNvbmZpZ3VyYXRpb24ubGVha1JlZigp
KTsKIH0KIAorV0tTdHJpbmdSZWYgV0tDb250ZXh0Q29uZmlndXJhdGlvbkNvcHlEaXNrQ2FjaGVE
aXJlY3RvcnkoV0tDb250ZXh0Q29uZmlndXJhdGlvblJlZiBjb25maWd1cmF0aW9uKQoreworICAg
IHJldHVybiB0b0NvcGllZEFQSSh0b0ltcGwoY29uZmlndXJhdGlvbiktPmRpc2tDYWNoZURpcmVj
dG9yeSgpKTsKK30KKwordm9pZCBXS0NvbnRleHRDb25maWd1cmF0aW9uU2V0RGlza0NhY2hlRGly
ZWN0b3J5KFdLQ29udGV4dENvbmZpZ3VyYXRpb25SZWYgY29uZmlndXJhdGlvbiwgV0tTdHJpbmdS
ZWYgZGlza0NhY2hlRGlyZWN0b3J5KQoreworICAgIHRvSW1wbChjb25maWd1cmF0aW9uKS0+c2V0
RGlza0NhY2hlRGlyZWN0b3J5KHRvSW1wbChkaXNrQ2FjaGVEaXJlY3RvcnkpLT5zdHJpbmcoKSk7
Cit9CisKIFdLU3RyaW5nUmVmIFdLQ29udGV4dENvbmZpZ3VyYXRpb25Db3B5QXBwbGljYXRpb25D
YWNoZURpcmVjdG9yeShXS0NvbnRleHRDb25maWd1cmF0aW9uUmVmIGNvbmZpZ3VyYXRpb24pCiB7
CiAgICAgcmV0dXJuIHRvQ29waWVkQVBJKHRvSW1wbChjb25maWd1cmF0aW9uKS0+YXBwbGljYXRp
b25DYWNoZURpcmVjdG9yeSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS0NvbnRleHRDb25maWd1cmF0aW9uUmVmLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tDb250ZXh0Q29uZmlndXJhdGlvblJlZi5oCmluZGV4IGVlYjNiNTc5ZTk3
ZTE5MWFiY2M3NDkwMWIzZTJhNDBmOTI2YWNkNjMuLjA2ZTUzYzRhNmE4ODJhNWJkMjY3ZGZiZDBh
NjA1YTljMDM4MWI0MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS0NvbnRleHRDb25maWd1cmF0aW9uUmVmLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLQ29udGV4dENvbmZpZ3VyYXRpb25SZWYuaApAQCAtMzcsNiArMzcsOSBAQCBX
S19FWFBPUlQgV0tDb250ZXh0Q29uZmlndXJhdGlvblJlZiBXS0NvbnRleHRDb25maWd1cmF0aW9u
Q3JlYXRlKCk7CiBXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tDb250ZXh0Q29uZmlndXJhdGlvbkNv
cHlBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KFdLQ29udGV4dENvbmZpZ3VyYXRpb25SZWYgY29u
ZmlndXJhdGlvbik7CiBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRDb25maWd1cmF0aW9uU2V0QXBw
bGljYXRpb25DYWNoZURpcmVjdG9yeShXS0NvbnRleHRDb25maWd1cmF0aW9uUmVmIGNvbmZpZ3Vy
YXRpb24sIFdLU3RyaW5nUmVmIGFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkpOwogCitXS19FWFBP
UlQgV0tTdHJpbmdSZWYgV0tDb250ZXh0Q29uZmlndXJhdGlvbkNvcHlEaXNrQ2FjaGVEaXJlY3Rv
cnkoV0tDb250ZXh0Q29uZmlndXJhdGlvblJlZiBjb25maWd1cmF0aW9uKTsKK1dLX0VYUE9SVCB2
b2lkIFdLQ29udGV4dENvbmZpZ3VyYXRpb25TZXREaXNrQ2FjaGVEaXJlY3RvcnkoV0tDb250ZXh0
Q29uZmlndXJhdGlvblJlZiBjb25maWd1cmF0aW9uLCBXS1N0cmluZ1JlZiBkaXNrQ2FjaGVEaXJl
Y3RvcnkpOworCiBXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tDb250ZXh0Q29uZmlndXJhdGlvbkNv
cHlJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeShXS0NvbnRleHRDb25maWd1cmF0aW9uUmVmIGNv
bmZpZ3VyYXRpb24pOwogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0Q29uZmlndXJhdGlvblNldElu
ZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KFdLQ29udGV4dENvbmZpZ3VyYXRpb25SZWYgY29uZmln
dXJhdGlvbiwgV0tTdHJpbmdSZWYgaW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaAppbmRl
eCA4ZmVkMTgxYmJiMGQ5NGI2Mzk0ZDQwYjg1ODRkNTE4YjU2ZGU3YTNiLi5hNWVkMjlkOGIyNjhl
Y2VmYjRkNDMyMmExNWM5MDUwOTUyYzk5NTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmgKQEAgLTY0LDcgKzY0LDYgQEAgV0tfRVhQ
T1JUIHZvaWQgV0tDb250ZXh0U2V0SWNvbkRhdGFiYXNlUGF0aChXS0NvbnRleHRSZWYgY29udGV4
dCwgV0tTdHJpbmdSZWYgaWMKIAogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0QWxsb3dTcGVjaWZp
Y0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS0NlcnRpZmlj
YXRlSW5mb1JlZiBjZXJ0aWZpY2F0ZSwgV0tTdHJpbmdSZWYgaG9zdCk7CiAKLVdLX0VYUE9SVCB2
b2lkIFdLQ29udGV4dFNldERpc2tDYWNoZURpcmVjdG9yeShXS0NvbnRleHRSZWYgY29udGV4dCwg
V0tTdHJpbmdSZWYgZGlza0NhY2hlRGlyZWN0b3J5KTsKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4
dFNldENvb2tpZVN0b3JhZ2VEaXJlY3RvcnkoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5n
UmVmIGNvb2tpZVN0b3JhZ2VEaXJlY3RvcnkpOwogCiAvLyBGSVhNRTogVGhpcyBpcyBhIHdvcmth
cm91bmQgZm9yIHRlc3RpbmcgcHVycG9zZXMgb25seSBhbmQgc2hvdWxkIGJlIHJlbW92ZWQgb25j
ZSBhIGJldHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCAyZTMxYmQ5OTBhZjJiMWUyOWJiMjJiZTA1NGZlZGIw
YzczOGU0OTA0Li4xNDY5Y2U2YzMxOTVlZTI0NGQ5ZDNlYjdjNTY0YjcwYzM3ODI0NDg0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xD
b2NvYS5tbQpAQCAtMjUyLDggKzI1Miw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3Jt
SW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhCiAjZW5k
aWYKIAogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFKQotICAgIGJvb2wgbmV0d29ya0NhY2hlRW5h
YmxlZEJ5RGVmYXVsdHMgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpXZWJLaXROZXR3b3JrQ2FjaGVF
bmFibGVkRGVmYXVsdHNLZXldICYmICFbZGVmYXVsdHMgYm9vbEZvcktleTpXZWJLaXROZXR3b3Jr
Q2FjaGVUZW1wb3JhcmlseURpc2FibGVkRm9yVGVzdGluZ0tleV07Ci0gICAgcGFyYW1ldGVycy5z
aG91bGRFbmFibGVOZXR3b3JrQ2FjaGUgPSBuZXR3b3JrQ2FjaGVFbmFibGVkQnlEZWZhdWx0cyAm
JiBsaW5rZWRPbk9yQWZ0ZXIoTGlicmFyeVZlcnNpb246OkZpcnN0V2l0aE5ldHdvcmtDYWNoZSk7
CisgICAgcGFyYW1ldGVycy5zaG91bGRFbmFibGVOZXR3b3JrQ2FjaGUgPSBpc05ldHdvcmtDYWNo
ZUVuYWJsZWQoKTsKICAgICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZU5ldHdvcmtDYWNoZUVmZmlj
YWN5TG9nZ2luZyA9IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYktpdE5ldHdvcmtDYWNoZUVmZmlj
YWN5TG9nZ2luZ0VuYWJsZWREZWZhdWx0c0tleV07CiAjZW5kaWYKIApAQCAtMjcwLDE0ICsyNjks
NiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUludmFsaWRhdGVDb250ZXh0KCkKICAg
ICB1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCk7CiB9CiAKLVN0cmluZyBXZWJQcm9j
ZXNzUG9vbDo6cGxhdGZvcm1EZWZhdWx0RGlza0NhY2hlRGlyZWN0b3J5KCkgY29uc3QKLXsKLSAg
ICBSZXRhaW5QdHI8TlNTdHJpbmc+IGNhY2hlUGF0aCA9IGFkb3B0TlMoKE5TU3RyaW5nICopV0tD
b3B5Rm91bmRhdGlvbkNhY2hlRGlyZWN0b3J5KCkpOwotICAgIGlmICghY2FjaGVQYXRoKQotICAg
ICAgICBjYWNoZVBhdGggPSBAIn4vTGlicmFyeS9DYWNoZXMvY29tLmFwcGxlLldlYktpdC5XZWJQ
cm9jZXNzIjsKLSAgICByZXR1cm4gc3RyaW5nQnlSZXNvbHZpbmdTeW1saW5rc0luUGF0aChbY2Fj
aGVQYXRoIHN0cmluZ0J5U3RhbmRhcmRpemluZ1BhdGhdKTsKLX0KLQogI2lmIFBMQVRGT1JNKElP
UykKIFN0cmluZyBXZWJQcm9jZXNzUG9vbDo6cGFyZW50QnVuZGxlRGlyZWN0b3J5KCkgY29uc3QK
IHsKQEAgLTM5MCw2ICszODEsMzMgQEAgU3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0
Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkKICAgICByZXR1cm4gc3RyaW5n
QnlSZXNvbHZpbmdTeW1saW5rc0luUGF0aChbY2FjaGVQYXRoIHN0cmluZ0J5U3RhbmRhcmRpemlu
Z1BhdGhdKTsKIH0KIAorU3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1
bHROZXR3b3JrQ2FjaGVEaXJlY3RvcnkoKQoreworICAgIFJldGFpblB0cjxOU1N0cmluZz4gY2Fj
aGVQYXRoID0gYWRvcHROUygoTlNTdHJpbmcgKilXS0NvcHlGb3VuZGF0aW9uQ2FjaGVEaXJlY3Rv
cnkoKSk7CisgICAgaWYgKCFjYWNoZVBhdGgpCisgICAgICAgIGNhY2hlUGF0aCA9IEAifi9MaWJy
YXJ5L0NhY2hlcy9jb20uYXBwbGUuV2ViS2l0LldlYlByb2Nlc3MiOworCisjaWYgRU5BQkxFKE5F
VFdPUktfQ0FDSEUpCisgICAgaWYgKGlzTmV0d29ya0NhY2hlRW5hYmxlZCgpKQorICAgICAgICBj
YWNoZVBhdGggPSBbY2FjaGVQYXRoIHN0cmluZ0J5QXBwZW5kaW5nUGF0aENvbXBvbmVudDpAIldl
YktpdENhY2hlIl07CisjZW5kaWYKKworICAgIHJldHVybiBzdHJpbmdCeVJlc29sdmluZ1N5bWxp
bmtzSW5QYXRoKFtjYWNoZVBhdGggc3RyaW5nQnlTdGFuZGFyZGl6aW5nUGF0aF0pOworfQorCiti
b29sIFdlYlByb2Nlc3NQb29sOjppc05ldHdvcmtDYWNoZUVuYWJsZWQoKQoreworI2lmIEVOQUJM
RShORVRXT1JLX0NBQ0hFKQorICAgIE5TVXNlckRlZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJE
ZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107CisKKyAgICBib29sIG5ldHdvcmtDYWNoZUVu
YWJsZWRCeURlZmF1bHRzID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6V2ViS2l0TmV0d29ya0NhY2hl
RW5hYmxlZERlZmF1bHRzS2V5XSAmJiAhW2RlZmF1bHRzIGJvb2xGb3JLZXk6V2ViS2l0TmV0d29y
a0NhY2hlVGVtcG9yYXJpbHlEaXNhYmxlZEZvclRlc3RpbmdLZXldOworCisgICAgcmV0dXJuIG5l
dHdvcmtDYWNoZUVuYWJsZWRCeURlZmF1bHRzICYmIGxpbmtlZE9uT3JBZnRlcihMaWJyYXJ5VmVy
c2lvbjo6Rmlyc3RXaXRoTmV0d29ya0NhY2hlKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOwor
I2VuZGlmCit9CisKIFN0cmluZyBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1EZWZhdWx0SWNvbkRh
dGFiYXNlUGF0aCgpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS85MTM4
ODE3PiAtIEFmdGVyIHRoaXMgImJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IiByYWRhciBpcyByZW1v
dmVkLCB0aGlzIGNvZGUgc2hvdWxkIGJlIHJlbW92ZWQgdG8gb25seSByZXR1cm4gYW4gZW1wdHkg
U3RyaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5k
ZXggYWQ0YTQzYzQ4MmMwZWU2ZTYyNzBhYjkzZmJiMDM3ODhhMjJkN2Y5Ny4uZjY5NWJmN2I5Nzdm
N2VkNTc3NzBjZmQwYzdiODlhMzZkZjhlNGZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0xMzgsNiArMTM4LDcgQEAgc3RhdGljIFdlYnNpdGVE
YXRhU3RvcmU6OkNvbmZpZ3VyYXRpb24gbGVnYWN5V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRp
b24oQVBJOjoKICAgICBjb25maWd1cmF0aW9uLndlYlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gcHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLndlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCk7CiAgICAgY29u
ZmlndXJhdGlvbi5hcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5ID0gV2ViUHJvY2Vzc1Bvb2w6Omxl
Z2FjeVBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKICAgICBjb25m
aWd1cmF0aW9uLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBXZWJQcm9jZXNzUG9vbDo6bGVn
YWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpOworICAgIGNvbmZp
Z3VyYXRpb24ubmV0d29ya0NhY2hlRGlyZWN0b3J5ID0gV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBs
YXRmb3JtRGVmYXVsdE5ldHdvcmtDYWNoZURpcmVjdG9yeSgpOwogCiAgICAgcmV0dXJuIGNvbmZp
Z3VyYXRpb247CiB9CkBAIC0xNjYsNiArMTY3LDcgQEAgV2ViUHJvY2Vzc1Bvb2w6OldlYlByb2Nl
c3NQb29sKEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogICAg
ICwgbV9pbml0aWFsSFRUUENvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9saWN5
T25seUZyb21NYWluRG9jdW1lbnREb21haW4pCiAjZW5kaWYKICAgICAsIG1fYXBwbGljYXRpb25D
YWNoZURpcmVjdG9yeShjb25maWd1cmF0aW9uLmFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKSkK
KyAgICAsIG1fZGlza0NhY2hlRGlyZWN0b3J5KGNvbmZpZ3VyYXRpb24uZGlza0NhY2hlRGlyZWN0
b3J5KCkpCiAgICAgLCBtX2luZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KGNvbmZpZ3VyYXRpb24u
aW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKSkKICAgICAsIG1fbWVkaWFLZXlzU3RvcmFnZURp
cmVjdG9yeShjb25maWd1cmF0aW9uLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSkKICAgICAs
IG1fd2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoY29uZmlndXJhdGlvbi53ZWJTUUxEYXRhYmFzZURp
cmVjdG9yeSgpKQpAQCAtNDE2LDcgKzQxOCw3IEBAIE5ldHdvcmtQcm9jZXNzUHJveHkmIFdlYlBy
b2Nlc3NQb29sOjplbnN1cmVOZXR3b3JrUHJvY2VzcygpCiAgICAgcGFyYW1ldGVycy5kaXNrQ2Fj
aGVTaXplT3ZlcnJpZGUgPSBtX2Rpc2tDYWNoZVNpemVPdmVycmlkZTsKICAgICBwYXJhbWV0ZXJz
LmNhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uID0gbV9jYW5IYW5kbGVIVFRQU1Nl
cnZlclRydXN0RXZhbHVhdGlvbjsKIAotICAgIHBhcmFtZXRlcnMuZGlza0NhY2hlRGlyZWN0b3J5
ID0gc3RyaW5nQnlSZXNvbHZpbmdTeW1saW5rc0luUGF0aChkaXNrQ2FjaGVEaXJlY3RvcnkoKSk7
CisgICAgcGFyYW1ldGVycy5kaXNrQ2FjaGVEaXJlY3RvcnkgPSBtX2Rpc2tDYWNoZURpcmVjdG9y
eTsKICAgICBpZiAoIXBhcmFtZXRlcnMuZGlza0NhY2hlRGlyZWN0b3J5LmlzRW1wdHkoKSkKICAg
ICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZFdyaXRlRGlyZWN0b3J5
KHBhcmFtZXRlcnMuZGlza0NhY2hlRGlyZWN0b3J5LCBwYXJhbWV0ZXJzLmRpc2tDYWNoZURpcmVj
dG9yeUV4dGVuc2lvbkhhbmRsZSk7CiAKQEAgLTExODIsMTQgKzExODQsNiBAQCBTdHJpbmcgV2Vi
UHJvY2Vzc1Bvb2w6Omljb25EYXRhYmFzZVBhdGgoKSBjb25zdAogICAgIHJldHVybiBwbGF0Zm9y
bURlZmF1bHRJY29uRGF0YWJhc2VQYXRoKCk7CiB9CiAKLVN0cmluZyBXZWJQcm9jZXNzUG9vbDo6
ZGlza0NhY2hlRGlyZWN0b3J5KCkgY29uc3QKLXsKLSAgICBpZiAoIW1fb3ZlcnJpZGVEaXNrQ2Fj
aGVEaXJlY3RvcnkuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gbV9vdmVycmlkZURpc2tDYWNo
ZURpcmVjdG9yeTsKLQotICAgIHJldHVybiBwbGF0Zm9ybURlZmF1bHREaXNrQ2FjaGVEaXJlY3Rv
cnkoKTsKLX0KLQogI2lmIEVOQUJMRShTRUNDT01QX0ZJTFRFUlMpCiBTdHJpbmcgV2ViUHJvY2Vz
c1Bvb2w6OmNvb2tpZVN0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCAwNGQ4NTJhYTRiMTI1MGFlNzZjOGE3ZTEz
OGFkM2U4ZmYyZGNhNTQwLi5mZmE0MzliZmZhOTFiZjU5OTMxOWM1ODM4MDFlN2JhODViZDIzYWJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtMjQ1LDcg
KzI0NSw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SWNvbkRhdGFiYXNlUGF0aChjb25zdCBT
dHJpbmcmKTsKICAgICBTdHJpbmcgaWNvbkRhdGFiYXNlUGF0aCgpIGNvbnN0OwotICAgIHZvaWQg
c2V0RGlza0NhY2hlRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgZGlyKSB7IG1fb3ZlcnJpZGVEaXNr
Q2FjaGVEaXJlY3RvcnkgPSBkaXI7IH0KICAgICB2b2lkIHNldENvb2tpZVN0b3JhZ2VEaXJlY3Rv
cnkoY29uc3QgU3RyaW5nJiBkaXIpIHsgbV9vdmVycmlkZUNvb2tpZVN0b3JhZ2VEaXJlY3Rvcnkg
PSBkaXI7IH0KIAogICAgIHZvaWQgdXNlVGVzdGluZ05ldHdvcmtTZXNzaW9uKCk7CkBAIC0zNjQs
NiArMzYzLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHJpbmcgbGVnYWN5UGxhdGZvcm1EZWZh
dWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGxlZ2FjeVBs
YXRmb3JtRGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3Ry
aW5nIGxlZ2FjeVBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKKyAg
ICBzdGF0aWMgU3RyaW5nIGxlZ2FjeVBsYXRmb3JtRGVmYXVsdE5ldHdvcmtDYWNoZURpcmVjdG9y
eSgpOworICAgIHN0YXRpYyBib29sIGlzTmV0d29ya0NhY2hlRW5hYmxlZCgpOwogCiBwcml2YXRl
OgogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CkBAIC0zOTUsOSArMzk2LDYgQEAgcHJp
dmF0ZToKIAogICAgIFN0cmluZyBwbGF0Zm9ybURlZmF1bHRJY29uRGF0YWJhc2VQYXRoKCkgY29u
c3Q7CiAKLSAgICBTdHJpbmcgZGlza0NhY2hlRGlyZWN0b3J5KCkgY29uc3Q7Ci0gICAgU3RyaW5n
IHBsYXRmb3JtRGVmYXVsdERpc2tDYWNoZURpcmVjdG9yeSgpIGNvbnN0OwotCiAjaWYgUExBVEZP
Uk0oSU9TKSB8fCBFTkFCTEUoU0VDQ09NUF9GSUxURVJTKQogICAgIFN0cmluZyBjb29raWVTdG9y
YWdlRGlyZWN0b3J5KCkgY29uc3Q7CiAjZW5kaWYKQEAgLTUwNSwxMCArNTAzLDEwIEBAIHByaXZh
dGU6CiAjZW5kaWYKIAogICAgIFN0cmluZyBtX292ZXJyaWRlSWNvbkRhdGFiYXNlUGF0aDsKLSAg
ICBTdHJpbmcgbV9vdmVycmlkZURpc2tDYWNoZURpcmVjdG9yeTsKICAgICBTdHJpbmcgbV9vdmVy
cmlkZUNvb2tpZVN0b3JhZ2VEaXJlY3Rvcnk7CiAKICAgICBTdHJpbmcgbV9hcHBsaWNhdGlvbkNh
Y2hlRGlyZWN0b3J5OworICAgIFN0cmluZyBtX2Rpc2tDYWNoZURpcmVjdG9yeTsKICAgICBTdHJp
bmcgbV9pbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeTsKICAgICBTdHJpbmcgbV9tZWRpYUtleXNT
dG9yYWdlRGlyZWN0b3J5OwogICAgIFN0cmluZyBtX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5Owo=
</data>
<flag name="review"
          id="279363"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>