<?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>153375</bug_id>
          
          <creation_ts>2016-01-22 14:51:13 -0800</creation_ts>
          <short_desc>Modern IDB: Implement put, get, and delete records for the SQLite backend</short_desc>
          <delta_ts>2016-01-22 16:41:20 -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>WebCore Misc.</component>
          <version>Safari 9</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149117</blocked>
    
    <blocked>153021</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jsbell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1157844</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-01-22 14:51:13 -0800</bug_when>
    <thetext>Modern IDB: Implement put, get, and delete records for the SQLite backend</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157854</commentid>
    <comment_count>1</comment_count>
      <attachid>269614</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-01-22 14:54:01 -0800</bug_when>
    <thetext>Created attachment 269614
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157860</commentid>
    <comment_count>2</comment_count>
      <attachid>269614</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-01-22 15:03:56 -0800</bug_when>
    <thetext>Comment on attachment 269614
Patch v1

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

&gt; Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:687
&gt; +        keyExists = false;

This isn&apos;t necessary.  It was already set to false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157862</commentid>
    <comment_count>3</comment_count>
      <attachid>269615</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-01-22 15:12:22 -0800</bug_when>
    <thetext>Created attachment 269615
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157896</commentid>
    <comment_count>4</comment_count>
      <attachid>269615</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-22 16:41:17 -0800</bug_when>
    <thetext>Comment on attachment 269615
Patch for landing

Clearing flags on attachment: 269615

Committed r195495: &lt;http://trac.webkit.org/changeset/195495&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157897</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-22 16:41:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269614</attachid>
            <date>2016-01-22 14:54:01 -0800</date>
            <delta_ts>2016-01-22 15:12:22 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>30003</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiOTg0N2VlLi4xYjRiMjZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDEt
MjIgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJ
REI6IEltcGxlbWVudCBwdXQsIGdldCwgYW5kIGRlbGV0ZSByZWNvcmRzIGZvciB0aGUgU1FMaXRl
IGJhY2tlbmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTMzNzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxNi0wMS0yMiAgVGlt
IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSB0ZXN0
IGZvciBpT1MgYXJyb3cta2V5IHJlcGVhdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVjYmQ3M2IuLjgxZmU4MzUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTkxLDkgKzkxLDkgQEAg
c3RvcmFnZS9pbmRleGVkZGIvb3Blbi1kYi1wcml2YXRlLWJyb3dzaW5nLmh0bWwgWyBGYWlsdXJl
IF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2Nvbm5lY3Rpb24tbGVhay1wcml2YXRlLmh0bWwgWyBTa2lw
IF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2Nvbm5lY3Rpb24tbGVhay5odG1sIFsgU2tpcCBdCiBzdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3ItbGVhay1wcml2YXRlLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3Jh
Z2UvaW5kZXhlZGRiL2N1cnNvci1sZWFrLmh0bWwgWyBGYWlsdXJlIF0KK3N0b3JhZ2UvaW5kZXhl
ZGRiL2N1cnNvci1sZWFrLmh0bWwgWyBTa2lwIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1y
ZXF1ZXN0LWN5Y2xlLXByaXZhdGUuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIv
Y3Vyc29yLXJlcXVlc3QtY3ljbGUuaHRtbCBbIEZhaWx1cmUgXQorc3RvcmFnZS9pbmRleGVkZGIv
Y3Vyc29yLXJlcXVlc3QtY3ljbGUuaHRtbCBbIFNraXAgXQogc3RvcmFnZS9pbmRleGVkZGIvZGVs
ZXRlLWNsb3NlZC1kYXRhYmFzZS1vYmplY3QtcHJpdmF0ZS5odG1sIFsgU2tpcCBdCiBzdG9yYWdl
L2luZGV4ZWRkYi9kZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdC5odG1sIFsgU2tpcCBdCiBz
dG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0LWxlYWstcHJpdmF0ZS5odG1sIFsgRmFpbHVyZSBdCkBA
IC0yNTQsOSArMjU0LDYgQEAgaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9jbG9zZS1pbi11cGdyYWRl
bmVlZGVkLmh0bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy9pbmRleGVkZGIvY3Vyc29yLW92
ZXJsb2Fkcy5odG0gWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy9pbmRleGVkZGIvaWRiY3Vyc29y
LWRpcmVjdGlvbi1pbmRleC1rZXlyYW5nZS5odG0gWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy9p
bmRleGVkZGIvaWRiY3Vyc29yLWRpcmVjdGlvbi1pbmRleC5odG0gWyBGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy9pbmRleGVkZGIvaWRiY3Vyc29yLWRpcmVjdGlvbi1vYmplY3RzdG9yZS1rZXlyYW5n
ZS5odG0gWyBGYWlsdXJlIF0KLWltcG9ydGVkL3czYy9pbmRleGVkZGIvaWRiY3Vyc29yLWRpcmVj
dGlvbi1vYmplY3RzdG9yZS5odG0gWyBGYWlsdXJlIF0KLWltcG9ydGVkL3czYy9pbmRleGVkZGIv
aWRiY3Vyc29yLWRpcmVjdGlvbi5odG0gWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy9pbmRleGVk
ZGIvaWRiY3Vyc29yLWtleS5odG0gWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy9pbmRleGVkZGIv
aWRiY3Vyc29yLXByaW1hcnlrZXkuaHRtIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2MvaW5kZXhl
ZGRiL2lkYmN1cnNvci1yZXVzZWQuaHRtIFsgRmFpbHVyZSBdCkBAIC00MjMsMTEgKzQyMCw5IEBA
IGltcG9ydGVkL3czYy9pbmRleGVkZGIvaWRidHJhbnNhY3Rpb24tb25jb21wbGV0ZS5odG0gWyBG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy9pbmRleGVkZGIvaWRidHJhbnNhY3Rpb25fYWJvcnQuaHRt
IFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2MvaW5kZXhlZGRiL2lkYnZlcnNpb25jaGFuZ2VldmVu
dC5odG0gWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy9pbmRleGVkZGIvaW5kZXhfc29ydF9vcmRl
ci5odG0gWyBGYWlsdXJlIF0KLWltcG9ydGVkL3czYy9pbmRleGVkZGIva2V5X3ZhbGlkLmh0bWwg
WyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy9pbmRleGVkZGIva2V5Z2VuZXJhdG9yLWNvbnN0cmFp
bnRlcnJvci5odG0gWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy9pbmRleGVkZGIva2V5Z2VuZXJh
dG9yLW92ZXJmbG93Lmh0bSBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9rZXln
ZW5lcmF0b3IuaHRtIFsgRmFpbHVyZSBdCi1pbXBvcnRlZC93M2MvaW5kZXhlZGRiL2tleW9yZGVy
Lmh0bSBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9rZXlwYXRoX21heHNpemUu
aHRtIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2MvaW5kZXhlZGRiL2xpc3Rfb3JkZXJpbmcuaHRt
IFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2MvaW5kZXhlZGRiL29iamVjdHN0b3JlX2tleW9yZGVy
Lmh0bSBbIEZhaWx1cmUgXQpAQCAtNDQwLDE1ICs0MzUsMTAgQEAgaW1wb3J0ZWQvdzNjL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1yZXF1ZXN0cXVldWUuaHRtIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93
M2MvaW5kZXhlZGRiL3RyYW5zYWN0aW9uX2J1YmJsZS1hbmQtY2FwdHVyZS5odG0gWyBGYWlsdXJl
IF0KIGltcG9ydGVkL3czYy9pbmRleGVkZGIvdmFsdWUuaHRtIFsgRmFpbHVyZSBdCiBpbXBvcnRl
ZC93M2MvaW5kZXhlZGRiL3ZhbHVlX3JlY3Vyc2l2ZS5odG0gWyBGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy9pbmRleGVkZGIvd3JpdGVyLXN0YXJ2YXRpb24uaHRtIFsgRmFpbHVyZSBdCi1zdG9yYWdl
L2luZGV4ZWRkYi9jbG9zZWQtY3Vyc29yLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhl
ZGRiL2NyZWF0ZS1hbmQtcmVtb3ZlLW9iamVjdC1zdG9yZS5odG1sIFsgRmFpbHVyZSBdCi1zdG9y
YWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMuaHRtbCBbIEZhaWx1cmUg
XQogc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlSW5kZXgtYWZ0ZXItZmFpbHVyZS5odG1sIFsgRmFp
bHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYWRkZWQtYnVnLmh0bWwgWyBGYWlsdXJl
IF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1hZHZhbmNlLmh0bWwgWyBGYWlsdXJlIF0KIHN0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1iYXNpY3MuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLWNhc3QuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIv
Y3Vyc29yLWNvbnRpbnVlLWRpci5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9j
dXJzb3ItY29udGludWUtdmFsaWRpdHkuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLWNvbnRpbnVlLmh0bWwgWyBGYWlsdXJlIF0KQEAgLTQ2NiwxNCArNDU2LDExIEBA
IHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQuaHRtbCBbIEZhaWx1cmUgXQog
c3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS12YWx1ZS1hcmd1bWVudC1yZXF1aXJlZC5o
dG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLmh0bWwgWyBG
YWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci12YWx1ZS5odG1sIFsgRmFpbHVyZSBd
Ci1zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1jbG9zZS5odG1sIFsgRmFpbHVyZSBdCiBzdG9y
YWdlL2luZGV4ZWRkYi9kYXRhYmFzZS13cmFwcGVyLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2Uv
aW5kZXhlZGRiL2RlbGV0ZS1yYW5nZS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRk
Yi9kZWxldGVJbmRleC5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVk
LW9iamVjdHMuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5o
dG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnkt
ZGVmYXVsdC5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4t
ZXZlbnQtYWJvcnRzLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlv
bnMuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRh
YmFzZS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9nZXQta2V5cmFuZ2UuaHRt
bCBbIEZhaWx1cmUgXQpAQCAtNDg3LDggKzQ3NCw2IEBAIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4
LXVuaXF1ZS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9rZXktZ2VuZXJhdG9y
Lmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2tleS1zb3J0LW9yZGVyLWFjcm9z
cy10eXBlcy5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9rZXktc29ydC1vcmRl
ci1kYXRlLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5
Lmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWluZmluaXR5Lmh0
bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgtYXJyYXlzLmh0bWwgWyBG
YWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgtZWRnZXMuaHRtbCBbIEZhaWx1cmUg
XQogc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1mZXRjaC1rZXkuaHRtbCBbIEZhaWx1cmUgXQpA
QCAtNDk5LDEzICs0ODQsOCBAQCBzdG9yYWdlL2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLmh0bWwg
WyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21ldGFkYXRhLXJhY2UuaHRtbCBbIEZhaWx1
cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbWV0YWRhdGEuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL2Fib3J0LW9iamVjdHN0b3JlLWluZm8uaHRtbCBbIEZhaWx1cmUg
XQotc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Fib3J0LXJlcXVlc3RzLWNhbmNlbGxlZC5odG1s
IFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYWJvcnRlZC1wdXQuaHRtbCBb
IEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2F1dG9pbmNyZW1lbnQtYWJvcnQu
aHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Jhc2ljLWFkZC5odG1s
IFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmFzaWMtcHV0Lmh0bWwgWyBG
YWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jcmVhdGUtaW5kZXgtZmFpbHVyZXMu
aHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2NyZWF0ZW9iamVjdHN0
b3JlLWJhc2ljLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJz
b3ItMS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTIu
aHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci0zLmh0bWwg
WyBGYWlsdXJlIF0KQEAgLTUxNCw1MiArNDk0LDMyIEBAIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9jdXJzb3ItNS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vy
c29yLTYuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci03
Lmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItOC5odG1s
IFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGF0ZS1iYXNpYy5odG1sIFsg
RmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtMS5odG1s
IFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtMi5o
dG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgtMS5o
dG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgtMi5o
dG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlb2JqZWN0c3Rv
cmUtMS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZ2V0LWluZGV4
LWZhaWx1cmVzLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9nZXQt
a2V5cmFuZ2UuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmRh
dGFiYXNlLWRlbGV0ZW9iamVjdHN0b3JlLWZhaWx1cmVzLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9pZGJkYXRhYmFzZS10cmFuc2FjdGlvbi1mYWlsdXJlcy5odG1s
IFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRiaW5kZXgtcHJvcGVydGll
cy1iYXNpYy5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2Jq
ZWN0c3RvcmUtY2xlYXItMS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vaWRib2JqZWN0c3RvcmUtY2xlYXItMi5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtY291bnQtMS5odG1sIFsgRmFpbHVyZSBdCi1zdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtY291bnQtZmFpbHVyZXMuaHRtbCBb
IEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWRlbGV0
ZS0xLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3Rz
dG9yZS1kZWxldGUtMi5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
aWRib2JqZWN0c3RvcmUtZGVsZXRlLWZhaWx1cmVzLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1nZXQtZmFpbHVyZXMuaHRtbCBbIEZhaWx1
cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLXB1dC1hbmQtY2xl
YXItZmFpbHVyZXMuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lu
ZGV4LTEuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LTIu
aHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LTMuaHRtbCBb
IEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LTQuaHRtbCBbIEZhaWx1
cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LTUuaHRtbCBbIEZhaWx1cmUgXQog
c3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LWN1cnNvci0xLmh0bWwgWyBGYWlsdXJlIF0K
IHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC1jdXJzb3ItMi5odG1sIFsgRmFpbHVyZSBd
CiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtY3Vyc29yLTMuaHRtbCBbIEZhaWx1cmUg
XQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LWdldC1jb3VudC1iYXNpYy5odG1sIFsg
RmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtZ2V0LWNvdW50LWZhaWx1
cmVzLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9rZXlwYXRoLWJh
c2ljLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9tZW1vcnktaW5k
ZXgtbm90LWRlbGV0ZWQtd2l0aC1vYmplY3RzdG9yZS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vb2JqZWN0c3RvcmUtYXR0cmlidXRlcy5odG1sIFsgRmFpbHVyZSBd
CiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb2JqZWN0c3RvcmUtY3Vyc29yLWFkdmFuY2UtZmFp
bHVyZXMuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29iamVjdHN0
b3JlLWN1cnNvci1jb250aW51ZS1mYWlsdXJlcy5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vb3BlbmN1cnNvci1mYWlsdXJlcy5odG1sIFsgRmFpbHVyZSBdCiBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vcmVxdWVzdC1yZWFkeXN0YXRlLmh0bWwgWyBGYWlsdXJlIF0K
LXN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbi1zY2hlZHVsZXItMS5odG1sIFsg
RmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVy
LTIuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9u
LXNjaGVkdWxlci0zLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90
cmFuc2FjdGlvbi1zY2hlZHVsZXItNS5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVyLTYuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9ucy1zdG9wLW9uLW5hdmlnYXRpb24uaHRtbCBb
IEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hZGQtdHdpY2UtZmFpbHVyZS5o
dG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2F1dG9pbmNyZW1lbnQt
aW5kZXhlcy5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2JhZC1r
ZXlwYXRoLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY2xlYXIu
aHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jcmVhdGUtaW5kZXgt
d2l0aC1pbnRlZ2VyLWtleXMuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9jdXJzb3ItbXV0YXRpb24tb2JqZWN0c3RvcmUtb25seS5odG1sIFsgRmFpbHVyZSBdCkBA
IC01NzgsNDcgKzUzOCwyOSBAQCBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9y
ZS1yZW1vdmUtdmFsdWVzLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vemls
bGEvb2RkLXJlc3VsdC1vcmRlci5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL3B1dC1nZXQtdmFsdWVzLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRi
L21vemlsbGEvcmVhZHdyaXRlLXRyYW5zYWN0aW9ucy5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL3JlYWR5U3RhdGUuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9yZW1vdmUtb2JqZWN0c3RvcmUuaHRtbCBbIEZhaWx1cmUgXQogc3Rv
cmFnZS9pbmRleGVkZGIvbXV0YXRpbmctY3Vyc29yLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2Uv
aW5kZXhlZGRiL25vYmxvYnMuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtYXV0b2luY3JlbWVudC5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRk
Yi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtY2xlYXIuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtY291bnQuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0
c3RvcmUtY3Vyc29yLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0
b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRi
L29kZC1zdHJpbmdzLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vy
c29yLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL29wZW4tZHVyaW5nLXRyYW5z
YWN0aW9uLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL29wZW5jdXJzb3Ita2V5
Lmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL29wdGlvbmFsLWFyZ3VtZW50cy5o
dG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5Lmh0bWwg
WyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL3ByZWZldGNoLWJ1Z2ZpeC0xMDgwNzEuaHRt
bCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtcmFjZS5odG1sIFsgRmFp
bHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9xdWV1ZWQtY29tbWFuZHMuaHRtbCBbIEZhaWx1cmUg
XQogc3RvcmFnZS9pbmRleGVkZGIvcmVhZG9ubHkuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9p
bmRleGVkZGIvcmVxdWVzdC1jb250aW51ZS1hYm9ydC5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdl
L2luZGV4ZWRkYi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwgWyBGYWlsdXJlIF0KLXN0
b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtcmVzdWx0LWNhY2hlLmh0bWwgWyBGYWlsdXJlIF0KIHN0
b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tYWN0aXZlLWZsYWcuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UuaHRtbCBbIEZhaWx1cmUgXQogc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLmh0bWwgWyBG
YWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sIFsgRmFp
bHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jb29yZGluYXRpb24tYWNyb3Nz
LWRhdGFiYXNlcy5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1jb29yZGluYXRpb24td2l0aGluLWRhdGFiYXNlLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLWVycm9yLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwgWyBGYWlsdXJlIF0KLXN0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLW92ZXJsYXBwaW5nLmh0bWwgWyBGYWlsdXJlIF0K
LXN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sIFsgRmFpbHVyZSBd
Ci1zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1yZWFkd3JpdGUtZXhjbHVzaXZlLmh0bWwg
WyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJvbGxiYWNrLmh0bWwg
WyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXNjb3BlLXNlcXVlbmNp
bmcuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtdW5kZWZpbmVkLmh0
bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL3ZhbHVlcy1vZGQtdHlwZXMuaHRtbCBb
IEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLmh0
bWwgWyBGYWlsdXJlIF0KIAogIyBTUUxpdGUgYmFja2VuZCB0ZXN0cyB0aGF0IHRpbWVvdXQKIGNy
eXB0by9zdWJ0bGUvcnNhLWluZGV4ZWRkYi5odG1sIFsgU2tpcCBdCkBAIC02MzcsMTAgKzU3OSwz
NCBAQCBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVyLTQuaHRt
bCBbIFNraXAgXQogc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtaW52YWxpZGF0aW9uLmh0bWwg
WyBTa2lwIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL3ByaW1hcnkta2V5LXVuaXF1ZS10by1vYmplY3Rz
dG9yZS5odG1sIFsgU2tpcCBdCiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1vcmRlcmlu
Zy5odG1sIFsgU2tpcCBdCitzdG9yYWdlL2luZGV4ZWRkYi9jbG9zZWQtY3Vyc29yLmh0bWwgWyBT
a2lwIF0KK3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1jYXN0Lmh0bWwgWyBTa2lwIF0KK3N0b3Jh
Z2UvaW5kZXhlZGRiL25vYmxvYnMuaHRtbCBbIFNraXAgXQorc3RvcmFnZS9pbmRleGVkZGIvcHJl
ZmV0Y2gtcmFjZS5odG1sIFsgU2tpcCBdCitzdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0LXJlc3Vs
dC1jYWNoZS5odG1sIFsgU2tpcCBdCiAKICMgU1FMaXRlIGJhY2tlbmQgdGVzdHMgdGhhdCBBU1NF
UlQKK2ltcG9ydGVkL3czYy9pbmRleGVkZGIvaWRiY3Vyc29yLWRpcmVjdGlvbi1vYmplY3RzdG9y
ZS1rZXlyYW5nZS5odG0gWyBTa2lwIF0KK2ltcG9ydGVkL3czYy9pbmRleGVkZGIvaWRiY3Vyc29y
LWRpcmVjdGlvbi1vYmplY3RzdG9yZS5odG0gWyBTa2lwIF0KK2ltcG9ydGVkL3czYy9pbmRleGVk
ZGIvaWRiY3Vyc29yLWRpcmVjdGlvbi5odG0gWyBTa2lwIF0KK2ltcG9ydGVkL3czYy9pbmRleGVk
ZGIva2V5X3ZhbGlkLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy9pbmRleGVkZGIvd3JpdGVy
LXN0YXJ2YXRpb24uaHRtIFsgU2tpcCBdCitzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1jbG9z
ZS5odG1sIFsgU2tpcCBdCiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1vZGQtbmFtZXMuaHRt
bCBbIFNraXAgXQogc3RvcmFnZS9pbmRleGVkZGIvZG9udC13ZWRnZS5odG1sIFsgU2tpcCBdCitz
dG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVyLTEuaHRtbCBbIFNr
aXAgXQorc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9uLXNjaGVkdWxlci0yLmh0
bWwgWyBTa2lwIF0KK3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbi1zY2hlZHVs
ZXItNS5odG1sIFsgU2tpcCBdCitzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb24t
c2NoZWR1bGVyLTYuaHRtbCBbIFNraXAgXQorc3RvcmFnZS9pbmRleGVkZGIvb2RkLXN0cmluZ3Mu
aHRtbCBbIFNraXAgXQorc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS5odG1sIFsg
U2tpcCBdCitzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jb29yZGluYXRpb24td2l0aGlu
LWRhdGFiYXNlLmh0bWwgWyBTa2lwIF0KK3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLW92
ZXJsYXBwaW5nLmh0bWwgWyBTa2lwIF0KK3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJl
YWQtb25seS5odG1sIFsgU2tpcCBdCisKKyMgU1FMaXRlIGJhY2tlbmQgdGVzdHMgdGhhdCB3ZWRn
ZSB0aGUgZW50aXJlIHRlc3RpbmcgaGFybmVzcworaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9rZXlv
cmRlci5odG0gWyBTa2lwIF0KK3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWwg
WyBTa2lwIF0KIAogIyMjIEVORCBPRiAoMykgSW5kZXhlZERCIGZhaWx1cmVzIHdpdGggU1FMaXRl
CiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NWE0YjEyMC4uZTRjMmQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE2LTAxLTIy
ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBNb2Rlcm4gSURC
OiBJbXBsZW1lbnQgcHV0LCBnZXQsIGFuZCBkZWxldGUgcmVjb3JkcyBmb3IgdGhlIFNRTGl0ZSBi
YWNrZW5kLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTUzMzc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIChDb3ZlcmVkIGJ5IG1hbnkgZXhpc3RpbmcgdGVzdHMgbm93IHBhc3Npbmcp
LgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdT
dG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlNRTGl0ZUlEQkJhY2tpbmdT
dG9yZTo6a2V5RXhpc3RzSW5PYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2
ZXI6OlNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6ZGVsZXRlUmVjb3JkKToKKyAgICAgICAgKFdlYkNv
cmU6OklEQlNlcnZlcjo6U1FMaXRlSURCQmFja2luZ1N0b3JlOjpkZWxldGVSYW5nZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6YWRkUmVjb3Jk
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6U1FMaXRlSURCQmFja2luZ1N0b3JlOjpn
ZXRSZWNvcmQpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJC
YWNraW5nU3RvcmUuaDoKKwogMjAxNi0wMS0yMiAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFw
cGxlLmNvbT4KIAogICAgICAgICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBDQ1Jh
bmRvbUNvcHlCeXRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmNwcAppbmRleCA2YmE3
ZTQxLi42N2QwZjBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmNwcApAQCAtNDEs
NiArNDEsNyBAQAogI2luY2x1ZGUgIlNRTGl0ZUlEQkN1cnNvci5oIgogI2luY2x1ZGUgIlNRTGl0
ZVN0YXRlbWVudC5oIgogI2luY2x1ZGUgIlNRTGl0ZVRyYW5zYWN0aW9uLmgiCisjaW5jbHVkZSAi
VGhyZWFkU2FmZURhdGFCdWZmZXIuaCIKICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
IAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKQEAgLTY1MywyNCArNjU0LDIzOSBAQCBJREJFcnJvciBT
UUxpdGVJREJCYWNraW5nU3RvcmU6OmRlbGV0ZUluZGV4KGNvbnN0IElEQlJlc291cmNlSWRlbnRp
ZmllciYsIHVpbnQ2NAogICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3du
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIikgfTsKIH0KIAotSURCRXJyb3Ig
U1FMaXRlSURCQmFja2luZ1N0b3JlOjprZXlFeGlzdHNJbk9iamVjdFN0b3JlKGNvbnN0IElEQlJl
c291cmNlSWRlbnRpZmllciYsIHVpbnQ2NF90LCBjb25zdCBJREJLZXlEYXRhJiwgYm9vbCYpCitJ
REJFcnJvciBTUUxpdGVJREJCYWNraW5nU3RvcmU6OmtleUV4aXN0c0luT2JqZWN0U3RvcmUoY29u
c3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90
IG9iamVjdFN0b3JlSUQsIGNvbnN0IElEQktleURhdGEmIGtleURhdGEsIGJvb2wmIGtleUV4aXN0
cykKIHsKLSAgICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCBB
U0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpIH07CisgICAgTE9HKEluZGV4ZWREQiwgIlNR
TGl0ZUlEQkJhY2tpbmdTdG9yZTo6a2V5RXhpc3RzSW5PYmplY3RTdG9yZSAtIGtleSAlcywgb2Jq
ZWN0IHN0b3JlICUiIFBSSXU2NCwga2V5RGF0YS5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEo
KSwgb2JqZWN0U3RvcmVJRCk7CisKKyAgICBBU1NFUlQobV9zcWxpdGVEQik7CisgICAgQVNTRVJU
KG1fc3FsaXRlREItPmlzT3BlbigpKTsKKworICAgIGtleUV4aXN0cyA9IGZhbHNlOworCisgICAg
YXV0byogdHJhbnNhY3Rpb24gPSBtX3RyYW5zYWN0aW9ucy5nZXQodHJhbnNhY3Rpb25JZGVudGlm
aWVyKTsKKyAgICBpZiAoIXRyYW5zYWN0aW9uIHx8ICF0cmFuc2FjdGlvbi0+aW5Qcm9ncmVzcygp
KSB7CisgICAgICAgIExPR19FUlJPUigiQXR0ZW1wdCB0byBzZWUgaWYga2V5IGV4aXN0cyBpbiBv
YmplY3RzdG9yZSB3aXRob3V0IGFuIGluLXByb2dyZXNzIHRyYW5zYWN0aW9uIik7CisgICAgICAg
IHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiQXR0ZW1wdCB0byBzZWUgaWYga2V5IGV4aXN0cyBpbiBvYmplY3RzdG9yZSB3aXRob3V0IGFu
IGluLXByb2dyZXNzIHRyYW5zYWN0aW9uIikgfTsKKyAgICB9CisKKyAgICBSZWZQdHI8U2hhcmVk
QnVmZmVyPiBrZXlCdWZmZXIgPSBzZXJpYWxpemVJREJLZXlEYXRhKGtleURhdGEpOworICAgIGlm
ICgha2V5QnVmZmVyKSB7CisgICAgICAgIExPR19FUlJPUigiVW5hYmxlIHRvIHNlcmlhbGl6ZSBJ
REJLZXkgdG8gY2hlY2sgZm9yIGV4aXN0ZW5jZSBpbiBvYmplY3Qgc3RvcmUiKTsKKyAgICAgICAg
cmV0dXJuIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgQVNDSUlMaXRlcmFs
KCJVbmFibGUgdG8gc2VyaWFsaXplIElEQktleSB0byBjaGVjayBmb3IgZXhpc3RlbmNlIGluIG9i
amVjdCBzdG9yZSIpIH07CisgICAgfQorICAgIFNRTGl0ZVN0YXRlbWVudCBzcWwoKm1fc3FsaXRl
REIsIEFTQ0lJTGl0ZXJhbCgiU0VMRUNUIGtleSBGUk9NIFJlY29yZHMgV0hFUkUgb2JqZWN0U3Rv
cmVJRCA9ID8gQU5EIGtleSA9IENBU1QoPyBBUyBURVhUKSBMSU1JVCAxOyIpKTsKKyAgICBpZiAo
c3FsLnByZXBhcmUoKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgfHwgc3FsLmJpbmRJbnQ2NCgxLCBv
YmplY3RTdG9yZUlEKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgfHwgc3FsLmJpbmRCbG9iKDIsIGtl
eUJ1ZmZlci0+ZGF0YSgpLCBrZXlCdWZmZXItPnNpemUoKSkgIT0gU1FMSVRFX09LKSB7CisgICAg
ICAgIExPR19FUlJPUigiQ291bGQgbm90IGdldCByZWNvcmQgZnJvbSBvYmplY3Qgc3RvcmUgJSIg
UFJJaTY0ICIgZnJvbSBSZWNvcmRzIHRhYmxlICglaSkgLSAlcyIsIG9iamVjdFN0b3JlSUQsIG1f
c3FsaXRlREItPmxhc3RFcnJvcigpLCBtX3NxbGl0ZURCLT5sYXN0RXJyb3JNc2coKSk7CisgICAg
ICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiVW5hYmxlIHRvIGNoZWNrIGZvciBleGlzdGVuY2Ugb2YgSURCS2V5IGluIG9iamVjdCBz
dG9yZSIpIH07CisgICAgfQorCisgICAgaW50IHNxbFJlc3VsdCA9IHNxbC5zdGVwKCk7CisgICAg
aWYgKHNxbFJlc3VsdCA9PSBTUUxJVEVfT0sgfHwgc3FsUmVzdWx0ID09IFNRTElURV9ET05FKSB7
CisgICAgICAgIGtleUV4aXN0cyA9IGZhbHNlOworICAgICAgICByZXR1cm4geyB9OworICAgIH0K
KworICAgIGlmIChzcWxSZXN1bHQgIT0gU1FMSVRFX1JPVykgeworICAgICAgICAvLyBUaGVyZSB3
YXMgYW4gZXJyb3IgZmV0Y2hpbmcgdGhlIHJlY29yZCBmcm9tIHRoZSBkYXRhYmFzZS4KKyAgICAg
ICAgTE9HX0VSUk9SKCJDb3VsZCBub3QgY2hlY2sgaWYga2V5IGV4aXN0cyBpbiBvYmplY3Qgc3Rv
cmUgKCVpKSAtICVzIiwgbV9zcWxpdGVEQi0+bGFzdEVycm9yKCksIG1fc3FsaXRlREItPmxhc3RF
cnJvck1zZygpKTsKKyAgICAgICAgcmV0dXJuIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25v
d25FcnJvciwgQVNDSUlMaXRlcmFsKCJFcnJvciBjaGVja2luZyBmb3IgZXhpc3RlbmNlIG9mIElE
QktleSBpbiBvYmplY3Qgc3RvcmUiKSB9OworICAgIH0KKworICAgIGtleUV4aXN0cyA9IHRydWU7
CisgICAgcmV0dXJuIHsgfTsKIH0KIAotSURCRXJyb3IgU1FMaXRlSURCQmFja2luZ1N0b3JlOjpk
ZWxldGVSYW5nZShjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImLCB1aW50NjRfdCwgY29uc3Qg
SURCS2V5UmFuZ2VEYXRhJikKK0lEQkVycm9yIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6ZGVsZXRl
UmVjb3JkKFNRTGl0ZUlEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgaW50NjRfdCBvYmplY3RT
dG9yZUlELCBjb25zdCBJREJLZXlEYXRhJiBrZXlEYXRhKQogewotICAgIHJldHVybiB7IElEQkRh
dGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiTm90IGltcGxlbWVu
dGVkIikgfTsKKyAgICBMT0coSW5kZXhlZERCLCAiU1FMaXRlSURCQmFja2luZ1N0b3JlOjpkZWxl
dGVSZWNvcmQgLSBrZXkgJXMsIG9iamVjdCBzdG9yZSAlIiBQUkl1NjQsIGtleURhdGEubG9nZ2lu
Z1N0cmluZygpLnV0ZjgoKS5kYXRhKCksIG9iamVjdFN0b3JlSUQpOworCisgICAgQVNTRVJUKG1f
c3FsaXRlREIpOworICAgIEFTU0VSVChtX3NxbGl0ZURCLT5pc09wZW4oKSk7CisgICAgQVNTRVJU
KHRyYW5zYWN0aW9uLmluUHJvZ3Jlc3MoKSk7CisgICAgQVNTRVJUKHRyYW5zYWN0aW9uLm1vZGUo
KSAhPSBJbmRleGVkREI6OlRyYW5zYWN0aW9uTW9kZTo6UmVhZE9ubHkpOworCisgICAgUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4ga2V5QnVmZmVyID0gc2VyaWFsaXplSURCS2V5RGF0YShrZXlEYXRhKTsK
KyAgICBpZiAoIWtleUJ1ZmZlcikgeworICAgICAgICBMT0dfRVJST1IoIlVuYWJsZSB0byBzZXJp
YWxpemUgSURCS2V5RGF0YSB0byBiZSByZW1vdmVkIGZyb20gdGhlIGRhdGFiYXNlIik7CisgICAg
ICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiVW5hYmxlIHRvIHNlcmlhbGl6ZSBJREJLZXlEYXRhIHRvIGJlIHJlbW92ZWQgZnJvbSB0
aGUgZGF0YWJhc2UiKSB9OworICAgIH0KKworICAgIC8vIERlbGV0ZSByZWNvcmQgZnJvbSBvYmpl
Y3Qgc3RvcmUKKyAgICB7CisgICAgICAgIFNRTGl0ZVN0YXRlbWVudCBzcWwoKm1fc3FsaXRlREIs
IEFTQ0lJTGl0ZXJhbCgiREVMRVRFIEZST00gUmVjb3JkcyBXSEVSRSBvYmplY3RTdG9yZUlEID0g
PyBBTkQga2V5ID0gQ0FTVCg/IEFTIFRFWFQpOyIpKTsKKworICAgICAgICBpZiAoc3FsLnByZXBh
cmUoKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHNxbC5iaW5kSW50NjQoMSwgb2JqZWN0
U3RvcmVJRCkgIT0gU1FMSVRFX09LCisgICAgICAgICAgICB8fCBzcWwuYmluZEJsb2IoMiwga2V5
QnVmZmVyLT5kYXRhKCksIGtleUJ1ZmZlci0+c2l6ZSgpKSAhPSBTUUxJVEVfT0sKKyAgICAgICAg
ICAgIHx8IHNxbC5zdGVwKCkgIT0gU1FMSVRFX0RPTkUpIHsKKyAgICAgICAgICAgIExPR19FUlJP
UigiQ291bGQgbm90IGRlbGV0ZSByZWNvcmQgZnJvbSBvYmplY3Qgc3RvcmUgJSIgUFJJaTY0ICIg
KCVpKSAtICVzIiwgb2JqZWN0U3RvcmVJRCwgbV9zcWxpdGVEQi0+bGFzdEVycm9yKCksIG1fc3Fs
aXRlREItPmxhc3RFcnJvck1zZygpKTsKKyAgICAgICAgICAgIHJldHVybiB7IElEQkRhdGFiYXNl
RXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHRvIGRlbGV0ZSBy
ZWNvcmQgZnJvbSBvYmplY3Qgc3RvcmUiKSB9OworICAgICAgICB9CisgICAgfQorCisgICAgLy8g
RGVsZXRlIHJlY29yZCBmcm9tIGluZGV4ZXMgc3RvcmUKKyAgICB7CisgICAgICAgIFNRTGl0ZVN0
YXRlbWVudCBzcWwoKm1fc3FsaXRlREIsIEFTQ0lJTGl0ZXJhbCgiREVMRVRFIEZST00gSW5kZXhS
ZWNvcmRzIFdIRVJFIG9iamVjdFN0b3JlSUQgPSA/IEFORCB2YWx1ZSA9IENBU1QoPyBBUyBURVhU
KTsiKSk7CisKKyAgICAgICAgaWYgKHNxbC5wcmVwYXJlKCkgIT0gU1FMSVRFX09LCisgICAgICAg
ICAgICB8fCBzcWwuYmluZEludDY0KDEsIG9iamVjdFN0b3JlSUQpICE9IFNRTElURV9PSworICAg
ICAgICAgICAgfHwgc3FsLmJpbmRCbG9iKDIsIGtleUJ1ZmZlci0+ZGF0YSgpLCBrZXlCdWZmZXIt
PnNpemUoKSkgIT0gU1FMSVRFX09LCisgICAgICAgICAgICB8fCBzcWwuc3RlcCgpICE9IFNRTElU
RV9ET05FKSB7CisgICAgICAgICAgICBMT0dfRVJST1IoIkNvdWxkIG5vdCBkZWxldGUgcmVjb3Jk
IGZyb20gaW5kZXhlcyBmb3Igb2JqZWN0IHN0b3JlICUiIFBSSWk2NCAiICglaSkgLSAlcyIsIG9i
amVjdFN0b3JlSUQsIG1fc3FsaXRlREItPmxhc3RFcnJvcigpLCBtX3NxbGl0ZURCLT5sYXN0RXJy
b3JNc2coKSk7CisgICAgICAgICAgICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5r
bm93bkVycm9yLCBBU0NJSUxpdGVyYWwoIkZhaWxlZCB0byBkZWxldGUgaW5kZXggZW50cmllcyBm
b3Igb2JqZWN0IHN0b3JlIHJlY29yZCIpIH07CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1
cm4geyB9OwogfQogCi1JREJFcnJvciBTUUxpdGVJREJCYWNraW5nU3RvcmU6OmFkZFJlY29yZChj
b25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImLCB1aW50NjRfdCwgY29uc3QgSURCS2V5RGF0YSYs
IGNvbnN0IFRocmVhZFNhZmVEYXRhQnVmZmVyJikKK0lEQkVycm9yIFNRTGl0ZUlEQkJhY2tpbmdT
dG9yZTo6ZGVsZXRlUmFuZ2UoY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlv
bklkZW50aWZpZXIsIHVpbnQ2NF90IG9iamVjdFN0b3JlSUQsIGNvbnN0IElEQktleVJhbmdlRGF0
YSYga2V5UmFuZ2UpCiB7Ci0gICAgcmV0dXJuIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25v
d25FcnJvciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKSB9OworICAgIExPRyhJbmRl
eGVkREIsICJTUUxpdGVJREJCYWNraW5nU3RvcmU6OmRlbGV0ZVJhbmdlIC0gcmFuZ2UgJXMsIG9i
amVjdCBzdG9yZSAlIiBQUkl1NjQsIGtleVJhbmdlLmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0
YSgpLCBvYmplY3RTdG9yZUlEKTsKKworICAgIEFTU0VSVChtX3NxbGl0ZURCKTsKKyAgICBBU1NF
UlQobV9zcWxpdGVEQi0+aXNPcGVuKCkpOworCisgICAgYXV0byogdHJhbnNhY3Rpb24gPSBtX3Ry
YW5zYWN0aW9ucy5nZXQodHJhbnNhY3Rpb25JZGVudGlmaWVyKTsKKyAgICBpZiAoIXRyYW5zYWN0
aW9uIHx8ICF0cmFuc2FjdGlvbi0+aW5Qcm9ncmVzcygpKSB7CisgICAgICAgIExPR19FUlJPUigi
QXR0ZW1wdCB0byBkZWxldGUgcmFuZ2UgZnJvbSBkYXRhYmFzZSB3aXRob3V0IGFuIGluLXByb2dy
ZXNzIHRyYW5zYWN0aW9uIik7CisgICAgICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9u
OjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXR0ZW1wdCB0byBkZWxldGUgcmFuZ2UgZnJv
bSBkYXRhYmFzZSB3aXRob3V0IGFuIGluLXByb2dyZXNzIHRyYW5zYWN0aW9uIikgfTsKKyAgICB9
CisgICAgaWYgKHRyYW5zYWN0aW9uLT5tb2RlKCkgPT0gSW5kZXhlZERCOjpUcmFuc2FjdGlvbk1v
ZGU6OlJlYWRPbmx5KSB7CisgICAgICAgIExPR19FUlJPUigiQXR0ZW1wdCB0byBkZWxldGUgcmVj
b3JkcyBmcm9tIGFuIG9iamVjdCBzdG9yZSBpbiBhIHJlYWQtb25seSB0cmFuc2FjdGlvbiIpOwor
ICAgICAgICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCBBU0NJ
SUxpdGVyYWwoIkF0dGVtcHQgdG8gZGVsZXRlIHJlY29yZHMgZnJvbSBhbiBvYmplY3Qgc3RvcmUg
aW4gYSByZWFkLW9ubHkgdHJhbnNhY3Rpb24iKSB9OworICAgIH0KKworICAgIC8vIElmIHRoZSBy
YW5nZSB0byBkZWxldGUgaXMgZXhhY3RseSBvbmUga2V5IHdlIGNhbiBkZWxldGUgaXQgcmlnaHQg
bm93LgorICAgIGlmIChrZXlSYW5nZS5pc0V4YWN0bHlPbmVLZXkoKSkgeworICAgICAgICBhdXRv
IGVycm9yID0gZGVsZXRlUmVjb3JkKCp0cmFuc2FjdGlvbiwgb2JqZWN0U3RvcmVJRCwga2V5UmFu
Z2UubG93ZXJLZXkpOworICAgICAgICBpZiAoIWVycm9yLmlzTnVsbCgpKSB7CisgICAgICAgICAg
ICBMT0dfRVJST1IoIkZhaWxlZCB0byBkZWxldGUgcmVjb3JkIGZvciBrZXkgJyVzJyIsIGtleVJh
bmdlLmxvd2VyS2V5LmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgICAg
IHJldHVybiBlcnJvcjsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiB7IH07CisgICAgfQor
CisgICAgLy8gRklYTUU6IE9uY2UgY3Vyc29yIHN1cHBvcnQgaXMgaW4gcGxhY2UsIHVzZSBhIGN1
cnNvciB0byBkZWxldGUgZXZlcnkgcmVjb3JkIGluIHRoZSByYW5nZS4KKyAgICBMT0dfRVJST1Io
IkN1cnJlbnRseSB1bmFibGUgdG8gZGVsZXRlIGFsbCByZWNvcmRzIGluIGEgbXVsdGkta2V5IHJh
bmdlIik7CisgICAgcmV0dXJuIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwg
QVNDSUlMaXRlcmFsKCJDdXJyZW50bHkgdW5hYmxlIHRvIGRlbGV0ZSBhbGwgcmVjb3JkcyBpbiBh
IG11bHRpLWtleSByYW5nZSIpIH07CiB9CiAKLUlEQkVycm9yIFNRTGl0ZUlEQkJhY2tpbmdTdG9y
ZTo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYsIHVpbnQ2NF90LCBjb25z
dCBJREJLZXlSYW5nZURhdGEmLCBUaHJlYWRTYWZlRGF0YUJ1ZmZlciYpCitJREJFcnJvciBTUUxp
dGVJREJCYWNraW5nU3RvcmU6OmFkZFJlY29yZChjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXIm
IHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWludDY0X3Qgb2JqZWN0U3RvcmVJRCwgY29uc3QgSURC
S2V5RGF0YSYga2V5RGF0YSwgY29uc3QgVGhyZWFkU2FmZURhdGFCdWZmZXImIHZhbHVlKQogewot
ICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiTm90IGltcGxlbWVudGVkIikgfTsKKyAgICBMT0coSW5kZXhlZERCLCAiU1FMaXRlSURC
QmFja2luZ1N0b3JlOjphZGRSZWNvcmQgLSBrZXkgJXMsIG9iamVjdCBzdG9yZSAlIiBQUkl1NjQs
IGtleURhdGEubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCksIG9iamVjdFN0b3JlSUQpOwor
CisgICAgQVNTRVJUKG1fc3FsaXRlREIpOworICAgIEFTU0VSVChtX3NxbGl0ZURCLT5pc09wZW4o
KSk7CisgICAgQVNTRVJUKHZhbHVlLmRhdGEoKSk7CisKKyAgICBhdXRvKiB0cmFuc2FjdGlvbiA9
IG1fdHJhbnNhY3Rpb25zLmdldCh0cmFuc2FjdGlvbklkZW50aWZpZXIpOworICAgIGlmICghdHJh
bnNhY3Rpb24gfHwgIXRyYW5zYWN0aW9uLT5pblByb2dyZXNzKCkpIHsKKyAgICAgICAgTE9HX0VS
Uk9SKCJBdHRlbXB0IHRvIHN0b3JlIGEgcmVjb3JkIGluIGFuIG9iamVjdCBzdG9yZSB3aXRob3V0
IGFuIGluLXByb2dyZXNzIHRyYW5zYWN0aW9uIik7CisgICAgICAgIHJldHVybiB7IElEQkRhdGFi
YXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXR0ZW1wdCB0byBzdG9y
ZSBhIHJlY29yZCBpbiBhbiBvYmplY3Qgc3RvcmUgd2l0aG91dCBhbiBpbi1wcm9ncmVzcyB0cmFu
c2FjdGlvbiIpIH07CisgICAgfQorICAgIGlmICh0cmFuc2FjdGlvbi0+bW9kZSgpID09IEluZGV4
ZWREQjo6VHJhbnNhY3Rpb25Nb2RlOjpSZWFkT25seSkgeworICAgICAgICBMT0dfRVJST1IoIkF0
dGVtcHQgdG8gc3RvcmUgYSByZWNvcmQgaW4gYW4gb2JqZWN0IHN0b3JlIGluIGEgcmVhZC1vbmx5
IHRyYW5zYWN0aW9uIik7CisgICAgICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpV
bmtub3duRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQXR0ZW1wdCB0byBzdG9yZSBhIHJlY29yZCBpbiBh
biBvYmplY3Qgc3RvcmUgaW4gYSByZWFkLW9ubHkgdHJhbnNhY3Rpb24iKSB9OworICAgIH0KKwor
ICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGtleUJ1ZmZlciA9IHNlcmlhbGl6ZUlEQktleURhdGEo
a2V5RGF0YSk7CisgICAgaWYgKCFrZXlCdWZmZXIpIHsKKyAgICAgICAgTE9HX0VSUk9SKCJVbmFi
bGUgdG8gc2VyaWFsaXplIElEQktleSB0byBiZSBzdG9yZWQgaW4gYW4gb2JqZWN0IHN0b3JlIik7
CisgICAgICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFT
Q0lJTGl0ZXJhbCgiVW5hYmxlIHRvIHNlcmlhbGl6ZSBJREJLZXkgdG8gYmUgc3RvcmVkIGluIGFu
IG9iamVjdCBzdG9yZSIpIH07CisgICAgfQorICAgIHsKKyAgICAgICAgU1FMaXRlU3RhdGVtZW50
IHNxbCgqbV9zcWxpdGVEQiwgQVNDSUlMaXRlcmFsKCJJTlNFUlQgSU5UTyBSZWNvcmRzIFZBTFVF
UyAoPywgQ0FTVCg/IEFTIFRFWFQpLCA/KTsiKSk7CisgICAgICAgIGlmIChzcWwucHJlcGFyZSgp
ICE9IFNRTElURV9PSworICAgICAgICAgICAgfHwgc3FsLmJpbmRJbnQ2NCgxLCBvYmplY3RTdG9y
ZUlEKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHNxbC5iaW5kQmxvYigyLCBrZXlCdWZm
ZXItPmRhdGEoKSwga2V5QnVmZmVyLT5zaXplKCkpICE9IFNRTElURV9PSworICAgICAgICAgICAg
fHwgc3FsLmJpbmRCbG9iKDMsIHZhbHVlLmRhdGEoKS0+ZGF0YSgpLCB2YWx1ZS5kYXRhKCktPnNp
emUoKSkgIT0gU1FMSVRFX09LCisgICAgICAgICAgICB8fCBzcWwuc3RlcCgpICE9IFNRTElURV9E
T05FKSB7CisgICAgICAgICAgICBMT0dfRVJST1IoIkNvdWxkIG5vdCBwdXQgcmVjb3JkIGZvciBv
YmplY3Qgc3RvcmUgJSIgUFJJaTY0ICIgaW4gUmVjb3JkcyB0YWJsZSAoJWkpIC0gJXMiLCBvYmpl
Y3RTdG9yZUlELCBtX3NxbGl0ZURCLT5sYXN0RXJyb3IoKSwgbV9zcWxpdGVEQi0+bGFzdEVycm9y
TXNnKCkpOworICAgICAgICAgICAgcmV0dXJuIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25v
d25FcnJvciwgQVNDSUlMaXRlcmFsKCJVbmFibGUgdG8gc3RvcmUgcmVjb3JkIGluIG9iamVjdCBz
dG9yZSIpIH07CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4geyB9OworfQorCitJREJF
cnJvciBTUUxpdGVJREJCYWNraW5nU3RvcmU6OmdldFJlY29yZChjb25zdCBJREJSZXNvdXJjZUlk
ZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWludDY0X3Qgb2JqZWN0U3RvcmVJRCwg
Y29uc3QgSURCS2V5UmFuZ2VEYXRhJiBrZXlSYW5nZSwgVGhyZWFkU2FmZURhdGFCdWZmZXImIHJl
c3VsdFZhbHVlKQoreworICAgIExPRyhJbmRleGVkREIsICJTUUxpdGVJREJCYWNraW5nU3RvcmU6
OmdldFJlY29yZCAtIGtleSByYW5nZSAlcywgb2JqZWN0IHN0b3JlICUiIFBSSXU2NCwga2V5UmFu
Z2UubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCksIG9iamVjdFN0b3JlSUQpOworCisgICAg
QVNTRVJUKG1fc3FsaXRlREIpOworICAgIEFTU0VSVChtX3NxbGl0ZURCLT5pc09wZW4oKSk7CisK
KyAgICBhdXRvKiB0cmFuc2FjdGlvbiA9IG1fdHJhbnNhY3Rpb25zLmdldCh0cmFuc2FjdGlvbklk
ZW50aWZpZXIpOworICAgIGlmICghdHJhbnNhY3Rpb24gfHwgIXRyYW5zYWN0aW9uLT5pblByb2dy
ZXNzKCkpIHsKKyAgICAgICAgTE9HX0VSUk9SKCJBdHRlbXB0IHRvIGdldCBhIHJlY29yZCBmcm9t
IGRhdGFiYXNlIHdpdGhvdXQgYW4gaW4tcHJvZ3Jlc3MgdHJhbnNhY3Rpb24iKTsKKyAgICAgICAg
cmV0dXJuIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgQVNDSUlMaXRlcmFs
KCJBdHRlbXB0IHRvIGdldCBhIHJlY29yZCBmcm9tIGRhdGFiYXNlIHdpdGhvdXQgYW4gaW4tcHJv
Z3Jlc3MgdHJhbnNhY3Rpb24iKSB9OworICAgIH0KKworICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+
IGxvd2VyQnVmZmVyID0gc2VyaWFsaXplSURCS2V5RGF0YShJREJLZXlEYXRhKGtleVJhbmdlLmxv
d2VyS2V5KSk7CisgICAgaWYgKCFsb3dlckJ1ZmZlcikgeworICAgICAgICBMT0dfRVJST1IoIlVu
YWJsZSB0byBzZXJpYWxpemUgbG93ZXIgSURCS2V5IGluIGxvb2t1cCByYW5nZSIpOworICAgICAg
ICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCBBU0NJSUxpdGVy
YWwoIlVuYWJsZSB0byBzZXJpYWxpemUgbG93ZXIgSURCS2V5IGluIGxvb2t1cCByYW5nZSIpIH07
CisgICAgfQorCisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gdXBwZXJCdWZmZXIgPSBzZXJpYWxp
emVJREJLZXlEYXRhKElEQktleURhdGEoa2V5UmFuZ2UudXBwZXJLZXkpKTsKKyAgICBpZiAoIXVw
cGVyQnVmZmVyKSB7CisgICAgICAgIExPR19FUlJPUigiVW5hYmxlIHRvIHNlcmlhbGl6ZSB1cHBl
ciBJREJLZXkgaW4gbG9va3VwIHJhbmdlIik7CisgICAgICAgIHJldHVybiB7IElEQkRhdGFiYXNl
RXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiVW5hYmxlIHRvIHNlcmlhbGl6
ZSB1cHBlciBJREJLZXkgaW4gbG9va3VwIHJhbmdlIikgfTsKKyAgICB9CisKKyAgICB7CisgICAg
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBBU0NJSUxpdGVyYWw+IGxvd2VyT3BlblVw
cGVyT3BlbigiU0VMRUNUIHZhbHVlIEZST00gUmVjb3JkcyBXSEVSRSBvYmplY3RTdG9yZUlEID0g
PyBBTkQga2V5ID4gQ0FTVCg/IEFTIFRFWFQpIEFORCBrZXkgPCBDQVNUKD8gQVMgVEVYVCkgT1JE
RVIgQlkga2V5OyIpOworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQVNDSUlM
aXRlcmFsPiBsb3dlck9wZW5VcHBlckNsb3NlZCgiU0VMRUNUIHZhbHVlIEZST00gUmVjb3JkcyBX
SEVSRSBvYmplY3RTdG9yZUlEID0gPyBBTkQga2V5ID4gQ0FTVCg/IEFTIFRFWFQpIEFORCBrZXkg
PD0gQ0FTVCg/IEFTIFRFWFQpIE9SREVSIEJZIGtleTsiKTsKKyAgICAgICAgc3RhdGljIE5ldmVy
RGVzdHJveWVkPGNvbnN0IEFTQ0lJTGl0ZXJhbD4gbG93ZXJDbG9zZWRVcHBlck9wZW4oIlNFTEVD
VCB2YWx1ZSBGUk9NIFJlY29yZHMgV0hFUkUgb2JqZWN0U3RvcmVJRCA9ID8gQU5EIGtleSA+PSBD
QVNUKD8gQVMgVEVYVCkgQU5EIGtleSA8IENBU1QoPyBBUyBURVhUKSBPUkRFUiBCWSBrZXk7Iik7
CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBBU0NJSUxpdGVyYWw+IGxvd2Vy
Q2xvc2VkVXBwZXJDbG9zZWQoIlNFTEVDVCB2YWx1ZSBGUk9NIFJlY29yZHMgV0hFUkUgb2JqZWN0
U3RvcmVJRCA9ID8gQU5EIGtleSA+PSBDQVNUKD8gQVMgVEVYVCkgQU5EIGtleSA8PSBDQVNUKD8g
QVMgVEVYVCkgT1JERVIgQlkga2V5OyIpOworCisgICAgICAgIGNvbnN0IEFTQ0lJTGl0ZXJhbCog
cXVlcnkgPSBudWxscHRyOworCisgICAgICAgIGlmIChrZXlSYW5nZS5sb3dlck9wZW4pIHsKKyAg
ICAgICAgICAgIGlmIChrZXlSYW5nZS51cHBlck9wZW4pCisgICAgICAgICAgICAgICAgcXVlcnkg
PSAmbG93ZXJPcGVuVXBwZXJPcGVuLmdldCgpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIHF1ZXJ5ID0gJmxvd2VyT3BlblVwcGVyQ2xvc2VkLmdldCgpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKGtleVJhbmdlLnVwcGVyT3BlbikKKyAgICAgICAgICAgICAg
ICBxdWVyeSA9ICZsb3dlckNsb3NlZFVwcGVyT3Blbi5nZXQoKTsKKyAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICBxdWVyeSA9ICZsb3dlckNsb3NlZFVwcGVyQ2xvc2VkLmdldCgpOwor
ICAgICAgICB9CisKKyAgICAgICAgQVNTRVJUKHF1ZXJ5KTsKKworICAgICAgICBTUUxpdGVTdGF0
ZW1lbnQgc3FsKCptX3NxbGl0ZURCLCAqcXVlcnkpOworICAgICAgICBpZiAoc3FsLnByZXBhcmUo
KSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHNxbC5iaW5kSW50NjQoMSwgb2JqZWN0U3Rv
cmVJRCkgIT0gU1FMSVRFX09LCisgICAgICAgICAgICB8fCBzcWwuYmluZEJsb2IoMiwgbG93ZXJC
dWZmZXItPmRhdGEoKSwgbG93ZXJCdWZmZXItPnNpemUoKSkgIT0gU1FMSVRFX09LCisgICAgICAg
ICAgICB8fCBzcWwuYmluZEJsb2IoMywgdXBwZXJCdWZmZXItPmRhdGEoKSwgdXBwZXJCdWZmZXIt
PnNpemUoKSkgIT0gU1FMSVRFX09LKSB7CisgICAgICAgICAgICBMT0dfRVJST1IoIkNvdWxkIG5v
dCBnZXQga2V5IHJhbmdlIHJlY29yZCBmcm9tIG9iamVjdCBzdG9yZSAlIiBQUklpNjQgIiBmcm9t
IFJlY29yZHMgdGFibGUgKCVpKSAtICVzIiwgb2JqZWN0U3RvcmVJRCwgbV9zcWxpdGVEQi0+bGFz
dEVycm9yKCksIG1fc3FsaXRlREItPmxhc3RFcnJvck1zZygpKTsKKyAgICAgICAgICAgIHJldHVy
biB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFp
bGVkIHRvIGxvb2sgdXAgcmVjb3JkIGluIG9iamVjdCBzdG9yZSBieSBrZXkgcmFuZ2UiKSB9Owor
ICAgICAgICB9CisKKyAgICAgICAgaW50IHNxbFJlc3VsdCA9IHNxbC5zdGVwKCk7CisKKyAgICAg
ICAgaWYgKHNxbFJlc3VsdCA9PSBTUUxJVEVfT0sgfHwgc3FsUmVzdWx0ID09IFNRTElURV9ET05F
KSB7CisgICAgICAgICAgICAvLyBUaGVyZSB3YXMgbm8gcmVjb3JkIGZvciB0aGUga2V5IGluIHRo
ZSBkYXRhYmFzZS4KKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIH0KKyAgICAgICAg
aWYgKHNxbFJlc3VsdCAhPSBTUUxJVEVfUk9XKSB7CisgICAgICAgICAgICAvLyBUaGVyZSB3YXMg
YW4gZXJyb3IgZmV0Y2hpbmcgdGhlIHJlY29yZCBmcm9tIHRoZSBkYXRhYmFzZS4KKyAgICAgICAg
ICAgIExPR19FUlJPUigiQ291bGQgbm90IGdldCByZWNvcmQgZnJvbSBvYmplY3Qgc3RvcmUgJSIg
UFJJaTY0ICIgZnJvbSBSZWNvcmRzIHRhYmxlICglaSkgLSAlcyIsIG9iamVjdFN0b3JlSUQsIG1f
c3FsaXRlREItPmxhc3RFcnJvcigpLCBtX3NxbGl0ZURCLT5sYXN0RXJyb3JNc2coKSk7CisgICAg
ICAgICAgICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCBBU0NJ
SUxpdGVyYWwoIkVycm9yIGxvb2tpbmcgdXAgcmVjb3JkIGluIG9iamVjdCBzdG9yZSBieSBrZXkg
cmFuZ2UiKSB9OworICAgICAgICB9CisKKyAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IGJ1ZmZlcjsK
KyAgICAgICAgc3FsLmdldENvbHVtbkJsb2JBc1ZlY3RvcigwLCBidWZmZXIpOworICAgICAgICBy
ZXN1bHRWYWx1ZSA9IFRocmVhZFNhZmVEYXRhQnVmZmVyOjphZG9wdFZlY3RvcihidWZmZXIpOwor
ICAgIH0KKworICAgIHJldHVybiB7IH07CiB9CiAKIElEQkVycm9yIFNRTGl0ZUlEQkJhY2tpbmdT
dG9yZTo6Z2V0SW5kZXhSZWNvcmQoY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiwgdWludDY0
X3QsIHVpbnQ2NF90LCBJbmRleGVkREI6OkluZGV4UmVjb3JkVHlwZSwgY29uc3QgSURCS2V5UmFu
Z2VEYXRhJiwgSURCR2V0UmVzdWx0JikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuaAppbmRl
eCBiZTJjZmMyLi44N2I5MDkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5oCkBAIC04
NCw2ICs4NCw4IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPElEQkRhdGFiYXNlSW5m
bz4gY3JlYXRlQW5kUG9wdWxhdGVJbml0aWFsRGF0YWJhc2VJbmZvKCk7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPElEQkRhdGFiYXNlSW5mbz4gZXh0cmFjdEV4aXN0aW5nRGF0YWJhc2VJbmZvKCk7CiAK
KyAgICBJREJFcnJvciBkZWxldGVSZWNvcmQoU1FMaXRlSURCVHJhbnNhY3Rpb24mLCBpbnQ2NF90
IG9iamVjdFN0b3JlSUQsIGNvbnN0IElEQktleURhdGEmKTsKKwogICAgIElEQkRhdGFiYXNlSWRl
bnRpZmllciBtX2lkZW50aWZpZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPElEQkRhdGFiYXNlSW5m
bz4gbV9kYXRhYmFzZUluZm87CiAK
</data>
<flag name="review"
          id="294525"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269615</attachid>
            <date>2016-01-22 15:12:22 -0800</date>
            <delta_ts>2016-01-22 16:41:17 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>30002</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiOTg0N2VlLi45OTRiZDYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDEt
MjIgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJ
REI6IEltcGxlbWVudCBwdXQsIGdldCwgYW5kIGRlbGV0ZSByZWNvcmRzIGZvciB0aGUgU1FMaXRl
IGJhY2tlbmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTMzNzUKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAg
ICAgICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE2LTAxLTIyICBU
aW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIHRl
c3QgZm9yIGlPUyBhcnJvdy1rZXkgcmVwZWF0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNWNiZDczYi4uODFmZTgzNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtOTEsOSArOTEsOSBA
QCBzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWRiLXByaXZhdGUtYnJvd3NpbmcuaHRtbCBbIEZhaWx1
cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvY29ubmVjdGlvbi1sZWFrLXByaXZhdGUuaHRtbCBbIFNr
aXAgXQogc3RvcmFnZS9pbmRleGVkZGIvY29ubmVjdGlvbi1sZWFrLmh0bWwgWyBTa2lwIF0KIHN0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1sZWFrLXByaXZhdGUuaHRtbCBbIEZhaWx1cmUgXQotc3Rv
cmFnZS9pbmRleGVkZGIvY3Vyc29yLWxlYWsuaHRtbCBbIEZhaWx1cmUgXQorc3RvcmFnZS9pbmRl
eGVkZGIvY3Vyc29yLWxlYWsuaHRtbCBbIFNraXAgXQogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29y
LXJlcXVlc3QtY3ljbGUtcHJpdmF0ZS5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRk
Yi9jdXJzb3ItcmVxdWVzdC1jeWNsZS5odG1sIFsgRmFpbHVyZSBdCitzdG9yYWdlL2luZGV4ZWRk
Yi9jdXJzb3ItcmVxdWVzdC1jeWNsZS5odG1sIFsgU2tpcCBdCiBzdG9yYWdlL2luZGV4ZWRkYi9k
ZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdC1wcml2YXRlLmh0bWwgWyBTa2lwIF0KIHN0b3Jh
Z2UvaW5kZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0Lmh0bWwgWyBTa2lwIF0K
IHN0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtbGVhay1wcml2YXRlLmh0bWwgWyBGYWlsdXJlIF0K
QEAgLTI1NCw5ICsyNTQsNiBAQCBpbXBvcnRlZC93M2MvaW5kZXhlZGRiL2Nsb3NlLWluLXVwZ3Jh
ZGVuZWVkZWQuaHRtbCBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9jdXJzb3It
b3ZlcmxvYWRzLmh0bSBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9pZGJjdXJz
b3ItZGlyZWN0aW9uLWluZGV4LWtleXJhbmdlLmh0bSBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNj
L2luZGV4ZWRkYi9pZGJjdXJzb3ItZGlyZWN0aW9uLWluZGV4Lmh0bSBbIEZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL2luZGV4ZWRkYi9pZGJjdXJzb3ItZGlyZWN0aW9uLW9iamVjdHN0b3JlLWtleXJh
bmdlLmh0bSBbIEZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9pZGJjdXJzb3ItZGly
ZWN0aW9uLW9iamVjdHN0b3JlLmh0bSBbIEZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL2luZGV4ZWRk
Yi9pZGJjdXJzb3ItZGlyZWN0aW9uLmh0bSBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL2luZGV4
ZWRkYi9pZGJjdXJzb3Ita2V5Lmh0bSBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL2luZGV4ZWRk
Yi9pZGJjdXJzb3ItcHJpbWFyeWtleS5odG0gWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy9pbmRl
eGVkZGIvaWRiY3Vyc29yLXJldXNlZC5odG0gWyBGYWlsdXJlIF0KQEAgLTQyMywxMSArNDIwLDkg
QEAgaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9pZGJ0cmFuc2FjdGlvbi1vbmNvbXBsZXRlLmh0bSBb
IEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9pZGJ0cmFuc2FjdGlvbl9hYm9ydC5o
dG0gWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy9pbmRleGVkZGIvaWRidmVyc2lvbmNoYW5nZWV2
ZW50Lmh0bSBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9pbmRleF9zb3J0X29y
ZGVyLmh0bSBbIEZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9rZXlfdmFsaWQuaHRt
bCBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9rZXlnZW5lcmF0b3ItY29uc3Ry
YWludGVycm9yLmh0bSBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9rZXlnZW5l
cmF0b3Itb3ZlcmZsb3cuaHRtIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2MvaW5kZXhlZGRiL2tl
eWdlbmVyYXRvci5odG0gWyBGYWlsdXJlIF0KLWltcG9ydGVkL3czYy9pbmRleGVkZGIva2V5b3Jk
ZXIuaHRtIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2MvaW5kZXhlZGRiL2tleXBhdGhfbWF4c2l6
ZS5odG0gWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy9pbmRleGVkZGIvbGlzdF9vcmRlcmluZy5o
dG0gWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy9pbmRleGVkZGIvb2JqZWN0c3RvcmVfa2V5b3Jk
ZXIuaHRtIFsgRmFpbHVyZSBdCkBAIC00NDAsMTUgKzQzNSwxMCBAQCBpbXBvcnRlZC93M2MvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLXJlcXVlc3RxdWV1ZS5odG0gWyBGYWlsdXJlIF0KIGltcG9ydGVk
L3czYy9pbmRleGVkZGIvdHJhbnNhY3Rpb25fYnViYmxlLWFuZC1jYXB0dXJlLmh0bSBbIEZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi92YWx1ZS5odG0gWyBGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy9pbmRleGVkZGIvdmFsdWVfcmVjdXJzaXZlLmh0bSBbIEZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL2luZGV4ZWRkYi93cml0ZXItc3RhcnZhdGlvbi5odG0gWyBGYWlsdXJlIF0KLXN0b3Jh
Z2UvaW5kZXhlZGRiL2Nsb3NlZC1jdXJzb3IuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRl
eGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwgWyBGYWlsdXJlIF0KLXN0
b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1vYmplY3Qtc3RvcmUtb3B0aW9ucy5odG1sIFsgRmFpbHVy
ZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGVJbmRleC1hZnRlci1mYWlsdXJlLmh0bWwgWyBG
YWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1hZGRlZC1idWcuaHRtbCBbIEZhaWx1
cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWFkdmFuY2UuaHRtbCBbIEZhaWx1cmUgXQog
c3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWJhc2ljcy5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdl
L2luZGV4ZWRkYi9jdXJzb3ItY2FzdC5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRk
Yi9jdXJzb3ItY29udGludWUtZGlyLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1jb250aW51ZS12YWxpZGl0eS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3ItY29udGludWUuaHRtbCBbIEZhaWx1cmUgXQpAQCAtNDY2LDE0ICs0NTYsMTEg
QEAgc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sIFsgRmFpbHVyZSBd
CiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLXZhbHVlLWFyZ3VtZW50LXJlcXVpcmVk
Lmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUuaHRtbCBb
IEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXZhbHVlLmh0bWwgWyBGYWlsdXJl
IF0KLXN0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLWNsb3NlLmh0bWwgWyBGYWlsdXJlIF0KIHN0
b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXdyYXBwZXIuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFn
ZS9pbmRleGVkZGIvZGVsZXRlLXJhbmdlLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhl
ZGRiL2RlbGV0ZUluZGV4Lmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0
ZWQtb2JqZWN0cy5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9kdXBsaWNhdGVz
Lmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1i
eS1kZWZhdWx0Lmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1p
bi1ldmVudC1hYm9ydHMuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0
aW9ucy5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRh
dGFiYXNlLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2dldC1rZXlyYW5nZS5o
dG1sIFsgRmFpbHVyZSBdCkBAIC00ODcsOCArNDc0LDYgQEAgc3RvcmFnZS9pbmRleGVkZGIvaW5k
ZXgtdW5pcXVlLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2tleS1nZW5lcmF0
b3IuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIva2V5LXNvcnQtb3JkZXItYWNy
b3NzLXR5cGVzLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2tleS1zb3J0LW9y
ZGVyLWRhdGUuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJy
YXkuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtaW5maW5pdHku
aHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1hcnJheXMuaHRtbCBb
IEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1lZGdlcy5odG1sIFsgRmFpbHVy
ZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWZldGNoLWtleS5odG1sIFsgRmFpbHVyZSBd
CkBAIC00OTksMTMgKzQ4NCw4IEBAIHN0b3JhZ2UvaW5kZXhlZGRiL2xpc3Qtb3JkZXJpbmcuaHRt
bCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbWV0YWRhdGEtcmFjZS5odG1sIFsgRmFp
bHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tZXRhZGF0YS5odG1sIFsgRmFpbHVyZSBdCiBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vYWJvcnQtb2JqZWN0c3RvcmUtaW5mby5odG1sIFsgRmFpbHVy
ZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYWJvcnQtcmVxdWVzdHMtY2FuY2VsbGVkLmh0
bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9hYm9ydGVkLXB1dC5odG1s
IFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYXV0b2luY3JlbWVudC1hYm9y
dC5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmFzaWMtYWRkLmh0
bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9iYXNpYy1wdXQuaHRtbCBb
IEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2NyZWF0ZS1pbmRleC1mYWlsdXJl
cy5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3JlYXRlb2JqZWN0
c3RvcmUtYmFzaWMuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1
cnNvci0xLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3It
Mi5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTMuaHRt
bCBbIEZhaWx1cmUgXQpAQCAtNTE0LDUyICs0OTQsMzIgQEAgc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2N1cnNvci01Lmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9j
dXJzb3ItNi5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29y
LTcuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci04Lmh0
bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kYXRlLWJhc2ljLmh0bWwg
WyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFzZS0xLmh0
bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFzZS0y
Lmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0x
Lmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0y
Lmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVvYmplY3Rz
dG9yZS0xLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9nZXQtaW5k
ZXgtZmFpbHVyZXMuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2dl
dC1rZXlyYW5nZS5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRi
ZGF0YWJhc2UtZGVsZXRlb2JqZWN0c3RvcmUtZmFpbHVyZXMuaHRtbCBbIEZhaWx1cmUgXQotc3Rv
cmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmRhdGFiYXNlLXRyYW5zYWN0aW9uLWZhaWx1cmVzLmh0
bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJpbmRleC1wcm9wZXJ0
aWVzLWJhc2ljLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJv
YmplY3RzdG9yZS1jbGVhci0xLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21v
ZGVybi9pZGJvYmplY3RzdG9yZS1jbGVhci0yLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5k
ZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1jb3VudC0xLmh0bWwgWyBGYWlsdXJlIF0KLXN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1jb3VudC1mYWlsdXJlcy5odG1s
IFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZGVs
ZXRlLTEuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVj
dHN0b3JlLWRlbGV0ZS0yLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9pZGJvYmplY3RzdG9yZS1kZWxldGUtZmFpbHVyZXMuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWdldC1mYWlsdXJlcy5odG1sIFsgRmFp
bHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtcHV0LWFuZC1j
bGVhci1mYWlsdXJlcy5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
aW5kZXgtMS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgt
Mi5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtMy5odG1s
IFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtNC5odG1sIFsgRmFp
bHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtNS5odG1sIFsgRmFpbHVyZSBd
CiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtY3Vyc29yLTEuaHRtbCBbIEZhaWx1cmUg
XQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LWN1cnNvci0yLmh0bWwgWyBGYWlsdXJl
IF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC1jdXJzb3ItMy5odG1sIFsgRmFpbHVy
ZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtZ2V0LWNvdW50LWJhc2ljLmh0bWwg
WyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC1nZXQtY291bnQtZmFp
bHVyZXMuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2tleXBhdGgt
YmFzaWMuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL21lbW9yeS1p
bmRleC1ub3QtZGVsZXRlZC13aXRoLW9iamVjdHN0b3JlLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9vYmplY3RzdG9yZS1hdHRyaWJ1dGVzLmh0bWwgWyBGYWlsdXJl
IF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9vYmplY3RzdG9yZS1jdXJzb3ItYWR2YW5jZS1m
YWlsdXJlcy5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb2JqZWN0
c3RvcmUtY3Vyc29yLWNvbnRpbnVlLWZhaWx1cmVzLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9vcGVuY3Vyc29yLWZhaWx1cmVzLmh0bWwgWyBGYWlsdXJlIF0KIHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9yZXF1ZXN0LXJlYWR5c3RhdGUuaHRtbCBbIEZhaWx1cmUg
XQotc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9uLXNjaGVkdWxlci0xLmh0bWwg
WyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbi1zY2hlZHVs
ZXItMi5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rp
b24tc2NoZWR1bGVyLTMuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L3RyYW5zYWN0aW9uLXNjaGVkdWxlci01Lmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi90cmFuc2FjdGlvbi1zY2hlZHVsZXItNi5odG1sIFsgRmFpbHVyZSBdCiBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb25zLXN0b3Atb24tbmF2aWdhdGlvbi5odG1s
IFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2FkZC10d2ljZS1mYWlsdXJl
Lmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYXV0b2luY3JlbWVu
dC1pbmRleGVzLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYmFk
LWtleXBhdGguaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jbGVh
ci5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2NyZWF0ZS1pbmRl
eC13aXRoLWludGVnZXIta2V5cy5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL2N1cnNvci1tdXRhdGlvbi1vYmplY3RzdG9yZS1vbmx5Lmh0bWwgWyBGYWlsdXJlIF0K
QEAgLTU3OCw0NyArNTM4LDI5IEBAIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0
b3JlLXJlbW92ZS12YWx1ZXMuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9vZGQtcmVzdWx0LW9yZGVyLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRi
L21vemlsbGEvcHV0LWdldC12YWx1ZXMuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rpb25zLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHlTdGF0ZS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL3JlbW92ZS1vYmplY3RzdG9yZS5odG1sIFsgRmFpbHVyZSBdCiBz
dG9yYWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3IuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFn
ZS9pbmRleGVkZGIvbm9ibG9icy5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRk
Yi9vYmplY3RzdG9yZS1jbGVhci5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1jb3VudC5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9vYmpl
Y3RzdG9yZS1jdXJzb3IuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0
c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVk
ZGIvb2RkLXN0cmluZ3MuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1j
dXJzb3IuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1kdXJpbmctdHJh
bnNhY3Rpb24uaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvb3BlbmN1cnNvci1r
ZXkuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvb3B0aW9uYWwtYXJndW1lbnRz
Lmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHkuaHRt
bCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtYnVnZml4LTEwODA3MS5o
dG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9wcmVmZXRjaC1yYWNlLmh0bWwgWyBG
YWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy5odG1sIFsgRmFpbHVy
ZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9yZWFkb25seS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdl
L2luZGV4ZWRkYi9yZXF1ZXN0LWNvbnRpbnVlLWFib3J0Lmh0bWwgWyBGYWlsdXJlIF0KLXN0b3Jh
Z2UvaW5kZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbCBbIEZhaWx1cmUgXQot
c3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1yZXN1bHQtY2FjaGUuaHRtbCBbIEZhaWx1cmUgXQog
c3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sIFsgRmFpbHVyZSBdCi1zdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hY3RpdmUtZmxhZy5odG1sIFsgRmFpbHVyZSBdCi1zdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS5odG1sIFsgRmFpbHVyZSBdCiBz
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMuaHRtbCBb
IEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLmh0bWwgWyBG
YWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvb3JkaW5hdGlvbi1hY3Jv
c3MtZGF0YWJhc2VzLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLWNvb3JkaW5hdGlvbi13aXRoaW4tZGF0YWJhc2UuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXJyb3IuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tZXZlbnQtcHJvcGFnYXRpb24uaHRtbCBbIEZhaWx1cmUgXQot
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tb3ZlcmxhcHBpbmcuaHRtbCBbIEZhaWx1cmUg
XQotc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tcmVhZC1vbmx5Lmh0bWwgWyBGYWlsdXJl
IF0KLXN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWR3cml0ZS1leGNsdXNpdmUuaHRt
bCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tcm9sbGJhY2suaHRt
bCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc2NvcGUtc2VxdWVu
Y2luZy5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi92YWx1ZS11bmRlZmluZWQu
aHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvdmFsdWVzLW9kZC10eXBlcy5odG1s
IFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUu
aHRtbCBbIEZhaWx1cmUgXQogCiAjIFNRTGl0ZSBiYWNrZW5kIHRlc3RzIHRoYXQgdGltZW91dAog
Y3J5cHRvL3N1YnRsZS9yc2EtaW5kZXhlZGRiLmh0bWwgWyBTa2lwIF0KQEAgLTYzNywxMCArNTc5
LDM0IEBAIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbi1zY2hlZHVsZXItNC5o
dG1sIFsgU2tpcCBdCiBzdG9yYWdlL2luZGV4ZWRkYi9wcmVmZXRjaC1pbnZhbGlkYXRpb24uaHRt
bCBbIFNraXAgXQogc3RvcmFnZS9pbmRleGVkZGIvcHJpbWFyeS1rZXktdW5pcXVlLXRvLW9iamVj
dHN0b3JlLmh0bWwgWyBTa2lwIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLW9yZGVy
aW5nLmh0bWwgWyBTa2lwIF0KK3N0b3JhZ2UvaW5kZXhlZGRiL2Nsb3NlZC1jdXJzb3IuaHRtbCBb
IFNraXAgXQorc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWNhc3QuaHRtbCBbIFNraXAgXQorc3Rv
cmFnZS9pbmRleGVkZGIvbm9ibG9icy5odG1sIFsgU2tpcCBdCitzdG9yYWdlL2luZGV4ZWRkYi9w
cmVmZXRjaC1yYWNlLmh0bWwgWyBTa2lwIF0KK3N0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtcmVz
dWx0LWNhY2hlLmh0bWwgWyBTa2lwIF0KIAogIyBTUUxpdGUgYmFja2VuZCB0ZXN0cyB0aGF0IEFT
U0VSVAoraW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9pZGJjdXJzb3ItZGlyZWN0aW9uLW9iamVjdHN0
b3JlLWtleXJhbmdlLmh0bSBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9pZGJjdXJz
b3ItZGlyZWN0aW9uLW9iamVjdHN0b3JlLmh0bSBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL2luZGV4
ZWRkYi9pZGJjdXJzb3ItZGlyZWN0aW9uLmh0bSBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL2luZGV4
ZWRkYi9rZXlfdmFsaWQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi93cml0
ZXItc3RhcnZhdGlvbi5odG0gWyBTa2lwIF0KK3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLWNs
b3NlLmh0bWwgWyBTa2lwIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLW9kZC1uYW1lcy5o
dG1sIFsgU2tpcCBdCiBzdG9yYWdlL2luZGV4ZWRkYi9kb250LXdlZGdlLmh0bWwgWyBTa2lwIF0K
K3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbi1zY2hlZHVsZXItMS5odG1sIFsg
U2tpcCBdCitzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVyLTIu
aHRtbCBbIFNraXAgXQorc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9uLXNjaGVk
dWxlci01Lmh0bWwgWyBTa2lwIF0KK3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlv
bi1zY2hlZHVsZXItNi5odG1sIFsgU2tpcCBdCitzdG9yYWdlL2luZGV4ZWRkYi9vZGQtc3RyaW5n
cy5odG1sIFsgU2tpcCBdCitzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5Lmh0bWwg
WyBTa2lwIF0KK3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvb3JkaW5hdGlvbi13aXRo
aW4tZGF0YWJhc2UuaHRtbCBbIFNraXAgXQorc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
b3ZlcmxhcHBpbmcuaHRtbCBbIFNraXAgXQorc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
cmVhZC1vbmx5Lmh0bWwgWyBTa2lwIF0KKworIyBTUUxpdGUgYmFja2VuZCB0ZXN0cyB0aGF0IHdl
ZGdlIHRoZSBlbnRpcmUgdGVzdGluZyBoYXJuZXNzCitpbXBvcnRlZC93M2MvaW5kZXhlZGRiL2tl
eW9yZGVyLmh0bSBbIFNraXAgXQorc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXkuaHRt
bCBbIFNraXAgXQogCiAjIyMgRU5EIE9GICgzKSBJbmRleGVkREIgZmFpbHVyZXMgd2l0aCBTUUxp
dGUKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA1YTRiMTIwLi5mMGQ3ZDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTYtMDEt
MjIgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJ
REI6IEltcGxlbWVudCBwdXQsIGdldCwgYW5kIGRlbGV0ZSByZWNvcmRzIGZvciB0aGUgU1FMaXRl
IGJhY2tlbmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTMzNzUKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyAoQ292ZXJlZCBieSBtYW55IGV4aXN0aW5nIHRlc3RzIG5vdyBwYXNz
aW5nKS4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNr
aW5nU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpTUUxpdGVJREJCYWNr
aW5nU3RvcmU6OmtleUV4aXN0c0luT2JqZWN0U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURC
U2VydmVyOjpTUUxpdGVJREJCYWNraW5nU3RvcmU6OmRlbGV0ZVJlY29yZCk6CisgICAgICAgIChX
ZWJDb3JlOjpJREJTZXJ2ZXI6OlNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6ZGVsZXRlUmFuZ2UpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpTUUxpdGVJREJCYWNraW5nU3RvcmU6OmFkZFJl
Y29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlNRTGl0ZUlEQkJhY2tpbmdTdG9y
ZTo6Z2V0UmVjb3JkKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRl
SURCQmFja2luZ1N0b3JlLmg6CisKIDIwMTYtMDEtMjIgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hh
bUBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Yg
Q0NSYW5kb21Db3B5Qnl0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5jcHAKaW5kZXgg
NmJhN2U0MS4uZGJhZmRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5jcHAKQEAg
LTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJTUUxpdGVJREJDdXJzb3IuaCIKICNpbmNsdWRlICJT
UUxpdGVTdGF0ZW1lbnQuaCIKICNpbmNsdWRlICJTUUxpdGVUcmFuc2FjdGlvbi5oIgorI2luY2x1
ZGUgIlRocmVhZFNhZmVEYXRhQnVmZmVyLmgiCiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CkBAIC02NTMsMjQgKzY1NCwyMzggQEAgSURCRXJy
b3IgU1FMaXRlSURCQmFja2luZ1N0b3JlOjpkZWxldGVJbmRleChjb25zdCBJREJSZXNvdXJjZUlk
ZW50aWZpZXImLCB1aW50NjQKICAgICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5r
bm93bkVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpIH07CiB9CiAKLUlEQkVy
cm9yIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6a2V5RXhpc3RzSW5PYmplY3RTdG9yZShjb25zdCBJ
REJSZXNvdXJjZUlkZW50aWZpZXImLCB1aW50NjRfdCwgY29uc3QgSURCS2V5RGF0YSYsIGJvb2wm
KQorSURCRXJyb3IgU1FMaXRlSURCQmFja2luZ1N0b3JlOjprZXlFeGlzdHNJbk9iamVjdFN0b3Jl
KGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCB1aW50
NjRfdCBvYmplY3RTdG9yZUlELCBjb25zdCBJREJLZXlEYXRhJiBrZXlEYXRhLCBib29sJiBrZXlF
eGlzdHMpCiB7Ci0gICAgcmV0dXJuIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJv
ciwgQVNDSUlMaXRlcmFsKCJOb3QgaW1wbGVtZW50ZWQiKSB9OworICAgIExPRyhJbmRleGVkREIs
ICJTUUxpdGVJREJCYWNraW5nU3RvcmU6OmtleUV4aXN0c0luT2JqZWN0U3RvcmUgLSBrZXkgJXMs
IG9iamVjdCBzdG9yZSAlIiBQUkl1NjQsIGtleURhdGEubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5k
YXRhKCksIG9iamVjdFN0b3JlSUQpOworCisgICAgQVNTRVJUKG1fc3FsaXRlREIpOworICAgIEFT
U0VSVChtX3NxbGl0ZURCLT5pc09wZW4oKSk7CisKKyAgICBrZXlFeGlzdHMgPSBmYWxzZTsKKwor
ICAgIGF1dG8qIHRyYW5zYWN0aW9uID0gbV90cmFuc2FjdGlvbnMuZ2V0KHRyYW5zYWN0aW9uSWRl
bnRpZmllcik7CisgICAgaWYgKCF0cmFuc2FjdGlvbiB8fCAhdHJhbnNhY3Rpb24tPmluUHJvZ3Jl
c3MoKSkgeworICAgICAgICBMT0dfRVJST1IoIkF0dGVtcHQgdG8gc2VlIGlmIGtleSBleGlzdHMg
aW4gb2JqZWN0c3RvcmUgd2l0aG91dCBhbiBpbi1wcm9ncmVzcyB0cmFuc2FjdGlvbiIpOworICAg
ICAgICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCBBU0NJSUxp
dGVyYWwoIkF0dGVtcHQgdG8gc2VlIGlmIGtleSBleGlzdHMgaW4gb2JqZWN0c3RvcmUgd2l0aG91
dCBhbiBpbi1wcm9ncmVzcyB0cmFuc2FjdGlvbiIpIH07CisgICAgfQorCisgICAgUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4ga2V5QnVmZmVyID0gc2VyaWFsaXplSURCS2V5RGF0YShrZXlEYXRhKTsKKyAg
ICBpZiAoIWtleUJ1ZmZlcikgeworICAgICAgICBMT0dfRVJST1IoIlVuYWJsZSB0byBzZXJpYWxp
emUgSURCS2V5IHRvIGNoZWNrIGZvciBleGlzdGVuY2UgaW4gb2JqZWN0IHN0b3JlIik7CisgICAg
ICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiVW5hYmxlIHRvIHNlcmlhbGl6ZSBJREJLZXkgdG8gY2hlY2sgZm9yIGV4aXN0ZW5jZSBp
biBvYmplY3Qgc3RvcmUiKSB9OworICAgIH0KKyAgICBTUUxpdGVTdGF0ZW1lbnQgc3FsKCptX3Nx
bGl0ZURCLCBBU0NJSUxpdGVyYWwoIlNFTEVDVCBrZXkgRlJPTSBSZWNvcmRzIFdIRVJFIG9iamVj
dFN0b3JlSUQgPSA/IEFORCBrZXkgPSBDQVNUKD8gQVMgVEVYVCkgTElNSVQgMTsiKSk7CisgICAg
aWYgKHNxbC5wcmVwYXJlKCkgIT0gU1FMSVRFX09LCisgICAgICAgIHx8IHNxbC5iaW5kSW50NjQo
MSwgb2JqZWN0U3RvcmVJRCkgIT0gU1FMSVRFX09LCisgICAgICAgIHx8IHNxbC5iaW5kQmxvYigy
LCBrZXlCdWZmZXItPmRhdGEoKSwga2V5QnVmZmVyLT5zaXplKCkpICE9IFNRTElURV9PSykgewor
ICAgICAgICBMT0dfRVJST1IoIkNvdWxkIG5vdCBnZXQgcmVjb3JkIGZyb20gb2JqZWN0IHN0b3Jl
ICUiIFBSSWk2NCAiIGZyb20gUmVjb3JkcyB0YWJsZSAoJWkpIC0gJXMiLCBvYmplY3RTdG9yZUlE
LCBtX3NxbGl0ZURCLT5sYXN0RXJyb3IoKSwgbV9zcWxpdGVEQi0+bGFzdEVycm9yTXNnKCkpOwor
ICAgICAgICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCBBU0NJ
SUxpdGVyYWwoIlVuYWJsZSB0byBjaGVjayBmb3IgZXhpc3RlbmNlIG9mIElEQktleSBpbiBvYmpl
Y3Qgc3RvcmUiKSB9OworICAgIH0KKworICAgIGludCBzcWxSZXN1bHQgPSBzcWwuc3RlcCgpOwor
ICAgIGlmIChzcWxSZXN1bHQgPT0gU1FMSVRFX09LIHx8IHNxbFJlc3VsdCA9PSBTUUxJVEVfRE9O
RSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlmIChzcWxSZXN1bHQgIT0gU1FMSVRFX1JP
VykgeworICAgICAgICAvLyBUaGVyZSB3YXMgYW4gZXJyb3IgZmV0Y2hpbmcgdGhlIHJlY29yZCBm
cm9tIHRoZSBkYXRhYmFzZS4KKyAgICAgICAgTE9HX0VSUk9SKCJDb3VsZCBub3QgY2hlY2sgaWYg
a2V5IGV4aXN0cyBpbiBvYmplY3Qgc3RvcmUgKCVpKSAtICVzIiwgbV9zcWxpdGVEQi0+bGFzdEVy
cm9yKCksIG1fc3FsaXRlREItPmxhc3RFcnJvck1zZygpKTsKKyAgICAgICAgcmV0dXJuIHsgSURC
RGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgQVNDSUlMaXRlcmFsKCJFcnJvciBjaGVj
a2luZyBmb3IgZXhpc3RlbmNlIG9mIElEQktleSBpbiBvYmplY3Qgc3RvcmUiKSB9OworICAgIH0K
KworICAgIGtleUV4aXN0cyA9IHRydWU7CisgICAgcmV0dXJuIHsgfTsKIH0KIAotSURCRXJyb3Ig
U1FMaXRlSURCQmFja2luZ1N0b3JlOjpkZWxldGVSYW5nZShjb25zdCBJREJSZXNvdXJjZUlkZW50
aWZpZXImLCB1aW50NjRfdCwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJikKK0lEQkVycm9yIFNRTGl0
ZUlEQkJhY2tpbmdTdG9yZTo6ZGVsZXRlUmVjb3JkKFNRTGl0ZUlEQlRyYW5zYWN0aW9uJiB0cmFu
c2FjdGlvbiwgaW50NjRfdCBvYmplY3RTdG9yZUlELCBjb25zdCBJREJLZXlEYXRhJiBrZXlEYXRh
KQogewotICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFT
Q0lJTGl0ZXJhbCgiTm90IGltcGxlbWVudGVkIikgfTsKKyAgICBMT0coSW5kZXhlZERCLCAiU1FM
aXRlSURCQmFja2luZ1N0b3JlOjpkZWxldGVSZWNvcmQgLSBrZXkgJXMsIG9iamVjdCBzdG9yZSAl
IiBQUkl1NjQsIGtleURhdGEubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCksIG9iamVjdFN0
b3JlSUQpOworCisgICAgQVNTRVJUKG1fc3FsaXRlREIpOworICAgIEFTU0VSVChtX3NxbGl0ZURC
LT5pc09wZW4oKSk7CisgICAgQVNTRVJUKHRyYW5zYWN0aW9uLmluUHJvZ3Jlc3MoKSk7CisgICAg
QVNTRVJUKHRyYW5zYWN0aW9uLm1vZGUoKSAhPSBJbmRleGVkREI6OlRyYW5zYWN0aW9uTW9kZTo6
UmVhZE9ubHkpOworICAgIFVOVVNFRF9QQVJBTSh0cmFuc2FjdGlvbik7CisKKyAgICBSZWZQdHI8
U2hhcmVkQnVmZmVyPiBrZXlCdWZmZXIgPSBzZXJpYWxpemVJREJLZXlEYXRhKGtleURhdGEpOwor
ICAgIGlmICgha2V5QnVmZmVyKSB7CisgICAgICAgIExPR19FUlJPUigiVW5hYmxlIHRvIHNlcmlh
bGl6ZSBJREJLZXlEYXRhIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgZGF0YWJhc2UiKTsKKyAgICAg
ICAgcmV0dXJuIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgQVNDSUlMaXRl
cmFsKCJVbmFibGUgdG8gc2VyaWFsaXplIElEQktleURhdGEgdG8gYmUgcmVtb3ZlZCBmcm9tIHRo
ZSBkYXRhYmFzZSIpIH07CisgICAgfQorCisgICAgLy8gRGVsZXRlIHJlY29yZCBmcm9tIG9iamVj
dCBzdG9yZQorICAgIHsKKyAgICAgICAgU1FMaXRlU3RhdGVtZW50IHNxbCgqbV9zcWxpdGVEQiwg
QVNDSUlMaXRlcmFsKCJERUxFVEUgRlJPTSBSZWNvcmRzIFdIRVJFIG9iamVjdFN0b3JlSUQgPSA/
IEFORCBrZXkgPSBDQVNUKD8gQVMgVEVYVCk7IikpOworCisgICAgICAgIGlmIChzcWwucHJlcGFy
ZSgpICE9IFNRTElURV9PSworICAgICAgICAgICAgfHwgc3FsLmJpbmRJbnQ2NCgxLCBvYmplY3RT
dG9yZUlEKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHNxbC5iaW5kQmxvYigyLCBrZXlC
dWZmZXItPmRhdGEoKSwga2V5QnVmZmVyLT5zaXplKCkpICE9IFNRTElURV9PSworICAgICAgICAg
ICAgfHwgc3FsLnN0ZXAoKSAhPSBTUUxJVEVfRE9ORSkgeworICAgICAgICAgICAgTE9HX0VSUk9S
KCJDb3VsZCBub3QgZGVsZXRlIHJlY29yZCBmcm9tIG9iamVjdCBzdG9yZSAlIiBQUklpNjQgIiAo
JWkpIC0gJXMiLCBvYmplY3RTdG9yZUlELCBtX3NxbGl0ZURCLT5sYXN0RXJyb3IoKSwgbV9zcWxp
dGVEQi0+bGFzdEVycm9yTXNnKCkpOworICAgICAgICAgICAgcmV0dXJuIHsgSURCRGF0YWJhc2VF
eGNlcHRpb246OlVua25vd25FcnJvciwgQVNDSUlMaXRlcmFsKCJGYWlsZWQgdG8gZGVsZXRlIHJl
Y29yZCBmcm9tIG9iamVjdCBzdG9yZSIpIH07CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBE
ZWxldGUgcmVjb3JkIGZyb20gaW5kZXhlcyBzdG9yZQorICAgIHsKKyAgICAgICAgU1FMaXRlU3Rh
dGVtZW50IHNxbCgqbV9zcWxpdGVEQiwgQVNDSUlMaXRlcmFsKCJERUxFVEUgRlJPTSBJbmRleFJl
Y29yZHMgV0hFUkUgb2JqZWN0U3RvcmVJRCA9ID8gQU5EIHZhbHVlID0gQ0FTVCg/IEFTIFRFWFQp
OyIpKTsKKworICAgICAgICBpZiAoc3FsLnByZXBhcmUoKSAhPSBTUUxJVEVfT0sKKyAgICAgICAg
ICAgIHx8IHNxbC5iaW5kSW50NjQoMSwgb2JqZWN0U3RvcmVJRCkgIT0gU1FMSVRFX09LCisgICAg
ICAgICAgICB8fCBzcWwuYmluZEJsb2IoMiwga2V5QnVmZmVyLT5kYXRhKCksIGtleUJ1ZmZlci0+
c2l6ZSgpKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHNxbC5zdGVwKCkgIT0gU1FMSVRF
X0RPTkUpIHsKKyAgICAgICAgICAgIExPR19FUlJPUigiQ291bGQgbm90IGRlbGV0ZSByZWNvcmQg
ZnJvbSBpbmRleGVzIGZvciBvYmplY3Qgc3RvcmUgJSIgUFJJaTY0ICIgKCVpKSAtICVzIiwgb2Jq
ZWN0U3RvcmVJRCwgbV9zcWxpdGVEQi0+bGFzdEVycm9yKCksIG1fc3FsaXRlREItPmxhc3RFcnJv
ck1zZygpKTsKKyAgICAgICAgICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtu
b3duRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHRvIGRlbGV0ZSBpbmRleCBlbnRyaWVzIGZv
ciBvYmplY3Qgc3RvcmUgcmVjb3JkIikgfTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVy
biB7IH07CiB9CiAKLUlEQkVycm9yIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6YWRkUmVjb3JkKGNv
bnN0IElEQlJlc291cmNlSWRlbnRpZmllciYsIHVpbnQ2NF90LCBjb25zdCBJREJLZXlEYXRhJiwg
Y29uc3QgVGhyZWFkU2FmZURhdGFCdWZmZXImKQorSURCRXJyb3IgU1FMaXRlSURCQmFja2luZ1N0
b3JlOjpkZWxldGVSYW5nZShjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9u
SWRlbnRpZmllciwgdWludDY0X3Qgb2JqZWN0U3RvcmVJRCwgY29uc3QgSURCS2V5UmFuZ2VEYXRh
JiBrZXlSYW5nZSkKIHsKLSAgICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93
bkVycm9yLCBBU0NJSUxpdGVyYWwoIk5vdCBpbXBsZW1lbnRlZCIpIH07CisgICAgTE9HKEluZGV4
ZWREQiwgIlNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6ZGVsZXRlUmFuZ2UgLSByYW5nZSAlcywgb2Jq
ZWN0IHN0b3JlICUiIFBSSXU2NCwga2V5UmFuZ2UubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRh
KCksIG9iamVjdFN0b3JlSUQpOworCisgICAgQVNTRVJUKG1fc3FsaXRlREIpOworICAgIEFTU0VS
VChtX3NxbGl0ZURCLT5pc09wZW4oKSk7CisKKyAgICBhdXRvKiB0cmFuc2FjdGlvbiA9IG1fdHJh
bnNhY3Rpb25zLmdldCh0cmFuc2FjdGlvbklkZW50aWZpZXIpOworICAgIGlmICghdHJhbnNhY3Rp
b24gfHwgIXRyYW5zYWN0aW9uLT5pblByb2dyZXNzKCkpIHsKKyAgICAgICAgTE9HX0VSUk9SKCJB
dHRlbXB0IHRvIGRlbGV0ZSByYW5nZSBmcm9tIGRhdGFiYXNlIHdpdGhvdXQgYW4gaW4tcHJvZ3Jl
c3MgdHJhbnNhY3Rpb24iKTsKKyAgICAgICAgcmV0dXJuIHsgSURCRGF0YWJhc2VFeGNlcHRpb246
OlVua25vd25FcnJvciwgQVNDSUlMaXRlcmFsKCJBdHRlbXB0IHRvIGRlbGV0ZSByYW5nZSBmcm9t
IGRhdGFiYXNlIHdpdGhvdXQgYW4gaW4tcHJvZ3Jlc3MgdHJhbnNhY3Rpb24iKSB9OworICAgIH0K
KyAgICBpZiAodHJhbnNhY3Rpb24tPm1vZGUoKSA9PSBJbmRleGVkREI6OlRyYW5zYWN0aW9uTW9k
ZTo6UmVhZE9ubHkpIHsKKyAgICAgICAgTE9HX0VSUk9SKCJBdHRlbXB0IHRvIGRlbGV0ZSByZWNv
cmRzIGZyb20gYW4gb2JqZWN0IHN0b3JlIGluIGEgcmVhZC1vbmx5IHRyYW5zYWN0aW9uIik7Cisg
ICAgICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiQXR0ZW1wdCB0byBkZWxldGUgcmVjb3JkcyBmcm9tIGFuIG9iamVjdCBzdG9yZSBp
biBhIHJlYWQtb25seSB0cmFuc2FjdGlvbiIpIH07CisgICAgfQorCisgICAgLy8gSWYgdGhlIHJh
bmdlIHRvIGRlbGV0ZSBpcyBleGFjdGx5IG9uZSBrZXkgd2UgY2FuIGRlbGV0ZSBpdCByaWdodCBu
b3cuCisgICAgaWYgKGtleVJhbmdlLmlzRXhhY3RseU9uZUtleSgpKSB7CisgICAgICAgIGF1dG8g
ZXJyb3IgPSBkZWxldGVSZWNvcmQoKnRyYW5zYWN0aW9uLCBvYmplY3RTdG9yZUlELCBrZXlSYW5n
ZS5sb3dlcktleSk7CisgICAgICAgIGlmICghZXJyb3IuaXNOdWxsKCkpIHsKKyAgICAgICAgICAg
IExPR19FUlJPUigiRmFpbGVkIHRvIGRlbGV0ZSByZWNvcmQgZm9yIGtleSAnJXMnIiwga2V5UmFu
Z2UubG93ZXJLZXkubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAg
cmV0dXJuIGVycm9yOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisK
KyAgICAvLyBGSVhNRTogT25jZSBjdXJzb3Igc3VwcG9ydCBpcyBpbiBwbGFjZSwgdXNlIGEgY3Vy
c29yIHRvIGRlbGV0ZSBldmVyeSByZWNvcmQgaW4gdGhlIHJhbmdlLgorICAgIExPR19FUlJPUigi
Q3VycmVudGx5IHVuYWJsZSB0byBkZWxldGUgYWxsIHJlY29yZHMgaW4gYSBtdWx0aS1rZXkgcmFu
Z2UiKTsKKyAgICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCBB
U0NJSUxpdGVyYWwoIkN1cnJlbnRseSB1bmFibGUgdG8gZGVsZXRlIGFsbCByZWNvcmRzIGluIGEg
bXVsdGkta2V5IHJhbmdlIikgfTsKIH0KIAotSURCRXJyb3IgU1FMaXRlSURCQmFja2luZ1N0b3Jl
OjpnZXRSZWNvcmQoY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiwgdWludDY0X3QsIGNvbnN0
IElEQktleVJhbmdlRGF0YSYsIFRocmVhZFNhZmVEYXRhQnVmZmVyJikKK0lEQkVycm9yIFNRTGl0
ZUlEQkJhY2tpbmdTdG9yZTo6YWRkUmVjb3JkKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYg
dHJhbnNhY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBvYmplY3RTdG9yZUlELCBjb25zdCBJREJL
ZXlEYXRhJiBrZXlEYXRhLCBjb25zdCBUaHJlYWRTYWZlRGF0YUJ1ZmZlciYgdmFsdWUpCiB7Ci0g
ICAgcmV0dXJuIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgQVNDSUlMaXRl
cmFsKCJOb3QgaW1wbGVtZW50ZWQiKSB9OworICAgIExPRyhJbmRleGVkREIsICJTUUxpdGVJREJC
YWNraW5nU3RvcmU6OmFkZFJlY29yZCAtIGtleSAlcywgb2JqZWN0IHN0b3JlICUiIFBSSXU2NCwg
a2V5RGF0YS5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgb2JqZWN0U3RvcmVJRCk7CisK
KyAgICBBU1NFUlQobV9zcWxpdGVEQik7CisgICAgQVNTRVJUKG1fc3FsaXRlREItPmlzT3Blbigp
KTsKKyAgICBBU1NFUlQodmFsdWUuZGF0YSgpKTsKKworICAgIGF1dG8qIHRyYW5zYWN0aW9uID0g
bV90cmFuc2FjdGlvbnMuZ2V0KHRyYW5zYWN0aW9uSWRlbnRpZmllcik7CisgICAgaWYgKCF0cmFu
c2FjdGlvbiB8fCAhdHJhbnNhY3Rpb24tPmluUHJvZ3Jlc3MoKSkgeworICAgICAgICBMT0dfRVJS
T1IoIkF0dGVtcHQgdG8gc3RvcmUgYSByZWNvcmQgaW4gYW4gb2JqZWN0IHN0b3JlIHdpdGhvdXQg
YW4gaW4tcHJvZ3Jlc3MgdHJhbnNhY3Rpb24iKTsKKyAgICAgICAgcmV0dXJuIHsgSURCRGF0YWJh
c2VFeGNlcHRpb246OlVua25vd25FcnJvciwgQVNDSUlMaXRlcmFsKCJBdHRlbXB0IHRvIHN0b3Jl
IGEgcmVjb3JkIGluIGFuIG9iamVjdCBzdG9yZSB3aXRob3V0IGFuIGluLXByb2dyZXNzIHRyYW5z
YWN0aW9uIikgfTsKKyAgICB9CisgICAgaWYgKHRyYW5zYWN0aW9uLT5tb2RlKCkgPT0gSW5kZXhl
ZERCOjpUcmFuc2FjdGlvbk1vZGU6OlJlYWRPbmx5KSB7CisgICAgICAgIExPR19FUlJPUigiQXR0
ZW1wdCB0byBzdG9yZSBhIHJlY29yZCBpbiBhbiBvYmplY3Qgc3RvcmUgaW4gYSByZWFkLW9ubHkg
dHJhbnNhY3Rpb24iKTsKKyAgICAgICAgcmV0dXJuIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlVu
a25vd25FcnJvciwgQVNDSUlMaXRlcmFsKCJBdHRlbXB0IHRvIHN0b3JlIGEgcmVjb3JkIGluIGFu
IG9iamVjdCBzdG9yZSBpbiBhIHJlYWQtb25seSB0cmFuc2FjdGlvbiIpIH07CisgICAgfQorCisg
ICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4ga2V5QnVmZmVyID0gc2VyaWFsaXplSURCS2V5RGF0YShr
ZXlEYXRhKTsKKyAgICBpZiAoIWtleUJ1ZmZlcikgeworICAgICAgICBMT0dfRVJST1IoIlVuYWJs
ZSB0byBzZXJpYWxpemUgSURCS2V5IHRvIGJlIHN0b3JlZCBpbiBhbiBvYmplY3Qgc3RvcmUiKTsK
KyAgICAgICAgcmV0dXJuIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgQVND
SUlMaXRlcmFsKCJVbmFibGUgdG8gc2VyaWFsaXplIElEQktleSB0byBiZSBzdG9yZWQgaW4gYW4g
b2JqZWN0IHN0b3JlIikgfTsKKyAgICB9CisgICAgeworICAgICAgICBTUUxpdGVTdGF0ZW1lbnQg
c3FsKCptX3NxbGl0ZURCLCBBU0NJSUxpdGVyYWwoIklOU0VSVCBJTlRPIFJlY29yZHMgVkFMVUVT
ICg/LCBDQVNUKD8gQVMgVEVYVCksID8pOyIpKTsKKyAgICAgICAgaWYgKHNxbC5wcmVwYXJlKCkg
IT0gU1FMSVRFX09LCisgICAgICAgICAgICB8fCBzcWwuYmluZEludDY0KDEsIG9iamVjdFN0b3Jl
SUQpICE9IFNRTElURV9PSworICAgICAgICAgICAgfHwgc3FsLmJpbmRCbG9iKDIsIGtleUJ1ZmZl
ci0+ZGF0YSgpLCBrZXlCdWZmZXItPnNpemUoKSkgIT0gU1FMSVRFX09LCisgICAgICAgICAgICB8
fCBzcWwuYmluZEJsb2IoMywgdmFsdWUuZGF0YSgpLT5kYXRhKCksIHZhbHVlLmRhdGEoKS0+c2l6
ZSgpKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHNxbC5zdGVwKCkgIT0gU1FMSVRFX0RP
TkUpIHsKKyAgICAgICAgICAgIExPR19FUlJPUigiQ291bGQgbm90IHB1dCByZWNvcmQgZm9yIG9i
amVjdCBzdG9yZSAlIiBQUklpNjQgIiBpbiBSZWNvcmRzIHRhYmxlICglaSkgLSAlcyIsIG9iamVj
dFN0b3JlSUQsIG1fc3FsaXRlREItPmxhc3RFcnJvcigpLCBtX3NxbGl0ZURCLT5sYXN0RXJyb3JN
c2coKSk7CisgICAgICAgICAgICByZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93
bkVycm9yLCBBU0NJSUxpdGVyYWwoIlVuYWJsZSB0byBzdG9yZSByZWNvcmQgaW4gb2JqZWN0IHN0
b3JlIikgfTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiB7IH07Cit9CisKK0lEQkVy
cm9yIFNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlc291cmNlSWRl
bnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBvYmplY3RTdG9yZUlELCBj
b25zdCBJREJLZXlSYW5nZURhdGEmIGtleVJhbmdlLCBUaHJlYWRTYWZlRGF0YUJ1ZmZlciYgcmVz
dWx0VmFsdWUpCit7CisgICAgTE9HKEluZGV4ZWREQiwgIlNRTGl0ZUlEQkJhY2tpbmdTdG9yZTo6
Z2V0UmVjb3JkIC0ga2V5IHJhbmdlICVzLCBvYmplY3Qgc3RvcmUgJSIgUFJJdTY0LCBrZXlSYW5n
ZS5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgb2JqZWN0U3RvcmVJRCk7CisKKyAgICBB
U1NFUlQobV9zcWxpdGVEQik7CisgICAgQVNTRVJUKG1fc3FsaXRlREItPmlzT3BlbigpKTsKKwor
ICAgIGF1dG8qIHRyYW5zYWN0aW9uID0gbV90cmFuc2FjdGlvbnMuZ2V0KHRyYW5zYWN0aW9uSWRl
bnRpZmllcik7CisgICAgaWYgKCF0cmFuc2FjdGlvbiB8fCAhdHJhbnNhY3Rpb24tPmluUHJvZ3Jl
c3MoKSkgeworICAgICAgICBMT0dfRVJST1IoIkF0dGVtcHQgdG8gZ2V0IGEgcmVjb3JkIGZyb20g
ZGF0YWJhc2Ugd2l0aG91dCBhbiBpbi1wcm9ncmVzcyB0cmFuc2FjdGlvbiIpOworICAgICAgICBy
ZXR1cm4geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCBBU0NJSUxpdGVyYWwo
IkF0dGVtcHQgdG8gZ2V0IGEgcmVjb3JkIGZyb20gZGF0YWJhc2Ugd2l0aG91dCBhbiBpbi1wcm9n
cmVzcyB0cmFuc2FjdGlvbiIpIH07CisgICAgfQorCisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
bG93ZXJCdWZmZXIgPSBzZXJpYWxpemVJREJLZXlEYXRhKElEQktleURhdGEoa2V5UmFuZ2UubG93
ZXJLZXkpKTsKKyAgICBpZiAoIWxvd2VyQnVmZmVyKSB7CisgICAgICAgIExPR19FUlJPUigiVW5h
YmxlIHRvIHNlcmlhbGl6ZSBsb3dlciBJREJLZXkgaW4gbG9va3VwIHJhbmdlIik7CisgICAgICAg
IHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiVW5hYmxlIHRvIHNlcmlhbGl6ZSBsb3dlciBJREJLZXkgaW4gbG9va3VwIHJhbmdlIikgfTsK
KyAgICB9CisKKyAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiB1cHBlckJ1ZmZlciA9IHNlcmlhbGl6
ZUlEQktleURhdGEoSURCS2V5RGF0YShrZXlSYW5nZS51cHBlcktleSkpOworICAgIGlmICghdXBw
ZXJCdWZmZXIpIHsKKyAgICAgICAgTE9HX0VSUk9SKCJVbmFibGUgdG8gc2VyaWFsaXplIHVwcGVy
IElEQktleSBpbiBsb29rdXAgcmFuZ2UiKTsKKyAgICAgICAgcmV0dXJuIHsgSURCRGF0YWJhc2VF
eGNlcHRpb246OlVua25vd25FcnJvciwgQVNDSUlMaXRlcmFsKCJVbmFibGUgdG8gc2VyaWFsaXpl
IHVwcGVyIElEQktleSBpbiBsb29rdXAgcmFuZ2UiKSB9OworICAgIH0KKworICAgIHsKKyAgICAg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IEFTQ0lJTGl0ZXJhbD4gbG93ZXJPcGVuVXBw
ZXJPcGVuKCJTRUxFQ1QgdmFsdWUgRlJPTSBSZWNvcmRzIFdIRVJFIG9iamVjdFN0b3JlSUQgPSA/
IEFORCBrZXkgPiBDQVNUKD8gQVMgVEVYVCkgQU5EIGtleSA8IENBU1QoPyBBUyBURVhUKSBPUkRF
UiBCWSBrZXk7Iik7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBBU0NJSUxp
dGVyYWw+IGxvd2VyT3BlblVwcGVyQ2xvc2VkKCJTRUxFQ1QgdmFsdWUgRlJPTSBSZWNvcmRzIFdI
RVJFIG9iamVjdFN0b3JlSUQgPSA/IEFORCBrZXkgPiBDQVNUKD8gQVMgVEVYVCkgQU5EIGtleSA8
PSBDQVNUKD8gQVMgVEVYVCkgT1JERVIgQlkga2V5OyIpOworICAgICAgICBzdGF0aWMgTmV2ZXJE
ZXN0cm95ZWQ8Y29uc3QgQVNDSUlMaXRlcmFsPiBsb3dlckNsb3NlZFVwcGVyT3BlbigiU0VMRUNU
IHZhbHVlIEZST00gUmVjb3JkcyBXSEVSRSBvYmplY3RTdG9yZUlEID0gPyBBTkQga2V5ID49IENB
U1QoPyBBUyBURVhUKSBBTkQga2V5IDwgQ0FTVCg/IEFTIFRFWFQpIE9SREVSIEJZIGtleTsiKTsK
KyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IEFTQ0lJTGl0ZXJhbD4gbG93ZXJD
bG9zZWRVcHBlckNsb3NlZCgiU0VMRUNUIHZhbHVlIEZST00gUmVjb3JkcyBXSEVSRSBvYmplY3RT
dG9yZUlEID0gPyBBTkQga2V5ID49IENBU1QoPyBBUyBURVhUKSBBTkQga2V5IDw9IENBU1QoPyBB
UyBURVhUKSBPUkRFUiBCWSBrZXk7Iik7CisKKyAgICAgICAgY29uc3QgQVNDSUlMaXRlcmFsKiBx
dWVyeSA9IG51bGxwdHI7CisKKyAgICAgICAgaWYgKGtleVJhbmdlLmxvd2VyT3BlbikgeworICAg
ICAgICAgICAgaWYgKGtleVJhbmdlLnVwcGVyT3BlbikKKyAgICAgICAgICAgICAgICBxdWVyeSA9
ICZsb3dlck9wZW5VcHBlck9wZW4uZ2V0KCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgcXVlcnkgPSAmbG93ZXJPcGVuVXBwZXJDbG9zZWQuZ2V0KCk7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICBpZiAoa2V5UmFuZ2UudXBwZXJPcGVuKQorICAgICAgICAgICAgICAg
IHF1ZXJ5ID0gJmxvd2VyQ2xvc2VkVXBwZXJPcGVuLmdldCgpOworICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgIHF1ZXJ5ID0gJmxvd2VyQ2xvc2VkVXBwZXJDbG9zZWQuZ2V0KCk7Cisg
ICAgICAgIH0KKworICAgICAgICBBU1NFUlQocXVlcnkpOworCisgICAgICAgIFNRTGl0ZVN0YXRl
bWVudCBzcWwoKm1fc3FsaXRlREIsICpxdWVyeSk7CisgICAgICAgIGlmIChzcWwucHJlcGFyZSgp
ICE9IFNRTElURV9PSworICAgICAgICAgICAgfHwgc3FsLmJpbmRJbnQ2NCgxLCBvYmplY3RTdG9y
ZUlEKSAhPSBTUUxJVEVfT0sKKyAgICAgICAgICAgIHx8IHNxbC5iaW5kQmxvYigyLCBsb3dlckJ1
ZmZlci0+ZGF0YSgpLCBsb3dlckJ1ZmZlci0+c2l6ZSgpKSAhPSBTUUxJVEVfT0sKKyAgICAgICAg
ICAgIHx8IHNxbC5iaW5kQmxvYigzLCB1cHBlckJ1ZmZlci0+ZGF0YSgpLCB1cHBlckJ1ZmZlci0+
c2l6ZSgpKSAhPSBTUUxJVEVfT0spIHsKKyAgICAgICAgICAgIExPR19FUlJPUigiQ291bGQgbm90
IGdldCBrZXkgcmFuZ2UgcmVjb3JkIGZyb20gb2JqZWN0IHN0b3JlICUiIFBSSWk2NCAiIGZyb20g
UmVjb3JkcyB0YWJsZSAoJWkpIC0gJXMiLCBvYmplY3RTdG9yZUlELCBtX3NxbGl0ZURCLT5sYXN0
RXJyb3IoKSwgbV9zcWxpdGVEQi0+bGFzdEVycm9yTXNnKCkpOworICAgICAgICAgICAgcmV0dXJu
IHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgQVNDSUlMaXRlcmFsKCJGYWls
ZWQgdG8gbG9vayB1cCByZWNvcmQgaW4gb2JqZWN0IHN0b3JlIGJ5IGtleSByYW5nZSIpIH07Cisg
ICAgICAgIH0KKworICAgICAgICBpbnQgc3FsUmVzdWx0ID0gc3FsLnN0ZXAoKTsKKworICAgICAg
ICBpZiAoc3FsUmVzdWx0ID09IFNRTElURV9PSyB8fCBzcWxSZXN1bHQgPT0gU1FMSVRFX0RPTkUp
IHsKKyAgICAgICAgICAgIC8vIFRoZXJlIHdhcyBubyByZWNvcmQgZm9yIHRoZSBrZXkgaW4gdGhl
IGRhdGFiYXNlLgorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQorICAgICAgICBp
ZiAoc3FsUmVzdWx0ICE9IFNRTElURV9ST1cpIHsKKyAgICAgICAgICAgIC8vIFRoZXJlIHdhcyBh
biBlcnJvciBmZXRjaGluZyB0aGUgcmVjb3JkIGZyb20gdGhlIGRhdGFiYXNlLgorICAgICAgICAg
ICAgTE9HX0VSUk9SKCJDb3VsZCBub3QgZ2V0IHJlY29yZCBmcm9tIG9iamVjdCBzdG9yZSAlIiBQ
UklpNjQgIiBmcm9tIFJlY29yZHMgdGFibGUgKCVpKSAtICVzIiwgb2JqZWN0U3RvcmVJRCwgbV9z
cWxpdGVEQi0+bGFzdEVycm9yKCksIG1fc3FsaXRlREItPmxhc3RFcnJvck1zZygpKTsKKyAgICAg
ICAgICAgIHJldHVybiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiRXJyb3IgbG9va2luZyB1cCByZWNvcmQgaW4gb2JqZWN0IHN0b3JlIGJ5IGtleSBy
YW5nZSIpIH07CisgICAgICAgIH0KKworICAgICAgICBWZWN0b3I8dWludDhfdD4gYnVmZmVyOwor
ICAgICAgICBzcWwuZ2V0Q29sdW1uQmxvYkFzVmVjdG9yKDAsIGJ1ZmZlcik7CisgICAgICAgIHJl
c3VsdFZhbHVlID0gVGhyZWFkU2FmZURhdGFCdWZmZXI6OmFkb3B0VmVjdG9yKGJ1ZmZlcik7Cisg
ICAgfQorCisgICAgcmV0dXJuIHsgfTsKIH0KIAogSURCRXJyb3IgU1FMaXRlSURCQmFja2luZ1N0
b3JlOjpnZXRJbmRleFJlY29yZChjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImLCB1aW50NjRf
dCwgdWludDY0X3QsIEluZGV4ZWREQjo6SW5kZXhSZWNvcmRUeXBlLCBjb25zdCBJREJLZXlSYW5n
ZURhdGEmLCBJREJHZXRSZXN1bHQmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tpbmdTdG9yZS5oCmluZGV4
IGJlMmNmYzIuLjg3YjkwOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9TUUxpdGVJREJCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQmFja2luZ1N0b3JlLmgKQEAgLTg0
LDYgKzg0LDggQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SURCRGF0YWJhc2VJbmZv
PiBjcmVhdGVBbmRQb3B1bGF0ZUluaXRpYWxEYXRhYmFzZUluZm8oKTsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8SURCRGF0YWJhc2VJbmZvPiBleHRyYWN0RXhpc3RpbmdEYXRhYmFzZUluZm8oKTsKIAor
ICAgIElEQkVycm9yIGRlbGV0ZVJlY29yZChTUUxpdGVJREJUcmFuc2FjdGlvbiYsIGludDY0X3Qg
b2JqZWN0U3RvcmVJRCwgY29uc3QgSURCS2V5RGF0YSYpOworCiAgICAgSURCRGF0YWJhc2VJZGVu
dGlmaWVyIG1faWRlbnRpZmllcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SURCRGF0YWJhc2VJbmZv
PiBtX2RhdGFiYXNlSW5mbzsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>