<?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>168511</bug_id>
          
          <creation_ts>2017-02-17 06:39:04 -0800</creation_ts>
          <short_desc>Remove EFL from WebKit2</short_desc>
          <delta_ts>2017-02-17 11:47:05 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1278224</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-17 06:39:04 -0800</bug_when>
    <thetext>Remove EFL from WebKit2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278226</commentid>
    <comment_count>1</comment_count>
      <attachid>301921</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-17 06:41:03 -0800</bug_when>
    <thetext>Created attachment 301921
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278253</commentid>
    <comment_count>2</comment_count>
      <attachid>301930</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-17 07:21:27 -0800</bug_when>
    <thetext>Created attachment 301930
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278318</commentid>
    <comment_count>3</comment_count>
      <attachid>301930</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-02-17 10:46:26 -0800</bug_when>
    <thetext>Comment on attachment 301930
Patch

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

Thanks!

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/PageViewportController.cpp:87
&gt;  FloatPoint PageViewportController::pixelAlignedFloatPoint(const FloatPoint&amp; framePosition)

This could probably be further simplified.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278336</commentid>
    <comment_count>4</comment_count>
      <attachid>301930</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-17 11:12:21 -0800</bug_when>
    <thetext>Comment on attachment 301930
Patch

Clearing flags on attachment: 301930

Committed r212557: &lt;http://trac.webkit.org/changeset/212557&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278337</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-17 11:12:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1278351</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-17 11:47:05 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; Source/WebKit2/UIProcess/CoordinatedGraphics/PageViewportController.cpp:87
&gt; &gt;  FloatPoint PageViewportController::pixelAlignedFloatPoint(const FloatPoint&amp; framePosition)
&gt; 
&gt; This could probably be further simplified.

Good point, considering the function is a no-op now. Some of the uses of it are not trivial though, e.g. there is the comment &quot;The scale changed, we have to re-pixel align.&quot; So it&apos;d be good if someone with graphics expertise could look into this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301921</attachid>
            <date>2017-02-17 06:41:03 -0800</date>
            <delta_ts>2017-02-17 07:21:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168511-20170217083825.patch</filename>
            <type>text/plain</type>
            <size>65171</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNTQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzM1MjM1OGY4ZWI4Nzhj
