<?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>201344</bug_id>
          
          <creation_ts>2019-08-30 10:08:32 -0700</creation_ts>
          <short_desc>[PSON] We no longer need to throw away suspended pages in a process before using it for a navigation</short_desc>
          <delta_ts>2019-09-05 13:03:53 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>201225</dependson>
    
    <dependson>201440</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1566713</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-30 10:08:32 -0700</bug_when>
    <thetext>We no longer need to throw away suspended pages in a process before using it for a navigation, now that Bug 201225 has been fixed. WebPage objects (suspended or live) in the process now have distinct identifiers and can coexist.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566768</commentid>
    <comment_count>1</comment_count>
      <attachid>377740</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-30 12:47:39 -0700</bug_when>
    <thetext>Created attachment 377740
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566795</commentid>
    <comment_count>2</comment_count>
      <attachid>377740</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-08-30 13:46:15 -0700</bug_when>
    <thetext>Comment on attachment 377740
Patch

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

&gt; Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.h:72
&gt; -    WebPageProxyIdentifier m_messageDestinationID;
&gt; +    uint64_t m_messageDestinationID;

I don&apos;t quite understand how this works without fixed type?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566796</commentid>
    <comment_count>3</comment_count>
      <attachid>377740</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-30 13:50:14 -0700</bug_when>
    <thetext>Comment on attachment 377740
Patch

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

&gt;&gt; Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.h:72
&gt;&gt; +    uint64_t m_messageDestinationID;
&gt; 
&gt; I don&apos;t quite understand how this works without fixed type?

Not sure I understand the question, it is only used for IPC so it does not need to be a strong type. The reason I am no longer using a Strong type is that RemoteObjectRegistry.h is used from in the UIProcess and in the WebContent process.
When running in the WebContent process, the destinationID is a WebPageProxyIdentifier, when running in the UIProcess, the destinationID is a WebCore::PageIdentifier.

Now that we can have several WebPages in the same WebContent process mapping to the same WebPageProxy in the UIProcess, it is important that RemoteObjectRegistry objects in the WebContent process listen to IPC on the WebCore::PageIdentifier id and not a WebPageProxyIdentifier id. Using a WebPageProxyIdentifier, we&apos;d get a conflict, having several objects listen to IPC on the same id in the same process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566822</commentid>
    <comment_count>4</comment_count>
      <attachid>377752</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-30 14:46:07 -0700</bug_when>
    <thetext>Created attachment 377752
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566856</commentid>
    <comment_count>5</comment_count>
      <attachid>377752</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-30 15:59:17 -0700</bug_when>
    <thetext>Comment on attachment 377752
Patch

Clearing flags on attachment: 377752

Committed r249350: &lt;https://trac.webkit.org/changeset/249350&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566857</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-30 15:59:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566858</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-30 16:00:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/54900270&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377740</attachid>
            <date>2019-08-30 12:47:39 -0700</date>
            <delta_ts>2019-08-30 14:46:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201344-20190830124739.patch</filename>
            <type>text/plain</type>
            <size>12044</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5MzI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkwMTk0Yjk5ZjA4MmM1NzE3
