<?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>192720</bug_id>
          
          <creation_ts>2018-12-14 15:29:05 -0800</creation_ts>
          <short_desc>MediaRecorderPrivateAVFImpl should have a Ref&lt;MediaRecorderPrivateWriter&gt; as member</short_desc>
          <delta_ts>2018-12-14 17:07:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1488077</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-14 15:29:05 -0800</bug_when>
    <thetext>MediaRecorderPrivateAVFImpl should to a Ref&lt;MediaRecorderPrivateWriter&gt; as member</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488080</commentid>
    <comment_count>1</comment_count>
      <attachid>357349</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-14 15:36:10 -0800</bug_when>
    <thetext>Created attachment 357349
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488081</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-14 15:37:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/46734826&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488082</commentid>
    <comment_count>3</comment_count>
      <attachid>357350</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-14 15:38:06 -0800</bug_when>
    <thetext>Created attachment 357350
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488088</commentid>
    <comment_count>4</comment_count>
      <attachid>357352</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-14 15:56:09 -0800</bug_when>
    <thetext>Created attachment 357352
Fix Mac build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488130</commentid>
    <comment_count>5</comment_count>
      <attachid>357352</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-14 17:07:26 -0800</bug_when>
    <thetext>Comment on attachment 357352
Fix Mac build

Clearing flags on attachment: 357352

Committed r239243: &lt;https://trac.webkit.org/changeset/239243&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488131</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-14 17:07:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357349</attachid>
            <date>2018-12-14 15:36:10 -0800</date>
            <delta_ts>2018-12-14 15:38:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192720-20181214153617.patch</filename>
            <type>text/plain</type>
            <size>18995</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYzNTE5YjUwMTRkMjY5