MThmZGVhNTY2MmZlNzQ5N2Q4ZjM5MmU4My4uMGM3OTk4OWI3MGE1YjQ2Yzc3ZjMxY2FhMDJkNDBi
ZGJiMzk4NjYzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE3LTAyLTE3ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBSZW1vdmUg
RUZMIGZyb20gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY4NTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHA6CisgICAgICAg
IChJUEM6OkNvbm5lY3Rpb246OnBsYXRmb3JtSW52YWxpZGF0ZSk6CisgICAgICAgIChJUEM6OkNv
bm5lY3Rpb246Om9wZW4pOgorICAgICAgICAqIFBsYXRmb3JtL01vZHVsZS5oOgorICAgICAgICAq
IFBsYXRmb3JtRWZsLmNtYWtlOiBSZW1vdmVkLgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvdW5p
eC9QbHVnaW5Qcm9jZXNzTWFpblVuaXguY3BwOgorICAgICAgICAqIFNoYXJlZC9BUEkvQVBJT2Jq
ZWN0Lmg6CisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLQmFzZS5oOgorICAgICAgICAqIFNoYXJl
ZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaDoKKyAgICAgICAgKFdlYktpdDo6dG9BUEkpOgorICAg
ICAgICAoV2ViS2l0Ojp0b0ltcGwpOgorICAgICAgICAqIFNoYXJlZC9OYXRpdmVXZWJLZXlib2Fy
ZEV2ZW50Lmg6CisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYktleWJvYXJkRXZlbnQ6OmlzRmFr
ZUV2ZW50Rm9yQ29tcG9zaXRpb24pOgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJLZXlib2Fy
ZEV2ZW50Ojppc0ZpbHRlcmVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvTmF0aXZlV2Vi
TW91c2VFdmVudC5oOgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpuYXRp
dmVFdmVudCk6CisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5hdGl2ZVdl
Yk1vdXNlRXZlbnQpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9OYXRpdmVXZWJUb3VjaEV2
ZW50Lmg6CisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYlRvdWNoRXZlbnQ6Om5hdGl2ZUV2ZW50
KToKKyAgICAgICAgKiBTaGFyZWQvTmF0aXZlV2ViV2hlZWxFdmVudC5oOgorICAgICAgICAoV2Vi
S2l0OjpOYXRpdmVXZWJXaGVlbEV2ZW50OjpuYXRpdmVFdmVudCk6CisgICAgICAgICogU2hhcmVk
L1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luTW9kdWxlWDExLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5Nb2R1bGU6OmRldGVybWluZVF1aXJrcyk6CisgICAg
ICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS0FQSUNhc3QuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tUZXh0Q2hlY2tl
ci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLVGV4dENoZWNrZXIuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpD
aGlsZFByb2Nlc3NQcm94eTo6Z2V0TGF1bmNoT3B0aW9ucyk6CisgICAgICAgICogVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OnBpeGVsQWxpZ25lZEZsb2F0UG9pbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3JTZXJ2ZXIvV2ViSW5zcGVjdG9yU2VydmVy
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9zb3VwL0N1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5U291cC5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy91bml4L1BsdWdpblByb2Nlc3NQcm94eVVu
aXguY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNzUHJveHk6OnNjYW5QbHVnaW4p
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0
c2NhcGVQbHVnaW5YMTEuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZXRQbHVnaW5EaXNwbGF5KToK
KyAgICAgICAgKFdlYktpdDo6eDExU2NyZWVuKToKKyAgICAgICAgKFdlYktpdDo6ZGlzcGxheURl
cHRoKToKKyAgICAgICAgKFdlYktpdDo6cm9vdFdpbmRvd0lEKToKKyAgICAgICAgKFdlYktpdDo6
TmV0c2NhcGVQbHVnaW5YMTE6OnBhaW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNs
aWVudDo6c2VsZWN0SXRlbVdyaXRpbmdEaXJlY3Rpb25Jc05hdHVyYWwpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDaHJvbWVDbGllbnQ6OnBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvckRpZENoYW5n
ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OnNob3VsZEVyYXNlTWFya2Vy
c0FmdGVyQ2hhbmdlU2VsZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVM
b2FkZXJDbGllbnQ6OnNhdmVWaWV3U3RhdGVUb0l0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUxvYWRlckNsaWVudDo6cmVzdG9yZVZpZXdTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZCk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpXZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIGNvbmZpZy5oOgorCiAyMDE3LTAyLTE2ICBBYWthc2ggSmFpbiAgPGFha2Fz
aF9qYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdW51c2VkIG1ldGhvZHMgV0tQYWdl
R2V0RGVidWdQYWludEZsYWdzIGFuZCBXS1BhZ2VTZXREZWJ1Z1BhaW50RmxhZ3MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcAppbmRl
eCBiMTM2NWNiODc0YjAzZTczNWVkYjJmYTllYzhjN2M3ZmE4MmNlM2EyLi5mY2QxMDQ3OWE1ZTAw
OTYyMmJlNmIzZjI0Y2U4ODk1OWRjMjAxYTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCkBAIC0xNDksOCArMTQ5LDYgQEAg
dm9pZCBDb25uZWN0aW9uOjpwbGF0Zm9ybUludmFsaWRhdGUoKQogCiAjaWYgUExBVEZPUk0oR1RL
KQogICAgIG1fc29ja2V0TW9uaXRvci5zdG9wKCk7Ci0jZWxpZiBQTEFURk9STShFRkwpCi0gICAg
bV9jb25uZWN0aW9uUXVldWUtPnVucmVnaXN0ZXJTb2NrZXRFdmVudEhhbmRsZXIobV9zb2NrZXRE
ZXNjcmlwdG9yKTsKICNlbmRpZgogCiAgICAgbV9zb2NrZXREZXNjcmlwdG9yID0gLTE7CkBAIC0z
ODIsMTEgKzM4MCw2IEBAIGJvb2wgQ29ubmVjdGlvbjo6b3BlbigpCiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gR19TT1VSQ0VfUkVNT1ZFOwogICAgIH0pOwot
I2VsaWYgUExBVEZPUk0oRUZMKQotICAgIG1fY29ubmVjdGlvblF1ZXVlLT5yZWdpc3RlclNvY2tl
dEV2ZW50SGFuZGxlcihtX3NvY2tldERlc2NyaXB0b3IsCi0gICAgICAgIFtwcm90ZWN0ZWRUaGlz
XSB7Ci0gICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5yZWFkeVJlYWRIYW5kbGVyKCk7Ci0gICAg
ICAgIH0pOwogI2VuZGlmCiAKICAgICAvLyBTY2hlZHVsZSBhIGNhbGwgdG8gcmVhZHlSZWFkSGFu
ZGxlci4gRGF0YSBtYXkgaGF2ZSBhcnJpdmVkIGJlZm9yZSBpbnN0YWxsYXRpb24gb2YgdGhlIHNp
Z25hbCBoYW5kbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxl
LmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAppbmRleCBhZjY1MmE5ZDQ1NjE5
YjE0MmI3YjZkMjE1YWQ5ZWRmMDEzMDEwMTE1Li41M2JlZDkyZjAwZjhhY2RmY2JlODEzOTk3YjFi
YTk2MzUwNWM3MzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaApAQCAtMzcsMTEgKzM3LDYg
QEAKIHR5cGVkZWYgc3RydWN0IF9HTW9kdWxlIEdNb2R1bGU7CiAjZW5kaWYKIAotI2lmIFBMQVRG
T1JNKEVGTCkKLSNpbmNsdWRlIDxFaW5hLmg+Ci0jaW5jbHVkZSA8d3RmL2VmbC9VbmlxdWVQdHJF
ZmwuaD4KLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgTW9kdWxlIHsKQEAg
LTc2LDggKzcxLDYgQEAgcHJpdmF0ZToKICNlbmRpZgogI2VsaWYgUExBVEZPUk0oR1RLKQogICAg
IEdNb2R1bGUqIG1faGFuZGxlOwotI2VsaWYgUExBVEZPUk0oRUZMKQotICAgIEVmbFVuaXF1ZVB0
cjxFaW5hX01vZHVsZT4gbV9tb2R1bGU7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwu
Y21ha2UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwYTM1Yzc2MzhlNDhhZDIwYWI3
OTY2YzEwN2U5OTliMjBlOGZlMGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKKysrIC9kZXYvbnVs
bApAQCAtMSw1NjggKzAsMCBAQAotbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCi0gICAgRGF0
YWJhc2VQcm9jZXNzL2VmbC9EYXRhYmFzZVByb2Nlc3NNYWluRWZsLmNwcAotCi0gICAgTmV0d29y
a1Byb2Nlc3MvQ3VzdG9tUHJvdG9jb2xzL3NvdXAvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyU291cC5j
cHAKLQotICAgIE5ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9lZmwvRG93bmxvYWRTb3VwRXJyb3Jz
RWZsLmNwcAotCi0gICAgTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQ29kZXJzU291
cC5jcHAKLSAgICBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVEYXRhU291cC5jcHAK
LSAgICBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVJT0NoYW5uZWxTb3VwLmNwcAot
Ci0gICAgTmV0d29ya1Byb2Nlc3MvZWZsL05ldHdvcmtQcm9jZXNzTWFpbkVmbC5jcHAKLQotICAg
IE5ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAKLSAgICBOZXR3b3Jr
UHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzU291cC5jcHAKLSAgICBOZXR3b3JrUHJvY2Vzcy9z
b3VwL05ldHdvcmtTZXNzaW9uU291cC5jcHAKLSAgICBOZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90
ZU5ldHdvcmtpbmdDb250ZXh0U291cC5jcHAKLQotICAgIFBsYXRmb3JtL0lQQy91bml4L0F0dGFj
aG1lbnRVbml4LmNwcAotICAgIFBsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcAot
Ci0gICAgUGxhdGZvcm0vZWZsL01vZHVsZUVmbC5jcHAKLQotICAgIFBsYXRmb3JtL3VuaXgvTG9n
Z2luZ1VuaXguY3BwCi0gICAgUGxhdGZvcm0vdW5peC9TaGFyZWRNZW1vcnlVbml4LmNwcAotCi0g
ICAgUGx1Z2luUHJvY2Vzcy91bml4L1BsdWdpbkNvbnRyb2xsZXJQcm94eVVuaXguY3BwCi0gICAg
UGx1Z2luUHJvY2Vzcy91bml4L1BsdWdpblByb2Nlc3NNYWluVW5peC5jcHAKLSAgICBQbHVnaW5Q
cm9jZXNzL3VuaXgvUGx1Z2luUHJvY2Vzc1VuaXguY3BwCi0KLSAgICBTaGFyZWQvQVBJL2MvY2Fp
cm8vV0tJbWFnZUNhaXJvLmNwcAotCi0gICAgU2hhcmVkL0FQSS9jL2VmbC9XS0FycmF5RWZsLmNw
cAotCi0gICAgU2hhcmVkL0F1dGhlbnRpY2F0aW9uL3NvdXAvQXV0aGVudGljYXRpb25NYW5hZ2Vy
U291cC5jcHAKLQotICAgIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkQmFj
a2luZ1N0b3JlLmNwcAotICAgIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3NBcmd1bWVudENvZGVycy5jcHAKLSAgICBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCi0gICAgU2hhcmVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV2ViQ29vcmRpbmF0ZWRTdXJmYWNlLmNwcAotCi0gICAgU2hhcmVkL1BsdWdpbnMvTmV0
c2NhcGUveDExL05ldHNjYXBlUGx1Z2luTW9kdWxlWDExLmNwcAotCi0gICAgU2hhcmVkL1BsdWdp
bnMvdW5peC9QbHVnaW5TZWFyY2hQYXRoLmNwcAotCi0gICAgU2hhcmVkL2NhaXJvL1NoYXJlYWJs
ZUJpdG1hcENhaXJvLmNwcAotCi0gICAgU2hhcmVkL2VmbC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50
RWZsLmNwcAotICAgIFNoYXJlZC9lZmwvTmF0aXZlV2ViVG91Y2hFdmVudEVmbC5jcHAKLSAgICBT
aGFyZWQvZWZsL05hdGl2ZVdlYldoZWVsRXZlbnRFZmwuY3BwCi0gICAgU2hhcmVkL2VmbC9Qcm9j
ZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwCi0gICAgU2hhcmVkL2VmbC9XZWJFdmVudEZhY3Rvcnku
Y3BwCi0KLSAgICBTaGFyZWQvbGludXgvV2ViTWVtb3J5U2FtcGxlckxpbnV4LmNwcAotCi0gICAg
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKLQotICAgIFNoYXJlZC91
bml4L0NoaWxkUHJvY2Vzc01haW4uY3BwCi0KLSAgICBVSVByb2Nlc3MvQWNjZWxlcmF0ZWREcmF3
aW5nQXJlYVByb3h5LmNwcAotICAgIFVJUHJvY2Vzcy9CYWNraW5nU3RvcmUuY3BwCi0gICAgVUlQ
cm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKLSAgICBVSVByb2Nlc3MvTGVnYWN5U2Vz
c2lvblN0YXRlQ29kaW5nTm9uZS5jcHAKLSAgICBVSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuY3BwCi0gICAgVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZS5jcHAKLSAgICBVSVByb2Nlc3MvV2ViVGV4dENoZWNrZXIuY3BwCi0gICAgVUlQcm9j
ZXNzL1dlYlRleHRDaGVja2VyQ2xpZW50LmNwcAotCi0gICAgVUlQcm9jZXNzL0FQSS9DL1dLUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCi0KLSAgICBVSVByb2Nlc3MvQVBJL0MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3BwCi0KLSAgICBVSVByb2Nlc3MvQVBJL0MvY2Fpcm8v
V0tJY29uRGF0YWJhc2VDYWlyby5jcHAKLQotICAgIFVJUHJvY2Vzcy9BUEkvQy9lZmwvV0tDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyLmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVu
dEVmbC5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlld0VmbC5jcHAKLQotICAgIFVJ
UHJvY2Vzcy9BUEkvQy9zb3VwL1dLQ29va2llTWFuYWdlclNvdXAuY3BwCi0KLSAgICBVSVByb2Nl
c3MvQVBJL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tDb29yZGluYXRlZFNjZW5lLmNwcAotCi0gICAg
VUlQcm9jZXNzL0FQSS9jcHAvZWZsL1dLRWluYVNoYXJlZFN0cmluZy5jcHAKLQotICAgIFVJUHJv
Y2Vzcy9BUEkvZWZsL0FQSVdlYnNpdGVEYXRhU3RvcmVFZmwuY3BwCi0gICAgVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9HZXN0dXJlUmVjb2duaXpl
ci5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9TbmFwc2hvdEltYWdlR0wuY3BwCi0gICAgVUlQ
cm9jZXNzL0FQSS9lZmwvV2ViQWNjZXNzaWJpbGl0eS5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfYXBwbGljYXRpb25fY2FjaGVfbWFuYWdlci5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfYXV0aF9yZXF1ZXN0LmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19iYWNrX2Zv
cndhcmRfbGlzdC5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3YXJkX2xp
c3RfaXRlbS5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29sb3JfcGlja2VyLmNwcAot
ICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcAotICAgIFVJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19jb250ZXh0X21lbnUuY3BwCi0gICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRl
eHRfbWVudV9pdGVtLmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29raWVfbWFuYWdl
ci5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfZGF0YWJhc2VfbWFuYWdlci5jcHAKLSAg
ICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfZG93bmxvYWRfam9iLmNwcAotICAgIFVJUHJvY2Vzcy9B
UEkvZWZsL2V3a19lcnJvci5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNvbl9k
YXRhYmFzZS5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVl
c3QuY3BwCi0gICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0
LmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcAotICAgIFVJUHJvY2Vzcy9B
UEkvZWZsL2V3a19uYXZpZ2F0aW9uX2RhdGEuY3BwCi0gICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uLmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3
a19vYmplY3QuY3BwCi0gICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXAuY3BwCi0g
ICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21lbnUuY3BwCi0gICAgVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3BvcHVwX21lbnVfaXRlbS5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tf
c2VjdXJpdHlfb3JpZ2luLmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZXR0aW5ncy5j
cHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfc3RvcmFnZV9tYW5hZ2VyLmNwcAotICAgIFVJ
UHJvY2Vzcy9BUEkvZWZsL2V3a190ZXh0X2NoZWNrZXIuY3BwCi0gICAgVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3VybF9yZXF1ZXN0LmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVz
cG9uc2UuY3BwCi0gICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVxdWVzdC5j
cHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlld19jb25maWd1cmF0aW9uLmNwcAotICAg
IFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3
a193aW5kb3dfZmVhdHVyZXMuY3BwCi0KLSAgICBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKLSAgICBVSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcAotICAgIFVJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCi0K
LSAgICBVSVByb2Nlc3MvSW5zcGVjdG9yU2VydmVyL2VmbC9XZWJJbnNwZWN0b3JTZXJ2ZXJFZmwu
Y3BwCi0KLSAgICBVSVByb2Nlc3MvSW5zcGVjdG9yU2VydmVyL3NvdXAvV2ViU29ja2V0U2VydmVy
U291cC5jcHAKLQotICAgIFVJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVyRWZs
LmNwcAotCi0gICAgVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL3NvdXAvQ3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHlTb3VwLmNwcAotCi0gICAgVUlQcm9jZXNzL1BsdWdpbnMvdW5p
eC9QbHVnaW5JbmZvU3RvcmVVbml4LmNwcAotICAgIFVJUHJvY2Vzcy9QbHVnaW5zL3VuaXgvUGx1
Z2luUHJvY2Vzc1Byb3h5VW5peC5jcHAKLQotICAgIFVJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VN
YW5hZ2VyLmNwcAotCi0gICAgVUlQcm9jZXNzL1dlYnNpdGVEYXRhL3VuaXgvV2Vic2l0ZURhdGFT
dG9yZVVuaXguY3BwCi0KLSAgICBVSVByb2Nlc3MvY2Fpcm8vQmFja2luZ1N0b3JlQ2Fpcm8uY3Bw
Ci0KLSAgICBVSVByb2Nlc3MvZWZsL0NvbnRleHRIaXN0b3J5Q2xpZW50RWZsLmNwcAotICAgIFVJ
UHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwCi0gICAgVUlQcm9jZXNzL2VmbC9E
b3dubG9hZE1hbmFnZXJFZmwuY3BwCi0gICAgVUlQcm9jZXNzL2VmbC9FYXNpbmdDdXJ2ZXMuY3Bw
Ci0gICAgVUlQcm9jZXNzL2VmbC9Fd2tUb3VjaEV2ZW50LmNwcAotICAgIFVJUHJvY2Vzcy9lZmwv
RXdrVG91Y2hQb2ludC5jcHAKLSAgICBVSVByb2Nlc3MvZWZsL0ZpbmRDbGllbnRFZmwuY3BwCi0g
ICAgVUlQcm9jZXNzL2VmbC9Gb3JtQ2xpZW50RWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwvSW5w
dXRNZXRob2RDb250ZXh0RWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwvUGFnZUxvYWRDbGllbnRF
ZmwuY3BwCi0gICAgVUlQcm9jZXNzL2VmbC9QYWdlUG9saWN5Q2xpZW50RWZsLmNwcAotICAgIFVJ
UHJvY2Vzcy9lZmwvUGFnZVVJQ2xpZW50RWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwvUGFnZVZp
ZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbC5jcHAKLSAgICBVSVByb2Nlc3MvZWZsL1JlcXVlc3RN
YW5hZ2VyQ2xpZW50RWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRF
ZmwuY3BwCi0gICAgVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckVmbC5jcHAKLSAgICBVSVByb2Nl
c3MvZWZsL1ZpYnJhdGlvbkNsaWVudEVmbC5jcHAKLSAgICBVSVByb2Nlc3MvZWZsL1ZpZXdDbGll
bnRFZmwuY3BwCi0gICAgVUlQcm9jZXNzL2VmbC9XZWJDb2xvclBpY2tlckNsaWVudC5jcHAKLSAg
ICBVSVByb2Nlc3MvZWZsL1dlYkNvbG9yUGlja2VyRWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwv
V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcAotICAgIFVJUHJvY2Vzcy9lZmwv
V2ViQ29udGV4dE1lbnVQcm94eUVmbC5jcHAKLSAgICBVSVByb2Nlc3MvZWZsL1dlYkluc3BlY3Rv
clByb3h5RWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwvV2ViUGFnZVByb3h5RWZsLmNwcAotICAg
IFVJUHJvY2Vzcy9lZmwvV2ViUG9wdXBJdGVtRWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwvV2Vi
UG9wdXBNZW51UHJveHlFZmwuY3BwCi0gICAgVUlQcm9jZXNzL2VmbC9XZWJQcmVmZXJlbmNlc0Vm
bC5jcHAKLSAgICBVSVByb2Nlc3MvZWZsL1dlYlByb2Nlc3NQb29sRWZsLmNwcAotICAgIFVJUHJv
Y2Vzcy9lZmwvV2ViVmlldy5jcHAKLSAgICBVSVByb2Nlc3MvZWZsL1dlYlZpZXdDbGllbnQuY3Bw
Ci0KLSAgICBVSVByb2Nlc3MvZ3N0cmVhbWVyL0luc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zUGVy
bWlzc2lvblJlcXVlc3QuY3BwCi0gICAgVUlQcm9jZXNzL2dzdHJlYW1lci9XZWJQYWdlUHJveHlH
U3RyZWFtZXIuY3BwCi0KLSAgICBVSVByb2Nlc3MvbGludXgvTWVtb3J5UHJlc3N1cmVNb25pdG9y
LmNwcAotCi0gICAgVUlQcm9jZXNzL3NvdXAvV2ViQ29va2llTWFuYWdlclByb3h5U291cC5jcHAK
LSAgICBVSVByb2Nlc3Mvc291cC9XZWJQcm9jZXNzUG9vbFNvdXAuY3BwCi0KLSAgICBXZWJQcm9j
ZXNzL0Nvb2tpZXMvc291cC9XZWJDb29raWVNYW5hZ2VyU291cC5jcHAKLSAgICBXZWJQcm9jZXNz
L0Nvb2tpZXMvc291cC9XZWJLaXRTb3VwQ29va2llSmFyU3FsaXRlLmNwcAotCi0gICAgV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZWZsL2V3a19leHRlbnNpb24uY3BwCi0gICAgV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZWZsL2V3a19wYWdlLmNwcAotCi0gICAgV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9lZmwvSW5qZWN0ZWRCdW5kbGVFZmwuY3BwCi0KLSAgICBXZWJQcm9j
ZXNzL01lZGlhQ2FjaGUvV2ViTWVkaWFLZXlTdG9yYWdlTWFuYWdlci5jcHAKLQotICAgIFdlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS91bml4L05ldHNjYXBlUGx1Z2luVW5peC5jcHAKLSAgICBX
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvdW5peC9QbHVnaW5Qcm94eVVuaXguY3BwCi0KLSAg
ICBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcAot
Ci0gICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9lZmwvV2ViQ29udGV4dE1lbnVDbGllbnRF
ZmwuY3BwCi0gICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9lZmwvV2ViRWRpdG9yQ2xpZW50
RWZsLmNwcAotICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZWZsL1dlYkVycm9yc0VmbC5j
cHAKLSAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2VmbC9XZWJQb3B1cE1lbnVFZmwuY3Bw
Ci0KLSAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3NvdXAvV2ViRnJhbWVOZXR3b3JraW5n
Q29udGV4dC5jcHAKLQotICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdB
cmVhLmNwcAotICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCi0KLSAg
ICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9BcmVhQWxsb2NhdG9yLmNw
cAotICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5n
Q29vcmRpbmF0b3IuY3BwCi0gICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAotICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL1VwZGF0ZUF0bGFzLmNwcAotICAgIFdlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VDb29yZGluYXRlZEdyYXBoaWNzLmNwcAotCi0g
ICAgV2ViUHJvY2Vzcy9XZWJQYWdlL2F0ay9XZWJQYWdlQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5j
cHAKLQotICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViSW5zcGVjdG9yVUlFZmwuY3BwCi0g
ICAgV2ViUHJvY2Vzcy9XZWJQYWdlL2VmbC9XZWJQYWdlRWZsLmNwcAotCi0gICAgV2ViUHJvY2Vz
cy9XZWJQYWdlL2dzdHJlYW1lci9XZWJQYWdlR1N0cmVhbWVyLmNwcAotCi0gICAgV2ViUHJvY2Vz
cy9lZmwvRXh0ZW5zaW9uTWFuYWdlckVmbC5jcHAKLSAgICBXZWJQcm9jZXNzL2VmbC9XZWJQcm9j
ZXNzTWFpbkVmbC5jcHAKLQotICAgIFdlYlByb2Nlc3Mvc291cC9XZWJLaXRTb3VwUmVxdWVzdElu
cHV0U3RyZWFtLmNwcAotICAgIFdlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKLSkK
LQotbGlzdChBUFBFTkQgV2ViS2l0Ml9NRVNTQUdFU19JTl9GSUxFUwotICAgIFVJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2Vz
LmluCi0KLSAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QubWVzc2FnZXMuaW4KLSkKLQotbGlzdChBUFBFTkQgV2ViS2l0Ml9J
TkNMVURFX0RJUkVDVE9SSUVTCi0gICAgIiR7V0VCS0lUMl9ESVJ9L0RhdGFiYXNlUHJvY2Vzcy91
bml4IgotICAgICIke1dFQktJVDJfRElSfS9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMv
c291cCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL3NvdXAi
Ci0gICAgIiR7V0VCS0lUMl9ESVJ9L05ldHdvcmtQcm9jZXNzL2VmbCIKLSAgICAiJHtXRUJLSVQy
X0RJUn0vTmV0d29ya1Byb2Nlc3Mvc291cCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1By
b2Nlc3MvdW5peCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vZWZsIgotICAgICIke1dF
QktJVDJfRElSfS9TaGFyZWQvQVBJL2MvZWZsIgotICAgICIke1dFQktJVDJfRElSfS9TaGFyZWQv
Q29vcmRpbmF0ZWRHcmFwaGljcyIKLSAgICAiJHtXRUJLSVQyX0RJUn0vU2hhcmVkL1BsdWdpbnMv
dW5peCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vU2hhcmVkL2dsaWIiCi0gICAgIiR7V0VCS0lUMl9E
SVJ9L1NoYXJlZC9lZmwiCi0gICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9zb3VwIgotICAgICIk
e1dFQktJVDJfRElSfS9TaGFyZWQvdW5peCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNz
L0FQSSIKLSAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9DL2NhaXJvIgotICAgICIk
e1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcyIKLSAgICAi
JHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9DL2VmbCIKLSAgICAiJHtXRUJLSVQyX0RJUn0v
VUlQcm9jZXNzL0FQSS9DL3NvdXAiCi0gICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkv
Y3BwL2VmbCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwiCi0gICAgIiR7
V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzIgotICAgICIke1dFQktJ
VDJfRElSfS9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291cCIKLSAgICAiJHtX
RUJLSVQyX0RJUn0vVUlQcm9jZXNzL2VmbCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNz
L2xpbnV4IgotICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3Mvc291cCIKLSAgICAiJHtXRUJL
SVQyX0RJUn0vV2ViUHJvY2Vzcy9lZmwiCi0gICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3Mv
c291cCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy91bml4IgotICAgICIke1dFQktJ
VDJfRElSfS9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9lZmwiCi0gICAgIiR7V0VCS0lU
Ml9ESVJ9L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS91bml4IgotICAgICIke1dFQktJVDJf
RElSfS9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExIgotICAgICIke1dFQktJVDJfRElS
fS9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2VmbCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9zb3VwIgotICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcyIKLSAgICAiJHtXRUJLSVQyX0RJUn0iCi0p
Ci0KLWxpc3QoQVBQRU5EIFdlYktpdDJfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAk
e0NBSVJPX0lOQ0xVREVfRElSU30KLSAgICAke0VDT1JFX0VWQVNfSU5DTFVERV9ESVJTfQotICAg
ICR7RUNPUkVfSU1GX0VWQVNfSU5DTFVERV9ESVJTfQotICAgICR7RUNPUkVfSU1GX0lOQ0xVREVf
RElSU30KLSAgICAke0VDT1JFX0lOQ0xVREVfRElSU30KLSAgICAke0VDT1JFX1hfSU5DTFVERV9E
SVJTfQotICAgICR7RURKRV9JTkNMVURFX0RJUlN9Ci0gICAgJHtFRlJFRVRfSU5DTFVERV9ESVJT
fQotICAgICR7RUlOQV9JTkNMVURFX0RJUlN9Ci0gICAgJHtFT19JTkNMVURFX0RJUlN9Ci0gICAg
JHtFVkFTX0lOQ0xVREVfRElSU30KLSAgICAke0dMSUJfSU5DTFVERV9ESVJTfQotICAgICR7R1NU
UkVBTUVSX0lOQ0xVREVfRElSU30KLSAgICAke0hBUkZCVVpaX0lOQ0xVREVfRElSU30KLSAgICAk
e0xJQlNPVVBfSU5DTFVERV9ESVJTfQotICAgICR7TElCWE1MMl9JTkNMVURFX0RJUn0KLSAgICAk
e0xJQlhTTFRfSU5DTFVERV9ESVJTfQotICAgICR7U1FMSVRFX0lOQ0xVREVfRElSU30KLSkKLQot
bGlzdChBUFBFTkQgV2ViS2l0Ml9MSUJSQVJJRVMKLSAgICBXVEYKLSAgICAke0NBSVJPX0xJQlJB
UklFU30KLSAgICAke0NNQUtFX0RMX0xJQlN9Ci0gICAgJHtFQ09SRV9FVkFTX0xJQlJBUklFU30K
LSAgICAke0VDT1JFX0lNRl9FVkFTX0xJQlJBUklFU30KLSAgICAke0VDT1JFX0xJQlJBUklFU30K
LSAgICAke0VESkVfTElCUkFSSUVTfQotICAgICR7RUZSRUVUX0xJQlJBUklFU30KLSAgICAke0VJ
TkFfTElCUkFSSUVTfQotICAgICR7RU9fTElCUkFSSUVTfQotICAgICR7RVZBU19MSUJSQVJJRVN9
Ci0gICAgJHtGT05UQ09ORklHX0xJQlJBUklFU30KLSAgICAke0ZSRUVUWVBFMl9MSUJSQVJJRVN9
Ci0gICAgJHtHTElCX0dJT19MSUJSQVJJRVN9Ci0gICAgJHtHTElCX0dPQkpFQ1RfTElCUkFSSUVT
fQotICAgICR7R0xJQl9MSUJSQVJJRVN9Ci0gICAgJHtIQVJGQlVaWl9MSUJSQVJJRVN9Ci0gICAg
JHtKUEVHX0xJQlJBUklFU30KLSAgICAke0xJQlNPVVBfTElCUkFSSUVTfQotICAgICR7TElCWE1M
Ml9MSUJSQVJJRVN9Ci0gICAgJHtPUEVOR0xfTElCUkFSSUVTfQotICAgICR7UE5HX0xJQlJBUklF
U30KLSAgICAke1NRTElURV9MSUJSQVJJRVN9Ci0pCi0KLWxpc3QoQVBQRU5EIFdlYlByb2Nlc3Nf
U09VUkNFUwotICAgIFdlYlByb2Nlc3MvRW50cnlQb2ludC91bml4L1dlYlByb2Nlc3NNYWluLmNw
cAotKQotCi1saXN0KEFQUEVORCBOZXR3b3JrUHJvY2Vzc19TT1VSQ0VTCi0gICAgTmV0d29ya1By
b2Nlc3MvRW50cnlQb2ludC91bml4L05ldHdvcmtQcm9jZXNzTWFpbi5jcHAKLSkKLQotbGlzdChB
UFBFTkQgRGF0YWJhc2VQcm9jZXNzX1NPVVJDRVMKLSAgICBEYXRhYmFzZVByb2Nlc3MvRW50cnlQ
b2ludC91bml4L0RhdGFiYXNlUHJvY2Vzc01haW4uY3BwCi0pCi0KLWxpc3QoQVBQRU5EIFdlYlBy
b2Nlc3NfTElCUkFSSUVTCi0gICAgJHtDQUlST19MSUJSQVJJRVN9Ci0gICAgJHtFQ09SRV9JTUZf
RVZBU19MSUJSQVJJRVN9Ci0gICAgJHtFQ09SRV9JTUZfTElCUkFSSUVTfQotICAgICR7RURKRV9M
SUJSQVJJRVN9Ci0gICAgJHtFRkxERVBTX0xJQlJBUklFU30KLSAgICAke0VWQVNfTElCUkFSSUVT
fQotICAgICR7TElCWE1MMl9MSUJSQVJJRVN9Ci0gICAgJHtMSUJYU0xUX0xJQlJBUklFU30KLSAg
ICAke09QRU5HTF9MSUJSQVJJRVN9Ci0gICAgJHtTUUxJVEVfTElCUkFSSUVTfQotKQotCi1pZiAo
RU5BQkxFX0VDT1JFX1gpCi0gICAgbGlzdChBUFBFTkQgV2ViUHJvY2Vzc19MSUJSQVJJRVMKLSAg
ICAgICAgJHtFQ09SRV9YX0xJQlJBUklFU30KLSAgICApCi0gICAgbGlzdChBUFBFTkQgV2ViS2l0
Ml9MSUJSQVJJRVMKLSAgICAgICAgJHtFQ09SRV9YX0xJQlJBUklFU30KLSAgICAgICAgJHtYMTFf
WGV4dF9MSUJ9Ci0gICAgKQotZW5kaWYgKCkKLQotYWRkX2N1c3RvbV90YXJnZXQoZm9yd2FyZGlu
Zy1oZWFkZXJzRWZsRm9yV2ViS2l0MgotICAgIENPTU1BTkQgJHtQRVJMX0VYRUNVVEFCTEV9ICR7
V0VCS0lUMl9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsIC0taW5j
bHVkZS1wYXRoICR7V0VCS0lUMl9ESVJ9IC0tb3V0cHV0ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJ
VDJfRElSfS9pbmNsdWRlIC0tcGxhdGZvcm0gZWZsIC0tcGxhdGZvcm0gQ29vcmRpbmF0ZWRHcmFw
aGljcyAtLXBsYXRmb3JtIHNvdXAKLSkKLQotc2V0KFdFQktJVDJfRVhUUkFfREVQRU5ERU5DSUVT
Ci0gICAgIGZvcndhcmRpbmctaGVhZGVyc0VmbEZvcldlYktpdDIKLSkKLQotY29uZmlndXJlX2Zp
bGUoZWZsL2V3ZWJraXQyLnBjLmluICR7Q01BS0VfQklOQVJZX0RJUn0vV2ViS2l0Mi9lZmwvZXdl
YmtpdDIucGMgQE9OTFkpCi1jb25maWd1cmVfZmlsZShlZmwvZXdlYmtpdDItZXh0ZW5zaW9uLnBj
LmluICR7Q01BS0VfQklOQVJZX0RJUn0vV2ViS2l0Mi9lZmwvZXdlYmtpdDItZXh0ZW5zaW9uLnBj
IEBPTkxZKQotY29uZmlndXJlX2ZpbGUoZWZsL0VXZWJLaXQyQ29uZmlnLmNtYWtlLmluICR7Q01B
S0VfQklOQVJZX0RJUn0vV2ViS2l0Mi9lZmwvRVdlYktpdDJDb25maWcuY21ha2UgQE9OTFkpCi1j
b25maWd1cmVfZmlsZShlZmwvRVdlYktpdDJDb25maWdWZXJzaW9uLmNtYWtlLmluICR7Q01BS0Vf
QklOQVJZX0RJUn0vV2ViS2l0Mi9lZmwvRVdlYktpdDJDb25maWdWZXJzaW9uLmNtYWtlIEBPTkxZ
KQotY29uZmlndXJlX2ZpbGUoVUlQcm9jZXNzL0FQSS9lZmwvRVdlYktpdDIuaC5pbiAke0RFUklW
RURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVkZS9FV2ViS2l0Mi5oKQotCi1zZXQoRVdlYktp
dDJfSEVBREVSUwotICAgICIke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVkZS9F
V2ViS2l0Mi5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2F1dGhfcmVxdWVzdC5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJ
Un0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0LmgiCi0gICAgIiR7Q01B
S0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3YXJk
X2xpc3RfaXRlbS5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2FwcGxpY2F0aW9uX2NhY2hlX21hbmFnZXIuaCIKLSAgICAiJHtDTUFLRV9D
VVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb2xvcl9waWNrZXIuaCIK
LSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19j
b250ZXh0LmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfY29udGV4dF9tZW51LmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElS
fS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaCIKLSAgICAiJHtDTUFL
RV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29raWVfbWFuYWdl
ci5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2RhdGFiYXNlX21hbmFnZXIuaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kb3dubG9hZF9qb2IuaCIKLSAgICAiJHtDTUFLRV9DVVJS
RU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19lcnJvci5oIgotICAgICIke0NN
QUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0
YWJhc2UuaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdC5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09V
UkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0Lmgi
Ci0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
aW50cm8uaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19tYWluLmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9kYXRhLmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9T
T1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNp
b24uaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19vYmplY3QuaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19wYWdlX2dyb3VwLmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0Vf
RElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudS5oIgotICAgICIke0NNQUtFX0NV
UlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21lbnVfaXRlbS5o
IgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3NlY3VyaXR5X29yaWdpbi5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3NldHRpbmdzLmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VS
Q0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfc3RvcmFnZV9tYW5hZ2VyLmgiCi0gICAgIiR7
Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdGV4dF9jaGVj
a2VyLmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfdG91Y2guaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a191cmxfcmVxdWVzdC5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNF
X0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXNwb25zZS5oIgotICAgICIke0NNQUtF
X0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVx
dWVzdC5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3ZpZXcuaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a193aW5kb3dfZmVhdHVyZXMuaCIKLSkKLQotc2V0KEVXZWJLaXQyX0V4dGVu
c2lvbl9IRUFERVJTCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9lZmwvRVdlYktpdF9FeHRlbnNpb24uaCIKLSAgICAiJHtDTUFL
RV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2VmbC9l
d2tfZXh0ZW5zaW9uLmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9lZmwvZXdrX3BhZ2UuaCIKLSkKLQotaW5zdGFsbChGSUxF
UyAke0VXZWJLaXQyX0hFQURFUlN9IERFU1RJTkFUSU9OICR7SEVBREVSX0lOU1RBTExfRElSfSkK
LWluc3RhbGwoRklMRVMgJHtFV2ViS2l0Ml9FeHRlbnNpb25fSEVBREVSU30gREVTVElOQVRJT04g
JHtIRUFERVJfSU5TVEFMTF9ESVJ9L2V4dGVuc2lvbikKLQotaW5zdGFsbChGSUxFUyAke0NNQUtF
X0JJTkFSWV9ESVJ9L1dlYktpdDIvZWZsL2V3ZWJraXQyLnBjIERFU1RJTkFUSU9OIGxpYi9wa2dj
b25maWcpCi1pbnN0YWxsKEZJTEVTICR7Q01BS0VfQklOQVJZX0RJUn0vV2ViS2l0Mi9lZmwvZXdl
YmtpdDItZXh0ZW5zaW9uLnBjIERFU1RJTkFUSU9OIGxpYi9wa2djb25maWcpCi1pbnN0YWxsKEZJ
TEVTCi0gICAgICAgICR7Q01BS0VfQklOQVJZX0RJUn0vV2ViS2l0Mi9lZmwvRVdlYktpdDJDb25m
aWcuY21ha2UKLSAgICAgICAgJHtDTUFLRV9CSU5BUllfRElSfS9XZWJLaXQyL2VmbC9FV2ViS2l0
MkNvbmZpZ1ZlcnNpb24uY21ha2UKLSAgICAgICAgREVTVElOQVRJT04gbGliL2NtYWtlL0VXZWJL
aXQyKQotCi1zZXQoRVdFQktJVF9FWFRFTlNJT05fTUFOQUdFUl9JTlNUQUxMX0RJUiAiJHtMSUJf
SU5TVEFMTF9ESVJ9LyR7V2ViS2l0Ml9PVVRQVVRfTkFNRX0tJHtQUk9KRUNUX1ZFUlNJT05fTUFK
T1J9LyIgQ0FDSEUgUEFUSCAiQWJzb2x1dGUgcGF0aCB0byBpbnN0YWxsIGluamVjdGVkIGJ1bmRs
ZSB3aGljaCBjb250cm9scyB0aGUgZXh0ZW5zaW9uIGxpYnJhcnkiKQotCi1hZGRfbGlicmFyeShl
d2Via2l0X2V4dGVuc2lvbl9tYW5hZ2VyIFNIQVJFRCAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vz
cy9lZmwvV2ViSW5qZWN0ZWRCdW5kbGVNYWluRWZsLmNwcCIpCi10YXJnZXRfbGlua19saWJyYXJp
ZXMoZXdlYmtpdF9leHRlbnNpb25fbWFuYWdlciBXZWJLaXQyKQotCi1pbnN0YWxsKFRBUkdFVFMg
ZXdlYmtpdF9leHRlbnNpb25fbWFuYWdlciBERVNUSU5BVElPTiAiJHtFV0VCS0lUX0VYVEVOU0lP
Tl9NQU5BR0VSX0lOU1RBTExfRElSfSIpCi0KLWlmIChFTkFCTEVfUExVR0lOX1BST0NFU1MpCi0g
ICAgbGlzdChBUFBFTkQgUGx1Z2luUHJvY2Vzc19JTkNMVURFX0RJUkVDVE9SSUVTCi0gICAgICAg
ICIke1dFQktJVDJfRElSfS9QbHVnaW5Qcm9jZXNzL3VuaXgiCi0gICAgKQotCi0gICAgaW5jbHVk
ZV9kaXJlY3Rvcmllcygke1BsdWdpblByb2Nlc3NfSU5DTFVERV9ESVJFQ1RPUklFU30pCi0KLSAg
ICBsaXN0KEFQUEVORCBQbHVnaW5Qcm9jZXNzX1NPVVJDRVMKLSAgICAgICAgJHtXRUJLSVQyX0RJ
Un0vUGx1Z2luUHJvY2Vzcy9FbnRyeVBvaW50L3VuaXgvUGx1Z2luUHJvY2Vzc01haW4uY3BwCi0g
ICAgKQotCi0gICAgaWYgKEVOQUJMRV9FQ09SRV9YKQotICAgICAgICBsaXN0KEFQUEVORCBQbHVn
aW5Qcm9jZXNzX0xJQlJBUklFUwotICAgICAgICAgICAgJHtFQ09SRV9YX0xJQlJBUklFU30KLSAg
ICAgICAgKQotICAgIGVuZGlmICgpCi1lbmRpZiAoKSAjIEVOQUJMRV9QTFVHSU5fUFJPQ0VTUwot
Ci1pbmNsdWRlX2RpcmVjdG9yaWVzKCR7VEhJUkRQQVJUWV9ESVJ9L2d0ZXN0L2luY2x1ZGUpCi0K
LXNldChFV0syVW5pdFRlc3RzX0xJQlJBUklFUwotICAgICR7Q0FJUk9fTElCUkFSSUVTfQotICAg
ICR7RUNPUkVfRVZBU19MSUJSQVJJRVN9Ci0gICAgJHtFQ09SRV9MSUJSQVJJRVN9Ci0gICAgJHtF
VkFTX0xJQlJBUklFU30KLSAgICAke0dMSUJfR0lPX0xJQlJBUklFU30KLSAgICAke0dMSUJfR09C
SkVDVF9MSUJSQVJJRVN9Ci0gICAgJHtHTElCX0dUSFJFQURfTElCUkFSSUVTfQotICAgICR7R0xJ
Ql9MSUJSQVJJRVN9Ci0gICAgJHtMSUJTT1VQX0xJQlJBUklFU30KLSAgICBXZWJLaXQyCi0gICAg
SmF2YVNjcmlwdENvcmUKLSAgICBXVEYKLSAgICBXZWJDb3JlCi0gICAgZ3Rlc3QKLSkKLQotaWYg
KEVOQUJMRV9FQ09SRV9YKQotICAgIGxpc3QoQVBQRU5EIEVXSzJVbml0VGVzdHNfTElCUkFSSUVT
Ci0gICAgICAgICR7RUNPUkVfWF9MSUJSQVJJRVN9Ci0gICAgKQotZW5kaWYgKCkKLQotc2V0KFdF
QktJVDJfRUZMX1RFU1RfRElSICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0
cyIpCi1zZXQoVEVTVF9SRVNPVVJDRVNfRElSICR7V0VCS0lUMl9FRkxfVEVTVF9ESVJ9L3Jlc291
cmNlcykKLXNldChURVNUX0VYVEVOU0lPTlNfRElSICR7V0VCS0lUMl9FRkxfVEVTVF9ESVJ9L2V4
dGVuc2lvbnMpCi1zZXQoV0VCS0lUMl9FRkxfVEVTVF9SVU5USU1FX09VVFBVVF9ESVJFQ1RPUlkg
JHtDTUFLRV9SVU5USU1FX09VVFBVVF9ESVJFQ1RPUll9L1Rlc3RXZWJLaXRBUEkvRVdlYktpdDIp
Ci0KLWFkZF9kZWZpbml0aW9ucygtRFRFU1RfUkVTT1VSQ0VTX0RJUj1cIiR7VEVTVF9SRVNPVVJD
RVNfRElSfVwiCi0gICAgLURURVNUX0xJQl9ESVI9XCIke0NNQUtFX0xJQlJBUllfT1VUUFVUX0RJ
UkVDVE9SWX1cIgotICAgIC1ER1RFU1RfTElOS0VEX0FTX1NIQVJFRF9MSUJSQVJZPTEKLSAgICAt
RExJQkRJUj1cIiR7TElCX0lOU1RBTExfRElSfVwiCi0gICAgLURMSUJFWEVDRElSPVwiJHtFWEVD
X0lOU1RBTExfRElSfVwiCi0gICAgLUREQVRBRElSPVwiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0v
c2hhcmVcIgotICAgIC1ERVhURU5TSU9OTUFOQUdFUkRJUj1cIiR7Q01BS0VfSU5TVEFMTF9QUkVG
SVh9LyR7RVdFQktJVF9FWFRFTlNJT05fTUFOQUdFUl9JTlNUQUxMX0RJUn1cIgotICAgIC1EV0VC
UFJPQ0VTU05BTUU9XCJXZWJLaXRXZWJQcm9jZXNzXCIKLSAgICAtRFBMVUdJTlBST0NFU1NOQU1F
PVwiV2ViS2l0UGx1Z2luUHJvY2Vzc1wiCi0gICAgLURORVRXT1JLUFJPQ0VTU05BTUU9XCJXZWJL
aXROZXR3b3JrUHJvY2Vzc1wiCi0gICAgLUREQVRBQkFTRVBST0NFU1NOQU1FPVwiV2ViS2l0RGF0
YWJhc2VQcm9jZXNzXCIKLSAgICAtREVYVEVOU0lPTk1BTkFHRVJOQU1FPVwibGliZXdlYmtpdF9l
eHRlbnNpb25fbWFuYWdlci5zb1wiCi0gICAgLURHVEVTVF9IQVNfUlRUST0wCi0pCi0KLWFkZF9s
aWJyYXJ5KGV3azJVbml0VGVzdFV0aWxzCi0gICAgJHtXRUJLSVQyX0VGTF9URVNUX0RJUn0vVW5p
dFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcAotICAgICR7V0VCS0lUMl9FRkxfVEVTVF9E
SVJ9L1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0RW52aXJvbm1lbnQuY3BwCi0gICAgJHtXRUJL
SVQyX0VGTF9URVNUX0RJUn0vVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RNYWluLmNwcAotICAg
ICR7V0VCS0lUMl9FRkxfVEVTVF9ESVJ9L1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0U2VydmVy
LmNwcAotKQotCi10YXJnZXRfbGlua19saWJyYXJpZXMoZXdrMlVuaXRUZXN0VXRpbHMgJHtFV0sy
VW5pdFRlc3RzX0xJQlJBUklFU30pCi0KLSMgVGhlICJld2siIG9uIHRoZSB0ZXN0IG5hbWUgbmVl
ZHMgdG8gYmUgc3VmZml4ZWQgd2l0aCAiMiIsIG90aGVyd2lzZSBpdAotIyB3aWxsIGNsYXNoIHdp
dGggdGVzdHMgZnJvbSB0aGUgV2ViS2l0IDEgdGVzdCBzdWl0ZS4KLXNldChFV0syVW5pdFRlc3Rz
X0JJTkFSSUVTCi0gICAgdGVzdF9ld2syX2FjY2Vzc2liaWxpdHkKLSAgICB0ZXN0X2V3azJfYXBw
bGljYXRpb25fY2FjaGVfbWFuYWdlcgotICAgIHRlc3RfZXdrMl9hdXRoX3JlcXVlc3QKLSAgICB0
ZXN0X2V3azJfYmFja19mb3J3YXJkX2xpc3QKLSAgICB0ZXN0X2V3azJfY29sb3JfcGlja2VyCi0g
ICAgdGVzdF9ld2syX2NvbnRleHQKLSAgICB0ZXN0X2V3azJfY29udGV4dF9oaXN0b3J5X2NhbGxi
YWNrcwotICAgIHRlc3RfZXdrMl9jb250ZXh0X21lbnUKLSAgICB0ZXN0X2V3azJfY29va2llX21h
bmFnZXIKLSAgICB0ZXN0X2V3azJfZGF0YWJhc2VfbWFuYWdlcgotICAgIHRlc3RfZXdrMl9kb3du
bG9hZF9qb2IKLSAgICB0ZXN0X2V3azJfZWluYV9zaGFyZWRfc3RyaW5nCi0gICAgdGVzdF9ld2sy
X2Zhdmljb25fZGF0YWJhc2UKLSAgICB0ZXN0X2V3azJfZmlsZV9jaG9vc2VyX3JlcXVlc3QKLSAg
ICB0ZXN0X2V3azJfamF2YXNjcmlwdF9iaW5kaW5nCi0gICAgdGVzdF9ld2syX29iamVjdAotICAg
IHRlc3RfZXdrMl9wYWdlCi0gICAgdGVzdF9ld2syX3BhZ2VfZ3JvdXAKLSAgICB0ZXN0X2V3azJf
cG9wdXBfbWVudQotICAgIHRlc3RfZXdrMl9zZXR0aW5ncwotICAgIHRlc3RfZXdrMl9zc2wKLSAg
ICB0ZXN0X2V3azJfc3RvcmFnZV9tYW5hZ2VyCi0gICAgdGVzdF9ld2syX3RleHRfY2hlY2tlcgot
ICAgIHRlc3RfZXdrMl92aWV3Ci0gICAgdGVzdF9ld2syX3ZpZXdfY29uZmlndXJhdGlvbgotICAg
IHRlc3RfZXdrMl93aW5kb3dfZmVhdHVyZXMKLSkKLQotIyBTa2lwcGVkIHVuaXQgdGVzdHMgbGlz
dDoKLSMKLSMgd2Via2l0Lm9yZy9iLzEwNzQyMjogdGVzdF9ld2syX2F1dGhfcmVxdWVzdAotCi1p
ZiAoRU5BQkxFX0FQSV9URVNUUykKLSAgICBmb3JlYWNoICh0ZXN0TmFtZSAke0VXSzJVbml0VGVz
dHNfQklOQVJJRVN9KQotICAgICAgICBhZGRfZXhlY3V0YWJsZSgke3Rlc3ROYW1lfSAke1dFQktJ
VDJfRUZMX1RFU1RfRElSfS8ke3Rlc3ROYW1lfS5jcHApCi0gICAgICAgIGFkZF90ZXN0KCR7dGVz
dE5hbWV9ICR7V0VCS0lUMl9FRkxfVEVTVF9SVU5USU1FX09VVFBVVF9ESVJFQ1RPUll9LyR7dGVz
dE5hbWV9KQotICAgICAgICBzZXRfdGVzdHNfcHJvcGVydGllcygke3Rlc3ROYW1lfSBQUk9QRVJU
SUVTIFRJTUVPVVQgNjApCi0gICAgICAgIHNldF90YXJnZXRfcHJvcGVydGllcygke3Rlc3ROYW1l
fSBQUk9QRVJUSUVTIFJVTlRJTUVfT1VUUFVUX0RJUkVDVE9SWSAke1dFQktJVDJfRUZMX1RFU1Rf
UlVOVElNRV9PVVRQVVRfRElSRUNUT1JZfSkKLSAgICAgICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVz
KCR7dGVzdE5hbWV9ICR7RVdLMlVuaXRUZXN0c19MSUJSQVJJRVN9IGV3azJVbml0VGVzdFV0aWxz
KQotICAgIGVuZGZvcmVhY2ggKCkKLQotICAgIGFkZF9saWJyYXJ5KGV3azJVbml0VGVzdEV4dGVu
c2lvblNhbXBsZSBTSEFSRUQgJHtURVNUX0VYVEVOU0lPTlNfRElSfS9leHRlbnNpb25fc2FtcGxl
LmNwcCkKLSAgICB0YXJnZXRfbGlua19saWJyYXJpZXMoZXdrMlVuaXRUZXN0RXh0ZW5zaW9uU2Ft
cGxlICR7RUlOQV9MSUJSQVJJRVN9IFdlYktpdDIpCi1lbmRpZiAoKQotCi1pZiAoRU5BQkxFX1NQ
RUxMQ0hFQ0spCi0gICAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TWVNURU1fSU5DTFVERV9ESVJFQ1RP
UklFUwotICAgICAgICAke0VOQ0hBTlRfSU5DTFVERV9ESVJTfQotICAgICkKLSAgICBsaXN0KEFQ
UEVORCBXZWJLaXQyX0xJQlJBUklFUwotICAgICAgICAke0VOQ0hBTlRfTElCUkFSSUVTfQotICAg
ICkKLWVuZGlmICgpCi0KLWlmIChFTkFCTEVfQUNDRVNTSUJJTElUWSkKLSAgICBsaXN0KEFQUEVO
RCBXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAgICAgIiR7V0VCS0lUMl9ESVJ9L1dl
YlByb2Nlc3MvV2ViUGFnZS9hdGsiCi0gICAgKQotICAgIGxpc3QoQVBQRU5EIFdlYktpdDJfU1lT
VEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAgICAgJHtBVEtfSU5DTFVERV9ESVJTfQotICAg
ICkKLSAgICBsaXN0KEFQUEVORCBXZWJLaXQyX0xJQlJBUklFUwotICAgICAgICAke0FUS19MSUJS
QVJJRVN9Ci0gICAgKQotZW5kaWYgKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvdW5peC9QbHVnaW5Qcm9jZXNzTWFpblVuaXguY3BwIGIvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy91bml4L1BsdWdpblByb2Nlc3NNYWluVW5peC5jcHAKaW5kZXggNzQ1YmI3
MWIwMWY1NTNhZTAyOWExNzM1MjBhZDU5MWU4MzQwMDg4NC4uMDJhODE2YjI3ZTQ4ZGJlNWMzNWU3
NDI3MTIzMzQ2N2QzMmVhZThhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJv
Y2Vzcy91bml4L1BsdWdpblByb2Nlc3NNYWluVW5peC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy91bml4L1BsdWdpblByb2Nlc3NNYWluVW5peC5jcHAKQEAgLTM5LDggKzM5
LDYgQEAKIAogI2lmIFBMQVRGT1JNKEdUSykKICNpbmNsdWRlIDxndGsvZ3RrLmg+Ci0jZWxpZiBQ
TEFURk9STShFRkwpICYmIEhBVkVfRUNPUkVfWAotI2luY2x1ZGUgPEVjb3JlX1guaD4KICNlbmRp
ZgogCiAjaWYgZGVmaW5lZChYUF9VTklYKQpAQCAtNjAsMTEgKzU4LDYgQEAgcHVibGljOgogICAg
IHsKICNpZiBQTEFURk9STShHVEspCiAgICAgICAgIGd0a19pbml0KG51bGxwdHIsIG51bGxwdHIp
OwotI2VsaWYgUExBVEZPUk0oRUZMKQotI2lmZGVmIEhBVkVfRUNPUkVfWAotICAgICAgICBpZiAo
IWVjb3JlX3hfaW5pdCgwKSkKLSNlbmRpZgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2Vu
ZGlmCiAKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL0FQSU9iamVjdC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9BUElPYmpl
Y3QuaAppbmRleCBhMGFkMDRmZDMyOTk5ZjM3NTViMzBmYWExYTQzYmQ0YjU4NTgzOTIwLi5mMmNi
MDU0MGEzMWQwNTQ0OGZlMmI4ZjVlODM1YTJmM2Q3ZGFjODA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvQVBJT2JqZWN0LmgKQEAgLTE5MiwxMyArMTkyLDYgQEAgcHVibGljOgogICAgICAgICBT
b3VwUmVxdWVzdE1hbmFnZXIsCiAgICAgICAgIFNvdXBDdXN0b21Qcm90b2NvbFJlcXVlc3RNYW5h
Z2VyLAogI2VuZGlmCi0jaWYgUExBVEZPUk0oRUZMKQotICAgICAgICBQb3B1cE1lbnVJdGVtLAot
I2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgICAgIFRvdWNoUG9pbnQsCi0gICAgICAgIFRv
dWNoRXZlbnQsCi0jZW5kaWYKLSNlbmRpZgogICAgIH07CiAKICAgICB2aXJ0dWFsIH5PYmplY3Qo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oCmluZGV4IGU5ZGY3ODc0Yjc3NWUzZWFl
Mzk2MGM0MTE3MzljODQ4ZWI4NGNjMzcuLjJlOGZiZmJiZTVjNTQ5ODAwMjBmMmM1OWRiZGE2Y2Vl
ZTA2YWY4M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgKQEAgLTM0LDEwICsz
NCw2IEBACiAjaW5jbHVkZSA8V2ViS2l0L1dLQmFzZUd0ay5oPgogI2VuZGlmCiAKLSNpZiBkZWZp
bmVkKEJVSUxESU5HX0VGTF9fKQotI2luY2x1ZGUgPFdlYktpdC9XS0Jhc2VFZmwuaD4KLSNlbmRp
ZgotCiAjaWYgZGVmaW5lZChfX0FQUExFX18pICYmICFkZWZpbmVkKEJVSUxESU5HX0dUS19fKQog
I2luY2x1ZGUgPFdlYktpdC9XS0Jhc2VNYWMuaD4KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCmluZGV4IGIzOTNiYzIyZTMyMzU3MTdjMjk2
MDAyZjJjYWEwZmNlNDlmZDRkODIuLjg2NGJhZmYxNmM3YTVmZGM0ZDViNGZmOTk4MmQ1NWU0Y2Nl
ZTEyNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQ
SUNhc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0
LmgKQEAgLTMzNiw3ICszMzYsNyBAQCBpbmxpbmUgV0tDb250ZXh0TWVudUl0ZW1UYWcgdG9BUEko
V2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24gYWN0aW9uKQogICAgICAgICByZXR1cm4ga1dLQ29u
dGV4dE1lbnVJdGVtVGFnRG93bmxvYWRJbWFnZVRvRGlzazsKICAgICBjYXNlIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkOgogICAgICAgICByZXR1cm4ga1dL
Q29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9hcmQ7Ci0jaWYgUExBVEZPUk0oRUZM
KSB8fCBQTEFURk9STShHVEspCisjaWYgUExBVEZPUk0oR1RLKQogICAgIGNhc2UgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQ6CiAgICAgICAgIHJldHVy
biBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZDsKICNlbmRpZgpA
QCAtMzU2LDcgKzM1Niw3IEBAIGlubGluZSBXS0NvbnRleHRNZW51SXRlbVRhZyB0b0FQSShXZWJD
b3JlOjpDb250ZXh0TWVudUFjdGlvbiBhY3Rpb24pCiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0
TWVudUl0ZW1UYWdDdXQ7CiAgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdQYXN0
ZToKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Bhc3RlOwotI2lmIFBMQVRG
T1JNKEVGTCkgfHwgUExBVEZPUk0oR1RLKQorI2lmIFBMQVRGT1JNKEdUSykKICAgICBjYXNlIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbDoKICAgICAgICAgcmV0dXJuIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbDsKICNlbmRpZgpAQCAtNTMxLDcgKzUzMSw3IEBAIGlu
bGluZSBXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiB0b0ltcGwoV0tDb250ZXh0TWVudUl0ZW1U
YWcgdGFnKQogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9h
cmQ6CiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VU
b0NsaXBib2FyZDsKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3
V2luZG93OgotI2lmIFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oR1RLKQorI2lmIFBMQVRGT1JN
KEdUSykKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVVybFRvQ2xpcGJv
YXJkOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdl
VXJsVG9DbGlwYm9hcmQ7CiAjZW5kaWYKQEAgLTU1MCw3ICs1NTAsNyBAQCBpbmxpbmUgV2ViQ29y
ZTo6Q29udGV4dE1lbnVBY3Rpb24gdG9JbXBsKFdLQ29udGV4dE1lbnVJdGVtVGFnIHRhZykKICAg
ICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0N1dDsKICAgICBjYXNlIGtX
S0NvbnRleHRNZW51SXRlbVRhZ1Bhc3RlOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnUGFzdGU7Ci0jaWYgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShHVEspCisj
aWYgUExBVEZPUk0oR1RLKQogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxs
OgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsOwog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2ViS2V5Ym9h
cmRFdmVudC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYktleWJvYXJkRXZlbnQu
aAppbmRleCBiYWJiM2FlMTkyMTM5ZTVlYTM3YzEzYWE1ZDA0ZjZjYTg3NDRlYWFlLi5jYjFmMTE4
Yzg5MmYxNWQxYWRlZWI5MzgwZjRiZTBlZjg0MGIwMWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgKQEAgLTM5LDEwICszOSw2IEBAIHN0cnVj
dCBLZXlwcmVzc0NvbW1hbmQ7CiB9CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEVGTCkKLSNpbmNs
dWRlIDxFdmFzLmg+Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKEdUSykKICNpbmNsdWRlICJJbnB1
dE1ldGhvZEZpbHRlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ29tcG9zaXRpb25SZXN1bHRzLmg+
CkBAIC02NCw5ICs2MCw2IEBAIHB1YmxpYzoKICNlbGlmIFBMQVRGT1JNKEdUSykKICAgICBOYXRp
dmVXZWJLZXlib2FyZEV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmKTsKICAgICBO
YXRpdmVXZWJLZXlib2FyZEV2ZW50KEdka0V2ZW50KiwgY29uc3QgV2ViQ29yZTo6Q29tcG9zaXRp
b25SZXN1bHRzJiwgSW5wdXRNZXRob2RGaWx0ZXI6OkV2ZW50RmFrZWRGb3JDb21wb3NpdGlvbiwg
VmVjdG9yPFN0cmluZz4mJiBjb21tYW5kcyk7Ci0jZWxpZiBQTEFURk9STShFRkwpCi0gICAgTmF0
aXZlV2ViS2V5Ym9hcmRFdmVudChjb25zdCBFdmFzX0V2ZW50X0tleV9Eb3duKiwgYm9vbCk7Ci0g
ICAgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudChjb25zdCBFdmFzX0V2ZW50X0tleV9VcCopOwogI2Vs
aWYgUExBVEZPUk0oSU9TKQogICAgIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQoOjpXZWJFdmVudCAq
KTsKICNlbmRpZgpAQCAtNzcsOSArNzAsNiBAQCBwdWJsaWM6CiAgICAgR2RrRXZlbnQqIG5hdGl2
ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9uYXRpdmVFdmVudC5nZXQoKTsgfQogICAgIGNvbnN0
IFdlYkNvcmU6OkNvbXBvc2l0aW9uUmVzdWx0cyYgY29tcG9zaXRpb25SZXN1bHRzKCkgY29uc3Qg
IHsgcmV0dXJuIG1fY29tcG9zaXRpb25SZXN1bHRzOyB9CiAgICAgYm9vbCBpc0Zha2VFdmVudEZv
ckNvbXBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9mYWtlRXZlbnRGb3JDb21wb3NpdGlvbjsg
fQotI2VsaWYgUExBVEZPUk0oRUZMKQotICAgIGNvbnN0IHZvaWQqIG5hdGl2ZUV2ZW50KCkgY29u
c3QgeyByZXR1cm4gbV9uYXRpdmVFdmVudDsgfQotICAgIGJvb2wgaXNGaWx0ZXJlZCgpIGNvbnN0
IHsgcmV0dXJuIG1faXNGaWx0ZXJlZDsgfQogI2VsaWYgUExBVEZPUk0oSU9TKQogICAgIDo6V2Vi
RXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9uYXRpdmVFdmVudC5nZXQoKTsg
fQogI2VuZGlmCkBAIC05MSw5ICs4MSw2IEBAIHByaXZhdGU6CiAgICAgR1VuaXF1ZVB0cjxHZGtF
dmVudD4gbV9uYXRpdmVFdmVudDsKICAgICBXZWJDb3JlOjpDb21wb3NpdGlvblJlc3VsdHMgbV9j
b21wb3NpdGlvblJlc3VsdHM7CiAgICAgYm9vbCBtX2Zha2VFdmVudEZvckNvbXBvc2l0aW9uOwot
I2VsaWYgUExBVEZPUk0oRUZMKQotICAgIGNvbnN0IHZvaWQqIG1fbmF0aXZlRXZlbnQ7Ci0gICAg
Ym9vbCBtX2lzRmlsdGVyZWQ7CiAjZWxpZiBQTEFURk9STShJT1MpCiAgICAgUmV0YWluUHRyPDo6
V2ViRXZlbnQ+IG1fbmF0aXZlRXZlbnQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
TmF0aXZlV2ViTW91c2VFdmVudC5oCmluZGV4IGE0Zjk1YzJhZjU0ZDA3ZGNkNDA1YzE0ZjVjZjZi
Y2M1YzQ5OTNmZjguLjg4Y2QxNDEwOTM4YTc1ZDIxNDQ0Yjc5Y2RiNWE0ZTRhMzdjMWRmYjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaApAQCAtMzMsMTIg
KzMzLDYgQEAKIE9CSkNfQ0xBU1MgTlNWaWV3OwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShFRkwp
Ci0jaW5jbHVkZSAiV2ViRXZlbnRGYWN0b3J5LmgiCi0jaW5jbHVkZSA8RXZhcy5oPgotI2luY2x1
ZGUgPFdlYkNvcmUvQWZmaW5lVHJhbnNmb3JtLmg+Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKEdU
SykKICNpbmNsdWRlIDxXZWJDb3JlL0dVbmlxdWVQdHJHdGsuaD4KIHR5cGVkZWYgdW5pb24gX0dk
a0V2ZW50IEdka0V2ZW50OwpAQCAtNTMsMTcgKzQ3LDEyIEBAIHB1YmxpYzoKICNlbGlmIFBMQVRG
T1JNKEdUSykKICAgICBOYXRpdmVXZWJNb3VzZUV2ZW50KGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZl
bnQmKTsKICAgICBOYXRpdmVXZWJNb3VzZUV2ZW50KEdka0V2ZW50KiwgaW50KTsKLSNlbGlmIFBM
QVRGT1JNKEVGTCkKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgRXZhc0V2ZW50TW91c2U+Ci0gICAg
TmF0aXZlV2ViTW91c2VFdmVudChjb25zdCBFdmFzRXZlbnRNb3VzZSosIGNvbnN0IFdlYkNvcmU6
OkFmZmluZVRyYW5zZm9ybSYsIGNvbnN0IFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSYpOwogI2Vu
ZGlmCiAKICNpZiBVU0UoQVBQS0lUKQogICAgIE5TRXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9uYXRpdmVFdmVudC5nZXQoKTsgfQogI2VsaWYgUExBVEZPUk0oR1RLKQogICAg
IGNvbnN0IEdka0V2ZW50KiBuYXRpdmVFdmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZlRXZl
bnQuZ2V0KCk7IH0KLSNlbGlmIFBMQVRGT1JNKEVGTCkKLSAgICBjb25zdCB2b2lkKiBuYXRpdmVF
dmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZlRXZlbnQ7IH0KICNlbGlmIFBMQVRGT1JNKElP
UykKICAgICBjb25zdCB2b2lkKiBuYXRpdmVFdmVudCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KICNl
bmRpZgpAQCAtNzMsMjAgKzYyLDkgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8TlNFdmVudD4g
bV9uYXRpdmVFdmVudDsKICNlbGlmIFBMQVRGT1JNKEdUSykKICAgICBHVW5pcXVlUHRyPEdka0V2
ZW50PiBtX25hdGl2ZUV2ZW50OwotI2VsaWYgUExBVEZPUk0oRUZMKQotICAgIGNvbnN0IHZvaWQq
IG1fbmF0aXZlRXZlbnQ7CiAjZW5kaWYKIH07CiAKLSNpZiBQTEFURk9STShFRkwpCi10ZW1wbGF0
ZSA8dHlwZW5hbWUgRXZhc0V2ZW50TW91c2U+Ci1OYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVX
ZWJNb3VzZUV2ZW50KGNvbnN0IEV2YXNFdmVudE1vdXNlKiBldmVudCwgY29uc3QgV2ViQ29yZTo6
QWZmaW5lVHJhbnNmb3JtJiB0b1dlYkNvbnRlbnQsIGNvbnN0IFdlYkNvcmU6OkFmZmluZVRyYW5z
Zm9ybSYgdG9EZXZpY2VTY3JlZW4pCi0gICAgOiBXZWJNb3VzZUV2ZW50KFdlYkV2ZW50RmFjdG9y
eTo6Y3JlYXRlV2ViTW91c2VFdmVudChldmVudCwgdG9XZWJDb250ZW50LCB0b0RldmljZVNjcmVl
bikpCi0gICAgLCBtX25hdGl2ZUV2ZW50KGV2ZW50KQotewotfQotI2VuZGlmCi0KIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gTmF0aXZlV2ViTW91c2VFdmVudF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2ViVG91Y2hFdmVudC5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYlRvdWNoRXZlbnQuaAppbmRleCA0YWRkNmI1MjdmOTcz
MmFlMmI5ZjFiYjUzOGJlZWY3ZDY0ZTY1NGE4Li4xMTgxMjRjZGViY2MxZjNjOWVmYTMzZmY2ZDY4
NzBjOGY0MTZhMmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2Vi
VG91Y2hFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJUb3VjaEV2
ZW50LmgKQEAgLTM0LDEwICszNCw2IEBACiBzdHJ1Y3QgX1VJV2ViVG91Y2hFdmVudDsKICNlbGlm
IFBMQVRGT1JNKEdUSykKICNpbmNsdWRlIDxXZWJDb3JlL0dVbmlxdWVQdHJHdGsuaD4KLSNlbGlm
IFBMQVRGT1JNKEVGTCkKLSNpbmNsdWRlICJFd2tUb3VjaEV2ZW50LmgiCi0jaW5jbHVkZSA8V2Vi
Q29yZS9BZmZpbmVUcmFuc2Zvcm0uaD4KLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjZW5kaWYK
IAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01MCw5ICs0Niw2IEBAIHB1YmxpYzoKICAgICBOYXRp
dmVXZWJUb3VjaEV2ZW50KEdka0V2ZW50KiwgVmVjdG9yPFdlYlBsYXRmb3JtVG91Y2hQb2ludD4m
Jik7CiAgICAgTmF0aXZlV2ViVG91Y2hFdmVudChjb25zdCBOYXRpdmVXZWJUb3VjaEV2ZW50Jik7
CiAgICAgY29uc3QgR2RrRXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9uYXRp
dmVFdmVudC5nZXQoKTsgfQotI2VsaWYgUExBVEZPUk0oRUZMKQotICAgIE5hdGl2ZVdlYlRvdWNo
RXZlbnQoRXdrVG91Y2hFdmVudCosIGNvbnN0IFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSYpOwot
ICAgIGNvbnN0IEV3a1RvdWNoRXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9u
YXRpdmVFdmVudC5nZXQoKTsgfQogI2VuZGlmCiAKIHByaXZhdGU6CkBAIC02Miw4ICs1NSw2IEBA
IHByaXZhdGU6CiAKICNpZiBQTEFURk9STShHVEspCiAgICAgR1VuaXF1ZVB0cjxHZGtFdmVudD4g
bV9uYXRpdmVFdmVudDsKLSNlbGlmIFBMQVRGT1JNKEVGTCkKLSAgICBSZWZQdHI8RXdrVG91Y2hF
dmVudD4gbV9uYXRpdmVFdmVudDsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL05hdGl2ZVdlYldoZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9OYXRpdmVXZWJXaGVlbEV2ZW50LmgKaW5kZXggMTUzMzIyMjFkYzQyMWE1OTI4ZDJlZTEwM2Jj
MjM3ZDQzZTg1MDAyOS4uNWRiMGJjZThmZWJmNzIxMmUwZTI0ODcyOTBkNzJhMDM1ZDNlMDJhMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYldoZWVsRXZlbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2ViV2hlZWxFdmVudC5oCkBAIC0zMywx
MSArMzMsNiBAQAogT0JKQ19DTEFTUyBOU1ZpZXc7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEVG
TCkKLSNpbmNsdWRlIDxFdmFzLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9BZmZpbmVUcmFuc2Zvcm0u
aD4KLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oR1RLKQogI2luY2x1ZGUgPFdlYkNvcmUvR1VuaXF1
ZVB0ckd0ay5oPgogdHlwZWRlZiB1bmlvbiBfR2RrRXZlbnQgR2RrRXZlbnQ7CkBAIC01MiwxNiAr
NDcsMTIgQEAgcHVibGljOgogI2VsaWYgUExBVEZPUk0oR1RLKQogICAgIE5hdGl2ZVdlYldoZWVs
RXZlbnQoY29uc3QgTmF0aXZlV2ViV2hlZWxFdmVudCYpOwogICAgIE5hdGl2ZVdlYldoZWVsRXZl
bnQoR2RrRXZlbnQqKTsKLSNlbGlmIFBMQVRGT1JNKEVGTCkKLSAgICBOYXRpdmVXZWJXaGVlbEV2
ZW50KGNvbnN0IEV2YXNfRXZlbnRfTW91c2VfV2hlZWwqLCBjb25zdCBXZWJDb3JlOjpBZmZpbmVU
cmFuc2Zvcm0mIHRvV2ViQ29udGVudCwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJiB0
b0RldmljZVNjcmVlbik7CiAjZW5kaWYKIAogI2lmIFVTRShBUFBLSVQpCiAgICAgTlNFdmVudCog
bmF0aXZlRXZlbnQoKSBjb25zdCB7IHJldHVybiBtX25hdGl2ZUV2ZW50LmdldCgpOyB9CiAjZWxp
ZiBQTEFURk9STShHVEspCiAgICAgR2RrRXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1
cm4gbV9uYXRpdmVFdmVudC5nZXQoKTsgfQotI2VsaWYgUExBVEZPUk0oRUZMKQotICAgIGNvbnN0
IEV2YXNfRXZlbnRfTW91c2VfV2hlZWwqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9u
YXRpdmVFdmVudDsgfQogI2VsaWYgUExBVEZPUk0oSU9TKQogICAgIGNvbnN0IHZvaWQqIG5hdGl2
ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gMDsgfQogI2VuZGlmCkBAIC03MSw4ICs2Miw2IEBAIHBy
aXZhdGU6CiAgICAgUmV0YWluUHRyPE5TRXZlbnQ+IG1fbmF0aXZlRXZlbnQ7CiAjZWxpZiBQTEFU
Rk9STShHVEspCiAgICAgR1VuaXF1ZVB0cjxHZGtFdmVudD4gbV9uYXRpdmVFdmVudDsKLSNlbGlm
IFBMQVRGT1JNKEVGTCkKLSAgICBjb25zdCBFdmFzX0V2ZW50X01vdXNlX1doZWVsKiBtX25hdGl2
ZUV2ZW50OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5Nb2R1bGVYMTEuY3BwIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luTW9kdWxl
WDExLmNwcAppbmRleCBhY2ZjZjAwMjMzODRhMjliZmE3NGIyNGJmZGNkMGZhMjg0ZjliMWNkLi5h
MWEwZWQ5ZWM0OWJiZDNmMDZiNmFlZmVlNTQyZGRjNGRjYTQ4MmY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5Nb2R1
bGVYMTEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL3gx
MS9OZXRzY2FwZVBsdWdpbk1vZHVsZVgxMS5jcHAKQEAgLTE4Niw5ICsxODYsNiBAQCB2b2lkIE5l
dHNjYXBlUGx1Z2luTW9kdWxlOjpkZXRlcm1pbmVRdWlya3MoKQogI2lmIENQVShYODZfNjQpCiAg
ICAgICAgICAgICBtX3BsdWdpblF1aXJrcy5hZGQoUGx1Z2luUXVpcmtzOjpJZ25vcmVSaWdodENs
aWNrSW5XaW5kb3dsZXNzTW9kZSk7CiAjZW5kaWYKLSNpZiBQTEFURk9STShFRkwpCi0gICAgICAg
ICAgICBtX3BsdWdpblF1aXJrcy5hZGQoUGx1Z2luUXVpcmtzOjpGb3JjZUZsYXNoV2luZG93bGVz
c01vZGUpOwotI2VuZGlmCiAgICAgICAgICAgICBtX3BsdWdpblF1aXJrcy5hZGQoUGx1Z2luUXVp
cmtzOjpEb05vdENhbmNlbFNyY1N0cmVhbUluV2luZG93ZWRNb2RlKTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXNEZWZpbml0aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzRGVmaW5pdGlvbnMuaAppbmRleCBhNDg1NDVkYjYxMjZhMDFmOTdmNGIwYmViZWM0NTkxNjI5
MTQzMDg1Li44NDZhMDhmYWRmMzVkYTJmYmMwNTljYzExYmQ1MTVmNWUzMTFjZjIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAg
LTMxLDEyICszMSw2IEBACiAjZGVmaW5lIERFRkFVTFRfV0VCS0lUX1RBQlNUT0xJTktTX0VOQUJM
RUQgZmFsc2UKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oRUZMKQotI2RlZmluZSBERUZBVUxUX1NF
TEVDVElPTl9QQUlOVElOR19XSVRIT1VUX1NFTEVDVElPTl9HQVBTX0VOQUJMRUQgdHJ1ZQotI2Vs
c2UKLSNkZWZpbmUgREVGQVVMVF9TRUxFQ1RJT05fUEFJTlRJTkdfV0lUSE9VVF9TRUxFQ1RJT05f
R0FQU19FTkFCTEVEIGZhbHNlCi0jZW5kaWYKLQogI2lmIEVOQUJMRShTTU9PVEhfU0NST0xMSU5H
KQogI2RlZmluZSBERUZBVUxUX1dFQktJVF9TQ1JPTExfQU5JTUFUT1JfRU5BQkxFRCB0cnVlCiAj
ZWxzZQpAQCAtMjMzLDcgKzIyNyw3IEBACiAgICAgbWFjcm8oU2hhZG93RE9NRW5hYmxlZCwgc2hh
ZG93RE9NRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIlNoYWRvdyBET00iLCAiSFRNTCBTaGFk
b3cgRE9NIHByb3RvdHlwZSIpIFwKICAgICBtYWNybyhGZXRjaEFQSUVuYWJsZWQsIGZldGNoQVBJ
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCiAgICAgbWFjcm8oRG93bmxvYWRB
dHRyaWJ1dGVFbmFibGVkLCBkb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRy
dWUsICIiLCAiIikgXAotICAgIG1hY3JvKFNlbGVjdGlvblBhaW50aW5nV2l0aG91dFNlbGVjdGlv
bkdhcHNFbmFibGVkLCBzZWxlY3Rpb25QYWludGluZ1dpdGhvdXRTZWxlY3Rpb25HYXBzRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9TRUxFQ1RJT05fUEFJTlRJTkdfV0lUSE9VVF9TRUxFQ1RJ
T05fR0FQU19FTkFCTEVELCAiIiwgIiIpIFwKKyAgICBtYWNybyhTZWxlY3Rpb25QYWludGluZ1dp
dGhvdXRTZWxlY3Rpb25HYXBzRW5hYmxlZCwgc2VsZWN0aW9uUGFpbnRpbmdXaXRob3V0U2VsZWN0
aW9uR2Fwc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKICAgICBtYWNybyhB
cHBsZVBheUVuYWJsZWQsIGFwcGxlUGF5RW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAi
IikgXAogICAgIG1hY3JvKEFwcGxlUGF5Q2FwYWJpbGl0eURpc2Nsb3N1cmVBbGxvd2VkLCBhcHBs
ZVBheUNhcGFiaWxpdHlEaXNjbG9zdXJlQWxsb3dlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIi
KSBcCiAgICAgbWFjcm8oVmlzdWFsVmlld3BvcnRFbmFibGVkLCB2aXN1YWxWaWV3cG9ydEVuYWJs
ZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXApAQCAtMzQ1LDcgKzMzOSw3IEBACiAgICAg
bWFjcm8oUGljdG9ncmFwaEZvbnRGYW1pbHksIHBpY3RvZ3JhcGhGb250RmFtaWx5LCBTdHJpbmcs
IFN0cmluZywgIkFwcGxlIENvbG9yIEVtb2ppIiwgIiIsICIiKSBcCiAgICAgXAogCi0jZWxpZiBQ
TEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKKyNlbGlmIFBMQVRGT1JNKEdUSykKIAogI2Rl
ZmluZSBGT1JfRUFDSF9XRUJLSVRfRk9OVF9GQU1JTFlfUFJFRkVSRU5DRShtYWNybykgXAogICAg
IG1hY3JvKFN0YW5kYXJkRm9udEZhbWlseSwgc3RhbmRhcmRGb250RmFtaWx5LCBTdHJpbmcsIFN0
cmluZywgIlRpbWVzIiwgIiIsICIiKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmNwcAppbmRleCAwMTU1NTMzNDIyMmY5ODc4YzAz
YzBjM2QwNTU4MGQzODI0Mjg0ZGZmLi41Yzc4Y2NkN2FlMjkwZTQ1ZTcwZjQ4M2Y1MDIwYmRhYTc5
MDRmNzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNp
dGVEYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vi
c2l0ZURhdGFTdG9yZS5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3Jl
OjpyZWdpc3RlclNoYXJlZFJlc291cmNlTG9hZE9ic2VydmVyKCkKICAgICBtX3dlYnNpdGVEYXRh
U3RvcmUtPnJlZ2lzdGVyU2hhcmVkUmVzb3VyY2VMb2FkT2JzZXJ2ZXIoKTsKIH0KICAgICAKLSNp
ZiAhUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShFRkwpICYmICFQTEFURk9STShHVEspCisj
aWYgIVBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0oR1RLKQogV2ViS2l0OjpXZWJzaXRlRGF0
YVN0b3JlOjpDb25maWd1cmF0aW9uIFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHREYXRhU3RvcmVD
b25maWd1cmF0aW9uKCkKIHsKICAgICAvLyBGSVhNRTogRmlsbCBldmVyeXRoaW5nIGluLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCmluZGV4IDc5NDZjYWNjZjc4
NDQxZTI1MGJmNzRiMDVmYzgzYTgxNjg4ODE0NzcuLjM5MmEzNDJiNDQzNzM2YTMwMjlhYzAyMzUw
YzljZDk1Yjc2NTRiNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS0FQSUNhc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElD
YXN0LmgKQEAgLTU1Nyw4ICs1NTcsNCBAQCBpbmxpbmUgUHJveHlpbmdSZWZQdHI8V2ViR3JhbW1h
ckRldGFpbD4gdG9BUEkoY29uc3QgV2ViQ29yZTo6R3JhbW1hckRldGFpbCYgZ3JhbQogI2luY2x1
ZGUgIldLQVBJQ2FzdEd0ay5oIgogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKEJVSUxESU5HX0VGTF9f
KQotI2luY2x1ZGUgIldLQVBJQ2FzdEVmbC5oIgotI2VuZGlmCi0KICNlbmRpZiAvLyBXS0FQSUNh
c3RfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLVGV4dENo
ZWNrZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLVGV4dENoZWNrZXIu
Y3BwCmluZGV4IGM4ZWFiYWMxMDBjNGFkNGNmMmIyNTZjZTc2ODgzNDhhYjdiODhmMDEuLmM4ZTc1
NjBiMTc1NjFhMjVlNDJiYTE5YzY5Y2E2YjBjNGJjNTliZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1RleHRDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tUZXh0Q2hlY2tlci5jcHAKQEAgLTI3LDcgKzI3LDcgQEAK
ICNpbmNsdWRlICJXS1RleHRDaGVja2VyLmgiCiAjaW5jbHVkZSAiVGV4dENoZWNrZXIuaCIKIAot
I2lmIGRlZmluZWQoQlVJTERJTkdfRUZMX18pIHx8IGRlZmluZWQoQlVJTERJTkdfR1RLX18pCisj
aWYgZGVmaW5lZChCVUlMRElOR19HVEtfXykKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKICNpbmNs
dWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJUZXh0Q2hlY2tlci5oIgpAQCAtNDAs
NyArNDAsNyBAQCB2b2lkIFdLVGV4dENoZWNrZXJTZXRUZXN0aW5nTW9kZShib29sIGVuYWJsZWQp
CiAgICAgVGV4dENoZWNrZXI6OnNldFRlc3RpbmdNb2RlKGVuYWJsZWQpOwogfQogCi0jaWYgZGVm
aW5lZChCVUlMRElOR19FRkxfXykgfHwgZGVmaW5lZChCVUlMRElOR19HVEtfXykKKyNpZiBkZWZp
bmVkKEJVSUxESU5HX0dUS19fKQogCiB2b2lkIFdLVGV4dENoZWNrZXJTZXRDbGllbnQoY29uc3Qg
V0tUZXh0Q2hlY2tlckNsaWVudEJhc2UqIHdrQ2xpZW50KQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLVGV4dENoZWNrZXIuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1RleHRDaGVja2VyLmgKaW5kZXggZTJjNDY3NWU0ZWIyYTM3ZmU2
MjEwNmFkYmUzYjk2MGU3ZTY0ODVlMy4uZjUyZDljNzAwMWViNzllMjgzNjAzZjE5ZjY2MDg1NTUw
ZDNjYTNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLVGV4
dENoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tUZXh0Q2hl
Y2tlci5oCkBAIC0zNCw3ICszNCw3IEBAIGV4dGVybiAiQyIgewogCiBXS19FWFBPUlQgdm9pZCBX
S1RleHRDaGVja2VyU2V0VGVzdGluZ01vZGUoYm9vbCBlbmFibGVkKTsKIAotI2lmIGRlZmluZWQo
QlVJTERJTkdfRUZMX18pIHx8IGRlZmluZWQoQlVJTERJTkdfR1RLX18pCisjaWYgZGVmaW5lZChC
VUlMRElOR19HVEtfXykKIAogLy8gVGV4dENoZWNrZXIgQ2xpZW50CiB0eXBlZGVmIGJvb2wgKCpX
S1RleHRDaGVja2VyQ29udGlub3VzU3BlbGxDaGVja2luZ0FsbG93ZWQpKGNvbnN0IHZvaWQgKmNs
aWVudEluZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJv
Y2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94
eS5jcHAKaW5kZXggZDU4ODcwZTBkNzQ0OGQ5M2E3ZTJiZmM1MmUzODAxMGM5NTEyY2ExMi4uZGQ4
YWVmNTUwYWE2NmMyMzk1ODNmODgyOTM4MjM0MjRjY2IzOWRjNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZv
aWQgQ2hpbGRQcm9jZXNzUHJveHk6OmdldExhdW5jaE9wdGlvbnMoUHJvY2Vzc0xhdW5jaGVyOjpM
YXVuY2hPcHRpb25zJiBsYXVuY2hPCiAgICAgaWYgKG1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFBy
aW9yaXR5KQogICAgICAgICBsYXVuY2hPcHRpb25zLmV4dHJhSW5pdGlhbGl6YXRpb25EYXRhLmFk
ZChBU0NJSUxpdGVyYWwoImFsd2F5cy1ydW5zLWF0LWJhY2tncm91bmQtcHJpb3JpdHkiKSwgInRy
dWUiKTsKIAotI2lmIEVOQUJMRShERVZFTE9QRVJfTU9ERSkgJiYgKFBMQVRGT1JNKEdUSykgfHwg
UExBVEZPUk0oRUZMKSkKKyNpZiBFTkFCTEUoREVWRUxPUEVSX01PREUpICYmIFBMQVRGT1JNKEdU
SykKICAgICBjb25zdCBjaGFyKiB2YXJuYW1lOwogICAgIHN3aXRjaCAobGF1bmNoT3B0aW9ucy5w
cm9jZXNzVHlwZSkgewogICAgIGNhc2UgUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6V2Vi
OgpAQCAtNzksNyArNzksNyBAQCB2b2lkIENoaWxkUHJvY2Vzc1Byb3h5OjpnZXRMYXVuY2hPcHRp
b25zKFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9ucyYgbGF1bmNoTwogICAgIGNvbnN0IGNo
YXIqIHByb2Nlc3NDbWRQcmVmaXggPSBnZXRlbnYodmFybmFtZSk7CiAgICAgaWYgKHByb2Nlc3ND
bWRQcmVmaXggJiYgKnByb2Nlc3NDbWRQcmVmaXgpCiAgICAgICAgIGxhdW5jaE9wdGlvbnMucHJv
Y2Vzc0NtZFByZWZpeCA9IFN0cmluZzo6ZnJvbVVURjgocHJvY2Vzc0NtZFByZWZpeCk7Ci0jZW5k
aWYgLy8gIWRlZmluZWQoTkRFQlVHKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwp
CisjZW5kaWYgLy8gRU5BQkxFKERFVkVMT1BFUl9NT0RFKSAmJiBQTEFURk9STShHVEspCiB9CiAK
IHZvaWQgQ2hpbGRQcm9jZXNzUHJveHk6OmNvbm5lY3QoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvUGFnZVZpZXdwb3J0Q29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9QYWdl
Vmlld3BvcnRDb250cm9sbGVyLmNwcAppbmRleCBlOGZmN2Q1YmMyZGQ2YzBlNDhiMDdmY2FhMDcz
NGU0ZDQ2ZTY2ZTY3Li44OTQ4OGUzOWYzY2IwOTEzMWFmMDQyNjkyNjg1ZWI1NjBjY2Y4Yjc5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Q
YWdlVmlld3BvcnRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcApAQCAtODYsMjUg
Kzg2LDYgQEAgc3RhdGljIGlubGluZSBib29sIGlzSW50ZWdyYWwoZmxvYXQgdmFsdWUpCiAKIEZs
b2F0UG9pbnQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6cGl4ZWxBbGlnbmVkRmxvYXRQb2ludChj
b25zdCBGbG9hdFBvaW50JiBmcmFtZVBvc2l0aW9uKQogewotI2lmIFBMQVRGT1JNKEVGTCkKLSAg
ICBmbG9hdCBlZmZlY3RpdmVTY2FsZSA9IG1fcGFnZVNjYWxlRmFjdG9yICogZGV2aWNlU2NhbGVG
YWN0b3IoKTsKLSAgICBpZiAoIWlzSW50ZWdyYWwoZWZmZWN0aXZlU2NhbGUpKSB7Ci0gICAgICAg
IC8vIFRvIGF2b2lkIGJsdXJyeW5lc3MsIG1vZGlmeSB0aGUgcG9zaXRpb24gc28gdGhhdCBpdCBt
YXBzIGludG8gYSBkaXNjcmV0ZSBkZXZpY2UgcG9zaXRpb24uCi0gICAgICAgIEZsb2F0UG9pbnQg
c2NhbGVkUG9zKGZyYW1lUG9zaXRpb24pOwotCi0gICAgICAgIC8vIFNjYWxlIGJ5IHRoZSBlZmZl
Y3RpdmUgc2NhbGUgZmFjdG9yIHRvIGNvbXB1dGUgdGhlIHNjcmVlbi1yZWxhdGl2ZSBwb3NpdGlv
bi4KLSAgICAgICAgc2NhbGVkUG9zLnNjYWxlKGVmZmVjdGl2ZVNjYWxlLCBlZmZlY3RpdmVTY2Fs
ZSk7Ci0KLSAgICAgICAgLy8gUm91bmQgdG8gaW50ZWdlciBib3VuZGFyaWVzLgotICAgICAgICBG
bG9hdFBvaW50IGFsaWduZWRQb3MgPSByb3VuZGVkSW50UG9pbnQoc2NhbGVkUG9zKTsKLQotICAg
ICAgICAvLyBDb252ZXJ0IGJhY2sgdG8gQ1NTIGNvb3JkaW5hdGVzLgotICAgICAgICBhbGlnbmVk
UG9zLnNjYWxlKDEgLyBlZmZlY3RpdmVTY2FsZSwgMSAvIGVmZmVjdGl2ZVNjYWxlKTsKLQotICAg
ICAgICByZXR1cm4gYWxpZ25lZFBvczsKLSAgICB9Ci0jZW5kaWYKLQogICAgIHJldHVybiBmcmFt
ZVBvc2l0aW9uOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvSW5z
cGVjdG9yU2VydmVyL1dlYkluc3BlY3RvclNlcnZlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0luc3BlY3RvclNlcnZlci9XZWJJbnNwZWN0b3JTZXJ2ZXIuaAppbmRleCBlN2VlMmRhNmI4
ZTcyYTg0NjdkNTY1YzEzODVlMjlmZDAyYTFmNzliLi45MzlhN2UyMWI3OGZhNTFlY2M1ZjNhNjZk
NGI5MzkzNjQ0N2UxMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvSW5z
cGVjdG9yU2VydmVyL1dlYkluc3BlY3RvclNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9JbnNwZWN0b3JTZXJ2ZXIvV2ViSW5zcGVjdG9yU2VydmVyLmgKQEAgLTYwLDcgKzYw
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZENsb3NlV2ViU29ja2V0Q29ubmVjdGlvbihXZWJT
b2NrZXRTZXJ2ZXJDb25uZWN0aW9uKikgZmluYWw7CiAKICAgICBib29sIHBsYXRmb3JtUmVzb3Vy
Y2VGb3JQYXRoKGNvbnN0IFN0cmluZyYgcGF0aCwgVmVjdG9yPGNoYXI+JiBkYXRhLCBTdHJpbmcm
IGNvbnRlbnRUeXBlKTsKLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKKyNpZiBQ
TEFURk9STShHVEspCiAgICAgdm9pZCBidWlsZFBhZ2VMaXN0KFZlY3RvcjxjaGFyPiYgZGF0YSwg
U3RyaW5nJiBjb250ZW50VHlwZSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oCmluZGV4IGZlNjVjYjJiZDM5N2M0
NjQwZDE3NThkZDI5NjgyNDIwMWIxYWFjN2IuLjM5OTUwNjk0OGVmN2UzZmVmYTMxMTZmYjFiZjBj
N2ZlMzFiOGQ4NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hl
ci9Qcm9jZXNzTGF1bmNoZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNo
ZXIvUHJvY2Vzc0xhdW5jaGVyLmgKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAgICAgICBQ
cm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsKICAgICAgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4g
ZXh0cmFJbml0aWFsaXphdGlvbkRhdGE7CiAKLSNpZiBFTkFCTEUoREVWRUxPUEVSX01PREUpICYm
IChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpCisjaWYgRU5BQkxFKERFVkVMT1BFUl9N
T0RFKSAmJiBQTEFURk9STShHVEspCiAgICAgICAgIFN0cmluZyBwcm9jZXNzQ21kUHJlZml4Owog
I2VuZGlmCiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3
b3JrL0N1c3RvbVByb3RvY29scy9zb3VwL0N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5U291cC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291
cC9DdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eVNvdXAuY3BwCmluZGV4IDNmYjM0NWQ2MmQyOGMw
OTU1MDA4OTNiZjBmZThlMTkzMzc3ZmI4MzguLjc3MTlkMjg4ZTRkZjM0YzcwYzgxZjQwODJhZjNj
YjAyZjkwNTc3MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3Jr
L0N1c3RvbVByb3RvY29scy9zb3VwL0N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5U291cC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL3Nv
dXAvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlTb3VwLmNwcApAQCAtMjksOCArMjksNiBAQAog
CiAjaWYgUExBVEZPUk0oR1RLKQogI2luY2x1ZGUgPFdlYkNvcmUvRXJyb3JzR3RrLmg+Ci0jZWxp
ZiBQTEFURk9STShFRkwpCi0jaW5jbHVkZSA8V2ViQ29yZS9FcnJvcnNFZmwuaD4KICNlbmRpZgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmlu
ZGV4IDRhNTcyZGYwYmQzMGYzYjA0NWVmNTUwNWE4OWYzNTk1ZGI1MGVmYjguLmE1NDY3Zjk0Yjhh
OGZkY2NmYjJjZGNiYTMxMDVjZmJhMWMzNTYxZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaApAQCAtMTQ4LDEwICsxNDgsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JikgPSAwOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShFRkwpCi0gICAgdmly
dHVhbCB2b2lkIHVwZGF0ZVRleHRJbnB1dFN0YXRlKCkgPSAwOwotI2VuZGlmIC8vIFBMQVRGT1JN
KEVGTCkKLQogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVEb3dubG9hZFJlcXVlc3QoRG93bmxvYWRQ
cm94eSopID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFn
ZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyosIFdlYk9w
ZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKSB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvdW5peC9QbHVnaW5Qcm9jZXNzUHJv
eHlVbml4LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3VuaXgvUGx1Z2lu
UHJvY2Vzc1Byb3h5VW5peC5jcHAKaW5kZXggYTZjNTJmOGI0ZWJhNzUwZmJiYTJjNWNkOWE4ZGJi
YjVmOTA1MjU5NC4uNzBiYjEyNTdlZmIyNmI3ZjU3Y2FiZjY0MzY5YmQ3M2E1MmY4ZGYxMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvdW5peC9QbHVnaW5Qcm9j
ZXNzUHJveHlVbml4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy91
bml4L1BsdWdpblByb2Nlc3NQcm94eVVuaXguY3BwCkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVk
ZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
Ci0jaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjaWYgUExBVEZPUk0oR1RLKQog
I2luY2x1ZGUgPGdsaWIuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAjZW5k
aWYKQEAgLTc4LDcgKzc4LDcgQEAgc3RhdGljIGJvb2wgcGx1Z2luUmVxdWlyZXNHdGsyKGNvbnN0
IFN0cmluZyYgcGx1Z2luUGF0aCkKICNpZiBQTFVHSU5fQVJDSElURUNUVVJFKFgxMSkKIGJvb2wg
UGx1Z2luUHJvY2Vzc1Byb3h5OjpzY2FuUGx1Z2luKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwg
UmF3UGx1Z2luTWV0YURhdGEmIHJlc3VsdCkKIHsKLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRG
T1JNKEVGTCkKKyNpZiBQTEFURk9STShHVEspCiAgICAgU3RyaW5nIHBsdWdpblByb2Nlc3NQYXRo
ID0gZXhlY3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MoKTsKIAogI2lmIFBMQVRGT1JNKEdUSykK
QEAgLTE0OSw5ICsxNDksOSBAQCBib29sIFBsdWdpblByb2Nlc3NQcm94eTo6c2NhblBsdWdpbihj
b25zdCBTdHJpbmcmIHBsdWdpblBhdGgsIFJhd1BsdWdpbk1ldGFEYXRhJgogICAgIHJlc3VsdC5y
ZXF1aXJlc0d0azIgPSByZXF1aXJlc0d0azI7CiAjZW5kaWYKICAgICByZXR1cm4gIXJlc3VsdC5t
aW1lRGVzY3JpcHRpb24uaXNFbXB0eSgpOwotI2Vsc2UgLy8gUExBVEZPUk0oR1RLKSB8fCBQTEFU
Rk9STShFRkwpCisjZWxzZSAvLyBQTEFURk9STShHVEspCiAgICAgcmV0dXJuIGZhbHNlOwotI2Vu
ZGlmIC8vIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQorI2VuZGlmIC8vIFBMQVRGT1JN
KEdUSykKIH0KICNlbmRpZiAvLyBQTFVHSU5fQVJDSElURUNUVVJFKFgxMSkKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAppbmRleCA3ZjQxM2FiZTRlNTgx
OWM1Zjk4ZGY1NjQ3MDlhMmFhNTk4OWViNmNhLi44MjZjOThhNGMzNTMxMjBiY2EzYTgxOTU2ZmZi
MWEyNjlmY2EyNjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9y
UHJveHkuaApAQCAtNTMsMTEgKzUzLDYgQEAgT0JKQ19DTEFTUyBXS1dlYlZpZXdDb25maWd1cmF0
aW9uOwogI2luY2x1ZGUgIldlYkluc3BlY3RvckNsaWVudEd0ay5oIgogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShFRkwpCi0jaW5jbHVkZSA8RWNvcmVfRXZhcy5oPgotI2luY2x1ZGUgPEV2YXMuaD4K
LSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBVUkw7CiB9CkBAIC0yMjcsMTEg
KzIyMiw4IEBAIHByaXZhdGU6CiAKICAgICBXZWJQcmVmZXJlbmNlcyYgaW5zcGVjdG9yUGFnZVBy
ZWZlcmVuY2VzKCkgY29uc3Q7CiAKLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkK
LSAgICB2b2lkIGNyZWF0ZUluc3BlY3RvcldpbmRvdygpOwotI2VuZGlmCi0KICNpZiBQTEFURk9S
TShHVEspCisgICAgdm9pZCBjcmVhdGVJbnNwZWN0b3JXaW5kb3coKTsKICAgICB2b2lkIHVwZGF0
ZUluc3BlY3RvcldpbmRvd1RpdGxlKCkgY29uc3Q7CiAjZW5kaWYKIApAQCAtMjY1LDkgKzI1Nyw2
IEBAIHByaXZhdGU6CiAgICAgR3RrV2lkZ2V0KiBtX2luc3BlY3RvcldpbmRvdyB7IG51bGxwdHIg
fTsKICAgICBHdGtXaWRnZXQqIG1faGVhZGVyQmFyIHsgbnVsbHB0ciB9OwogICAgIFN0cmluZyBt
X2luc3BlY3RlZFVSTFN0cmluZzsKLSNlbGlmIFBMQVRGT1JNKEVGTCkKLSAgICBFdmFzX09iamVj
dCogbV9pbnNwZWN0b3JWaWV3IHsgbnVsbHB0ciB9OwotICAgIEVjb3JlX0V2YXMqIG1faW5zcGVj
dG9yV2luZG93IHsgbnVsbHB0ciB9OwogI2VuZGlmCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9TRVJW
RVIpCiAgICAgaW50IG1fcmVtb3RlSW5zcGVjdGlvblBhZ2VJZCB7IDAgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA3M2E3ZmU4Y2NlYjU5MDk3MjNiMTczNzQ5
ZmNkZTc3NGE2OGE3NjNjLi5lYTczMGQwOWQwYmE4ZDVkMmVlNzRiNTUzMzAzNWI2YzcxYmQ0M2M4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC01NjksOSArNTY5
LDYgQEAgcHVibGljOgogICAgIHZvaWQgZGlkUmVuZGVyRnJhbWUoY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYgY29udGVudHNTaXplLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjb3ZlcmVkUmVjdCk7
CiAgICAgdm9pZCBjb21taXRQYWdlVHJhbnNpdGlvblZpZXdwb3J0KCk7CiAjZW5kaWYKLSNpZiBQ
TEFURk9STShFRkwpCi0gICAgdm9pZCBzZXRUaGVtZVBhdGgoY29uc3QgU3RyaW5nJik7Ci0jZW5k
aWYKIAogI2lmIFBMQVRGT1JNKEdUSykKICAgICB2b2lkIHNldENvbXBvc2l0aW9uKGNvbnN0IFN0
cmluZyYgdGV4dCwgVmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxp
bmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwgdWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1aW50
NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQp
OwpAQCAtNjMwLDEzICs2MjcsNiBAQCBwdWJsaWM6CiAgICAgQ0dSZWN0IGJvdW5kc09mTGF5ZXJJ
bkxheWVyQmFja2VkV2luZG93Q29vcmRpbmF0ZXMoQ0FMYXllciAqKSBjb25zdDsKICNlbmRpZiAv
LyBQTEFURk9STShNQUMpCiAKLSNpZiBQTEFURk9STShFRkwpCi0gICAgdm9pZCBoYW5kbGVJbnB1
dE1ldGhvZEtleWRvd24oYm9vbCYgaGFuZGxlZCk7Ci0gICAgdm9pZCBjb25maXJtQ29tcG9zaXRp
b24oY29uc3QgU3RyaW5nJik7Ci0gICAgdm9pZCBzZXRDb21wb3NpdGlvbihjb25zdCBTdHJpbmcm
LCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+JiwgaW50KTsKLSAgICB2b2lk
IGNhbmNlbENvbXBvc2l0aW9uKCk7Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKEdUSykKICAgICBQ
bGF0Zm9ybVdpZGdldCB2aWV3V2lkZ2V0KCk7CiAgICAgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGJh
Y2tncm91bmRDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3VuZENvbG9yOyB9CkBAIC0x
MTE0LDEyICsxMTA0LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Rm9vdGVyQmFubmVySGVpZ2h0
Rm9yVGVzdGluZyhpbnQpOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShFRkwpICYmIEhBVkUoQUND
RVNTSUJJTElUWSkgJiYgZGVmaW5lZChIQVZFX0VDT1JFX1gpCi0gICAgYm9vbCBhY2Nlc3NpYmls
aXR5T2JqZWN0UmVhZEJ5UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKTsKLSAgICBib29s
IGFjY2Vzc2liaWxpdHlPYmplY3RSZWFkUHJldmlvdXMoKTsKLSAgICBib29sIGFjY2Vzc2liaWxp
dHlPYmplY3RSZWFkTmV4dCgpOwotI2VuZGlmCi0KICNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNL
SU5HKQogICAgIHZvaWQgY2hlY2tUZXh0T2ZQYXJhZ3JhcGgoY29uc3QgU3RyaW5nJiB0ZXh0LCB1
aW50NjRfdCBjaGVja2luZ1R5cGVzLCBpbnQzMl90IGluc2VydGlvblBvaW50LCBWZWN0b3I8V2Vi
Q29yZTo6VGV4dENoZWNraW5nUmVzdWx0PiYgcmVzdWx0cyk7CiAjZW5kaWYKQEAgLTEzOTcsOSAr
MTM4MSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBnZXRFZGl0b3JDb21tYW5kc0ZvcktleUV2ZW50
KGNvbnN0IEF0b21pY1N0cmluZyYsIFZlY3RvcjxTdHJpbmc+Jik7CiAgICAgdm9pZCBiaW5kQWNj
ZXNzaWJpbGl0eVRyZWUoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKLSNpZiBQTEFURk9STShFRkwp
Ci0gICAgdm9pZCBnZXRFZGl0b3JDb21tYW5kc0ZvcktleUV2ZW50KFZlY3RvcjxTdHJpbmc+Jik7
Ci0jZW5kaWYKIAogICAgIC8vIFBvcHVwIE1lbnUuCiAgICAgdm9pZCBzaG93UG9wdXBNZW51KGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QsIHVpbnQ2NF90IHRleHREaXJlY3Rpb24sIGNvbnN0
IFZlY3RvcjxXZWJQb3B1cEl0ZW0+JiBpdGVtcywgaW50MzJfdCBzZWxlY3RlZEluZGV4LCBjb25z
dCBQbGF0Zm9ybVBvcHVwTWVudURhdGEmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhNjlmNjFmNGI2NGJmNTA2ZGUyYzc1ODY3
MTE1YWM2ZWU4OGIwYmEzLi5kYTA3N2Y0YmU3NmNjOWUzMDNkYWI0MThhZmQxZjE1Njc3MzhiZTY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC05MjA1LDcgKzkyMDUsNyBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2Ny
aXB0ID0gIldLQkFTRV9IPSR7VEFSR0VUX0JVSUxEX0RJUn0vJHtQUklWQVRFX0hFQURFUlNfRk9M
REVSX1BBVEh9L1dLQmFzZS5oXG5cbnVuaWZkZWYgLUIgLURfX0FQUExFX18gLVVCVUlMRElOR19H
VEtfXyAtVVVTRV9TT1VQIC1VQlVJTERJTkdfRUZMX18gLVVCVUlMRElOR19RVF9fIC1vIFwiJHtX
S0JBU0VfSH1cIi51bmlmZGVmIFwiJHtXS0JBU0VfSH1cIlxuXG5jYXNlICQ/IGluXG4wKVxuICAg
IHJtIFwiJHtXS0JBU0VfSH1cIi51bmlmZGVmXG4gICAgOztcbjEpXG4gICAgbXYgXCIke1dLQkFT
RV9IfVwiey51bmlmZGVmLH1cbiAgICA7O1xuKilcbiAgICBleGl0IDFcbmVzYWNcbiI7CisJCQlz
aGVsbFNjcmlwdCA9ICJXS0JBU0VfSD0ke1RBUkdFVF9CVUlMRF9ESVJ9LyR7UFJJVkFURV9IRUFE
RVJTX0ZPTERFUl9QQVRIfS9XS0Jhc2UuaFxuXG51bmlmZGVmIC1CIC1EX19BUFBMRV9fIC1VQlVJ
TERJTkdfR1RLX18gLVVVU0VfU09VUCAtbyBcIiR7V0tCQVNFX0h9XCIudW5pZmRlZiBcIiR7V0tC
QVNFX0h9XCJcblxuY2FzZSAkPyBpblxuMClcbiAgICBybSBcIiR7V0tCQVNFX0h9XCIudW5pZmRl
ZlxuICAgIDs7XG4xKVxuICAgIG12IFwiJHtXS0JBU0VfSH1cInsudW5pZmRlZix9XG4gICAgOztc
biopXG4gICAgZXhpdCAxXG5lc2FjXG4iOwogCQl9OwogCQkzN0U1MzEwMTFCMjM5MTA5MDA3NEYw
REYgLyogQ29weSBpT1MgU2FuZGJveCBQcm9maWxlcyBmb3IgTWFudWFsIFNhbmRib3hpbmcgKi8g
PSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgK
aW5kZXggODBjMDg3Y2I2YWI2NDE3MmVjMjBkYmZlZjViYzlhM2M3YTc5MDM3Mi4uNDc5NGE2OGFi
NTcxNGZhNmQ1ODFhYmViM2FkMzdkY2VhZDRmMGUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApAQCAt
NDAsMTAgKzQwLDYgQEAKIHR5cGVkZWYgc3RydWN0IF9HTW9kdWxlIEdNb2R1bGU7CiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKEVGTCkKLSNpbmNsdWRlIDxFaW5hLmg+Ci0jZW5kaWYKLQogI2lmIFVT
RShGT1VOREFUSU9OKQogT0JKQ19DTEFTUyBOU0J1bmRsZTsKIE9CSkNfQ0xBU1MgTlNNdXRhYmxl
RGljdGlvbmFyeTsKQEAgLTY3LDggKzYzLDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiB0eXBlZGVm
IE5TQnVuZGxlICpQbGF0Zm9ybUJ1bmRsZTsKICNlbGlmIFBMQVRGT1JNKEdUSykKIHR5cGVkZWYg
OjpHTW9kdWxlKiBQbGF0Zm9ybUJ1bmRsZTsKLSNlbGlmIFBMQVRGT1JNKEVGTCkKLXR5cGVkZWYg
RWluYV9Nb2R1bGUqIFBsYXRmb3JtQnVuZGxlOwogI2VuZGlmCiAKIGNsYXNzIEluamVjdGVkQnVu
ZGxlU2NyaXB0V29ybGQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwCmlu
ZGV4IGQwMDk0OTFhN2U0ZGI3NjdhOTAwYzQxMGJhZDNjMTZkMTExYmU1MjYuLjJiZWQ0NmFhYjA1
YTIxODgwMmQyYTE4ZmI3NmY2OWU3N2Q2OTU4ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2Nh
cGVQbHVnaW5YMTEuY3BwCkBAIC00NCw4ICs0NCw2IEBACiAjZW5kaWYKICNpbmNsdWRlIDxnZGsv
Z2RreC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3RrVmVyc2lvbmluZy5oPgotI2VsaWYgUExBVEZP
Uk0oRUZMKSAmJiBkZWZpbmVkKEhBVkVfRUNPUkVfWCkKLSNpbmNsdWRlIDxFY29yZV9YLmg+CiAj
ZW5kaWYKIAogI2lmIFVTRShDQUlSTykKQEAgLTY5LDggKzY3LDYgQEAgc3RhdGljIERpc3BsYXkq
IGdldFBsdWdpbkRpc3BsYXkoKQogICAgIC8vIFNpbmNlIHdlJ3JlIGEgZ2RrL2d0ayBhcHAsIHdl
J2xsIChwcm9iYWJseT8pIGhhdmUgdGhlIHNhbWUgWCBjb25uZWN0aW9uIGFzIGFueSBnZGstYmFz
ZWQKICAgICAvLyBwbHVnaW5zLCBzbyB3ZSBjYW4gcmV0dXJuIHRoYXQuIFdlIG1pZ2h0IHdhbnQg
dG8gYWRkIG90aGVyIGltcGxlbWVudGF0aW9ucyBoZXJlIGxhdGVyLgogICAgIHJldHVybiBHREtf
RElTUExBWV9YRElTUExBWShnZGtfZGlzcGxheV9nZXRfZGVmYXVsdCgpKTsKLSNlbGlmIFBMQVRG
T1JNKEVGTCkgJiYgZGVmaW5lZChIQVZFX0VDT1JFX1gpCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PERpc3BsYXkqPihlY29yZV94X2Rpc3BsYXlfZ2V0KCkpOwogI2Vsc2UKICAgICByZXR1cm4gbnVs
bHB0cjsKICNlbmRpZgpAQCAtODAsOCArNzYsNiBAQCBzdGF0aWMgaW5saW5lIGludCB4MTFTY3Jl
ZW4oKQogewogI2lmIFBMQVRGT1JNKEdUSykKICAgICByZXR1cm4gZ2RrX3NjcmVlbl9nZXRfbnVt
YmVyKGdka19zY3JlZW5fZ2V0X2RlZmF1bHQoKSk7Ci0jZWxpZiBQTEFURk9STShFRkwpICYmIGRl
ZmluZWQoSEFWRV9FQ09SRV9YKQotICAgIHJldHVybiBlY29yZV94X3NjcmVlbl9pbmRleF9nZXQo
ZWNvcmVfeF9kZWZhdWx0X3NjcmVlbl9nZXQoKSk7CiAjZWxzZQogICAgIHJldHVybiAwOwogI2Vu
ZGlmCkBAIC05MSw4ICs4NSw2IEBAIHN0YXRpYyBpbmxpbmUgaW50IGRpc3BsYXlEZXB0aCgpCiB7
CiAjaWYgUExBVEZPUk0oR1RLKQogICAgIHJldHVybiBnZGtfdmlzdWFsX2dldF9kZXB0aChnZGtf
c2NyZWVuX2dldF9zeXN0ZW1fdmlzdWFsKGdka19zY3JlZW5fZ2V0X2RlZmF1bHQoKSkpOwotI2Vs
aWYgUExBVEZPUk0oRUZMKSAmJiBkZWZpbmVkKEhBVkVfRUNPUkVfWCkKLSAgICByZXR1cm4gZWNv
cmVfeF9kZWZhdWx0X2RlcHRoX2dldCh4MTFIb3N0RGlzcGxheSgpLCBlY29yZV94X2RlZmF1bHRf
c2NyZWVuX2dldCgpKTsKICNlbHNlCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKQEAgLTEwMiw4ICs5
NCw2IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyByb290V2luZG93SUQoKQogewogI2lm
IFBMQVRGT1JNKEdUSykKICAgICByZXR1cm4gR0RLX1JPT1RfV0lORE9XKCk7Ci0jZWxpZiBQTEFU
Rk9STShFRkwpICYmIGRlZmluZWQoSEFWRV9FQ09SRV9YKQotICAgIHJldHVybiBlY29yZV94X3dp
bmRvd19yb290X2ZpcnN0X2dldCgpOwogI2Vsc2UKICAgICByZXR1cm4gMDsKICNlbmRpZgpAQCAt
MzAyLDcgKzI5Miw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5YMTE6OnBhaW50KEdyYXBoaWNzQ29u
dGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0CiAgICAgaWYgKG1fcGx1Z2lu
RGlzcGxheSAhPSB4MTFIb3N0RGlzcGxheSgpKQogICAgICAgICBYU3luYyhtX3BsdWdpbkRpc3Bs
YXksIGZhbHNlKTsKIAotI2lmIFBMQVRGT1JNKEdUSykgfHwgKFBMQVRGT1JNKEVGTCkgJiYgVVNF
KENBSVJPKSkKKyNpZiBQTEFURk9STShHVEspCiAgICAgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4g
ZHJhd2FibGVTdXJmYWNlID0gYWRvcHRSZWYoY2Fpcm9feGxpYl9zdXJmYWNlX2NyZWF0ZShtX3Bs
dWdpbkRpc3BsYXksIG1fZHJhd2FibGUuZ2V0KCksCiAgICAgICAgIG1fc2V0V2luZG93Q2FsbGJh
Y2tTdHJ1Y3QudmlzdWFsLCBtX3BsdWdpbi5zaXplKCkud2lkdGgoKSwgbV9wbHVnaW4uc2l6ZSgp
LmhlaWdodCgpKSk7CiAgICAgY2Fpcm9fdCogY3IgPSBjb250ZXh0LnBsYXRmb3JtQ29udGV4dCgp
LT5jcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDgwNzc2NGQzOTVlZjQ4MTg1OTdh
YjFhMDg5YzA4ODRjMDA2MWQwNTkuLjA5MTI4MDg5OTNmNGQ1Mjc4ZGQ4OGI5MGUwMmJlYzkyOTE5
NDJlZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTgyMiwxMSArODIyLDcgQEAgYm9v
bCBXZWJDaHJvbWVDbGllbnQ6OnNob3VsZE5vdGlmeU9uRm9ybUNoYW5nZXMoKQogCiBib29sIFdl
YkNocm9tZUNsaWVudDo6c2VsZWN0SXRlbVdyaXRpbmdEaXJlY3Rpb25Jc05hdHVyYWwoKQogewot
I2lmIFBMQVRGT1JNKEVGTCkKLSAgICByZXR1cm4gdHJ1ZTsKLSNlbHNlCiAgICAgcmV0dXJuIGZh
bHNlOwotI2VuZGlmCiB9CiAKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzZWxlY3RJdGVtQWxpZ25t
ZW50Rm9sbG93c01lbnVXcml0aW5nRGlyZWN0aW9uKCkKQEAgLTEwMTUsNyArMTAxMSw3IEBAIENv
bG9yIFdlYkNocm9tZUNsaWVudDo6dW5kZXJsYXlDb2xvcigpIGNvbnN0CiAKIHZvaWQgV2ViQ2hy
b21lQ2xpZW50OjpwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFuZ2UoQ29sb3IgYmFj
a2dyb3VuZENvbG9yKSBjb25zdAogewotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oRUZM
KQorI2lmIFBMQVRGT1JNKE1BQykKICAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpQYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFuZ2UoYmFja2dyb3VuZENvbG9y
KSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShiYWNrZ3JvdW5kQ29sb3IpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0
b3JDbGllbnQuY3BwCmluZGV4IDhiODA3NTUyYzQxMTQ1MjYyNDg4MDM4M2Y5ZDMyYWJhYTA3NmJl
ZmIuLmEzYzlhZDk3ZmE0NWE3NmNhNmQ3NDExNjZjNjQwNjZkNTJiMzhmMjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVk
aXRvckNsaWVudC5jcHAKQEAgLTI5Nyw3ICsyOTcsNyBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6
cmVkbygpCiAgICAgbV9wYWdlLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpFeGVj
dXRlVW5kb1JlZG8oc3RhdGljX2Nhc3Q8dWludDMyX3Q+KFdlYlBhZ2VQcm94eTo6UmVkbykpLCBN
ZXNzYWdlczo6V2ViUGFnZVByb3h5OjpFeGVjdXRlVW5kb1JlZG86OlJlcGx5KHJlc3VsdCkpOwog
fQogCi0jaWYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0o
RUZMKQorI2lmICFQTEFURk9STShHVEspICYmICFQTEFURk9STShDT0NPQSkKIHZvaWQgV2ViRWRp
dG9yQ2xpZW50OjpoYW5kbGVLZXlib2FyZEV2ZW50KEtleWJvYXJkRXZlbnQqIGV2ZW50KQogewog
ICAgIGlmIChtX3BhZ2UtPmhhbmRsZUVkaXRpbmdLZXlib2FyZEV2ZW50KGV2ZW50KSkKQEAgLTQz
Nyw3ICs0MzcsNyBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6dGV4dFdpbGxCZURlbGV0ZWRJblRl
eHRGaWVsZChFbGVtZW50KiBlbGVtZW50KQogYm9vbCBXZWJFZGl0b3JDbGllbnQ6OnNob3VsZEVy
YXNlTWFya2Vyc0FmdGVyQ2hhbmdlU2VsZWN0aW9uKFdlYkNvcmU6OlRleHRDaGVja2luZ1R5cGUg
dHlwZSkgY29uc3QKIHsKICAgICAvLyBUaGlzIHByZXZlbnRzIGVyYXNpbmcgc3BlbGxpbmcgbWFy
a2VycyBvbiBPUyBYIExpb24gb3IgbGF0ZXIgdG8gbWF0Y2ggQXBwS2l0IG9uIHRoZXNlIE1hYyBP
UyBYIHZlcnNpb25zLgotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShFRkwpCisjaWYg
UExBVEZPUk0oQ09DT0EpCiAgICAgcmV0dXJuIHR5cGUgIT0gVGV4dENoZWNraW5nVHlwZVNwZWxs
aW5nOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0odHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwCmluZGV4IDA2MGNkMmYwMDRlZDc1M2Q1MGI3ZWI4Njk4M2RmZjU3NTEwYTUy
YjQuLmE4NTZmZjk4MzcyNDE4MTIxOWNkMjY4NDEwNGFlMDdhM2VhOWNhMGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0xMjEwLDcgKzEyMTAsNyBAQCB2b2lkIFdlYkZy
YW1lTG9hZGVyQ2xpZW50OjpmcmFtZUxvYWRDb21wbGV0ZWQoKQogCiB2b2lkIFdlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpzYXZlVmlld1N0YXRlVG9JdGVtKEhpc3RvcnlJdGVtJiBoaXN0b3J5SXRlbSkK
IHsKLSNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKEVGTCkKKyNpZiBQTEFURk9STShJT1Mp
CiAgICAgaWYgKG1fZnJhbWUtPmlzTWFpbkZyYW1lKCkpCiAgICAgICAgIG1fZnJhbWUtPnBhZ2Uo
KS0+c2F2ZVBhZ2VTdGF0ZShoaXN0b3J5SXRlbSk7CiAjZWxzZQpAQCAtMTIyMCw3ICsxMjIwLDcg
QEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6c2F2ZVZpZXdTdGF0ZVRvSXRlbShIaXN0b3J5
SXRlbSYgaGlzdG9yeUl0ZW0pCiAKIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnJlc3RvcmVW
aWV3U3RhdGUoKQogewotI2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oRUZMKQorI2lmIFBM
QVRGT1JNKElPUykKICAgICBGcmFtZSYgZnJhbWUgPSAqbV9mcmFtZS0+Y29yZUZyYW1lKCk7CiAg
ICAgSGlzdG9yeUl0ZW0qIGN1cnJlbnRJdGVtID0gZnJhbWUubG9hZGVyKCkuaGlzdG9yeSgpLmN1
cnJlbnRJdGVtKCk7CiAgICAgaWYgKEZyYW1lVmlldyogdmlldyA9IGZyYW1lLnZpZXcoKSkgewpA
QCAtMTYxMyw3ICsxNjEzLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hE
aWRDbGVhcldpbmRvd09iamVjdEluV29ybGQoRE9NV3JhcHBlcldvcmxkJgogICAgIGlmIChhdXRv
bWF0aW9uU2Vzc2lvblByb3h5ICYmIHdvcmxkLmlzTm9ybWFsKCkpCiAgICAgICAgIGF1dG9tYXRp
b25TZXNzaW9uUHJveHktPmRpZENsZWFyV2luZG93T2JqZWN0Rm9yRnJhbWUoKm1fZnJhbWUpOwog
Ci0jaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShF
RkwpKQorI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgUExBVEZPUk0oR1RLKQogICAgIC8vIEVu
c3VyZSB0aGUgYWNjZXNzaWJpbGl0eSBoaWVyYXJjaHkgaXMgdXBkYXRlZC4KICAgICB3ZWJQYWdl
LT51cGRhdGVBY2Nlc3NpYmlsaXR5VHJlZSgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggYWM4NzdmNjk0YTUzNmU3MjQzNTY4
Yjk3M2M3MTkyMzEyMGQyMDJmYy4uYTUxNzVjMDNkOWRjNDg3YmVmNjQwNmI3MTFlMzE1YTMyNDcy
YzQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtMzMwLDcgKzMzMCw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBX
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICAsIG1fbGF5ZXJIb3N0
aW5nTW9kZShwYXJhbWV0ZXJzLmxheWVySG9zdGluZ01vZGUpCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgLCBtX3ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IoKnRoaXMpCi0jZWxpZiBIQVZF
KEFDQ0VTU0lCSUxJVFkpICYmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpCisjZWxp
ZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFBMQVRGT1JNKEdUSykKICAgICAsIG1fYWNjZXNzaWJp
bGl0eU9iamVjdChudWxscHRyKQogI2VuZGlmCiAgICAgLCBtX3NldENhblN0YXJ0TWVkaWFUaW1l
cihSdW5Mb29wOjptYWluKCksIHRoaXMsICZXZWJQYWdlOjpzZXRDYW5TdGFydE1lZGlhVGltZXJG
aXJlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4
IDcyNDBiYmQxNTRmOGYzMjAwZTc4MjcxNWQ0OTM4MDYzMGM5MTcyOWMuLjNhNjQ4OTNhOTg5NWI3
MmI0MTgwN2Y4YmVlOTI2NTg0MTI2MTUzNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNzgsNyArNzgsNyBAQAogI2luY2x1ZGUgPHd0Zi9TZWNv
bmRzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFkpICYmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpCisjaWYgSEFWRShB
Q0NFU1NJQklMSVRZKSAmJiBQTEFURk9STShHVEspCiAjaW5jbHVkZSAiV2ViUGFnZUFjY2Vzc2li
aWxpdHlPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiAjZW5kaWYKQEAg
LTQ5OCw3ICs0OTgsNyBAQCBwdWJsaWM6CiAgICAgR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXImIGdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCkgeyByZXR1cm4g
bV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjsgfQogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShJT1MpIHx8IFBMQVRGT1JNKEVGTCkKKyNpZiBQTEFURk9STShJT1MpCiAgICAgdm9p
ZCBzYXZlUGFnZVN0YXRlKFdlYkNvcmU6Okhpc3RvcnlJdGVtJik7CiAgICAgdm9pZCByZXN0b3Jl
UGFnZVN0YXRlKGNvbnN0IFdlYkNvcmU6Okhpc3RvcnlJdGVtJik7CiAjZW5kaWYKQEAgLTY0OCwx
MCArNjQ4LDYgQEAgcHVibGljOgogCiAgICAgU2FuZGJveEV4dGVuc2lvblRyYWNrZXImIHNhbmRi
b3hFeHRlbnNpb25UcmFja2VyKCkgeyByZXR1cm4gbV9zYW5kYm94RXh0ZW5zaW9uVHJhY2tlcjsg
fQogCi0jaWYgUExBVEZPUk0oRUZMKQotICAgIHZvaWQgc2V0VGhlbWVQYXRoKGNvbnN0IFN0cmlu
ZyYpOwotI2VuZGlmCi0KICNpZiBQTEFURk9STShHVEspCiAgICAgdm9pZCBzZXRDb21wb3NpdGlv
bihjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpDb21wb3NpdGlvblVu
ZGVybGluZT4mIHVuZGVybGluZXMsIHVpbnQ2NF90IHNlbGVjdGlvblN0YXJ0LCB1aW50NjRfdCBz
ZWxlY3Rpb25FbmQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VTdGFydCwgdWludDY0X3QgcmVw
bGFjZW1lbnRSYW5nZUxlbmd0aCk7CiAgICAgdm9pZCBjb25maXJtQ29tcG9zaXRpb24oY29uc3Qg
U3RyaW5nJiB0ZXh0LCBpbnQ2NF90IHNlbGVjdGlvblN0YXJ0LCBpbnQ2NF90IHNlbGVjdGlvbkxl
bmd0aCk7CkBAIC03MDIsMTMgKzY5OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcGxhY2VTZWxl
Y3Rpb25XaXRoUGFzdGVib2FyZERhdGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHR5cGVzLCBjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICNlbmRpZgogCi0jZWxpZiBQTEFURk9STShFRkwpCi0g
ICAgdm9pZCBjb25maXJtQ29tcG9zaXRpb24oY29uc3QgU3RyaW5nJiBjb21wb3NpdGlvblN0cmlu
Zyk7Ci0gICAgdm9pZCBzZXRDb21wb3NpdGlvbihjb25zdCBXVEY6OlN0cmluZyYgY29tcG9zaXRp
b25TdHJpbmcsIGNvbnN0IFdURjo6VmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5l
PiYgdW5kZXJsaW5lcywgdWludDY0X3QgY3Vyc29yUG9zaXRpb24pOwotICAgIHZvaWQgY2FuY2Vs
Q29tcG9zaXRpb24oKTsKLSNlbmRpZgotCi0jaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiAoUExB
VEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpKQorI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYg
UExBVEZPUk0oR1RLKQogICAgIHZvaWQgdXBkYXRlQWNjZXNzaWJpbGl0eVRyZWUoKTsKICNlbmRp
ZgogCkBAIC0xMzM3LDcgKzEzMjcsNyBAQCBwcml2YXRlOgogCiAgICAgUmV0YWluUHRyPE5TRGlj
dGlvbmFyeT4gbV9kYXRhRGV0ZWN0aW9uQ29udGV4dDsKIAotI2VsaWYgSEFWRShBQ0NFU1NJQklM
SVRZKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpKQorI2VsaWYgSEFWRShBQ0NF
U1NJQklMSVRZKSAmJiBQTEFURk9STShHVEspCiAgICAgR1JlZlB0cjxXZWJQYWdlQWNjZXNzaWJp
bGl0eU9iamVjdD4gbV9hY2Nlc3NpYmlsaXR5T2JqZWN0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5k
ZXggMjM5MzljMTkzMGU0ZmMxZmY2NmU3NTFiNmY4ZDEzMGVjZGYyZDEwOS4uZmIzMGJlNWU3Zjdj
MGViODk0YjNmNTZkOTdlMDlhODBkNTZhMzI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTM0MSwxMCArMzQx
LDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0Q2FuUnVu
QmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBh
bmVsKQogICAgIFNldENhblJ1bk1vZGFsKGJvb2wgY2FuUnVuTW9kYWwpCiAKLSNpZiBQTEFURk9S
TShFRkwpCi0gICAgU2V0VGhlbWVQYXRoKFN0cmluZyB0aGVtZVBhdGgpCi0jZW5kaWYKLQogI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiAgICAgQ29tbWl0UGFnZVRy
YW5zaXRpb25WaWV3cG9ydCgpCiAjZW5kaWYKQEAgLTM5NiwxMSArMzkyLDYgQEAgbWVzc2FnZXMg
LT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0TWluaW11bUxheW91dFNpemUoV2Vi
Q29yZTo6SW50U2l6ZSBtaW5pbXVtTGF5b3V0U2l6ZSkKICAgICBTZXRBdXRvU2l6aW5nU2hvdWxk
RXhwYW5kVG9WaWV3SGVpZ2h0KGJvb2wgc2hvdWxkRXhwYW5kKQogCi0jaWYgUExBVEZPUk0oRUZM
KQotICAgIENvbmZpcm1Db21wb3NpdGlvbihTdHJpbmcgY29tcG9zaXRpb25TdHJpbmcpCi0gICAg
U2V0Q29tcG9zaXRpb24oU3RyaW5nIGNvbXBvc2l0aW9uU3RyaW5nLCBWZWN0b3I8V2ViQ29yZTo6
Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVuZGVybGluZXMsIHVpbnQ2NF90IGN1cnNvclBvc2l0aW9u
KQotICAgIENhbmNlbENvbXBvc2l0aW9uKCkKLSNlbmRpZgogI2lmIFVTRShDT09SRElOQVRFRF9H
UkFQSElDU19NVUxUSVBST0NFU1MpCiAgICAgRmluZFpvb21hYmxlQXJlYUZvclBvaW50KFdlYkNv
cmU6OkludFBvaW50IHBvaW50LCBXZWJDb3JlOjpJbnRTaXplIGFyZWEpCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL2NvbmZpZy5oIGIvU291cmNlL1dlYktpdDIvY29uZmlnLmgK
aW5kZXggNTY0OTI1MDk5NjQ5YjhmYzUyM2Y1MDY1NTllODk0OWQ5ZDYyY2VmNS4uYzYzZDFhMjZm
NzlkODdjMTU1ZmRiNTU5NjhjNGYzODFhNGZmNzBkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvY29uZmlnLmgKKysrIGIvU291cmNlL1dlYktpdDIvY29uZmlnLmgKQEAgLTQ4LDcgKzQ4LDcg
QEAKICNpZm5kZWYgUExVR0lOX0FSQ0hJVEVDVFVSRV9VTlNVUFBPUlRFRAogI2lmIFBMQVRGT1JN
KE1BQykKICNkZWZpbmUgUExVR0lOX0FSQ0hJVEVDVFVSRV9NQUMgMQotI2VsaWYgKFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oRUZMKSkgJiYgKE9TKFVOSVgpICYmICFPUyhNQUNfT1NfWCkpICYm
IFBMQVRGT1JNKFgxMSkKKyNlbGlmIFBMQVRGT1JNKEdUSykgJiYgUExBVEZPUk0oWDExKSAmJiBP
UyhVTklYKSAmJiAhT1MoTUFDX09TX1gpCiAjZGVmaW5lIFBMVUdJTl9BUkNISVRFQ1RVUkVfWDEx
IDEKICNlbHNlCiAjZGVmaW5lIFBMVUdJTl9BUkNISVRFQ1RVUkVfVU5TVVBQT1JURUQgMQpAQCAt
NTgsNyArNTgsNyBAQAogI2RlZmluZSBQTFVHSU5fQVJDSElURUNUVVJFKEFSQ0gpIChkZWZpbmVk
IFBMVUdJTl9BUkNISVRFQ1RVUkVfIyNBUkNIICYmIFBMVUdJTl9BUkNISVRFQ1RVUkVfIyNBUkNI
KQogCiAjaWZuZGVmIEVOQUJMRV9JTlNQRUNUT1JfU0VSVkVSCi0jaWYgRU5BQkxFKFdFQl9TT0NL
RVRTKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpKQorI2lmIEVOQUJMRShXRUJf
U09DS0VUUykgJiYgUExBVEZPUk0oR1RLKQogI2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SX1NFUlZF
UiAxCiAjZW5kaWYKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301930</attachid>
            <date>2017-02-17 07:21:27 -0800</date>
            <delta_ts>2017-02-17 11:12:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168511-20170217091848.patch</filename>
            <type>text/plain</type>
            <size>65201</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzM1MjM1OGY4ZWI4Nzhj
