<?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>210416</bug_id>
          
          <creation_ts>2020-04-12 20:22:16 -0700</creation_ts>
          <short_desc>Add WARN_UNUSED_RETURN to decode methods in Source/WebCore</short_desc>
          <delta_ts>2020-04-14 10:03:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=209917</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>210414</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>berto</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>galpeter</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>hta</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jsbell</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</cc>
    
    <cc>pdr</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>toyoshim</cc>
    
    <cc>useafterfree</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1640770</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-04-12 20:22:16 -0700</bug_when>
    <thetext>Add WARN_UNUSED_RETURN to decode methods in Source/WebCore.

Found via:
$ ./Tools/Scripts/check-webkit-style --filter=-,+security/missing_warn_unused_return Source/WebCore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640771</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-04-12 20:22:52 -0700</bug_when>
    <thetext>NOTE: Not every change is relate to CoreIPC decoding, but they&apos;re all decode methods that return bool.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640772</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-12 20:25:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/61693462&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640773</commentid>
    <comment_count>3</comment_count>
      <attachid>396251</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-04-12 20:30:53 -0700</bug_when>
    <thetext>Created attachment 396251
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640775</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-04-12 20:31:29 -0700</bug_when>
    <thetext>(In reply to David Kilzer (:ddkilzer) from comment #3)
&gt; Created attachment 396251 [details]
&gt; Patch v1

I made some change to GTK files, so letting EWS run before requesting review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640776</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-04-12 20:36:57 -0700</bug_when>
    <thetext>Heh, this is blocked on Bug 210414 since that fixes a few issues found with these changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640855</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-04-13 07:39:03 -0700</bug_when>
    <thetext>Note: No issues were found.  This is to add WARN_UNUSED_RETURN to decode methods returning `bool` to prevent future bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640996</commentid>
    <comment_count>7</comment_count>
      <attachid>396251</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-04-13 11:04:49 -0700</bug_when>
    <thetext>Comment on attachment 396251
Patch v1

Obsoleting so I can repost the patch.  :(

Bug 209917: [ER] Add a way to retry EWS by rebuilding with a newer commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641006</commentid>
    <comment_count>8</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-04-13 11:21:50 -0700</bug_when>
    <thetext>(In reply to David Kilzer (:ddkilzer) from comment #7)
&gt; Comment on attachment 396251 [details]
&gt; Patch v1
&gt; 
&gt; Obsoleting so I can repost the patch.  :(
&gt; 
&gt; Bug 209917: [ER] Add a way to retry EWS by rebuilding with a newer commit

Aakash marked the patch for retry by EWS, so now this patch is ready for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641428</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-14 10:03:31 -0700</bug_when>
    <thetext>Committed r260078: &lt;https://trac.webkit.org/changeset/260078&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396251.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396251</attachid>
            <date>2020-04-12 20:30:53 -0700</date>
            <delta_ts>2020-04-14 10:03:32 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-210416-20200412203140.patch</filename>
            <type>text/plain</type>
            <size>51243</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5OTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY5NzNiMzljZDUyOTI4
MzI1YzI0NDUzYzNlOWMwM2EyMDdjYmRhYy4uZDRkNzQ5YTZlOGNmMGUxZDdkZGI3MGUyYWUyMGEw
NTUxY2UxOWFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDIwLTA0LTEyICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFdBUk5fVU5VU0VE
X1JFVFVSTiB0byBkZWNvZGUgbWV0aG9kcyBpbiBTb3VyY2UvV2ViQ29yZQorICAgICAgICA8aHR0
cHM6Ly93ZWJraXQub3JnL2IvMjEwNDE2PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjE2OTM0
NjI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBN
b2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uUG9zaXRpb25EYXRhLmg6CisgICAgICAgICog
TW9kdWxlcy9pbmRleGVkZGIvSURCR2V0QWxsUmVzdWx0Lmg6CisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvSURCR2V0UmVzdWx0Lmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURC
S2V5RGF0YS5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQktleVJhbmdlRGF0YS5o
OgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJpYWxpemF0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmRlY29kZUtleSk6CisgICAgICAgICogTW9kdWxlcy9pbmRl
eGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9zaGFyZWQvSURCQ3Vyc29yUmVjb3JkLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
c2hhcmVkL0lEQkRhdGFiYXNlSW5mby5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3No
YXJlZC9JREJFcnJvci5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJH
ZXRBbGxSZWNvcmRzRGF0YS5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
REJHZXRSZWNvcmREYXRhLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lE
QkluZGV4SW5mby5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJJdGVy
YXRlQ3Vyc29yRGF0YS5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJP
YmplY3RTdG9yZUluZm8uaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURC
UmVxdWVzdERhdGEuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVz
b3VyY2VJZGVudGlmaWVyLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lE
QlRyYW5zYWN0aW9uSW5mby5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRlY29kZVRpbWVDb21wYXJhdG9yKToKKyAg
ICAgICAgKiBkb20vRXZlbnRJbml0Lmg6CisgICAgICAgICogZG9tL0V4Y2VwdGlvbkRhdGEuaDoK
KyAgICAgICAgKiBkb20vU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5oOgorICAgICAgICAq
IGVkaXRpbmcvRm9udEF0dHJpYnV0ZUNoYW5nZXMuaDoKKyAgICAgICAgKiBlZGl0aW5nL0ZvbnRT
aGFkb3cuaDoKKyAgICAgICAgKiBsb2FkZXIvQ2FudmFzQWN0aXZpdHlSZWNvcmQuaDoKKyAgICAg
ICAgKiBsb2FkZXIvRmV0Y2hPcHRpb25zLmg6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaE9wdGlv
bnM6OmRlY29kZVBlcnNpc3RlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL0NvbnRlbnRGaWx0ZXJV
bmJsb2NrSGFuZGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL0RyYWdJdGVtLmg6CisgICAgICAg
ICogcGxhdGZvcm0vS2V5ZWRDb2RpbmcuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9MaW5rSWNvbi5o
OgorICAgICAgICAqIHBsYXRmb3JtL1RocmVhZFNhZmVEYXRhQnVmZmVyLmg6CisgICAgICAgICog
cGxhdGZvcm0vYXVkaW8vbWFjL0NBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oOgorICAgICAgICAq
IHBsYXRmb3JtL2NmL0tleWVkRGVjb2RlckNGLmg6CisgICAgICAgICogcGxhdGZvcm0vZ2VuZXJp
Yy9LZXllZERlY29kZXJHZW5lcmljLmg6CisgICAgICAgICogcGxhdGZvcm0vZ2xpYi9LZXllZERl
Y29kZXJHbGliLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvUmVnaW9uLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvUmVtb3RlVmlkZW9TYW1wbGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL01lZGlhQ29uc3RyYWludHMuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29u
c3RyYWludDo6ZGVjb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Ok51bWVyaWNDb25zdHJhaW50Ojpk
ZWNvZGUpOgorICAgICAgICAoV2ViQ29yZTo6U3RyaW5nQ29uc3RyYWludDo6ZGVjb2RlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0
aWVzLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJj
ZVNldHRpbmdzLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRp
YVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9IVFRQSGVhZGVyTWFwLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9h
ZE1ldHJpY3MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJh
c2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmg6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6ZGVjb2RlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1NhbWVTaXRlSW5mby5oOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvU29ja2V0U3RyZWFtRXJyb3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvUmVzb3VyY2VSZXF1ZXN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlUmVxdWVzdC5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZVJlc3BvbnNlLmg6CisgICAgICAgICogcmVuZGVyaW5nL0V2ZW50UmVnaW9uLmg6CisgICAg
ICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdC5oOgorICAgICAg
ICAtIEFkZCBXQVJOX1VOVVNFRF9SRVRVUk4gdG8gYWxsIGRlY29kZSBmdW5jdGlvbnMuCisKIDIw
MjAtMDQtMTIgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBL
ZXllZERlY29kZXIgZnVuY3Rpb25zIGluIFJlc291cmNlTG9hZFN0YXRpc3RpY3Mue2NwcCxofSBz
aG91bGQgcmV0dXJuIGJvb2wgYW5kIHVzZSBXQVJOX1VOVVNFRF9SRVRVUk4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25Qb3NpdGlvbkRh
dGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25Qb3Np
dGlvbkRhdGEuaAppbmRleCBkYzJiNGUzNDVjMzlkNWIwOGM5ZTE3NTY0Nzc1OGEyNmExYWQwM2Uw
Li42YWJjMjEzNTBiODU2NWZmNGU3NmJkMDM4MmFkNjUyNzcyMDNhYjBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uUG9zaXRpb25EYXRh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvblBv
c2l0aW9uRGF0YS5oCkBAIC02Nyw3ICs2Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzVmFsaWQo
KSBjb25zdDsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29k
ZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgYm9vbCBkZWNv
ZGUoRGVjb2RlciYsIEdlb2xvY2F0aW9uUG9zaXRpb25EYXRhJik7CisgICAgdGVtcGxhdGU8Y2xh
c3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVy
JiwgR2VvbG9jYXRpb25Qb3NpdGlvbkRhdGEmKTsKIH07CiAKIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJHZXRB
bGxSZXN1bHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkdldEFsbFJl
c3VsdC5oCmluZGV4IDNmOTc0MjhjZjkzMDVhN2U5MTEyMmRlODg4MjA2OTUwMzFjMzUyMTYuLjIx
N2U3ZDI0MmQzYzdhODYwOTJmYjMyYjg3NmU4NGYwOWE2OGY4MDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkdldEFsbFJlc3VsdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkdldEFsbFJlc3VsdC5oCkBAIC02Miw3ICs2
Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZFZhbHVlKElEQlZhbHVlJiYpOwogCiAgICAgdGVt
cGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwotICAgIHRl
bXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgSURCR2V0
QWxsUmVzdWx0Jik7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5V
U0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwgSURCR2V0QWxsUmVzdWx0Jik7CiAKICAg
ICBXRUJDT1JFX0VYUE9SVCBWZWN0b3I8U3RyaW5nPiBhbGxCbG9iRmlsZVBhdGhzKCkgY29uc3Q7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkdldFJl
c3VsdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCR2V0UmVzdWx0LmgK
aW5kZXggZDAzZDg5YmFjMjQ4MmNkODMxMjM4YWYzZDIyOTBmNTZmOTNhOTY4Zi4uYjdkM2E0MGU1
OGU3MWUzNmRlZThkNjIwYjBmZDdhOGRlNWM3ODBkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCR2V0UmVzdWx0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCR2V0UmVzdWx0LmgKQEAgLTEwMSw3ICsxMDEsNyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc0RlZmluZWQoKSBjb25zdCB7IHJldHVybiBtX2lzRGVmaW5lZDsgfQog
CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0
OwotICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVy
JiwgSURCR2V0UmVzdWx0Jik7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdB
Uk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwgSURCR2V0UmVzdWx0Jik7CiAK
IHByaXZhdGU6CiAgICAgdm9pZCBkYXRhRnJvbUJ1ZmZlcihTaGFyZWRCdWZmZXImKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuaAppbmRleCAzNzlkMTJi
NzgwZDQ2M2FiODhhYWJlODI2MTljYTIxZTgyOTUxZTZjLi5jMmRlZWU4OGI1ZmI2NGJmMjI2MDE4
YzAzZWZiMWNlMDFlYmNhYzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJLZXlEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCS2V5RGF0YS5oCkBAIC03Miw3ICs3Miw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VY
UE9SVCBJREJLZXlEYXRhIGlzb2xhdGVkQ29weSgpIGNvbnN0OwogCiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBlbmNvZGUoS2V5ZWRFbmNvZGVyJikgY29uc3Q7Ci0gICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIGJvb2wgZGVjb2RlKEtleWVkRGVjb2RlciYsIElEQktleURhdGEmKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKEtleWVkRGVj
b2RlciYsIElEQktleURhdGEmKTsKIAogICAgIC8vIGNvbXBhcmUoKSBoYXMgdGhlIHNhbWUgc2Vt
YW50aWNzIGFzIHN0cmNtcCgpLgogICAgIC8vICAgLSBSZXR1cm5zIG5lZ2F0aXZlIGlmIHRoaXMg
SURCS2V5RGF0YSBpcyBsZXNzIHRoYW4gb3RoZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlSYW5nZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQktleVJhbmdlRGF0YS5oCmluZGV4IDJmZjdhNGFiMzg2OTZlYTk2
NWQyZTI4ODAwNGVmMDNlYmJmZDYxOWEuLjc0ZDBiMjU2ZmI4OWEwY2VlODA0YWQyYzFkMzUwNzRk
NDcyMWI1MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QktleVJhbmdlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QktleVJhbmdlRGF0YS5oCkBAIC03Nyw3ICs3Nyw3IEBAIHN0cnVjdCBJREJLZXlSYW5nZURhdGEg
ewogICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0OwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rl
cj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwotICAgIHRlbXBsYXRlPGNsYXNzIERlY29k
ZXI+IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgSURCS2V5UmFuZ2VEYXRhJik7CisgICAg
dGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRl
Y29kZShEZWNvZGVyJiwgSURCS2V5UmFuZ2VEYXRhJik7CiAKICAgICBib29sIGlzTnVsbDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNl
cmlhbGl6YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L0lEQlNlcmlhbGl6YXRpb24uY3BwCmluZGV4IGNkOTk1ZTY5YzU5ODBlMmJhMjFjYWZiZjM2NjNj
ZWFlMzIwZWE0ODUuLjM1NTg3MTIxNzg2MzY0MWQ2ZjE0ZjIwZTlmMmVjNTYwMWI2OWM2ODMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJp
YWxpemF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvSURCU2VyaWFsaXphdGlvbi5jcHAKQEAgLTI5Miw3ICsyOTIsNyBAQCBSZWZQdHI8U2hhcmVk
QnVmZmVyPiBzZXJpYWxpemVJREJLZXlEYXRhKGNvbnN0IElEQktleURhdGEmIGtleSkKICAgICBy
ZXR1cm4gU2hhcmVkQnVmZmVyOjpjcmVhdGUoV1RGTW92ZShkYXRhKSk7CiB9CiAKLXN0YXRpYyBi
b29sIGRlY29kZUtleShjb25zdCB1aW50OF90KiYgZGF0YSwgY29uc3QgdWludDhfdCogZW5kLCBJ
REJLZXlEYXRhJiByZXN1bHQpCitzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2Rl
S2V5KGNvbnN0IHVpbnQ4X3QqJiBkYXRhLCBjb25zdCB1aW50OF90KiBlbmQsIElEQktleURhdGEm
IHJlc3VsdCkKIHsKICAgICBpZiAoIWRhdGEgfHwgZGF0YSA+PSBlbmQpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3No
YXJlZC9JREJDdXJzb3JJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
aGFyZWQvSURCQ3Vyc29ySW5mby5oCmluZGV4IDY1YmRlODhiZjE1NWRlM2RjZTNkNmZmYmQ2ZjJl
M2FkM2EwMjU0MWYuLmI0OWJmMjYyNzNiYTI1ZGU1ZDUxZGVlMzBmMTM0OWI4YzA3MDA5YjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJDdXJz
b3JJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lE
QkN1cnNvckluZm8uaApAQCAtNjgsNyArNjgsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VY
UE9SVCBJREJDdXJzb3JJbmZvKCk7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBl
bmNvZGUoRW5jb2RlciYpIGNvbnN0OwotICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRp
YyBib29sIGRlY29kZShEZWNvZGVyJiwgSURCQ3Vyc29ySW5mbyYpOworICAgIHRlbXBsYXRlPGNs
YXNzIERlY29kZXI+IHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUoRGVjb2Rl
ciYsIElEQkN1cnNvckluZm8mKTsKIAogI2lmICFMT0dfRElTQUJMRUQKICAgICBTdHJpbmcgbG9n
Z2luZ1N0cmluZygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvclJlY29yZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvclJlY29yZC5oCmluZGV4IDlkNWFiOTRhZDU0ZDQ1
OWE5MzYwNDkzODcwYjczMmMzZTc0YTAxYmQuLmM2MGRhMTFjZGRiNGE5NjhkN2UwZmJhZWI0NWU5
YjQwZTUzZDZkZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NoYXJlZC9JREJDdXJzb3JSZWNvcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zaGFyZWQvSURCQ3Vyc29yUmVjb3JkLmgKQEAgLTM4LDcgKzM4LDcgQEAgc3RydWN0
IElEQkN1cnNvclJlY29yZCB7CiAgICAgSURCVmFsdWUgdmFsdWU7CiAKICAgICB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7Ci0gICAgdGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBJREJDdXJzb3JSZWNv
cmQmKTsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgV0FSTl9VTlVTRURfUkVU
VVJOIGJvb2wgZGVjb2RlKERlY29kZXImLCBJREJDdXJzb3JSZWNvcmQmKTsKIAogICAgIElEQkN1
cnNvclJlY29yZCBpc29sYXRlZENvcHkoKSBjb25zdDsKICAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0
IHsgcmV0dXJuIGtleS5zaXplKCkgKyBwcmltYXJ5S2V5LnNpemUoKSArIHZhbHVlLnNpemUoKTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lE
QkRhdGFiYXNlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVk
L0lEQkRhdGFiYXNlSW5mby5oCmluZGV4IGUyZTE1MmFmYjdjYzQzYjczNWRhMmNjMjQ4NWE3MmYx
MzAwMDgzZDYuLmNjNjA2YzQ0ZGEwNzMzZTkyMWFmYThmZmM4NWJkNmU0ZGY5Zjk1OWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJEYXRhYmFz
ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURC
RGF0YWJhc2VJbmZvLmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQ
T1JUIElEQkRhdGFiYXNlSW5mbygpOwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9p
ZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwotICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0
YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgSURCRGF0YWJhc2VJbmZvJik7CisgICAgdGVtcGxh
dGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShE
ZWNvZGVyJiwgSURCRGF0YWJhc2VJbmZvJik7CiAKICAgICB2b2lkIHNldE1heEluZGV4SUQodWlu
dDY0X3QgbWF4SW5kZXhJRCk7CiAgICAgdWludDY0X3QgZ2VuZXJhdGVOZXh0SW5kZXhJRCgpIHsg
cmV0dXJuICsrbV9tYXhJbmRleElEOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NoYXJlZC9JREJFcnJvci5oCmluZGV4IGFiYWU3ZmU3ZGJmYzE4YTJiNGJmMzU4
OGEzMmYwMzJkNGI1NTcwMzMuLmI4MDhhODY3NmRjNDFhMTk2MzEzMTU5OGY2ZjcyNGQ2M2VjNTNl
NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
REJFcnJvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
REJFcnJvci5oCkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBJ
REJFcnJvciBpc29sYXRlZENvcHkoKSBjb25zdDsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIElEQkVycm9yJik7CisgICAgdGVtcGxh
dGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShE
ZWNvZGVyJiwgSURCRXJyb3ImKTsKIAogcHJpdmF0ZToKICAgICBPcHRpb25hbDxFeGNlcHRpb25D
b2RlPiBtX2NvZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9zaGFyZWQvSURCR2V0QWxsUmVjb3Jkc0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NoYXJlZC9JREJHZXRBbGxSZWNvcmRzRGF0YS5oCmluZGV4IDBkMjVkMzA4OWEx
NGQ5NzA3OTcwMDQ4OGY4NGFkODYxZTZlZjNkOGYuLmMxM2Q0MjU5YTUwNmQxZDQ1ZGExOWJhYjg1
MGU5ZjQ4MjBlOTM5OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NoYXJlZC9JREJHZXRBbGxSZWNvcmRzRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJHZXRBbGxSZWNvcmRzRGF0YS5oCkBAIC01MSw3ICs1
MSw3IEBAIHN0cnVjdCBJREJHZXRBbGxSZWNvcmRzRGF0YSB7CiAjZW5kaWYKIAogICAgIHRlbXBs
YXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1w
bGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIElEQkdldEFs
bFJlY29yZHNEYXRhJik7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5f
VU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwgSURCR2V0QWxsUmVjb3Jkc0RhdGEm
KTsKIH07CiAKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCR2V0UmVjb3JkRGF0YS5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkdldFJlY29yZERhdGEuaAppbmRl
eCAxMzc0NDI5N2E4YjhlOWQxZjU1ZDhjZjMzY2FmOWYxZjkyNDRmNWJiLi5iNmY2ZGRjYjMzOGVh
YTZhMGU2MGIzMGE4ODQwNTJkOGZkZDI4MzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCR2V0UmVjb3JkRGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJHZXRSZWNvcmREYXRhLmgKQEAgLTQ3
LDcgKzQ3LDcgQEAgc3RydWN0IElEQkdldFJlY29yZERhdGEgewogI2VuZGlmCiAKICAgICB0ZW1w
bGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7Ci0gICAgdGVt
cGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBJREJHZXRS
ZWNvcmREYXRhJik7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5V
U0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwgSURCR2V0UmVjb3JkRGF0YSYpOwogfTsK
IAogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJJbmRleEluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJJbmRleEluZm8uaAppbmRleCAyNTRjZDkxOTA1NDBm
NmU3NDkxMDI5YjZmNDE4YTdkMWVhMzI2MWY0Li44NTM3YWM2ZmMyZDE1ODQwMmI1YjAxMjhkMDQ5
MGVlOWU2OWM5NDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9zaGFyZWQvSURCSW5kZXhJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2hhcmVkL0lEQkluZGV4SW5mby5oCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHJlbmFtZShjb25zdCBTdHJpbmcmIG5ld05hbWUpIHsgbV9uYW1lID0gbmV3TmFtZTsg
fQogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNv
bnN0OwotICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBib29sIGRlY29kZShEZWNv
ZGVyJiwgSURCSW5kZXhJbmZvJik7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwgSURCSW5kZXhJbmZvJik7
CiAKICNpZiAhTE9HX0RJU0FCTEVECiAgICAgU3RyaW5nIGxvZ2dpbmdTdHJpbmcoaW50IGluZGVu
dCA9IDApIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2hhcmVkL0lEQkl0ZXJhdGVDdXJzb3JEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zaGFyZWQvSURCSXRlcmF0ZUN1cnNvckRhdGEuaAppbmRleCA0ZGY2YzY0NWYz
YjI4MWU3Y2EwMGJkOWQ5MmJiNzFkMGM0ZmI0MGQ4Li5mNjAxOGI1YjFiZGJiM2NiYTM3YjA1NGE5
ZTk1MTYwY2IzNDc5YTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zaGFyZWQvSURCSXRlcmF0ZUN1cnNvckRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCSXRlcmF0ZUN1cnNvckRhdGEuaApAQCAtNDQsNyAr
NDQsNyBAQCBzdHJ1Y3QgSURCSXRlcmF0ZUN1cnNvckRhdGEgewogI2VuZGlmCiAKICAgICB0ZW1w
bGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7Ci0gICAgdGVt
cGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBJREJJdGVy
YXRlQ3Vyc29yRGF0YSYpOworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBXQVJO
X1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUoRGVjb2RlciYsIElEQkl0ZXJhdGVDdXJzb3JEYXRh
Jik7CiB9OwogCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQk9iamVjdFN0b3JlSW5mby5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQk9iamVjdFN0b3JlSW5mby5o
CmluZGV4IDE3ZmU0MjJiYTQ1OGViMTY4YzFlNWFkOTA4Y2FmZTc3MmM3NDc2MGIuLjQyNjE4ZWQw
MTY3YmM3YjI0MGFlYTFjYmQ0Zjc3ZDJhMjdmYTJmOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJPYmplY3RTdG9yZUluZm8uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCT2JqZWN0U3RvcmVJbmZv
LmgKQEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOgogICAgIHZvaWQgZGVsZXRlSW5kZXgodWludDY0
X3QgaW5kZXhJZGVudGlmaWVyKTsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQg
ZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0
aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIElEQk9iamVjdFN0b3JlSW5mbyYpOworICAgIHRlbXBs
YXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUo
RGVjb2RlciYsIElEQk9iamVjdFN0b3JlSW5mbyYpOwogCiAjaWYgIUxPR19ESVNBQkxFRAogICAg
IFN0cmluZyBsb2dnaW5nU3RyaW5nKGludCBpbmRlbnQgPSAwKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3REYXRh
LmgKaW5kZXggYmYxMmM3NzA4ZTYxZDk0M2Q1MDdhYzM1N2Q2NWZiZjhiYjNhYTA4NS4uOTAzZTdh
YzMyZjMwZDg4MmJhMDM5ZTE4NWNmMzhlYThlM2U1MzAwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3REYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3REYXRhLmgKQEAg
LTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIElEQlJlcXVlc3REYXRh
KCk7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikg
Y29uc3Q7Ci0gICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERl
Y29kZXImLCBJREJSZXF1ZXN0RGF0YSYpOworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0
YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUoRGVjb2RlciYsIElEQlJlcXVlc3RE
YXRhJik7CiAKIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgaXNvbGF0ZWRDb3B5KGNvbnN0IElE
QlJlcXVlc3REYXRhJiBzb3VyY2UsIElEQlJlcXVlc3REYXRhJiBkZXN0aW5hdGlvbik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVzb3Vy
Y2VJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQv
SURCUmVzb3VyY2VJZGVudGlmaWVyLmgKaW5kZXggNzcyYmIwOGFjODZkMzY0YTY1Zjc0ZTA3MDRj
MjczNDkyZjA2OWI3NC4uYzU3OTk2ZDVlNmI5MmFmM2M2NzQ4MzM4YjllZjdmN2IzNjU0ZjBlZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJl
c291cmNlSWRlbnRpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NoYXJlZC9JREJSZXNvdXJjZUlkZW50aWZpZXIuaApAQCAtODMsNyArODMsNyBAQCBwdWJsaWM6
CiAgICAgV0VCQ09SRV9FWFBPUlQgSURCUmVzb3VyY2VJZGVudGlmaWVyKCk7CiAKICAgICB0ZW1w
bGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7Ci0gICAgdGVt
cGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBJREJSZXNv
dXJjZUlkZW50aWZpZXImKTsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgV0FS
Tl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKERlY29kZXImLCBJREJSZXNvdXJjZUlkZW50aWZp
ZXImKTsKIAogcHJpdmF0ZToKICAgICBJREJSZXNvdXJjZUlkZW50aWZpZXIoSURCQ29ubmVjdGlv
bklkZW50aWZpZXIsIHVpbnQ2NF90IHJlc291cmNlSWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCVHJhbnNhY3Rpb25JbmZv
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCVHJhbnNhY3Rp
b25JbmZvLmgKaW5kZXggODYwYWY2NGQ2ZGI3NjIxMWI0OTQ5Nzg4NmM5ZDI0ZDI5ZWEzYmJlNS4u
ZDk5NDJjM2Y5MTE2OTBjZDk5NDBhMDBmZTc5YTQxNjc2N2NkZWQwZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlRyYW5zYWN0aW9uSW5mby5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJUcmFuc2Fj
dGlvbkluZm8uaApAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9S
VCBJREJUcmFuc2FjdGlvbkluZm8oKTsKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lk
IGVuY29kZShFbmNvZGVyJikgY29uc3Q7Ci0gICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3Rh
dGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBJREJUcmFuc2FjdGlvbkluZm8mKTsKKyAgICB0ZW1w
bGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2Rl
KERlY29kZXImLCBJREJUcmFuc2FjdGlvbkluZm8mKTsKIAogI2lmICFMT0dfRElTQUJMRUQKICAg
ICBTdHJpbmcgbG9nZ2luZ1N0cmluZygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCmluZGV4IDhkNTFkODRiMmZkM2Zi
NzJhNGJhNDc1N2I1YWVmOGY4ZWY3ZmY3N2IuLjdmZWI3YzY2OGY1MjFiMTE3Y2FmNGIzNTNmYjE0
ODBlNmViYzM2ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTcxNyw3ICs3MTcsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZl
cjo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJvcihpbnQgZXJyb3Ip
CiAgICAgICAgIG1fc291cmNlLT5zdHJlYW1FbmRlZFdpdGhFcnJvcihNZWRpYVNvdXJjZTo6RW5k
T2ZTdHJlYW1FcnJvcjo6RGVjb2RlKTsKIH0KIAotc3RhdGljIGJvb2wgZGVjb2RlVGltZUNvbXBh
cmF0b3IoY29uc3QgUHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXA6Ok1hcFR5cGU6OnZhbHVlX3R5
cGUmIGEsIGNvbnN0IFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjpNYXBUeXBlOjp2YWx1ZV90
eXBlJiBiKQorc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZVRpbWVDb21wYXJh
dG9yKGNvbnN0IFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjpNYXBUeXBlOjp2YWx1ZV90eXBl
JiBhLCBjb25zdCBQcmVzZW50YXRpb25PcmRlclNhbXBsZU1hcDo6TWFwVHlwZTo6dmFsdWVfdHlw
ZSYgYikKIHsKICAgICByZXR1cm4gYS5zZWNvbmQtPmRlY29kZVRpbWUoKSA8IGIuc2Vjb25kLT5k
ZWNvZGVUaW1lKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRJbml0
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRJbml0LmgKaW5kZXggMGMyYTEzYmZlYjJhZjVl
MmFiOTU2MGM4NTMxMGUxMzZhNTg5MTAzZi4uMGU1ODg1OTNjNTRlZGMwMzFkNWUwMjc1MmI2NzJj
NmEwYmZlOWRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50SW5pdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEluaXQuaApAQCAtMzMsNyArMzMsNyBAQCBzdHJ1
Y3QgRXZlbnRJbml0IHsKICAgICBib29sIGNvbXBvc2VkIHsgZmFsc2UgfTsKIAogICAgIHRlbXBs
YXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1w
bGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIEV2ZW50SW5p
dCYpOworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRV
Uk4gYm9vbCBkZWNvZGUoRGVjb2RlciYsIEV2ZW50SW5pdCYpOwogfTsKIAogdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25EYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uRGF0YS5oCmluZGV4IDY5NmMzMTAyNTFm
ZmE1YjNjZWRlMzkxMmNiMWIwODdlY2ZmMjI1YWIuLmNlMTBkYzNlOWE1YjA0MTcwZWRmZWNlYjc0
NGEyNzZmMGRhM2Q0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25E
YXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkRhdGEuaApAQCAtMzcsNyAr
MzcsNyBAQCBzdHJ1Y3QgRXhjZXB0aW9uRGF0YSB7CiAgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0
aW9uRGF0YSBpc29sYXRlZENvcHkoKSBjb25zdDsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIEV4Y2VwdGlvbkRhdGEmKTsKKyAgICB0
ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVj
b2RlKERlY29kZXImLCBFeGNlcHRpb25EYXRhJik7CiAKICAgICBFeGNlcHRpb24gdG9FeGNlcHRp
b24oKSBjb25zdAogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0
eVBvbGljeVZpb2xhdGlvbkV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlQb2xp
Y3lWaW9sYXRpb25FdmVudC5oCmluZGV4IGExMzJiYjk1YzBjNjMwZGU4Y2NjZTYzNDIwMTdlMTMw
NTBjMDhmY2YuLjQwOTBjOTYwNjAzZmU2ODU0NjQyYTA1NmY0NDU4ODIwNDE4MDRhNmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQuaApA
QCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgICAgIGludCBjb2x1bW5OdW1iZXIgeyAwIH07
CiAKICAgICAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYp
IGNvbnN0OwotICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgYm9vbCBkZWNv
ZGUoRGVjb2RlciYsIEluaXQmKTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3Rh
dGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwgSW5pdCYpOwogICAg
IH07CiAKICAgICBzdGF0aWMgUmVmPFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQ+IGNyZWF0
ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0aWFsaXplciwgSXNUcnVz
dGVkIGlzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0ZvbnRBdHRyaWJ1dGVDaGFuZ2VzLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0ZvbnRBdHRyaWJ1dGVDaGFuZ2VzLmgKaW5kZXggMjRmODJiODVkYmNmYTRjZjJhNzZiNDNkZjM0
MmNjOWNhMTM2MDE0Yy4uYTJiZmE2ZGU5MWRiNDg0YzYxZGQ5ODA5ZTJjOGNmODQ5Njk3ZDBjYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Gb250QXR0cmlidXRlQ2hhbmdlcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRm9udEF0dHJpYnV0ZUNoYW5nZXMuaApAQCAt
NDEsNyArNDEsNyBAQCBlbnVtIGNsYXNzIFZlcnRpY2FsQWxpZ25DaGFuZ2UgOiB1aW50OF90IHsg
U3VwZXJzY3JpcHQsIEJhc2VsaW5lLCBTdWJzY3JpcHQgfTsKIGNsYXNzIEZvbnRDaGFuZ2VzIHsK
IHB1YmxpYzoKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVy
JikgY29uc3Q7Ci0gICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2Rl
KERlY29kZXImLCBGb250Q2hhbmdlcyYpOworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0
YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUoRGVjb2RlciYsIEZvbnRDaGFuZ2Vz
Jik7CiAKICAgICB2b2lkIHNldEZvbnROYW1lKGNvbnN0IFN0cmluZyYgZm9udE5hbWUpIHsgbV9m
b250TmFtZSA9IGZvbnROYW1lOyB9CiAgICAgdm9pZCBzZXRGb250RmFtaWx5KGNvbnN0IFN0cmlu
ZyYgZm9udEZhbWlseSkgeyBtX2ZvbnRGYW1pbHkgPSBmb250RmFtaWx5OyB9CkBAIC03Miw3ICs3
Miw3IEBAIHByaXZhdGU6CiBjbGFzcyBGb250QXR0cmlidXRlQ2hhbmdlcyB7CiBwdWJsaWM6CiAg
ICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0Owot
ICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwg
Rm9udEF0dHJpYnV0ZUNoYW5nZXMmKTsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0
aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKERlY29kZXImLCBGb250QXR0cmlidXRl
Q2hhbmdlcyYpOwogCiAgICAgdm9pZCBzZXRWZXJ0aWNhbEFsaWduKFZlcnRpY2FsQWxpZ25DaGFu
Z2UgYWxpZ24pIHsgbV92ZXJ0aWNhbEFsaWduID0gYWxpZ247IH0KICAgICB2b2lkIHNldEJhY2tn
cm91bmRDb2xvcihjb25zdCBDb2xvciYgY29sb3IpIHsgbV9iYWNrZ3JvdW5kQ29sb3IgPSBjb2xv
cjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Gb250U2hhZG93LmggYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZvbnRTaGFkb3cuaAppbmRleCA5OTlmODRiNGQxYjk5NWM1
NjEzNzc5ZTNlNTAzMTQ1ZWZhOGIzOTUzLi43YTg2ZTQ2NDViMmVhZjRmYWI0OThhNDY2NzFmZGMy
NTE2ZWVhMWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZvbnRTaGFkb3cu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZvbnRTaGFkb3cuaApAQCAtMzcsNyArMzcs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBGb250U2hhZG93IHsKICAgICB0ZW1w
bGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7Ci0gICAgdGVt
cGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBGb250U2hh
ZG93Jik7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JF
VFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwgRm9udFNoYWRvdyYpOwogCiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAgICAgUmV0YWluUHRyPE5TU2hhZG93PiBjcmVhdGVTaGFkb3coKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9DYW52YXNBY3Rpdml0eVJlY29yZC5oIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0NhbnZhc0FjdGl2aXR5UmVjb3JkLmgKaW5kZXggMWUxM2Y0
OGNiYTZkMmM4M2YwZTdhMzBmM2QzNjE5NTBiYzEyNGU1MS4uNDA0NjU0MGMyMDQwNDkwNzlmZDAy
ODRmNDNlYTE3YmI0Y2Q2OGUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nh
bnZhc0FjdGl2aXR5UmVjb3JkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0NhbnZhc0Fj
dGl2aXR5UmVjb3JkLmgKQEAgLTM3LDcgKzM3LDcgQEAgc3RydWN0IENhbnZhc0FjdGl2aXR5UmVj
b3JkIHsKICAgICB2b2lkIG1lcmdlV2l0aChjb25zdCBDYW52YXNBY3Rpdml0eVJlY29yZCYpOwog
ICAgIAogICAgIHRlbXBsYXRlIDxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikg
Y29uc3Q7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIERlY29kZXI+IHN0YXRpYyBib29sIGRlY29kZShE
ZWNvZGVyJiwgQ2FudmFzQWN0aXZpdHlSZWNvcmQmKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgRGVj
b2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwgQ2Fu
dmFzQWN0aXZpdHlSZWNvcmQmKTsKIH07CiAgICAgCiB0ZW1wbGF0ZSA8Y2xhc3MgRW5jb2Rlcj4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GZXRjaE9wdGlvbnMuaAppbmRleCAxNWZjZWQwNzRjZThiNjRmZWNm
ZGZjNGI2ZjQ3OTJjMzg2MzY2YjA1Li4wOTY3MmIzMWFmZmFlNWFjZTViOGE3M2Q0ZDk1OTc0MWRj
NjEzN2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRmV0Y2hPcHRpb25zLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZldGNoT3B0aW9ucy5oCkBAIC00Nyw3ICs0Nyw3
IEBAIHN0cnVjdCBGZXRjaE9wdGlvbnMgewogICAgIEZldGNoT3B0aW9ucyBpc29sYXRlZENvcHko
KSBjb25zdCB7IHJldHVybiB7IGRlc3RpbmF0aW9uLCBtb2RlLCBjcmVkZW50aWFscywgY2FjaGUs
IHJlZGlyZWN0LCByZWZlcnJlclBvbGljeSwgaW50ZWdyaXR5Lmlzb2xhdGVkQ29weSgpLCBrZWVw
QWxpdmUgfTsgfQogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGVQZXJz
aXN0ZW50KEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0
aWMgYm9vbCBkZWNvZGVQZXJzaXN0ZW50KERlY29kZXImLCBGZXRjaE9wdGlvbnMmKTsKKyAgICB0
ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVj
b2RlUGVyc2lzdGVudChEZWNvZGVyJiwgRmV0Y2hPcHRpb25zJik7CiAgICAgdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNs
YXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxGZXRjaE9wdGlvbnM+IGRlY29kZShEZWNvZGVy
Jik7CiAKQEAgLTE4Miw3ICsxODIsNyBAQCBpbmxpbmUgdm9pZCBGZXRjaE9wdGlvbnM6OmVuY29k
ZVBlcnNpc3RlbnQoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIH0KIAogdGVtcGxhdGU8Y2xhc3Mg
RGVjb2Rlcj4KLWlubGluZSBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBGZXRjaE9wdGlvbnM6OmRl
Y29kZVBlcnNpc3RlbnQoRGVjb2RlciYgZGVjb2RlciwgRmV0Y2hPcHRpb25zJiBvcHRpb25zKQor
aW5saW5lIGJvb2wgRmV0Y2hPcHRpb25zOjpkZWNvZGVQZXJzaXN0ZW50KERlY29kZXImIGRlY29k
ZXIsIEZldGNoT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBPcHRpb25hbDxGZXRjaE9wdGlvbnM6
OkRlc3RpbmF0aW9uPiBkZXN0aW5hdGlvbjsKICAgICBkZWNvZGVyID4+IGRlc3RpbmF0aW9uOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudEZpbHRlclVuYmxvY2tI
YW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50RmlsdGVyVW5ibG9ja0hh
bmRsZXIuaAppbmRleCAxOGJlMWM1ZjE4MmRiNDg4YjdmODYwZjI4YzZkZWRjZGMxMTg1NDU2Li5i
NTlkYTcwYjFmZWU3N2YwMDM0NzYwNDc3ZWE1YjJjMmFkYjhjNjhlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50RmlsdGVyVW5ibG9ja0hhbmRsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50RmlsdGVyVW5ibG9ja0hhbmRsZXIuaApAQCAt
NTUsNyArNTUsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIG5lZWRzVUlQ
cm9jZXNzKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBlbmNvZGUoTlNDb2RlciAq
KSBjb25zdDsKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBkZWNvZGUoTlNDb2RlciAq
LCBDb250ZW50RmlsdGVyVW5ibG9ja0hhbmRsZXImKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0
aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKE5TQ29kZXIgKiwgQ29udGVudEZpbHRl
clVuYmxvY2tIYW5kbGVyJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBjYW5IYW5kbGVSZXF1
ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgcmVxdWVzdFVuYmxvY2tBc3luYyhEZWNpc2lvbkhhbmRsZXJGdW5jdGlvbikgY29uc3Q7CiAg
ICAgdm9pZCB3cmFwV2l0aERlY2lzaW9uSGFuZGxlcihjb25zdCBEZWNpc2lvbkhhbmRsZXJGdW5j
dGlvbiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0l0ZW0uaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJdGVtLmgKaW5kZXggNzc0YjE1ZWYzYmVhY2E3
OTEwNjE4MDVmYTgzYzM0ZjhiYjdmMjQzZS4uZTU4NTljNDJjZjkwNjdhN2IzZjQ2ZGZkMGQ4NWY5
ODgyODg4ZGU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0l0ZW0u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnSXRlbS5oCkBAIC01Myw3ICs1Myw3
IEBAIHN0cnVjdCBEcmFnSXRlbSBmaW5hbCB7CiAgICAgUHJvbWlzZWRBdHRhY2htZW50SW5mbyBw
cm9taXNlZEF0dGFjaG1lbnRJbmZvOwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9p
ZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwotICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0
YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgRHJhZ0l0ZW0mKTsKKyAgICB0ZW1wbGF0ZTxjbGFz
cyBEZWNvZGVyPiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKERlY29kZXIm
LCBEcmFnSXRlbSYpOwogfTsKIAogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tleWVkQ29kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9LZXllZENvZGluZy5oCmluZGV4IDc1YmJlNmRiOWRjMzI5ODU5MzMwZjQyYTY5YzQ1
YjI3MzhkZDRkYmQuLjc5YTIzNTM1NWYxZThlZjg2MTUzNTJlNjM5YzhjNjMxOGY0MDM3NzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tleWVkQ29kaW5nLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vS2V5ZWRDb2RpbmcuaApAQCAtNDAsMTcgKzQwLDE3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgfktleWVkRGVjb2RlcigpID0gZGVmYXVsdDsKIAotICAgIHZp
cnR1YWwgYm9vbCBkZWNvZGVCeXRlcyhjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgdWludDhfdCom
LCBzaXplX3QmKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIGRlY29kZUJvb2woY29uc3QgU3RyaW5n
JiBrZXksIGJvb2wmKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIGRlY29kZVVJbnQzMihjb25zdCBT
dHJpbmcmIGtleSwgdWludDMyX3QmKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIGRlY29kZVVJbnQ2
NChjb25zdCBTdHJpbmcmIGtleSwgdWludDY0X3QmKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIGRl
Y29kZUludDMyKGNvbnN0IFN0cmluZyYga2V5LCBpbnQzMl90JikgPSAwOwotICAgIHZpcnR1YWwg
Ym9vbCBkZWNvZGVJbnQ2NChjb25zdCBTdHJpbmcmIGtleSwgaW50NjRfdCYpID0gMDsKLSAgICB2
aXJ0dWFsIGJvb2wgZGVjb2RlRmxvYXQoY29uc3QgU3RyaW5nJiBrZXksIGZsb2F0JikgPSAwOwot
ICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVEb3VibGUoY29uc3QgU3RyaW5nJiBrZXksIGRvdWJsZSYp
ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlU3RyaW5nKGNvbnN0IFN0cmluZyYga2V5LCBT
dHJpbmcmKSA9IDA7Ci0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgIHZpcnR1YWwgV0FS
Tl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlQnl0ZXMoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0
IHVpbnQ4X3QqJiwgc2l6ZV90JikgPSAwOworICAgIHZpcnR1YWwgV0FSTl9VTlVTRURfUkVUVVJO
IGJvb2wgZGVjb2RlQm9vbChjb25zdCBTdHJpbmcmIGtleSwgYm9vbCYpID0gMDsKKyAgICB2aXJ0
dWFsIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZVVJbnQzMihjb25zdCBTdHJpbmcmIGtl
eSwgdWludDMyX3QmKSA9IDA7CisgICAgdmlydHVhbCBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBk
ZWNvZGVVSW50NjQoY29uc3QgU3RyaW5nJiBrZXksIHVpbnQ2NF90JikgPSAwOworICAgIHZpcnR1
YWwgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlSW50MzIoY29uc3QgU3RyaW5nJiBrZXks
IGludDMyX3QmKSA9IDA7CisgICAgdmlydHVhbCBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNv
ZGVJbnQ2NChjb25zdCBTdHJpbmcmIGtleSwgaW50NjRfdCYpID0gMDsKKyAgICB2aXJ0dWFsIFdB
Uk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZUZsb2F0KGNvbnN0IFN0cmluZyYga2V5LCBmbG9h
dCYpID0gMDsKKyAgICB2aXJ0dWFsIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZURvdWJs
ZShjb25zdCBTdHJpbmcmIGtleSwgZG91YmxlJikgPSAwOworICAgIHZpcnR1YWwgV0FSTl9VTlVT
RURfUkVUVVJOIGJvb2wgZGVjb2RlU3RyaW5nKGNvbnN0IFN0cmluZyYga2V5LCBTdHJpbmcmKSA9
IDA7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBXQVJOX1VOVVNFRF9SRVRVUk4KICAgICBi
b29sIGRlY29kZUJ5dGVzKGNvbnN0IFN0cmluZyYga2V5LCBWZWN0b3I8VD4mIHZlY3RvcikKICAg
ICB7CiAgICAgICAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFQpID09IDEsICIiKTsKQEAgLTY1LDcg
KzY1LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBGPgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5
cGVuYW1lIEY+IFdBUk5fVU5VU0VEX1JFVFVSTgogICAgIGJvb2wgZGVjb2RlRW51bShjb25zdCBT
dHJpbmcmIGtleSwgVCYgdmFsdWUsIEYmJiBpc1ZhbGlkRW51bUZ1bmN0aW9uKQogICAgIHsKICAg
ICAgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX2VudW08VD46OnZhbHVlLCAiVCBtdXN0IGJlIGFu
IGVudW0gdHlwZSIpOwpAQCAtODEsNyArODEsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEY+CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgRj4gV0FSTl9VTlVTRURfUkVUVVJOCiAgICAg
Ym9vbCBkZWNvZGVPYmplY3QoY29uc3QgU3RyaW5nJiBrZXksIFQmIG9iamVjdCwgRiYmIGZ1bmN0
aW9uKQogICAgIHsKICAgICAgICAgaWYgKCFiZWdpbk9iamVjdChrZXkpKQpAQCAtOTEsNyArOTEs
NyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCi0gICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgRj4KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBl
bmFtZSBGPiBXQVJOX1VOVVNFRF9SRVRVUk4KICAgICBib29sIGRlY29kZUNvbmRpdGlvbmFsT2Jq
ZWN0KGNvbnN0IFN0cmluZyYga2V5LCBUJiBvYmplY3QsIEYmJiBmdW5jdGlvbikKICAgICB7CiAg
ICAgICAgIC8vIEZJWE1FOiBiZWdpbk9iamVjdCBjYW4gcmV0dXJuIGZhbHNlIGZvciB0d28gcmVh
c29uczogZWl0aGVyIHRoZQpAQCAtMTA2LDcgKzEwNiw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuIHJlc3VsdDsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250YWluZXJUeXBl
LCB0eXBlbmFtZSBGPgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIENvbnRhaW5lclR5cGUsIHR5cGVu
YW1lIEY+IFdBUk5fVU5VU0VEX1JFVFVSTgogICAgIGJvb2wgZGVjb2RlT2JqZWN0cyhjb25zdCBT
dHJpbmcmIGtleSwgQ29udGFpbmVyVHlwZSYgb2JqZWN0cywgRiYmIGZ1bmN0aW9uKQogICAgIHsK
ICAgICAgICAgaWYgKCFiZWdpbkFycmF5KGtleSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9MaW5rSWNvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGlua0ljb24u
aAppbmRleCBmZjI5Njk2YWI2ZjUwNzMxZWM5ODZkNDRkODBiMmZhZDVlMjY2ZTg3Li41YTVkOTBj
ZDdlZmRmZjNhMTdiOTFhNTM4NDJlZjU5ZTcwMzZjMDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9MaW5rSWNvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xp
bmtJY29uLmgKQEAgLTQxLDcgKzQxLDcgQEAgc3RydWN0IExpbmtJY29uIHsKICAgICBWZWN0b3I8
c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPj4gYXR0cmlidXRlczsKIAogICAgIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxj
bGFzcyBEZWNvZGVyPiBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIExpbmtJY29uJik7Cisg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29s
IGRlY29kZShEZWNvZGVyJiwgTGlua0ljb24mKTsKIH07CiAKIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRTYWZlRGF0YUJ1
ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkU2FmZURhdGFCdWZmZXIuaApp
bmRleCA4ZmUyYTk4ZWQ3ZThjZTZhYjIwYWI2NmZkMTVlMWQyMGE0YmRiN2ZmLi5kMzk3ZDIyN2Rm
YzUzNGFkMGNmNTg3MDJiZTFjYTU4MDI0OTlhMGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9UaHJlYWRTYWZlRGF0YUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RocmVhZFNhZmVEYXRhQnVmZmVyLmgKQEAgLTk0LDcgKzk0LDcgQEAgcHVibGljOgog
ICAgIH0KIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXIm
KSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgYm9vbCBkZWNvZGUo
RGVjb2RlciYsIFRocmVhZFNhZmVEYXRhQnVmZmVyJik7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVj
b2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwgVGhy
ZWFkU2FmZURhdGFCdWZmZXImKTsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBUaHJlYWRTYWZl
RGF0YUJ1ZmZlcihWZWN0b3I8dWludDhfdD4mJiBkYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0NBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0NBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5o
CmluZGV4IGU1ZTEwOTdjZTYzOTk5NzcwZjkyM2U5NGVjMjkyYzA5Yzk3YzgyNDUuLjc3ODJiZGRl
ZTc3YTA5MzkzMDVjMmRjZDQ2MWIwM2NiYWIxNjA1YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9DQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9u
LmgKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlw
dGlvbiYgc3RyZWFtRGVzY3JpcHRpb24oKSB7IHJldHVybiBtX3N0cmVhbURlc2NyaXB0aW9uOyB9
CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29u
c3Q7Ci0gICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29k
ZXImLCBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mKTsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKERlY29kZXImLCBDQUF1
ZGlvU3RyZWFtRGVzY3JpcHRpb24mKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIGNhbGN1bGF0ZUZv
cm1hdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvS2V5ZWREZWNv
ZGVyQ0YuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0tleWVkRGVjb2RlckNGLmgKaW5k
ZXggOGFhZTI1ZmFkNDE3ZTM2NTk0MWZjYzY1NTE2OTVkYjg5NGM0YjRiYi4uZjVhNTFlM2YxYjJh
ZWQzNzc1MGEyNmNiZGQwZGYzNzdjNzA3NDIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2YvS2V5ZWREZWNvZGVyQ0YuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jZi9LZXllZERlY29kZXJDRi5oCkBAIC0zOCwxNSArMzgsMTUgQEAgcHVibGljOgogICAgIH5L
ZXllZERlY29kZXJDRigpIG92ZXJyaWRlOwogCiBwcml2YXRlOgotICAgIGJvb2wgZGVjb2RlQnl0
ZXMoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IHVpbnQ4X3QqJiwgc2l6ZV90Jikgb3ZlcnJpZGU7
Ci0gICAgYm9vbCBkZWNvZGVCb29sKGNvbnN0IFN0cmluZyYga2V5LCBib29sJikgb3ZlcnJpZGU7
Ci0gICAgYm9vbCBkZWNvZGVVSW50MzIoY29uc3QgU3RyaW5nJiBrZXksIHVpbnQzMl90Jikgb3Zl
cnJpZGU7Ci0gICAgYm9vbCBkZWNvZGVVSW50NjQoY29uc3QgU3RyaW5nJiBrZXksIHVpbnQ2NF90
Jikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBkZWNvZGVJbnQzMihjb25zdCBTdHJpbmcmIGtleSwgaW50
MzJfdCYpIG92ZXJyaWRlOwotICAgIGJvb2wgZGVjb2RlSW50NjQoY29uc3QgU3RyaW5nJiBrZXks
IGludDY0X3QmKSBvdmVycmlkZTsKLSAgICBib29sIGRlY29kZUZsb2F0KGNvbnN0IFN0cmluZyYg
a2V5LCBmbG9hdCYpIG92ZXJyaWRlOwotICAgIGJvb2wgZGVjb2RlRG91YmxlKGNvbnN0IFN0cmlu
ZyYga2V5LCBkb3VibGUmKSBvdmVycmlkZTsKLSAgICBib29sIGRlY29kZVN0cmluZyhjb25zdCBT
dHJpbmcmIGtleSwgU3RyaW5nJikgb3ZlcnJpZGU7CisgICAgV0FSTl9VTlVTRURfUkVUVVJOIGJv
b2wgZGVjb2RlQnl0ZXMoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IHVpbnQ4X3QqJiwgc2l6ZV90
Jikgb3ZlcnJpZGU7CisgICAgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlQm9vbChjb25z
dCBTdHJpbmcmIGtleSwgYm9vbCYpIG92ZXJyaWRlOworICAgIFdBUk5fVU5VU0VEX1JFVFVSTiBi
b29sIGRlY29kZVVJbnQzMihjb25zdCBTdHJpbmcmIGtleSwgdWludDMyX3QmKSBvdmVycmlkZTsK
KyAgICBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGVVSW50NjQoY29uc3QgU3RyaW5nJiBr
ZXksIHVpbnQ2NF90Jikgb3ZlcnJpZGU7CisgICAgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVj
b2RlSW50MzIoY29uc3QgU3RyaW5nJiBrZXksIGludDMyX3QmKSBvdmVycmlkZTsKKyAgICBXQVJO
X1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGVJbnQ2NChjb25zdCBTdHJpbmcmIGtleSwgaW50NjRf
dCYpIG92ZXJyaWRlOworICAgIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZUZsb2F0KGNv
bnN0IFN0cmluZyYga2V5LCBmbG9hdCYpIG92ZXJyaWRlOworICAgIFdBUk5fVU5VU0VEX1JFVFVS
TiBib29sIGRlY29kZURvdWJsZShjb25zdCBTdHJpbmcmIGtleSwgZG91YmxlJikgb3ZlcnJpZGU7
CisgICAgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlU3RyaW5nKGNvbnN0IFN0cmluZyYg
a2V5LCBTdHJpbmcmKSBvdmVycmlkZTsKIAogICAgIGJvb2wgYmVnaW5PYmplY3QoY29uc3QgU3Ry
aW5nJiBrZXkpIG92ZXJyaWRlOwogICAgIHZvaWQgZW5kT2JqZWN0KCkgb3ZlcnJpZGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nZW5lcmljL0tleWVkRGVjb2RlckdlbmVy
aWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dlbmVyaWMvS2V5ZWREZWNvZGVyR2VuZXJp
Yy5oCmluZGV4IDE5YTI5OWJkZDkyMjk5ZDIyNDA5OGFiNDQ4Y2YyZTM1Yzk2MDNkMzIuLjg4NjZi
ZjE0OGYyOGJmYmVlZDRkMDJkYTRmZTg5M2RjNTRmMTdjYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dlbmVyaWMvS2V5ZWREZWNvZGVyR2VuZXJpYy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dlbmVyaWMvS2V5ZWREZWNvZGVyR2VuZXJpYy5oCkBAIC0zNywx
NSArMzcsMTUgQEAgcHVibGljOgogICAgIHVzaW5nIEFycmF5ID0gVmVjdG9yPHN0ZDo6dW5pcXVl
X3B0cjxEaWN0aW9uYXJ5Pj47CiAKIHByaXZhdGU6Ci0gICAgYm9vbCBkZWNvZGVCeXRlcyhjb25z
dCBTdHJpbmcmIGtleSwgY29uc3QgdWludDhfdComLCBzaXplX3QmKSBvdmVycmlkZTsKLSAgICBi
b29sIGRlY29kZUJvb2woY29uc3QgU3RyaW5nJiBrZXksIGJvb2wmKSBvdmVycmlkZTsKLSAgICBi
b29sIGRlY29kZVVJbnQzMihjb25zdCBTdHJpbmcmIGtleSwgdWludDMyX3QmKSBvdmVycmlkZTsK
LSAgICBib29sIGRlY29kZVVJbnQ2NChjb25zdCBTdHJpbmcmIGtleSwgdWludDY0X3QmKSBvdmVy
cmlkZTsKLSAgICBib29sIGRlY29kZUludDMyKGNvbnN0IFN0cmluZyYga2V5LCBpbnQzMl90Jikg
b3ZlcnJpZGU7Ci0gICAgYm9vbCBkZWNvZGVJbnQ2NChjb25zdCBTdHJpbmcmIGtleSwgaW50NjRf
dCYpIG92ZXJyaWRlOwotICAgIGJvb2wgZGVjb2RlRmxvYXQoY29uc3QgU3RyaW5nJiBrZXksIGZs
b2F0Jikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBkZWNvZGVEb3VibGUoY29uc3QgU3RyaW5nJiBrZXks
IGRvdWJsZSYpIG92ZXJyaWRlOwotICAgIGJvb2wgZGVjb2RlU3RyaW5nKGNvbnN0IFN0cmluZyYg
a2V5LCBTdHJpbmcmKSBvdmVycmlkZTsKKyAgICBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNv
ZGVCeXRlcyhjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgdWludDhfdComLCBzaXplX3QmKSBvdmVy
cmlkZTsKKyAgICBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGVCb29sKGNvbnN0IFN0cmlu
ZyYga2V5LCBib29sJikgb3ZlcnJpZGU7CisgICAgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVj
b2RlVUludDMyKGNvbnN0IFN0cmluZyYga2V5LCB1aW50MzJfdCYpIG92ZXJyaWRlOworICAgIFdB
Uk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZVVJbnQ2NChjb25zdCBTdHJpbmcmIGtleSwgdWlu
dDY0X3QmKSBvdmVycmlkZTsKKyAgICBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGVJbnQz
Mihjb25zdCBTdHJpbmcmIGtleSwgaW50MzJfdCYpIG92ZXJyaWRlOworICAgIFdBUk5fVU5VU0VE
X1JFVFVSTiBib29sIGRlY29kZUludDY0KGNvbnN0IFN0cmluZyYga2V5LCBpbnQ2NF90Jikgb3Zl
cnJpZGU7CisgICAgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlRmxvYXQoY29uc3QgU3Ry
aW5nJiBrZXksIGZsb2F0Jikgb3ZlcnJpZGU7CisgICAgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wg
ZGVjb2RlRG91YmxlKGNvbnN0IFN0cmluZyYga2V5LCBkb3VibGUmKSBvdmVycmlkZTsKKyAgICBX
QVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGVTdHJpbmcoY29uc3QgU3RyaW5nJiBrZXksIFN0
cmluZyYpIG92ZXJyaWRlOwogCiAgICAgYm9vbCBiZWdpbk9iamVjdChjb25zdCBTdHJpbmcmIGtl
eSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBlbmRPYmplY3QoKSBvdmVycmlkZTsKQEAgLTU4LDcgKzU4
LDcgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIGNvbnN0IFQqIGdl
dFBvaW50ZXJGcm9tRGljdGlvbmFyeVN0YWNrKGNvbnN0IFN0cmluZyYga2V5KTsKIAotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gV0FSTl9VTlVTRURf
UkVUVVJOCiAgICAgYm9vbCBkZWNvZGVTaW1wbGVWYWx1ZShjb25zdCBTdHJpbmcmIGtleSwgVCYg
cmVzdWx0KTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxEaWN0aW9uYXJ5PiBtX3Jvb3REaWN0aW9u
YXJ5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9LZXllZERlY29k
ZXJHbGliLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL0tleWVkRGVjb2RlckdsaWIu
aAppbmRleCBiZjc5YzA3MThlOWFhMjhlZjkxMDYzZTI4ZDkzM2JhM2Y3NjhlYmZhLi5kZGRmYWU3
ZjE1Njc1OTRiNTlhM2UzZDc1ZDY1YmYxOGY1NjJhOTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nbGliL0tleWVkRGVjb2RlckdsaWIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9nbGliL0tleWVkRGVjb2RlckdsaWIuaApAQCAtNDEsMTUgKzQxLDE1IEBAIHB1
YmxpYzoKICAgICB+S2V5ZWREZWNvZGVyR2xpYigpIG92ZXJyaWRlOwogCiBwcml2YXRlOgotICAg
IGJvb2wgZGVjb2RlQnl0ZXMoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IHVpbnQ4X3QqJiwgc2l6
ZV90Jikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBkZWNvZGVCb29sKGNvbnN0IFN0cmluZyYga2V5LCBi
b29sJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBkZWNvZGVVSW50MzIoY29uc3QgU3RyaW5nJiBrZXks
IHVpbnQzMl90Jikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBkZWNvZGVVSW50NjQoY29uc3QgU3RyaW5n
JiBrZXksIHVpbnQ2NF90Jikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBkZWNvZGVJbnQzMihjb25zdCBT
dHJpbmcmIGtleSwgaW50MzJfdCYpIG92ZXJyaWRlOwotICAgIGJvb2wgZGVjb2RlSW50NjQoY29u
c3QgU3RyaW5nJiBrZXksIGludDY0X3QmKSBvdmVycmlkZTsKLSAgICBib29sIGRlY29kZUZsb2F0
KGNvbnN0IFN0cmluZyYga2V5LCBmbG9hdCYpIG92ZXJyaWRlOwotICAgIGJvb2wgZGVjb2RlRG91
YmxlKGNvbnN0IFN0cmluZyYga2V5LCBkb3VibGUmKSBvdmVycmlkZTsKLSAgICBib29sIGRlY29k
ZVN0cmluZyhjb25zdCBTdHJpbmcmIGtleSwgU3RyaW5nJikgb3ZlcnJpZGU7CisgICAgV0FSTl9V
TlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlQnl0ZXMoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IHVp
bnQ4X3QqJiwgc2l6ZV90Jikgb3ZlcnJpZGU7CisgICAgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wg
ZGVjb2RlQm9vbChjb25zdCBTdHJpbmcmIGtleSwgYm9vbCYpIG92ZXJyaWRlOworICAgIFdBUk5f
VU5VU0VEX1JFVFVSTiBib29sIGRlY29kZVVJbnQzMihjb25zdCBTdHJpbmcmIGtleSwgdWludDMy
X3QmKSBvdmVycmlkZTsKKyAgICBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGVVSW50NjQo
Y29uc3QgU3RyaW5nJiBrZXksIHVpbnQ2NF90Jikgb3ZlcnJpZGU7CisgICAgV0FSTl9VTlVTRURf
UkVUVVJOIGJvb2wgZGVjb2RlSW50MzIoY29uc3QgU3RyaW5nJiBrZXksIGludDMyX3QmKSBvdmVy
cmlkZTsKKyAgICBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGVJbnQ2NChjb25zdCBTdHJp
bmcmIGtleSwgaW50NjRfdCYpIG92ZXJyaWRlOworICAgIFdBUk5fVU5VU0VEX1JFVFVSTiBib29s
IGRlY29kZUZsb2F0KGNvbnN0IFN0cmluZyYga2V5LCBmbG9hdCYpIG92ZXJyaWRlOworICAgIFdB
Uk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZURvdWJsZShjb25zdCBTdHJpbmcmIGtleSwgZG91
YmxlJikgb3ZlcnJpZGU7CisgICAgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlU3RyaW5n
KGNvbnN0IFN0cmluZyYga2V5LCBTdHJpbmcmKSBvdmVycmlkZTsKIAogICAgIGJvb2wgYmVnaW5P
YmplY3QoY29uc3QgU3RyaW5nJiBrZXkpIG92ZXJyaWRlOwogICAgIHZvaWQgZW5kT2JqZWN0KCkg
b3ZlcnJpZGU7CkBAIC01OSw3ICs1OSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBlbmRBcnJheUVs
ZW1lbnQoKSBvdmVycmlkZTsKICAgICB2b2lkIGVuZEFycmF5KCkgb3ZlcnJpZGU7CiAKLSAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBGPiBib29sIGRlY29kZVNpbXBsZVZhbHVlKGNv
bnN0IFN0cmluZyYga2V5LCBUJiByZXN1bHQsIEYgZ2V0RnVuY3Rpb24pOworICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQsIHR5cGVuYW1lIEY+IFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZVNp
bXBsZVZhbHVlKGNvbnN0IFN0cmluZyYga2V5LCBUJiByZXN1bHQsIEYgZ2V0RnVuY3Rpb24pOwog
ICAgIEhhc2hNYXA8U3RyaW5nLCBHUmVmUHRyPEdWYXJpYW50Pj4gZGljdGlvbmFyeUZyb21HVmFy
aWFudChHVmFyaWFudCopOwogCiAgICAgVmVjdG9yPEhhc2hNYXA8U3RyaW5nLCBHUmVmUHRyPEdW
YXJpYW50Pj4+IG1fZGljdGlvbmFyeVN0YWNrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvUmVnaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9SZWdpb24uaAppbmRleCAyOWI1MzM4ZWE3Mjk5YTMxY2Y3YWViMWVjYTAwYTFmZDllMmM5
MDk2Li42ZDcxNzlhYmRiZDQ5YmNhODczN2RjODEzYzk4N2YwY2ZhNTY2ODAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZWdpb24uaApAQCAtNzksNyArNzksNyBAQCBwdWJs
aWM6CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNv
bnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxSZWdpb24+
IGRlY29kZShEZWNvZGVyJik7CiAgICAgLy8gRklYTUU6IFJlbW92ZSBsZWdhY3kgZGVjb2RlLgot
ICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwg
UmVnaW9uJik7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VE
X1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwgUmVnaW9uJik7CiAKIHByaXZhdGU6CiAgICAg
c3RydWN0IFNwYW4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvUmVtb3RlVmlkZW9TYW1wbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1JlbW90ZVZpZGVvU2FtcGxlLmgKaW5kZXggZTM3NTk4ZmRhNGIwZGZiYmVkZWI1OWI0MTBmY2Fj
MmQyZjIyYzM2NS4uNWFiODJlNTRkYmJmYzI0NjdjMDljYTc3OWY2NDRjNjJhNjAyMTVlNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUmVtb3RlVmlkZW9TYW1w
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9SZW1vdGVWaWRlb1Nh
bXBsZS5oCkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoKICAgICAgICAgZW5jb2RlciA8PCBtX21p
cnJvcmVkOwogICAgIH0KIAotICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBib29s
IGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZW1vdGVWaWRlb1NhbXBsZSYgc2FtcGxlKQorICAg
IHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBk
ZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmVtb3RlVmlkZW9TYW1wbGUmIHNhbXBsZSkKICAgICB7
CiAjaWYgSEFWRShJT1NVUkZBQ0UpCiAgICAgICAgIE1hY2hTZW5kUmlnaHQgc2VuZFJpZ2h0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFDb25z
dHJhaW50cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFDb25z
dHJhaW50cy5oCmluZGV4IDhiMjBmYTk3ODg4ZjNkNjcyYmIwMjU2ZmQ5YTIwOTlmZjg3NTIwZmEu
LjJiZTZjYzMxNjg0YTliZDE0NTVhMmNmM2U0YTYxOTM1MjBmMzg4ZTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhQ29uc3RyYWludHMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzLmgK
QEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAgICAgICBlbmNvZGVyLmVuY29kZUVudW0obV9k
YXRhVHlwZSk7CiAgICAgfQogCi0gICAgdGVtcGxhdGUgPGNsYXNzIERlY29kZXI+IHN0YXRpYyBi
b29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBNZWRpYUNvbnN0cmFpbnQmIGNvbnN0cmFpbnQp
CisgICAgdGVtcGxhdGUgPGNsYXNzIERlY29kZXI+IHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4g
Ym9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTWVkaWFDb25zdHJhaW50JiBjb25zdHJhaW50
KQogICAgIHsKICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0oY29uc3RyYWludC5tX2Nv
bnN0cmFpbnRUeXBlKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTM0Myw3ICszNDMs
NyBAQCBwdWJsaWM6CiAgICAgICAgIGVuY29kZXIgPDwgbV9pZGVhbDsKICAgICB9CiAKLSAgICB0
ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImIGRlY29k
ZXIsIE51bWVyaWNDb25zdHJhaW50JiBjb25zdHJhaW50KQorICAgIHRlbXBsYXRlIDxjbGFzcyBE
ZWNvZGVyPiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKERlY29kZXImIGRl
Y29kZXIsIE51bWVyaWNDb25zdHJhaW50JiBjb25zdHJhaW50KQogICAgIHsKICAgICAgICAgaWYg
KCFNZWRpYUNvbnN0cmFpbnQ6OmRlY29kZShkZWNvZGVyLCBjb25zdHJhaW50KSkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKQEAgLTUxMyw3ICs1MTMsNyBAQCBwdWJsaWM6CiAgICAgICAgIGVu
Y29kZXIgPDwgbV9pZGVhbDsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rlcj4g
c3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIEJvb2xlYW5Db25zdHJhaW50JiBj
b25zdHJhaW50KQorICAgIHRlbXBsYXRlIDxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgV0FSTl9VTlVT
RURfUkVUVVJOIGJvb2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIEJvb2xlYW5Db25zdHJhaW50
JiBjb25zdHJhaW50KQogICAgIHsKICAgICAgICAgaWYgKCFNZWRpYUNvbnN0cmFpbnQ6OmRlY29k
ZShkZWNvZGVyLCBjb25zdHJhaW50KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTU5
Nyw3ICs1OTcsNyBAQCBwdWJsaWM6CiAgICAgICAgIGVuY29kZXIgPDwgbV9pZGVhbDsKICAgICB9
CiAKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29k
ZXImIGRlY29kZXIsIFN0cmluZ0NvbnN0cmFpbnQmIGNvbnN0cmFpbnQpCisgICAgdGVtcGxhdGUg
PGNsYXNzIERlY29kZXI+IHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUoRGVj
b2RlciYgZGVjb2RlciwgU3RyaW5nQ29uc3RyYWludCYgY29uc3RyYWludCkKICAgICB7CiAgICAg
ICAgIGlmICghTWVkaWFDb25zdHJhaW50OjpkZWNvZGUoZGVjb2RlciwgY29uc3RyYWludCkpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2FwYWJp
bGl0aWVzLmgKaW5kZXggOWMyYmY2NTBhZTFlZjVjZTcxZmZkMTQ0MjFjODI0ZWFmZmMwNzM3Yi4u
NDZmYzlmYzU3Y2Q2NWE1YTg0NTdjODNmZTI3YzQ0YmZmMDQzYjMwOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFi
aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0
aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXMuaApAQCAtMTAzLDcgKzEwMyw3IEBAIHB1YmxpYzoK
ICAgICB9CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVy
JikgY29uc3Q7Ci0gICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2Rl
KERlY29kZXImLCBDYXBhYmlsaXR5VmFsdWVPclJhbmdlJik7CisgICAgdGVtcGxhdGU8Y2xhc3Mg
RGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwg
Q2FwYWJpbGl0eVZhbHVlT3JSYW5nZSYpOwogCiBwcml2YXRlOgogICAgIFZhbHVlVW5pb24gbV9t
aW5PclZhbHVlOwpAQCAtMTk1LDcgKzE5NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN1cHBv
cnRlZENvbnN0cmFpbnRzKGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJh
aW50cyYgY29uc3RyYWludHMpIHsgbV9zdXBwb3J0ZWRDb25zdHJhaW50cyA9IGNvbnN0cmFpbnRz
OyB9CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikg
Y29uc3Q7Ci0gICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERl
Y29kZXImLCBSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzJik7CisgICAgdGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNv
ZGVyJiwgUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcyYpOwogCiBwcml2YXRlOgogICAg
IENhcGFiaWxpdHlWYWx1ZU9yUmFuZ2UgbV93aWR0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VTZXR0aW5ncy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZVNl
dHRpbmdzLmgKaW5kZXggZjA0ZGI0NTQzNjczODZlNDcwNWQ4YmQ4NTU0NzVmMjk5OTNiYTkyMy4u
NTljMzQxYzY5OWFmOTUyYTRmYzU5YzQ5NWYyZDU3NmJkZmEyNTcxOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRp
bmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVN
ZWRpYVNvdXJjZVNldHRpbmdzLmgKQEAgLTEzMiw3ICsxMzIsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRMYWJlbChjb25zdCBBdG9tU3RyaW5nJiBsYWJlbCkgeyBtX2xhYmVsID0gbGFiZWw7IH0K
IAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25z
dDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2Rl
ciYsIFJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0aW5ncyYpOworICAgIHRlbXBsYXRlPGNsYXNzIERl
Y29kZXI+IHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUoRGVjb2RlciYsIFJl
YWx0aW1lTWVkaWFTb3VyY2VTZXR0aW5ncyYpOwogCiAgICAgc3RhdGljIFN0cmluZyBjb252ZXJ0
RmxhZ3NUb1N0cmluZyhjb25zdCBPcHRpb25TZXQ8UmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdz
OjpGbGFnPik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENv
bnN0cmFpbnRzLmgKaW5kZXggNTNmOGUyNTIyYjMxYTExZjU3ODRlOThkMjBkYTdjMjU1MTk1NTQx
Yy4uOWRmYTI1MmVmMzNkNzU5MjE5ZjY2OTdiNDA1YTE1NzkyNjI4M2E3NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZVN1
cHBvcnRlZENvbnN0cmFpbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRzLmgKQEAgLTEwMiw3
ICsxMDIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdXBwb3J0c0NvbnN0cmFpbnQoTWVkaWFDb25z
dHJhaW50VHlwZSkgY29uc3Q7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7Ci0gICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IGJvb2wgZGVjb2RlKERlY29kZXImLCBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3Ry
YWludHMmKTsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgV0FSTl9VTlVTRURf
UkVUVVJOIGJvb2wgZGVjb2RlKERlY29kZXImLCBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVk
Q29uc3RyYWludHMmKTsKIAogcHJpdmF0ZToKICAgICBib29sIG1fc3VwcG9ydHNXaWR0aCB7IGZh
bHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBI
ZWFkZXJNYXAuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUEhlYWRlck1h
cC5oCmluZGV4IDYwMDA3NDU5OTdlNTU1ZGMyOGNhYWMxNDBlZTVjMjNmNjM3YThiOTUuLjA1OWFm
Yjc1NjljZmRlN2ZhYTE0NzNlMTMyNDY3NjU3YzA4Y2FlMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUEhlYWRlck1hcC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUEhlYWRlck1hcC5oCkBAIC0yMDksNyArMjA5LDcgQEAg
cHVibGljOgogICAgIH0KIAogICAgIHRlbXBsYXRlIDxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29k
ZShFbmNvZGVyJikgY29uc3Q7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIERlY29kZXI+IHN0YXRpYyBi
b29sIGRlY29kZShEZWNvZGVyJiwgSFRUUEhlYWRlck1hcCYpOworICAgIHRlbXBsYXRlIDxjbGFz
cyBEZWNvZGVyPiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKERlY29kZXIm
LCBIVFRQSGVhZGVyTWFwJik7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBzZXRVbmNvbW1vbkhlYWRl
cihjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgKaW5kZXgg
M2Q2ODgzM2FiNzg0NDc4Y2FlMGYzOWVlNTkzZjk4MmRlNTJhZmM0Ny4uZjg5NzlkYzQ4MmVlOGM4
ZTg4ZTk4YzA2YjkzYzQxNTNlOGM0NzIyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2FkTWV0cmljcy5oCkBAIC0xMzksNyArMTM5LDcgQEAg
cHVibGljOgogICAgIH0KIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2Rl
KEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgYm9v
bCBkZWNvZGUoRGVjb2RlciYsIE5ldHdvcmtMb2FkTWV0cmljcyYpOworICAgIHRlbXBsYXRlPGNs
YXNzIERlY29kZXI+IHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUoRGVjb2Rl
ciYsIE5ldHdvcmtMb2FkTWV0cmljcyYpOwogCiAgICAgU3RyaW5nIHJlbW90ZUFkZHJlc3M7CiAg
ICAgU3RyaW5nIGNvbm5lY3Rpb25JZGVudGlmaWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAppbmRleCBkMWE4MzUwN2Yz
M2JiOWM2NmI4ZTJhNDMzZjIwOWZjNTQ3NGM0NzNlLi5jNWY3NzJjOGQyMGIxZTUyZTk1OWViMzBj
ZjhiNTRhMDIyZjMzYWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApAQCAtMTg3LDcgKzE4Nyw3IEBAIHB1YmxpYzoK
ICAgICBib29sIGVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CiAjZW5kaWYKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZVdp
dGhvdXRQbGF0Zm9ybURhdGEoRW5jb2RlciYpIGNvbnN0OwotICAgIHRlbXBsYXRlPGNsYXNzIERl
Y29kZXI+IGJvb2wgZGVjb2RlV2l0aG91dFBsYXRmb3JtRGF0YShEZWNvZGVyJik7CisgICAgdGVt
cGxhdGU8Y2xhc3MgRGVjb2Rlcj4gV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlV2l0aG91
dFBsYXRmb3JtRGF0YShEZWNvZGVyJik7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgZG91
YmxlIGRlZmF1bHRUaW1lb3V0SW50ZXJ2YWwoKTsgLy8gTWF5IHJldHVybiAwIHdoZW4gdXNpbmcg
cGxhdGZvcm0gZGVmYXVsdC4KICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXREZWZh
dWx0VGltZW91dEludGVydmFsKGRvdWJsZSk7CkBAIC0yMjYsNyArMjI2LDcgQEAgcHJvdGVjdGVk
OgogICAgIHZvaWQgdXBkYXRlUmVzb3VyY2VSZXF1ZXN0KEhUVFBCb2R5VXBkYXRlUG9saWN5ID0g
SFRUUEJvZHlVcGRhdGVQb2xpY3k6OkRvTm90VXBkYXRlSFRUUEJvZHkpIGNvbnN0OwogCiAgICAg
dGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGVCYXNlKEVuY29kZXImKSBjb25zdDsK
LSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBib29sIGRlY29kZUJhc2UoRGVjb2RlciYpOwor
ICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29k
ZUJhc2UoRGVjb2RlciYpOwogCiAgICAgLy8gVGhlIFJlc291cmNlUmVxdWVzdCBzdWJjbGFzcyBt
YXkgInNoYWRvdyIgdGhpcyBtZXRob2QgdG8gY29tcGFyZSBwbGF0Zm9ybSBzcGVjaWZpYyBmaWVs
ZHMKICAgICBzdGF0aWMgYm9vbCBwbGF0Zm9ybUNvbXBhcmUoY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JikgeyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCmlu
ZGV4IGQ2ZWZhMmMxYjcxMzJmMTFkZGI5OWMxNGFlODE5ZWQ3YWY1MTFjMDYuLmUzMjE4ZjhlOTBi
OTJiOTIwOGNmYTk2YzA5ODVkOGQwNGRmM2U1ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTIwMyw3ICsy
MDMsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY29tcGFyZShjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwogCiAgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwotICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgUmVzb3VyY2VSZXNwb25zZUJh
c2UmKTsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgV0FSTl9VTlVTRURfUkVU
VVJOIGJvb2wgZGVjb2RlKERlY29kZXImLCBSZXNvdXJjZVJlc3BvbnNlQmFzZSYpOwogCiAgICAg
Ym9vbCBpc1JhbmdlUmVxdWVzdGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1JhbmdlUmVxdWVzdGVk
OyB9CiAgICAgdm9pZCBzZXRBc1JhbmdlUmVxdWVzdGVkKCkgeyBtX2lzUmFuZ2VSZXF1ZXN0ZWQg
PSB0cnVlOyB9CkBAIC0zMDgsNyArMzA4LDcgQEAgdm9pZCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB9CiAKIHRlbXBsYXRlPGNsYXNzIERlY29k
ZXI+Ci1ib29sIFdBUk5fVU5VU0VEX1JFVFVSTiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6ZGVjb2Rl
KERlY29kZXImIGRlY29kZXIsIFJlc291cmNlUmVzcG9uc2VCYXNlJiByZXNwb25zZSkKK2Jvb2wg
UmVzb3VyY2VSZXNwb25zZUJhc2U6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVJl
c3BvbnNlQmFzZSYgcmVzcG9uc2UpCiB7CiAgICAgQVNTRVJUKHJlc3BvbnNlLm1faXNOdWxsKTsK
ICAgICBPcHRpb25hbDxib29sPiByZXNwb25zZUlzTnVsbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU2FtZVNpdGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1NhbWVTaXRlSW5mby5oCmluZGV4IGQ4YTE5N2FjYWRjMDQ4MjY3ODQ4
NmJlNzZlNWNkMWI1MWE5NjFkMmMuLjQyYjUxMzNlNWRlNjk4ZWVmMmYyNmMyN2YwYjE5M2YwODUx
OTliYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU2FtZVNp
dGVJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9TYW1lU2l0ZUlu
Zm8uaApAQCAtMzcsNyArMzcsNyBAQCBzdHJ1Y3QgU2FtZVNpdGVJbmZvIHsKICAgICBib29sIGlz
U2FmZUhUVFBNZXRob2QgeyBmYWxzZSB9OwogCiAgICAgdGVtcGxhdGUgPGNsYXNzIEVuY29kZXI+
IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rl
cj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBTYW1lU2l0ZUluZm8mKTsKKyAgICB0ZW1w
bGF0ZSA8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29k
ZShEZWNvZGVyJiwgU2FtZVNpdGVJbmZvJik7CiB9OwogCiB0ZW1wbGF0ZSA8Y2xhc3MgRW5jb2Rl
cj4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3Ry
ZWFtRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFt
RXJyb3IuaAppbmRleCA1MmZlYjQ3Y2MxNzk0ODEzMzg0YjJjM2Q4YzM4ODg0MjZlMjZiMzhkLi5k
MjczNzhmOGY5YWZmYWY1OTNkYTNhMzJhMGUxNjEzYWQzNmUwYjM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUVycm9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1FcnJvci5oCkBAIC01OSw3
ICs1OSw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIGxvY2FsaXplZERlc2NyaXB0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9sb2NhbGl6ZWREZXNjcmlwdGlvbjsgfQogCiAgICAgdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwotICAgIHRlbXBs
YXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgU29ja2V0U3Ry
ZWFtRXJyb3ImKTsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgV0FSTl9VTlVT
RURfUkVUVVJOIGJvb2wgZGVjb2RlKERlY29kZXImLCBTb2NrZXRTdHJlYW1FcnJvciYpOwogCiBw
cml2YXRlOgogICAgIGludCBtX2Vycm9yQ29kZSB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZVJlcXVlc3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZVJlcXVlc3QuaAppbmRleCBlNTli
ZWY1MmM4MWE0ZjM4MzZlMDE1ZTQwZGE5N2ViYTIwMzViMTQ5Li45MjgzZjBiOGRhZDVjMzNhYjEw
MWIxYWM3ZTQyMzE3OTBmNDNjOWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlUmVxdWVzdC5oCkBAIC03MSw3ICs3MSw3IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQoYm9vbCkgeyB9
CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZVdpdGhQbGF0Zm9ybURh
dGEoRW5jb2RlciYpIGNvbnN0OwotICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IGJvb2wgZGVj
b2RlV2l0aFBsYXRmb3JtRGF0YShEZWNvZGVyJik7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rl
cj4gV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlV2l0aFBsYXRmb3JtRGF0YShEZWNvZGVy
Jik7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFJlc291cmNlUmVxdWVzdEJhc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VS
ZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VS
ZXF1ZXN0LmgKaW5kZXggN2IxNGE3MDNlY2FlNTE0M2E1NTEzYWRjZDBmOGNkZTg3MDgxMzMzMC4u
YzlmYzI5ZTI3MzdhMWY3OGM0ODJkMTQxMDIwMjI3N2FmOGFhMGY1MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3QuaApA
QCAtMTA0LDcgKzEwNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgR1VuaXF1ZVB0
cjxTb3VwVVJJPiBjcmVhdGVTb3VwVVJJKCkgY29uc3Q7CiAKICAgICAgICAgdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGVXaXRoUGxhdGZvcm1EYXRhKEVuY29kZXImKSBjb25zdDsK
LSAgICAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gYm9vbCBkZWNvZGVXaXRoUGxhdGZvcm1E
YXRhKERlY29kZXImKTsKKyAgICAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gV0FSTl9VTlVT
RURfUkVUVVJOIGJvb2wgZGVjb2RlV2l0aFBsYXRmb3JtRGF0YShEZWNvZGVyJik7CiAKICAgICBw
cml2YXRlOgogICAgICAgICBmcmllbmQgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0QmFzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3Bv
bnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNw
b25zZS5oCmluZGV4IDMwZTViNDQyYjJkNTNjYmFmMmYwOGQwM2EzN2MyODAwZDJhNWRiNjUuLmUy
MjdiMThjN2E0ZmEzZjJmNDU5NTMwMzRlNGNmODg5OTFiOWY2YzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaApA
QCAtNzMsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTb3VwTWVzc2FnZVRMU0Vycm9y
cyhHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMgPSB0bHNFcnJv
cnM7IH0KIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXIm
KSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgYm9vbCBkZWNvZGUo
RGVjb2RlciYsIFJlc291cmNlUmVzcG9uc2UmKTsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVy
PiBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKERlY29kZXImLCBSZXNvdXJj
ZVJlc3BvbnNlJik7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFJlc291cmNlUmVzcG9u
c2VCYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V2ZW50UmVnaW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXZlbnRSZWdpb24uaAppbmRleCBmN2ZiZTI2
NWMwZTU0NjA5ZjQ3YzkxZmI5ZmNjNTM3OTNlYjEzMDc4Li5iMDdlYWRlNDUzNDI4MjI4MDM2ODJi
MjllYmI1MWViOGNhNTU5NzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
RXZlbnRSZWdpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXZlbnRSZWdpb24u
aApAQCAtODcsNyArODcsNyBAQCBwdWJsaWM6CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4g
dm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+
IHN0YXRpYyBPcHRpb25hbDxFdmVudFJlZ2lvbj4gZGVjb2RlKERlY29kZXImKTsKICAgICAvLyBG
SVhNRTogUmVtb3ZlIGxlZ2FjeSBkZWNvZGUuCi0gICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4g
c3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBFdmVudFJlZ2lvbiYpOworICAgIHRlbXBsYXRl
PGNsYXNzIERlY29kZXI+IHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUoRGVj
b2RlciYsIEV2ZW50UmVnaW9uJik7CiAKICAgICB2b2lkIGR1bXAoVGV4dFN0cmVhbSYpIGNvbnN0
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckZldGNoUmVzdWx0LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckZldGNoUmVzdWx0LmgKaW5kZXggYTY4MmMyZTVlZjZjODNlZGQ1YTQyZjQzNjc5MTVi
M2Q0ZTRlOWFlYS4uMGQxZGZjYmIxODExMTU5ODdiMjczNWRhOGRkMDUzMTQwNTdlNGQzZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJGZXRj
aFJlc3VsdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyRmV0Y2hSZXN1bHQuaApAQCAtNDUsNyArNDUsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckZl
dGNoUmVzdWx0IHsKICAgICBTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQgaXNvbGF0ZWRDb3B5KCkg
Y29uc3QgeyByZXR1cm4geyBqb2JEYXRhSWRlbnRpZmllciwgcmVnaXN0cmF0aW9uS2V5Lmlzb2xh
dGVkQ29weSgpLCBzY3JpcHQuaXNvbGF0ZWRDb3B5KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeS5p
c29sYXRlZENvcHkoKSwgcmVmZXJyZXJQb2xpY3kuaXNvbGF0ZWRDb3B5KCksIHNjcmlwdEVycm9y
Lmlzb2xhdGVkQ29weSgpIH07IH0KIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQg
ZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0
aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFNlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdCYpOworICAg
IHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBk
ZWNvZGUoRGVjb2RlciYsIFNlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdCYpOwogfTsKIAogaW5saW5l
IFNlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdCBzZXJ2aWNlV29ya2VyRmV0Y2hFcnJvcihTZXJ2aWNl
V29ya2VySm9iRGF0YUlkZW50aWZpZXIgam9iRGF0YUlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25LZXkmJiByZWdpc3RyYXRpb25LZXksIFJlc291cmNlRXJyb3ImJiBlcnJvcikK
</data>

          </attachment>
      

    </bug>

</bugzilla>