MGJjNzllNGUwMWI0YTQyNTFiMjU3NGUuLjg1ZTk0NGRmNDBhZjMyMGU0N2MxMDY5NDczZTlmMDVk
NGRlYzk3ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDgtMzAgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbUFNPTl0gV2Ugbm8gbG9uZ2VyIG5l
ZWQgdG8gdGhyb3cgYXdheSBzdXNwZW5kZWQgcGFnZXMgaW4gYSBwcm9jZXNzIGJlZm9yZSB1c2lu
ZyBpdCBmb3IgYSBuYXZpZ2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDEzNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXZSBubyBsb25nZXIgbmVlZCB0byB0aHJvdyBhd2F5IHN1c3BlbmRlZCBw
YWdlcyBpbiBhIHByb2Nlc3MgYmVmb3JlIHVzaW5nIGl0IGZvciBhIG5hdmlnYXRpb24sIG5vdyB0
aGF0CisgICAgICAgIEJ1ZyAyMDEyMjUgaGFzIGJlZW4gZml4ZWQuIFdlYlBhZ2Ugb2JqZWN0cyAo
c3VzcGVuZGVkIG9yIGxpdmUpIGluIHRoZSBwcm9jZXNzIG5vdyBoYXZlIGRpc3RpbmN0CisgICAg
ICAgIGlkZW50aWZpZXJzIGFuZCBjYW4gY29leGlzdC4KKworICAgICAgICAqIFNoYXJlZC9BUEkv
Q29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnkuaDoKKyAgICAgICAgKiBTaGFyZWQvQVBJL0NvY29h
L1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVPYmplY3RS
ZWdpc3RyeTo6UmVtb3RlT2JqZWN0UmVnaXN0cnkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9VSVJlbW90ZU9iamVjdFJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VUlSZW1vdGVP
YmplY3RSZWdpc3RyeTo6VUlSZW1vdGVPYmplY3RSZWdpc3RyeSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL0NvY29hL1dlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUmVtb3RlT2JqZWN0UmVnaXN0cnk6OldlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVtb3RlT2JqZWN0UmVnaXN0cnk6OmNsb3NlKToKKwog
MjAxOS0wOC0zMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtQ
U09OXSBCdW1wIHRoZSBXZWJQYWdlJ3MgaWRlbnRpZmllciBldmVyeSB0aW1lIHdlIHByb2Nlc3Mt
c3dhcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL1JlbW90ZU9i
amVjdFJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2Jq
ZWN0UmVnaXN0cnkuaAppbmRleCAxMmJmZWI0MDRhNDJiY2MyMjcyYzk4ZmQ0MGFkZmE4YmUzMjQ1
NWQwLi4zMWIzYTU1OTk1MTQ3MWJkOTE1Yzc2Y2NlMzUxMjEwMjJmODFmYjQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnku
aApAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZW5kVW51c2VkUmVwbHkodWlu
dDY0X3QgcmVwbHlJRCk7CiAKIHByb3RlY3RlZDoKLSAgICBSZW1vdGVPYmplY3RSZWdpc3RyeShf
V0tSZW1vdGVPYmplY3RSZWdpc3RyeSAqLCBXZWJQYWdlUHJveHlJZGVudGlmaWVyIG1lc3NhZ2VE
ZXN0aW5hdGlvbklEKTsKKyAgICBSZW1vdGVPYmplY3RSZWdpc3RyeShfV0tSZW1vdGVPYmplY3RS
ZWdpc3RyeSAqLCB1aW50NjRfdCBtZXNzYWdlRGVzdGluYXRpb25JRCk7CiAgICAgCiBwcml2YXRl
OgogICAgIHZpcnR1YWwgUHJvY2Vzc1Rocm90dGxlcjo6QmFja2dyb3VuZEFjdGl2aXR5VG9rZW4g
dGFrZUJhY2tncm91bmRBY3Rpdml0eVRva2VuKCkgeyByZXR1cm4gbnVsbHB0cjsgfQpAQCAtNjks
NyArNjksNyBAQCBwcml2YXRlOgogCiAgICAgV2Vha09iakNQdHI8X1dLUmVtb3RlT2JqZWN0UmVn
aXN0cnk+IG1fcmVtb3RlT2JqZWN0UmVnaXN0cnk7CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUHJv
Y2Vzc1Rocm90dGxlcjo6QmFja2dyb3VuZEFjdGl2aXR5VG9rZW4+IG1fcGVuZGluZ1JlcGxpZXM7
Ci0gICAgV2ViUGFnZVByb3h5SWRlbnRpZmllciBtX21lc3NhZ2VEZXN0aW5hdGlvbklEOworICAg
IHVpbnQ2NF90IG1fbWVzc2FnZURlc3RpbmF0aW9uSUQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9SZW1vdGVP
YmplY3RSZWdpc3RyeS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9SZW1vdGVP
YmplY3RSZWdpc3RyeS5tbQppbmRleCA4NTYyZmQwYmMxNjNiZDc1NTY1NGUwYmQxYTUwNGZlOTky
MTliY2Q1Li42NzVhYjdiYTcwOTkwMDFmMzI2MWJiODhjMDJjOTA5M2JjZjZkZmUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnku
bW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL1JlbW90ZU9iamVjdFJlZ2lz
dHJ5Lm1tCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1SZW1vdGVP
YmplY3RSZWdpc3RyeTo6UmVtb3RlT2JqZWN0UmVnaXN0cnkoX1dLUmVtb3RlT2JqZWN0UmVnaXN0
cnkgKnJlbW90ZU9iamVjdFJlZ2lzdHJ5LCBXZWJQYWdlUHJveHlJZGVudGlmaWVyIG1lc3NhZ2VE
ZXN0aW5hdGlvbklEKQorUmVtb3RlT2JqZWN0UmVnaXN0cnk6OlJlbW90ZU9iamVjdFJlZ2lzdHJ5
KF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICpyZW1vdGVPYmplY3RSZWdpc3RyeSwgdWludDY0X3Qg
bWVzc2FnZURlc3RpbmF0aW9uSUQpCiAgICAgOiBtX3JlbW90ZU9iamVjdFJlZ2lzdHJ5KHJlbW90
ZU9iamVjdFJlZ2lzdHJ5KQogICAgICwgbV9tZXNzYWdlRGVzdGluYXRpb25JRChtZXNzYWdlRGVz
dGluYXRpb25JRCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1VJUmVtb3RlT2JqZWN0UmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvVUlSZW1vdGVPYmplY3RSZWdpc3RyeS5jcHAKaW5kZXggYTNmYWI2MmY3NTJkNmM4OGI5MWM2
Y2E5MjQyMzg0ODg5MGYwZTlmMy4uZDdiMWY0ZDRiZGRkNTU2OWNlMWRhM2FiODA4M2JiNzIwODY0
YjVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlSZW1vdGVP
YmplY3RSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlS
ZW1vdGVPYmplY3RSZWdpc3RyeS5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgUHJvY2Vzc1Rocm90dGxl
cjo6QmFja2dyb3VuZEFjdGl2aXR5VG9rZW4gVUlSZW1vdGVPYmplY3RSZWdpc3RyeTo6dGFrZUJh
Y2tncm91bmQKIH0KIAogVUlSZW1vdGVPYmplY3RSZWdpc3RyeTo6VUlSZW1vdGVPYmplY3RSZWdp
c3RyeShfV0tSZW1vdGVPYmplY3RSZWdpc3RyeSAqcmVtb3RlT2JqZWN0UmVnaXN0cnksIFdlYlBh
Z2VQcm94eSYgcGFnZSkKLSAgICA6IFJlbW90ZU9iamVjdFJlZ2lzdHJ5KHJlbW90ZU9iamVjdFJl
Z2lzdHJ5LCBwYWdlLmlkZW50aWZpZXIoKSkKKyAgICA6IFJlbW90ZU9iamVjdFJlZ2lzdHJ5KHJl
bW90ZU9iamVjdFJlZ2lzdHJ5LCBwYWdlLndlYlBhZ2VJRCgpLnRvVUludDY0KCkpCiAgICAgLCBt
X3BhZ2UocGFnZSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CmluZGV4IDk0NGRiOWNlYjQxN2EwYmM3NWQyMmVjYjNmMDcxOWU4MzE1Mjg1ZWMuLjYyOTYwYmEx
NGQ3YTJhMzgzMDk2YTNkMWFlMmMxYTVhOGE3M2NjMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjg4NywxMSArMjg4Nyw2IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjpyZWNlaXZlZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbihQb2xpY3lBY3Rpb24gcG9saWN5
QWN0aW9uLCBBCiAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NTd2Fw
cGluZywgImRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246IGtlZXAgdXNpbmcgcHJvY2Vz
cyAlaSBmb3IgbmF2aWdhdGlvbiwgcmVhc29uOiAle3B1YmxpY31zIiwgcHJvY2Vzc0lkZW50aWZp
ZXIoKSwgcmVhc29uLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgICAgIGlmIChzaG91bGRQcm9jZXNz
U3dhcCkgewotICAgICAgICAgICAgLy8gRklYTUU6IEFyY2hpdGVjdHVyYWxseSB3ZSBkbyBub3Qg
Y3VycmVudGx5IHN1cHBvcnQgbXVsdGlwbGUgV2ViUGFnZSdzIHdpdGggdGhlIHNhbWUgSUQgaW4g
YSBnaXZlbiBXZWJQcm9jZXNzLgotICAgICAgICAgICAgLy8gSW4gdGhlIGNhc2Ugd2hlcmUgdGhl
IGRlc3RpbmF0aW9uIFdlYlByb2Nlc3MgaGFzIGEgU3VzcGVuZGVkUGFnZVByb3h5IGZvciB0aGlz
IFdlYlBhZ2UsIHdlIHNob3VsZCBoYXZlIHRocm93bgotICAgICAgICAgICAgLy8gaXQgYXdheSB0
byBzdXBwb3J0IFdlYlByb2Nlc3MgcmUtdXNlLgotICAgICAgICAgICAgQVNTRVJUKGRlc3RpbmF0
aW9uU3VzcGVuZGVkUGFnZSB8fCAhcHJvY2VzcygpLnByb2Nlc3NQb29sKCkuaGFzU3VzcGVuZGVk
UGFnZUZvcihwcm9jZXNzRm9yTmF2aWdhdGlvbiwgKnRoaXMpKTsKLQogICAgICAgICAgICAgYXV0
byBzdXNwZW5kZWRQYWdlID0gZGVzdGluYXRpb25TdXNwZW5kZWRQYWdlID8gcHJvY2VzcygpLnBy
b2Nlc3NQb29sKCkudGFrZVN1c3BlbmRlZFBhZ2UoKmRlc3RpbmF0aW9uU3VzcGVuZGVkUGFnZSkg
OiBudWxscHRyOwogICAgICAgICAgICAgaWYgKHN1c3BlbmRlZFBhZ2UgJiYgc3VzcGVuZGVkUGFn
ZS0+cGFnZUlzQ2xvc2VkT3JDbG9zaW5nKCkpCiAgICAgICAgICAgICAgICAgc3VzcGVuZGVkUGFn
ZSA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAK
aW5kZXggNzY1ODUwNjQyMzJhZTlmMTllY2M4ODNmMmNjM2QyMzZiNjg1MjEyYS4uYTlhYmVkMjVj
MzQyYWM1OTI5MmQwODNhYTRiMmRkMTA5MjA0YjNkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMjM0MiwxMSArMjM0Miw2IEBAIHZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6OnByb2Nlc3NGb3JOYXZpZ2F0aW9uSW50ZXJuYWwoV2ViUGFnZVByb3h5JiBwYWdl
LCBjb25zdCBBUEk6CiAKICAgICAgICAgaWYgKFJlZlB0cjxXZWJQcm9jZXNzUHJveHk+IHByb2Nl
c3MgPSBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NGb3JJZGVudGlmaWVyKHRhcmdldEl0ZW0tPmxh
c3RQcm9jZXNzSWRlbnRpZmllcigpKSkgewogICAgICAgICAgICAgaWYgKHByb2Nlc3MtPnN0YXRl
KCkgIT0gV2ViUHJvY2Vzc1Byb3h5OjpTdGF0ZTo6VGVybWluYXRlZCkgewotICAgICAgICAgICAg
ICAgIC8vIEZJWE1FOiBBcmNoaXRlY3R1cmFsbHkgd2UgZG8gbm90IGN1cnJlbnRseSBzdXBwb3J0
IG11bHRpcGxlIFdlYlBhZ2UncyB3aXRoIHRoZSBzYW1lIElEIGluIGEgZ2l2ZW4gV2ViUHJvY2Vz
cy4KLSAgICAgICAgICAgICAgICAvLyBJbiB0aGUgY2FzZSB3aGVyZSB0aGlzIFdlYlByb2Nlc3Mg
aGFzIGEgU3VzcGVuZGVkUGFnZVByb3h5IGZvciB0aGlzIFdlYlBhZ2UsIHdlIGNhbiB0aHJvdyBp
dCBhd2F5IHRvIHN1cHBvcnQKLSAgICAgICAgICAgICAgICAvLyBXZWJQcm9jZXNzIHJlLXVzZS4K
LSAgICAgICAgICAgICAgICByZW1vdmVBbGxTdXNwZW5kZWRQYWdlc0ZvclBhZ2UocGFnZSwgcHJv
Y2Vzcy5nZXQoKSk7Ci0KICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgd2UgcmVtb3ZlIHRo
ZSBwcm9jZXNzIGZyb20gdGhlIGNhY2hlIGlmIGl0IGlzIGluIHRoZXJlIHNpbmNlIHdlJ3JlIGFi
b3V0IHRvIHVzZSBpdC4KICAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy0+aXNJblByb2Nlc3ND
YWNoZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIHdlYlByb2Nlc3NDYWNoZSgpLnJlbW92ZVBy
b2Nlc3MoKnByb2Nlc3MsIFdlYlByb2Nlc3NDYWNoZTo6U2hvdWxkU2h1dERvd25Qcm9jZXNzOjpO
byk7CkBAIC0yMzg0LDEyICsyMzc5LDYgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cHJvY2Vzc0Zv
ck5hdmlnYXRpb25JbnRlcm5hbChXZWJQYWdlUHJveHkmIHBhZ2UsIGNvbnN0IEFQSToKICAgICAg
ICAgICAgIGlmICgmcHJvY2Vzcy0+d2Vic2l0ZURhdGFTdG9yZSgpID09IGRhdGFTdG9yZS5wdHIo
KSkgewogICAgICAgICAgICAgICAgIExPRyhQcm9jZXNzU3dhcHBpbmcsICIoUHJvY2Vzc1N3YXBw
aW5nKSBSZXVzaW5nIGEgcHJldmlvdXNseSBjYWNoZWQgcHJvY2VzcyB3aXRoIHBpZCAlaSB0byBj
b250aW51ZSBuYXZpZ2F0aW9uIHRvIFVSTCAlcyIsIHByb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVy
KCksIHRhcmdldFVSTC5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKIAotICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBBcmNoaXRlY3R1cmFsbHkgd2UgZG8gbm90IGN1cnJlbnRseSBzdXBwb3J0IG11
bHRpcGxlIFdlYlBhZ2UncyB3aXRoIHRoZSBzYW1lIElEIGluIGEgZ2l2ZW4gV2ViUHJvY2Vzcy4K
LSAgICAgICAgICAgICAgICAvLyBJbiB0aGUgY2FzZSB3aGVyZSB0aGlzIFdlYlByb2Nlc3MgaGFz
IGEgU3VzcGVuZGVkUGFnZVByb3h5IGZvciB0aGlzIFdlYlBhZ2UsIHdlIGNhbiB0aHJvdyBpdCBh
d2F5IHRvIHN1cHBvcnQKLSAgICAgICAgICAgICAgICAvLyBXZWJQcm9jZXNzIHJlLXVzZS4KLSAg
ICAgICAgICAgICAgICAvLyBJbiB0aGUgZnV0dXJlIGl0IHdvdWxkIGJlIGdyZWF0IHRvIHJlZmFj
dG9yLW91dCB0aGlzIGxpbWl0YXRpb24gKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTExNjYpLgotICAgICAgICAgICAgICAgIHJlbW92ZUFsbFN1c3BlbmRlZFBhZ2Vz
Rm9yUGFnZShwYWdlLCBwcm9jZXNzKTsKLQogICAgICAgICAgICAgICAgIHJldHVybiBjb21wbGV0
aW9uSGFuZGxlcihtYWtlUmVmKCpwcm9jZXNzKSwgbnVsbHB0ciwgcmVhc29uKTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQpAQCAtMjQwMywxOCArMjM5Miw3IEBAIFJlZlB0cjxXZWJQcm9jZXNz
UHJveHk+IFdlYlByb2Nlc3NQb29sOjpmaW5kUmV1c2FibGVTdXNwZW5kZWRQYWdlUHJvY2Vzcyhj
b25zdCBXCiAgICAgYXV0byBpdCA9IG1fc3VzcGVuZGVkUGFnZXMuZmluZElmKFsmXShhdXRvJiBz
dXNwZW5kZWRQYWdlKSB7CiAgICAgICAgIHJldHVybiBzdXNwZW5kZWRQYWdlLT5wcm9jZXNzKCku
cmVnaXN0cmFibGVEb21haW4oKSA9PSByZWdpc3RyYWJsZURvbWFpbiAmJiAmc3VzcGVuZGVkUGFn
ZS0+cHJvY2VzcygpLndlYnNpdGVEYXRhU3RvcmUoKSA9PSAmZGF0YVN0b3JlOwogICAgIH0pOwot
ICAgIGlmIChpdCA9PSBtX3N1c3BlbmRlZFBhZ2VzLmVuZCgpKQotICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLQotICAgIFJlZjxXZWJQcm9jZXNzUHJveHk+IHByb2Nlc3MgPSAoKml0KS0+cHJvY2Vz
cygpOwotCi0gICAgLy8gRklYTUU6IElmIHRoZSBTdXNwZW5kZWRQYWdlIGlzIGZvciB0aGlzIHBh
Z2UsIHRoZW4gd2UgbmVlZCB0byBkZXN0cm95IHRoZSBzdXNwZW5kZWQgcGFnZSBhcyB3ZSBkbyBu
b3Qgc3VwcG9ydCBoYXZpbmcKLSAgICAvLyBtdWx0aXBsZSBXZWJQYWdlcyB3aXRoIHRoZSBzYW1l
IElEIGluIGEgZ2l2ZW4gV2ViUHJvY2VzcyBjdXJyZW50bHkgKGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTExNjYpLgotICAgIGlmICgmKCppdCktPnBhZ2UoKSA9PSAm
cGFnZSkKLSAgICAgICAgbV9zdXNwZW5kZWRQYWdlcy5yZW1vdmUoaXQpOwotCi0KLSAgICByZXR1
cm4gcHJvY2VzczsKKyAgICByZXR1cm4gaXQgPT0gbV9zdXNwZW5kZWRQYWdlcy5lbmQoKSA/IG51
bGxwdHIgOiAmKCppdCktPnByb2Nlc3MoKTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzUG9vbDo6YWRk
U3VzcGVuZGVkUGFnZShzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiYmIHN1c3Bl
bmRlZFBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9D
b2NvYS9XZWJSZW1vdGVPYmplY3RSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9Db2NvYS9XZWJSZW1vdGVPYmplY3RSZWdpc3RyeS5jcHAKaW5kZXggODdmYmIz
ZTFlZDQyMmNhNzhiN2NhY2JmODhjZDIxMDQ5N2EwMDRlYy4uMzg3OTJlMmRhMjZlYjY0MTI2Mzdl
NmQ2NzUwYjUxOTExODMxNzU5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29jb2EvV2ViUmVtb3RlT2JqZWN0UmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5LmNw
cApAQCAtMzIsMTAgKzMyLDEwIEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogV2ViUmVtb3RlT2Jq
ZWN0UmVnaXN0cnk6OldlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5KF9XS1JlbW90ZU9iamVjdFJlZ2lz
dHJ5ICpyZW1vdGVPYmplY3RSZWdpc3RyeSwgV2ViUGFnZSYgcGFnZSkKLSAgICA6IFJlbW90ZU9i
amVjdFJlZ2lzdHJ5KHJlbW90ZU9iamVjdFJlZ2lzdHJ5LCBwYWdlLndlYlBhZ2VQcm94eUlkZW50
aWZpZXIoKSkKKyAgICA6IFJlbW90ZU9iamVjdFJlZ2lzdHJ5KHJlbW90ZU9iamVjdFJlZ2lzdHJ5
LCBwYWdlLndlYlBhZ2VQcm94eUlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKQogICAgICwgbV9wYWdl
KHBhZ2UpCiB7Ci0gICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuYWRkTWVzc2FnZVJlY2VpdmVy
KE1lc3NhZ2VzOjpSZW1vdGVPYmplY3RSZWdpc3RyeTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBt
X3BhZ2Uud2ViUGFnZVByb3h5SWRlbnRpZmllcigpLCAqdGhpcyk7CisgICAgV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVPYmplY3RSZWdp
c3RyeTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2UucGFnZUlEKCksICp0aGlzKTsKICAg
ICBwYWdlLnNldFJlbW90ZU9iamVjdFJlZ2lzdHJ5KHRoaXMpOwogfQogCkBAIC00Nyw3ICs0Nyw3
IEBAIFdlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5Ojp+V2ViUmVtb3RlT2JqZWN0UmVnaXN0cnkoKQog
dm9pZCBXZWJSZW1vdGVPYmplY3RSZWdpc3RyeTo6Y2xvc2UoKQogewogICAgIGlmIChtX3BhZ2Uu
cmVtb3RlT2JqZWN0UmVnaXN0cnkoKSA9PSB0aGlzKSB7Ci0gICAgICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlT2JqZWN0UmVn
aXN0cnk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlLndlYlBhZ2VQcm94eUlkZW50aWZp
ZXIoKSk7CisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnJlbW92ZU1lc3NhZ2VSZWNl
aXZlcihNZXNzYWdlczo6UmVtb3RlT2JqZWN0UmVnaXN0cnk6Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSwgbV9wYWdlLnBhZ2VJRCgpKTsKICAgICAgICAgbV9wYWdlLnNldFJlbW90ZU9iamVjdFJlZ2lz
dHJ5KG51bGxwdHIpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VJbXBsLmNwcAppbmRleCBkYWNk
MGY3ZmRkOWE3NjE2MzI0NTU1ZTMyNGZiMmIxZGZmYzJkNDM4Li5jZDBmZDk5ODA1ODE0MzQ1Mzk3
ZjQxNDRjZjUyMDBjMWIzOWZlNTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViU3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZUltcGwuY3BwCkBAIC00Miw4
ICs0MiwxOCBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAorc3RhdGljIEhhc2hNYXA8U3RvcmFnZU5hbWVzcGFjZUltcGw6OklkZW50aWZpZXIsIFN0b3Jh
Z2VOYW1lc3BhY2VJbXBsKj4mIHNlc3Npb25TdG9yYWdlTmFtZXNwYWNlcygpCit7CisgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3RvcmFnZU5hbWVzcGFjZUltcGw6OklkZW50aWZp
ZXIsIFN0b3JhZ2VOYW1lc3BhY2VJbXBsKj4+IG1hcDsKKyAgICByZXR1cm4gbWFwOworfQorCiBS
ZWY8U3RvcmFnZU5hbWVzcGFjZUltcGw+IFN0b3JhZ2VOYW1lc3BhY2VJbXBsOjpjcmVhdGVTZXNz
aW9uU3RvcmFnZU5hbWVzcGFjZShJZGVudGlmaWVyIGlkZW50aWZpZXIsIFBhZ2VJZGVudGlmaWVy
IHBhZ2VJRCwgdW5zaWduZWQgcXVvdGFJbkJ5dGVzLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQp
CiB7CisgICAgLy8gVGhlIGlkZW50aWZpZXIgb2YgYSBzZXNzaW9uIHN0b3JhZ2UgbmFtZXNwYWNl
IGlzIHRoZSBXZWJQYWdlUHJveHlJZGVudGlmaWVyLiBJdCBpcyBwb3NzaWJsZSB3ZSBoYXZlIHNl
dmVyYWwgV2ViUGFnZSBvYmplY3RzIGluIGEgc2luZ2xlIHByb2Nlc3MgZm9yIHRoZSBzYW1lCisg
ICAgLy8gV2ViUGFnZVByb3h5SWRlbnRpZmllciBhbmQgdGhlc2UgbmVlZCB0byBzaGFyZSB0aGUg
c2FtZSBuYW1lc3BhY2UgaW5zdGFuY2Ugc28gd2Uga25vdyB3aGVyZSB0byByb3V0ZSB0aGUgSVBD
IHRvLgorICAgIGlmIChhdXRvKiBleGlzdGluZ05hbWVzcGFjZSA9IHNlc3Npb25TdG9yYWdlTmFt
ZXNwYWNlcygpLmdldChpZGVudGlmaWVyKSkKKyAgICAgICAgcmV0dXJuICpleGlzdGluZ05hbWVz
cGFjZTsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdG9yYWdlTmFtZXNwYWNlSW1wbChTdG9y
YWdlVHlwZTo6U2Vzc2lvbiwgaWRlbnRpZmllciwgcGFnZUlELCBudWxscHRyLCBxdW90YUluQnl0
ZXMsIHNlc3Npb25JRCkpOwogfQogCkBAIC02NiwxMCArNzYsMTkgQEAgU3RvcmFnZU5hbWVzcGFj
ZUltcGw6OlN0b3JhZ2VOYW1lc3BhY2VJbXBsKFdlYkNvcmU6OlN0b3JhZ2VUeXBlIHN0b3JhZ2VU
eXBlLCBJZGUKICAgICAsIG1fc2Vzc2lvbklEKHNlc3Npb25JRCkKIHsKICAgICBBU1NFUlQoc3Rv
cmFnZVR5cGUgPT0gU3RvcmFnZVR5cGU6OlNlc3Npb24gfHwgIW1fc2Vzc2lvblBhZ2VJRCk7Cisg
ICAgCisgICAgaWYgKG1fc3RvcmFnZVR5cGUgPT0gU3RvcmFnZVR5cGU6OlNlc3Npb24pIHsKKyAg
ICAgICAgQVNTRVJUKCFzZXNzaW9uU3RvcmFnZU5hbWVzcGFjZXMoKS5jb250YWlucyhtX3N0b3Jh
Z2VOYW1lc3BhY2VJRCkpOworICAgICAgICBzZXNzaW9uU3RvcmFnZU5hbWVzcGFjZXMoKS5hZGQo
bV9zdG9yYWdlTmFtZXNwYWNlSUQsIHRoaXMpOworICAgIH0KIH0KIAogU3RvcmFnZU5hbWVzcGFj
ZUltcGw6On5TdG9yYWdlTmFtZXNwYWNlSW1wbCgpCiB7CisgICAgaWYgKG1fc3RvcmFnZVR5cGUg
PT0gU3RvcmFnZVR5cGU6OlNlc3Npb24pIHsKKyAgICAgICAgYm9vbCB3YXNSZW1vdmVkID0gc2Vz
c2lvblN0b3JhZ2VOYW1lc3BhY2VzKCkucmVtb3ZlKG1fc3RvcmFnZU5hbWVzcGFjZUlEKTsKKyAg
ICAgICAgQVNTRVJUX1VOVVNFRCh3YXNSZW1vdmVkLCB3YXNSZW1vdmVkKTsKKyAgICB9CiB9CiAK
IHZvaWQgU3RvcmFnZU5hbWVzcGFjZUltcGw6OmRpZERlc3Ryb3lTdG9yYWdlQXJlYU1hcChTdG9y
YWdlQXJlYU1hcCYgbWFwKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377752</attachid>
            <date>2019-08-30 14:46:07 -0700</date>
            <delta_ts>2019-08-30 15:59:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201344-20190830144606.patch</filename>
            <type>text/plain</type>
            <size>14893</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5MzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJhOTJjODI1N2I5YTUyMzNi