MThmZGVhNTY2MmZlNzQ5N2Q4ZjM5MmU4My4uMGM3OTk4OWI3MGE1YjQ2Yzc3ZjMxY2FhMDJkNDBi
ZGJiMzk4NjYzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE3LTAyLTE3ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBSZW1vdmUg
RUZMIGZyb20gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY4NTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHA6CisgICAgICAg
IChJUEM6OkNvbm5lY3Rpb246OnBsYXRmb3JtSW52YWxpZGF0ZSk6CisgICAgICAgIChJUEM6OkNv
bm5lY3Rpb246Om9wZW4pOgorICAgICAgICAqIFBsYXRmb3JtL01vZHVsZS5oOgorICAgICAgICAq
IFBsYXRmb3JtRWZsLmNtYWtlOiBSZW1vdmVkLgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvdW5p
eC9QbHVnaW5Qcm9jZXNzTWFpblVuaXguY3BwOgorICAgICAgICAqIFNoYXJlZC9BUEkvQVBJT2Jq
ZWN0Lmg6CisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLQmFzZS5oOgorICAgICAgICAqIFNoYXJl
ZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaDoKKyAgICAgICAgKFdlYktpdDo6dG9BUEkpOgorICAg
ICAgICAoV2ViS2l0Ojp0b0ltcGwpOgorICAgICAgICAqIFNoYXJlZC9OYXRpdmVXZWJLZXlib2Fy
ZEV2ZW50Lmg6CisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYktleWJvYXJkRXZlbnQ6OmlzRmFr
ZUV2ZW50Rm9yQ29tcG9zaXRpb24pOgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJLZXlib2Fy
ZEV2ZW50Ojppc0ZpbHRlcmVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvTmF0aXZlV2Vi
TW91c2VFdmVudC5oOgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50OjpuYXRp
dmVFdmVudCk6CisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5hdGl2ZVdl
Yk1vdXNlRXZlbnQpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9OYXRpdmVXZWJUb3VjaEV2
ZW50Lmg6CisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYlRvdWNoRXZlbnQ6Om5hdGl2ZUV2ZW50
KToKKyAgICAgICAgKiBTaGFyZWQvTmF0aXZlV2ViV2hlZWxFdmVudC5oOgorICAgICAgICAoV2Vi
S2l0OjpOYXRpdmVXZWJXaGVlbEV2ZW50OjpuYXRpdmVFdmVudCk6CisgICAgICAgICogU2hhcmVk
L1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luTW9kdWxlWDExLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5Nb2R1bGU6OmRldGVybWluZVF1aXJrcyk6CisgICAg
ICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS0FQSUNhc3QuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tUZXh0Q2hlY2tl
ci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLVGV4dENoZWNrZXIuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpD
aGlsZFByb2Nlc3NQcm94eTo6Z2V0TGF1bmNoT3B0aW9ucyk6CisgICAgICAgICogVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OnBpeGVsQWxpZ25lZEZsb2F0UG9pbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3JTZXJ2ZXIvV2ViSW5zcGVjdG9yU2VydmVy
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9zb3VwL0N1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5U291cC5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy91bml4L1BsdWdpblByb2Nlc3NQcm94eVVu
aXguY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNzUHJveHk6OnNjYW5QbHVnaW4p
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0
c2NhcGVQbHVnaW5YMTEuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZXRQbHVnaW5EaXNwbGF5KToK
KyAgICAgICAgKFdlYktpdDo6eDExU2NyZWVuKToKKyAgICAgICAgKFdlYktpdDo6ZGlzcGxheURl
cHRoKToKKyAgICAgICAgKFdlYktpdDo6cm9vdFdpbmRvd0lEKToKKyAgICAgICAgKFdlYktpdDo6
TmV0c2NhcGVQbHVnaW5YMTE6OnBhaW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNs
aWVudDo6c2VsZWN0SXRlbVdyaXRpbmdEaXJlY3Rpb25Jc05hdHVyYWwpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDaHJvbWVDbGllbnQ6OnBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvckRpZENoYW5n
ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OnNob3VsZEVyYXNlTWFya2Vy
c0FmdGVyQ2hhbmdlU2VsZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVM
b2FkZXJDbGllbnQ6OnNhdmVWaWV3U3RhdGVUb0l0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUxvYWRlckNsaWVudDo6cmVzdG9yZVZpZXdTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZCk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpXZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIGNvbmZpZy5oOgorCiAyMDE3LTAyLTE2ICBBYWthc2ggSmFpbiAgPGFha2Fz
aF9qYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdW51c2VkIG1ldGhvZHMgV0tQYWdl
R2V0RGVidWdQYWludEZsYWdzIGFuZCBXS1BhZ2VTZXREZWJ1Z1BhaW50RmxhZ3MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcAppbmRl
eCBiMTM2NWNiODc0YjAzZTczNWVkYjJmYTllYzhjN2M3ZmE4MmNlM2EyLi5mY2QxMDQ3OWE1ZTAw
OTYyMmJlNmIzZjI0Y2U4ODk1OWRjMjAxYTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCkBAIC0xNDksOCArMTQ5LDYgQEAg
dm9pZCBDb25uZWN0aW9uOjpwbGF0Zm9ybUludmFsaWRhdGUoKQogCiAjaWYgUExBVEZPUk0oR1RL
KQogICAgIG1fc29ja2V0TW9uaXRvci5zdG9wKCk7Ci0jZWxpZiBQTEFURk9STShFRkwpCi0gICAg
bV9jb25uZWN0aW9uUXVldWUtPnVucmVnaXN0ZXJTb2NrZXRFdmVudEhhbmRsZXIobV9zb2NrZXRE
ZXNjcmlwdG9yKTsKICNlbmRpZgogCiAgICAgbV9zb2NrZXREZXNjcmlwdG9yID0gLTE7CkBAIC0z
ODIsMTEgKzM4MCw2IEBAIGJvb2wgQ29ubmVjdGlvbjo6b3BlbigpCiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gR19TT1VSQ0VfUkVNT1ZFOwogICAgIH0pOwot
I2VsaWYgUExBVEZPUk0oRUZMKQotICAgIG1fY29ubmVjdGlvblF1ZXVlLT5yZWdpc3RlclNvY2tl
dEV2ZW50SGFuZGxlcihtX3NvY2tldERlc2NyaXB0b3IsCi0gICAgICAgIFtwcm90ZWN0ZWRUaGlz
XSB7Ci0gICAgICAgICAgICBwcm90ZWN0ZWRUaGlzLT5yZWFkeVJlYWRIYW5kbGVyKCk7Ci0gICAg
ICAgIH0pOwogI2VuZGlmCiAKICAgICAvLyBTY2hlZHVsZSBhIGNhbGwgdG8gcmVhZHlSZWFkSGFu
ZGxlci4gRGF0YSBtYXkgaGF2ZSBhcnJpdmVkIGJlZm9yZSBpbnN0YWxsYXRpb24gb2YgdGhlIHNp
Z25hbCBoYW5kbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxl
LmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAppbmRleCBhZjY1MmE5ZDQ1NjE5
YjE0MmI3YjZkMjE1YWQ5ZWRmMDEzMDEwMTE1Li41M2JlZDkyZjAwZjhhY2RmY2JlODEzOTk3YjFi
YTk2MzUwNWM3MzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaApAQCAtMzcsMTEgKzM3LDYg
QEAKIHR5cGVkZWYgc3RydWN0IF9HTW9kdWxlIEdNb2R1bGU7CiAjZW5kaWYKIAotI2lmIFBMQVRG
T1JNKEVGTCkKLSNpbmNsdWRlIDxFaW5hLmg+Ci0jaW5jbHVkZSA8d3RmL2VmbC9VbmlxdWVQdHJF
ZmwuaD4KLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgTW9kdWxlIHsKQEAg
LTc2LDggKzcxLDYgQEAgcHJpdmF0ZToKICNlbmRpZgogI2VsaWYgUExBVEZPUk0oR1RLKQogICAg
IEdNb2R1bGUqIG1faGFuZGxlOwotI2VsaWYgUExBVEZPUk0oRUZMKQotICAgIEVmbFVuaXF1ZVB0
cjxFaW5hX01vZHVsZT4gbV9tb2R1bGU7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwu
Y21ha2UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwYTM1Yzc2MzhlNDhhZDIwYWI3
OTY2YzEwN2U5OTliMjBlOGZlMGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKKysrIC9kZXYvbnVs
bApAQCAtMSw1NjggKzAsMCBAQAotbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCi0gICAgRGF0
YWJhc2VQcm9jZXNzL2VmbC9EYXRhYmFzZVByb2Nlc3NNYWluRWZsLmNwcAotCi0gICAgTmV0d29y
a1Byb2Nlc3MvQ3VzdG9tUHJvdG9jb2xzL3NvdXAvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyU291cC5j
cHAKLQotICAgIE5ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9lZmwvRG93bmxvYWRTb3VwRXJyb3Jz
RWZsLmNwcAotCi0gICAgTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQ29kZXJzU291
cC5jcHAKLSAgICBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVEYXRhU291cC5jcHAK
LSAgICBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVJT0NoYW5uZWxTb3VwLmNwcAot
Ci0gICAgTmV0d29ya1Byb2Nlc3MvZWZsL05ldHdvcmtQcm9jZXNzTWFpbkVmbC5jcHAKLQotICAg
IE5ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAKLSAgICBOZXR3b3Jr
UHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzU291cC5jcHAKLSAgICBOZXR3b3JrUHJvY2Vzcy9z
b3VwL05ldHdvcmtTZXNzaW9uU291cC5jcHAKLSAgICBOZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90
ZU5ldHdvcmtpbmdDb250ZXh0U291cC5jcHAKLQotICAgIFBsYXRmb3JtL0lQQy91bml4L0F0dGFj
aG1lbnRVbml4LmNwcAotICAgIFBsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcAot
Ci0gICAgUGxhdGZvcm0vZWZsL01vZHVsZUVmbC5jcHAKLQotICAgIFBsYXRmb3JtL3VuaXgvTG9n
Z2luZ1VuaXguY3BwCi0gICAgUGxhdGZvcm0vdW5peC9TaGFyZWRNZW1vcnlVbml4LmNwcAotCi0g
ICAgUGx1Z2luUHJvY2Vzcy91bml4L1BsdWdpbkNvbnRyb2xsZXJQcm94eVVuaXguY3BwCi0gICAg
UGx1Z2luUHJvY2Vzcy91bml4L1BsdWdpblByb2Nlc3NNYWluVW5peC5jcHAKLSAgICBQbHVnaW5Q
cm9jZXNzL3VuaXgvUGx1Z2luUHJvY2Vzc1VuaXguY3BwCi0KLSAgICBTaGFyZWQvQVBJL2MvY2Fp
cm8vV0tJbWFnZUNhaXJvLmNwcAotCi0gICAgU2hhcmVkL0FQSS9jL2VmbC9XS0FycmF5RWZsLmNw
cAotCi0gICAgU2hhcmVkL0F1dGhlbnRpY2F0aW9uL3NvdXAvQXV0aGVudGljYXRpb25NYW5hZ2Vy
U291cC5jcHAKLQotICAgIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkQmFj
a2luZ1N0b3JlLmNwcAotICAgIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3NBcmd1bWVudENvZGVycy5jcHAKLSAgICBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCi0gICAgU2hhcmVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV2ViQ29vcmRpbmF0ZWRTdXJmYWNlLmNwcAotCi0gICAgU2hhcmVkL1BsdWdpbnMvTmV0
c2NhcGUveDExL05ldHNjYXBlUGx1Z2luTW9kdWxlWDExLmNwcAotCi0gICAgU2hhcmVkL1BsdWdp
bnMvdW5peC9QbHVnaW5TZWFyY2hQYXRoLmNwcAotCi0gICAgU2hhcmVkL2NhaXJvL1NoYXJlYWJs
ZUJpdG1hcENhaXJvLmNwcAotCi0gICAgU2hhcmVkL2VmbC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50
RWZsLmNwcAotICAgIFNoYXJlZC9lZmwvTmF0aXZlV2ViVG91Y2hFdmVudEVmbC5jcHAKLSAgICBT
aGFyZWQvZWZsL05hdGl2ZVdlYldoZWVsRXZlbnRFZmwuY3BwCi0gICAgU2hhcmVkL2VmbC9Qcm9j
ZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwCi0gICAgU2hhcmVkL2VmbC9XZWJFdmVudEZhY3Rvcnku
Y3BwCi0KLSAgICBTaGFyZWQvbGludXgvV2ViTWVtb3J5U2FtcGxlckxpbnV4LmNwcAotCi0gICAg
U2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKLQotICAgIFNoYXJlZC91
bml4L0NoaWxkUHJvY2Vzc01haW4uY3BwCi0KLSAgICBVSVByb2Nlc3MvQWNjZWxlcmF0ZWREcmF3
aW5nQXJlYVByb3h5LmNwcAotICAgIFVJUHJvY2Vzcy9CYWNraW5nU3RvcmUuY3BwCi0gICAgVUlQ
cm9jZXNzL0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKLSAgICBVSVByb2Nlc3MvTGVnYWN5U2Vz
c2lvblN0YXRlQ29kaW5nTm9uZS5jcHAKLSAgICBVSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01hbmFnZXIuY3BwCi0gICAgVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZS5jcHAKLSAgICBVSVByb2Nlc3MvV2ViVGV4dENoZWNrZXIuY3BwCi0gICAgVUlQcm9j
ZXNzL1dlYlRleHRDaGVja2VyQ2xpZW50LmNwcAotCi0gICAgVUlQcm9jZXNzL0FQSS9DL1dLUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01hbmFnZXIuY3BwCi0KLSAgICBVSVByb2Nlc3MvQVBJL0MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9XS1ZpZXcuY3BwCi0KLSAgICBVSVByb2Nlc3MvQVBJL0MvY2Fpcm8v
V0tJY29uRGF0YWJhc2VDYWlyby5jcHAKLQotICAgIFVJUHJvY2Vzcy9BUEkvQy9lZmwvV0tDb2xv
clBpY2tlclJlc3VsdExpc3RlbmVyLmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvQy9lZmwvV0tFdmVu
dEVmbC5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlld0VmbC5jcHAKLQotICAgIFVJ
UHJvY2Vzcy9BUEkvQy9zb3VwL1dLQ29va2llTWFuYWdlclNvdXAuY3BwCi0KLSAgICBVSVByb2Nl
c3MvQVBJL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV0tDb29yZGluYXRlZFNjZW5lLmNwcAotCi0gICAg
VUlQcm9jZXNzL0FQSS9jcHAvZWZsL1dLRWluYVNoYXJlZFN0cmluZy5jcHAKLQotICAgIFVJUHJv
Y2Vzcy9BUEkvZWZsL0FQSVdlYnNpdGVEYXRhU3RvcmVFZmwuY3BwCi0gICAgVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9HZXN0dXJlUmVjb2duaXpl
ci5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9TbmFwc2hvdEltYWdlR0wuY3BwCi0gICAgVUlQ
cm9jZXNzL0FQSS9lZmwvV2ViQWNjZXNzaWJpbGl0eS5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfYXBwbGljYXRpb25fY2FjaGVfbWFuYWdlci5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfYXV0aF9yZXF1ZXN0LmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19iYWNrX2Zv
cndhcmRfbGlzdC5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3YXJkX2xp
c3RfaXRlbS5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29sb3JfcGlja2VyLmNwcAot
ICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcAotICAgIFVJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19jb250ZXh0X21lbnUuY3BwCi0gICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRl
eHRfbWVudV9pdGVtLmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29raWVfbWFuYWdl
ci5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfZGF0YWJhc2VfbWFuYWdlci5jcHAKLSAg
ICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfZG93bmxvYWRfam9iLmNwcAotICAgIFVJUHJvY2Vzcy9B
UEkvZWZsL2V3a19lcnJvci5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNvbl9k
YXRhYmFzZS5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmlsZV9jaG9vc2VyX3JlcXVl
c3QuY3BwCi0gICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0
LmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcAotICAgIFVJUHJvY2Vzcy9B
UEkvZWZsL2V3a19uYXZpZ2F0aW9uX2RhdGEuY3BwCi0gICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uLmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3
a19vYmplY3QuY3BwCi0gICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXAuY3BwCi0g
ICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21lbnUuY3BwCi0gICAgVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3BvcHVwX21lbnVfaXRlbS5jcHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tf
c2VjdXJpdHlfb3JpZ2luLmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19zZXR0aW5ncy5j
cHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfc3RvcmFnZV9tYW5hZ2VyLmNwcAotICAgIFVJ
UHJvY2Vzcy9BUEkvZWZsL2V3a190ZXh0X2NoZWNrZXIuY3BwCi0gICAgVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3VybF9yZXF1ZXN0LmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxfcmVz
cG9uc2UuY3BwCi0gICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVxdWVzdC5j
cHAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlld19jb25maWd1cmF0aW9uLmNwcAotICAg
IFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3
a193aW5kb3dfZmVhdHVyZXMuY3BwCi0KLSAgICBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKLSAgICBVSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcAotICAgIFVJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCi0K
LSAgICBVSVByb2Nlc3MvSW5zcGVjdG9yU2VydmVyL2VmbC9XZWJJbnNwZWN0b3JTZXJ2ZXJFZmwu
Y3BwCi0KLSAgICBVSVByb2Nlc3MvSW5zcGVjdG9yU2VydmVyL3NvdXAvV2ViU29ja2V0U2VydmVy
U291cC5jcHAKLQotICAgIFVJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVyRWZs
LmNwcAotCi0gICAgVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL3NvdXAvQ3VzdG9t
UHJvdG9jb2xNYW5hZ2VyUHJveHlTb3VwLmNwcAotCi0gICAgVUlQcm9jZXNzL1BsdWdpbnMvdW5p
eC9QbHVnaW5JbmZvU3RvcmVVbml4LmNwcAotICAgIFVJUHJvY2Vzcy9QbHVnaW5zL3VuaXgvUGx1
Z2luUHJvY2Vzc1Byb3h5VW5peC5jcHAKLQotICAgIFVJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VN
YW5hZ2VyLmNwcAotCi0gICAgVUlQcm9jZXNzL1dlYnNpdGVEYXRhL3VuaXgvV2Vic2l0ZURhdGFT
dG9yZVVuaXguY3BwCi0KLSAgICBVSVByb2Nlc3MvY2Fpcm8vQmFja2luZ1N0b3JlQ2Fpcm8uY3Bw
Ci0KLSAgICBVSVByb2Nlc3MvZWZsL0NvbnRleHRIaXN0b3J5Q2xpZW50RWZsLmNwcAotICAgIFVJ
UHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwCi0gICAgVUlQcm9jZXNzL2VmbC9E
b3dubG9hZE1hbmFnZXJFZmwuY3BwCi0gICAgVUlQcm9jZXNzL2VmbC9FYXNpbmdDdXJ2ZXMuY3Bw
Ci0gICAgVUlQcm9jZXNzL2VmbC9Fd2tUb3VjaEV2ZW50LmNwcAotICAgIFVJUHJvY2Vzcy9lZmwv
RXdrVG91Y2hQb2ludC5jcHAKLSAgICBVSVByb2Nlc3MvZWZsL0ZpbmRDbGllbnRFZmwuY3BwCi0g
ICAgVUlQcm9jZXNzL2VmbC9Gb3JtQ2xpZW50RWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwvSW5w
dXRNZXRob2RDb250ZXh0RWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwvUGFnZUxvYWRDbGllbnRF
ZmwuY3BwCi0gICAgVUlQcm9jZXNzL2VmbC9QYWdlUG9saWN5Q2xpZW50RWZsLmNwcAotICAgIFVJ
UHJvY2Vzcy9lZmwvUGFnZVVJQ2xpZW50RWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwvUGFnZVZp
ZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbC5jcHAKLSAgICBVSVByb2Nlc3MvZWZsL1JlcXVlc3RN
YW5hZ2VyQ2xpZW50RWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRF
ZmwuY3BwCi0gICAgVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckVmbC5jcHAKLSAgICBVSVByb2Nl
c3MvZWZsL1ZpYnJhdGlvbkNsaWVudEVmbC5jcHAKLSAgICBVSVByb2Nlc3MvZWZsL1ZpZXdDbGll
bnRFZmwuY3BwCi0gICAgVUlQcm9jZXNzL2VmbC9XZWJDb2xvclBpY2tlckNsaWVudC5jcHAKLSAg
ICBVSVByb2Nlc3MvZWZsL1dlYkNvbG9yUGlja2VyRWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwv
V2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5LmNwcAotICAgIFVJUHJvY2Vzcy9lZmwv
V2ViQ29udGV4dE1lbnVQcm94eUVmbC5jcHAKLSAgICBVSVByb2Nlc3MvZWZsL1dlYkluc3BlY3Rv
clByb3h5RWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwvV2ViUGFnZVByb3h5RWZsLmNwcAotICAg
IFVJUHJvY2Vzcy9lZmwvV2ViUG9wdXBJdGVtRWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwvV2Vi
UG9wdXBNZW51UHJveHlFZmwuY3BwCi0gICAgVUlQcm9jZXNzL2VmbC9XZWJQcmVmZXJlbmNlc0Vm
bC5jcHAKLSAgICBVSVByb2Nlc3MvZWZsL1dlYlByb2Nlc3NQb29sRWZsLmNwcAotICAgIFVJUHJv
Y2Vzcy9lZmwvV2ViVmlldy5jcHAKLSAgICBVSVByb2Nlc3MvZWZsL1dlYlZpZXdDbGllbnQuY3Bw
Ci0KLSAgICBVSVByb2Nlc3MvZ3N0cmVhbWVyL0luc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zUGVy
bWlzc2lvblJlcXVlc3QuY3BwCi0gICAgVUlQcm9jZXNzL2dzdHJlYW1lci9XZWJQYWdlUHJveHlH
U3RyZWFtZXIuY3BwCi0KLSAgICBVSVByb2Nlc3MvbGludXgvTWVtb3J5UHJlc3N1cmVNb25pdG9y
LmNwcAotCi0gICAgVUlQcm9jZXNzL3NvdXAvV2ViQ29va2llTWFuYWdlclByb3h5U291cC5jcHAK
LSAgICBVSVByb2Nlc3Mvc291cC9XZWJQcm9jZXNzUG9vbFNvdXAuY3BwCi0KLSAgICBXZWJQcm9j
ZXNzL0Nvb2tpZXMvc291cC9XZWJDb29raWVNYW5hZ2VyU291cC5jcHAKLSAgICBXZWJQcm9jZXNz
L0Nvb2tpZXMvc291cC9XZWJLaXRTb3VwQ29va2llSmFyU3FsaXRlLmNwcAotCi0gICAgV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZWZsL2V3a19leHRlbnNpb24uY3BwCi0gICAgV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZWZsL2V3a19wYWdlLmNwcAotCi0gICAgV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9lZmwvSW5qZWN0ZWRCdW5kbGVFZmwuY3BwCi0KLSAgICBXZWJQcm9j
ZXNzL01lZGlhQ2FjaGUvV2ViTWVkaWFLZXlTdG9yYWdlTWFuYWdlci5jcHAKLQotICAgIFdlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS91bml4L05ldHNjYXBlUGx1Z2luVW5peC5jcHAKLSAgICBX
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvdW5peC9QbHVnaW5Qcm94eVVuaXguY3BwCi0KLSAg
ICBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcAot
Ci0gICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9lZmwvV2ViQ29udGV4dE1lbnVDbGllbnRF
ZmwuY3BwCi0gICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9lZmwvV2ViRWRpdG9yQ2xpZW50
RWZsLmNwcAotICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZWZsL1dlYkVycm9yc0VmbC5j
cHAKLSAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2VmbC9XZWJQb3B1cE1lbnVFZmwuY3Bw
Ci0KLSAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3NvdXAvV2ViRnJhbWVOZXR3b3JraW5n
Q29udGV4dC5jcHAKLQotICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdB
cmVhLmNwcAotICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCi0KLSAg
ICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9BcmVhQWxsb2NhdG9yLmNw
cAotICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5n
Q29vcmRpbmF0b3IuY3BwCi0gICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAotICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL1VwZGF0ZUF0bGFzLmNwcAotICAgIFdlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlBhZ2VDb29yZGluYXRlZEdyYXBoaWNzLmNwcAotCi0g
ICAgV2ViUHJvY2Vzcy9XZWJQYWdlL2F0ay9XZWJQYWdlQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5j
cHAKLQotICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViSW5zcGVjdG9yVUlFZmwuY3BwCi0g
ICAgV2ViUHJvY2Vzcy9XZWJQYWdlL2VmbC9XZWJQYWdlRWZsLmNwcAotCi0gICAgV2ViUHJvY2Vz
cy9XZWJQYWdlL2dzdHJlYW1lci9XZWJQYWdlR1N0cmVhbWVyLmNwcAotCi0gICAgV2ViUHJvY2Vz
cy9lZmwvRXh0ZW5zaW9uTWFuYWdlckVmbC5jcHAKLSAgICBXZWJQcm9jZXNzL2VmbC9XZWJQcm9j
ZXNzTWFpbkVmbC5jcHAKLQotICAgIFdlYlByb2Nlc3Mvc291cC9XZWJLaXRTb3VwUmVxdWVzdElu
cHV0U3RyZWFtLmNwcAotICAgIFdlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKLSkK
LQotbGlzdChBUFBFTkQgV2ViS2l0Ml9NRVNTQUdFU19JTl9GSUxFUwotICAgIFVJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2Vz
LmluCi0KLSAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QubWVzc2FnZXMuaW4KLSkKLQotbGlzdChBUFBFTkQgV2ViS2l0Ml9J
TkNMVURFX0RJUkVDVE9SSUVTCi0gICAgIiR7V0VCS0lUMl9ESVJ9L0RhdGFiYXNlUHJvY2Vzcy91
bml4IgotICAgICIke1dFQktJVDJfRElSfS9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMv
c291cCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL3NvdXAi
Ci0gICAgIiR7V0VCS0lUMl9ESVJ9L05ldHdvcmtQcm9jZXNzL2VmbCIKLSAgICAiJHtXRUJLSVQy
X0RJUn0vTmV0d29ya1Byb2Nlc3Mvc291cCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1By
b2Nlc3MvdW5peCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vZWZsIgotICAgICIke1dF
QktJVDJfRElSfS9TaGFyZWQvQVBJL2MvZWZsIgotICAgICIke1dFQktJVDJfRElSfS9TaGFyZWQv
Q29vcmRpbmF0ZWRHcmFwaGljcyIKLSAgICAiJHtXRUJLSVQyX0RJUn0vU2hhcmVkL1BsdWdpbnMv
dW5peCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vU2hhcmVkL2dsaWIiCi0gICAgIiR7V0VCS0lUMl9E
SVJ9L1NoYXJlZC9lZmwiCi0gICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9zb3VwIgotICAgICIk
e1dFQktJVDJfRElSfS9TaGFyZWQvdW5peCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNz
L0FQSSIKLSAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9DL2NhaXJvIgotICAgICIk
e1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL0MvQ29vcmRpbmF0ZWRHcmFwaGljcyIKLSAgICAi
JHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9DL2VmbCIKLSAgICAiJHtXRUJLSVQyX0RJUn0v
VUlQcm9jZXNzL0FQSS9DL3NvdXAiCi0gICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkv
Y3BwL2VmbCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwiCi0gICAgIiR7
V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzIgotICAgICIke1dFQktJ
VDJfRElSfS9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291cCIKLSAgICAiJHtX
RUJLSVQyX0RJUn0vVUlQcm9jZXNzL2VmbCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNz
L2xpbnV4IgotICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3Mvc291cCIKLSAgICAiJHtXRUJL
SVQyX0RJUn0vV2ViUHJvY2Vzcy9lZmwiCi0gICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3Mv
c291cCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy91bml4IgotICAgICIke1dFQktJ
VDJfRElSfS9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9lZmwiCi0gICAgIiR7V0VCS0lU
Ml9ESVJ9L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS91bml4IgotICAgICIke1dFQktJVDJf
RElSfS9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExIgotICAgICIke1dFQktJVDJfRElS
fS9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2VmbCIKLSAgICAiJHtXRUJLSVQyX0RJUn0vV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9zb3VwIgotICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcyIKLSAgICAiJHtXRUJLSVQyX0RJUn0iCi0p
Ci0KLWxpc3QoQVBQRU5EIFdlYktpdDJfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAk
e0NBSVJPX0lOQ0xVREVfRElSU30KLSAgICAke0VDT1JFX0VWQVNfSU5DTFVERV9ESVJTfQotICAg
ICR7RUNPUkVfSU1GX0VWQVNfSU5DTFVERV9ESVJTfQotICAgICR7RUNPUkVfSU1GX0lOQ0xVREVf
RElSU30KLSAgICAke0VDT1JFX0lOQ0xVREVfRElSU30KLSAgICAke0VDT1JFX1hfSU5DTFVERV9E
SVJTfQotICAgICR7RURKRV9JTkNMVURFX0RJUlN9Ci0gICAgJHtFRlJFRVRfSU5DTFVERV9ESVJT
fQotICAgICR7RUlOQV9JTkNMVURFX0RJUlN9Ci0gICAgJHtFT19JTkNMVURFX0RJUlN9Ci0gICAg
JHtFVkFTX0lOQ0xVREVfRElSU30KLSAgICAke0dMSUJfSU5DTFVERV9ESVJTfQotICAgICR7R1NU
UkVBTUVSX0lOQ0xVREVfRElSU30KLSAgICAke0hBUkZCVVpaX0lOQ0xVREVfRElSU30KLSAgICAk
e0xJQlNPVVBfSU5DTFVERV9ESVJTfQotICAgICR7TElCWE1MMl9JTkNMVURFX0RJUn0KLSAgICAk
e0xJQlhTTFRfSU5DTFVERV9ESVJTfQotICAgICR7U1FMSVRFX0lOQ0xVREVfRElSU30KLSkKLQot
bGlzdChBUFBFTkQgV2ViS2l0Ml9MSUJSQVJJRVMKLSAgICBXVEYKLSAgICAke0NBSVJPX0xJQlJB
UklFU30KLSAgICAke0NNQUtFX0RMX0xJQlN9Ci0gICAgJHtFQ09SRV9FVkFTX0xJQlJBUklFU30K
LSAgICAke0VDT1JFX0lNRl9FVkFTX0xJQlJBUklFU30KLSAgICAke0VDT1JFX0xJQlJBUklFU30K
LSAgICAke0VESkVfTElCUkFSSUVTfQotICAgICR7RUZSRUVUX0xJQlJBUklFU30KLSAgICAke0VJ
TkFfTElCUkFSSUVTfQotICAgICR7RU9fTElCUkFSSUVTfQotICAgICR7RVZBU19MSUJSQVJJRVN9
Ci0gICAgJHtGT05UQ09ORklHX0xJQlJBUklFU30KLSAgICAke0ZSRUVUWVBFMl9MSUJSQVJJRVN9
Ci0gICAgJHtHTElCX0dJT19MSUJSQVJJRVN9Ci0gICAgJHtHTElCX0dPQkpFQ1RfTElCUkFSSUVT
fQotICAgICR7R0xJQl9MSUJSQVJJRVN9Ci0gICAgJHtIQVJGQlVaWl9MSUJSQVJJRVN9Ci0gICAg
JHtKUEVHX0xJQlJBUklFU30KLSAgICAke0xJQlNPVVBfTElCUkFSSUVTfQotICAgICR7TElCWE1M
Ml9MSUJSQVJJRVN9Ci0gICAgJHtPUEVOR0xfTElCUkFSSUVTfQotICAgICR7UE5HX0xJQlJBUklF
U30KLSAgICAke1NRTElURV9MSUJSQVJJRVN9Ci0pCi0KLWxpc3QoQVBQRU5EIFdlYlByb2Nlc3Nf
U09VUkNFUwotICAgIFdlYlByb2Nlc3MvRW50cnlQb2ludC91bml4L1dlYlByb2Nlc3NNYWluLmNw
cAotKQotCi1saXN0KEFQUEVORCBOZXR3b3JrUHJvY2Vzc19TT1VSQ0VTCi0gICAgTmV0d29ya1By
b2Nlc3MvRW50cnlQb2ludC91bml4L05ldHdvcmtQcm9jZXNzTWFpbi5jcHAKLSkKLQotbGlzdChB
UFBFTkQgRGF0YWJhc2VQcm9jZXNzX1NPVVJDRVMKLSAgICBEYXRhYmFzZVByb2Nlc3MvRW50cnlQ
b2ludC91bml4L0RhdGFiYXNlUHJvY2Vzc01haW4uY3BwCi0pCi0KLWxpc3QoQVBQRU5EIFdlYlBy
b2Nlc3NfTElCUkFSSUVTCi0gICAgJHtDQUlST19MSUJSQVJJRVN9Ci0gICAgJHtFQ09SRV9JTUZf
RVZBU19MSUJSQVJJRVN9Ci0gICAgJHtFQ09SRV9JTUZfTElCUkFSSUVTfQotICAgICR7RURKRV9M
SUJSQVJJRVN9Ci0gICAgJHtFRkxERVBTX0xJQlJBUklFU30KLSAgICAke0VWQVNfTElCUkFSSUVT
fQotICAgICR7TElCWE1MMl9MSUJSQVJJRVN9Ci0gICAgJHtMSUJYU0xUX0xJQlJBUklFU30KLSAg
ICAke09QRU5HTF9MSUJSQVJJRVN9Ci0gICAgJHtTUUxJVEVfTElCUkFSSUVTfQotKQotCi1pZiAo
RU5BQkxFX0VDT1JFX1gpCi0gICAgbGlzdChBUFBFTkQgV2ViUHJvY2Vzc19MSUJSQVJJRVMKLSAg
ICAgICAgJHtFQ09SRV9YX0xJQlJBUklFU30KLSAgICApCi0gICAgbGlzdChBUFBFTkQgV2ViS2l0
Ml9MSUJSQVJJRVMKLSAgICAgICAgJHtFQ09SRV9YX0xJQlJBUklFU30KLSAgICAgICAgJHtYMTFf
WGV4dF9MSUJ9Ci0gICAgKQotZW5kaWYgKCkKLQotYWRkX2N1c3RvbV90YXJnZXQoZm9yd2FyZGlu
Zy1oZWFkZXJzRWZsRm9yV2ViS2l0MgotICAgIENPTU1BTkQgJHtQRVJMX0VYRUNVVEFCTEV9ICR7
V0VCS0lUMl9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsIC0taW5j
bHVkZS1wYXRoICR7V0VCS0lUMl9ESVJ9IC0tb3V0cHV0ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJ
VDJfRElSfS9pbmNsdWRlIC0tcGxhdGZvcm0gZWZsIC0tcGxhdGZvcm0gQ29vcmRpbmF0ZWRHcmFw
aGljcyAtLXBsYXRmb3JtIHNvdXAKLSkKLQotc2V0KFdFQktJVDJfRVhUUkFfREVQRU5ERU5DSUVT
Ci0gICAgIGZvcndhcmRpbmctaGVhZGVyc0VmbEZvcldlYktpdDIKLSkKLQotY29uZmlndXJlX2Zp
bGUoZWZsL2V3ZWJraXQyLnBjLmluICR7Q01BS0VfQklOQVJZX0RJUn0vV2ViS2l0Mi9lZmwvZXdl
YmtpdDIucGMgQE9OTFkpCi1jb25maWd1cmVfZmlsZShlZmwvZXdlYmtpdDItZXh0ZW5zaW9uLnBj
LmluICR7Q01BS0VfQklOQVJZX0RJUn0vV2ViS2l0Mi9lZmwvZXdlYmtpdDItZXh0ZW5zaW9uLnBj
IEBPTkxZKQotY29uZmlndXJlX2ZpbGUoZWZsL0VXZWJLaXQyQ29uZmlnLmNtYWtlLmluICR7Q01B
S0VfQklOQVJZX0RJUn0vV2ViS2l0Mi9lZmwvRVdlYktpdDJDb25maWcuY21ha2UgQE9OTFkpCi1j
b25maWd1cmVfZmlsZShlZmwvRVdlYktpdDJDb25maWdWZXJzaW9uLmNtYWtlLmluICR7Q01BS0Vf
QklOQVJZX0RJUn0vV2ViS2l0Mi9lZmwvRVdlYktpdDJDb25maWdWZXJzaW9uLmNtYWtlIEBPTkxZ
KQotY29uZmlndXJlX2ZpbGUoVUlQcm9jZXNzL0FQSS9lZmwvRVdlYktpdDIuaC5pbiAke0RFUklW
RURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVkZS9FV2ViS2l0Mi5oKQotCi1zZXQoRVdlYktp
dDJfSEVBREVSUwotICAgICIke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVkZS9F
V2ViS2l0Mi5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2F1dGhfcmVxdWVzdC5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJ
Un0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2JhY2tfZm9yd2FyZF9saXN0LmgiCi0gICAgIiR7Q01B
S0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfYmFja19mb3J3YXJk
X2xpc3RfaXRlbS5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2FwcGxpY2F0aW9uX2NhY2hlX21hbmFnZXIuaCIKLSAgICAiJHtDTUFLRV9D
VVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb2xvcl9waWNrZXIuaCIK
LSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19j
b250ZXh0LmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfY29udGV4dF9tZW51LmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElS
fS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaCIKLSAgICAiJHtDTUFL
RV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29raWVfbWFuYWdl
ci5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2RhdGFiYXNlX21hbmFnZXIuaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kb3dubG9hZF9qb2IuaCIKLSAgICAiJHtDTUFLRV9DVVJS
RU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19lcnJvci5oIgotICAgICIke0NN
QUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0
YWJhc2UuaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19maWxlX2Nob29zZXJfcmVxdWVzdC5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09V
UkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0Lmgi
Ci0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
aW50cm8uaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19tYWluLmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9kYXRhLmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9T
T1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNp
b24uaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19vYmplY3QuaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19wYWdlX2dyb3VwLmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0Vf
RElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcG9wdXBfbWVudS5oIgotICAgICIke0NNQUtFX0NV
UlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BvcHVwX21lbnVfaXRlbS5o
IgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3NlY3VyaXR5X29yaWdpbi5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3NldHRpbmdzLmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VS
Q0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfc3RvcmFnZV9tYW5hZ2VyLmgiCi0gICAgIiR7
Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdGV4dF9jaGVj
a2VyLmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfdG91Y2guaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a191cmxfcmVxdWVzdC5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNF
X0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXNwb25zZS5oIgotICAgICIke0NNQUtF
X0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9zY2hlbWVfcmVx
dWVzdC5oIgotICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3ZpZXcuaCIKLSAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a193aW5kb3dfZmVhdHVyZXMuaCIKLSkKLQotc2V0KEVXZWJLaXQyX0V4dGVu
c2lvbl9IRUFERVJTCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9lZmwvRVdlYktpdF9FeHRlbnNpb24uaCIKLSAgICAiJHtDTUFL
RV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2VmbC9l
d2tfZXh0ZW5zaW9uLmgiCi0gICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9lZmwvZXdrX3BhZ2UuaCIKLSkKLQotaW5zdGFsbChGSUxF
UyAke0VXZWJLaXQyX0hFQURFUlN9IERFU1RJTkFUSU9OICR7SEVBREVSX0lOU1RBTExfRElSfSkK
LWluc3RhbGwoRklMRVMgJHtFV2ViS2l0Ml9FeHRlbnNpb25fSEVBREVSU30gREVTVElOQVRJT04g
JHtIRUFERVJfSU5TVEFMTF9ESVJ9L2V4dGVuc2lvbikKLQotaW5zdGFsbChGSUxFUyAke0NNQUtF
X0JJTkFSWV9ESVJ9L1dlYktpdDIvZWZsL2V3ZWJraXQyLnBjIERFU1RJTkFUSU9OIGxpYi9wa2dj
b25maWcpCi1pbnN0YWxsKEZJTEVTICR7Q01BS0VfQklOQVJZX0RJUn0vV2ViS2l0Mi9lZmwvZXdl
YmtpdDItZXh0ZW5zaW9uLnBjIERFU1RJTkFUSU9OIGxpYi9wa2djb25maWcpCi1pbnN0YWxsKEZJ
TEVTCi0gICAgICAgICR7Q01BS0VfQklOQVJZX0RJUn0vV2ViS2l0Mi9lZmwvRVdlYktpdDJDb25m
aWcuY21ha2UKLSAgICAgICAgJHtDTUFLRV9CSU5BUllfRElSfS9XZWJLaXQyL2VmbC9FV2ViS2l0
MkNvbmZpZ1ZlcnNpb24uY21ha2UKLSAgICAgICAgREVTVElOQVRJT04gbGliL2NtYWtlL0VXZWJL
aXQyKQotCi1zZXQoRVdFQktJVF9FWFRFTlNJT05fTUFOQUdFUl9JTlNUQUxMX0RJUiAiJHtMSUJf
SU5TVEFMTF9ESVJ9LyR7V2ViS2l0Ml9PVVRQVVRfTkFNRX0tJHtQUk9KRUNUX1ZFUlNJT05fTUFK
T1J9LyIgQ0FDSEUgUEFUSCAiQWJzb2x1dGUgcGF0aCB0byBpbnN0YWxsIGluamVjdGVkIGJ1bmRs
ZSB3aGljaCBjb250cm9scyB0aGUgZXh0ZW5zaW9uIGxpYnJhcnkiKQotCi1hZGRfbGlicmFyeShl
d2Via2l0X2V4dGVuc2lvbl9tYW5hZ2VyIFNIQVJFRCAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vz
cy9lZmwvV2ViSW5qZWN0ZWRCdW5kbGVNYWluRWZsLmNwcCIpCi10YXJnZXRfbGlua19saWJyYXJp
ZXMoZXdlYmtpdF9leHRlbnNpb25fbWFuYWdlciBXZWJLaXQyKQotCi1pbnN0YWxsKFRBUkdFVFMg
ZXdlYmtpdF9leHRlbnNpb25fbWFuYWdlciBERVNUSU5BVElPTiAiJHtFV0VCS0lUX0VYVEVOU0lP
Tl9NQU5BR0VSX0lOU1RBTExfRElSfSIpCi0KLWlmIChFTkFCTEVfUExVR0lOX1BST0NFU1MpCi0g
ICAgbGlzdChBUFBFTkQgUGx1Z2luUHJvY2Vzc19JTkNMVURFX0RJUkVDVE9SSUVTCi0gICAgICAg
ICIke1dFQktJVDJfRElSfS9QbHVnaW5Qcm9jZXNzL3VuaXgiCi0gICAgKQotCi0gICAgaW5jbHVk
ZV9kaXJlY3Rvcmllcygke1BsdWdpblByb2Nlc3NfSU5DTFVERV9ESVJFQ1RPUklFU30pCi0KLSAg
ICBsaXN0KEFQUEVORCBQbHVnaW5Qcm9jZXNzX1NPVVJDRVMKLSAgICAgICAgJHtXRUJLSVQyX0RJ
Un0vUGx1Z2luUHJvY2Vzcy9FbnRyeVBvaW50L3VuaXgvUGx1Z2luUHJvY2Vzc01haW4uY3BwCi0g
ICAgKQotCi0gICAgaWYgKEVOQUJMRV9FQ09SRV9YKQotICAgICAgICBsaXN0KEFQUEVORCBQbHVn
aW5Qcm9jZXNzX0xJQlJBUklFUwotICAgICAgICAgICAgJHtFQ09SRV9YX0xJQlJBUklFU30KLSAg
ICAgICAgKQotICAgIGVuZGlmICgpCi1lbmRpZiAoKSAjIEVOQUJMRV9QTFVHSU5fUFJPQ0VTUwot
Ci1pbmNsdWRlX2RpcmVjdG9yaWVzKCR7VEhJUkRQQVJUWV9ESVJ9L2d0ZXN0L2luY2x1ZGUpCi0K
LXNldChFV0syVW5pdFRlc3RzX0xJQlJBUklFUwotICAgICR7Q0FJUk9fTElCUkFSSUVTfQotICAg
ICR7RUNPUkVfRVZBU19MSUJSQVJJRVN9Ci0gICAgJHtFQ09SRV9MSUJSQVJJRVN9Ci0gICAgJHtF
VkFTX0xJQlJBUklFU30KLSAgICAke0dMSUJfR0lPX0xJQlJBUklFU30KLSAgICAke0dMSUJfR09C
SkVDVF9MSUJSQVJJRVN9Ci0gICAgJHtHTElCX0dUSFJFQURfTElCUkFSSUVTfQotICAgICR7R0xJ
Ql9MSUJSQVJJRVN9Ci0gICAgJHtMSUJTT1VQX0xJQlJBUklFU30KLSAgICBXZWJLaXQyCi0gICAg
SmF2YVNjcmlwdENvcmUKLSAgICBXVEYKLSAgICBXZWJDb3JlCi0gICAgZ3Rlc3QKLSkKLQotaWYg
KEVOQUJMRV9FQ09SRV9YKQotICAgIGxpc3QoQVBQRU5EIEVXSzJVbml0VGVzdHNfTElCUkFSSUVT
Ci0gICAgICAgICR7RUNPUkVfWF9MSUJSQVJJRVN9Ci0gICAgKQotZW5kaWYgKCkKLQotc2V0KFdF
QktJVDJfRUZMX1RFU1RfRElSICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0
cyIpCi1zZXQoVEVTVF9SRVNPVVJDRVNfRElSICR7V0VCS0lUMl9FRkxfVEVTVF9ESVJ9L3Jlc291
cmNlcykKLXNldChURVNUX0VYVEVOU0lPTlNfRElSICR7V0VCS0lUMl9FRkxfVEVTVF9ESVJ9L2V4
dGVuc2lvbnMpCi1zZXQoV0VCS0lUMl9FRkxfVEVTVF9SVU5USU1FX09VVFBVVF9ESVJFQ1RPUlkg
JHtDTUFLRV9SVU5USU1FX09VVFBVVF9ESVJFQ1RPUll9L1Rlc3RXZWJLaXRBUEkvRVdlYktpdDIp
Ci0KLWFkZF9kZWZpbml0aW9ucygtRFRFU1RfUkVTT1VSQ0VTX0RJUj1cIiR7VEVTVF9SRVNPVVJD
RVNfRElSfVwiCi0gICAgLURURVNUX0xJQl9ESVI9XCIke0NNQUtFX0xJQlJBUllfT1VUUFVUX0RJ
UkVDVE9SWX1cIgotICAgIC1ER1RFU1RfTElOS0VEX0FTX1NIQVJFRF9MSUJSQVJZPTEKLSAgICAt
RExJQkRJUj1cIiR7TElCX0lOU1RBTExfRElSfVwiCi0gICAgLURMSUJFWEVDRElSPVwiJHtFWEVD
X0lOU1RBTExfRElSfVwiCi0gICAgLUREQVRBRElSPVwiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0v
c2hhcmVcIgotICAgIC1ERVhURU5TSU9OTUFOQUdFUkRJUj1cIiR7Q01BS0VfSU5TVEFMTF9QUkVG
SVh9LyR7RVdFQktJVF9FWFRFTlNJT05fTUFOQUdFUl9JTlNUQUxMX0RJUn1cIgotICAgIC1EV0VC
UFJPQ0VTU05BTUU9XCJXZWJLaXRXZWJQcm9jZXNzXCIKLSAgICAtRFBMVUdJTlBST0NFU1NOQU1F
PVwiV2ViS2l0UGx1Z2luUHJvY2Vzc1wiCi0gICAgLURORVRXT1JLUFJPQ0VTU05BTUU9XCJXZWJL
aXROZXR3b3JrUHJvY2Vzc1wiCi0gICAgLUREQVRBQkFTRVBST0NFU1NOQU1FPVwiV2ViS2l0RGF0
YWJhc2VQcm9jZXNzXCIKLSAgICAtREVYVEVOU0lPTk1BTkFHRVJOQU1FPVwibGliZXdlYmtpdF9l
eHRlbnNpb25fbWFuYWdlci5zb1wiCi0gICAgLURHVEVTVF9IQVNfUlRUST0wCi0pCi0KLWFkZF9s
aWJyYXJ5KGV3azJVbml0VGVzdFV0aWxzCi0gICAgJHtXRUJLSVQyX0VGTF9URVNUX0RJUn0vVW5p
dFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcAotICAgICR7V0VCS0lUMl9FRkxfVEVTVF9E
SVJ9L1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0RW52aXJvbm1lbnQuY3BwCi0gICAgJHtXRUJL
SVQyX0VGTF9URVNUX0RJUn0vVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RNYWluLmNwcAotICAg
ICR7V0VCS0lUMl9FRkxfVEVTVF9ESVJ9L1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0U2VydmVy
LmNwcAotKQotCi10YXJnZXRfbGlua19saWJyYXJpZXMoZXdrMlVuaXRUZXN0VXRpbHMgJHtFV0sy
VW5pdFRlc3RzX0xJQlJBUklFU30pCi0KLSMgVGhlICJld2siIG9uIHRoZSB0ZXN0IG5hbWUgbmVl
ZHMgdG8gYmUgc3VmZml4ZWQgd2l0aCAiMiIsIG90aGVyd2lzZSBpdAotIyB3aWxsIGNsYXNoIHdp
dGggdGVzdHMgZnJvbSB0aGUgV2ViS2l0IDEgdGVzdCBzdWl0ZS4KLXNldChFV0syVW5pdFRlc3Rz
X0JJTkFSSUVTCi0gICAgdGVzdF9ld2syX2FjY2Vzc2liaWxpdHkKLSAgICB0ZXN0X2V3azJfYXBw
bGljYXRpb25fY2FjaGVfbWFuYWdlcgotICAgIHRlc3RfZXdrMl9hdXRoX3JlcXVlc3QKLSAgICB0
ZXN0X2V3azJfYmFja19mb3J3YXJkX2xpc3QKLSAgICB0ZXN0X2V3azJfY29sb3JfcGlja2VyCi0g
ICAgdGVzdF9ld2syX2NvbnRleHQKLSAgICB0ZXN0X2V3azJfY29udGV4dF9oaXN0b3J5X2NhbGxi
YWNrcwotICAgIHRlc3RfZXdrMl9jb250ZXh0X21lbnUKLSAgICB0ZXN0X2V3azJfY29va2llX21h
bmFnZXIKLSAgICB0ZXN0X2V3azJfZGF0YWJhc2VfbWFuYWdlcgotICAgIHRlc3RfZXdrMl9kb3du
bG9hZF9qb2IKLSAgICB0ZXN0X2V3azJfZWluYV9zaGFyZWRfc3RyaW5nCi0gICAgdGVzdF9ld2sy
X2Zhdmljb25fZGF0YWJhc2UKLSAgICB0ZXN0X2V3azJfZmlsZV9jaG9vc2VyX3JlcXVlc3QKLSAg
ICB0ZXN0X2V3azJfamF2YXNjcmlwdF9iaW5kaW5nCi0gICAgdGVzdF9ld2syX29iamVjdAotICAg
IHRlc3RfZXdrMl9wYWdlCi0gICAgdGVzdF9ld2syX3BhZ2VfZ3JvdXAKLSAgICB0ZXN0X2V3azJf
cG9wdXBfbWVudQotICAgIHRlc3RfZXdrMl9zZXR0aW5ncwotICAgIHRlc3RfZXdrMl9zc2wKLSAg
ICB0ZXN0X2V3azJfc3RvcmFnZV9tYW5hZ2VyCi0gICAgdGVzdF9ld2syX3RleHRfY2hlY2tlcgot
ICAgIHRlc3RfZXdrMl92aWV3Ci0gICAgdGVzdF9ld2syX3ZpZXdfY29uZmlndXJhdGlvbgotICAg
IHRlc3RfZXdrMl93aW5kb3dfZmVhdHVyZXMKLSkKLQotIyBTa2lwcGVkIHVuaXQgdGVzdHMgbGlz
dDoKLSMKLSMgd2Via2l0Lm9yZy9iLzEwNzQyMjogdGVzdF9ld2syX2F1dGhfcmVxdWVzdAotCi1p
ZiAoRU5BQkxFX0FQSV9URVNUUykKLSAgICBmb3JlYWNoICh0ZXN0TmFtZSAke0VXSzJVbml0VGVz
dHNfQklOQVJJRVN9KQotICAgICAgICBhZGRfZXhlY3V0YWJsZSgke3Rlc3ROYW1lfSAke1dFQktJ
VDJfRUZMX1RFU1RfRElSfS8ke3Rlc3ROYW1lfS5jcHApCi0gICAgICAgIGFkZF90ZXN0KCR7dGVz
dE5hbWV9ICR7V0VCS0lUMl9FRkxfVEVTVF9SVU5USU1FX09VVFBVVF9ESVJFQ1RPUll9LyR7dGVz
dE5hbWV9KQotICAgICAgICBzZXRfdGVzdHNfcHJvcGVydGllcygke3Rlc3ROYW1lfSBQUk9QRVJU
SUVTIFRJTUVPVVQgNjApCi0gICAgICAgIHNldF90YXJnZXRfcHJvcGVydGllcygke3Rlc3ROYW1l
fSBQUk9QRVJUSUVTIFJVTlRJTUVfT1VUUFVUX0RJUkVDVE9SWSAke1dFQktJVDJfRUZMX1RFU1Rf
UlVOVElNRV9PVVRQVVRfRElSRUNUT1JZfSkKLSAgICAgICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVz
KCR7dGVzdE5hbWV9ICR7RVdLMlVuaXRUZXN0c19MSUJSQVJJRVN9IGV3azJVbml0VGVzdFV0aWxz
KQotICAgIGVuZGZvcmVhY2ggKCkKLQotICAgIGFkZF9saWJyYXJ5KGV3azJVbml0VGVzdEV4dGVu
c2lvblNhbXBsZSBTSEFSRUQgJHtURVNUX0VYVEVOU0lPTlNfRElSfS9leHRlbnNpb25fc2FtcGxl
LmNwcCkKLSAgICB0YXJnZXRfbGlua19saWJyYXJpZXMoZXdrMlVuaXRUZXN0RXh0ZW5zaW9uU2Ft
cGxlICR7RUlOQV9MSUJSQVJJRVN9IFdlYktpdDIpCi1lbmRpZiAoKQotCi1pZiAoRU5BQkxFX1NQ
RUxMQ0hFQ0spCi0gICAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TWVNURU1fSU5DTFVERV9ESVJFQ1RP
UklFUwotICAgICAgICAke0VOQ0hBTlRfSU5DTFVERV9ESVJTfQotICAgICkKLSAgICBsaXN0KEFQ
UEVORCBXZWJLaXQyX0xJQlJBUklFUwotICAgICAgICAke0VOQ0hBTlRfTElCUkFSSUVTfQotICAg
ICkKLWVuZGlmICgpCi0KLWlmIChFTkFCTEVfQUNDRVNTSUJJTElUWSkKLSAgICBsaXN0KEFQUEVO
RCBXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAgICAgIiR7V0VCS0lUMl9ESVJ9L1dl
YlByb2Nlc3MvV2ViUGFnZS9hdGsiCi0gICAgKQotICAgIGxpc3QoQVBQRU5EIFdlYktpdDJfU1lT
VEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAgICAgJHtBVEtfSU5DTFVERV9ESVJTfQotICAg
ICkKLSAgICBsaXN0KEFQUEVORCBXZWJLaXQyX0xJQlJBUklFUwotICAgICAgICAke0FUS19MSUJS
QVJJRVN9Ci0gICAgKQotZW5kaWYgKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvdW5peC9QbHVnaW5Qcm9jZXNzTWFpblVuaXguY3BwIGIvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy91bml4L1BsdWdpblByb2Nlc3NNYWluVW5peC5jcHAKaW5kZXggNzQ1YmI3
MWIwMWY1NTNhZTAyOWExNzM1MjBhZDU5MWU4MzQwMDg4NC4uMDJhODE2YjI3ZTQ4ZGJlNWMzNWU3
NDI3MTIzMzQ2N2QzMmVhZThhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJv
Y2Vzcy91bml4L1BsdWdpblByb2Nlc3NNYWluVW5peC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy91bml4L1BsdWdpblByb2Nlc3NNYWluVW5peC5jcHAKQEAgLTM5LDggKzM5
LDYgQEAKIAogI2lmIFBMQVRGT1JNKEdUSykKICNpbmNsdWRlIDxndGsvZ3RrLmg+Ci0jZWxpZiBQ
TEFURk9STShFRkwpICYmIEhBVkVfRUNPUkVfWAotI2luY2x1ZGUgPEVjb3JlX1guaD4KICNlbmRp
ZgogCiAjaWYgZGVmaW5lZChYUF9VTklYKQpAQCAtNjAsMTEgKzU4LDYgQEAgcHVibGljOgogICAg
IHsKICNpZiBQTEFURk9STShHVEspCiAgICAgICAgIGd0a19pbml0KG51bGxwdHIsIG51bGxwdHIp
OwotI2VsaWYgUExBVEZPUk0oRUZMKQotI2lmZGVmIEhBVkVfRUNPUkVfWAotICAgICAgICBpZiAo
IWVjb3JlX3hfaW5pdCgwKSkKLSNlbmRpZgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2Vu
ZGlmCiAKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL0FQSU9iamVjdC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9BUElPYmpl
Y3QuaAppbmRleCBhMGFkMDRmZDMyOTk5ZjM3NTViMzBmYWExYTQzYmQ0YjU4NTgzOTIwLi5mMmNi
MDU0MGEzMWQwNTQ0OGZlMmI4ZjVlODM1YTJmM2Q3ZGFjODA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvQVBJT2JqZWN0LmgKQEAgLTE5MiwxMyArMTkyLDYgQEAgcHVibGljOgogICAgICAgICBT
b3VwUmVxdWVzdE1hbmFnZXIsCiAgICAgICAgIFNvdXBDdXN0b21Qcm90b2NvbFJlcXVlc3RNYW5h
Z2VyLAogI2VuZGlmCi0jaWYgUExBVEZPUk0oRUZMKQotICAgICAgICBQb3B1cE1lbnVJdGVtLAot
I2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgICAgIFRvdWNoUG9pbnQsCi0gICAgICAgIFRv
dWNoRXZlbnQsCi0jZW5kaWYKLSNlbmRpZgogICAgIH07CiAKICAgICB2aXJ0dWFsIH5PYmplY3Qo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oCmluZGV4IGU5ZGY3ODc0Yjc3NWUzZWFl
Mzk2MGM0MTE3MzljODQ4ZWI4NGNjMzcuLjJlOGZiZmJiZTVjNTQ5ODAwMjBmMmM1OWRiZGE2Y2Vl
ZTA2YWY4M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgKQEAgLTM0LDEwICsz
NCw2IEBACiAjaW5jbHVkZSA8V2ViS2l0L1dLQmFzZUd0ay5oPgogI2VuZGlmCiAKLSNpZiBkZWZp
bmVkKEJVSUxESU5HX0VGTF9fKQotI2luY2x1ZGUgPFdlYktpdC9XS0Jhc2VFZmwuaD4KLSNlbmRp
ZgotCiAjaWYgZGVmaW5lZChfX0FQUExFX18pICYmICFkZWZpbmVkKEJVSUxESU5HX0dUS19fKQog
I2luY2x1ZGUgPFdlYktpdC9XS0Jhc2VNYWMuaD4KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCmluZGV4IGIzOTNiYzIyZTMyMzU3MTdjMjk2
MDAyZjJjYWEwZmNlNDlmZDRkODIuLjg2NGJhZmYxNmM3YTVmZGM0ZDViNGZmOTk4MmQ1NWU0Y2Nl
ZTEyNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQ
SUNhc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0
LmgKQEAgLTMzNiw3ICszMzYsNyBAQCBpbmxpbmUgV0tDb250ZXh0TWVudUl0ZW1UYWcgdG9BUEko
V2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24gYWN0aW9uKQogICAgICAgICByZXR1cm4ga1dLQ29u
dGV4dE1lbnVJdGVtVGFnRG93bmxvYWRJbWFnZVRvRGlzazsKICAgICBjYXNlIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkOgogICAgICAgICByZXR1cm4ga1dL
Q29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9hcmQ7Ci0jaWYgUExBVEZPUk0oRUZM
KSB8fCBQTEFURk9STShHVEspCisjaWYgUExBVEZPUk0oR1RLKQogICAgIGNhc2UgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQ6CiAgICAgICAgIHJldHVy
biBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZDsKICNlbmRpZgpA
QCAtMzU2LDcgKzM1Niw3IEBAIGlubGluZSBXS0NvbnRleHRNZW51SXRlbVRhZyB0b0FQSShXZWJD
b3JlOjpDb250ZXh0TWVudUFjdGlvbiBhY3Rpb24pCiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0
TWVudUl0ZW1UYWdDdXQ7CiAgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdQYXN0
ZToKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Bhc3RlOwotI2lmIFBMQVRG
T1JNKEVGTCkgfHwgUExBVEZPUk0oR1RLKQorI2lmIFBMQVRGT1JNKEdUSykKICAgICBjYXNlIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbDoKICAgICAgICAgcmV0dXJuIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbDsKICNlbmRpZgpAQCAtNTMxLDcgKzUzMSw3IEBAIGlu
bGluZSBXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiB0b0ltcGwoV0tDb250ZXh0TWVudUl0ZW1U
YWcgdGFnKQogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9h
cmQ6CiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VU
b0NsaXBib2FyZDsKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3
V2luZG93OgotI2lmIFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oR1RLKQorI2lmIFBMQVRGT1JN
KEdUSykKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVVybFRvQ2xpcGJv
YXJkOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdl
VXJsVG9DbGlwYm9hcmQ7CiAjZW5kaWYKQEAgLTU1MCw3ICs1NTAsNyBAQCBpbmxpbmUgV2ViQ29y
ZTo6Q29udGV4dE1lbnVBY3Rpb24gdG9JbXBsKFdLQ29udGV4dE1lbnVJdGVtVGFnIHRhZykKICAg
ICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0N1dDsKICAgICBjYXNlIGtX
S0NvbnRleHRNZW51SXRlbVRhZ1Bhc3RlOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnUGFzdGU7Ci0jaWYgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShHVEspCisj
aWYgUExBVEZPUk0oR1RLKQogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxs
OgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsOwog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2ViS2V5Ym9h
cmRFdmVudC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYktleWJvYXJkRXZlbnQu
aAppbmRleCBiYWJiM2FlMTkyMTM5ZTVlYTM3YzEzYWE1ZDA0ZjZjYTg3NDRlYWFlLi5jYjFmMTE4
Yzg5MmYxNWQxYWRlZWI5MzgwZjRiZTBlZjg0MGIwMWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgKQEAgLTM5LDEwICszOSw2IEBAIHN0cnVj
dCBLZXlwcmVzc0NvbW1hbmQ7CiB9CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEVGTCkKLSNpbmNs
dWRlIDxFdmFzLmg+Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKEdUSykKICNpbmNsdWRlICJJbnB1
dE1ldGhvZEZpbHRlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ29tcG9zaXRpb25SZXN1bHRzLmg+
CkBAIC02NCw5ICs2MCw2IEBAIHB1YmxpYzoKICNlbGlmIFBMQVRGT1JNKEdUSykKICAgICBOYXRp
dmVXZWJLZXlib2FyZEV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmKTsKICAgICBO
YXRpdmVXZWJLZXlib2FyZEV2ZW50KEdka0V2ZW50KiwgY29uc3QgV2ViQ29yZTo6Q29tcG9zaXRp
b25SZXN1bHRzJiwgSW5wdXRNZXRob2RGaWx0ZXI6OkV2ZW50RmFrZWRGb3JDb21wb3NpdGlvbiwg
VmVjdG9yPFN0cmluZz4mJiBjb21tYW5kcyk7Ci0jZWxpZiBQTEFURk9STShFRkwpCi0gICAgTmF0
aXZlV2ViS2V5Ym9hcmRFdmVudChjb25zdCBFdmFzX0V2ZW50X0tleV9Eb3duKiwgYm9vbCk7Ci0g
ICAgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudChjb25zdCBFdmFzX0V2ZW50X0tleV9VcCopOwogI2Vs
aWYgUExBVEZPUk0oSU9TKQogICAgIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQoOjpXZWJFdmVudCAq
KTsKICNlbmRpZgpAQCAtNzcsOSArNzAsNiBAQCBwdWJsaWM6CiAgICAgR2RrRXZlbnQqIG5hdGl2
ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9uYXRpdmVFdmVudC5nZXQoKTsgfQogICAgIGNvbnN0
IFdlYkNvcmU6OkNvbXBvc2l0aW9uUmVzdWx0cyYgY29tcG9zaXRpb25SZXN1bHRzKCkgY29uc3Qg
IHsgcmV0dXJuIG1fY29tcG9zaXRpb25SZXN1bHRzOyB9CiAgICAgYm9vbCBpc0Zha2VFdmVudEZv
ckNvbXBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9mYWtlRXZlbnRGb3JDb21wb3NpdGlvbjsg
fQotI2VsaWYgUExBVEZPUk0oRUZMKQotICAgIGNvbnN0IHZvaWQqIG5hdGl2ZUV2ZW50KCkgY29u
c3QgeyByZXR1cm4gbV9uYXRpdmVFdmVudDsgfQotICAgIGJvb2wgaXNGaWx0ZXJlZCgpIGNvbnN0
IHsgcmV0dXJuIG1faXNGaWx0ZXJlZDsgfQogI2VsaWYgUExBVEZPUk0oSU9TKQogICAgIDo6V2Vi
RXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9uYXRpdmVFdmVudC5nZXQoKTsg
fQogI2VuZGlmCkBAIC05MSw5ICs4MSw2IEBAIHByaXZhdGU6CiAgICAgR1VuaXF1ZVB0cjxHZGtF
dmVudD4gbV9uYXRpdmVFdmVudDsKICAgICBXZWJDb3JlOjpDb21wb3NpdGlvblJlc3VsdHMgbV9j
b21wb3NpdGlvblJlc3VsdHM7CiAgICAgYm9vbCBtX2Zha2VFdmVudEZvckNvbXBvc2l0aW9uOwot
I2VsaWYgUExBVEZPUk0oRUZMKQotICAgIGNvbnN0IHZvaWQqIG1fbmF0aXZlRXZlbnQ7Ci0gICAg
Ym9vbCBtX2lzRmlsdGVyZWQ7CiAjZWxpZiBQTEFURk9STShJT1MpCiAgICAgUmV0YWluUHRyPDo6
V2ViRXZlbnQ+IG1fbmF0aXZlRXZlbnQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
TmF0aXZlV2ViTW91c2VFdmVudC5oCmluZGV4IGE0Zjk1YzJhZjU0ZDA3ZGNkNDA1YzE0ZjVjZjZi
Y2M1YzQ5OTNmZjguLjg4Y2QxNDEwOTM4YTc1ZDIxNDQ0Yjc5Y2RiNWE0ZTRhMzdjMWRmYjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaApAQCAtMzMsMTIg
KzMzLDYgQEAKIE9CSkNfQ0xBU1MgTlNWaWV3OwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShFRkwp
Ci0jaW5jbHVkZSAiV2ViRXZlbnRGYWN0b3J5LmgiCi0jaW5jbHVkZSA8RXZhcy5oPgotI2luY2x1
ZGUgPFdlYkNvcmUvQWZmaW5lVHJhbnNmb3JtLmg+Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKEdU
SykKICNpbmNsdWRlIDxXZWJDb3JlL0dVbmlxdWVQdHJHdGsuaD4KIHR5cGVkZWYgdW5pb24gX0dk
a0V2ZW50IEdka0V2ZW50OwpAQCAtNTMsMTcgKzQ3LDEyIEBAIHB1YmxpYzoKICNlbGlmIFBMQVRG
T1JNKEdUSykKICAgICBOYXRpdmVXZWJNb3VzZUV2ZW50KGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZl
bnQmKTsKICAgICBOYXRpdmVXZWJNb3VzZUV2ZW50KEdka0V2ZW50KiwgaW50KTsKLSNlbGlmIFBM
QVRGT1JNKEVGTCkKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgRXZhc0V2ZW50TW91c2U+Ci0gICAg
TmF0aXZlV2ViTW91c2VFdmVudChjb25zdCBFdmFzRXZlbnRNb3VzZSosIGNvbnN0IFdlYkNvcmU6
OkFmZmluZVRyYW5zZm9ybSYsIGNvbnN0IFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSYpOwogI2Vu
ZGlmCiAKICNpZiBVU0UoQVBQS0lUKQogICAgIE5TRXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9uYXRpdmVFdmVudC5nZXQoKTsgfQogI2VsaWYgUExBVEZPUk0oR1RLKQogICAg
IGNvbnN0IEdka0V2ZW50KiBuYXRpdmVFdmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZlRXZl
bnQuZ2V0KCk7IH0KLSNlbGlmIFBMQVRGT1JNKEVGTCkKLSAgICBjb25zdCB2b2lkKiBuYXRpdmVF
dmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZlRXZlbnQ7IH0KICNlbGlmIFBMQVRGT1JNKElP
UykKICAgICBjb25zdCB2b2lkKiBuYXRpdmVFdmVudCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KICNl
bmRpZgpAQCAtNzMsMjAgKzYyLDkgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8TlNFdmVudD4g
bV9uYXRpdmVFdmVudDsKICNlbGlmIFBMQVRGT1JNKEdUSykKICAgICBHVW5pcXVlUHRyPEdka0V2
ZW50PiBtX25hdGl2ZUV2ZW50OwotI2VsaWYgUExBVEZPUk0oRUZMKQotICAgIGNvbnN0IHZvaWQq
IG1fbmF0aXZlRXZlbnQ7CiAjZW5kaWYKIH07CiAKLSNpZiBQTEFURk9STShFRkwpCi10ZW1wbGF0
ZSA8dHlwZW5hbWUgRXZhc0V2ZW50TW91c2U+Ci1OYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVX
ZWJNb3VzZUV2ZW50KGNvbnN0IEV2YXNFdmVudE1vdXNlKiBldmVudCwgY29uc3QgV2ViQ29yZTo6
QWZmaW5lVHJhbnNmb3JtJiB0b1dlYkNvbnRlbnQsIGNvbnN0IFdlYkNvcmU6OkFmZmluZVRyYW5z
Zm9ybSYgdG9EZXZpY2VTY3JlZW4pCi0gICAgOiBXZWJNb3VzZUV2ZW50KFdlYkV2ZW50RmFjdG9y
eTo6Y3JlYXRlV2ViTW91c2VFdmVudChldmVudCwgdG9XZWJDb250ZW50LCB0b0RldmljZVNjcmVl
bikpCi0gICAgLCBtX25hdGl2ZUV2ZW50KGV2ZW50KQotewotfQotI2VuZGlmCi0KIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gTmF0aXZlV2ViTW91c2VFdmVudF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2ViVG91Y2hFdmVudC5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYlRvdWNoRXZlbnQuaAppbmRleCA0YWRkNmI1MjdmOTcz
MmFlMmI5ZjFiYjUzOGJlZWY3ZDY0ZTY1NGE4Li4xMTgxMjRjZGViY2MxZjNjOWVmYTMzZmY2ZDY4
NzBjOGY0MTZhMmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2Vi
VG91Y2hFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJUb3VjaEV2
ZW50LmgKQEAgLTM0LDEwICszNCw2IEBACiBzdHJ1Y3QgX1VJV2ViVG91Y2hFdmVudDsKICNlbGlm
IFBMQVRGT1JNKEdUSykKICNpbmNsdWRlIDxXZWJDb3JlL0dVbmlxdWVQdHJHdGsuaD4KLSNlbGlm
IFBMQVRGT1JNKEVGTCkKLSNpbmNsdWRlICJFd2tUb3VjaEV2ZW50LmgiCi0jaW5jbHVkZSA8V2Vi
Q29yZS9BZmZpbmVUcmFuc2Zvcm0uaD4KLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjZW5kaWYK
IAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01MCw5ICs0Niw2IEBAIHB1YmxpYzoKICAgICBOYXRp
dmVXZWJUb3VjaEV2ZW50KEdka0V2ZW50KiwgVmVjdG9yPFdlYlBsYXRmb3JtVG91Y2hQb2ludD4m
Jik7CiAgICAgTmF0aXZlV2ViVG91Y2hFdmVudChjb25zdCBOYXRpdmVXZWJUb3VjaEV2ZW50Jik7
CiAgICAgY29uc3QgR2RrRXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9uYXRp
dmVFdmVudC5nZXQoKTsgfQotI2VsaWYgUExBVEZPUk0oRUZMKQotICAgIE5hdGl2ZVdlYlRvdWNo
RXZlbnQoRXdrVG91Y2hFdmVudCosIGNvbnN0IFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSYpOwot
ICAgIGNvbnN0IEV3a1RvdWNoRXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9u
YXRpdmVFdmVudC5nZXQoKTsgfQogI2VuZGlmCiAKIHByaXZhdGU6CkBAIC02Miw4ICs1NSw2IEBA
IHByaXZhdGU6CiAKICNpZiBQTEFURk9STShHVEspCiAgICAgR1VuaXF1ZVB0cjxHZGtFdmVudD4g
bV9uYXRpdmVFdmVudDsKLSNlbGlmIFBMQVRGT1JNKEVGTCkKLSAgICBSZWZQdHI8RXdrVG91Y2hF
dmVudD4gbV9uYXRpdmVFdmVudDsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL05hdGl2ZVdlYldoZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9OYXRpdmVXZWJXaGVlbEV2ZW50LmgKaW5kZXggMTUzMzIyMjFkYzQyMWE1OTI4ZDJlZTEwM2Jj
MjM3ZDQzZTg1MDAyOS4uNWRiMGJjZThmZWJmNzIxMmUwZTI0ODcyOTBkNzJhMDM1ZDNlMDJhMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYldoZWVsRXZlbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2ViV2hlZWxFdmVudC5oCkBAIC0zMywx
MSArMzMsNiBAQAogT0JKQ19DTEFTUyBOU1ZpZXc7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKEVG
TCkKLSNpbmNsdWRlIDxFdmFzLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9BZmZpbmVUcmFuc2Zvcm0u
aD4KLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oR1RLKQogI2luY2x1ZGUgPFdlYkNvcmUvR1VuaXF1
ZVB0ckd0ay5oPgogdHlwZWRlZiB1bmlvbiBfR2RrRXZlbnQgR2RrRXZlbnQ7CkBAIC01MiwxNiAr
NDcsMTIgQEAgcHVibGljOgogI2VsaWYgUExBVEZPUk0oR1RLKQogICAgIE5hdGl2ZVdlYldoZWVs
RXZlbnQoY29uc3QgTmF0aXZlV2ViV2hlZWxFdmVudCYpOwogICAgIE5hdGl2ZVdlYldoZWVsRXZl
bnQoR2RrRXZlbnQqKTsKLSNlbGlmIFBMQVRGT1JNKEVGTCkKLSAgICBOYXRpdmVXZWJXaGVlbEV2
ZW50KGNvbnN0IEV2YXNfRXZlbnRfTW91c2VfV2hlZWwqLCBjb25zdCBXZWJDb3JlOjpBZmZpbmVU
cmFuc2Zvcm0mIHRvV2ViQ29udGVudCwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJiB0
b0RldmljZVNjcmVlbik7CiAjZW5kaWYKIAogI2lmIFVTRShBUFBLSVQpCiAgICAgTlNFdmVudCog
bmF0aXZlRXZlbnQoKSBjb25zdCB7IHJldHVybiBtX25hdGl2ZUV2ZW50LmdldCgpOyB9CiAjZWxp
ZiBQTEFURk9STShHVEspCiAgICAgR2RrRXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1
cm4gbV9uYXRpdmVFdmVudC5nZXQoKTsgfQotI2VsaWYgUExBVEZPUk0oRUZMKQotICAgIGNvbnN0
IEV2YXNfRXZlbnRfTW91c2VfV2hlZWwqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9u
YXRpdmVFdmVudDsgfQogI2VsaWYgUExBVEZPUk0oSU9TKQogICAgIGNvbnN0IHZvaWQqIG5hdGl2
ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gMDsgfQogI2VuZGlmCkBAIC03MSw4ICs2Miw2IEBAIHBy
aXZhdGU6CiAgICAgUmV0YWluUHRyPE5TRXZlbnQ+IG1fbmF0aXZlRXZlbnQ7CiAjZWxpZiBQTEFU
Rk9STShHVEspCiAgICAgR1VuaXF1ZVB0cjxHZGtFdmVudD4gbV9uYXRpdmVFdmVudDsKLSNlbGlm
IFBMQVRGT1JNKEVGTCkKLSAgICBjb25zdCBFdmFzX0V2ZW50X01vdXNlX1doZWVsKiBtX25hdGl2
ZUV2ZW50OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5Nb2R1bGVYMTEuY3BwIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luTW9kdWxl
WDExLmNwcAppbmRleCBhY2ZjZjAwMjMzODRhMjliZmE3NGIyNGJmZGNkMGZhMjg0ZjliMWNkLi5h
MWEwZWQ5ZWM0OWJiZDNmMDZiNmFlZmVlNTQyZGRjNGRjYTQ4MmY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5Nb2R1
bGVYMTEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL3gx
MS9OZXRzY2FwZVBsdWdpbk1vZHVsZVgxMS5jcHAKQEAgLTE4Niw5ICsxODYsNiBAQCB2b2lkIE5l
dHNjYXBlUGx1Z2luTW9kdWxlOjpkZXRlcm1pbmVRdWlya3MoKQogI2lmIENQVShYODZfNjQpCiAg
ICAgICAgICAgICBtX3BsdWdpblF1aXJrcy5hZGQoUGx1Z2luUXVpcmtzOjpJZ25vcmVSaWdodENs
aWNrSW5XaW5kb3dsZXNzTW9kZSk7CiAjZW5kaWYKLSNpZiBQTEFURk9STShFRkwpCi0gICAgICAg
ICAgICBtX3BsdWdpblF1aXJrcy5hZGQoUGx1Z2luUXVpcmtzOjpGb3JjZUZsYXNoV2luZG93bGVz
c01vZGUpOwotI2VuZGlmCiAgICAgICAgICAgICBtX3BsdWdpblF1aXJrcy5hZGQoUGx1Z2luUXVp
cmtzOjpEb05vdENhbmNlbFNyY1N0cmVhbUluV2luZG93ZWRNb2RlKTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXNEZWZpbml0aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzRGVmaW5pdGlvbnMuaAppbmRleCBhNDg1NDVkYjYxMjZhMDFmOTdmNGIwYmViZWM0NTkxNjI5
MTQzMDg1Li44NDZhMDhmYWRmMzVkYTJmYmMwNTljYzExYmQ1MTVmNWUzMTFjZjIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAg
LTMxLDEyICszMSw2IEBACiAjZGVmaW5lIERFRkFVTFRfV0VCS0lUX1RBQlNUT0xJTktTX0VOQUJM
RUQgZmFsc2UKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oRUZMKQotI2RlZmluZSBERUZBVUxUX1NF
TEVDVElPTl9QQUlOVElOR19XSVRIT1VUX1NFTEVDVElPTl9HQVBTX0VOQUJMRUQgdHJ1ZQotI2Vs
c2UKLSNkZWZpbmUgREVGQVVMVF9TRUxFQ1RJT05fUEFJTlRJTkdfV0lUSE9VVF9TRUxFQ1RJT05f
R0FQU19FTkFCTEVEIGZhbHNlCi0jZW5kaWYKLQogI2lmIEVOQUJMRShTTU9PVEhfU0NST0xMSU5H
KQogI2RlZmluZSBERUZBVUxUX1dFQktJVF9TQ1JPTExfQU5JTUFUT1JfRU5BQkxFRCB0cnVlCiAj
ZWxzZQpAQCAtMjMzLDcgKzIyNyw3IEBACiAgICAgbWFjcm8oU2hhZG93RE9NRW5hYmxlZCwgc2hh
ZG93RE9NRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIlNoYWRvdyBET00iLCAiSFRNTCBTaGFk
b3cgRE9NIHByb3RvdHlwZSIpIFwKICAgICBtYWNybyhGZXRjaEFQSUVuYWJsZWQsIGZldGNoQVBJ
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCiAgICAgbWFjcm8oRG93bmxvYWRB
dHRyaWJ1dGVFbmFibGVkLCBkb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRy
dWUsICIiLCAiIikgXAotICAgIG1hY3JvKFNlbGVjdGlvblBhaW50aW5nV2l0aG91dFNlbGVjdGlv
bkdhcHNFbmFibGVkLCBzZWxlY3Rpb25QYWludGluZ1dpdGhvdXRTZWxlY3Rpb25HYXBzRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9TRUxFQ1RJT05fUEFJTlRJTkdfV0lUSE9VVF9TRUxFQ1RJ
T05fR0FQU19FTkFCTEVELCAiIiwgIiIpIFwKKyAgICBtYWNybyhTZWxlY3Rpb25QYWludGluZ1dp
dGhvdXRTZWxlY3Rpb25HYXBzRW5hYmxlZCwgc2VsZWN0aW9uUGFpbnRpbmdXaXRob3V0U2VsZWN0
aW9uR2Fwc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKICAgICBtYWNybyhB
cHBsZVBheUVuYWJsZWQsIGFwcGxlUGF5RW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAi
IikgXAogICAgIG1hY3JvKEFwcGxlUGF5Q2FwYWJpbGl0eURpc2Nsb3N1cmVBbGxvd2VkLCBhcHBs
ZVBheUNhcGFiaWxpdHlEaXNjbG9zdXJlQWxsb3dlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIi
KSBcCiAgICAgbWFjcm8oVmlzdWFsVmlld3BvcnRFbmFibGVkLCB2aXN1YWxWaWV3cG9ydEVuYWJs
ZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXApAQCAtMzQ1LDcgKzMzOSw3IEBACiAgICAg
bWFjcm8oUGljdG9ncmFwaEZvbnRGYW1pbHksIHBpY3RvZ3JhcGhGb250RmFtaWx5LCBTdHJpbmcs
IFN0cmluZywgIkFwcGxlIENvbG9yIEVtb2ppIiwgIiIsICIiKSBcCiAgICAgXAogCi0jZWxpZiBQ
TEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKKyNlbGlmIFBMQVRGT1JNKEdUSykKIAogI2Rl
ZmluZSBGT1JfRUFDSF9XRUJLSVRfRk9OVF9GQU1JTFlfUFJFRkVSRU5DRShtYWNybykgXAogICAg
IG1hY3JvKFN0YW5kYXJkRm9udEZhbWlseSwgc3RhbmRhcmRGb250RmFtaWx5LCBTdHJpbmcsIFN0
cmluZywgIlRpbWVzIiwgIiIsICIiKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmNwcAppbmRleCAwMTU1NTMzNDIyMmY5ODc4YzAz
YzBjM2QwNTU4MGQzODI0Mjg0ZGZmLi41Yzc4Y2NkN2FlMjkwZTQ1ZTcwZjQ4M2Y1MDIwYmRhYTc5
MDRmNzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNp
dGVEYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vi
c2l0ZURhdGFTdG9yZS5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3Jl
OjpyZWdpc3RlclNoYXJlZFJlc291cmNlTG9hZE9ic2VydmVyKCkKICAgICBtX3dlYnNpdGVEYXRh
U3RvcmUtPnJlZ2lzdGVyU2hhcmVkUmVzb3VyY2VMb2FkT2JzZXJ2ZXIoKTsKIH0KICAgICAKLSNp
ZiAhUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShFRkwpICYmICFQTEFURk9STShHVEspCisj
aWYgIVBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0oR1RLKQogV2ViS2l0OjpXZWJzaXRlRGF0
YVN0b3JlOjpDb25maWd1cmF0aW9uIFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHREYXRhU3RvcmVD
b25maWd1cmF0aW9uKCkKIHsKICAgICAvLyBGSVhNRTogRmlsbCBldmVyeXRoaW5nIGluLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCmluZGV4IDc5NDZjYWNjZjc4
NDQxZTI1MGJmNzRiMDVmYzgzYTgxNjg4ODE0NzcuLjM5MmEzNDJiNDQzNzM2YTMwMjlhYzAyMzUw
YzljZDk1Yjc2NTRiNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS0FQSUNhc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElD
YXN0LmgKQEAgLTU1Nyw4ICs1NTcsNCBAQCBpbmxpbmUgUHJveHlpbmdSZWZQdHI8V2ViR3JhbW1h
ckRldGFpbD4gdG9BUEkoY29uc3QgV2ViQ29yZTo6R3JhbW1hckRldGFpbCYgZ3JhbQogI2luY2x1
ZGUgIldLQVBJQ2FzdEd0ay5oIgogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKEJVSUxESU5HX0VGTF9f
KQotI2luY2x1ZGUgIldLQVBJQ2FzdEVmbC5oIgotI2VuZGlmCi0KICNlbmRpZiAvLyBXS0FQSUNh
c3RfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLVGV4dENo
ZWNrZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLVGV4dENoZWNrZXIu
Y3BwCmluZGV4IGM4ZWFiYWMxMDBjNGFkNGNmMmIyNTZjZTc2ODgzNDhhYjdiODhmMDEuLmM4ZTc1
NjBiMTc1NjFhMjVlNDJiYTE5YzY5Y2E2YjBjNGJjNTliZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1RleHRDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tUZXh0Q2hlY2tlci5jcHAKQEAgLTI3LDcgKzI3LDcgQEAK
ICNpbmNsdWRlICJXS1RleHRDaGVja2VyLmgiCiAjaW5jbHVkZSAiVGV4dENoZWNrZXIuaCIKIAot
I2lmIGRlZmluZWQoQlVJTERJTkdfRUZMX18pIHx8IGRlZmluZWQoQlVJTERJTkdfR1RLX18pCisj
aWYgZGVmaW5lZChCVUlMRElOR19HVEtfXykKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKICNpbmNs
dWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJUZXh0Q2hlY2tlci5oIgpAQCAtNDAs
NyArNDAsNyBAQCB2b2lkIFdLVGV4dENoZWNrZXJTZXRUZXN0aW5nTW9kZShib29sIGVuYWJsZWQp
CiAgICAgVGV4dENoZWNrZXI6OnNldFRlc3RpbmdNb2RlKGVuYWJsZWQpOwogfQogCi0jaWYgZGVm
aW5lZChCVUlMRElOR19FRkxfXykgfHwgZGVmaW5lZChCVUlMRElOR19HVEtfXykKKyNpZiBkZWZp
bmVkKEJVSUxESU5HX0dUS19fKQogCiB2b2lkIFdLVGV4dENoZWNrZXJTZXRDbGllbnQoY29uc3Qg
V0tUZXh0Q2hlY2tlckNsaWVudEJhc2UqIHdrQ2xpZW50KQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLVGV4dENoZWNrZXIuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1RleHRDaGVja2VyLmgKaW5kZXggZTJjNDY3NWU0ZWIyYTM3ZmU2
MjEwNmFkYmUzYjk2MGU3ZTY0ODVlMy4uZjUyZDljNzAwMWViNzllMjgzNjAzZjE5ZjY2MDg1NTUw
ZDNjYTNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLVGV4
dENoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tUZXh0Q2hl
Y2tlci5oCkBAIC0zNCw3ICszNCw3IEBAIGV4dGVybiAiQyIgewogCiBXS19FWFBPUlQgdm9pZCBX
S1RleHRDaGVja2VyU2V0VGVzdGluZ01vZGUoYm9vbCBlbmFibGVkKTsKIAotI2lmIGRlZmluZWQo
QlVJTERJTkdfRUZMX18pIHx8IGRlZmluZWQoQlVJTERJTkdfR1RLX18pCisjaWYgZGVmaW5lZChC
VUlMRElOR19HVEtfXykKIAogLy8gVGV4dENoZWNrZXIgQ2xpZW50CiB0eXBlZGVmIGJvb2wgKCpX
S1RleHRDaGVja2VyQ29udGlub3VzU3BlbGxDaGVja2luZ0FsbG93ZWQpKGNvbnN0IHZvaWQgKmNs
aWVudEluZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJv
Y2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94
eS5jcHAKaW5kZXggZDU4ODcwZTBkNzQ0OGQ5M2E3ZTJiZmM1MmUzODAxMGM5NTEyY2ExMi4uZGQ4
YWVmNTUwYWE2NmMyMzk1ODNmODgyOTM4MjM0MjRjY2IzOWRjNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZv
aWQgQ2hpbGRQcm9jZXNzUHJveHk6OmdldExhdW5jaE9wdGlvbnMoUHJvY2Vzc0xhdW5jaGVyOjpM
YXVuY2hPcHRpb25zJiBsYXVuY2hPCiAgICAgaWYgKG1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFBy
aW9yaXR5KQogICAgICAgICBsYXVuY2hPcHRpb25zLmV4dHJhSW5pdGlhbGl6YXRpb25EYXRhLmFk
ZChBU0NJSUxpdGVyYWwoImFsd2F5cy1ydW5zLWF0LWJhY2tncm91bmQtcHJpb3JpdHkiKSwgInRy
dWUiKTsKIAotI2lmIEVOQUJMRShERVZFTE9QRVJfTU9ERSkgJiYgKFBMQVRGT1JNKEdUSykgfHwg
UExBVEZPUk0oRUZMKSkKKyNpZiBFTkFCTEUoREVWRUxPUEVSX01PREUpICYmIFBMQVRGT1JNKEdU
SykKICAgICBjb25zdCBjaGFyKiB2YXJuYW1lOwogICAgIHN3aXRjaCAobGF1bmNoT3B0aW9ucy5w
cm9jZXNzVHlwZSkgewogICAgIGNhc2UgUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6V2Vi
OgpAQCAtNzksNyArNzksNyBAQCB2b2lkIENoaWxkUHJvY2Vzc1Byb3h5OjpnZXRMYXVuY2hPcHRp
b25zKFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9ucyYgbGF1bmNoTwogICAgIGNvbnN0IGNo
YXIqIHByb2Nlc3NDbWRQcmVmaXggPSBnZXRlbnYodmFybmFtZSk7CiAgICAgaWYgKHByb2Nlc3ND
bWRQcmVmaXggJiYgKnByb2Nlc3NDbWRQcmVmaXgpCiAgICAgICAgIGxhdW5jaE9wdGlvbnMucHJv
Y2Vzc0NtZFByZWZpeCA9IFN0cmluZzo6ZnJvbVVURjgocHJvY2Vzc0NtZFByZWZpeCk7Ci0jZW5k
aWYgLy8gIWRlZmluZWQoTkRFQlVHKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwp
CisjZW5kaWYgLy8gRU5BQkxFKERFVkVMT1BFUl9NT0RFKSAmJiBQTEFURk9STShHVEspCiB9CiAK
IHZvaWQgQ2hpbGRQcm9jZXNzUHJveHk6OmNvbm5lY3QoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvUGFnZVZpZXdwb3J0Q29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9QYWdl
Vmlld3BvcnRDb250cm9sbGVyLmNwcAppbmRleCBlOGZmN2Q1YmMyZGQ2YzBlNDhiMDdmY2FhMDcz
NGU0ZDQ2ZTY2ZTY3Li44OTQ4OGUzOWYzY2IwOTEzMWFmMDQyNjkyNjg1ZWI1NjBjY2Y4Yjc5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Q
YWdlVmlld3BvcnRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcApAQCAtODYsMjUg
Kzg2LDYgQEAgc3RhdGljIGlubGluZSBib29sIGlzSW50ZWdyYWwoZmxvYXQgdmFsdWUpCiAKIEZs
b2F0UG9pbnQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6cGl4ZWxBbGlnbmVkRmxvYXRQb2ludChj
b25zdCBGbG9hdFBvaW50JiBmcmFtZVBvc2l0aW9uKQogewotI2lmIFBMQVRGT1JNKEVGTCkKLSAg
ICBmbG9hdCBlZmZlY3RpdmVTY2FsZSA9IG1fcGFnZVNjYWxlRmFjdG9yICogZGV2aWNlU2NhbGVG
YWN0b3IoKTsKLSAgICBpZiAoIWlzSW50ZWdyYWwoZWZmZWN0aXZlU2NhbGUpKSB7Ci0gICAgICAg
IC8vIFRvIGF2b2lkIGJsdXJyeW5lc3MsIG1vZGlmeSB0aGUgcG9zaXRpb24gc28gdGhhdCBpdCBt
YXBzIGludG8gYSBkaXNjcmV0ZSBkZXZpY2UgcG9zaXRpb24uCi0gICAgICAgIEZsb2F0UG9pbnQg
c2NhbGVkUG9zKGZyYW1lUG9zaXRpb24pOwotCi0gICAgICAgIC8vIFNjYWxlIGJ5IHRoZSBlZmZl
Y3RpdmUgc2NhbGUgZmFjdG9yIHRvIGNvbXB1dGUgdGhlIHNjcmVlbi1yZWxhdGl2ZSBwb3NpdGlv
bi4KLSAgICAgICAgc2NhbGVkUG9zLnNjYWxlKGVmZmVjdGl2ZVNjYWxlLCBlZmZlY3RpdmVTY2Fs
ZSk7Ci0KLSAgICAgICAgLy8gUm91bmQgdG8gaW50ZWdlciBib3VuZGFyaWVzLgotICAgICAgICBG
bG9hdFBvaW50IGFsaWduZWRQb3MgPSByb3VuZGVkSW50UG9pbnQoc2NhbGVkUG9zKTsKLQotICAg
ICAgICAvLyBDb252ZXJ0IGJhY2sgdG8gQ1NTIGNvb3JkaW5hdGVzLgotICAgICAgICBhbGlnbmVk
UG9zLnNjYWxlKDEgLyBlZmZlY3RpdmVTY2FsZSwgMSAvIGVmZmVjdGl2ZVNjYWxlKTsKLQotICAg
ICAgICByZXR1cm4gYWxpZ25lZFBvczsKLSAgICB9Ci0jZW5kaWYKLQogICAgIHJldHVybiBmcmFt
ZVBvc2l0aW9uOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvSW5z
cGVjdG9yU2VydmVyL1dlYkluc3BlY3RvclNlcnZlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0luc3BlY3RvclNlcnZlci9XZWJJbnNwZWN0b3JTZXJ2ZXIuaAppbmRleCBlN2VlMmRhNmI4
ZTcyYTg0NjdkNTY1YzEzODVlMjlmZDAyYTFmNzliLi45MzlhN2UyMWI3OGZhNTFlY2M1ZjNhNjZk
NGI5MzkzNjQ0N2UxMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvSW5z
cGVjdG9yU2VydmVyL1dlYkluc3BlY3RvclNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9JbnNwZWN0b3JTZXJ2ZXIvV2ViSW5zcGVjdG9yU2VydmVyLmgKQEAgLTYwLDcgKzYw
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZENsb3NlV2ViU29ja2V0Q29ubmVjdGlvbihXZWJT
b2NrZXRTZXJ2ZXJDb25uZWN0aW9uKikgZmluYWw7CiAKICAgICBib29sIHBsYXRmb3JtUmVzb3Vy
Y2VGb3JQYXRoKGNvbnN0IFN0cmluZyYgcGF0aCwgVmVjdG9yPGNoYXI+JiBkYXRhLCBTdHJpbmcm
IGNvbnRlbnRUeXBlKTsKLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKKyNpZiBQ
TEFURk9STShHVEspCiAgICAgdm9pZCBidWlsZFBhZ2VMaXN0KFZlY3RvcjxjaGFyPiYgZGF0YSwg
U3RyaW5nJiBjb250ZW50VHlwZSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oCmluZGV4IGZlNjVjYjJiZDM5N2M0
NjQwZDE3NThkZDI5NjgyNDIwMWIxYWFjN2IuLjM5OTUwNjk0OGVmN2UzZmVmYTMxMTZmYjFiZjBj
N2ZlMzFiOGQ4NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hl
ci9Qcm9jZXNzTGF1bmNoZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNo
ZXIvUHJvY2Vzc0xhdW5jaGVyLmgKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAgICAgICBQ
cm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsKICAgICAgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4g
ZXh0cmFJbml0aWFsaXphdGlvbkRhdGE7CiAKLSNpZiBFTkFCTEUoREVWRUxPUEVSX01PREUpICYm
IChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpCisjaWYgRU5BQkxFKERFVkVMT1BFUl9N
T0RFKSAmJiBQTEFURk9STShHVEspCiAgICAgICAgIFN0cmluZyBwcm9jZXNzQ21kUHJlZml4Owog
I2VuZGlmCiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3
b3JrL0N1c3RvbVByb3RvY29scy9zb3VwL0N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5U291cC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291
cC9DdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eVNvdXAuY3BwCmluZGV4IDNmYjM0NWQ2MmQyOGMw
OTU1MDA4OTNiZjBmZThlMTkzMzc3ZmI4MzguLjc3MTlkMjg4ZTRkZjM0YzcwYzgxZjQwODJhZjNj
YjAyZjkwNTc3MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3Jr
L0N1c3RvbVByb3RvY29scy9zb3VwL0N1c3RvbVByb3RvY29sTWFuYWdlclByb3h5U291cC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL3Nv
dXAvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlTb3VwLmNwcApAQCAtMjksOCArMjksNiBAQAog
CiAjaWYgUExBVEZPUk0oR1RLKQogI2luY2x1ZGUgPFdlYkNvcmUvRXJyb3JzR3RrLmg+Ci0jZWxp
ZiBQTEFURk9STShFRkwpCi0jaW5jbHVkZSA8V2ViQ29yZS9FcnJvcnNFZmwuaD4KICNlbmRpZgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmlu
ZGV4IDRhNTcyZGYwYmQzMGYzYjA0NWVmNTUwNWE4OWYzNTk1ZGI1MGVmYjguLmE1NDY3Zjk0Yjhh
OGZkY2NmYjJjZGNiYTMxMDVjZmJhMWMzNTYxZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaApAQCAtMTQ4LDEwICsxNDgsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JikgPSAwOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShFRkwpCi0gICAgdmly
dHVhbCB2b2lkIHVwZGF0ZVRleHRJbnB1dFN0YXRlKCkgPSAwOwotI2VuZGlmIC8vIFBMQVRGT1JN
KEVGTCkKLQogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVEb3dubG9hZFJlcXVlc3QoRG93bmxvYWRQ
cm94eSopID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFn
ZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyosIFdlYk9w
ZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKSB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvdW5peC9QbHVnaW5Qcm9jZXNzUHJv
eHlVbml4LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3VuaXgvUGx1Z2lu
UHJvY2Vzc1Byb3h5VW5peC5jcHAKaW5kZXggYTZjNTJmOGI0ZWJhNzUwZmJiYTJjNWNkOWE4ZGJi
YjVmOTA1MjU5NC4uNzBiYjEyNTdlZmIyNmI3ZjU3Y2FiZjY0MzY5YmQ3M2E1MmY4ZGYxMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvdW5peC9QbHVnaW5Qcm9j
ZXNzUHJveHlVbml4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy91
bml4L1BsdWdpblByb2Nlc3NQcm94eVVuaXguY3BwCkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVk
ZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
Ci0jaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCisjaWYgUExBVEZPUk0oR1RLKQog
I2luY2x1ZGUgPGdsaWIuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAjZW5k
aWYKQEAgLTc4LDcgKzc4LDcgQEAgc3RhdGljIGJvb2wgcGx1Z2luUmVxdWlyZXNHdGsyKGNvbnN0
IFN0cmluZyYgcGx1Z2luUGF0aCkKICNpZiBQTFVHSU5fQVJDSElURUNUVVJFKFgxMSkKIGJvb2wg
UGx1Z2luUHJvY2Vzc1Byb3h5OjpzY2FuUGx1Z2luKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwg
UmF3UGx1Z2luTWV0YURhdGEmIHJlc3VsdCkKIHsKLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRG
T1JNKEVGTCkKKyNpZiBQTEFURk9STShHVEspCiAgICAgU3RyaW5nIHBsdWdpblByb2Nlc3NQYXRo
ID0gZXhlY3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MoKTsKIAogI2lmIFBMQVRGT1JNKEdUSykK
QEAgLTE0OSw5ICsxNDksOSBAQCBib29sIFBsdWdpblByb2Nlc3NQcm94eTo6c2NhblBsdWdpbihj
b25zdCBTdHJpbmcmIHBsdWdpblBhdGgsIFJhd1BsdWdpbk1ldGFEYXRhJgogICAgIHJlc3VsdC5y
ZXF1aXJlc0d0azIgPSByZXF1aXJlc0d0azI7CiAjZW5kaWYKICAgICByZXR1cm4gIXJlc3VsdC5t
aW1lRGVzY3JpcHRpb24uaXNFbXB0eSgpOwotI2Vsc2UgLy8gUExBVEZPUk0oR1RLKSB8fCBQTEFU
Rk9STShFRkwpCisjZWxzZSAvLyBQTEFURk9STShHVEspCiAgICAgcmV0dXJuIGZhbHNlOwotI2Vu
ZGlmIC8vIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQorI2VuZGlmIC8vIFBMQVRGT1JN
KEdUSykKIH0KICNlbmRpZiAvLyBQTFVHSU5fQVJDSElURUNUVVJFKFgxMSkKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAppbmRleCA3ZjQxM2FiZTRlNTgx
OWM1Zjk4ZGY1NjQ3MDlhMmFhNTk4OWViNmNhLi44MjZjOThhNGMzNTMxMjBiY2EzYTgxOTU2ZmZi
MWEyNjlmY2EyNjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9y
UHJveHkuaApAQCAtNTMsMTEgKzUzLDYgQEAgT0JKQ19DTEFTUyBXS1dlYlZpZXdDb25maWd1cmF0
aW9uOwogI2luY2x1ZGUgIldlYkluc3BlY3RvckNsaWVudEd0ay5oIgogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShFRkwpCi0jaW5jbHVkZSA8RWNvcmVfRXZhcy5oPgotI2luY2x1ZGUgPEV2YXMuaD4K
LSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBVUkw7CiB9CkBAIC0yMjcsMTEg
KzIyMiw4IEBAIHByaXZhdGU6CiAKICAgICBXZWJQcmVmZXJlbmNlcyYgaW5zcGVjdG9yUGFnZVBy
ZWZlcmVuY2VzKCkgY29uc3Q7CiAKLSNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkK
LSAgICB2b2lkIGNyZWF0ZUluc3BlY3RvcldpbmRvdygpOwotI2VuZGlmCi0KICNpZiBQTEFURk9S
TShHVEspCisgICAgdm9pZCBjcmVhdGVJbnNwZWN0b3JXaW5kb3coKTsKICAgICB2b2lkIHVwZGF0
ZUluc3BlY3RvcldpbmRvd1RpdGxlKCkgY29uc3Q7CiAjZW5kaWYKIApAQCAtMjY1LDkgKzI1Nyw2
IEBAIHByaXZhdGU6CiAgICAgR3RrV2lkZ2V0KiBtX2luc3BlY3RvcldpbmRvdyB7IG51bGxwdHIg
fTsKICAgICBHdGtXaWRnZXQqIG1faGVhZGVyQmFyIHsgbnVsbHB0ciB9OwogICAgIFN0cmluZyBt
X2luc3BlY3RlZFVSTFN0cmluZzsKLSNlbGlmIFBMQVRGT1JNKEVGTCkKLSAgICBFdmFzX09iamVj
dCogbV9pbnNwZWN0b3JWaWV3IHsgbnVsbHB0ciB9OwotICAgIEVjb3JlX0V2YXMqIG1faW5zcGVj
dG9yV2luZG93IHsgbnVsbHB0ciB9OwogI2VuZGlmCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9TRVJW
RVIpCiAgICAgaW50IG1fcmVtb3RlSW5zcGVjdGlvblBhZ2VJZCB7IDAgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA3M2E3ZmU4Y2NlYjU5MDk3MjNiMTczNzQ5
ZmNkZTc3NGE2OGE3NjNjLi5lYTczMGQwOWQwYmE4ZDVkMmVlNzRiNTUzMzAzNWI2YzcxYmQ0M2M4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC01NjksOSArNTY5
LDYgQEAgcHVibGljOgogICAgIHZvaWQgZGlkUmVuZGVyRnJhbWUoY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYgY29udGVudHNTaXplLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjb3ZlcmVkUmVjdCk7
CiAgICAgdm9pZCBjb21taXRQYWdlVHJhbnNpdGlvblZpZXdwb3J0KCk7CiAjZW5kaWYKLSNpZiBQ
TEFURk9STShFRkwpCi0gICAgdm9pZCBzZXRUaGVtZVBhdGgoY29uc3QgU3RyaW5nJik7Ci0jZW5k
aWYKIAogI2lmIFBMQVRGT1JNKEdUSykKICAgICB2b2lkIHNldENvbXBvc2l0aW9uKGNvbnN0IFN0
cmluZyYgdGV4dCwgVmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxp
bmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwgdWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1aW50
NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQp
OwpAQCAtNjMwLDEzICs2MjcsNiBAQCBwdWJsaWM6CiAgICAgQ0dSZWN0IGJvdW5kc09mTGF5ZXJJ
bkxheWVyQmFja2VkV2luZG93Q29vcmRpbmF0ZXMoQ0FMYXllciAqKSBjb25zdDsKICNlbmRpZiAv
LyBQTEFURk9STShNQUMpCiAKLSNpZiBQTEFURk9STShFRkwpCi0gICAgdm9pZCBoYW5kbGVJbnB1
dE1ldGhvZEtleWRvd24oYm9vbCYgaGFuZGxlZCk7Ci0gICAgdm9pZCBjb25maXJtQ29tcG9zaXRp
b24oY29uc3QgU3RyaW5nJik7Ci0gICAgdm9pZCBzZXRDb21wb3NpdGlvbihjb25zdCBTdHJpbmcm
LCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+JiwgaW50KTsKLSAgICB2b2lk
IGNhbmNlbENvbXBvc2l0aW9uKCk7Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKEdUSykKICAgICBQ
bGF0Zm9ybVdpZGdldCB2aWV3V2lkZ2V0KCk7CiAgICAgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGJh
Y2tncm91bmRDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3VuZENvbG9yOyB9CkBAIC0x
MTE0LDEyICsxMTA0LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Rm9vdGVyQmFubmVySGVpZ2h0
Rm9yVGVzdGluZyhpbnQpOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShFRkwpICYmIEhBVkUoQUND
RVNTSUJJTElUWSkgJiYgZGVmaW5lZChIQVZFX0VDT1JFX1gpCi0gICAgYm9vbCBhY2Nlc3NpYmls
aXR5T2JqZWN0UmVhZEJ5UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKTsKLSAgICBib29s
IGFjY2Vzc2liaWxpdHlPYmplY3RSZWFkUHJldmlvdXMoKTsKLSAgICBib29sIGFjY2Vzc2liaWxp
dHlPYmplY3RSZWFkTmV4dCgpOwotI2VuZGlmCi0KICNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNL
SU5HKQogICAgIHZvaWQgY2hlY2tUZXh0T2ZQYXJhZ3JhcGgoY29uc3QgU3RyaW5nJiB0ZXh0LCB1
aW50NjRfdCBjaGVja2luZ1R5cGVzLCBpbnQzMl90IGluc2VydGlvblBvaW50LCBWZWN0b3I8V2Vi
Q29yZTo6VGV4dENoZWNraW5nUmVzdWx0PiYgcmVzdWx0cyk7CiAjZW5kaWYKQEAgLTEzOTcsOSAr
MTM4MSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBnZXRFZGl0b3JDb21tYW5kc0ZvcktleUV2ZW50
KGNvbnN0IEF0b21pY1N0cmluZyYsIFZlY3RvcjxTdHJpbmc+Jik7CiAgICAgdm9pZCBiaW5kQWNj
ZXNzaWJpbGl0eVRyZWUoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKLSNpZiBQTEFURk9STShFRkwp
Ci0gICAgdm9pZCBnZXRFZGl0b3JDb21tYW5kc0ZvcktleUV2ZW50KFZlY3RvcjxTdHJpbmc+Jik7
Ci0jZW5kaWYKIAogICAgIC8vIFBvcHVwIE1lbnUuCiAgICAgdm9pZCBzaG93UG9wdXBNZW51KGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QsIHVpbnQ2NF90IHRleHREaXJlY3Rpb24sIGNvbnN0
IFZlY3RvcjxXZWJQb3B1cEl0ZW0+JiBpdGVtcywgaW50MzJfdCBzZWxlY3RlZEluZGV4LCBjb25z
dCBQbGF0Zm9ybVBvcHVwTWVudURhdGEmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhNjlmNjFmNGI2NGJmNTA2ZGUyYzc1ODY3
MTE1YWM2ZWU4OGIwYmEzLi5kYTA3N2Y0YmU3NmNjOWUzMDNkYWI0MThhZmQxZjE1Njc3MzhiZTY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC05MjA1LDcgKzkyMDUsNyBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2Ny
aXB0ID0gIldLQkFTRV9IPSR7VEFSR0VUX0JVSUxEX0RJUn0vJHtQUklWQVRFX0hFQURFUlNfRk9M
REVSX1BBVEh9L1dLQmFzZS5oXG5cbnVuaWZkZWYgLUIgLURfX0FQUExFX18gLVVCVUlMRElOR19H
VEtfXyAtVVVTRV9TT1VQIC1VQlVJTERJTkdfRUZMX18gLVVCVUlMRElOR19RVF9fIC1vIFwiJHtX
S0JBU0VfSH1cIi51bmlmZGVmIFwiJHtXS0JBU0VfSH1cIlxuXG5jYXNlICQ/IGluXG4wKVxuICAg
IHJtIFwiJHtXS0JBU0VfSH1cIi51bmlmZGVmXG4gICAgOztcbjEpXG4gICAgbXYgXCIke1dLQkFT
RV9IfVwiey51bmlmZGVmLH1cbiAgICA7O1xuKilcbiAgICBleGl0IDFcbmVzYWNcbiI7CisJCQlz
aGVsbFNjcmlwdCA9ICJXS0JBU0VfSD0ke1RBUkdFVF9CVUlMRF9ESVJ9LyR7UFJJVkFURV9IRUFE
RVJTX0ZPTERFUl9QQVRIfS9XS0Jhc2UuaFxuXG51bmlmZGVmIC1CIC1EX19BUFBMRV9fIC1VQlVJ
TERJTkdfR1RLX18gLVVVU0VfU09VUCAtbyBcIiR7V0tCQVNFX0h9XCIudW5pZmRlZiBcIiR7V0tC
QVNFX0h9XCJcblxuY2FzZSAkPyBpblxuMClcbiAgICBybSBcIiR7V0tCQVNFX0h9XCIudW5pZmRl
ZlxuICAgIDs7XG4xKVxuICAgIG12IFwiJHtXS0JBU0VfSH1cInsudW5pZmRlZix9XG4gICAgOztc
biopXG4gICAgZXhpdCAxXG5lc2FjXG4iOwogCQl9OwogCQkzN0U1MzEwMTFCMjM5MTA5MDA3NEYw
REYgLyogQ29weSBpT1MgU2FuZGJveCBQcm9maWxlcyBmb3IgTWFudWFsIFNhbmRib3hpbmcgKi8g
PSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgK
aW5kZXggODBjMDg3Y2I2YWI2NDE3MmVjMjBkYmZlZjViYzlhM2M3YTc5MDM3Mi4uNDc5NGE2OGFi
NTcxNGZhNmQ1ODFhYmViM2FkMzdkY2VhZDRmMGUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApAQCAt
NDAsMTAgKzQwLDYgQEAKIHR5cGVkZWYgc3RydWN0IF9HTW9kdWxlIEdNb2R1bGU7CiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKEVGTCkKLSNpbmNsdWRlIDxFaW5hLmg+Ci0jZW5kaWYKLQogI2lmIFVT
RShGT1VOREFUSU9OKQogT0JKQ19DTEFTUyBOU0J1bmRsZTsKIE9CSkNfQ0xBU1MgTlNNdXRhYmxl
RGljdGlvbmFyeTsKQEAgLTY3LDggKzYzLDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiB0eXBlZGVm
IE5TQnVuZGxlICpQbGF0Zm9ybUJ1bmRsZTsKICNlbGlmIFBMQVRGT1JNKEdUSykKIHR5cGVkZWYg
OjpHTW9kdWxlKiBQbGF0Zm9ybUJ1bmRsZTsKLSNlbGlmIFBMQVRGT1JNKEVGTCkKLXR5cGVkZWYg
RWluYV9Nb2R1bGUqIFBsYXRmb3JtQnVuZGxlOwogI2VuZGlmCiAKIGNsYXNzIEluamVjdGVkQnVu
ZGxlU2NyaXB0V29ybGQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwCmlu
ZGV4IGQwMDk0OTFhN2U0ZGI3NjdhOTAwYzQxMGJhZDNjMTZkMTExYmU1MjYuLjJiZWQ0NmFhYjA1
YTIxODgwMmQyYTE4ZmI3NmY2OWU3N2Q2OTU4ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2Nh
cGVQbHVnaW5YMTEuY3BwCkBAIC00NCw4ICs0NCw2IEBACiAjZW5kaWYKICNpbmNsdWRlIDxnZGsv
Z2RreC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3RrVmVyc2lvbmluZy5oPgotI2VsaWYgUExBVEZP
Uk0oRUZMKSAmJiBkZWZpbmVkKEhBVkVfRUNPUkVfWCkKLSNpbmNsdWRlIDxFY29yZV9YLmg+CiAj
ZW5kaWYKIAogI2lmIFVTRShDQUlSTykKQEAgLTY5LDggKzY3LDYgQEAgc3RhdGljIERpc3BsYXkq
IGdldFBsdWdpbkRpc3BsYXkoKQogICAgIC8vIFNpbmNlIHdlJ3JlIGEgZ2RrL2d0ayBhcHAsIHdl
J2xsIChwcm9iYWJseT8pIGhhdmUgdGhlIHNhbWUgWCBjb25uZWN0aW9uIGFzIGFueSBnZGstYmFz
ZWQKICAgICAvLyBwbHVnaW5zLCBzbyB3ZSBjYW4gcmV0dXJuIHRoYXQuIFdlIG1pZ2h0IHdhbnQg
dG8gYWRkIG90aGVyIGltcGxlbWVudGF0aW9ucyBoZXJlIGxhdGVyLgogICAgIHJldHVybiBHREtf
RElTUExBWV9YRElTUExBWShnZGtfZGlzcGxheV9nZXRfZGVmYXVsdCgpKTsKLSNlbGlmIFBMQVRG
T1JNKEVGTCkgJiYgZGVmaW5lZChIQVZFX0VDT1JFX1gpCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PERpc3BsYXkqPihlY29yZV94X2Rpc3BsYXlfZ2V0KCkpOwogI2Vsc2UKICAgICByZXR1cm4gbnVs
bHB0cjsKICNlbmRpZgpAQCAtODAsOCArNzYsNiBAQCBzdGF0aWMgaW5saW5lIGludCB4MTFTY3Jl
ZW4oKQogewogI2lmIFBMQVRGT1JNKEdUSykKICAgICByZXR1cm4gZ2RrX3NjcmVlbl9nZXRfbnVt
YmVyKGdka19zY3JlZW5fZ2V0X2RlZmF1bHQoKSk7Ci0jZWxpZiBQTEFURk9STShFRkwpICYmIGRl
ZmluZWQoSEFWRV9FQ09SRV9YKQotICAgIHJldHVybiBlY29yZV94X3NjcmVlbl9pbmRleF9nZXQo
ZWNvcmVfeF9kZWZhdWx0X3NjcmVlbl9nZXQoKSk7CiAjZWxzZQogICAgIHJldHVybiAwOwogI2Vu
ZGlmCkBAIC05MSw4ICs4NSw2IEBAIHN0YXRpYyBpbmxpbmUgaW50IGRpc3BsYXlEZXB0aCgpCiB7
CiAjaWYgUExBVEZPUk0oR1RLKQogICAgIHJldHVybiBnZGtfdmlzdWFsX2dldF9kZXB0aChnZGtf
c2NyZWVuX2dldF9zeXN0ZW1fdmlzdWFsKGdka19zY3JlZW5fZ2V0X2RlZmF1bHQoKSkpOwotI2Vs
aWYgUExBVEZPUk0oRUZMKSAmJiBkZWZpbmVkKEhBVkVfRUNPUkVfWCkKLSAgICByZXR1cm4gZWNv
cmVfeF9kZWZhdWx0X2RlcHRoX2dldCh4MTFIb3N0RGlzcGxheSgpLCBlY29yZV94X2RlZmF1bHRf
c2NyZWVuX2dldCgpKTsKICNlbHNlCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKQEAgLTEwMiw4ICs5
NCw2IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyByb290V2luZG93SUQoKQogewogI2lm
IFBMQVRGT1JNKEdUSykKICAgICByZXR1cm4gR0RLX1JPT1RfV0lORE9XKCk7Ci0jZWxpZiBQTEFU
Rk9STShFRkwpICYmIGRlZmluZWQoSEFWRV9FQ09SRV9YKQotICAgIHJldHVybiBlY29yZV94X3dp
bmRvd19yb290X2ZpcnN0X2dldCgpOwogI2Vsc2UKICAgICByZXR1cm4gMDsKICNlbmRpZgpAQCAt
MzAyLDcgKzI5Miw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5YMTE6OnBhaW50KEdyYXBoaWNzQ29u
dGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0CiAgICAgaWYgKG1fcGx1Z2lu
RGlzcGxheSAhPSB4MTFIb3N0RGlzcGxheSgpKQogICAgICAgICBYU3luYyhtX3BsdWdpbkRpc3Bs
YXksIGZhbHNlKTsKIAotI2lmIFBMQVRGT1JNKEdUSykgfHwgKFBMQVRGT1JNKEVGTCkgJiYgVVNF
KENBSVJPKSkKKyNpZiBQTEFURk9STShHVEspCiAgICAgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4g
ZHJhd2FibGVTdXJmYWNlID0gYWRvcHRSZWYoY2Fpcm9feGxpYl9zdXJmYWNlX2NyZWF0ZShtX3Bs
dWdpbkRpc3BsYXksIG1fZHJhd2FibGUuZ2V0KCksCiAgICAgICAgIG1fc2V0V2luZG93Q2FsbGJh
Y2tTdHJ1Y3QudmlzdWFsLCBtX3BsdWdpbi5zaXplKCkud2lkdGgoKSwgbV9wbHVnaW4uc2l6ZSgp
LmhlaWdodCgpKSk7CiAgICAgY2Fpcm9fdCogY3IgPSBjb250ZXh0LnBsYXRmb3JtQ29udGV4dCgp
LT5jcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDgwNzc2NGQzOTVlZjQ4MTg1OTdh
YjFhMDg5YzA4ODRjMDA2MWQwNTkuLjA5MTI4MDg5OTNmNGQ1Mjc4ZGQ4OGI5MGUwMmJlYzkyOTE5
NDJlZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTgyMiwxMSArODIyLDcgQEAgYm9v
bCBXZWJDaHJvbWVDbGllbnQ6OnNob3VsZE5vdGlmeU9uRm9ybUNoYW5nZXMoKQogCiBib29sIFdl
YkNocm9tZUNsaWVudDo6c2VsZWN0SXRlbVdyaXRpbmdEaXJlY3Rpb25Jc05hdHVyYWwoKQogewot
I2lmIFBMQVRGT1JNKEVGTCkKLSAgICByZXR1cm4gdHJ1ZTsKLSNlbHNlCiAgICAgcmV0dXJuIGZh
bHNlOwotI2VuZGlmCiB9CiAKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzZWxlY3RJdGVtQWxpZ25t
ZW50Rm9sbG93c01lbnVXcml0aW5nRGlyZWN0aW9uKCkKQEAgLTEwMTUsNyArMTAxMSw3IEBAIENv
bG9yIFdlYkNocm9tZUNsaWVudDo6dW5kZXJsYXlDb2xvcigpIGNvbnN0CiAKIHZvaWQgV2ViQ2hy
b21lQ2xpZW50OjpwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFuZ2UoQ29sb3IgYmFj
a2dyb3VuZENvbG9yKSBjb25zdAogewotI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oRUZM
KQorI2lmIFBMQVRGT1JNKE1BQykKICAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpQYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFuZ2UoYmFja2dyb3VuZENvbG9y
KSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShiYWNrZ3JvdW5kQ29sb3IpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0
b3JDbGllbnQuY3BwCmluZGV4IDhiODA3NTUyYzQxMTQ1MjYyNDg4MDM4M2Y5ZDMyYWJhYTA3NmJl
ZmIuLmEzYzlhZDk3ZmE0NWE3NmNhNmQ3NDExNjZjNjQwNjZkNTJiMzhmMjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVk
aXRvckNsaWVudC5jcHAKQEAgLTI5Nyw3ICsyOTcsNyBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6
cmVkbygpCiAgICAgbV9wYWdlLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpFeGVj
dXRlVW5kb1JlZG8oc3RhdGljX2Nhc3Q8dWludDMyX3Q+KFdlYlBhZ2VQcm94eTo6UmVkbykpLCBN
ZXNzYWdlczo6V2ViUGFnZVByb3h5OjpFeGVjdXRlVW5kb1JlZG86OlJlcGx5KHJlc3VsdCkpOwog
fQogCi0jaWYgIVBMQVRGT1JNKEdUSykgJiYgIVBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0o
RUZMKQorI2lmICFQTEFURk9STShHVEspICYmICFQTEFURk9STShDT0NPQSkKIHZvaWQgV2ViRWRp
dG9yQ2xpZW50OjpoYW5kbGVLZXlib2FyZEV2ZW50KEtleWJvYXJkRXZlbnQqIGV2ZW50KQogewog
ICAgIGlmIChtX3BhZ2UtPmhhbmRsZUVkaXRpbmdLZXlib2FyZEV2ZW50KGV2ZW50KSkKQEAgLTQz
Nyw3ICs0MzcsNyBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6dGV4dFdpbGxCZURlbGV0ZWRJblRl
eHRGaWVsZChFbGVtZW50KiBlbGVtZW50KQogYm9vbCBXZWJFZGl0b3JDbGllbnQ6OnNob3VsZEVy
YXNlTWFya2Vyc0FmdGVyQ2hhbmdlU2VsZWN0aW9uKFdlYkNvcmU6OlRleHRDaGVja2luZ1R5cGUg
dHlwZSkgY29uc3QKIHsKICAgICAvLyBUaGlzIHByZXZlbnRzIGVyYXNpbmcgc3BlbGxpbmcgbWFy
a2VycyBvbiBPUyBYIExpb24gb3IgbGF0ZXIgdG8gbWF0Y2ggQXBwS2l0IG9uIHRoZXNlIE1hYyBP
UyBYIHZlcnNpb25zLgotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShFRkwpCisjaWYg
UExBVEZPUk0oQ09DT0EpCiAgICAgcmV0dXJuIHR5cGUgIT0gVGV4dENoZWNraW5nVHlwZVNwZWxs
aW5nOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0odHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwCmluZGV4IDA2MGNkMmYwMDRlZDc1M2Q1MGI3ZWI4Njk4M2RmZjU3NTEwYTUy
YjQuLmE4NTZmZjk4MzcyNDE4MTIxOWNkMjY4NDEwNGFlMDdhM2VhOWNhMGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0xMjEwLDcgKzEyMTAsNyBAQCB2b2lkIFdlYkZy
YW1lTG9hZGVyQ2xpZW50OjpmcmFtZUxvYWRDb21wbGV0ZWQoKQogCiB2b2lkIFdlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpzYXZlVmlld1N0YXRlVG9JdGVtKEhpc3RvcnlJdGVtJiBoaXN0b3J5SXRlbSkK
IHsKLSNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKEVGTCkKKyNpZiBQTEFURk9STShJT1Mp
CiAgICAgaWYgKG1fZnJhbWUtPmlzTWFpbkZyYW1lKCkpCiAgICAgICAgIG1fZnJhbWUtPnBhZ2Uo
KS0+c2F2ZVBhZ2VTdGF0ZShoaXN0b3J5SXRlbSk7CiAjZWxzZQpAQCAtMTIyMCw3ICsxMjIwLDcg
QEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6c2F2ZVZpZXdTdGF0ZVRvSXRlbShIaXN0b3J5
SXRlbSYgaGlzdG9yeUl0ZW0pCiAKIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnJlc3RvcmVW
aWV3U3RhdGUoKQogewotI2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oRUZMKQorI2lmIFBM
QVRGT1JNKElPUykKICAgICBGcmFtZSYgZnJhbWUgPSAqbV9mcmFtZS0+Y29yZUZyYW1lKCk7CiAg
ICAgSGlzdG9yeUl0ZW0qIGN1cnJlbnRJdGVtID0gZnJhbWUubG9hZGVyKCkuaGlzdG9yeSgpLmN1
cnJlbnRJdGVtKCk7CiAgICAgaWYgKEZyYW1lVmlldyogdmlldyA9IGZyYW1lLnZpZXcoKSkgewpA
QCAtMTYxMyw3ICsxNjEzLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hE
aWRDbGVhcldpbmRvd09iamVjdEluV29ybGQoRE9NV3JhcHBlcldvcmxkJgogICAgIGlmIChhdXRv
bWF0aW9uU2Vzc2lvblByb3h5ICYmIHdvcmxkLmlzTm9ybWFsKCkpCiAgICAgICAgIGF1dG9tYXRp
b25TZXNzaW9uUHJveHktPmRpZENsZWFyV2luZG93T2JqZWN0Rm9yRnJhbWUoKm1fZnJhbWUpOwog
Ci0jaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShF
RkwpKQorI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgUExBVEZPUk0oR1RLKQogICAgIC8vIEVu
c3VyZSB0aGUgYWNjZXNzaWJpbGl0eSBoaWVyYXJjaHkgaXMgdXBkYXRlZC4KICAgICB3ZWJQYWdl
LT51cGRhdGVBY2Nlc3NpYmlsaXR5VHJlZSgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggYWM4NzdmNjk0YTUzNmU3MjQzNTY4
Yjk3M2M3MTkyMzEyMGQyMDJmYy4uYTUxNzVjMDNkOWRjNDg3YmVmNjQwNmI3MTFlMzE1YTMyNDcy
YzQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtMzMwLDcgKzMzMCw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBX
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICAsIG1fbGF5ZXJIb3N0
aW5nTW9kZShwYXJhbWV0ZXJzLmxheWVySG9zdGluZ01vZGUpCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgLCBtX3ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IoKnRoaXMpCi0jZWxpZiBIQVZF
KEFDQ0VTU0lCSUxJVFkpICYmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpCisjZWxp
ZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFBMQVRGT1JNKEdUSykKICAgICAsIG1fYWNjZXNzaWJp
bGl0eU9iamVjdChudWxscHRyKQogI2VuZGlmCiAgICAgLCBtX3NldENhblN0YXJ0TWVkaWFUaW1l
cihSdW5Mb29wOjptYWluKCksIHRoaXMsICZXZWJQYWdlOjpzZXRDYW5TdGFydE1lZGlhVGltZXJG
aXJlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4
IDcyNDBiYmQxNTRmOGYzMjAwZTc4MjcxNWQ0OTM4MDYzMGM5MTcyOWMuLjY1OGNkYTQ2YTQ4ZmI3
NGY5NDMzZDVlZTE1OTEyZmNhNzk0NDJhNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNzgsNyArNzgsNyBAQAogI2luY2x1ZGUgPHd0Zi9TZWNv
bmRzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFkpICYmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpCisjaWYgSEFWRShB
Q0NFU1NJQklMSVRZKSAmJiBQTEFURk9STShHVEspCiAjaW5jbHVkZSAiV2ViUGFnZUFjY2Vzc2li
aWxpdHlPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiAjZW5kaWYKQEAg
LTQ5OCw3ICs0OTgsNyBAQCBwdWJsaWM6CiAgICAgR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXImIGdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCkgeyByZXR1cm4g
bV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjsgfQogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShJT1MpIHx8IFBMQVRGT1JNKEVGTCkKKyNpZiBQTEFURk9STShJT1MpCiAgICAgdm9p
ZCBzYXZlUGFnZVN0YXRlKFdlYkNvcmU6Okhpc3RvcnlJdGVtJik7CiAgICAgdm9pZCByZXN0b3Jl
UGFnZVN0YXRlKGNvbnN0IFdlYkNvcmU6Okhpc3RvcnlJdGVtJik7CiAjZW5kaWYKQEAgLTY0OCwx
MCArNjQ4LDYgQEAgcHVibGljOgogCiAgICAgU2FuZGJveEV4dGVuc2lvblRyYWNrZXImIHNhbmRi
b3hFeHRlbnNpb25UcmFja2VyKCkgeyByZXR1cm4gbV9zYW5kYm94RXh0ZW5zaW9uVHJhY2tlcjsg
fQogCi0jaWYgUExBVEZPUk0oRUZMKQotICAgIHZvaWQgc2V0VGhlbWVQYXRoKGNvbnN0IFN0cmlu
ZyYpOwotI2VuZGlmCi0KICNpZiBQTEFURk9STShHVEspCiAgICAgdm9pZCBzZXRDb21wb3NpdGlv
bihjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpDb21wb3NpdGlvblVu
ZGVybGluZT4mIHVuZGVybGluZXMsIHVpbnQ2NF90IHNlbGVjdGlvblN0YXJ0LCB1aW50NjRfdCBz
ZWxlY3Rpb25FbmQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VTdGFydCwgdWludDY0X3QgcmVw
bGFjZW1lbnRSYW5nZUxlbmd0aCk7CiAgICAgdm9pZCBjb25maXJtQ29tcG9zaXRpb24oY29uc3Qg
U3RyaW5nJiB0ZXh0LCBpbnQ2NF90IHNlbGVjdGlvblN0YXJ0LCBpbnQ2NF90IHNlbGVjdGlvbkxl
bmd0aCk7CkBAIC03MDEsMTQgKzY5Nyw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoU0VSVklDRV9D
T05UUk9MUykKICAgICB2b2lkIHJlcGxhY2VTZWxlY3Rpb25XaXRoUGFzdGVib2FyZERhdGEoY29u
c3QgVmVjdG9yPFN0cmluZz4mIHR5cGVzLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICNl
bmRpZgotCi0jZWxpZiBQTEFURk9STShFRkwpCi0gICAgdm9pZCBjb25maXJtQ29tcG9zaXRpb24o
Y29uc3QgU3RyaW5nJiBjb21wb3NpdGlvblN0cmluZyk7Ci0gICAgdm9pZCBzZXRDb21wb3NpdGlv
bihjb25zdCBXVEY6OlN0cmluZyYgY29tcG9zaXRpb25TdHJpbmcsIGNvbnN0IFdURjo6VmVjdG9y
PFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPiYgdW5kZXJsaW5lcywgdWludDY0X3QgY3Vy
c29yUG9zaXRpb24pOwotICAgIHZvaWQgY2FuY2VsQ29tcG9zaXRpb24oKTsKICNlbmRpZgogCi0j
aWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwp
KQorI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgUExBVEZPUk0oR1RLKQogICAgIHZvaWQgdXBk
YXRlQWNjZXNzaWJpbGl0eVRyZWUoKTsKICNlbmRpZgogCkBAIC0xMzM3LDcgKzEzMjgsNyBAQCBw
cml2YXRlOgogCiAgICAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4gbV9kYXRhRGV0ZWN0aW9uQ29u
dGV4dDsKIAotI2VsaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQ
TEFURk9STShFRkwpKQorI2VsaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBQTEFURk9STShHVEsp
CiAgICAgR1JlZlB0cjxXZWJQYWdlQWNjZXNzaWJpbGl0eU9iamVjdD4gbV9hY2Nlc3NpYmlsaXR5
T2JqZWN0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMjM5MzljMTkzMGU0ZmMxZmY2NmU3NTFi
NmY4ZDEzMGVjZGYyZDEwOS4uZmIzMGJlNWU3ZjdjMGViODk0YjNmNTZkOTdlMDlhODBkNTZhMzI4
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KQEAgLTM0MSwxMCArMzQxLDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBM
ZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0Q2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKGJv
b2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKQogICAgIFNldENhblJ1bk1vZGFsKGJv
b2wgY2FuUnVuTW9kYWwpCiAKLSNpZiBQTEFURk9STShFRkwpCi0gICAgU2V0VGhlbWVQYXRoKFN0
cmluZyB0aGVtZVBhdGgpCi0jZW5kaWYKLQogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19N
VUxUSVBST0NFU1MpCiAgICAgQ29tbWl0UGFnZVRyYW5zaXRpb25WaWV3cG9ydCgpCiAjZW5kaWYK
QEAgLTM5NiwxMSArMzkyLDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7
CiAgICAgU2V0TWluaW11bUxheW91dFNpemUoV2ViQ29yZTo6SW50U2l6ZSBtaW5pbXVtTGF5b3V0
U2l6ZSkKICAgICBTZXRBdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3SGVpZ2h0KGJvb2wgc2hv
dWxkRXhwYW5kKQogCi0jaWYgUExBVEZPUk0oRUZMKQotICAgIENvbmZpcm1Db21wb3NpdGlvbihT
dHJpbmcgY29tcG9zaXRpb25TdHJpbmcpCi0gICAgU2V0Q29tcG9zaXRpb24oU3RyaW5nIGNvbXBv
c2l0aW9uU3RyaW5nLCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVuZGVy
bGluZXMsIHVpbnQ2NF90IGN1cnNvclBvc2l0aW9uKQotICAgIENhbmNlbENvbXBvc2l0aW9uKCkK
LSNlbmRpZgogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiAgICAg
RmluZFpvb21hYmxlQXJlYUZvclBvaW50KFdlYkNvcmU6OkludFBvaW50IHBvaW50LCBXZWJDb3Jl
OjpJbnRTaXplIGFyZWEpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL2NvbmZp
Zy5oIGIvU291cmNlL1dlYktpdDIvY29uZmlnLmgKaW5kZXggNTY0OTI1MDk5NjQ5YjhmYzUyM2Y1
MDY1NTllODk0OWQ5ZDYyY2VmNS4uYzYzZDFhMjZmNzlkODdjMTU1ZmRiNTU5NjhjNGYzODFhNGZm
NzBkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvY29uZmlnLmgKKysrIGIvU291cmNlL1dl
YktpdDIvY29uZmlnLmgKQEAgLTQ4LDcgKzQ4LDcgQEAKICNpZm5kZWYgUExVR0lOX0FSQ0hJVEVD
VFVSRV9VTlNVUFBPUlRFRAogI2lmIFBMQVRGT1JNKE1BQykKICNkZWZpbmUgUExVR0lOX0FSQ0hJ
VEVDVFVSRV9NQUMgMQotI2VsaWYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkgJiYg
KE9TKFVOSVgpICYmICFPUyhNQUNfT1NfWCkpICYmIFBMQVRGT1JNKFgxMSkKKyNlbGlmIFBMQVRG
T1JNKEdUSykgJiYgUExBVEZPUk0oWDExKSAmJiBPUyhVTklYKSAmJiAhT1MoTUFDX09TX1gpCiAj
ZGVmaW5lIFBMVUdJTl9BUkNISVRFQ1RVUkVfWDExIDEKICNlbHNlCiAjZGVmaW5lIFBMVUdJTl9B
UkNISVRFQ1RVUkVfVU5TVVBQT1JURUQgMQpAQCAtNTgsNyArNTgsNyBAQAogI2RlZmluZSBQTFVH
SU5fQVJDSElURUNUVVJFKEFSQ0gpIChkZWZpbmVkIFBMVUdJTl9BUkNISVRFQ1RVUkVfIyNBUkNI
ICYmIFBMVUdJTl9BUkNISVRFQ1RVUkVfIyNBUkNIKQogCiAjaWZuZGVmIEVOQUJMRV9JTlNQRUNU
T1JfU0VSVkVSCi0jaWYgRU5BQkxFKFdFQl9TT0NLRVRTKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQ
TEFURk9STShFRkwpKQorI2lmIEVOQUJMRShXRUJfU09DS0VUUykgJiYgUExBVEZPUk0oR1RLKQog
I2RlZmluZSBFTkFCTEVfSU5TUEVDVE9SX1NFUlZFUiAxCiAjZW5kaWYKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>