NWFmOGUwODc4YzZmNmQ3ODBiNGQwMzA4ZC4uYmEzMDhmZTI4YTI1MGEzMjA0NjE2MzAwODYyODcz
MjZlOTI1OWEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE4LTEyLTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGwgc2hvdWxkIHRvIGEgUmVmPE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiBh
cyBtZW1iZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MjcyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE1ha2Ugc3VyZSB0aGF0IE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbCB0YWtlcyBhIFJlZjxN
ZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4gYXMgbWVtYmVyLAorICAgICAgICBhcyB0aGUgbGF0
dGVyIGlzIGEgcmVmIGNvdW50ZWQgb2JqZWN0LgorICAgICAgICBNYWRlIHNvbWUgcmVmYWN0b3Jp
bmcgdG8gcmV0dXJuIGVhcmx5IGluIGNhc2Ugb2YgZXJyb3IuCisKKyAgICAgICAgQWxzbyBtYWRl
IHN1cmUgdGhhdCBpbiB0aGUgY2FzZSBvZiBhIE1lZGlhUmVjb3JkZXIgc3RvcHBlZCBieSBhIHRy
YWNrIHJlbW92YWwgaW4gdGhlIHJlY29yZGVkIHN0cmVhbQorICAgICAgICB0aGUgTWVkaWFSZWNv
cmRlciB3aWxsIHN0b3AgbGlzdGVuaW5nIGZvciBpdHMgdHJhY2tzLgorICAgICAgICBPdGhlcndp
c2UsIHRoZSB0cmFja3Mgd2lsbCBjb250aW51ZSBjYWxsaW5nIHRoZSBNZWRpYVJlY29yZGVyIGV2
ZW4gYWZ0ZXIgaXQgaXMgZGVhZC4KKworICAgICAgICBUZXN0OiBodHRwL3dwdC9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXItb25yZW1vdmV0cmFjay5odG1sCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVJlY29yZGVyOjpkaWRBZGRPclJlbW92ZVRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UmVjb3JkZXI6OnNldE5ld1JlY29yZGluZ1N0YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6TWVkaWFSZWNvcmRlclByaXZhdGVB
VkZJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6
c2FtcGxlQnVmZmVyVXBkYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGw6OmF1ZGlvU2FtcGxlc0F2YWlsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OnN0b3BSZWNvcmRpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpmZXRjaERhdGEpOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0
ZVdyaXRlckNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9N
ZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmFwcGVuZEF1ZGlvU2Ft
cGxlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVy
OjpzZXR1cFdyaXRlcik6IERlbGV0ZWQuCisKIDIwMTgtMTItMTQgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIGdldFNlbmRlcnMvZ2V0UmVjZWl2ZXJzKCkgc2hv
dWxkIG5vdCByZXR1cm4gY2xvc2VkIHRyYW5zY2VpdmVyIHNlbmRlcnMvcmVjZWl2ZXJzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
ci5jcHAKaW5kZXggYTc4ZDRiZTdlZjk5MDk3MWYwOWQ5OGU0ZGVjNTM2ZGJkZDliMTliOS4uZWU4
NzQxZDY0Y2NiNDU4NjY4NzkzZTYxZDgzNTVmZGQxMmE4OTNlYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcApAQCAt
MTYxLDggKzE2MSw5IEBAIHZvaWQgTWVkaWFSZWNvcmRlcjo6ZGlkQWRkT3JSZW1vdmVUcmFjaygp
CiAgICAgc2NoZWR1bGVEZWZlcnJlZFRhc2soW3RoaXNdIHsKICAgICAgICAgaWYgKCFtX2lzQWN0
aXZlIHx8IHN0YXRlKCkgPT0gUmVjb3JkaW5nU3RhdGU6OkluYWN0aXZlKQogICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICBzdG9wUmVjb3JkaW5nSW50ZXJuYWwoKTsKICAgICAgICAgYXV0byBl
dmVudCA9IE1lZGlhUmVjb3JkZXJFcnJvckV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9y
RXZlbnQsIEV4Y2VwdGlvbiB7IFVua25vd25FcnJvciwgIlRyYWNrIGNhbm5vdCBiZSBhZGRlZCB0
byBvciByZW1vdmVkIGZyb20gdGhlIE1lZGlhU3RyZWFtIHdoaWxlIHJlY29yZGluZyBpcyBoYXBw
ZW5pbmciX3MgfSk7Ci0gICAgICAgIHNldE5ld1JlY29yZGluZ1N0YXRlKFJlY29yZGluZ1N0YXRl
OjpJbmFjdGl2ZSwgV1RGTW92ZShldmVudCkpOworICAgICAgICBkaXNwYXRjaEV2ZW50KFdURk1v
dmUoZXZlbnQpKTsKICAgICB9KTsKIH0KIApAQCAtMTg3LDEyICsxODgsNiBAQCB2b2lkIE1lZGlh
UmVjb3JkZXI6OmF1ZGlvU2FtcGxlc0F2YWlsYWJsZShNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYg
dHJhY2ssIGNvbnN0CiAgICAgbV9wcml2YXRlLT5hdWRpb1NhbXBsZXNBdmFpbGFibGUodHJhY2ss
IG1lZGlhVGltZSwgYXVkaW9EYXRhLCBkZXNjcmlwdGlvbiwgc2FtcGxlQ291bnQpOwogfQogCi12
b2lkIE1lZGlhUmVjb3JkZXI6OnNldE5ld1JlY29yZGluZ1N0YXRlKFJlY29yZGluZ1N0YXRlIG5l
d1N0YXRlLCBSZWY8RXZlbnQ+JiYgZXZlbnQpCi17Ci0gICAgbV9zdGF0ZSA9IG5ld1N0YXRlOwot
ICAgIGRpc3BhdGNoRXZlbnQoV1RGTW92ZShldmVudCkpOwotfQotCiB2b2lkIE1lZGlhUmVjb3Jk
ZXI6OnNjaGVkdWxlRGVmZXJyZWRUYXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKIHsK
ICAgICBBU1NFUlQoZnVuY3Rpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmgKaW5kZXggOGM1YTYxMTJjNTM4NmY0NjM3OGMw
NWU0NDZmZjI3YjY0NTllMWIxZi4uZTE5OTUzMDg3MDk1ZWIxMmEyNTA2YmY5MDE3ZDczZDhlYzNk
ZjdlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01l
ZGlhUmVjb3JkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlci5oCkBAIC0xMDMsNyArMTAzLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGF1
ZGlvU2FtcGxlc0F2YWlsYWJsZShNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYsIGNvbnN0IE1lZGlh
VGltZSYsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlw
dGlvbiYsIHNpemVfdCkgZmluYWw7CiAgICAgCiAgICAgdm9pZCBzY2hlZHVsZURlZmVycmVkVGFz
ayhGdW5jdGlvbjx2b2lkKCk+JiYpOwotICAgIHZvaWQgc2V0TmV3UmVjb3JkaW5nU3RhdGUoUmVj
b3JkaW5nU3RhdGUsIFJlZjxFdmVudD4mJik7CiAgICAgCiAgICAgc3RhdGljIGNyZWF0b3JGdW5j
dGlvbiBtX2N1c3RvbUNyZWF0b3I7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRl
QVZGSW1wbC5jcHAKaW5kZXggM2I5NTIyODg3NjE3YTQ5YTFkMWM4OTU4Y2M0MGRiMmI1ZDg3NjQz
My4uMWI5ZGM1MzQ1Yjg4MWViMzZkOTZmY2UzNTgyZGYwZTU0YTEzODViYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0
ZUFWRkltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcApAQCAtMzgsNTggKzM4LDU1IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogc3RkOjp1bmlxdWVfcHRyPE1lZGlhUmVjb3JkZXJQcml2YXRlQVZG
SW1wbD4gTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpjcmVhdGUoY29uc3QgTWVkaWFTdHJl
YW1Qcml2YXRlJiBzdHJlYW0pCiB7Ci0gICAgYXV0byBpbnN0YW5jZSA9IHN0ZDo6dW5pcXVlX3B0
cjxNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw+KG5ldyBNZWRpYVJlY29yZGVyUHJpdmF0ZUFW
RkltcGwoc3RyZWFtKSk7Ci0gICAgaWYgKCFpbnN0YW5jZS0+bV9pc1dyaXRlclJlYWR5KQotICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICByZXR1cm4gaW5zdGFuY2U7Ci19CisgICAgLy8gRklY
TUU6IHdlIHdpbGwgbmVlZCB0byBpbXBsZW1lbnQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgYXVkaW8v
dmlkZW8gdHJhY2tzCisgICAgLy8gQ3VycmVudGx5IHdlIG9ubHkgY2hvb3NlIHRoZSBmaXJzdCB0
cmFjayBhcyB0aGUgcmVjb3JkZWQgdHJhY2suCisgICAgLy8gRklYTUU6IFdlIHdvdWxkIGJldHRl
ciB0byB0aHJvdyBhbiBleGNlcHRpb24gdG8gSmF2YVNjcmlwdCBpZiB3cml0ZXIgY3JlYXRpb24g
ZmFpbHMuCiAKLU1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6TWVkaWFSZWNvcmRlclByaXZh
dGVBVkZJbXBsKGNvbnN0IE1lZGlhU3RyZWFtUHJpdmF0ZSYgc3RyZWFtKQotewotICAgIGlmICgh
bV93cml0ZXIuc2V0dXBXcml0ZXIoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGF1dG8gdHJhY2tz
ID0gc3RyZWFtLnRyYWNrcygpOwotICAgIGJvb2wgdmlkZW9TZWxlY3RlZCA9IGZhbHNlOwotICAg
IGJvb2wgYXVkaW9TZWxlY3RlZCA9IGZhbHNlOwotICAgIGZvciAoYXV0byYgdHJhY2sgOiB0cmFj
a3MpIHsKKyAgICBTdHJpbmcgYXVkaW9UcmFja0lkOworICAgIFN0cmluZyB2aWRlb1RyYWNrSWQ7
CisgICAgY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUqIGF1ZGlvVHJhY2sgeyBudWxscHRy
IH07CisgICAgY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUqIHZpZGVvVHJhY2sgeyBudWxs
cHRyIH07CisgICAgZm9yIChhdXRvJiB0cmFjayA6IHN0cmVhbS50cmFja3MoKSkgewogICAgICAg
ICBpZiAoIXRyYWNrLT5lbmFibGVkKCkgfHwgdHJhY2stPmVuZGVkKCkpCiAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgc3dpdGNoICh0cmFjay0+dHlwZSgpKSB7CiAgICAgICAgIGNhc2Ug
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86IHsKICAgICAgICAgICAgIGF1dG8mIHNl
dHRpbmdzID0gdHJhY2stPnNldHRpbmdzKCk7Ci0gICAgICAgICAgICBpZiAodmlkZW9TZWxlY3Rl
ZCB8fCAhc2V0dGluZ3Muc3VwcG9ydHNXaWR0aCgpIHx8ICFzZXR0aW5ncy5zdXBwb3J0c0hlaWdo
dCgpKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgLy8gRklYTUU6IHdlIHdp
bGwgbmVlZCB0byBpbXBsZW1lbnQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgdmlkZW8gdHJhY2tzLCBj
dXJyZW50bHkgd2Ugb25seSBjaG9vc2UgdGhlIGZpcnN0IHRyYWNrIGFzIHRoZSByZWNvcmRlZCB0
cmFjay4KLSAgICAgICAgICAgIC8vIEZJWE1FOiB3ZSB3b3VsZCBiZXR0ZXIgdG8gdGhyb3cgYW4g
ZXhjZXB0aW9uIHRvIEphdmFTY3JpcHQgaWYgc2V0VmlkZW9JbnB1dCBmYWlsZWQKLSAgICAgICAg
ICAgIGlmICghbV93cml0ZXIuc2V0VmlkZW9JbnB1dChzZXR0aW5ncy53aWR0aCgpLCBzZXR0aW5n
cy5oZWlnaHQoKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgbV9yZWNv
cmRlZFZpZGVvVHJhY2tJRCA9IHRyYWNrLT5pZCgpOwotICAgICAgICAgICAgdmlkZW9TZWxlY3Rl
ZCA9IHRydWU7CisgICAgICAgICAgICBpZiAoIXZpZGVvVHJhY2sgJiYgc2V0dGluZ3Muc3VwcG9y
dHNXaWR0aCgpICYmIHNldHRpbmdzLnN1cHBvcnRzSGVpZ2h0KCkpIHsKKyAgICAgICAgICAgICAg
ICB2aWRlb1RyYWNrID0gdHJhY2suZ2V0KCk7CisgICAgICAgICAgICAgICAgdmlkZW9UcmFja0lk
ID0gdmlkZW9UcmFjay0+aWQoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9Ci0gICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86
IHsKLSAgICAgICAgICAgIGlmIChhdWRpb1NlbGVjdGVkKQotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgLy8gRklYTUU6IHdlIHdpbGwgbmVlZCB0byBpbXBsZW1lbnQgc3VwcG9y
dCBmb3IgbXVsdGlwbGUgYXVkaW8gdHJhY2tzLCBjdXJyZW50bHkgd2Ugb25seSBjaG9vc2UgdGhl
IGZpcnN0IHRyYWNrIGFzIHRoZSByZWNvcmRlZCB0cmFjay4KLSAgICAgICAgICAgIC8vIEZJWE1F
OiB3ZSB3b3VsZCBiZXR0ZXIgdG8gdGhyb3cgYW4gZXhjZXB0aW9uIHRvIEphdmFTY3JpcHQgaWYg
c2V0QXVkaW9JbnB1dCBmYWlsZWQKLSAgICAgICAgICAgIGlmICghbV93cml0ZXIuc2V0QXVkaW9J
bnB1dCgpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIG1fcmVjb3JkZWRB
dWRpb1RyYWNrSUQgPSB0cmFjay0+aWQoKTsKLSAgICAgICAgICAgIGF1ZGlvU2VsZWN0ZWQgPSB0
cnVlOworICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgorICAg
ICAgICAgICAgaWYgKCFhdWRpb1RyYWNrKSB7CisgICAgICAgICAgICAgICAgYXVkaW9UcmFjayA9
IHRyYWNrLmdldCgpOworICAgICAgICAgICAgICAgIGF1ZGlvVHJhY2tJZCA9IGF1ZGlvVHJhY2st
PmlkKCk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQogICAg
ICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQogICAgIH0KLSAgICBtX2lzV3JpdGVyUmVhZHkgPSB0cnVlOworICAg
IGF1dG8gd3JpdGVyID0gTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmNyZWF0ZShhdWRpb1Ry
YWNrLCB2aWRlb1RyYWNrKTsKKyAgICBpZiAoIXdyaXRlcikKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxNZWRpYVJlY29yZGVyUHJpdmF0ZUFW
RkltcGw+KHdyaXRlci5yZWxlYXNlTm9uTnVsbCgpLCBXVEZNb3ZlKGF1ZGlvVHJhY2tJZCksIFdU
Rk1vdmUodmlkZW9UcmFja0lkKSk7Cit9CisKK01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6
TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsKFJlZjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRl
cj4mJiB3cml0ZXIsIFN0cmluZyYmIGF1ZGlvVHJhY2tJZCwgU3RyaW5nJiYgdmlkZW9UcmFja0lk
KQorICAgIDogbV93cml0ZXIoV1RGTW92ZSh3cml0ZXIpKQorICAgICwgbV9yZWNvcmRlZEF1ZGlv
VHJhY2tJRChXVEZNb3ZlKGF1ZGlvVHJhY2tJZCkpCisgICAgLCBtX3JlY29yZGVkVmlkZW9UcmFj
a0lEKFdURk1vdmUodmlkZW9UcmFja0lkKSkKK3sKIH0KIAogdm9pZCBNZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGw6OnNhbXBsZUJ1ZmZlclVwZGF0ZWQoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUm
IHRyYWNrLCBNZWRpYVNhbXBsZSYgc2FtcGxlQnVmZmVyKQogewogICAgIGlmICh0cmFjay5pZCgp
ICE9IG1fcmVjb3JkZWRWaWRlb1RyYWNrSUQpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3dyaXRl
ci5hcHBlbmRWaWRlb1NhbXBsZUJ1ZmZlcihzYW1wbGVCdWZmZXIucGxhdGZvcm1TYW1wbGUoKS5z
YW1wbGUuY21TYW1wbGVCdWZmZXIpOworICAgIG1fd3JpdGVyLT5hcHBlbmRWaWRlb1NhbXBsZUJ1
ZmZlcihzYW1wbGVCdWZmZXIucGxhdGZvcm1TYW1wbGUoKS5zYW1wbGUuY21TYW1wbGVCdWZmZXIp
OwogfQogCiB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6YXVkaW9TYW1wbGVzQXZh
aWxhYmxlKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiB0cmFjaywgY29uc3QgV1RGOjpNZWRpYVRp
bWUmIG1lZGlhVGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmIGRhdGEsIGNvbnN0IEF1ZGlv
U3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBzaXplX3Qgc2FtcGxlQ291bnQpCkBAIC05
OCwxNyArOTUsMTcgQEAgdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OmF1ZGlvU2Ft
cGxlc0F2YWlsYWJsZShNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYKICAgICAgICAgcmV0dXJuOwog
ICAgIEFTU0VSVChpczxXZWJBdWRpb0J1ZmZlckxpc3Q+KGRhdGEpKTsKICAgICBBU1NFUlQoZGVz
Y3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1EZXNjcmlwdGlv
bjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7Ci0gICAgbV93cml0ZXIuYXBwZW5kQXVkaW9TYW1w
bGVCdWZmZXIoZGF0YSwgZGVzY3JpcHRpb24sIG1lZGlhVGltZSwgc2FtcGxlQ291bnQpOworICAg
IG1fd3JpdGVyLT5hcHBlbmRBdWRpb1NhbXBsZUJ1ZmZlcihkYXRhLCBkZXNjcmlwdGlvbiwgbWVk
aWFUaW1lLCBzYW1wbGVDb3VudCk7CiB9CiAKIHZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJ
bXBsOjpzdG9wUmVjb3JkaW5nKCkKIHsKLSAgICBtX3dyaXRlci5zdG9wUmVjb3JkaW5nKCk7Cisg
ICAgbV93cml0ZXItPnN0b3BSZWNvcmRpbmcoKTsKIH0KIAogUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpmZXRjaERhdGEoKQogewotICAgIHJldHVybiBt
X3dyaXRlci5mZXRjaERhdGEoKTsKKyAgICByZXR1cm4gbV93cml0ZXItPmZldGNoRGF0YSgpOwog
fQogCiBjb25zdCBTdHJpbmcmIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6bWltZVR5cGUo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgKaW5kZXggMmY5MjNjMjQ3ZDZj
MjRmZTYwNGY3NzJkZWE2OGU1MDQ5OGUyMDI2ZS4uZDRhZGIxNTJiZDRiYWVmN2VmN2JmMDU1ZjZk
OWE4M2Q4NjdlNjdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oCkBA
IC0zOCw3ICszOCw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPE1lZGlh
UmVjb3JkZXJQcml2YXRlQVZGSW1wbD4gY3JlYXRlKGNvbnN0IE1lZGlhU3RyZWFtUHJpdmF0ZSYp
OwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbChj
b25zdCBNZWRpYVN0cmVhbVByaXZhdGUmKTsKKyAgICBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRklt
cGwoUmVmPE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiYmLCBTdHJpbmcmJiBhdWRpb1RyYWNr
SWQsIFN0cmluZyYmIHZpZGVvVHJhY2tJZCk7CisKKyAgICBmcmllbmQgc3RkOjp1bmlxdWVfcHRy
PE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbD4gc3RkOjptYWtlX3VuaXF1ZTxNZWRpYVJlY29y
ZGVyUHJpdmF0ZUFWRkltcGw+KFJlZjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4mJiwgU3Ry
aW5nJiYsIFN0cmluZyYmKTsKIAogICAgIHZvaWQgc2FtcGxlQnVmZmVyVXBkYXRlZChNZWRpYVN0
cmVhbVRyYWNrUHJpdmF0ZSYsIE1lZGlhU2FtcGxlJikgZmluYWw7CiAgICAgdm9pZCBhdWRpb1Nh
bXBsZXNBdmFpbGFibGUoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmLCBjb25zdCBXVEY6Ok1lZGlh
VGltZSYsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlw
dGlvbiYsIHNpemVfdCkgZmluYWw7CkBAIC00NiwxMiArNDgsOSBAQCBwcml2YXRlOgogICAgIGNv
bnN0IFN0cmluZyYgbWltZVR5cGUoKSBmaW5hbDsKICAgICB2b2lkIHN0b3BSZWNvcmRpbmcoKTsK
ICAgICAKLSAgICBTdHJpbmcgbV9yZWNvcmRlZFZpZGVvVHJhY2tJRDsKKyAgICBSZWY8TWVkaWFS
ZWNvcmRlclByaXZhdGVXcml0ZXI+IG1fd3JpdGVyOwogICAgIFN0cmluZyBtX3JlY29yZGVkQXVk
aW9UcmFja0lEOwotCi0gICAgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIgbV93cml0ZXI7Ci0g
ICAgCi0gICAgYm9vbCBtX2lzV3JpdGVyUmVhZHkgeyBmYWxzZSB9OworICAgIFN0cmluZyBtX3Jl
Y29yZGVkVmlkZW9UcmFja0lEOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJl
Y29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaAppbmRleCA0
NjQ3NDVhM2FjNjY2NmRkZGQ2MWE4MTc3Yzg3ODFjY2VhNjhhNmZiLi5iNGE4MWFlNDRjZjVlOWJm
NjhjMGQ5NzA4ZDlkMGY5YzkxNTYyZTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2Eu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaApAQCAtNDUsMTEgKzQ1LDEyIEBAIGNsYXNzIE1l
ZGlhVGltZTsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXVkaW9TdHJlYW1EZXNjcmlw
dGlvbjsKK2NsYXNzIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOwogY2xhc3MgUGxhdGZvcm1BdWRp
b0RhdGE7CiAKIGNsYXNzIE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyIDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VudGVkPE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyLCBXVEY6OkRlc3RydWN0
aW9uVGhyZWFkOjpNYWluPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPE1lZGlhUmVjb3JkZXJQcml2
YXRlV3JpdGVyPiB7CiBwdWJsaWM6Ci0gICAgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIoKSA9
IGRlZmF1bHQ7CisgICAgc3RhdGljIFJlZlB0cjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4g
Y3JlYXRlKGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlKiBhdWRpb1RyYWNrLCBjb25zdCBN
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSogdmlkZW9UcmFjayk7CiAgICAgfk1lZGlhUmVjb3JkZXJQ
cml2YXRlV3JpdGVyKCk7CiAgICAgCiAgICAgYm9vbCBzZXR1cFdyaXRlcigpOwpAQCAtNjEsNiAr
NjIsNyBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZmV0Y2hEYXRhKCk7CiAg
ICAgCiBwcml2YXRlOgorICAgIE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyKFJldGFpblB0cjxB
VkFzc2V0V3JpdGVyPiYmLCBTdHJpbmcmJiBwYXRoKTsKICAgICB2b2lkIGNsZWFyKCk7CiAKICAg
ICBSZXRhaW5QdHI8QVZBc3NldFdyaXRlcj4gbV93cml0ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRl
V3JpdGVyQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2Nv
Y29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW0KaW5kZXggNjM0MzI4NzgyNThi
NzUyNDM5ZWEwNTM4MDhjYWFmY2QxOTc5NzBhYS4uODQzYTBmZDljM2Q0YWE2NjZiYTQ4MTY0NWU2
MWQ1Njg0NTgyZGQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclBy
aXZhdGVXcml0ZXJDb2NvYS5tbQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkF1ZGlvU3Ry
ZWFtRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiTG9n
Z2luZy5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmgiCiAjaW5jbHVkZSAi
V2ViQXVkaW9CdWZmZXJMaXN0LmgiCiAjaW5jbHVkZSA8QVZGb3VuZGF0aW9uL0FWQXNzZXRXcml0
ZXIuaD4KICNpbmNsdWRlIDxBVkZvdW5kYXRpb24vQVZBc3NldFdyaXRlcklucHV0Lmg+CkBAIC04
Niw2ICs4Nyw0MSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBQQUw7
CiAKK1JlZlB0cjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4gTWVkaWFSZWNvcmRlclByaXZh
dGVXcml0ZXI6OmNyZWF0ZShjb25zdCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSogYXVkaW9UcmFj
aywgY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUqIHZpZGVvVHJhY2spCit7CisgICAgTlNT
dHJpbmcgKmRpcmVjdG9yeSA9IEZpbGVTeXN0ZW06OmNyZWF0ZVRlbXBvcmFyeURpcmVjdG9yeShA
InZpZGVvcyIpOworICAgIE5TU3RyaW5nICpmaWxlbmFtZSA9IFtOU1N0cmluZyBzdHJpbmdXaXRo
Rm9ybWF0OkAiLyVsbGQubXA0IiwgQ01DbG9ja0dldFRpbWUoQ01DbG9ja0dldEhvc3RUaW1lQ2xv
Y2soKSkudmFsdWVdOworICAgIE5TU3RyaW5nICpwYXRoID0gW2RpcmVjdG9yeSBzdHJpbmdCeUFw
cGVuZGluZ1N0cmluZzpmaWxlbmFtZV07CisKKyAgICBOU1VSTCAqb3V0cHV0VVJMID0gW05TVVJM
IGZpbGVVUkxXaXRoUGF0aDpwYXRoXTsKKyAgICBTdHJpbmcgZmlsZVBhdGggPSBbcGF0aCBVVEY4
U3RyaW5nXTsKKyAgICBOU0Vycm9yICplcnJvciA9IG5pbDsKKyAgICBhdXRvIGF2QXNzZXRXcml0
ZXIgPSBhZG9wdE5TKFthbGxvY0FWQXNzZXRXcml0ZXJJbnN0YW5jZSgpIGluaXRXaXRoVVJMOm91
dHB1dFVSTCBmaWxlVHlwZTpBVkZpbGVUeXBlTVBFRzQgZXJyb3I6JmVycm9yXSk7CisgICAgaWYg
KGVycm9yKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhU3RyZWFtLCAiY3JlYXRl
IEFWQXNzZXRXcml0ZXIgaW5zdGFuY2UgZmFpbGVkIHdpdGggZXJyb3IgY29kZSAlbGQiLCAobG9u
ZyllcnJvci5jb2RlKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgYXV0
byB3cml0ZXIgPSBhZG9wdFJlZigqbmV3IE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyKFdURk1v
dmUoYXZBc3NldFdyaXRlciksIFdURk1vdmUoZmlsZVBhdGgpKSk7CisKKyAgICBpZiAoYXVkaW9U
cmFjayAmJiAhd3JpdGVyLT5zZXRBdWRpb0lucHV0KCkpCisgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgaWYgKHZpZGVvVHJhY2spIHsKKyAgICAgICAgYXV0byYgc2V0dGluZ3MgPSB2aWRl
b1RyYWNrLT5zZXR0aW5ncygpOworICAgICAgICBpZiAoIXdyaXRlci0+c2V0VmlkZW9JbnB1dChz
ZXR0aW5ncy53aWR0aCgpLCBzZXR0aW5ncy5oZWlnaHQoKSkpCisgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICB9CisKKyAgICByZXR1cm4gd3JpdGVyOworfQorCitNZWRpYVJlY29yZGVy
UHJpdmF0ZVdyaXRlcjo6TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIoUmV0YWluUHRyPEFWQXNz
ZXRXcml0ZXI+JiYgYXZBc3NldFdyaXRlciwgU3RyaW5nJiYgZmlsZVBhdGgpCisgICAgOiBtX3dy
aXRlcihXVEZNb3ZlKGF2QXNzZXRXcml0ZXIpKQorICAgICwgbV9wYXRoKFdURk1vdmUoZmlsZVBh
dGgpKQoreworfQorCiBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6fk1lZGlhUmVjb3JkZXJQ
cml2YXRlV3JpdGVyKCkKIHsKICAgICBjbGVhcigpOwpAQCAtMTA1LDI2ICsxNDEsNiBAQCB2b2lk
IE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjpjbGVhcigpCiAgICAgICAgIG1fd3JpdGVyLmNs
ZWFyKCk7CiB9CiAKLWJvb2wgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OnNldHVwV3JpdGVy
KCkKLXsKLSAgICBBU1NFUlQoIW1fd3JpdGVyKTsKLSAgICAKLSAgICBOU1N0cmluZyAqZGlyZWN0
b3J5ID0gRmlsZVN5c3RlbTo6Y3JlYXRlVGVtcG9yYXJ5RGlyZWN0b3J5KEAidmlkZW9zIik7Ci0g
ICAgTlNTdHJpbmcgKmZpbGVuYW1lID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIvJWxs
ZC5tcDQiLCBDTUNsb2NrR2V0VGltZShDTUNsb2NrR2V0SG9zdFRpbWVDbG9jaygpKS52YWx1ZV07
Ci0gICAgTlNTdHJpbmcgKnBhdGggPSBbZGlyZWN0b3J5IHN0cmluZ0J5QXBwZW5kaW5nU3RyaW5n
OmZpbGVuYW1lXTsKLQotICAgIE5TVVJMICpvdXRwdXRVUkwgPSBbTlNVUkwgZmlsZVVSTFdpdGhQ
YXRoOnBhdGhdOwotICAgIG1fcGF0aCA9IFtwYXRoIFVURjhTdHJpbmddOwotICAgIE5TRXJyb3Ig
KmVycm9yID0gbmlsOwotICAgIG1fd3JpdGVyID0gYWRvcHROUyhbYWxsb2NBVkFzc2V0V3JpdGVy
SW5zdGFuY2UoKSBpbml0V2l0aFVSTDpvdXRwdXRVUkwgZmlsZVR5cGU6QVZGaWxlVHlwZU1QRUc0
IGVycm9yOiZlcnJvcl0pOwotICAgIGlmIChlcnJvcikgewotICAgICAgICBSRUxFQVNFX0xPR19F
UlJPUihNZWRpYVN0cmVhbSwgImNyZWF0ZSBBVkFzc2V0V3JpdGVyIGluc3RhbmNlIGZhaWxlZCB3
aXRoIGVycm9yIGNvZGUgJWxkIiwgKGxvbmcpZXJyb3IuY29kZSk7Ci0gICAgICAgIG1fd3JpdGVy
ID0gbnVsbHB0cjsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICByZXR1cm4gdHJ1
ZTsKLX0KLQogYm9vbCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6c2V0VmlkZW9JbnB1dChp
bnQgd2lkdGgsIGludCBoZWlnaHQpCiB7CiAgICAgQVNTRVJUKCFtX3ZpZGVvSW5wdXQpOwpAQCAt
MjYwLDcgKzI3Niw3IEBAIHZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmFwcGVuZEF1
ZGlvU2FtcGxlQnVmZmVyKGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhCiAgICAgICAgIH0KICAgICAg
ICAgbV9pc0ZpcnN0QXVkaW9TYW1wbGUgPSBmYWxzZTsKICAgICAgICAgUmVmUHRyPE1lZGlhUmVj
b3JkZXJQcml2YXRlV3JpdGVyPiBwcm90ZWN0ZWRUaGlzID0gdGhpczsKLSAgICAgICAgW21fYXVk
aW9JbnB1dCByZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5T25RdWV1ZTptX2F1ZGlvUHVsbFF1ZXVl
IHVzaW5nQmxvY2s6W3RoaXMsIHByb3RlY3RlZFRoaXNdIHsKKyAgICAgICAgW21fYXVkaW9JbnB1
dCByZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5T25RdWV1ZTptX2F1ZGlvUHVsbFF1ZXVlIHVzaW5n
QmxvY2s6W3RoaXMsIHByb3RlY3RlZFRoaXMgPSBXVEZNb3ZlKHByb3RlY3RlZFRoaXMpXSB7CiAg
ICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgICAgaWYgKCFbbV9hdWRpb0lucHV0IGlzUmVh
ZHlGb3JNb3JlTWVkaWFEYXRhXSkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ZGM0ZTA0MTlhYmJlZDQ2OTlhNmI4MWEyNzc0ZjZmMGEyZjc3YTllNS4uYTA3ZWM1YzYxM2RlYzNi
NjVmMTFmODI2ZDNhYjRmMTNlYTYxOWRiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTEy
LTE0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJl
Y29yZGVyUHJpdmF0ZUFWRkltcGwgc2hvdWxkIHRvIGEgUmVmPE1lZGlhUmVjb3JkZXJQcml2YXRl
V3JpdGVyPiBhcyBtZW1iZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5MjcyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLW9ucmVtb3Zl
dHJhY2stZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXItb25yZW1vdmV0cmFjay5odG1sOiBBZGRlZC4KKwogMjAxOC0xMi0x
MyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNYWtlIEhUTUxD
b252ZXJ0ZXIgd29yayBhY3Jvc3Mgc2hhZG93IGJvdW5kYXJpZXMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1vbnJlbW92ZXRyYWNr
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFS
ZWNvcmRlci1vbnJlbW92ZXRyYWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41M2Q4ZTA2OTI1
ZmY4NTU3MWY2OWE2NmU5MTliNDZiODM4OTQxNzYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLW9ucmVtb3ZldHJhY2st
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIE1lZGlhUmVjb3JkZXIgc2hvdWxk
IHN0b3Agd2hlbiB0cmFjayBpcyByZW1vdmVkIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItb25yZW1vdmV0cmFjay5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLW9ucmVtb3Zl
dHJhY2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjcyZmQzMTk3MDdhYzU1M2U5ZTNiOTZjOWZhNGMwNGQy
OGYxYWRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyLW9ucmVtb3ZldHJhY2suaHRtbApAQCAtMCwwICsxLDUyIEBACis8
IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPk1lZGlhUmVjb3JkZXIg
c2hvdWxkIHN0b3Agd2hlbiB0cmFjayBpcyByZW1vdmVkPC90aXRsZQorICAgIDxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVk
aWFSZWNvcmRlci5odG1sI21lZGlhcmVjb3JkZXIiPgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvZ2MuanMiPjwvc2NyaXB0PgorPGNhbnZhcyBpZD0iY2FudmFz
IiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+Cis8L2NhbnZhcz4KKzxzY3JpcHQ+Citjb25zdCBh
YyA9IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoKTsKK2NvbnN0IG9zYyA9IGFjLmNyZWF0ZU9zY2ls
bGF0b3IoKTsKK2NvbnN0IGRlc3QgPSBhYy5jcmVhdGVNZWRpYVN0cmVhbURlc3RpbmF0aW9uKCk7
Citjb25zdCBhdWRpbyA9IGRlc3Quc3RyZWFtOworb3NjLmNvbm5lY3QoZGVzdCk7CisKK2Z1bmN0
aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGdjKCk7CisgICAgc2V0VGltZW91dCgoKSA9PiB7Cisg
ICAgICAgIGRvbmUoKTsKKyAgICAgICAgYWMuY2xvc2UoKTsKKyAgICB9LCAxMDApOworfQorCitm
dW5jdGlvbiByZW1vdmVUcmFjaygpCit7CisgICAgYXVkaW8ucmVtb3ZlVHJhY2soYXVkaW8uZ2V0
QXVkaW9UcmFja3MoKVswXSk7CisgICAgc2V0VGltZW91dChmaW5pc2hUZXN0LCAxMDApOworfQor
CitmdW5jdGlvbiBkb1Rlc3QoKQoreworICAgIGNvbnN0IHJlY29yZGVyID0gbmV3IE1lZGlhUmVj
b3JkZXIoYXVkaW8pOworCisgICAgcmVjb3JkZXIub25lcnJvciA9ICgpID0+IHsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgJ2luYWN0aXZlJywgJ01lZGlhUmVjb3JkZXIg
aXMgaW5hY3RpdmUnKTsKKyAgICB9OworICAgIHJlY29yZGVyLnN0YXJ0KCk7CisgICAgb3NjLnN0
YXJ0KCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgJ3JlY29yZGluZycsICdN
ZWRpYVJlY29yZGVyIGhhcyBiZWVuIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5Jyk7CisgICAgc2V0VGlt
ZW91dChyZW1vdmVUcmFjaywgMTAwKTsKK30KKworZG9UZXN0KCk7CisKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357350</attachid>
            <date>2018-12-14 15:38:06 -0800</date>
            <delta_ts>2018-12-14 15:56:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192720-20181214153813.patch</filename>
            <type>text/plain</type>
            <size>18999</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYzNTE5YjUwMTRkMjY5