MTYxZDk0MzcyOWYxMzY2NWM5NmYyNTIuLmM5Mjk5MzgzYmNjY2RlOThkMDVjNTJlZDZmMGQxMTlk
MTVhZDU3N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDgtMzAgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbUFNPTl0gV2Ugbm8gbG9uZ2VyIG5l
ZWQgdG8gdGhyb3cgYXdheSBzdXNwZW5kZWQgcGFnZXMgaW4gYSBwcm9jZXNzIGJlZm9yZSB1c2lu
ZyBpdCBmb3IgYSBuYXZpZ2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDEzNDQKKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0
by4KKworICAgICAgICBXZSBubyBsb25nZXIgbmVlZCB0byB0aHJvdyBhd2F5IHN1c3BlbmRlZCBw
YWdlcyBpbiBhIHByb2Nlc3MgYmVmb3JlIHVzaW5nIGl0IGZvciBhIG5hdmlnYXRpb24sIG5vdyB0
aGF0CisgICAgICAgIEJ1ZyAyMDEyMjUgaGFzIGJlZW4gZml4ZWQuIFdlYlBhZ2Ugb2JqZWN0cyAo
c3VzcGVuZGVkIG9yIGxpdmUpIGluIHRoZSBwcm9jZXNzIG5vdyBoYXZlIGRpc3RpbmN0CisgICAg
ICAgIGlkZW50aWZpZXJzIGFuZCBjYW4gY29leGlzdC4KKworICAgICAgICAqIFNoYXJlZC9BUEkv
Q29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnkuaDoKKyAgICAgICAgKiBTaGFyZWQvQVBJL0NvY29h
L1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVPYmplY3RS
ZWdpc3RyeTo6UmVtb3RlT2JqZWN0UmVnaXN0cnkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9VSVJlbW90ZU9iamVjdFJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VUlSZW1vdGVP
YmplY3RSZWdpc3RyeTo6VUlSZW1vdGVPYmplY3RSZWdpc3RyeSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL0NvY29hL1dlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUmVtb3RlT2JqZWN0UmVnaXN0cnk6OldlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVtb3RlT2JqZWN0UmVnaXN0cnk6OmNsb3NlKToKKwog
MjAxOS0wOC0zMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJlbW92ZSBIQVZFX0NGTkVUV09SS19XSVRIX0FVVE9fQURERURfSFRUUF9IRUFE
RVJfU1VQUFJFU1NJT05fU1VQUE9SVCBjb25kaXRpb25hbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQVBJL0NvY29hL1JlbW90ZU9iamVjdFJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BUEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnkuaAppbmRleCAxMmJmZWI0
MDRhNDJiY2MyMjcyYzk4ZmQ0MGFkZmE4YmUzMjQ1NWQwLi44NGI0NzBjOTUyNjRiZDdkZDIwODBj
Mjc2ZDYxZmUyYzA2ZjU1OTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkv
Q29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
UEkvQ29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnkuaApAQCAtNTMsMTEgKzUzLDEyIEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNlbmRVbnVzZWRSZXBseSh1aW50NjRfdCByZXBseUlEKTsKIAogcHJvdGVj
dGVkOgotICAgIFJlbW90ZU9iamVjdFJlZ2lzdHJ5KF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICos
IFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgbWVzc2FnZURlc3RpbmF0aW9uSUQpOworICAgIGV4cGxp
Y2l0IFJlbW90ZU9iamVjdFJlZ2lzdHJ5KF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICopOwogICAg
IAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIFByb2Nlc3NUaHJvdHRsZXI6OkJhY2tncm91bmRBY3Rp
dml0eVRva2VuIHRha2VCYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbigpIHsgcmV0dXJuIG51bGxwdHI7
IH0KICAgICB2aXJ0dWFsIElQQzo6TWVzc2FnZVNlbmRlciYgbWVzc2FnZVNlbmRlcigpID0gMDsK
KyAgICB2aXJ0dWFsIHVpbnQ2NF90IG1lc3NhZ2VEZXN0aW5hdGlvbklEKCkgPSAwOwogCiAgICAg
Ly8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwpAQCAtNjksNyArNzAsNiBAQCBw
cml2YXRlOgogCiAgICAgV2Vha09iakNQdHI8X1dLUmVtb3RlT2JqZWN0UmVnaXN0cnk+IG1fcmVt
b3RlT2JqZWN0UmVnaXN0cnk7CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUHJvY2Vzc1Rocm90dGxl
cjo6QmFja2dyb3VuZEFjdGl2aXR5VG9rZW4+IG1fcGVuZGluZ1JlcGxpZXM7Ci0gICAgV2ViUGFn
ZVByb3h5SWRlbnRpZmllciBtX21lc3NhZ2VEZXN0aW5hdGlvbklEOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2Ev
UmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2Ev
UmVtb3RlT2JqZWN0UmVnaXN0cnkubW0KaW5kZXggODU2MmZkMGJjMTYzYmQ3NTU2NTRlMGJkMWE1
MDRmZTk5MjE5YmNkNS4uMzBlYzRlNzA2M2IzMmNkYjlmZmE3N2E1NTQ0NzcwOTBiNDQwNGQzYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL1JlbW90ZU9iamVjdFJl
Z2lzdHJ5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9SZW1vdGVPYmpl
Y3RSZWdpc3RyeS5tbQpAQCAtMzQsOSArMzQsOCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
UmVtb3RlT2JqZWN0UmVnaXN0cnk6OlJlbW90ZU9iamVjdFJlZ2lzdHJ5KF9XS1JlbW90ZU9iamVj
dFJlZ2lzdHJ5ICpyZW1vdGVPYmplY3RSZWdpc3RyeSwgV2ViUGFnZVByb3h5SWRlbnRpZmllciBt
ZXNzYWdlRGVzdGluYXRpb25JRCkKK1JlbW90ZU9iamVjdFJlZ2lzdHJ5OjpSZW1vdGVPYmplY3RS
ZWdpc3RyeShfV0tSZW1vdGVPYmplY3RSZWdpc3RyeSAqcmVtb3RlT2JqZWN0UmVnaXN0cnkpCiAg
ICAgOiBtX3JlbW90ZU9iamVjdFJlZ2lzdHJ5KHJlbW90ZU9iamVjdFJlZ2lzdHJ5KQotICAgICwg
bV9tZXNzYWdlRGVzdGluYXRpb25JRChtZXNzYWdlRGVzdGluYXRpb25JRCkKIHsKIH0KIApAQCAt
NTIsMTcgKzUxLDE3IEBAIHZvaWQgUmVtb3RlT2JqZWN0UmVnaXN0cnk6OnNlbmRJbnZvY2F0aW9u
KGNvbnN0IFJlbW90ZU9iamVjdEludm9jYXRpb24mIGludm9jYXRpCiAgICAgICAgIG1fcGVuZGlu
Z1JlcGxpZXMuYWRkKHJlcGx5SW5mby0+cmVwbHlJRCwgdGFrZUJhY2tncm91bmRBY3Rpdml0eVRv
a2VuKCkpOwogICAgIH0KIAotICAgIG1lc3NhZ2VTZW5kZXIoKS5zZW5kKE1lc3NhZ2VzOjpSZW1v
dGVPYmplY3RSZWdpc3RyeTo6SW52b2tlTWV0aG9kKGludm9jYXRpb24pLCBtX21lc3NhZ2VEZXN0
aW5hdGlvbklEKTsKKyAgICBtZXNzYWdlU2VuZGVyKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlT2Jq
ZWN0UmVnaXN0cnk6Okludm9rZU1ldGhvZChpbnZvY2F0aW9uKSwgbWVzc2FnZURlc3RpbmF0aW9u
SUQoKSk7CiB9CiAKIHZvaWQgUmVtb3RlT2JqZWN0UmVnaXN0cnk6OnNlbmRSZXBseUJsb2NrKHVp
bnQ2NF90IHJlcGx5SUQsIGNvbnN0IFVzZXJEYXRhJiBibG9ja0ludm9jYXRpb24pCiB7Ci0gICAg
bWVzc2FnZVNlbmRlcigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU9iamVjdFJlZ2lzdHJ5OjpDYWxs
UmVwbHlCbG9jayhyZXBseUlELCBibG9ja0ludm9jYXRpb24pLCBtX21lc3NhZ2VEZXN0aW5hdGlv
bklEKTsKKyAgICBtZXNzYWdlU2VuZGVyKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlT2JqZWN0UmVn
aXN0cnk6OkNhbGxSZXBseUJsb2NrKHJlcGx5SUQsIGJsb2NrSW52b2NhdGlvbiksIG1lc3NhZ2VE
ZXN0aW5hdGlvbklEKCkpOwogfQogCiB2b2lkIFJlbW90ZU9iamVjdFJlZ2lzdHJ5OjpzZW5kVW51
c2VkUmVwbHkodWludDY0X3QgcmVwbHlJRCkKIHsKLSAgICBtZXNzYWdlU2VuZGVyKCkuc2VuZChN
ZXNzYWdlczo6UmVtb3RlT2JqZWN0UmVnaXN0cnk6OlJlbGVhc2VVbnVzZWRSZXBseUJsb2NrKHJl
cGx5SUQpLCBtX21lc3NhZ2VEZXN0aW5hdGlvbklEKTsKKyAgICBtZXNzYWdlU2VuZGVyKCkuc2Vu
ZChNZXNzYWdlczo6UmVtb3RlT2JqZWN0UmVnaXN0cnk6OlJlbGVhc2VVbnVzZWRSZXBseUJsb2Nr
KHJlcGx5SUQpLCBtZXNzYWdlRGVzdGluYXRpb25JRCgpKTsKIH0KIAogdm9pZCBSZW1vdGVPYmpl
Y3RSZWdpc3RyeTo6aW52b2tlTWV0aG9kKGNvbnN0IFJlbW90ZU9iamVjdEludm9jYXRpb24mIGlu
dm9jYXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSVJl
bW90ZU9iamVjdFJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJ
UmVtb3RlT2JqZWN0UmVnaXN0cnkuY3BwCmluZGV4IGEzZmFiNjJmNzUyZDZjODhiOTFjNmNhOTI0
MjM4NDg4OTBmMGU5ZjMuLjIwY2Q1M2M5NDQzOGJkMWI3OTRjZDQyMzE0ZWIyZTZjYjQ1YzU5ZTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJUmVtb3RlT2JqZWN0
UmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJUmVtb3Rl
T2JqZWN0UmVnaXN0cnkuY3BwCkBAIC0zNyw3ICszNyw3IEBAIFByb2Nlc3NUaHJvdHRsZXI6OkJh
Y2tncm91bmRBY3Rpdml0eVRva2VuIFVJUmVtb3RlT2JqZWN0UmVnaXN0cnk6OnRha2VCYWNrZ3Jv
dW5kCiB9CiAKIFVJUmVtb3RlT2JqZWN0UmVnaXN0cnk6OlVJUmVtb3RlT2JqZWN0UmVnaXN0cnko
X1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKnJlbW90ZU9iamVjdFJlZ2lzdHJ5LCBXZWJQYWdlUHJv
eHkmIHBhZ2UpCi0gICAgOiBSZW1vdGVPYmplY3RSZWdpc3RyeShyZW1vdGVPYmplY3RSZWdpc3Ry
eSwgcGFnZS5pZGVudGlmaWVyKCkpCisgICAgOiBSZW1vdGVPYmplY3RSZWdpc3RyeShyZW1vdGVP
YmplY3RSZWdpc3RyeSkKICAgICAsIG1fcGFnZShwYWdlKQogewogfQpAQCAtNTUsNCArNTUsOSBA
QCBJUEM6Ok1lc3NhZ2VTZW5kZXImIFVJUmVtb3RlT2JqZWN0UmVnaXN0cnk6Om1lc3NhZ2VTZW5k
ZXIoKQogICAgIHJldHVybiBtX3BhZ2U7CiB9CiAKK3VpbnQ2NF90IFVJUmVtb3RlT2JqZWN0UmVn
aXN0cnk6Om1lc3NhZ2VEZXN0aW5hdGlvbklEKCkKK3sKKyAgICByZXR1cm4gbV9wYWdlLndlYlBh
Z2VJRCgpLnRvVUludDY0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlSZW1vdGVPYmplY3RSZWdpc3RyeS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlSZW1vdGVPYmplY3RSZWdpc3RyeS5o
CmluZGV4IDk3YTdjODY5ODMzMTY1MjY0ZDNmY2EyMjg2NWI1N2ExNjViOTk5MGUuLmM0MGI0NTM2
NjNjOWZlNTllMDZhODU1YmVkNzYzYjhmM2RiZGRmM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1VJUmVtb3RlT2JqZWN0UmVnaXN0cnkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSVJlbW90ZU9iamVjdFJlZ2lzdHJ5LmgKQEAgLTM5LDYg
KzM5LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIElQQzo6TWVzc2FnZVNlbmRlciYgbWVz
c2FnZVNlbmRlcigpIGZpbmFsOworICAgIHVpbnQ2NF90IG1lc3NhZ2VEZXN0aW5hdGlvbklEKCkg
ZmluYWw7CiAgICAgUHJvY2Vzc1Rocm90dGxlcjo6QmFja2dyb3VuZEFjdGl2aXR5VG9rZW4gdGFr
ZUJhY2tncm91bmRBY3Rpdml0eVRva2VuKCkgZmluYWw7CiAKICAgICBXZWJQYWdlUHJveHkmIG1f
cGFnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGQ5ZTEx
YTdmZTRhOTJhMGFiMjExZDEyZGZjMmU3MzJlYWRkMDQxZWMuLmQ3YWRhNDQyYjBmY2I1ZWE0Mzc5
Y2ZkNGVhYjkxYzJjZTg0ZTIzYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtMjg5MSwxMSArMjg5MSw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZWNlaXZl
ZE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbihQb2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uLCBBCiAg
ICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NTd2FwcGluZywgImRlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246IGtlZXAgdXNpbmcgcHJvY2VzcyAlaSBmb3IgbmF2
aWdhdGlvbiwgcmVhc29uOiAle3B1YmxpY31zIiwgcHJvY2Vzc0lkZW50aWZpZXIoKSwgcmVhc29u
LnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgICAgIGlmIChzaG91bGRQcm9jZXNzU3dhcCkgewotICAg
ICAgICAgICAgLy8gRklYTUU6IEFyY2hpdGVjdHVyYWxseSB3ZSBkbyBub3QgY3VycmVudGx5IHN1
cHBvcnQgbXVsdGlwbGUgV2ViUGFnZSdzIHdpdGggdGhlIHNhbWUgSUQgaW4gYSBnaXZlbiBXZWJQ
cm9jZXNzLgotICAgICAgICAgICAgLy8gSW4gdGhlIGNhc2Ugd2hlcmUgdGhlIGRlc3RpbmF0aW9u
IFdlYlByb2Nlc3MgaGFzIGEgU3VzcGVuZGVkUGFnZVByb3h5IGZvciB0aGlzIFdlYlBhZ2UsIHdl
IHNob3VsZCBoYXZlIHRocm93bgotICAgICAgICAgICAgLy8gaXQgYXdheSB0byBzdXBwb3J0IFdl
YlByb2Nlc3MgcmUtdXNlLgotICAgICAgICAgICAgQVNTRVJUKGRlc3RpbmF0aW9uU3VzcGVuZGVk
UGFnZSB8fCAhcHJvY2VzcygpLnByb2Nlc3NQb29sKCkuaGFzU3VzcGVuZGVkUGFnZUZvcihwcm9j
ZXNzRm9yTmF2aWdhdGlvbiwgKnRoaXMpKTsKLQogICAgICAgICAgICAgYXV0byBzdXNwZW5kZWRQ
YWdlID0gZGVzdGluYXRpb25TdXNwZW5kZWRQYWdlID8gcHJvY2VzcygpLnByb2Nlc3NQb29sKCku
dGFrZVN1c3BlbmRlZFBhZ2UoKmRlc3RpbmF0aW9uU3VzcGVuZGVkUGFnZSkgOiBudWxscHRyOwog
ICAgICAgICAgICAgaWYgKHN1c3BlbmRlZFBhZ2UgJiYgc3VzcGVuZGVkUGFnZS0+cGFnZUlzQ2xv
c2VkT3JDbG9zaW5nKCkpCiAgICAgICAgICAgICAgICAgc3VzcGVuZGVkUGFnZSA9IG51bGxwdHI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggYjA4OTBk
YzIxMzVjZDkyY2Q1MjRkNjc2MTM2N2ExMDYwMmU0ZDM0Mi4uOWQ1Yjk2MzEyYmRiMTAzZjZjODdm
MTFjNDExNzQ0YzJkOTM2MDQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcApAQCAtMjMzMSwxMSArMjMzMSw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBy
b2Nlc3NGb3JOYXZpZ2F0aW9uSW50ZXJuYWwoV2ViUGFnZVByb3h5JiBwYWdlLCBjb25zdCBBUEk6
CiAKICAgICAgICAgaWYgKFJlZlB0cjxXZWJQcm9jZXNzUHJveHk+IHByb2Nlc3MgPSBXZWJQcm9j
ZXNzUHJveHk6OnByb2Nlc3NGb3JJZGVudGlmaWVyKHRhcmdldEl0ZW0tPmxhc3RQcm9jZXNzSWRl
bnRpZmllcigpKSkgewogICAgICAgICAgICAgaWYgKHByb2Nlc3MtPnN0YXRlKCkgIT0gV2ViUHJv
Y2Vzc1Byb3h5OjpTdGF0ZTo6VGVybWluYXRlZCkgewotICAgICAgICAgICAgICAgIC8vIEZJWE1F
OiBBcmNoaXRlY3R1cmFsbHkgd2UgZG8gbm90IGN1cnJlbnRseSBzdXBwb3J0IG11bHRpcGxlIFdl
YlBhZ2UncyB3aXRoIHRoZSBzYW1lIElEIGluIGEgZ2l2ZW4gV2ViUHJvY2Vzcy4KLSAgICAgICAg
ICAgICAgICAvLyBJbiB0aGUgY2FzZSB3aGVyZSB0aGlzIFdlYlByb2Nlc3MgaGFzIGEgU3VzcGVu
ZGVkUGFnZVByb3h5IGZvciB0aGlzIFdlYlBhZ2UsIHdlIGNhbiB0aHJvdyBpdCBhd2F5IHRvIHN1
cHBvcnQKLSAgICAgICAgICAgICAgICAvLyBXZWJQcm9jZXNzIHJlLXVzZS4KLSAgICAgICAgICAg
ICAgICByZW1vdmVBbGxTdXNwZW5kZWRQYWdlc0ZvclBhZ2UocGFnZSwgcHJvY2Vzcy5nZXQoKSk7
Ci0KICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgd2UgcmVtb3ZlIHRoZSBwcm9jZXNzIGZy
b20gdGhlIGNhY2hlIGlmIGl0IGlzIGluIHRoZXJlIHNpbmNlIHdlJ3JlIGFib3V0IHRvIHVzZSBp
dC4KICAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy0+aXNJblByb2Nlc3NDYWNoZSgpKSB7CiAg
ICAgICAgICAgICAgICAgICAgIHdlYlByb2Nlc3NDYWNoZSgpLnJlbW92ZVByb2Nlc3MoKnByb2Nl
c3MsIFdlYlByb2Nlc3NDYWNoZTo6U2hvdWxkU2h1dERvd25Qcm9jZXNzOjpObyk7CkBAIC0yMzcz
LDEyICsyMzY4LDYgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cHJvY2Vzc0Zvck5hdmlnYXRpb25J
bnRlcm5hbChXZWJQYWdlUHJveHkmIHBhZ2UsIGNvbnN0IEFQSToKICAgICAgICAgICAgIGlmICgm
cHJvY2Vzcy0+d2Vic2l0ZURhdGFTdG9yZSgpID09IGRhdGFTdG9yZS5wdHIoKSkgewogICAgICAg
ICAgICAgICAgIExPRyhQcm9jZXNzU3dhcHBpbmcsICIoUHJvY2Vzc1N3YXBwaW5nKSBSZXVzaW5n
IGEgcHJldmlvdXNseSBjYWNoZWQgcHJvY2VzcyB3aXRoIHBpZCAlaSB0byBjb250aW51ZSBuYXZp
Z2F0aW9uIHRvIFVSTCAlcyIsIHByb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCksIHRhcmdldFVS
TC5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKIAotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBB
cmNoaXRlY3R1cmFsbHkgd2UgZG8gbm90IGN1cnJlbnRseSBzdXBwb3J0IG11bHRpcGxlIFdlYlBh
Z2UncyB3aXRoIHRoZSBzYW1lIElEIGluIGEgZ2l2ZW4gV2ViUHJvY2Vzcy4KLSAgICAgICAgICAg
ICAgICAvLyBJbiB0aGUgY2FzZSB3aGVyZSB0aGlzIFdlYlByb2Nlc3MgaGFzIGEgU3VzcGVuZGVk
UGFnZVByb3h5IGZvciB0aGlzIFdlYlBhZ2UsIHdlIGNhbiB0aHJvdyBpdCBhd2F5IHRvIHN1cHBv
cnQKLSAgICAgICAgICAgICAgICAvLyBXZWJQcm9jZXNzIHJlLXVzZS4KLSAgICAgICAgICAgICAg
ICAvLyBJbiB0aGUgZnV0dXJlIGl0IHdvdWxkIGJlIGdyZWF0IHRvIHJlZmFjdG9yLW91dCB0aGlz
IGxpbWl0YXRpb24gKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTEx
NjYpLgotICAgICAgICAgICAgICAgIHJlbW92ZUFsbFN1c3BlbmRlZFBhZ2VzRm9yUGFnZShwYWdl
LCBwcm9jZXNzKTsKLQogICAgICAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlciht
YWtlUmVmKCpwcm9jZXNzKSwgbnVsbHB0ciwgcmVhc29uKTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQpAQCAtMjM5MiwxOCArMjM4MSw3IEBAIFJlZlB0cjxXZWJQcm9jZXNzUHJveHk+IFdlYlBy
b2Nlc3NQb29sOjpmaW5kUmV1c2FibGVTdXNwZW5kZWRQYWdlUHJvY2Vzcyhjb25zdCBXCiAgICAg
YXV0byBpdCA9IG1fc3VzcGVuZGVkUGFnZXMuZmluZElmKFsmXShhdXRvJiBzdXNwZW5kZWRQYWdl
KSB7CiAgICAgICAgIHJldHVybiBzdXNwZW5kZWRQYWdlLT5wcm9jZXNzKCkucmVnaXN0cmFibGVE
b21haW4oKSA9PSByZWdpc3RyYWJsZURvbWFpbiAmJiAmc3VzcGVuZGVkUGFnZS0+cHJvY2Vzcygp
LndlYnNpdGVEYXRhU3RvcmUoKSA9PSAmZGF0YVN0b3JlOwogICAgIH0pOwotICAgIGlmIChpdCA9
PSBtX3N1c3BlbmRlZFBhZ2VzLmVuZCgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAg
IFJlZjxXZWJQcm9jZXNzUHJveHk+IHByb2Nlc3MgPSAoKml0KS0+cHJvY2VzcygpOwotCi0gICAg
Ly8gRklYTUU6IElmIHRoZSBTdXNwZW5kZWRQYWdlIGlzIGZvciB0aGlzIHBhZ2UsIHRoZW4gd2Ug
bmVlZCB0byBkZXN0cm95IHRoZSBzdXNwZW5kZWQgcGFnZSBhcyB3ZSBkbyBub3Qgc3VwcG9ydCBo
YXZpbmcKLSAgICAvLyBtdWx0aXBsZSBXZWJQYWdlcyB3aXRoIHRoZSBzYW1lIElEIGluIGEgZ2l2
ZW4gV2ViUHJvY2VzcyBjdXJyZW50bHkgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTExNjYpLgotICAgIGlmICgmKCppdCktPnBhZ2UoKSA9PSAmcGFnZSkKLSAgICAg
ICAgbV9zdXNwZW5kZWRQYWdlcy5yZW1vdmUoaXQpOwotCi0KLSAgICByZXR1cm4gcHJvY2VzczsK
KyAgICByZXR1cm4gaXQgPT0gbV9zdXNwZW5kZWRQYWdlcy5lbmQoKSA/IG51bGxwdHIgOiAmKCpp
dCktPnByb2Nlc3MoKTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzUG9vbDo6YWRkU3VzcGVuZGVkUGFn
ZShzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiYmIHN1c3BlbmRlZFBhZ2UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJSZW1v
dGVPYmplY3RSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9D
b2NvYS9XZWJSZW1vdGVPYmplY3RSZWdpc3RyeS5jcHAKaW5kZXggODdmYmIzZTFlZDQyMmNhNzhi
N2NhY2JmODhjZDIxMDQ5N2EwMDRlYy4uNDNhYjZlNzJkMmRlZWQ0MDQ0Nzc2YTA0MWVkMGMyNTQ5
N2M3MjhiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29j
b2EvV2ViUmVtb3RlT2JqZWN0UmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0NvY29hL1dlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5LmNwcApAQCAtMzIsMTAg
KzMyLDEwIEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogV2ViUmVtb3RlT2JqZWN0UmVnaXN0cnk6
OldlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5KF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICpyZW1vdGVP
YmplY3RSZWdpc3RyeSwgV2ViUGFnZSYgcGFnZSkKLSAgICA6IFJlbW90ZU9iamVjdFJlZ2lzdHJ5
KHJlbW90ZU9iamVjdFJlZ2lzdHJ5LCBwYWdlLndlYlBhZ2VQcm94eUlkZW50aWZpZXIoKSkKKyAg
ICA6IFJlbW90ZU9iamVjdFJlZ2lzdHJ5KHJlbW90ZU9iamVjdFJlZ2lzdHJ5KQogICAgICwgbV9w
YWdlKHBhZ2UpCiB7Ci0gICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuYWRkTWVzc2FnZVJlY2Vp
dmVyKE1lc3NhZ2VzOjpSZW1vdGVPYmplY3RSZWdpc3RyeTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgp
LCBtX3BhZ2Uud2ViUGFnZVByb3h5SWRlbnRpZmllcigpLCAqdGhpcyk7CisgICAgV2ViUHJvY2Vz
czo6c2luZ2xldG9uKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVPYmplY3RS
ZWdpc3RyeTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2UucGFnZUlEKCksICp0aGlzKTsK
ICAgICBwYWdlLnNldFJlbW90ZU9iamVjdFJlZ2lzdHJ5KHRoaXMpOwogfQogCkBAIC00Nyw3ICs0
Nyw3IEBAIFdlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5Ojp+V2ViUmVtb3RlT2JqZWN0UmVnaXN0cnko
KQogdm9pZCBXZWJSZW1vdGVPYmplY3RSZWdpc3RyeTo6Y2xvc2UoKQogewogICAgIGlmIChtX3Bh
Z2UucmVtb3RlT2JqZWN0UmVnaXN0cnkoKSA9PSB0aGlzKSB7Ci0gICAgICAgIFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlT2JqZWN0
UmVnaXN0cnk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlLndlYlBhZ2VQcm94eUlkZW50
aWZpZXIoKSk7CisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnJlbW92ZU1lc3NhZ2VS
ZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlT2JqZWN0UmVnaXN0cnk6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSwgbV9wYWdlLnBhZ2VJRCgpKTsKICAgICAgICAgbV9wYWdlLnNldFJlbW90ZU9iamVjdFJl
Z2lzdHJ5KG51bGxwdHIpOwogICAgIH0KIH0KQEAgLTU3LDQgKzU3LDkgQEAgSVBDOjpNZXNzYWdl
U2VuZGVyJiBXZWJSZW1vdGVPYmplY3RSZWdpc3RyeTo6bWVzc2FnZVNlbmRlcigpCiAgICAgcmV0
dXJuIG1fcGFnZTsKIH0KIAordWludDY0X3QgV2ViUmVtb3RlT2JqZWN0UmVnaXN0cnk6Om1lc3Nh
Z2VEZXN0aW5hdGlvbklEKCkKK3sKKyAgICByZXR1cm4gbV9wYWdlLndlYlBhZ2VQcm94eUlkZW50
aWZpZXIoKS50b1VJbnQ2NCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlJlbW90ZU9iamVj
dFJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJS
ZW1vdGVPYmplY3RSZWdpc3RyeS5oCmluZGV4IGI5ZTliYmM4YTdhYTYzZmI1YjYwOWI3ZjhjNjNi
YTE2ZTU4YTYzOGIuLmZmNTE5OTU5YjU3ZjIzODg2NTI0NGFlZjM2NjRiNDdlOWE1NzRhOTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlJlbW90
ZU9iamVjdFJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29jb2EvV2ViUmVtb3RlT2JqZWN0UmVnaXN0cnkuaApAQCAtNDAsNiArNDAsNyBAQCBwdWJsaWM6
CiAgICAgCiBwcml2YXRlOgogICAgIElQQzo6TWVzc2FnZVNlbmRlciYgbWVzc2FnZVNlbmRlcigp
IGZpbmFsOworICAgIHVpbnQ2NF90IG1lc3NhZ2VEZXN0aW5hdGlvbklEKCkgZmluYWw7CiAKICAg
ICBXZWJQYWdlJiBtX3BhZ2U7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZUltcGwuY3BwCmluZGV4IGRhY2Qw
ZjdmZGQ5YTc2MTYzMjQ1NTVlMzI0ZmIyYjFkZmZjMmQ0MzguLmNkMGZkOTk4MDU4MTQzNDUzOTdm
NDE0NGNmNTIwMGMxYjM5ZmU1NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJTdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlSW1wbC5jcHAKQEAgLTQyLDgg
KzQyLDE4IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CitzdGF0aWMgSGFzaE1hcDxTdG9yYWdlTmFtZXNwYWNlSW1wbDo6SWRlbnRpZmllciwgU3RvcmFn
ZU5hbWVzcGFjZUltcGwqPiYgc2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2VzKCkKK3sKKyAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTdG9yYWdlTmFtZXNwYWNlSW1wbDo6SWRlbnRpZmll
ciwgU3RvcmFnZU5hbWVzcGFjZUltcGwqPj4gbWFwOworICAgIHJldHVybiBtYXA7Cit9CisKIFJl
ZjxTdG9yYWdlTmFtZXNwYWNlSW1wbD4gU3RvcmFnZU5hbWVzcGFjZUltcGw6OmNyZWF0ZVNlc3Np
b25TdG9yYWdlTmFtZXNwYWNlKElkZW50aWZpZXIgaWRlbnRpZmllciwgUGFnZUlkZW50aWZpZXIg
cGFnZUlELCB1bnNpZ25lZCBxdW90YUluQnl0ZXMsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkK
IHsKKyAgICAvLyBUaGUgaWRlbnRpZmllciBvZiBhIHNlc3Npb24gc3RvcmFnZSBuYW1lc3BhY2Ug
aXMgdGhlIFdlYlBhZ2VQcm94eUlkZW50aWZpZXIuIEl0IGlzIHBvc3NpYmxlIHdlIGhhdmUgc2V2
ZXJhbCBXZWJQYWdlIG9iamVjdHMgaW4gYSBzaW5nbGUgcHJvY2VzcyBmb3IgdGhlIHNhbWUKKyAg
ICAvLyBXZWJQYWdlUHJveHlJZGVudGlmaWVyIGFuZCB0aGVzZSBuZWVkIHRvIHNoYXJlIHRoZSBz
YW1lIG5hbWVzcGFjZSBpbnN0YW5jZSBzbyB3ZSBrbm93IHdoZXJlIHRvIHJvdXRlIHRoZSBJUEMg
dG8uCisgICAgaWYgKGF1dG8qIGV4aXN0aW5nTmFtZXNwYWNlID0gc2Vzc2lvblN0b3JhZ2VOYW1l
c3BhY2VzKCkuZ2V0KGlkZW50aWZpZXIpKQorICAgICAgICByZXR1cm4gKmV4aXN0aW5nTmFtZXNw
YWNlOwogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0b3JhZ2VOYW1lc3BhY2VJbXBsKFN0b3Jh
Z2VUeXBlOjpTZXNzaW9uLCBpZGVudGlmaWVyLCBwYWdlSUQsIG51bGxwdHIsIHF1b3RhSW5CeXRl
cywgc2Vzc2lvbklEKSk7CiB9CiAKQEAgLTY2LDEwICs3NiwxOSBAQCBTdG9yYWdlTmFtZXNwYWNl
SW1wbDo6U3RvcmFnZU5hbWVzcGFjZUltcGwoV2ViQ29yZTo6U3RvcmFnZVR5cGUgc3RvcmFnZVR5
cGUsIElkZQogICAgICwgbV9zZXNzaW9uSUQoc2Vzc2lvbklEKQogewogICAgIEFTU0VSVChzdG9y
YWdlVHlwZSA9PSBTdG9yYWdlVHlwZTo6U2Vzc2lvbiB8fCAhbV9zZXNzaW9uUGFnZUlEKTsKKyAg
ICAKKyAgICBpZiAobV9zdG9yYWdlVHlwZSA9PSBTdG9yYWdlVHlwZTo6U2Vzc2lvbikgeworICAg
ICAgICBBU1NFUlQoIXNlc3Npb25TdG9yYWdlTmFtZXNwYWNlcygpLmNvbnRhaW5zKG1fc3RvcmFn
ZU5hbWVzcGFjZUlEKSk7CisgICAgICAgIHNlc3Npb25TdG9yYWdlTmFtZXNwYWNlcygpLmFkZCht
X3N0b3JhZ2VOYW1lc3BhY2VJRCwgdGhpcyk7CisgICAgfQogfQogCiBTdG9yYWdlTmFtZXNwYWNl
SW1wbDo6flN0b3JhZ2VOYW1lc3BhY2VJbXBsKCkKIHsKKyAgICBpZiAobV9zdG9yYWdlVHlwZSA9
PSBTdG9yYWdlVHlwZTo6U2Vzc2lvbikgeworICAgICAgICBib29sIHdhc1JlbW92ZWQgPSBzZXNz
aW9uU3RvcmFnZU5hbWVzcGFjZXMoKS5yZW1vdmUobV9zdG9yYWdlTmFtZXNwYWNlSUQpOworICAg
ICAgICBBU1NFUlRfVU5VU0VEKHdhc1JlbW92ZWQsIHdhc1JlbW92ZWQpOworICAgIH0KIH0KIAog
dm9pZCBTdG9yYWdlTmFtZXNwYWNlSW1wbDo6ZGlkRGVzdHJveVN0b3JhZ2VBcmVhTWFwKFN0b3Jh
Z2VBcmVhTWFwJiBtYXApCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>