NWFmOGUwODc4YzZmNmQ3ODBiNGQwMzA4ZC4uMzg5NTI1ZmYxYmRjMjcyZmE4ZjJlN2FmNzQ3MWRi
MWY4NmE4MDg3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE4LTEyLTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGwgc2hvdWxkIGhhdmUgYSBSZWY8TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI+
IGFzIG1lbWJlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkyNzIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTWFrZSBzdXJlIHRoYXQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsIHRha2VzIGEgUmVm
PE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiBhcyBtZW1iZXIsCisgICAgICAgIGFzIHRoZSBs
YXR0ZXIgaXMgYSByZWYgY291bnRlZCBvYmplY3QuCisgICAgICAgIE1hZGUgc29tZSByZWZhY3Rv
cmluZyB0byByZXR1cm4gZWFybHkgaW4gY2FzZSBvZiBlcnJvci4KKworICAgICAgICBBbHNvIG1h
ZGUgc3VyZSB0aGF0IGluIHRoZSBjYXNlIG9mIGEgTWVkaWFSZWNvcmRlciBzdG9wcGVkIGJ5IGEg
dHJhY2sgcmVtb3ZhbCBpbiB0aGUgcmVjb3JkZWQgc3RyZWFtCisgICAgICAgIHRoZSBNZWRpYVJl
Y29yZGVyIHdpbGwgc3RvcCBsaXN0ZW5pbmcgZm9yIGl0cyB0cmFja3MuCisgICAgICAgIE90aGVy
d2lzZSwgdGhlIHRyYWNrcyB3aWxsIGNvbnRpbnVlIGNhbGxpbmcgdGhlIE1lZGlhUmVjb3JkZXIg
ZXZlbiBhZnRlciBpdCBpcyBkZWFkLgorCisgICAgICAgIFRlc3Q6IGh0dHAvd3B0L21lZGlhcmVj
b3JkZXIvTWVkaWFSZWNvcmRlci1vbnJlbW92ZXRyYWNrLmh0bWwKKworICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUmVjb3JkZXI6OmRpZEFkZE9yUmVtb3ZlVHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFSZWNvcmRlcjo6c2V0TmV3UmVjb3JkaW5nU3RhdGUpOiBEZWxldGVkLgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpNZWRpYVJlY29yZGVyUHJpdmF0
ZUFWRkltcGwpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBs
OjpzYW1wbGVCdWZmZXJVcGRhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQ
cml2YXRlQVZGSW1wbDo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6c3RvcFJlY29yZGluZyk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OmZldGNoRGF0YSk6CisgICAgICAg
ICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2
YXRlV3JpdGVyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29h
L01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjpNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6YXBwZW5kQXVkaW9T
YW1wbGVCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVXcml0
ZXI6OnNldHVwV3JpdGVyKTogRGVsZXRlZC4KKwogMjAxOC0xMi0xNCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgZ2V0U2VuZGVycy9nZXRSZWNlaXZlcnMoKSBz
aG91bGQgbm90IHJldHVybiBjbG9zZWQgdHJhbnNjZWl2ZXIgc2VuZGVycy9yZWNlaXZlcnMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29y
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29y
ZGVyLmNwcAppbmRleCBhNzhkNGJlN2VmOTkwOTcxZjA5ZDk4ZTRkZWM1MzZkYmRkOWIxOWI5Li5l
ZTg3NDFkNjRjY2I0NTg2Njg3OTNlNjFkODM1NWZkZDEyYTg5M2ViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuY3BwCkBA
IC0xNjEsOCArMTYxLDkgQEAgdm9pZCBNZWRpYVJlY29yZGVyOjpkaWRBZGRPclJlbW92ZVRyYWNr
KCkKICAgICBzY2hlZHVsZURlZmVycmVkVGFzayhbdGhpc10gewogICAgICAgICBpZiAoIW1faXNB
Y3RpdmUgfHwgc3RhdGUoKSA9PSBSZWNvcmRpbmdTdGF0ZTo6SW5hY3RpdmUpCiAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIHN0b3BSZWNvcmRpbmdJbnRlcm5hbCgpOwogICAgICAgICBhdXRv
IGV2ZW50ID0gTWVkaWFSZWNvcmRlckVycm9yRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZXJy
b3JFdmVudCwgRXhjZXB0aW9uIHsgVW5rbm93bkVycm9yLCAiVHJhY2sgY2Fubm90IGJlIGFkZGVk
IHRvIG9yIHJlbW92ZWQgZnJvbSB0aGUgTWVkaWFTdHJlYW0gd2hpbGUgcmVjb3JkaW5nIGlzIGhh
cHBlbmluZyJfcyB9KTsKLSAgICAgICAgc2V0TmV3UmVjb3JkaW5nU3RhdGUoUmVjb3JkaW5nU3Rh
dGU6OkluYWN0aXZlLCBXVEZNb3ZlKGV2ZW50KSk7CisgICAgICAgIGRpc3BhdGNoRXZlbnQoV1RG
TW92ZShldmVudCkpOwogICAgIH0pOwogfQogCkBAIC0xODcsMTIgKzE4OCw2IEBAIHZvaWQgTWVk
aWFSZWNvcmRlcjo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRl
JiB0cmFjaywgY29uc3QKICAgICBtX3ByaXZhdGUtPmF1ZGlvU2FtcGxlc0F2YWlsYWJsZSh0cmFj
aywgbWVkaWFUaW1lLCBhdWRpb0RhdGEsIGRlc2NyaXB0aW9uLCBzYW1wbGVDb3VudCk7CiB9CiAK
LXZvaWQgTWVkaWFSZWNvcmRlcjo6c2V0TmV3UmVjb3JkaW5nU3RhdGUoUmVjb3JkaW5nU3RhdGUg
bmV3U3RhdGUsIFJlZjxFdmVudD4mJiBldmVudCkKLXsKLSAgICBtX3N0YXRlID0gbmV3U3RhdGU7
Ci0gICAgZGlzcGF0Y2hFdmVudChXVEZNb3ZlKGV2ZW50KSk7Ci19Ci0KIHZvaWQgTWVkaWFSZWNv
cmRlcjo6c2NoZWR1bGVEZWZlcnJlZFRhc2soRnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQog
ewogICAgIEFTU0VSVChmdW5jdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaAppbmRleCA4YzVhNjExMmM1Mzg2ZjQ2Mzc4
YzA1ZTQ0NmZmMjdiNjQ1OWUxYjFmLi5lMTk5NTMwODcwOTVlYjEyYTI1MDZiZjkwMTdkNzNkOGVj
M2RmN2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRl
ci9NZWRpYVJlY29yZGVyLmgKQEAgLTEwMyw3ICsxMDMsNiBAQCBwcml2YXRlOgogICAgIHZvaWQg
YXVkaW9TYW1wbGVzQXZhaWxhYmxlKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiwgY29uc3QgTWVk
aWFUaW1lJiwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmLCBjb25zdCBBdWRpb1N0cmVhbURlc2Ny
aXB0aW9uJiwgc2l6ZV90KSBmaW5hbDsKICAgICAKICAgICB2b2lkIHNjaGVkdWxlRGVmZXJyZWRU
YXNrKEZ1bmN0aW9uPHZvaWQoKT4mJik7Ci0gICAgdm9pZCBzZXROZXdSZWNvcmRpbmdTdGF0ZShS
ZWNvcmRpbmdTdGF0ZSwgUmVmPEV2ZW50PiYmKTsKICAgICAKICAgICBzdGF0aWMgY3JlYXRvckZ1
bmN0aW9uIG1fY3VzdG9tQ3JlYXRvcjsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZh
dGVBVkZJbXBsLmNwcAppbmRleCAzYjk1MjI4ODc2MTdhNDlhMWQxYzg5NThjYzQwZGIyYjVkODc2
NDMzLi4xYjlkYzUzNDViODgxZWIzNmQ5NmZjZTM1ODJkZjBlNTRhMTM4NWJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2
YXRlQVZGSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRl
ci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwCkBAIC0zOCw1OCArMzgsNTUgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBzdGQ6OnVuaXF1ZV9wdHI8TWVkaWFSZWNvcmRlclByaXZhdGVB
VkZJbXBsPiBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OmNyZWF0ZShjb25zdCBNZWRpYVN0
cmVhbVByaXZhdGUmIHN0cmVhbSkKIHsKLSAgICBhdXRvIGluc3RhbmNlID0gc3RkOjp1bmlxdWVf
cHRyPE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbD4obmV3IE1lZGlhUmVjb3JkZXJQcml2YXRl
QVZGSW1wbChzdHJlYW0pKTsKLSAgICBpZiAoIWluc3RhbmNlLT5tX2lzV3JpdGVyUmVhZHkpCi0g
ICAgICAgIHJldHVybiBudWxscHRyOwotICAgIHJldHVybiBpbnN0YW5jZTsKLX0KKyAgICAvLyBG
SVhNRTogd2Ugd2lsbCBuZWVkIHRvIGltcGxlbWVudCBzdXBwb3J0IGZvciBtdWx0aXBsZSBhdWRp
by92aWRlbyB0cmFja3MKKyAgICAvLyBDdXJyZW50bHkgd2Ugb25seSBjaG9vc2UgdGhlIGZpcnN0
IHRyYWNrIGFzIHRoZSByZWNvcmRlZCB0cmFjay4KKyAgICAvLyBGSVhNRTogV2Ugd291bGQgYmV0
dGVyIHRvIHRocm93IGFuIGV4Y2VwdGlvbiB0byBKYXZhU2NyaXB0IGlmIHdyaXRlciBjcmVhdGlv
biBmYWlscy4KIAotTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpNZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGwoY29uc3QgTWVkaWFTdHJlYW1Qcml2YXRlJiBzdHJlYW0pCi17Ci0gICAgaWYg
KCFtX3dyaXRlci5zZXR1cFdyaXRlcigpKQotICAgICAgICByZXR1cm47Ci0gICAgYXV0byB0cmFj
a3MgPSBzdHJlYW0udHJhY2tzKCk7Ci0gICAgYm9vbCB2aWRlb1NlbGVjdGVkID0gZmFsc2U7Ci0g
ICAgYm9vbCBhdWRpb1NlbGVjdGVkID0gZmFsc2U7Ci0gICAgZm9yIChhdXRvJiB0cmFjayA6IHRy
YWNrcykgeworICAgIFN0cmluZyBhdWRpb1RyYWNrSWQ7CisgICAgU3RyaW5nIHZpZGVvVHJhY2tJ
ZDsKKyAgICBjb25zdCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSogYXVkaW9UcmFjayB7IG51bGxw
dHIgfTsKKyAgICBjb25zdCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSogdmlkZW9UcmFjayB7IG51
bGxwdHIgfTsKKyAgICBmb3IgKGF1dG8mIHRyYWNrIDogc3RyZWFtLnRyYWNrcygpKSB7CiAgICAg
ICAgIGlmICghdHJhY2stPmVuYWJsZWQoKSB8fCB0cmFjay0+ZW5kZWQoKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICBzd2l0Y2ggKHRyYWNrLT50eXBlKCkpIHsKICAgICAgICAgY2Fz
ZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzogewogICAgICAgICAgICAgYXV0byYg
c2V0dGluZ3MgPSB0cmFjay0+c2V0dGluZ3MoKTsKLSAgICAgICAgICAgIGlmICh2aWRlb1NlbGVj
dGVkIHx8ICFzZXR0aW5ncy5zdXBwb3J0c1dpZHRoKCkgfHwgIXNldHRpbmdzLnN1cHBvcnRzSGVp
Z2h0KCkpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAvLyBGSVhNRTogd2Ug
d2lsbCBuZWVkIHRvIGltcGxlbWVudCBzdXBwb3J0IGZvciBtdWx0aXBsZSB2aWRlbyB0cmFja3Ms
IGN1cnJlbnRseSB3ZSBvbmx5IGNob29zZSB0aGUgZmlyc3QgdHJhY2sgYXMgdGhlIHJlY29yZGVk
IHRyYWNrLgotICAgICAgICAgICAgLy8gRklYTUU6IHdlIHdvdWxkIGJldHRlciB0byB0aHJvdyBh
biBleGNlcHRpb24gdG8gSmF2YVNjcmlwdCBpZiBzZXRWaWRlb0lucHV0IGZhaWxlZAotICAgICAg
ICAgICAgaWYgKCFtX3dyaXRlci5zZXRWaWRlb0lucHV0KHNldHRpbmdzLndpZHRoKCksIHNldHRp
bmdzLmhlaWdodCgpKSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBtX3Jl
Y29yZGVkVmlkZW9UcmFja0lEID0gdHJhY2stPmlkKCk7Ci0gICAgICAgICAgICB2aWRlb1NlbGVj
dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmICghdmlkZW9UcmFjayAmJiBzZXR0aW5ncy5zdXBw
b3J0c1dpZHRoKCkgJiYgc2V0dGluZ3Muc3VwcG9ydHNIZWlnaHQoKSkgeworICAgICAgICAgICAg
ICAgIHZpZGVvVHJhY2sgPSB0cmFjay5nZXQoKTsKKyAgICAgICAgICAgICAgICB2aWRlb1RyYWNr
SWQgPSB2aWRlb1RyYWNrLT5pZCgpOworICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KLSAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRp
bzogewotICAgICAgICAgICAgaWYgKGF1ZGlvU2VsZWN0ZWQpCi0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICAvLyBGSVhNRTogd2Ugd2lsbCBuZWVkIHRvIGltcGxlbWVudCBzdXBw
b3J0IGZvciBtdWx0aXBsZSBhdWRpbyB0cmFja3MsIGN1cnJlbnRseSB3ZSBvbmx5IGNob29zZSB0
aGUgZmlyc3QgdHJhY2sgYXMgdGhlIHJlY29yZGVkIHRyYWNrLgotICAgICAgICAgICAgLy8gRklY
TUU6IHdlIHdvdWxkIGJldHRlciB0byB0aHJvdyBhbiBleGNlcHRpb24gdG8gSmF2YVNjcmlwdCBp
ZiBzZXRBdWRpb0lucHV0IGZhaWxlZAotICAgICAgICAgICAgaWYgKCFtX3dyaXRlci5zZXRBdWRp
b0lucHV0KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgbV9yZWNvcmRl
ZEF1ZGlvVHJhY2tJRCA9IHRyYWNrLT5pZCgpOwotICAgICAgICAgICAgYXVkaW9TZWxlY3RlZCA9
IHRydWU7CisgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86Cisg
ICAgICAgICAgICBpZiAoIWF1ZGlvVHJhY2spIHsKKyAgICAgICAgICAgICAgICBhdWRpb1RyYWNr
ID0gdHJhY2suZ2V0KCk7CisgICAgICAgICAgICAgICAgYXVkaW9UcmFja0lkID0gYXVkaW9UcmFj
ay0+aWQoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9CiAg
ICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CiAgICAgfQotICAgIG1faXNXcml0ZXJSZWFkeSA9IHRydWU7Cisg
ICAgYXV0byB3cml0ZXIgPSBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6Y3JlYXRlKGF1ZGlv
VHJhY2ssIHZpZGVvVHJhY2spOworICAgIGlmICghd3JpdGVyKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKworICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPE1lZGlhUmVjb3JkZXJQcml2YXRl
QVZGSW1wbD4od3JpdGVyLnJlbGVhc2VOb25OdWxsKCksIFdURk1vdmUoYXVkaW9UcmFja0lkKSwg
V1RGTW92ZSh2aWRlb1RyYWNrSWQpKTsKK30KKworTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBs
OjpNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwoUmVmPE1lZGlhUmVjb3JkZXJQcml2YXRlV3Jp
dGVyPiYmIHdyaXRlciwgU3RyaW5nJiYgYXVkaW9UcmFja0lkLCBTdHJpbmcmJiB2aWRlb1RyYWNr
SWQpCisgICAgOiBtX3dyaXRlcihXVEZNb3ZlKHdyaXRlcikpCisgICAgLCBtX3JlY29yZGVkQXVk
aW9UcmFja0lEKFdURk1vdmUoYXVkaW9UcmFja0lkKSkKKyAgICAsIG1fcmVjb3JkZWRWaWRlb1Ry
YWNrSUQoV1RGTW92ZSh2aWRlb1RyYWNrSWQpKQorewogfQogCiB2b2lkIE1lZGlhUmVjb3JkZXJQ
cml2YXRlQVZGSW1wbDo6c2FtcGxlQnVmZmVyVXBkYXRlZChNZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZSYgdHJhY2ssIE1lZGlhU2FtcGxlJiBzYW1wbGVCdWZmZXIpCiB7CiAgICAgaWYgKHRyYWNrLmlk
KCkgIT0gbV9yZWNvcmRlZFZpZGVvVHJhY2tJRCkKICAgICAgICAgcmV0dXJuOwotICAgIG1fd3Jp
dGVyLmFwcGVuZFZpZGVvU2FtcGxlQnVmZmVyKHNhbXBsZUJ1ZmZlci5wbGF0Zm9ybVNhbXBsZSgp
LnNhbXBsZS5jbVNhbXBsZUJ1ZmZlcik7CisgICAgbV93cml0ZXItPmFwcGVuZFZpZGVvU2FtcGxl
QnVmZmVyKHNhbXBsZUJ1ZmZlci5wbGF0Zm9ybVNhbXBsZSgpLnNhbXBsZS5jbVNhbXBsZUJ1ZmZl
cik7CiB9CiAKIHZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjphdWRpb1NhbXBsZXNB
dmFpbGFibGUoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHRyYWNrLCBjb25zdCBXVEY6Ok1lZGlh
VGltZSYgbWVkaWFUaW1lLCBjb25zdCBQbGF0Zm9ybUF1ZGlvRGF0YSYgZGF0YSwgY29uc3QgQXVk
aW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHNpemVfdCBzYW1wbGVDb3VudCkKQEAg
LTk4LDE3ICs5NSwxNyBAQCB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6YXVkaW9T
YW1wbGVzQXZhaWxhYmxlKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJgogICAgICAgICByZXR1cm47
CiAgICAgQVNTRVJUKGlzPFdlYkF1ZGlvQnVmZmVyTGlzdD4oZGF0YSkpOwogICAgIEFTU0VSVChk
ZXNjcmlwdGlvbi5wbGF0Zm9ybURlc2NyaXB0aW9uKCkudHlwZSA9PSBQbGF0Zm9ybURlc2NyaXB0
aW9uOjpDQUF1ZGlvU3RyZWFtQmFzaWNUeXBlKTsKLSAgICBtX3dyaXRlci5hcHBlbmRBdWRpb1Nh
bXBsZUJ1ZmZlcihkYXRhLCBkZXNjcmlwdGlvbiwgbWVkaWFUaW1lLCBzYW1wbGVDb3VudCk7Cisg
ICAgbV93cml0ZXItPmFwcGVuZEF1ZGlvU2FtcGxlQnVmZmVyKGRhdGEsIGRlc2NyaXB0aW9uLCBt
ZWRpYVRpbWUsIHNhbXBsZUNvdW50KTsKIH0KIAogdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZUFW
RkltcGw6OnN0b3BSZWNvcmRpbmcoKQogewotICAgIG1fd3JpdGVyLnN0b3BSZWNvcmRpbmcoKTsK
KyAgICBtX3dyaXRlci0+c3RvcFJlY29yZGluZygpOwogfQogCiBSZWZQdHI8U2hhcmVkQnVmZmVy
PiBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OmZldGNoRGF0YSgpCiB7Ci0gICAgcmV0dXJu
IG1fd3JpdGVyLmZldGNoRGF0YSgpOworICAgIHJldHVybiBtX3dyaXRlci0+ZmV0Y2hEYXRhKCk7
CiB9CiAKIGNvbnN0IFN0cmluZyYgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjptaW1lVHlw
ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01l
ZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaAppbmRleCAyZjkyM2MyNDdk
NmMyNGZlNjA0Zjc3MmRlYTY4ZTUwNDk4ZTIwMjZlLi5kNGFkYjE1MmJkNGJhZWY3ZWY3YmYwNTVm
NmQ5YTgzZDg2N2U2N2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgK
QEAgLTM4LDcgKzM4LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TWVk
aWFSZWNvcmRlclByaXZhdGVBVkZJbXBsPiBjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1Qcml2YXRl
Jik7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBs
KGNvbnN0IE1lZGlhU3RyZWFtUHJpdmF0ZSYpOworICAgIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZG
SW1wbChSZWY8TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI+JiYsIFN0cmluZyYmIGF1ZGlvVHJh
Y2tJZCwgU3RyaW5nJiYgdmlkZW9UcmFja0lkKTsKKworICAgIGZyaWVuZCBzdGQ6OnVuaXF1ZV9w
dHI8TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsPiBzdGQ6Om1ha2VfdW5pcXVlPE1lZGlhUmVj
b3JkZXJQcml2YXRlQVZGSW1wbD4oUmVmPE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiYmLCBT
dHJpbmcmJiwgU3RyaW5nJiYpOwogCiAgICAgdm9pZCBzYW1wbGVCdWZmZXJVcGRhdGVkKE1lZGlh
U3RyZWFtVHJhY2tQcml2YXRlJiwgTWVkaWFTYW1wbGUmKSBmaW5hbDsKICAgICB2b2lkIGF1ZGlv
U2FtcGxlc0F2YWlsYWJsZShNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYsIGNvbnN0IFdURjo6TWVk
aWFUaW1lJiwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmLCBjb25zdCBBdWRpb1N0cmVhbURlc2Ny
aXB0aW9uJiwgc2l6ZV90KSBmaW5hbDsKQEAgLTQ2LDEyICs0OCw5IEBAIHByaXZhdGU6CiAgICAg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSgpIGZpbmFsOwogICAgIHZvaWQgc3RvcFJlY29yZGluZygp
OwogICAgIAotICAgIFN0cmluZyBtX3JlY29yZGVkVmlkZW9UcmFja0lEOworICAgIFJlZjxNZWRp
YVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4gbV93cml0ZXI7CiAgICAgU3RyaW5nIG1fcmVjb3JkZWRB
dWRpb1RyYWNrSUQ7Ci0KLSAgICBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlciBtX3dyaXRlcjsK
LSAgICAKLSAgICBib29sIG1faXNXcml0ZXJSZWFkeSB7IGZhbHNlIH07CisgICAgU3RyaW5nIG1f
cmVjb3JkZWRWaWRlb1RyYWNrSUQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCmluZGV4
IDQ2NDc0NWEzYWM2NjY2ZGRkZDYxYTgxNzdjODc4MWNjZWE2OGE2ZmIuLmI0YTgxYWU0NGNmNWU5
YmY2OGMwZDk3MDhkOWQwZjljOTE1NjJlNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2Nv
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVk
aWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCkBAIC00NSwxMSArNDUsMTIgQEAgY2xhc3Mg
TWVkaWFUaW1lOwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBdWRpb1N0cmVhbURlc2Ny
aXB0aW9uOworY2xhc3MgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU7CiBjbGFzcyBQbGF0Zm9ybUF1
ZGlvRGF0YTsKIAogY2xhc3MgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIgOiBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIsIFdURjo6RGVzdHJ1
Y3Rpb25UaHJlYWQ6Ok1haW4+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFSZWNvcmRlclBy
aXZhdGVXcml0ZXI+IHsKIHB1YmxpYzoKLSAgICBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcigp
ID0gZGVmYXVsdDsKKyAgICBzdGF0aWMgUmVmUHRyPE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVy
PiBjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUqIGF1ZGlvVHJhY2ssIGNvbnN0
IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlKiB2aWRlb1RyYWNrKTsKICAgICB+TWVkaWFSZWNvcmRl
clByaXZhdGVXcml0ZXIoKTsKICAgICAKICAgICBib29sIHNldHVwV3JpdGVyKCk7CkBAIC02MSw2
ICs2Miw3IEBAIHB1YmxpYzoKICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBmZXRjaERhdGEoKTsK
ICAgICAKIHByaXZhdGU6CisgICAgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIoUmV0YWluUHRy
PEFWQXNzZXRXcml0ZXI+JiYsIFN0cmluZyYmIHBhdGgpOwogICAgIHZvaWQgY2xlYXIoKTsKIAog
ICAgIFJldGFpblB0cjxBVkFzc2V0V3JpdGVyPiBtX3dyaXRlcjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZh
dGVXcml0ZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIv
Y29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbQppbmRleCA2MzQzMjg3ODI1
OGI3NTI0MzllYTA1MzgwOGNhYWZjZDE5Nzk3MGFhLi44NDNhMGZkOWMzZDRhYTY2NmJhNDgxNjQ1
ZTYxZDU2ODQ1ODJkZDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVy
UHJpdmF0ZVdyaXRlckNvY29hLm1tCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiQXVkaW9T
dHJlYW1EZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuaCIKICNpbmNsdWRl
ICJXZWJBdWRpb0J1ZmZlckxpc3QuaCIKICNpbmNsdWRlIDxBVkZvdW5kYXRpb24vQVZBc3NldFdy
aXRlci5oPgogI2luY2x1ZGUgPEFWRm91bmRhdGlvbi9BVkFzc2V0V3JpdGVySW5wdXQuaD4KQEAg
LTg2LDYgKzg3LDQxIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIFBB
TDsKIAorUmVmUHRyPE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiBNZWRpYVJlY29yZGVyUHJp
dmF0ZVdyaXRlcjo6Y3JlYXRlKGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlKiBhdWRpb1Ry
YWNrLCBjb25zdCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSogdmlkZW9UcmFjaykKK3sKKyAgICBO
U1N0cmluZyAqZGlyZWN0b3J5ID0gRmlsZVN5c3RlbTo6Y3JlYXRlVGVtcG9yYXJ5RGlyZWN0b3J5
KEAidmlkZW9zIik7CisgICAgTlNTdHJpbmcgKmZpbGVuYW1lID0gW05TU3RyaW5nIHN0cmluZ1dp
dGhGb3JtYXQ6QCIvJWxsZC5tcDQiLCBDTUNsb2NrR2V0VGltZShDTUNsb2NrR2V0SG9zdFRpbWVD
bG9jaygpKS52YWx1ZV07CisgICAgTlNTdHJpbmcgKnBhdGggPSBbZGlyZWN0b3J5IHN0cmluZ0J5
QXBwZW5kaW5nU3RyaW5nOmZpbGVuYW1lXTsKKworICAgIE5TVVJMICpvdXRwdXRVUkwgPSBbTlNV
UkwgZmlsZVVSTFdpdGhQYXRoOnBhdGhdOworICAgIFN0cmluZyBmaWxlUGF0aCA9IFtwYXRoIFVU
RjhTdHJpbmddOworICAgIE5TRXJyb3IgKmVycm9yID0gbmlsOworICAgIGF1dG8gYXZBc3NldFdy
aXRlciA9IGFkb3B0TlMoW2FsbG9jQVZBc3NldFdyaXRlckluc3RhbmNlKCkgaW5pdFdpdGhVUkw6
b3V0cHV0VVJMIGZpbGVUeXBlOkFWRmlsZVR5cGVNUEVHNCBlcnJvcjomZXJyb3JdKTsKKyAgICBp
ZiAoZXJyb3IpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoTWVkaWFTdHJlYW0sICJjcmVh
dGUgQVZBc3NldFdyaXRlciBpbnN0YW5jZSBmYWlsZWQgd2l0aCBlcnJvciBjb2RlICVsZCIsIChs
b25nKWVycm9yLmNvZGUpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICBh
dXRvIHdyaXRlciA9IGFkb3B0UmVmKCpuZXcgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIoV1RG
TW92ZShhdkFzc2V0V3JpdGVyKSwgV1RGTW92ZShmaWxlUGF0aCkpKTsKKworICAgIGlmIChhdWRp
b1RyYWNrICYmICF3cml0ZXItPnNldEF1ZGlvSW5wdXQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICBpZiAodmlkZW9UcmFjaykgeworICAgICAgICBhdXRvJiBzZXR0aW5ncyA9IHZp
ZGVvVHJhY2stPnNldHRpbmdzKCk7CisgICAgICAgIGlmICghd3JpdGVyLT5zZXRWaWRlb0lucHV0
KHNldHRpbmdzLndpZHRoKCksIHNldHRpbmdzLmhlaWdodCgpKSkKKyAgICAgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIH0KKworICAgIHJldHVybiB3cml0ZXI7Cit9CisKK01lZGlhUmVjb3Jk
ZXJQcml2YXRlV3JpdGVyOjpNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcihSZXRhaW5QdHI8QVZB
c3NldFdyaXRlcj4mJiBhdkFzc2V0V3JpdGVyLCBTdHJpbmcmJiBmaWxlUGF0aCkKKyAgICA6IG1f
d3JpdGVyKFdURk1vdmUoYXZBc3NldFdyaXRlcikpCisgICAgLCBtX3BhdGgoV1RGTW92ZShmaWxl
UGF0aCkpCit7Cit9CisKIE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjp+TWVkaWFSZWNvcmRl
clByaXZhdGVXcml0ZXIoKQogewogICAgIGNsZWFyKCk7CkBAIC0xMDUsMjYgKzE0MSw2IEBAIHZv
aWQgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmNsZWFyKCkKICAgICAgICAgbV93cml0ZXIu
Y2xlYXIoKTsKIH0KIAotYm9vbCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6c2V0dXBXcml0
ZXIoKQotewotICAgIEFTU0VSVCghbV93cml0ZXIpOwotICAgIAotICAgIE5TU3RyaW5nICpkaXJl
Y3RvcnkgPSBGaWxlU3lzdGVtOjpjcmVhdGVUZW1wb3JhcnlEaXJlY3RvcnkoQCJ2aWRlb3MiKTsK
LSAgICBOU1N0cmluZyAqZmlsZW5hbWUgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIi8l
bGxkLm1wNCIsIENNQ2xvY2tHZXRUaW1lKENNQ2xvY2tHZXRIb3N0VGltZUNsb2NrKCkpLnZhbHVl
XTsKLSAgICBOU1N0cmluZyAqcGF0aCA9IFtkaXJlY3Rvcnkgc3RyaW5nQnlBcHBlbmRpbmdTdHJp
bmc6ZmlsZW5hbWVdOwotCi0gICAgTlNVUkwgKm91dHB1dFVSTCA9IFtOU1VSTCBmaWxlVVJMV2l0
aFBhdGg6cGF0aF07Ci0gICAgbV9wYXRoID0gW3BhdGggVVRGOFN0cmluZ107Ci0gICAgTlNFcnJv
ciAqZXJyb3IgPSBuaWw7Ci0gICAgbV93cml0ZXIgPSBhZG9wdE5TKFthbGxvY0FWQXNzZXRXcml0
ZXJJbnN0YW5jZSgpIGluaXRXaXRoVVJMOm91dHB1dFVSTCBmaWxlVHlwZTpBVkZpbGVUeXBlTVBF
RzQgZXJyb3I6JmVycm9yXSk7Ci0gICAgaWYgKGVycm9yKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9H
X0VSUk9SKE1lZGlhU3RyZWFtLCAiY3JlYXRlIEFWQXNzZXRXcml0ZXIgaW5zdGFuY2UgZmFpbGVk
IHdpdGggZXJyb3IgY29kZSAlbGQiLCAobG9uZyllcnJvci5jb2RlKTsKLSAgICAgICAgbV93cml0
ZXIgPSBudWxscHRyOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIHJldHVybiB0
cnVlOwotfQotCiBib29sIE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjpzZXRWaWRlb0lucHV0
KGludCB3aWR0aCwgaW50IGhlaWdodCkKIHsKICAgICBBU1NFUlQoIW1fdmlkZW9JbnB1dCk7CkBA
IC0yNjAsNyArMjc2LDcgQEAgdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6YXBwZW5k
QXVkaW9TYW1wbGVCdWZmZXIoY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEKICAgICAgICAgfQogICAg
ICAgICBtX2lzRmlyc3RBdWRpb1NhbXBsZSA9IGZhbHNlOwogICAgICAgICBSZWZQdHI8TWVkaWFS
ZWNvcmRlclByaXZhdGVXcml0ZXI+IHByb3RlY3RlZFRoaXMgPSB0aGlzOwotICAgICAgICBbbV9h
dWRpb0lucHV0IHJlcXVlc3RNZWRpYURhdGFXaGVuUmVhZHlPblF1ZXVlOm1fYXVkaW9QdWxsUXVl
dWUgdXNpbmdCbG9jazpbdGhpcywgcHJvdGVjdGVkVGhpc10geworICAgICAgICBbbV9hdWRpb0lu
cHV0IHJlcXVlc3RNZWRpYURhdGFXaGVuUmVhZHlPblF1ZXVlOm1fYXVkaW9QdWxsUXVldWUgdXNp
bmdCbG9jazpbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyldIHsK
ICAgICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICAgICBpZiAoIVttX2F1ZGlvSW5wdXQgaXNS
ZWFkeUZvck1vcmVNZWRpYURhdGFdKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBkYzRlMDQxOWFiYmVkNDY5OWE2YjgxYTI3NzRmNmYwYTJmNzdhOWU1Li5lOTU3ZWU5MWY0M2Uz
M2FkNGM4MTQ2ODQyOWJlN2Q1YTM5OTdlODUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgt
MTItMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlh
UmVjb3JkZXJQcml2YXRlQVZGSW1wbCBzaG91bGQgaGF2ZSBhIFJlZjxNZWRpYVJlY29yZGVyUHJp
dmF0ZVdyaXRlcj4gYXMgbWVtYmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTI3MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGh0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1vbnJl
bW92ZXRyYWNrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvbWVkaWFy
ZWNvcmRlci9NZWRpYVJlY29yZGVyLW9ucmVtb3ZldHJhY2suaHRtbDogQWRkZWQuCisKIDIwMTgt
MTItMTMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTWFrZSBI
VE1MQ29udmVydGVyIHdvcmsgYWNyb3NzIHNoYWRvdyBib3VuZGFyaWVzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItb25yZW1vdmV0
cmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01l
ZGlhUmVjb3JkZXItb25yZW1vdmV0cmFjay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNkOGUw
NjkyNWZmODU1NzFmNjlhNjZlOTE5YjQ2YjgzODk0MTc2MgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1vbnJlbW92ZXRy
YWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBNZWRpYVJlY29yZGVyIHNo
b3VsZCBzdG9wIHdoZW4gdHJhY2sgaXMgcmVtb3ZlZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLW9ucmVtb3ZldHJhY2suaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1vbnJl
bW92ZXRyYWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Y3MmZkMzE5NzA3YWM1NTNlOWUzYjk2YzlmYTRj
MDRkMjhmMWFkZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlci1vbnJlbW92ZXRyYWNrLmh0bWwKQEAgLTAsMCArMSw1MiBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5NZWRpYVJlY29y
ZGVyIHNob3VsZCBzdG9wIHdoZW4gdHJhY2sgaXMgcmVtb3ZlZDwvdGl0bGUKKyAgICA8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9tZWRpYWNhcHR1cmUtcmVjb3Jk
L01lZGlhUmVjb3JkZXIuaHRtbCNtZWRpYXJlY29yZGVyIj4KKyAgICA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2djLmpzIj48L3NjcmlwdD4KKzxjYW52YXMgaWQ9ImNh
bnZhcyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPgorPC9jYW52YXM+Cis8c2NyaXB0PgorY29u
c3QgYWMgPSBuZXcgd2Via2l0QXVkaW9Db250ZXh0KCk7Citjb25zdCBvc2MgPSBhYy5jcmVhdGVP
c2NpbGxhdG9yKCk7Citjb25zdCBkZXN0ID0gYWMuY3JlYXRlTWVkaWFTdHJlYW1EZXN0aW5hdGlv
bigpOworY29uc3QgYXVkaW8gPSBkZXN0LnN0cmVhbTsKK29zYy5jb25uZWN0KGRlc3QpOworCitm
dW5jdGlvbiBmaW5pc2hUZXN0KCkKK3sKKyAgICBnYygpOworICAgIHNldFRpbWVvdXQoKCkgPT4g
eworICAgICAgICBkb25lKCk7CisgICAgICAgIGFjLmNsb3NlKCk7CisgICAgfSwgMTAwKTsKK30K
KworZnVuY3Rpb24gcmVtb3ZlVHJhY2soKQoreworICAgIGF1ZGlvLnJlbW92ZVRyYWNrKGF1ZGlv
LmdldEF1ZGlvVHJhY2tzKClbMF0pOworICAgIHNldFRpbWVvdXQoZmluaXNoVGVzdCwgMTAwKTsK
K30KKworZnVuY3Rpb24gZG9UZXN0KCkKK3sKKyAgICBjb25zdCByZWNvcmRlciA9IG5ldyBNZWRp
YVJlY29yZGVyKGF1ZGlvKTsKKworICAgIHJlY29yZGVyLm9uZXJyb3IgPSAoKSA9PiB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIuc3RhdGUsICdpbmFjdGl2ZScsICdNZWRpYVJlY29y
ZGVyIGlzIGluYWN0aXZlJyk7CisgICAgfTsKKyAgICByZWNvcmRlci5zdGFydCgpOworICAgIG9z
Yy5zdGFydCgpOworICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIuc3RhdGUsICdyZWNvcmRpbmcn
LCAnTWVkaWFSZWNvcmRlciBoYXMgYmVlbiBzdGFydGVkIHN1Y2Nlc3NmdWxseScpOworICAgIHNl
dFRpbWVvdXQocmVtb3ZlVHJhY2ssIDEwMCk7Cit9CisKK2RvVGVzdCgpOworCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357352</attachid>
            <date>2018-12-14 15:56:09 -0800</date>
            <delta_ts>2018-12-14 17:07:26 -0800</delta_ts>
            <desc>Fix Mac build</desc>
            <filename>bug-192720-20181214155616.patch</filename>
            <type>text/plain</type>
            <size>19004</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYzNTE5YjUwMTRkMjY5
NWFmOGUwODc4YzZmNmQ3ODBiNGQwMzA4ZC4uMGJhM2U2MGZiZjY3YjRkNjRlZjE3YjI5OWY2NjE5
Mjg5N2NlYzJkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE4LTEyLTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGwgc2hvdWxkIGhhdmUgYSBSZWY8TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI+
IGFzIG1lbWJlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkyNzIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAg
IE1ha2Ugc3VyZSB0aGF0IE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbCB0YWtlcyBhIFJlZjxN
ZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4gYXMgbWVtYmVyLAorICAgICAgICBhcyB0aGUgbGF0
dGVyIGlzIGEgcmVmIGNvdW50ZWQgb2JqZWN0LgorICAgICAgICBNYWRlIHNvbWUgcmVmYWN0b3Jp
bmcgdG8gcmV0dXJuIGVhcmx5IGluIGNhc2Ugb2YgZXJyb3IuCisKKyAgICAgICAgQWxzbyBtYWRl
IHN1cmUgdGhhdCBpbiB0aGUgY2FzZSBvZiBhIE1lZGlhUmVjb3JkZXIgc3RvcHBlZCBieSBhIHRy
YWNrIHJlbW92YWwgaW4gdGhlIHJlY29yZGVkIHN0cmVhbQorICAgICAgICB0aGUgTWVkaWFSZWNv
cmRlciB3aWxsIHN0b3AgbGlzdGVuaW5nIGZvciBpdHMgdHJhY2tzLgorICAgICAgICBPdGhlcndp
c2UsIHRoZSB0cmFja3Mgd2lsbCBjb250aW51ZSBjYWxsaW5nIHRoZSBNZWRpYVJlY29yZGVyIGV2
ZW4gYWZ0ZXIgaXQgaXMgZGVhZC4KKworICAgICAgICBUZXN0OiBodHRwL3dwdC9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXItb25yZW1vdmV0cmFjay5odG1sCisKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVJlY29yZGVyOjpkaWRBZGRPclJlbW92ZVRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UmVjb3JkZXI6OnNldE5ld1JlY29yZGluZ1N0YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6TWVkaWFSZWNvcmRlclByaXZhdGVB
VkZJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6
c2FtcGxlQnVmZmVyVXBkYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGw6OmF1ZGlvU2FtcGxlc0F2YWlsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OnN0b3BSZWNvcmRpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpmZXRjaERhdGEpOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0
ZVdyaXRlckNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9N
ZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmFwcGVuZEF1ZGlvU2Ft
cGxlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVy
OjpzZXR1cFdyaXRlcik6IERlbGV0ZWQuCisKIDIwMTgtMTItMTQgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIGdldFNlbmRlcnMvZ2V0UmVjZWl2ZXJzKCkgc2hv
dWxkIG5vdCByZXR1cm4gY2xvc2VkIHRyYW5zY2VpdmVyIHNlbmRlcnMvcmVjZWl2ZXJzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
ci5jcHAKaW5kZXggYTc4ZDRiZTdlZjk5MDk3MWYwOWQ5OGU0ZGVjNTM2ZGJkZDliMTliOS4uZWU4
NzQxZDY0Y2NiNDU4NjY4NzkzZTYxZDgzNTVmZGQxMmE4OTNlYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcApAQCAt
MTYxLDggKzE2MSw5IEBAIHZvaWQgTWVkaWFSZWNvcmRlcjo6ZGlkQWRkT3JSZW1vdmVUcmFjaygp
CiAgICAgc2NoZWR1bGVEZWZlcnJlZFRhc2soW3RoaXNdIHsKICAgICAgICAgaWYgKCFtX2lzQWN0
aXZlIHx8IHN0YXRlKCkgPT0gUmVjb3JkaW5nU3RhdGU6OkluYWN0aXZlKQogICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICBzdG9wUmVjb3JkaW5nSW50ZXJuYWwoKTsKICAgICAgICAgYXV0byBl
dmVudCA9IE1lZGlhUmVjb3JkZXJFcnJvckV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9y
RXZlbnQsIEV4Y2VwdGlvbiB7IFVua25vd25FcnJvciwgIlRyYWNrIGNhbm5vdCBiZSBhZGRlZCB0
byBvciByZW1vdmVkIGZyb20gdGhlIE1lZGlhU3RyZWFtIHdoaWxlIHJlY29yZGluZyBpcyBoYXBw
ZW5pbmciX3MgfSk7Ci0gICAgICAgIHNldE5ld1JlY29yZGluZ1N0YXRlKFJlY29yZGluZ1N0YXRl
OjpJbmFjdGl2ZSwgV1RGTW92ZShldmVudCkpOworICAgICAgICBkaXNwYXRjaEV2ZW50KFdURk1v
dmUoZXZlbnQpKTsKICAgICB9KTsKIH0KIApAQCAtMTg3LDEyICsxODgsNiBAQCB2b2lkIE1lZGlh
UmVjb3JkZXI6OmF1ZGlvU2FtcGxlc0F2YWlsYWJsZShNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYg
dHJhY2ssIGNvbnN0CiAgICAgbV9wcml2YXRlLT5hdWRpb1NhbXBsZXNBdmFpbGFibGUodHJhY2ss
IG1lZGlhVGltZSwgYXVkaW9EYXRhLCBkZXNjcmlwdGlvbiwgc2FtcGxlQ291bnQpOwogfQogCi12
b2lkIE1lZGlhUmVjb3JkZXI6OnNldE5ld1JlY29yZGluZ1N0YXRlKFJlY29yZGluZ1N0YXRlIG5l
d1N0YXRlLCBSZWY8RXZlbnQ+JiYgZXZlbnQpCi17Ci0gICAgbV9zdGF0ZSA9IG5ld1N0YXRlOwot
ICAgIGRpc3BhdGNoRXZlbnQoV1RGTW92ZShldmVudCkpOwotfQotCiB2b2lkIE1lZGlhUmVjb3Jk
ZXI6OnNjaGVkdWxlRGVmZXJyZWRUYXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKIHsK
ICAgICBBU1NFUlQoZnVuY3Rpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmgKaW5kZXggOGM1YTYxMTJjNTM4NmY0NjM3OGMw
NWU0NDZmZjI3YjY0NTllMWIxZi4uZTE5OTUzMDg3MDk1ZWIxMmEyNTA2YmY5MDE3ZDczZDhlYzNk
ZjdlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01l
ZGlhUmVjb3JkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlci5oCkBAIC0xMDMsNyArMTAzLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGF1
ZGlvU2FtcGxlc0F2YWlsYWJsZShNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYsIGNvbnN0IE1lZGlh
VGltZSYsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlw
dGlvbiYsIHNpemVfdCkgZmluYWw7CiAgICAgCiAgICAgdm9pZCBzY2hlZHVsZURlZmVycmVkVGFz
ayhGdW5jdGlvbjx2b2lkKCk+JiYpOwotICAgIHZvaWQgc2V0TmV3UmVjb3JkaW5nU3RhdGUoUmVj
b3JkaW5nU3RhdGUsIFJlZjxFdmVudD4mJik7CiAgICAgCiAgICAgc3RhdGljIGNyZWF0b3JGdW5j
dGlvbiBtX2N1c3RvbUNyZWF0b3I7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRl
QVZGSW1wbC5jcHAKaW5kZXggM2I5NTIyODg3NjE3YTQ5YTFkMWM4OTU4Y2M0MGRiMmI1ZDg3NjQz
My4uMWI5ZGM1MzQ1Yjg4MWViMzZkOTZmY2UzNTgyZGYwZTU0YTEzODViYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0
ZUFWRkltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcApAQCAtMzgsNTggKzM4LDU1IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogc3RkOjp1bmlxdWVfcHRyPE1lZGlhUmVjb3JkZXJQcml2YXRlQVZG
SW1wbD4gTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpjcmVhdGUoY29uc3QgTWVkaWFTdHJl
YW1Qcml2YXRlJiBzdHJlYW0pCiB7Ci0gICAgYXV0byBpbnN0YW5jZSA9IHN0ZDo6dW5pcXVlX3B0
cjxNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw+KG5ldyBNZWRpYVJlY29yZGVyUHJpdmF0ZUFW
RkltcGwoc3RyZWFtKSk7Ci0gICAgaWYgKCFpbnN0YW5jZS0+bV9pc1dyaXRlclJlYWR5KQotICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICByZXR1cm4gaW5zdGFuY2U7Ci19CisgICAgLy8gRklY
TUU6IHdlIHdpbGwgbmVlZCB0byBpbXBsZW1lbnQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgYXVkaW8v
dmlkZW8gdHJhY2tzCisgICAgLy8gQ3VycmVudGx5IHdlIG9ubHkgY2hvb3NlIHRoZSBmaXJzdCB0
cmFjayBhcyB0aGUgcmVjb3JkZWQgdHJhY2suCisgICAgLy8gRklYTUU6IFdlIHdvdWxkIGJldHRl
ciB0byB0aHJvdyBhbiBleGNlcHRpb24gdG8gSmF2YVNjcmlwdCBpZiB3cml0ZXIgY3JlYXRpb24g
ZmFpbHMuCiAKLU1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6TWVkaWFSZWNvcmRlclByaXZh
dGVBVkZJbXBsKGNvbnN0IE1lZGlhU3RyZWFtUHJpdmF0ZSYgc3RyZWFtKQotewotICAgIGlmICgh
bV93cml0ZXIuc2V0dXBXcml0ZXIoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGF1dG8gdHJhY2tz
ID0gc3RyZWFtLnRyYWNrcygpOwotICAgIGJvb2wgdmlkZW9TZWxlY3RlZCA9IGZhbHNlOwotICAg
IGJvb2wgYXVkaW9TZWxlY3RlZCA9IGZhbHNlOwotICAgIGZvciAoYXV0byYgdHJhY2sgOiB0cmFj
a3MpIHsKKyAgICBTdHJpbmcgYXVkaW9UcmFja0lkOworICAgIFN0cmluZyB2aWRlb1RyYWNrSWQ7
CisgICAgY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUqIGF1ZGlvVHJhY2sgeyBudWxscHRy
IH07CisgICAgY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUqIHZpZGVvVHJhY2sgeyBudWxs
cHRyIH07CisgICAgZm9yIChhdXRvJiB0cmFjayA6IHN0cmVhbS50cmFja3MoKSkgewogICAgICAg
ICBpZiAoIXRyYWNrLT5lbmFibGVkKCkgfHwgdHJhY2stPmVuZGVkKCkpCiAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgc3dpdGNoICh0cmFjay0+dHlwZSgpKSB7CiAgICAgICAgIGNhc2Ug
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86IHsKICAgICAgICAgICAgIGF1dG8mIHNl
dHRpbmdzID0gdHJhY2stPnNldHRpbmdzKCk7Ci0gICAgICAgICAgICBpZiAodmlkZW9TZWxlY3Rl
ZCB8fCAhc2V0dGluZ3Muc3VwcG9ydHNXaWR0aCgpIHx8ICFzZXR0aW5ncy5zdXBwb3J0c0hlaWdo
dCgpKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgLy8gRklYTUU6IHdlIHdp
bGwgbmVlZCB0byBpbXBsZW1lbnQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgdmlkZW8gdHJhY2tzLCBj
dXJyZW50bHkgd2Ugb25seSBjaG9vc2UgdGhlIGZpcnN0IHRyYWNrIGFzIHRoZSByZWNvcmRlZCB0
cmFjay4KLSAgICAgICAgICAgIC8vIEZJWE1FOiB3ZSB3b3VsZCBiZXR0ZXIgdG8gdGhyb3cgYW4g
ZXhjZXB0aW9uIHRvIEphdmFTY3JpcHQgaWYgc2V0VmlkZW9JbnB1dCBmYWlsZWQKLSAgICAgICAg
ICAgIGlmICghbV93cml0ZXIuc2V0VmlkZW9JbnB1dChzZXR0aW5ncy53aWR0aCgpLCBzZXR0aW5n
cy5oZWlnaHQoKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgbV9yZWNv
cmRlZFZpZGVvVHJhY2tJRCA9IHRyYWNrLT5pZCgpOwotICAgICAgICAgICAgdmlkZW9TZWxlY3Rl
ZCA9IHRydWU7CisgICAgICAgICAgICBpZiAoIXZpZGVvVHJhY2sgJiYgc2V0dGluZ3Muc3VwcG9y
dHNXaWR0aCgpICYmIHNldHRpbmdzLnN1cHBvcnRzSGVpZ2h0KCkpIHsKKyAgICAgICAgICAgICAg
ICB2aWRlb1RyYWNrID0gdHJhY2suZ2V0KCk7CisgICAgICAgICAgICAgICAgdmlkZW9UcmFja0lk
ID0gdmlkZW9UcmFjay0+aWQoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9Ci0gICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86
IHsKLSAgICAgICAgICAgIGlmIChhdWRpb1NlbGVjdGVkKQotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgLy8gRklYTUU6IHdlIHdpbGwgbmVlZCB0byBpbXBsZW1lbnQgc3VwcG9y
dCBmb3IgbXVsdGlwbGUgYXVkaW8gdHJhY2tzLCBjdXJyZW50bHkgd2Ugb25seSBjaG9vc2UgdGhl
IGZpcnN0IHRyYWNrIGFzIHRoZSByZWNvcmRlZCB0cmFjay4KLSAgICAgICAgICAgIC8vIEZJWE1F
OiB3ZSB3b3VsZCBiZXR0ZXIgdG8gdGhyb3cgYW4gZXhjZXB0aW9uIHRvIEphdmFTY3JpcHQgaWYg
c2V0QXVkaW9JbnB1dCBmYWlsZWQKLSAgICAgICAgICAgIGlmICghbV93cml0ZXIuc2V0QXVkaW9J
bnB1dCgpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIG1fcmVjb3JkZWRB
dWRpb1RyYWNrSUQgPSB0cmFjay0+aWQoKTsKLSAgICAgICAgICAgIGF1ZGlvU2VsZWN0ZWQgPSB0
cnVlOworICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgorICAg
ICAgICAgICAgaWYgKCFhdWRpb1RyYWNrKSB7CisgICAgICAgICAgICAgICAgYXVkaW9UcmFjayA9
IHRyYWNrLmdldCgpOworICAgICAgICAgICAgICAgIGF1ZGlvVHJhY2tJZCA9IGF1ZGlvVHJhY2st
PmlkKCk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQogICAg
ICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQogICAgIH0KLSAgICBtX2lzV3JpdGVyUmVhZHkgPSB0cnVlOworICAg
IGF1dG8gd3JpdGVyID0gTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OmNyZWF0ZShhdWRpb1Ry
YWNrLCB2aWRlb1RyYWNrKTsKKyAgICBpZiAoIXdyaXRlcikKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxNZWRpYVJlY29yZGVyUHJpdmF0ZUFW
RkltcGw+KHdyaXRlci5yZWxlYXNlTm9uTnVsbCgpLCBXVEZNb3ZlKGF1ZGlvVHJhY2tJZCksIFdU
Rk1vdmUodmlkZW9UcmFja0lkKSk7Cit9CisKK01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6
TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsKFJlZjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRl
cj4mJiB3cml0ZXIsIFN0cmluZyYmIGF1ZGlvVHJhY2tJZCwgU3RyaW5nJiYgdmlkZW9UcmFja0lk
KQorICAgIDogbV93cml0ZXIoV1RGTW92ZSh3cml0ZXIpKQorICAgICwgbV9yZWNvcmRlZEF1ZGlv
VHJhY2tJRChXVEZNb3ZlKGF1ZGlvVHJhY2tJZCkpCisgICAgLCBtX3JlY29yZGVkVmlkZW9UcmFj
a0lEKFdURk1vdmUodmlkZW9UcmFja0lkKSkKK3sKIH0KIAogdm9pZCBNZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGw6OnNhbXBsZUJ1ZmZlclVwZGF0ZWQoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUm
IHRyYWNrLCBNZWRpYVNhbXBsZSYgc2FtcGxlQnVmZmVyKQogewogICAgIGlmICh0cmFjay5pZCgp
ICE9IG1fcmVjb3JkZWRWaWRlb1RyYWNrSUQpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3dyaXRl
ci5hcHBlbmRWaWRlb1NhbXBsZUJ1ZmZlcihzYW1wbGVCdWZmZXIucGxhdGZvcm1TYW1wbGUoKS5z
YW1wbGUuY21TYW1wbGVCdWZmZXIpOworICAgIG1fd3JpdGVyLT5hcHBlbmRWaWRlb1NhbXBsZUJ1
ZmZlcihzYW1wbGVCdWZmZXIucGxhdGZvcm1TYW1wbGUoKS5zYW1wbGUuY21TYW1wbGVCdWZmZXIp
OwogfQogCiB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6YXVkaW9TYW1wbGVzQXZh
aWxhYmxlKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiB0cmFjaywgY29uc3QgV1RGOjpNZWRpYVRp
bWUmIG1lZGlhVGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmIGRhdGEsIGNvbnN0IEF1ZGlv
U3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBzaXplX3Qgc2FtcGxlQ291bnQpCkBAIC05
OCwxNyArOTUsMTcgQEAgdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OmF1ZGlvU2Ft
cGxlc0F2YWlsYWJsZShNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYKICAgICAgICAgcmV0dXJuOwog
ICAgIEFTU0VSVChpczxXZWJBdWRpb0J1ZmZlckxpc3Q+KGRhdGEpKTsKICAgICBBU1NFUlQoZGVz
Y3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1EZXNjcmlwdGlv
bjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7Ci0gICAgbV93cml0ZXIuYXBwZW5kQXVkaW9TYW1w
bGVCdWZmZXIoZGF0YSwgZGVzY3JpcHRpb24sIG1lZGlhVGltZSwgc2FtcGxlQ291bnQpOworICAg
IG1fd3JpdGVyLT5hcHBlbmRBdWRpb1NhbXBsZUJ1ZmZlcihkYXRhLCBkZXNjcmlwdGlvbiwgbWVk
aWFUaW1lLCBzYW1wbGVDb3VudCk7CiB9CiAKIHZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJ
bXBsOjpzdG9wUmVjb3JkaW5nKCkKIHsKLSAgICBtX3dyaXRlci5zdG9wUmVjb3JkaW5nKCk7Cisg
ICAgbV93cml0ZXItPnN0b3BSZWNvcmRpbmcoKTsKIH0KIAogUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpmZXRjaERhdGEoKQogewotICAgIHJldHVybiBt
X3dyaXRlci5mZXRjaERhdGEoKTsKKyAgICByZXR1cm4gbV93cml0ZXItPmZldGNoRGF0YSgpOwog
fQogCiBjb25zdCBTdHJpbmcmIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6bWltZVR5cGUo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgKaW5kZXggMmY5MjNjMjQ3ZDZj
MjRmZTYwNGY3NzJkZWE2OGU1MDQ5OGUyMDI2ZS4uZDRhZGIxNTJiZDRiYWVmN2VmN2JmMDU1ZjZk
OWE4M2Q4NjdlNjdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oCkBA
IC0zOCw3ICszOCw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPE1lZGlh
UmVjb3JkZXJQcml2YXRlQVZGSW1wbD4gY3JlYXRlKGNvbnN0IE1lZGlhU3RyZWFtUHJpdmF0ZSYp
OwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbChj
b25zdCBNZWRpYVN0cmVhbVByaXZhdGUmKTsKKyAgICBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRklt
cGwoUmVmPE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiYmLCBTdHJpbmcmJiBhdWRpb1RyYWNr
SWQsIFN0cmluZyYmIHZpZGVvVHJhY2tJZCk7CisKKyAgICBmcmllbmQgc3RkOjp1bmlxdWVfcHRy
PE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbD4gc3RkOjptYWtlX3VuaXF1ZTxNZWRpYVJlY29y
ZGVyUHJpdmF0ZUFWRkltcGw+KFJlZjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4mJiwgU3Ry
aW5nJiYsIFN0cmluZyYmKTsKIAogICAgIHZvaWQgc2FtcGxlQnVmZmVyVXBkYXRlZChNZWRpYVN0
cmVhbVRyYWNrUHJpdmF0ZSYsIE1lZGlhU2FtcGxlJikgZmluYWw7CiAgICAgdm9pZCBhdWRpb1Nh
bXBsZXNBdmFpbGFibGUoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmLCBjb25zdCBXVEY6Ok1lZGlh
VGltZSYsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlw
dGlvbiYsIHNpemVfdCkgZmluYWw7CkBAIC00NiwxMiArNDgsOSBAQCBwcml2YXRlOgogICAgIGNv
bnN0IFN0cmluZyYgbWltZVR5cGUoKSBmaW5hbDsKICAgICB2b2lkIHN0b3BSZWNvcmRpbmcoKTsK
ICAgICAKLSAgICBTdHJpbmcgbV9yZWNvcmRlZFZpZGVvVHJhY2tJRDsKKyAgICBSZWY8TWVkaWFS
ZWNvcmRlclByaXZhdGVXcml0ZXI+IG1fd3JpdGVyOwogICAgIFN0cmluZyBtX3JlY29yZGVkQXVk
aW9UcmFja0lEOwotCi0gICAgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIgbV93cml0ZXI7Ci0g
ICAgCi0gICAgYm9vbCBtX2lzV3JpdGVyUmVhZHkgeyBmYWxzZSB9OworICAgIFN0cmluZyBtX3Jl
Y29yZGVkVmlkZW9UcmFja0lEOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJl
Y29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaAppbmRleCA0
NjQ3NDVhM2FjNjY2NmRkZGQ2MWE4MTc3Yzg3ODFjY2VhNjhhNmZiLi5iNGE4MWFlNDRjZjVlOWJm
NjhjMGQ5NzA4ZDlkMGY5YzkxNTYyZTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2Eu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaApAQCAtNDUsMTEgKzQ1LDEyIEBAIGNsYXNzIE1l
ZGlhVGltZTsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXVkaW9TdHJlYW1EZXNjcmlw
dGlvbjsKK2NsYXNzIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOwogY2xhc3MgUGxhdGZvcm1BdWRp
b0RhdGE7CiAKIGNsYXNzIE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyIDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VudGVkPE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyLCBXVEY6OkRlc3RydWN0
aW9uVGhyZWFkOjpNYWluPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPE1lZGlhUmVjb3JkZXJQcml2
YXRlV3JpdGVyPiB7CiBwdWJsaWM6Ci0gICAgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIoKSA9
IGRlZmF1bHQ7CisgICAgc3RhdGljIFJlZlB0cjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4g
Y3JlYXRlKGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlKiBhdWRpb1RyYWNrLCBjb25zdCBN
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSogdmlkZW9UcmFjayk7CiAgICAgfk1lZGlhUmVjb3JkZXJQ
cml2YXRlV3JpdGVyKCk7CiAgICAgCiAgICAgYm9vbCBzZXR1cFdyaXRlcigpOwpAQCAtNjEsNiAr
NjIsNyBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZmV0Y2hEYXRhKCk7CiAg
ICAgCiBwcml2YXRlOgorICAgIE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyKFJldGFpblB0cjxB
VkFzc2V0V3JpdGVyPiYmLCBTdHJpbmcmJiBwYXRoKTsKICAgICB2b2lkIGNsZWFyKCk7CiAKICAg
ICBSZXRhaW5QdHI8QVZBc3NldFdyaXRlcj4gbV93cml0ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRl
V3JpdGVyQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2Nv
Y29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW0KaW5kZXggNjM0MzI4NzgyNThi
NzUyNDM5ZWEwNTM4MDhjYWFmY2QxOTc5NzBhYS4uNTdhZWVjMzJkNGVkMjc1MWU2OWE3NjM1Mjlj
Y2YxYWFlY2YwZDhiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclBy
aXZhdGVXcml0ZXJDb2NvYS5tbQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkF1ZGlvU3Ry
ZWFtRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiTG9n
Z2luZy5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmgiCiAjaW5jbHVkZSAi
V2ViQXVkaW9CdWZmZXJMaXN0LmgiCiAjaW5jbHVkZSA8QVZGb3VuZGF0aW9uL0FWQXNzZXRXcml0
ZXIuaD4KICNpbmNsdWRlIDxBVkZvdW5kYXRpb24vQVZBc3NldFdyaXRlcklucHV0Lmg+CkBAIC04
Niw2ICs4Nyw0MSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBQQUw7
CiAKK1JlZlB0cjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4gTWVkaWFSZWNvcmRlclByaXZh
dGVXcml0ZXI6OmNyZWF0ZShjb25zdCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSogYXVkaW9UcmFj
aywgY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUqIHZpZGVvVHJhY2spCit7CisgICAgTlNT
dHJpbmcgKmRpcmVjdG9yeSA9IEZpbGVTeXN0ZW06OmNyZWF0ZVRlbXBvcmFyeURpcmVjdG9yeShA
InZpZGVvcyIpOworICAgIE5TU3RyaW5nICpmaWxlbmFtZSA9IFtOU1N0cmluZyBzdHJpbmdXaXRo
Rm9ybWF0OkAiLyVsbGQubXA0IiwgQ01DbG9ja0dldFRpbWUoQ01DbG9ja0dldEhvc3RUaW1lQ2xv
Y2soKSkudmFsdWVdOworICAgIE5TU3RyaW5nICpwYXRoID0gW2RpcmVjdG9yeSBzdHJpbmdCeUFw
cGVuZGluZ1N0cmluZzpmaWxlbmFtZV07CisKKyAgICBOU1VSTCAqb3V0cHV0VVJMID0gW05TVVJM
IGZpbGVVUkxXaXRoUGF0aDpwYXRoXTsKKyAgICBTdHJpbmcgZmlsZVBhdGggPSBbcGF0aCBVVEY4
U3RyaW5nXTsKKyAgICBOU0Vycm9yICplcnJvciA9IG5pbDsKKyAgICBhdXRvIGF2QXNzZXRXcml0
ZXIgPSBhZG9wdE5TKFthbGxvY0FWQXNzZXRXcml0ZXJJbnN0YW5jZSgpIGluaXRXaXRoVVJMOm91
dHB1dFVSTCBmaWxlVHlwZTpBVkZpbGVUeXBlTVBFRzQgZXJyb3I6JmVycm9yXSk7CisgICAgaWYg
KGVycm9yKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhU3RyZWFtLCAiY3JlYXRl
IEFWQXNzZXRXcml0ZXIgaW5zdGFuY2UgZmFpbGVkIHdpdGggZXJyb3IgY29kZSAlbGQiLCAobG9u
ZyllcnJvci5jb2RlKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgYXV0
byB3cml0ZXIgPSBhZG9wdFJlZigqbmV3IE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyKFdURk1v
dmUoYXZBc3NldFdyaXRlciksIFdURk1vdmUoZmlsZVBhdGgpKSk7CisKKyAgICBpZiAoYXVkaW9U
cmFjayAmJiAhd3JpdGVyLT5zZXRBdWRpb0lucHV0KCkpCisgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgaWYgKHZpZGVvVHJhY2spIHsKKyAgICAgICAgYXV0byYgc2V0dGluZ3MgPSB2aWRl
b1RyYWNrLT5zZXR0aW5ncygpOworICAgICAgICBpZiAoIXdyaXRlci0+c2V0VmlkZW9JbnB1dChz
ZXR0aW5ncy53aWR0aCgpLCBzZXR0aW5ncy5oZWlnaHQoKSkpCisgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICB9CisKKyAgICByZXR1cm4gV1RGTW92ZSh3cml0ZXIpOworfQorCitNZWRp
YVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXIoUmV0YWlu
UHRyPEFWQXNzZXRXcml0ZXI+JiYgYXZBc3NldFdyaXRlciwgU3RyaW5nJiYgZmlsZVBhdGgpCisg
ICAgOiBtX3dyaXRlcihXVEZNb3ZlKGF2QXNzZXRXcml0ZXIpKQorICAgICwgbV9wYXRoKFdURk1v
dmUoZmlsZVBhdGgpKQoreworfQorCiBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6fk1lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyKCkKIHsKICAgICBjbGVhcigpOwpAQCAtMTA1LDI2ICsxNDEs
NiBAQCB2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjpjbGVhcigpCiAgICAgICAgIG1f
d3JpdGVyLmNsZWFyKCk7CiB9CiAKLWJvb2wgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6OnNl
dHVwV3JpdGVyKCkKLXsKLSAgICBBU1NFUlQoIW1fd3JpdGVyKTsKLSAgICAKLSAgICBOU1N0cmlu
ZyAqZGlyZWN0b3J5ID0gRmlsZVN5c3RlbTo6Y3JlYXRlVGVtcG9yYXJ5RGlyZWN0b3J5KEAidmlk
ZW9zIik7Ci0gICAgTlNTdHJpbmcgKmZpbGVuYW1lID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3Jt
YXQ6QCIvJWxsZC5tcDQiLCBDTUNsb2NrR2V0VGltZShDTUNsb2NrR2V0SG9zdFRpbWVDbG9jaygp
KS52YWx1ZV07Ci0gICAgTlNTdHJpbmcgKnBhdGggPSBbZGlyZWN0b3J5IHN0cmluZ0J5QXBwZW5k
aW5nU3RyaW5nOmZpbGVuYW1lXTsKLQotICAgIE5TVVJMICpvdXRwdXRVUkwgPSBbTlNVUkwgZmls
ZVVSTFdpdGhQYXRoOnBhdGhdOwotICAgIG1fcGF0aCA9IFtwYXRoIFVURjhTdHJpbmddOwotICAg
IE5TRXJyb3IgKmVycm9yID0gbmlsOwotICAgIG1fd3JpdGVyID0gYWRvcHROUyhbYWxsb2NBVkFz
c2V0V3JpdGVySW5zdGFuY2UoKSBpbml0V2l0aFVSTDpvdXRwdXRVUkwgZmlsZVR5cGU6QVZGaWxl
VHlwZU1QRUc0IGVycm9yOiZlcnJvcl0pOwotICAgIGlmIChlcnJvcikgewotICAgICAgICBSRUxF
QVNFX0xPR19FUlJPUihNZWRpYVN0cmVhbSwgImNyZWF0ZSBBVkFzc2V0V3JpdGVyIGluc3RhbmNl
IGZhaWxlZCB3aXRoIGVycm9yIGNvZGUgJWxkIiwgKGxvbmcpZXJyb3IuY29kZSk7Ci0gICAgICAg
IG1fd3JpdGVyID0gbnVsbHB0cjsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBy
ZXR1cm4gdHJ1ZTsKLX0KLQogYm9vbCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6c2V0Vmlk
ZW9JbnB1dChpbnQgd2lkdGgsIGludCBoZWlnaHQpCiB7CiAgICAgQVNTRVJUKCFtX3ZpZGVvSW5w
dXQpOwpAQCAtMjYwLDcgKzI3Niw3IEBAIHZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI6
OmFwcGVuZEF1ZGlvU2FtcGxlQnVmZmVyKGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhCiAgICAgICAg
IH0KICAgICAgICAgbV9pc0ZpcnN0QXVkaW9TYW1wbGUgPSBmYWxzZTsKICAgICAgICAgUmVmUHRy
PE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiBwcm90ZWN0ZWRUaGlzID0gdGhpczsKLSAgICAg
ICAgW21fYXVkaW9JbnB1dCByZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5T25RdWV1ZTptX2F1ZGlv
UHVsbFF1ZXVlIHVzaW5nQmxvY2s6W3RoaXMsIHByb3RlY3RlZFRoaXNdIHsKKyAgICAgICAgW21f
YXVkaW9JbnB1dCByZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5T25RdWV1ZTptX2F1ZGlvUHVsbFF1
ZXVlIHVzaW5nQmxvY2s6W3RoaXMsIHByb3RlY3RlZFRoaXMgPSBXVEZNb3ZlKHByb3RlY3RlZFRo
aXMpXSB7CiAgICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgICAgaWYgKCFbbV9hdWRpb0lu
cHV0IGlzUmVhZHlGb3JNb3JlTWVkaWFEYXRhXSkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggZGM0ZTA0MTlhYmJlZDQ2OTlhNmI4MWEyNzc0ZjZmMGEyZjc3YTllNS4uMzE2MGUx
MTM5NzA4ODRmOWRkODMwOGFjOGNjZDFkYjk1MTNlZDBkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDE4LTEyLTE0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwgc2hvdWxkIGhhdmUgYSBSZWY8TWVkaWFSZWNv
cmRlclByaXZhdGVXcml0ZXI+IGFzIG1lbWJlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyNzIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBD
YXJsc29uLgorCisgICAgICAgICogaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
LW9ucmVtb3ZldHJhY2stZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9t
ZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItb25yZW1vdmV0cmFjay5odG1sOiBBZGRlZC4KKwog
MjAxOC0xMi0xMyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBN
YWtlIEhUTUxDb252ZXJ0ZXIgd29yayBhY3Jvc3Mgc2hhZG93IGJvdW5kYXJpZXMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1vbnJl
bW92ZXRyYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3Jk
ZXIvTWVkaWFSZWNvcmRlci1vbnJlbW92ZXRyYWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
M2Q4ZTA2OTI1ZmY4NTU3MWY2OWE2NmU5MTliNDZiODM4OTQxNzYyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLW9ucmVt
b3ZldHJhY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIE1lZGlhUmVjb3Jk
ZXIgc2hvdWxkIHN0b3Agd2hlbiB0cmFjayBpcyByZW1vdmVkIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXItb25yZW1vdmV0cmFj
ay5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
LW9ucmVtb3ZldHJhY2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjcyZmQzMTk3MDdhYzU1M2U5ZTNiOTZj
OWZhNGMwNGQyOGYxYWRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
bWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLW9ucmVtb3ZldHJhY2suaHRtbApAQCAtMCwwICsx
LDUyIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPk1lZGlh
UmVjb3JkZXIgc2hvdWxkIHN0b3Agd2hlbiB0cmFjayBpcyByZW1vdmVkPC90aXRsZQorICAgIDxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21lZGlhY2FwdHVyZS1y
ZWNvcmQvTWVkaWFSZWNvcmRlci5odG1sI21lZGlhcmVjb3JkZXIiPgorICAgIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvZ2MuanMiPjwvc2NyaXB0PgorPGNhbnZhcyBp
ZD0iY2FudmFzIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+Cis8L2NhbnZhcz4KKzxzY3JpcHQ+
Citjb25zdCBhYyA9IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoKTsKK2NvbnN0IG9zYyA9IGFjLmNy
ZWF0ZU9zY2lsbGF0b3IoKTsKK2NvbnN0IGRlc3QgPSBhYy5jcmVhdGVNZWRpYVN0cmVhbURlc3Rp
bmF0aW9uKCk7Citjb25zdCBhdWRpbyA9IGRlc3Quc3RyZWFtOworb3NjLmNvbm5lY3QoZGVzdCk7
CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGdjKCk7CisgICAgc2V0VGltZW91dCgo
KSA9PiB7CisgICAgICAgIGRvbmUoKTsKKyAgICAgICAgYWMuY2xvc2UoKTsKKyAgICB9LCAxMDAp
OworfQorCitmdW5jdGlvbiByZW1vdmVUcmFjaygpCit7CisgICAgYXVkaW8ucmVtb3ZlVHJhY2so
YXVkaW8uZ2V0QXVkaW9UcmFja3MoKVswXSk7CisgICAgc2V0VGltZW91dChmaW5pc2hUZXN0LCAx
MDApOworfQorCitmdW5jdGlvbiBkb1Rlc3QoKQoreworICAgIGNvbnN0IHJlY29yZGVyID0gbmV3
IE1lZGlhUmVjb3JkZXIoYXVkaW8pOworCisgICAgcmVjb3JkZXIub25lcnJvciA9ICgpID0+IHsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgJ2luYWN0aXZlJywgJ01lZGlh
UmVjb3JkZXIgaXMgaW5hY3RpdmUnKTsKKyAgICB9OworICAgIHJlY29yZGVyLnN0YXJ0KCk7Cisg
ICAgb3NjLnN0YXJ0KCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5zdGF0ZSwgJ3JlY29y
ZGluZycsICdNZWRpYVJlY29yZGVyIGhhcyBiZWVuIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5Jyk7Cisg
ICAgc2V0VGltZW91dChyZW1vdmVUcmFjaywgMTAwKTsKK30KKworZG9UZXN0KCk7CisKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>