<?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>236170</bug_id>
          
          <creation_ts>2022-02-04 20:49:30 -0800</creation_ts>
          <short_desc>Tidy up some ImageBuffer-related classes</short_desc>
          <delta_ts>2022-02-07 14:29:43 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1837699</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-04 20:49:30 -0800</bug_when>
    <thetext>Tidy up some ImageBuffer-related classes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837700</commentid>
    <comment_count>1</comment_count>
      <attachid>450970</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-04 20:51:10 -0800</bug_when>
    <thetext>Created attachment 450970
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837705</commentid>
    <comment_count>2</comment_count>
      <attachid>450973</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-04 21:57:22 -0800</bug_when>
    <thetext>Created attachment 450973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837767</commentid>
    <comment_count>3</comment_count>
      <attachid>450991</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-05 11:08:01 -0800</bug_when>
    <thetext>Created attachment 450991
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837952</commentid>
    <comment_count>4</comment_count>
      <attachid>450991</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-06 15:21:32 -0800</bug_when>
    <thetext>Comment on attachment 450991
Patch

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

&gt; Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.h:49
&gt; +    GraphicsContext&amp; context() const final;

Could consider also making these private if they are always called polymorphically, on the ImageBufferCGBackend base class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838286</commentid>
    <comment_count>5</comment_count>
      <attachid>451135</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-07 12:08:16 -0800</bug_when>
    <thetext>Created attachment 451135
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838359</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-07 14:28:10 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/289240/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838362</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-07 14:29:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/88594557&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450970</attachid>
            <date>2022-02-04 20:51:10 -0800</date>
            <delta_ts>2022-02-04 22:05:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236170-20220204205109.patch</filename>
            <type>text/plain</type>
            <size>15772</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTJhM2RkMWJkZGM4ZTQy
ODBmMWJiZjhmOGYxMzVjYjgyYzk0NDhiZC4uMWJmMTNiMzhjNWUyOTM5ODdmY2FhNDVkNTE1NGNm
NTM5ZjJhNWVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTAyLTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFRpZHkgdXAgc29t
ZSBJbWFnZUJ1ZmZlci1yZWxhdGVkIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjE3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBzb21lIGZvcndhcmQgZGVjbGFyYXRpb25zIGlu
IEltYWdlQnVmZmVyLmggdW51c2VkIGJ5IEltYWdlQnVmZmVyLgorICAgICAgICAKKyAgICAgICAg
RGlzcGxheUxpc3Q6OkltYWdlQnVmZmVyIGNhbiBiZSBmaW5hbC4KKyAgICAgICAgSW1hZ2VCdWZm
ZXJDR0JpdG1hcEJhY2tlbmQgY2FuIGJlIGZpbmFsLgorCisgICAgICAgICogaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VC
dWZmZXJDR0JpdG1hcEJhY2tlbmQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNw
bGF5bGlzdHMvRGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oOgorICAgICAgICAoV2ViQ29yZTo6RGlz
cGxheUxpc3Q6OkltYWdlQnVmZmVyOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6RGlzcGxheUxpc3Q6OkltYWdlQnVmZmVyOjpJbWFnZUJ1ZmZlcik6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI6On5JbWFnZUJ1ZmZlcik6IERl
bGV0ZWQuCisKIDIwMjItMDItMDQgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW21hY09TXSBTY3JlZW5DYXB0dXJlS2l0Q2FwdHVyZVNvdXJjZSBvbmx5
IG91dHB1dHMgb25lIGZyYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVlMjQ0M2M3M2E4ZDA5ZmMxMjc3NDU5NWVj
YjQ1NjRjOTMzNzk5MTAuLjM3ZTgwNTVhZjhjYjhjMzllMTMzNzVjZWNiNDRiNDdhZTZkM2M2MDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjItMDItMDQgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgVGlkeSB1cCBzb21lIEltYWdlQnVmZmVy
LXJlbGF0ZWQgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM2MTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ0dEaXNwbGF5TGlzdEltYWdlQnVmZmVyQmFja2VuZCBjYW4gYmUgZmluYWwuCisg
ICAgICAgIEltYWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZCBjYW4gYmUgZmluYWwuCisg
ICAgICAgIEZ1bmN0aW9ucyBvbiBJbWFnZUJ1ZmZlclNoYXJlYWJsZUlPU3VyZmFjZUJhY2tlbmQg
Y2FuIGJlIGZpbmFsLgorCisgICAgICAgICogU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9DR0Rpc3Bs
YXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5kLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3Jh
cGhpY3MvSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBCYWNrZW5kLmg6CisgICAgICAgIChXZWJL
aXQ6OkltYWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZDo6c2V0T3duZXJzaGlwSWRlbnRp
dHkpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL2NvY29hL0lt
YWdlQnVmZmVyU2hhcmVhYmxlSU9TdXJmYWNlQmFja2VuZC5oOgorCiAyMDIyLTAyLTAyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFJl
bW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbiB0byBoYXZlIGEgc2luZ2xlIGJhY2tpbmcg
c3RvcmUgdHJhdmVyc2FsIGZ1bmN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmgKaW5kZXggNWY0MDZkNmMx
NTdhMTg0YTc1NmI5MWExMzAyN2U0OTI4MTA1ZWNmYy4uZTk2M2M2NzdjMDhkM2IwOWUwNWExMDY0
MjMwZTZjZGEyMjkyYjFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaApAQCAtNjUsNiArNjUsMTAgQEAg
Y2xhc3MgVGV4dE1ldHJpY3M7CiAKIHN0cnVjdCBET01NYXRyaXgyREluaXQ7CiAKK25hbWVzcGFj
ZSBEaXNwbGF5TGlzdCB7CitjbGFzcyBEcmF3aW5nQ29udGV4dDsKK30KKwogdXNpbmcgQ2FudmFz
SW1hZ2VTb3VyY2UgPSBzdGQ6OnZhcmlhbnQ8UmVmUHRyPEhUTUxJbWFnZUVsZW1lbnQ+LCBSZWZQ
dHI8SFRNTENhbnZhc0VsZW1lbnQ+LCBSZWZQdHI8SW1hZ2VCaXRtYXA+CiAjaWYgRU5BQkxFKENT
U19UWVBFRF9PTSkKICAgICAsIFJlZlB0cjxDU1NTdHlsZUltYWdlVmFsdWU+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAppbmRleCA0YjcxZjIzNTNj
OGQwY2Q4ZWRmNGFmNWU1OTI2YjdkZTI5MmM4YTYyLi4wOGQwMjFjZDY4NGUwNjI3M2ZlMWQ3MWFi
Y2RlOGE0YjQ4M2Y1ZjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlQnVmZmVyLmgKQEAgLTM2LDEyICszNiw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotbmFtZXNwYWNlIERpc3BsYXlMaXN0IHsKLWNsYXNzIERpc3BsYXlMaXN0OwotY2xhc3MgRHJh
d2luZ0NvbnRleHQ7Ci1zdHJ1Y3QgSXRlbUJ1ZmZlckhhbmRsZTsKLX0KLQogY2xhc3MgRmlsdGVy
OwogCiBjbGFzcyBJbWFnZUJ1ZmZlciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxJbWFn
ZUJ1ZmZlciwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6TWFpbj4sIHB1YmxpYyBDYW5NYWtlV2Vh
a1B0cjxJbWFnZUJ1ZmZlcj4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmgKaW5kZXgg
MDdmMjhlNDU1ZTdiNDNhNTQxNDQxNzQ5OTBiN2QxYjdiYTZjNGUzMi4uMmNhODMyZDFmYjQyYTg2
ZjMxNjQyODljYTc2ZjUxZDQyNmZhZjVkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2Vu
ZC5oCkBAIC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSW1h
Z2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQgOiBwdWJsaWMgSW1hZ2VCdWZmZXJDR0JhY2tlbmQgewor
Y2xhc3MgSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQgZmluYWwgOiBwdWJsaWMgSW1hZ2VCdWZm
ZXJDR0JhY2tlbmQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSW1hZ2VCdWZmZXJDR0Jp
dG1hcEJhY2tlbmQpOwogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyQ0dCaXRt
YXBCYWNrZW5kKTsKIHB1YmxpYzoKQEAgLTQ0LDE5ICs0NCwxOSBAQCBwdWJsaWM6CiAgICAgLy8g
RklYTUU6IFJlbmFtZSB0byBjcmVhdGVVc2luZ0NvbG9yU3BhY2VPZkdyYXBoaWNzQ29udGV4dCgp
IChvciBzb21ldGhpbmcgbGlrZSB0aGF0KS4KICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc3Rk
Ojp1bmlxdWVfcHRyPEltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kPiBjcmVhdGUoY29uc3QgUGFy
YW1ldGVycyYsIGNvbnN0IEdyYXBoaWNzQ29udGV4dCYpOwogCi0gICAgR3JhcGhpY3NDb250ZXh0
JiBjb250ZXh0KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0
KCkgY29uc3QgZmluYWw7CiAKLSAgICBJbnRTaXplIGJhY2tlbmRTaXplKCkgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgSW50U2l6ZSBiYWNrZW5kU2l6ZSgpIGNvbnN0IGZpbmFsOwogCi0gICAgUmVmUHRy
PE5hdGl2ZUltYWdlPiBjb3B5TmF0aXZlSW1hZ2UoQmFja2luZ1N0b3JlQ29weSA9IENvcHlCYWNr
aW5nU3RvcmUpIGNvbnN0IG92ZXJyaWRlOworICAgIFJlZlB0cjxOYXRpdmVJbWFnZT4gY29weU5h
dGl2ZUltYWdlKEJhY2tpbmdTdG9yZUNvcHkgPSBDb3B5QmFja2luZ1N0b3JlKSBjb25zdCBmaW5h
bDsKIAotICAgIHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+IGdldFBpeGVsQnVmZmVyKGNvbnN0
IFBpeGVsQnVmZmVyRm9ybWF0JiBvdXRwdXRGb3JtYXQsIGNvbnN0IEludFJlY3QmKSBjb25zdCBv
dmVycmlkZTsKLSAgICB2b2lkIHB1dFBpeGVsQnVmZmVyKGNvbnN0IFBpeGVsQnVmZmVyJiwgY29u
c3QgSW50UmVjdCYgc3JjUmVjdCwgY29uc3QgSW50UG9pbnQmIGRlc3RQb2ludCwgQWxwaGFQcmVt
dWx0aXBsaWNhdGlvbiBkZXN0Rm9ybWF0KSBvdmVycmlkZTsKKyAgICBzdGQ6Om9wdGlvbmFsPFBp
eGVsQnVmZmVyPiBnZXRQaXhlbEJ1ZmZlcihjb25zdCBQaXhlbEJ1ZmZlckZvcm1hdCYgb3V0cHV0
Rm9ybWF0LCBjb25zdCBJbnRSZWN0JikgY29uc3QgZmluYWw7CisgICAgdm9pZCBwdXRQaXhlbEJ1
ZmZlcihjb25zdCBQaXhlbEJ1ZmZlciYsIGNvbnN0IEludFJlY3QmIHNyY1JlY3QsIGNvbnN0IElu
dFBvaW50JiBkZXN0UG9pbnQsIEFscGhhUHJlbXVsdGlwbGljYXRpb24gZGVzdEZvcm1hdCkgZmlu
YWw7CiAKIHByaXZhdGU6CiAgICAgSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQoY29uc3QgUGFy
YW1ldGVycyYsIHZvaWQqIGRhdGEsIFJldGFpblB0cjxDR0RhdGFQcm92aWRlclJlZj4mJiwgc3Rk
Ojp1bmlxdWVfcHRyPEdyYXBoaWNzQ29udGV4dD4mJik7CiAKLSAgICB1bnNpZ25lZCBieXRlc1Bl
clJvdygpIGNvbnN0IG92ZXJyaWRlOworICAgIHVuc2lnbmVkIGJ5dGVzUGVyUm93KCkgY29uc3Qg
ZmluYWw7CiAKICAgICB2b2lkKiBtX2RhdGE7CiAgICAgUmV0YWluUHRyPENHRGF0YVByb3ZpZGVy
UmVmPiBtX2RhdGFQcm92aWRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEltYWdlQnVmZmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJbWFnZUJ1
ZmZlci5oCmluZGV4IGU4ZjY4YTM3M2RiZWQ5MjgyNTZlMWYyOWMzZjJlZDY5N2IzNjZhY2YuLjBk
YTgzMjVjNDAxM2Y4NTQ0NmJmNTdhNDAxNGUwOTdjYWQ3Y2MzNDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEltYWdl
QnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxp
c3RzL0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXIuaApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBuYW1lc3BhY2UgRGlzcGxheUxpc3QgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBC
YWNrZW5kVHlwZT4KLWNsYXNzIEltYWdlQnVmZmVyIDogcHVibGljIENvbmNyZXRlSW1hZ2VCdWZm
ZXI8QmFja2VuZFR5cGU+IHsKK2NsYXNzIEltYWdlQnVmZmVyIGZpbmFsIDogcHVibGljIENvbmNy
ZXRlSW1hZ2VCdWZmZXI8QmFja2VuZFR5cGU+IHsKICAgICB1c2luZyBCYXNlQ29uY3JldGVJbWFn
ZUJ1ZmZlciA9IENvbmNyZXRlSW1hZ2VCdWZmZXI8QmFja2VuZFR5cGU+OwogICAgIHVzaW5nIEJh
c2VDb25jcmV0ZUltYWdlQnVmZmVyOjp0cnVuY2F0ZWRMb2dpY2FsU2l6ZTsKICAgICB1c2luZyBC
YXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6bG9naWNhbFNpemU7CkBAIC03NSwyMCArNzUsMjAgQEAg
cHVibGljOgogICAgICAgICBmbHVzaERyYXdpbmdDb250ZXh0KCk7CiAgICAgfQogCi0gICAgR3Jh
cGhpY3NDb250ZXh0JiBjb250ZXh0KCkgY29uc3Qgb3ZlcnJpZGUKKyAgICBHcmFwaGljc0NvbnRl
eHQmIGNvbnRleHQoKSBjb25zdCBmaW5hbAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fZHJhd2lu
Z0NvbnRleHQuY29udGV4dCgpOwogICAgIH0KIAogICAgIEdyYXBoaWNzQ29udGV4dCogZHJhd2lu
Z0NvbnRleHQoKSBvdmVycmlkZSB7IHJldHVybiAmbV9kcmF3aW5nQ29udGV4dC5jb250ZXh0KCk7
IH0KIAotICAgIHZvaWQgZmx1c2hEcmF3aW5nQ29udGV4dCgpIG92ZXJyaWRlCisgICAgdm9pZCBm
bHVzaERyYXdpbmdDb250ZXh0KCkgZmluYWwKICAgICB7CiAgICAgICAgIGlmICghbV9kcmF3aW5n
Q29udGV4dC5kaXNwbGF5TGlzdCgpLmlzRW1wdHkoKSkKICAgICAgICAgICAgIG1fZHJhd2luZ0Nv
bnRleHQucmVwbGF5RGlzcGxheUxpc3QoQmFzZUNvbmNyZXRlSW1hZ2VCdWZmZXI6OmNvbnRleHQo
KSk7CiAgICAgfQogCi0gICAgdm9pZCBjbGVhckJhY2tlbmQoKSBvdmVycmlkZQorICAgIHZvaWQg
Y2xlYXJCYWNrZW5kKCkgZmluYWwKICAgICB7CiAgICAgICAgIG1fZHJhd2luZ0NvbnRleHQuZGlz
cGxheUxpc3QoKS5jbGVhcigpOwogICAgICAgICBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6Y2xl
YXJCYWNrZW5kKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXll
clRyZWUvQ0dEaXNwbGF5TGlzdEltYWdlQnVmZmVyQmFja2VuZC5oIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvUmVtb3RlTGF5ZXJUcmVlL0NHRGlzcGxheUxpc3RJbWFnZUJ1ZmZlckJhY2tlbmQuaApp
bmRleCAwNDgwNmZjMzUxYTdiNTA1YTU3YzE4MzdhMTgzMzA4ZTA1ODZhODgxLi5kZmMzODhhNTBl
MjYxNWY2ZDI4MzFkOWQyODRiYjk2NTY3ZjRkMGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvQ0dEaXNwbGF5TGlzdEltYWdlQnVmZmVyQmFja2VuZC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9DR0Rpc3BsYXlMaXN0
SW1hZ2VCdWZmZXJCYWNrZW5kLmgKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKLWNsYXNzIENHRGlzcGxheUxpc3RJbWFnZUJ1ZmZlckJhY2tlbmQgOiBwdWJsaWMgV2Vi
Q29yZTo6SW1hZ2VCdWZmZXJDR0JhY2tlbmQgeworY2xhc3MgQ0dEaXNwbGF5TGlzdEltYWdlQnVm
ZmVyQmFja2VuZCBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpJbWFnZUJ1ZmZlckNHQmFja2VuZCB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJCYWNr
ZW5kKTsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJC
YWNrZW5kKTsKIHB1YmxpYzoKQEAgLTQ0LDE4ICs0NCwxOCBAQCBwdWJsaWM6CiAKICAgICBJbWFn
ZUJ1ZmZlckJhY2tlbmRIYW5kbGUgY3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlKCkgY29u
c3Q7CiAKLSAgICBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmIGNvbnRleHQoKSBjb25zdCBvdmVy
cmlkZTsKLSAgICBXZWJDb3JlOjpJbnRTaXplIGJhY2tlbmRTaXplKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KCkgY29uc3QgZmluYWw7Cisg
ICAgV2ViQ29yZTo6SW50U2l6ZSBiYWNrZW5kU2l6ZSgpIGNvbnN0IGZpbmFsOwogCiAgICAgLy8g
Tk9URTogVGhlc2UgYWxsIEFTU0VSVF9OT1RfUkVBQ0hFRCgpLgotICAgIFJlZlB0cjxXZWJDb3Jl
OjpOYXRpdmVJbWFnZT4gY29weU5hdGl2ZUltYWdlKFdlYkNvcmU6OkJhY2tpbmdTdG9yZUNvcHkg
PSBXZWJDb3JlOjpDb3B5QmFja2luZ1N0b3JlKSBjb25zdCBvdmVycmlkZTsKLSAgICBzdGQ6Om9w
dGlvbmFsPFdlYkNvcmU6OlBpeGVsQnVmZmVyPiBnZXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJDb3Jl
OjpQaXhlbEJ1ZmZlckZvcm1hdCYgb3V0cHV0Rm9ybWF0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBwdXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJDb3Jl
OjpQaXhlbEJ1ZmZlciYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNyY1JlY3QsIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBkZXN0UG9pbnQsIFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRp
b24gZGVzdEZvcm1hdCkgb3ZlcnJpZGU7CisgICAgUmVmUHRyPFdlYkNvcmU6Ok5hdGl2ZUltYWdl
PiBjb3B5TmF0aXZlSW1hZ2UoV2ViQ29yZTo6QmFja2luZ1N0b3JlQ29weSA9IFdlYkNvcmU6OkNv
cHlCYWNraW5nU3RvcmUpIGNvbnN0IGZpbmFsOworICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
UGl4ZWxCdWZmZXI+IGdldFBpeGVsQnVmZmVyKGNvbnN0IFdlYkNvcmU6OlBpeGVsQnVmZmVyRm9y
bWF0JiBvdXRwdXRGb3JtYXQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsK
KyAgICB2b2lkIHB1dFBpeGVsQnVmZmVyKGNvbnN0IFdlYkNvcmU6OlBpeGVsQnVmZmVyJiwgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYgc3JjUmVjdCwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGRl
c3RQb2ludCwgV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBkZXN0Rm9ybWF0KSBmaW5h
bDsKIAogcHJvdGVjdGVkOgogICAgIENHRGlzcGxheUxpc3RJbWFnZUJ1ZmZlckJhY2tlbmQoY29u
c3QgUGFyYW1ldGVycyYsIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ+
JiYpOwogCi0gICAgdW5zaWduZWQgYnl0ZXNQZXJSb3coKSBjb25zdCBvdmVycmlkZTsKKyAgICB1
bnNpZ25lZCBieXRlc1BlclJvdygpIGNvbnN0IGZpbmFsOwogCiAgICAgc3RkOjp1bmlxdWVfcHRy
PFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dD4gbV9jb250ZXh0OwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvSW1hZ2VCdWZmZXJTaGFyZWFibGVC
aXRtYXBCYWNrZW5kLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL0lt
YWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZC5oCmluZGV4IGM1YjI2YzQwZTc0NjAzMjJk
ZmFmZTI5YjBjZTZlMzY0MTY3ZTcyYWMuLjRjNzAyODVkMzA4NGUxODIyMzlkN2EyMTRiMzc5Njc1
NDYyN2FkY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhp
Y3MvSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9JbWFnZUJ1ZmZlclNoYXJlYWJsZUJpdG1hcEJhY2tl
bmQuaApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgU2hhcmVh
YmxlQml0bWFwOwogCi1jbGFzcyBJbWFnZUJ1ZmZlclNoYXJlYWJsZUJpdG1hcEJhY2tlbmQgOiBw
dWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1JbWFnZUJ1ZmZlckJhY2tlbmQgeworY2xhc3MgSW1hZ2VC
dWZmZXJTaGFyZWFibGVCaXRtYXBCYWNrZW5kIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OlBsYXRm
b3JtSW1hZ2VCdWZmZXJCYWNrZW5kIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEltYWdl
QnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZCk7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBCYWNrZW5kKTsKIHB1YmxpYzoKQEAgLTU1LDE5ICs1
NSwxOSBAQCBwdWJsaWM6CiAKICAgICBJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUgY3JlYXRlSW1h
Z2VCdWZmZXJCYWNrZW5kSGFuZGxlKCkgY29uc3Q7CiAKLSAgICBXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQmIGNvbnRleHQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAqbV9jb250ZXh0OyB9Cisg
ICAgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1
cm4gKm1fY29udGV4dDsgfQogICAgIAotICAgIFdlYkNvcmU6OkludFNpemUgYmFja2VuZFNpemUo
KSBjb25zdCBvdmVycmlkZTsKKyAgICBXZWJDb3JlOjpJbnRTaXplIGJhY2tlbmRTaXplKCkgY29u
c3QgZmluYWw7CiAKLSAgICBSZWZQdHI8V2ViQ29yZTo6TmF0aXZlSW1hZ2U+IGNvcHlOYXRpdmVJ
bWFnZShXZWJDb3JlOjpCYWNraW5nU3RvcmVDb3B5ID0gV2ViQ29yZTo6Q29weUJhY2tpbmdTdG9y
ZSkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OkltYWdlPiBjb3B5SW1hZ2Uo
V2ViQ29yZTo6QmFja2luZ1N0b3JlQ29weSA9IFdlYkNvcmU6OkNvcHlCYWNraW5nU3RvcmUsIFdl
YkNvcmU6OlByZXNlcnZlUmVzb2x1dGlvbiA9IFdlYkNvcmU6OlByZXNlcnZlUmVzb2x1dGlvbjo6
Tm8pIGNvbnN0IG92ZXJyaWRlOworICAgIFJlZlB0cjxXZWJDb3JlOjpOYXRpdmVJbWFnZT4gY29w
eU5hdGl2ZUltYWdlKFdlYkNvcmU6OkJhY2tpbmdTdG9yZUNvcHkgPSBXZWJDb3JlOjpDb3B5QmFj
a2luZ1N0b3JlKSBjb25zdCBmaW5hbDsKKyAgICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2U+IGNvcHlJ
bWFnZShXZWJDb3JlOjpCYWNraW5nU3RvcmVDb3B5ID0gV2ViQ29yZTo6Q29weUJhY2tpbmdTdG9y
ZSwgV2ViQ29yZTo6UHJlc2VydmVSZXNvbHV0aW9uID0gV2ViQ29yZTo6UHJlc2VydmVSZXNvbHV0
aW9uOjpObykgY29uc3QgZmluYWw7CiAKLSAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBpeGVs
QnVmZmVyPiBnZXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJDb3JlOjpQaXhlbEJ1ZmZlckZvcm1hdCYg
b3V0cHV0Rm9ybWF0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7Ci0g
ICAgdm9pZCBwdXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJDb3JlOjpQaXhlbEJ1ZmZlciYsIGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIHNyY1JlY3QsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBkZXN0
UG9pbnQsIFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRpb24gZGVzdEZvcm1hdCkgb3ZlcnJp
ZGU7CisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQaXhlbEJ1ZmZlcj4gZ2V0UGl4ZWxCdWZm
ZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXJGb3JtYXQmIG91dHB1dEZvcm1hdCwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgcHV0UGl4ZWxCdWZmZXIo
Y29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXImLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzcmNS
ZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZGVzdFBvaW50LCBXZWJDb3JlOjpBbHBoYVBy
ZW11bHRpcGxpY2F0aW9uIGRlc3RGb3JtYXQpIGZpbmFsOwogCiAgICAgdm9pZCBzZXRPd25lcnNo
aXBJZGVudGl0eShjb25zdCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpdHkmKSB7IH0KIHByaXZhdGU6
Ci0gICAgdW5zaWduZWQgYnl0ZXNQZXJSb3coKSBjb25zdCBvdmVycmlkZTsKKyAgICB1bnNpZ25l
ZCBieXRlc1BlclJvdygpIGNvbnN0IGZpbmFsOwogCiAgICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1h
cD4gbV9iaXRtYXA7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dD4gbV9jb250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9jb2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJsZUlPU3VyZmFjZUJhY2tlbmQuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFy
ZWFibGVJT1N1cmZhY2VCYWNrZW5kLmgKaW5kZXggZWJjY2NiNzk2NmQ3OGI4OGVhMmM5MDJmMTUy
ZGZkYzgzZDQxY2RjZC4uMzFhZmFhMzdkMzBhNmI4ZGRlNmVmZmIwYmJiMmM5NzExMGM4NjlkMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9jb2NvYS9J
bWFnZUJ1ZmZlclNoYXJlYWJsZUlPU3VyZmFjZUJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL2NvY29hL0ltYWdlQnVmZmVyU2hhcmVhYmxlSU9TdXJm
YWNlQmFja2VuZC5oCkBAIC01MiwyNSArNTIsMjUgQEAgcHVibGljOgogCiAgICAgSW1hZ2VCdWZm
ZXJCYWNrZW5kSGFuZGxlIGNyZWF0ZUltYWdlQnVmZmVyQmFja2VuZEhhbmRsZSgpIGNvbnN0Owog
Ci0gICAgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KCkgY29uc3Qgb3ZlcnJpZGU7
Ci0gICAgV2ViQ29yZTo6SW50U2l6ZSBiYWNrZW5kU2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwotICAg
IFJlZlB0cjxXZWJDb3JlOjpOYXRpdmVJbWFnZT4gY29weU5hdGl2ZUltYWdlKFdlYkNvcmU6OkJh
Y2tpbmdTdG9yZUNvcHkpIGNvbnN0IG92ZXJyaWRlOwotICAgIFJlZlB0cjxXZWJDb3JlOjpJbWFn
ZT4gY29weUltYWdlKFdlYkNvcmU6OkJhY2tpbmdTdG9yZUNvcHksIFdlYkNvcmU6OlByZXNlcnZl
UmVzb2x1dGlvbikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBkcmF3KFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IFdl
YkNvcmU6OkZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgV2ViQ29yZTo6SW1hZ2VQYWludGluZ09w
dGlvbnMmKSBvdmVycmlkZTsKLSAgICB2b2lkIGRyYXdQYXR0ZXJuKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJiBw
YXR0ZXJuVHJhbnNmb3JtLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBwaGFzZSwgY29uc3Qg
V2ViQ29yZTo6RmxvYXRTaXplJiBzcGFjaW5nLCBjb25zdCBXZWJDb3JlOjpJbWFnZVBhaW50aW5n
T3B0aW9ucyYpIG92ZXJyaWRlOwotICAgIFN0cmluZyB0b0RhdGFVUkwoY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSwgc3RkOjpvcHRpb25hbDxkb3VibGU+IHF1YWxpdHksIFdlYkNvcmU6OlByZXNlcnZl
UmVzb2x1dGlvbikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgVmVjdG9yPHVpbnQ4X3Q+IHRvRGF0YShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlLCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gcXVhbGl0eSkgY29u
c3Qgb3ZlcnJpZGU7Ci0gICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQaXhlbEJ1ZmZlcj4gZ2V0
UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXJGb3JtYXQmIG91dHB1dEZvcm1h
dCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQgcHV0
UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXImLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBzcmNSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZGVzdFBvaW50LCBXZWJD
b3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIGRlc3RGb3JtYXQpIG92ZXJyaWRlOworICAgIFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dCYgY29udGV4dCgpIGNvbnN0IGZpbmFsOworICAgIFdlYkNv
cmU6OkludFNpemUgYmFja2VuZFNpemUoKSBjb25zdCBmaW5hbDsKKyAgICBSZWZQdHI8V2ViQ29y
ZTo6TmF0aXZlSW1hZ2U+IGNvcHlOYXRpdmVJbWFnZShXZWJDb3JlOjpCYWNraW5nU3RvcmVDb3B5
KSBjb25zdCBmaW5hbDsKKyAgICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2U+IGNvcHlJbWFnZShXZWJD
b3JlOjpCYWNraW5nU3RvcmVDb3B5LCBXZWJDb3JlOjpQcmVzZXJ2ZVJlc29sdXRpb24pIGNvbnN0
IGZpbmFsOworICAgIHZvaWQgZHJhdyhXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmLCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHNy
Y1JlY3QsIGNvbnN0IFdlYkNvcmU6OkltYWdlUGFpbnRpbmdPcHRpb25zJikgZmluYWw7CisgICAg
dm9pZCBkcmF3UGF0dGVybihXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmLCBjb25zdCBXZWJDb3Jl
OjpGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHNyY1JlY3Qs
IGNvbnN0IFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9ybSwgY29uc3Qg
V2ViQ29yZTo6RmxvYXRQb2ludCYgcGhhc2UsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgc3Bh
Y2luZywgY29uc3QgV2ViQ29yZTo6SW1hZ2VQYWludGluZ09wdGlvbnMmKSBmaW5hbDsKKyAgICBT
dHJpbmcgdG9EYXRhVVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHN0ZDo6b3B0aW9uYWw8ZG91
YmxlPiBxdWFsaXR5LCBXZWJDb3JlOjpQcmVzZXJ2ZVJlc29sdXRpb24pIGNvbnN0IGZpbmFsOwor
ICAgIFZlY3Rvcjx1aW50OF90PiB0b0RhdGEoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgc3RkOjpv
cHRpb25hbDxkb3VibGU+IHF1YWxpdHkpIGNvbnN0IGZpbmFsOworICAgIHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6UGl4ZWxCdWZmZXI+IGdldFBpeGVsQnVmZmVyKGNvbnN0IFdlYkNvcmU6OlBpeGVs
QnVmZmVyRm9ybWF0JiBvdXRwdXRGb3JtYXQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25z
dCBmaW5hbDsKKyAgICB2b2lkIHB1dFBpeGVsQnVmZmVyKGNvbnN0IFdlYkNvcmU6OlBpeGVsQnVm
ZmVyJiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc3JjUmVjdCwgY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIGRlc3RQb2ludCwgV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBkZXN0Rm9y
bWF0KSBmaW5hbDsKIAogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc09yaWdpbkF0Qm90dG9t
TGVmdENvcm5lciA9IHRydWU7Ci0gICAgYm9vbCBvcmlnaW5BdEJvdHRvbUxlZnRDb3JuZXIoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBpc09yaWdpbkF0Qm90dG9tTGVmdENvcm5lcjsgfQorICAg
IGJvb2wgb3JpZ2luQXRCb3R0b21MZWZ0Q29ybmVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gaXNP
cmlnaW5BdEJvdHRvbUxlZnRDb3JuZXI7IH0KIAogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBj
YW5NYXBCYWNraW5nU3RvcmUgPSBmYWxzZTsKICAgICBzdGF0aWMgY29uc3RleHByIFdlYkNvcmU6
OlJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSA9IFdlYkNvcmU6OlJlbmRlcmluZ01vZGU6OkFj
Y2VsZXJhdGVkOwogCiBwcml2YXRlOgotICAgIHVuc2lnbmVkIGJ5dGVzUGVyUm93KCkgY29uc3Qg
b3ZlcnJpZGU7CisgICAgdW5zaWduZWQgYnl0ZXNQZXJSb3coKSBjb25zdCBmaW5hbDsKIAogICAg
IEltYWdlQnVmZmVyQmFja2VuZEhhbmRsZSBtX2hhbmRsZTsKIH07Cg==
</data>
<flag name="commit-queue"
          id="477535"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450973</attachid>
            <date>2022-02-04 21:57:22 -0800</date>
            <delta_ts>2022-02-05 11:07:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236170-20220204215721.patch</filename>
            <type>text/plain</type>
            <size>19302</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTJhM2RkMWJkZGM4ZTQy
ODBmMWJiZjhmOGYxMzVjYjgyYzk0NDhiZC4uMWJmMTNiMzhjNWUyOTM5ODdmY2FhNDVkNTE1NGNm
NTM5ZjJhNWVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTAyLTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFRpZHkgdXAgc29t
ZSBJbWFnZUJ1ZmZlci1yZWxhdGVkIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjE3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBzb21lIGZvcndhcmQgZGVjbGFyYXRpb25zIGlu
IEltYWdlQnVmZmVyLmggdW51c2VkIGJ5IEltYWdlQnVmZmVyLgorICAgICAgICAKKyAgICAgICAg
RGlzcGxheUxpc3Q6OkltYWdlQnVmZmVyIGNhbiBiZSBmaW5hbC4KKyAgICAgICAgSW1hZ2VCdWZm
ZXJDR0JpdG1hcEJhY2tlbmQgY2FuIGJlIGZpbmFsLgorCisgICAgICAgICogaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlQnVmZmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VC
dWZmZXJDR0JpdG1hcEJhY2tlbmQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNw
bGF5bGlzdHMvRGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oOgorICAgICAgICAoV2ViQ29yZTo6RGlz
cGxheUxpc3Q6OkltYWdlQnVmZmVyOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6RGlzcGxheUxpc3Q6OkltYWdlQnVmZmVyOjpJbWFnZUJ1ZmZlcik6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI6On5JbWFnZUJ1ZmZlcik6IERl
bGV0ZWQuCisKIDIwMjItMDItMDQgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW21hY09TXSBTY3JlZW5DYXB0dXJlS2l0Q2FwdHVyZVNvdXJjZSBvbmx5
IG91dHB1dHMgb25lIGZyYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVlMjQ0M2M3M2E4ZDA5ZmMxMjc3NDU5NWVj
YjQ1NjRjOTMzNzk5MTAuLjM3ZTgwNTVhZjhjYjhjMzllMTMzNzVjZWNiNDRiNDdhZTZkM2M2MDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjItMDItMDQgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgVGlkeSB1cCBzb21lIEltYWdlQnVmZmVy
LXJlbGF0ZWQgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM2MTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ0dEaXNwbGF5TGlzdEltYWdlQnVmZmVyQmFja2VuZCBjYW4gYmUgZmluYWwuCisg
ICAgICAgIEltYWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZCBjYW4gYmUgZmluYWwuCisg
ICAgICAgIEZ1bmN0aW9ucyBvbiBJbWFnZUJ1ZmZlclNoYXJlYWJsZUlPU3VyZmFjZUJhY2tlbmQg
Y2FuIGJlIGZpbmFsLgorCisgICAgICAgICogU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9DR0Rpc3Bs
YXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5kLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3Jh
cGhpY3MvSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBCYWNrZW5kLmg6CisgICAgICAgIChXZWJL
aXQ6OkltYWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZDo6c2V0T3duZXJzaGlwSWRlbnRp
dHkpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL2NvY29hL0lt
YWdlQnVmZmVyU2hhcmVhYmxlSU9TdXJmYWNlQmFja2VuZC5oOgorCiAyMDIyLTAyLTAyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFJl
bW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbiB0byBoYXZlIGEgc2luZ2xlIGJhY2tpbmcg
c3RvcmUgdHJhdmVyc2FsIGZ1bmN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmgKaW5kZXggNWY0MDZkNmMx
NTdhMTg0YTc1NmI5MWExMzAyN2U0OTI4MTA1ZWNmYy4uZTk2M2M2NzdjMDhkM2IwOWUwNWExMDY0
MjMwZTZjZGEyMjkyYjFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuaApAQCAtNjUsNiArNjUsMTAgQEAg
Y2xhc3MgVGV4dE1ldHJpY3M7CiAKIHN0cnVjdCBET01NYXRyaXgyREluaXQ7CiAKK25hbWVzcGFj
ZSBEaXNwbGF5TGlzdCB7CitjbGFzcyBEcmF3aW5nQ29udGV4dDsKK30KKwogdXNpbmcgQ2FudmFz
SW1hZ2VTb3VyY2UgPSBzdGQ6OnZhcmlhbnQ8UmVmUHRyPEhUTUxJbWFnZUVsZW1lbnQ+LCBSZWZQ
dHI8SFRNTENhbnZhc0VsZW1lbnQ+LCBSZWZQdHI8SW1hZ2VCaXRtYXA+CiAjaWYgRU5BQkxFKENT
U19UWVBFRF9PTSkKICAgICAsIFJlZlB0cjxDU1NTdHlsZUltYWdlVmFsdWU+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAppbmRleCA0YjcxZjIzNTNj
OGQwY2Q4ZWRmNGFmNWU1OTI2YjdkZTI5MmM4YTYyLi4wOGQwMjFjZDY4NGUwNjI3M2ZlMWQ3MWFi
Y2RlOGE0YjQ4M2Y1ZjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlQnVmZmVyLmgKQEAgLTM2LDEyICszNiw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotbmFtZXNwYWNlIERpc3BsYXlMaXN0IHsKLWNsYXNzIERpc3BsYXlMaXN0OwotY2xhc3MgRHJh
d2luZ0NvbnRleHQ7Ci1zdHJ1Y3QgSXRlbUJ1ZmZlckhhbmRsZTsKLX0KLQogY2xhc3MgRmlsdGVy
OwogCiBjbGFzcyBJbWFnZUJ1ZmZlciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxJbWFn
ZUJ1ZmZlciwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6TWFpbj4sIHB1YmxpYyBDYW5NYWtlV2Vh
a1B0cjxJbWFnZUJ1ZmZlcj4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuY3BwCmlu
ZGV4IGJmNDIwMDkzMmM3MTRmNDFjZjAwMmVjOWZiN2ExNTMzNTdiYzIwOGUuLjQ0YmY1OTliNjc3
Mzc2ZTAzMGRkNjEwMjE5YjcyNzNjZWE0M2QwZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFw
QmFja2VuZC5jcHAKQEAgLTExOCw2ICsxMTgsOCBAQCBJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2Vu
ZDo6SW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQoY29uc3QgUGFyYW1ldGVycyYgcGFyYW1ldAog
ICAgIGFwcGx5QmFzZVRyYW5zZm9ybVRvQ29udGV4dCgpOwogfQogCitJbWFnZUJ1ZmZlckNHQml0
bWFwQmFja2VuZDo6fkltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kKCkgPSBkZWZhdWx0OworCiBH
cmFwaGljc0NvbnRleHQmIEltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kOjpjb250ZXh0KCkgY29u
c3QKIHsKICAgICByZXR1cm4gKm1fY29udGV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2Vu
ZC5oCmluZGV4IDA3ZjI4ZTQ1NWU3YjQzYTU0MTQ0MTc0OTkwYjdkMWI3YmE2YzRlMzIuLjc3ZTA5
OWU5NmRkYTBlNmU1Y2VhOTA5OGY1NjhhN2IzYmU5M2JjM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0Jp
dG1hcEJhY2tlbmQuaApAQCAtMzIsMzEgKzMyLDMzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQgOiBwdWJsaWMgSW1hZ2VCdWZmZXJD
R0JhY2tlbmQgeworY2xhc3MgSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQgZmluYWwgOiBwdWJs
aWMgSW1hZ2VCdWZmZXJDR0JhY2tlbmQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSW1h
Z2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQpOwogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdl
QnVmZmVyQ0dCaXRtYXBCYWNrZW5kKTsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0
aWMgSW50U2l6ZSBjYWxjdWxhdGVTYWZlQmFja2VuZFNpemUoY29uc3QgUGFyYW1ldGVycyYpOwot
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBzaXplX3QgY2FsY3VsYXRlTWVtb3J5Q29zdChjb25z
dCBQYXJhbWV0ZXJzJik7CisgICAgfkltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kKCk7CiAKLSAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyQ0dCaXRt
YXBCYWNrZW5kPiBjcmVhdGUoY29uc3QgUGFyYW1ldGVycyYsIGNvbnN0IEhvc3RXaW5kb3cqKTsK
KyAgICBzdGF0aWMgSW50U2l6ZSBjYWxjdWxhdGVTYWZlQmFja2VuZFNpemUoY29uc3QgUGFyYW1l
dGVycyYpOworICAgIHN0YXRpYyBzaXplX3QgY2FsY3VsYXRlTWVtb3J5Q29zdChjb25zdCBQYXJh
bWV0ZXJzJik7CisKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyQ0dCaXRt
YXBCYWNrZW5kPiBjcmVhdGUoY29uc3QgUGFyYW1ldGVycyYsIGNvbnN0IEhvc3RXaW5kb3cqKTsK
IAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdG8gY3JlYXRlVXNpbmdDb2xvclNwYWNlT2ZHcmFwaGlj
c0NvbnRleHQoKSAob3Igc29tZXRoaW5nIGxpa2UgdGhhdCkuCi0gICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZD4gY3JlYXRl
KGNvbnN0IFBhcmFtZXRlcnMmLCBjb25zdCBHcmFwaGljc0NvbnRleHQmKTsKKyAgICBzdGF0aWMg
c3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kPiBjcmVhdGUoY29uc3Qg
UGFyYW1ldGVycyYsIGNvbnN0IEdyYXBoaWNzQ29udGV4dCYpOwogCi0gICAgR3JhcGhpY3NDb250
ZXh0JiBjb250ZXh0KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgR3JhcGhpY3NDb250ZXh0JiBjb250
ZXh0KCkgY29uc3QgZmluYWw7CiAKLSAgICBJbnRTaXplIGJhY2tlbmRTaXplKCkgY29uc3Qgb3Zl
cnJpZGU7CisgICAgSW50U2l6ZSBiYWNrZW5kU2l6ZSgpIGNvbnN0IGZpbmFsOwogCi0gICAgUmVm
UHRyPE5hdGl2ZUltYWdlPiBjb3B5TmF0aXZlSW1hZ2UoQmFja2luZ1N0b3JlQ29weSA9IENvcHlC
YWNraW5nU3RvcmUpIGNvbnN0IG92ZXJyaWRlOworICAgIFJlZlB0cjxOYXRpdmVJbWFnZT4gY29w
eU5hdGl2ZUltYWdlKEJhY2tpbmdTdG9yZUNvcHkgPSBDb3B5QmFja2luZ1N0b3JlKSBjb25zdCBm
aW5hbDsKIAotICAgIHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+IGdldFBpeGVsQnVmZmVyKGNv
bnN0IFBpeGVsQnVmZmVyRm9ybWF0JiBvdXRwdXRGb3JtYXQsIGNvbnN0IEludFJlY3QmKSBjb25z
dCBvdmVycmlkZTsKLSAgICB2b2lkIHB1dFBpeGVsQnVmZmVyKGNvbnN0IFBpeGVsQnVmZmVyJiwg
Y29uc3QgSW50UmVjdCYgc3JjUmVjdCwgY29uc3QgSW50UG9pbnQmIGRlc3RQb2ludCwgQWxwaGFQ
cmVtdWx0aXBsaWNhdGlvbiBkZXN0Rm9ybWF0KSBvdmVycmlkZTsKKyAgICBzdGQ6Om9wdGlvbmFs
PFBpeGVsQnVmZmVyPiBnZXRQaXhlbEJ1ZmZlcihjb25zdCBQaXhlbEJ1ZmZlckZvcm1hdCYgb3V0
cHV0Rm9ybWF0LCBjb25zdCBJbnRSZWN0JikgY29uc3QgZmluYWw7CisgICAgdm9pZCBwdXRQaXhl
bEJ1ZmZlcihjb25zdCBQaXhlbEJ1ZmZlciYsIGNvbnN0IEludFJlY3QmIHNyY1JlY3QsIGNvbnN0
IEludFBvaW50JiBkZXN0UG9pbnQsIEFscGhhUHJlbXVsdGlwbGljYXRpb24gZGVzdEZvcm1hdCkg
ZmluYWw7CiAKIHByaXZhdGU6CiAgICAgSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQoY29uc3Qg
UGFyYW1ldGVycyYsIHZvaWQqIGRhdGEsIFJldGFpblB0cjxDR0RhdGFQcm92aWRlclJlZj4mJiwg
c3RkOjp1bmlxdWVfcHRyPEdyYXBoaWNzQ29udGV4dD4mJik7CiAKLSAgICB1bnNpZ25lZCBieXRl
c1BlclJvdygpIGNvbnN0IG92ZXJyaWRlOworICAgIHVuc2lnbmVkIGJ5dGVzUGVyUm93KCkgY29u
c3QgZmluYWw7CiAKICAgICB2b2lkKiBtX2RhdGE7CiAgICAgUmV0YWluUHRyPENHRGF0YVByb3Zp
ZGVyUmVmPiBtX2RhdGFQcm92aWRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEltYWdlQnVmZmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJbWFn
ZUJ1ZmZlci5oCmluZGV4IGU4ZjY4YTM3M2RiZWQ5MjgyNTZlMWYyOWMzZjJlZDY5N2IzNjZhY2Yu
LjBkYTgzMjVjNDAxM2Y4NTQ0NmJmNTdhNDAxNGUwOTdjYWQ3Y2MzNDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdElt
YWdlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXIuaApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgRGlzcGxheUxpc3QgewogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBCYWNrZW5kVHlwZT4KLWNsYXNzIEltYWdlQnVmZmVyIDogcHVibGljIENvbmNyZXRlSW1hZ2VC
dWZmZXI8QmFja2VuZFR5cGU+IHsKK2NsYXNzIEltYWdlQnVmZmVyIGZpbmFsIDogcHVibGljIENv
bmNyZXRlSW1hZ2VCdWZmZXI8QmFja2VuZFR5cGU+IHsKICAgICB1c2luZyBCYXNlQ29uY3JldGVJ
bWFnZUJ1ZmZlciA9IENvbmNyZXRlSW1hZ2VCdWZmZXI8QmFja2VuZFR5cGU+OwogICAgIHVzaW5n
IEJhc2VDb25jcmV0ZUltYWdlQnVmZmVyOjp0cnVuY2F0ZWRMb2dpY2FsU2l6ZTsKICAgICB1c2lu
ZyBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6bG9naWNhbFNpemU7CkBAIC03NSwyMCArNzUsMjAg
QEAgcHVibGljOgogICAgICAgICBmbHVzaERyYXdpbmdDb250ZXh0KCk7CiAgICAgfQogCi0gICAg
R3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KCkgY29uc3Qgb3ZlcnJpZGUKKyAgICBHcmFwaGljc0Nv
bnRleHQmIGNvbnRleHQoKSBjb25zdCBmaW5hbAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fZHJh
d2luZ0NvbnRleHQuY29udGV4dCgpOwogICAgIH0KIAogICAgIEdyYXBoaWNzQ29udGV4dCogZHJh
d2luZ0NvbnRleHQoKSBvdmVycmlkZSB7IHJldHVybiAmbV9kcmF3aW5nQ29udGV4dC5jb250ZXh0
KCk7IH0KIAotICAgIHZvaWQgZmx1c2hEcmF3aW5nQ29udGV4dCgpIG92ZXJyaWRlCisgICAgdm9p
ZCBmbHVzaERyYXdpbmdDb250ZXh0KCkgZmluYWwKICAgICB7CiAgICAgICAgIGlmICghbV9kcmF3
aW5nQ29udGV4dC5kaXNwbGF5TGlzdCgpLmlzRW1wdHkoKSkKICAgICAgICAgICAgIG1fZHJhd2lu
Z0NvbnRleHQucmVwbGF5RGlzcGxheUxpc3QoQmFzZUNvbmNyZXRlSW1hZ2VCdWZmZXI6OmNvbnRl
eHQoKSk7CiAgICAgfQogCi0gICAgdm9pZCBjbGVhckJhY2tlbmQoKSBvdmVycmlkZQorICAgIHZv
aWQgY2xlYXJCYWNrZW5kKCkgZmluYWwKICAgICB7CiAgICAgICAgIG1fZHJhd2luZ0NvbnRleHQu
ZGlzcGxheUxpc3QoKS5jbGVhcigpOwogICAgICAgICBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6
Y2xlYXJCYWNrZW5kKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVM
YXllclRyZWUvQ0dEaXNwbGF5TGlzdEltYWdlQnVmZmVyQmFja2VuZC5oIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL0NHRGlzcGxheUxpc3RJbWFnZUJ1ZmZlckJhY2tlbmQu
aAppbmRleCAwNDgwNmZjMzUxYTdiNTA1YTU3YzE4MzdhMTgzMzA4ZTA1ODZhODgxLi5kZmMzODhh
NTBlMjYxNWY2ZDI4MzFkOWQyODRiYjk2NTY3ZjRkMGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvQ0dEaXNwbGF5TGlzdEltYWdlQnVmZmVyQmFja2Vu
ZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9DR0Rpc3BsYXlM
aXN0SW1hZ2VCdWZmZXJCYWNrZW5kLmgKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKLWNsYXNzIENHRGlzcGxheUxpc3RJbWFnZUJ1ZmZlckJhY2tlbmQgOiBwdWJsaWMg
V2ViQ29yZTo6SW1hZ2VCdWZmZXJDR0JhY2tlbmQgeworY2xhc3MgQ0dEaXNwbGF5TGlzdEltYWdl
QnVmZmVyQmFja2VuZCBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpJbWFnZUJ1ZmZlckNHQmFja2Vu
ZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJC
YWNrZW5kKTsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZm
ZXJCYWNrZW5kKTsKIHB1YmxpYzoKQEAgLTQ0LDE4ICs0NCwxOCBAQCBwdWJsaWM6CiAKICAgICBJ
bWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUgY3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlKCkg
Y29uc3Q7CiAKLSAgICBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmIGNvbnRleHQoKSBjb25zdCBv
dmVycmlkZTsKLSAgICBXZWJDb3JlOjpJbnRTaXplIGJhY2tlbmRTaXplKCkgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KCkgY29uc3QgZmluYWw7
CisgICAgV2ViQ29yZTo6SW50U2l6ZSBiYWNrZW5kU2l6ZSgpIGNvbnN0IGZpbmFsOwogCiAgICAg
Ly8gTk9URTogVGhlc2UgYWxsIEFTU0VSVF9OT1RfUkVBQ0hFRCgpLgotICAgIFJlZlB0cjxXZWJD
b3JlOjpOYXRpdmVJbWFnZT4gY29weU5hdGl2ZUltYWdlKFdlYkNvcmU6OkJhY2tpbmdTdG9yZUNv
cHkgPSBXZWJDb3JlOjpDb3B5QmFja2luZ1N0b3JlKSBjb25zdCBvdmVycmlkZTsKLSAgICBzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OlBpeGVsQnVmZmVyPiBnZXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJD
b3JlOjpQaXhlbEJ1ZmZlckZvcm1hdCYgb3V0cHV0Rm9ybWF0LCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBwdXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJD
b3JlOjpQaXhlbEJ1ZmZlciYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNyY1JlY3QsIGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiBkZXN0UG9pbnQsIFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGlj
YXRpb24gZGVzdEZvcm1hdCkgb3ZlcnJpZGU7CisgICAgUmVmUHRyPFdlYkNvcmU6Ok5hdGl2ZUlt
YWdlPiBjb3B5TmF0aXZlSW1hZ2UoV2ViQ29yZTo6QmFja2luZ1N0b3JlQ29weSA9IFdlYkNvcmU6
OkNvcHlCYWNraW5nU3RvcmUpIGNvbnN0IGZpbmFsOworICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6UGl4ZWxCdWZmZXI+IGdldFBpeGVsQnVmZmVyKGNvbnN0IFdlYkNvcmU6OlBpeGVsQnVmZmVy
Rm9ybWF0JiBvdXRwdXRGb3JtYXQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5h
bDsKKyAgICB2b2lkIHB1dFBpeGVsQnVmZmVyKGNvbnN0IFdlYkNvcmU6OlBpeGVsQnVmZmVyJiwg
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc3JjUmVjdCwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
IGRlc3RQb2ludCwgV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBkZXN0Rm9ybWF0KSBm
aW5hbDsKIAogcHJvdGVjdGVkOgogICAgIENHRGlzcGxheUxpc3RJbWFnZUJ1ZmZlckJhY2tlbmQo
Y29uc3QgUGFyYW1ldGVycyYsIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQ+JiYpOwogCi0gICAgdW5zaWduZWQgYnl0ZXNQZXJSb3coKSBjb25zdCBvdmVycmlkZTsKKyAg
ICB1bnNpZ25lZCBieXRlc1BlclJvdygpIGNvbnN0IGZpbmFsOwogCiAgICAgc3RkOjp1bmlxdWVf
cHRyPFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dD4gbV9jb250ZXh0OwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvSW1hZ2VCdWZmZXJTaGFyZWFi
bGVCaXRtYXBCYWNrZW5kLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNz
L0ltYWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZC5oCmluZGV4IGM1YjI2YzQwZTc0NjAz
MjJkZmFmZTI5YjBjZTZlMzY0MTY3ZTcyYWMuLjRjNzAyODVkMzA4NGUxODIyMzlkN2EyMTRiMzc5
Njc1NDYyN2FkY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3Jh
cGhpY3MvSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBCYWNrZW5kLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9JbWFnZUJ1ZmZlclNoYXJlYWJsZUJpdG1hcEJh
Y2tlbmQuaApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgU2hh
cmVhYmxlQml0bWFwOwogCi1jbGFzcyBJbWFnZUJ1ZmZlclNoYXJlYWJsZUJpdG1hcEJhY2tlbmQg
OiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1JbWFnZUJ1ZmZlckJhY2tlbmQgeworY2xhc3MgSW1h
Z2VCdWZmZXJTaGFyZWFibGVCaXRtYXBCYWNrZW5kIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OlBs
YXRmb3JtSW1hZ2VCdWZmZXJCYWNrZW5kIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKElt
YWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZCk7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBCYWNrZW5kKTsKIHB1YmxpYzoKQEAgLTU1LDE5
ICs1NSwxOSBAQCBwdWJsaWM6CiAKICAgICBJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUgY3JlYXRl
SW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlKCkgY29uc3Q7CiAKLSAgICBXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQmIGNvbnRleHQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAqbV9jb250ZXh0OyB9
CisgICAgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gKm1fY29udGV4dDsgfQogICAgIAotICAgIFdlYkNvcmU6OkludFNpemUgYmFja2VuZFNp
emUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBXZWJDb3JlOjpJbnRTaXplIGJhY2tlbmRTaXplKCkg
Y29uc3QgZmluYWw7CiAKLSAgICBSZWZQdHI8V2ViQ29yZTo6TmF0aXZlSW1hZ2U+IGNvcHlOYXRp
dmVJbWFnZShXZWJDb3JlOjpCYWNraW5nU3RvcmVDb3B5ID0gV2ViQ29yZTo6Q29weUJhY2tpbmdT
dG9yZSkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OkltYWdlPiBjb3B5SW1h
Z2UoV2ViQ29yZTo6QmFja2luZ1N0b3JlQ29weSA9IFdlYkNvcmU6OkNvcHlCYWNraW5nU3RvcmUs
IFdlYkNvcmU6OlByZXNlcnZlUmVzb2x1dGlvbiA9IFdlYkNvcmU6OlByZXNlcnZlUmVzb2x1dGlv
bjo6Tm8pIGNvbnN0IG92ZXJyaWRlOworICAgIFJlZlB0cjxXZWJDb3JlOjpOYXRpdmVJbWFnZT4g
Y29weU5hdGl2ZUltYWdlKFdlYkNvcmU6OkJhY2tpbmdTdG9yZUNvcHkgPSBXZWJDb3JlOjpDb3B5
QmFja2luZ1N0b3JlKSBjb25zdCBmaW5hbDsKKyAgICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2U+IGNv
cHlJbWFnZShXZWJDb3JlOjpCYWNraW5nU3RvcmVDb3B5ID0gV2ViQ29yZTo6Q29weUJhY2tpbmdT
dG9yZSwgV2ViQ29yZTo6UHJlc2VydmVSZXNvbHV0aW9uID0gV2ViQ29yZTo6UHJlc2VydmVSZXNv
bHV0aW9uOjpObykgY29uc3QgZmluYWw7CiAKLSAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBp
eGVsQnVmZmVyPiBnZXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJDb3JlOjpQaXhlbEJ1ZmZlckZvcm1h
dCYgb3V0cHV0Rm9ybWF0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7
Ci0gICAgdm9pZCBwdXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJDb3JlOjpQaXhlbEJ1ZmZlciYsIGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmIHNyY1JlY3QsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBk
ZXN0UG9pbnQsIFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRpb24gZGVzdEZvcm1hdCkgb3Zl
cnJpZGU7CisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQaXhlbEJ1ZmZlcj4gZ2V0UGl4ZWxC
dWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXJGb3JtYXQmIG91dHB1dEZvcm1hdCwgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgcHV0UGl4ZWxCdWZm
ZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXImLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBz
cmNSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZGVzdFBvaW50LCBXZWJDb3JlOjpBbHBo
YVByZW11bHRpcGxpY2F0aW9uIGRlc3RGb3JtYXQpIGZpbmFsOwogCiAgICAgdm9pZCBzZXRPd25l
cnNoaXBJZGVudGl0eShjb25zdCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpdHkmKSB7IH0KIHByaXZh
dGU6Ci0gICAgdW5zaWduZWQgYnl0ZXNQZXJSb3coKSBjb25zdCBvdmVycmlkZTsKKyAgICB1bnNp
Z25lZCBieXRlc1BlclJvdygpIGNvbnN0IGZpbmFsOwogCiAgICAgUmVmUHRyPFNoYXJlYWJsZUJp
dG1hcD4gbV9iaXRtYXA7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dD4gbV9jb250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9ncmFwaGljcy9jb2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJsZUlPU3VyZmFjZUJhY2tlbmQuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJT
aGFyZWFibGVJT1N1cmZhY2VCYWNrZW5kLmgKaW5kZXggZWJjY2NiNzk2NmQ3OGI4OGVhMmM5MDJm
MTUyZGZkYzgzZDQxY2RjZC4uMzFhZmFhMzdkMzBhNmI4ZGRlNmVmZmIwYmJiMmM5NzExMGM4Njlk
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9jb2Nv
YS9JbWFnZUJ1ZmZlclNoYXJlYWJsZUlPU3VyZmFjZUJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL2NvY29hL0ltYWdlQnVmZmVyU2hhcmVhYmxlSU9T
dXJmYWNlQmFja2VuZC5oCkBAIC01MiwyNSArNTIsMjUgQEAgcHVibGljOgogCiAgICAgSW1hZ2VC
dWZmZXJCYWNrZW5kSGFuZGxlIGNyZWF0ZUltYWdlQnVmZmVyQmFja2VuZEhhbmRsZSgpIGNvbnN0
OwogCi0gICAgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KCkgY29uc3Qgb3ZlcnJp
ZGU7Ci0gICAgV2ViQ29yZTo6SW50U2l6ZSBiYWNrZW5kU2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwot
ICAgIFJlZlB0cjxXZWJDb3JlOjpOYXRpdmVJbWFnZT4gY29weU5hdGl2ZUltYWdlKFdlYkNvcmU6
OkJhY2tpbmdTdG9yZUNvcHkpIGNvbnN0IG92ZXJyaWRlOwotICAgIFJlZlB0cjxXZWJDb3JlOjpJ
bWFnZT4gY29weUltYWdlKFdlYkNvcmU6OkJhY2tpbmdTdG9yZUNvcHksIFdlYkNvcmU6OlByZXNl
cnZlUmVzb2x1dGlvbikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBkcmF3KFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0
IFdlYkNvcmU6OkZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgV2ViQ29yZTo6SW1hZ2VQYWludGlu
Z09wdGlvbnMmKSBvdmVycmlkZTsKLSAgICB2b2lkIGRyYXdQYXR0ZXJuKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IFdl
YkNvcmU6OkZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3Jt
JiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBwaGFzZSwgY29u
c3QgV2ViQ29yZTo6RmxvYXRTaXplJiBzcGFjaW5nLCBjb25zdCBXZWJDb3JlOjpJbWFnZVBhaW50
aW5nT3B0aW9ucyYpIG92ZXJyaWRlOwotICAgIFN0cmluZyB0b0RhdGFVUkwoY29uc3QgU3RyaW5n
JiBtaW1lVHlwZSwgc3RkOjpvcHRpb25hbDxkb3VibGU+IHF1YWxpdHksIFdlYkNvcmU6OlByZXNl
cnZlUmVzb2x1dGlvbikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgVmVjdG9yPHVpbnQ4X3Q+IHRvRGF0
YShjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gcXVhbGl0eSkg
Y29uc3Qgb3ZlcnJpZGU7Ci0gICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQaXhlbEJ1ZmZlcj4g
Z2V0UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXJGb3JtYXQmIG91dHB1dEZv
cm1hdCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQg
cHV0UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXImLCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JiBzcmNSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZGVzdFBvaW50LCBX
ZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIGRlc3RGb3JtYXQpIG92ZXJyaWRlOworICAg
IFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYgY29udGV4dCgpIGNvbnN0IGZpbmFsOworICAgIFdl
YkNvcmU6OkludFNpemUgYmFja2VuZFNpemUoKSBjb25zdCBmaW5hbDsKKyAgICBSZWZQdHI8V2Vi
Q29yZTo6TmF0aXZlSW1hZ2U+IGNvcHlOYXRpdmVJbWFnZShXZWJDb3JlOjpCYWNraW5nU3RvcmVD
b3B5KSBjb25zdCBmaW5hbDsKKyAgICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2U+IGNvcHlJbWFnZShX
ZWJDb3JlOjpCYWNraW5nU3RvcmVDb3B5LCBXZWJDb3JlOjpQcmVzZXJ2ZVJlc29sdXRpb24pIGNv
bnN0IGZpbmFsOworICAgIHZvaWQgZHJhdyhXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmLCBjb25z
dCBXZWJDb3JlOjpGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3Qm
IHNyY1JlY3QsIGNvbnN0IFdlYkNvcmU6OkltYWdlUGFpbnRpbmdPcHRpb25zJikgZmluYWw7Cisg
ICAgdm9pZCBkcmF3UGF0dGVybihXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmLCBjb25zdCBXZWJD
b3JlOjpGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHNyY1Jl
Y3QsIGNvbnN0IFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9ybSwgY29u
c3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgcGhhc2UsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYg
c3BhY2luZywgY29uc3QgV2ViQ29yZTo6SW1hZ2VQYWludGluZ09wdGlvbnMmKSBmaW5hbDsKKyAg
ICBTdHJpbmcgdG9EYXRhVVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHN0ZDo6b3B0aW9uYWw8
ZG91YmxlPiBxdWFsaXR5LCBXZWJDb3JlOjpQcmVzZXJ2ZVJlc29sdXRpb24pIGNvbnN0IGZpbmFs
OworICAgIFZlY3Rvcjx1aW50OF90PiB0b0RhdGEoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgc3Rk
OjpvcHRpb25hbDxkb3VibGU+IHF1YWxpdHkpIGNvbnN0IGZpbmFsOworICAgIHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6UGl4ZWxCdWZmZXI+IGdldFBpeGVsQnVmZmVyKGNvbnN0IFdlYkNvcmU6OlBp
eGVsQnVmZmVyRm9ybWF0JiBvdXRwdXRGb3JtYXQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBj
b25zdCBmaW5hbDsKKyAgICB2b2lkIHB1dFBpeGVsQnVmZmVyKGNvbnN0IFdlYkNvcmU6OlBpeGVs
QnVmZmVyJiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc3JjUmVjdCwgY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmIGRlc3RQb2ludCwgV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBkZXN0
Rm9ybWF0KSBmaW5hbDsKIAogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc09yaWdpbkF0Qm90
dG9tTGVmdENvcm5lciA9IHRydWU7Ci0gICAgYm9vbCBvcmlnaW5BdEJvdHRvbUxlZnRDb3JuZXIo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBpc09yaWdpbkF0Qm90dG9tTGVmdENvcm5lcjsgfQor
ICAgIGJvb2wgb3JpZ2luQXRCb3R0b21MZWZ0Q29ybmVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
aXNPcmlnaW5BdEJvdHRvbUxlZnRDb3JuZXI7IH0KIAogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9v
bCBjYW5NYXBCYWNraW5nU3RvcmUgPSBmYWxzZTsKICAgICBzdGF0aWMgY29uc3RleHByIFdlYkNv
cmU6OlJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSA9IFdlYkNvcmU6OlJlbmRlcmluZ01vZGU6
OkFjY2VsZXJhdGVkOwogCiBwcml2YXRlOgotICAgIHVuc2lnbmVkIGJ5dGVzUGVyUm93KCkgY29u
c3Qgb3ZlcnJpZGU7CisgICAgdW5zaWduZWQgYnl0ZXNQZXJSb3coKSBjb25zdCBmaW5hbDsKIAog
ICAgIEltYWdlQnVmZmVyQmFja2VuZEhhbmRsZSBtX2hhbmRsZTsKIH07CmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvSW1hZ2VCdWZmZXJUZXN0cy5jcHAgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvSW1hZ2VCdWZmZXJUZXN0cy5jcHAKaW5k
ZXggYTFlNTUwNzZlZmQxNmY2YWFmMzc0NGFiNmQ2YzI0ZDZmYjgyMGY0Zi4uYTQyMDYxMGEwNGUz
YWIwMmNiN2UzMjk3YWNkMjUxMTFhODJkNzNhNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL0ltYWdlQnVmZmVyVGVzdHMuY3BwCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9JbWFnZUJ1ZmZlclRlc3RzLmNwcApAQCAtMjcsOCArMjcs
OSBAQAogCiAjaW5jbHVkZSAiVGVzdFV0aWxpdGllcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ29s
b3IuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvSW1hZ2VCdWZmZXIuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtSW1hZ2VCdWZm
ZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BpeGVsQnVmZmVyLmg+CiAjaW5jbHVkZSA8Y21hdGg+
CiAjaW5jbHVkZSA8d3RmL01lbW9yeUZvb3RwcmludC5oPgogCkBAIC01NCwxMCArNTUsMTEgQEAg
VEVTVChJbWFnZUJ1ZmZlclRlc3RzLCBJbWFnZUJ1ZmZlclN1YlR5cGVDcmVhdGVDcmVhdGVzU3Vi
dHlwZXMpCiAgICAgYXV0byBwaXhlbEZvcm1hdCA9IFBpeGVsRm9ybWF0OjpCR1JBODsKICAgICBG
bG9hdFNpemUgc2l6ZSB7IDEuZiwgMS5mIH07CiAgICAgZmxvYXQgc2NhbGUgPSAxLmY7Ci0gICAg
UmVmUHRyPFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4gdW5hY2NlbGVyYXRlZCA9IFVuYWNjZWxl
cmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZv
cm1hdCwgbnVsbHB0cik7Ci0gICAgUmVmUHRyPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+IGFjY2Vs
ZXJhdGVkID0gQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHNjYWxlLCBjb2xv
clNwYWNlLCBwaXhlbEZvcm1hdCwgbnVsbHB0cik7Ci0gICAgUmVmUHRyPERpc3BsYXlMaXN0QWNj
ZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4gZGlzcGxheUxpc3RBY2NlbGVyYXRlZCA9IERpc3BsYXlMaXN0
QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHNjYWxlLCBjb2xvclNwYWNlLCBw
aXhlbEZvcm1hdCwgbnVsbHB0cik7Ci0gICAgUmVmUHRyPERpc3BsYXlMaXN0VW5hY2NlbGVyYXRl
ZEltYWdlQnVmZmVyPiBkaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWQgPSBEaXNwbGF5TGlzdFVuYWNj
ZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHNjYWxlLCBjb2xvclNwYWNlLCBwaXhl
bEZvcm1hdCwgbnVsbHB0cik7CisgICAgUmVmUHRyPEltYWdlQnVmZmVyPiB1bmFjY2VsZXJhdGVk
ID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplLCBSZW5kZXJpbmdNb2RlOjpVbmFjY2VsZXJhdGVk
LCBzY2FsZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsIG51bGxwdHIpOworICAgIFJlZlB0cjxJ
bWFnZUJ1ZmZlcj4gYWNjZWxlcmF0ZWQgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIFJlbmRl
cmluZ01vZGU6OkFjY2VsZXJhdGVkLCBzY2FsZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsIG51
bGxwdHIpOworICAgIFJlZlB0cjxJbWFnZUJ1ZmZlcj4gZGlzcGxheUxpc3RBY2NlbGVyYXRlZCA9
IEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgUmVuZGVyaW5nTW9kZTo6VW5hY2NlbGVyYXRlZCwg
U2hvdWxkVXNlRGlzcGxheUxpc3Q6OlllcywgUmVuZGVyaW5nUHVycG9zZTo6VW5zcGVjaWZpZWQs
IHNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgbnVsbHB0cik7CisgICAgUmVmUHRyPElt
YWdlQnVmZmVyPiBkaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWQgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRl
KHNpemUsIFJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVkLCBTaG91bGRVc2VEaXNwbGF5TGlzdDo6
WWVzLCBSZW5kZXJpbmdQdXJwb3NlOjpVbnNwZWNpZmllZCwgc2NhbGUsIGNvbG9yU3BhY2UsIHBp
eGVsRm9ybWF0LCBudWxscHRyKTsKKwogICAgIEVYUEVDVF9ORShudWxscHRyLCBhY2NlbGVyYXRl
ZCk7CiAgICAgRVhQRUNUX05FKG51bGxwdHIsIHVuYWNjZWxlcmF0ZWQpOwogICAgIEVYUEVDVF9O
RShudWxscHRyLCBkaXNwbGF5TGlzdEFjY2VsZXJhdGVkKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450991</attachid>
            <date>2022-02-05 11:08:01 -0800</date>
            <delta_ts>2022-02-06 15:21:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236170-20220205110800.patch</filename>
            <type>text/plain</type>
            <size>20203</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTJhM2RkMWJkZGM4ZTQy
ODBmMWJiZjhmOGYxMzVjYjgyYzk0NDhiZC4uODRhMWYwZjM2M2U1MjZhNDMyZDVjNDcxNDZmMTBi
MTVmYTk2YmNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIyLTAyLTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFRpZHkgdXAgc29t
ZSBJbWFnZUJ1ZmZlci1yZWxhdGVkIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjE3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBzb21lIGZvcndhcmQgZGVjbGFyYXRpb25zIGlu
IEltYWdlQnVmZmVyLmggdW51c2VkIGJ5IEltYWdlQnVmZmVyLgorICAgICAgICAKKyAgICAgICAg
RGlzcGxheUxpc3Q6OkltYWdlQnVmZmVyIGNhbiBiZSBmaW5hbC4KKyAgICAgICAgSW1hZ2VCdWZm
ZXJDR0JpdG1hcEJhY2tlbmQgY2FuIGJlIGZpbmFsLgorICAgICAgICAKKyAgICAgICAgTm8gbmVl
ZCB0byBXRUJDT1JFX0VYUE9SVCBJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZCBmdW5jdGlvbnMg
bm93IHRoYXQgVGVzdFdlYktpdEFQSQorICAgICAgICBpcyB1c2luZyBJbWFnZUJ1ZmZlciBmdW5j
dGlvbnMuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRC
YXNlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEltYWdl
QnVmZmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI6OmNy
ZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SW1hZ2VCdWZm
ZXI6OkltYWdlQnVmZmVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0
OjpJbWFnZUJ1ZmZlcjo6fkltYWdlQnVmZmVyKTogRGVsZXRlZC4KKwogMjAyMi0wMi0wNCAgRXJp
YyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFjT1NdIFNj
cmVlbkNhcHR1cmVLaXRDYXB0dXJlU291cmNlIG9ubHkgb3V0cHV0cyBvbmUgZnJhbWUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggZWUyNDQzYzczYThkMDlmYzEyNzc0NTk1ZWNiNDU2NGM5MzM3OTkxMC4uYzIwMTkxNjQ3
YzVjZTI3ZWYxY2M2MzVjMzU3NTRjMjg4MTdmZDJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAyMi0wMi0wNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBUaWR5IHVwIHNvbWUgSW1hZ2VCdWZmZXItcmVsYXRlZCBjbGFzc2VzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxNzAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDR0Rpc3BsYXlMaXN0SW1h
Z2VCdWZmZXJCYWNrZW5kIGNhbiBiZSBmaW5hbC4KKyAgICAgICAgSW1hZ2VCdWZmZXJTaGFyZWFi
bGVCaXRtYXBCYWNrZW5kIGNhbiBiZSBmaW5hbC4KKyAgICAgICAgRnVuY3Rpb25zIG9uIEltYWdl
QnVmZmVyU2hhcmVhYmxlSU9TdXJmYWNlQmFja2VuZCBjYW4gYmUgZmluYWwuCisKKyAgICAgICAg
KiBTaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL0NHRGlzcGxheUxpc3RJbWFnZUJ1ZmZlckJhY2tlbmQu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9JbWFnZUJ1ZmZlclNoYXJlYWJs
ZUJpdG1hcEJhY2tlbmQuaDoKKyAgICAgICAgKFdlYktpdDo6SW1hZ2VCdWZmZXJTaGFyZWFibGVC
aXRtYXBCYWNrZW5kOjpzZXRPd25lcnNoaXBJZGVudGl0eSk6IERlbGV0ZWQuCisgICAgICAgICog
V2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFibGVJT1N1cmZh
Y2VCYWNrZW5kLmg6CisKIDIwMjItMDItMDIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVmYWN0b3IgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xs
ZWN0aW9uIHRvIGhhdmUgYSBzaW5nbGUgYmFja2luZyBzdG9yZSB0cmF2ZXJzYWwgZnVuY3Rpb24K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyREJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyREJhc2UuaAppbmRleCA1ZjQwNmQ2YzE1N2ExODRhNzU2YjkxYTEzMDI3ZTQ5Mjgx
MDVlY2ZjLi5lOTYzYzY3N2MwOGQzYjA5ZTA1YTEwNjQyMzBlNmNkYTIyOTJiMWQzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRC
YXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEQmFzZS5oCkBAIC02NSw2ICs2NSwxMCBAQCBjbGFzcyBUZXh0TWV0cmljczsKIAogc3Ry
dWN0IERPTU1hdHJpeDJESW5pdDsKIAorbmFtZXNwYWNlIERpc3BsYXlMaXN0IHsKK2NsYXNzIERy
YXdpbmdDb250ZXh0OworfQorCiB1c2luZyBDYW52YXNJbWFnZVNvdXJjZSA9IHN0ZDo6dmFyaWFu
dDxSZWZQdHI8SFRNTEltYWdlRWxlbWVudD4sIFJlZlB0cjxIVE1MQ2FudmFzRWxlbWVudD4sIFJl
ZlB0cjxJbWFnZUJpdG1hcD4KICNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQogICAgICwgUmVmUHRy
PENTU1N0eWxlSW1hZ2VWYWx1ZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZUJ1ZmZlci5oCmluZGV4IDRiNzFmMjM1M2M4ZDBjZDhlZGY0YWY1ZTU5MjZiN2RlMjky
YzhhNjIuLjA4ZDAyMWNkNjg0ZTA2MjczZmUxZDcxYWJjZGU4YTRiNDgzZjVmNmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaApAQCAtMzYsMTIg
KzM2LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1uYW1lc3BhY2UgRGlzcGxheUxpc3Qg
ewotY2xhc3MgRGlzcGxheUxpc3Q7Ci1jbGFzcyBEcmF3aW5nQ29udGV4dDsKLXN0cnVjdCBJdGVt
QnVmZmVySGFuZGxlOwotfQotCiBjbGFzcyBGaWx0ZXI7CiAKIGNsYXNzIEltYWdlQnVmZmVyIDog
cHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEltYWdlQnVmZmVyLCBXVEY6OkRlc3RydWN0aW9u
VGhyZWFkOjpNYWluPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPEltYWdlQnVmZmVyPiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNH
Qml0bWFwQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9J
bWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5jcHAKaW5kZXggYmY0MjAwOTMyYzcxNGY0MWNmMDAy
ZWM5ZmI3YTE1MzM1N2JjMjA4ZS4uNDRiZjU5OWI2NzczNzZlMDMwZGQ2MTAyMTliNzI3M2NlYTQz
ZDBlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1h
Z2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmNwcApAQCAtMTE4LDYgKzEx
OCw4IEBAIEltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kOjpJbWFnZUJ1ZmZlckNHQml0bWFwQmFj
a2VuZChjb25zdCBQYXJhbWV0ZXJzJiBwYXJhbWV0CiAgICAgYXBwbHlCYXNlVHJhbnNmb3JtVG9D
b250ZXh0KCk7CiB9CiAKK0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kOjp+SW1hZ2VCdWZmZXJD
R0JpdG1hcEJhY2tlbmQoKSA9IGRlZmF1bHQ7CisKIEdyYXBoaWNzQ29udGV4dCYgSW1hZ2VCdWZm
ZXJDR0JpdG1hcEJhY2tlbmQ6OmNvbnRleHQoKSBjb25zdAogewogICAgIHJldHVybiAqbV9jb250
ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1h
Z2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmgKaW5kZXggMDdmMjhlNDU1ZTdiNDNh
NTQxNDQxNzQ5OTBiN2QxYjdiYTZjNGUzMi4uNzdlMDk5ZTk2ZGRhMGU2ZTVjZWE5MDk4ZjU2OGE3
YjNiZTkzYmMzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5oCkBAIC0zMiwzMSAr
MzIsMzMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJbWFnZUJ1ZmZlckNHQml0
bWFwQmFja2VuZCA6IHB1YmxpYyBJbWFnZUJ1ZmZlckNHQmFja2VuZCB7CitjbGFzcyBJbWFnZUJ1
ZmZlckNHQml0bWFwQmFja2VuZCBmaW5hbCA6IHB1YmxpYyBJbWFnZUJ1ZmZlckNHQmFja2VuZCB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZCk7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQpOwog
cHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBJbnRTaXplIGNhbGN1bGF0ZVNhZmVC
YWNrZW5kU2l6ZShjb25zdCBQYXJhbWV0ZXJzJik7Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IHNpemVfdCBjYWxjdWxhdGVNZW1vcnlDb3N0KGNvbnN0IFBhcmFtZXRlcnMmKTsKKyAgICB+SW1h
Z2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQoKTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBz
dGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQ+IGNyZWF0ZShjb25zdCBQ
YXJhbWV0ZXJzJiwgY29uc3QgSG9zdFdpbmRvdyopOworICAgIHN0YXRpYyBJbnRTaXplIGNhbGN1
bGF0ZVNhZmVCYWNrZW5kU2l6ZShjb25zdCBQYXJhbWV0ZXJzJik7CisgICAgc3RhdGljIHNpemVf
dCBjYWxjdWxhdGVNZW1vcnlDb3N0KGNvbnN0IFBhcmFtZXRlcnMmKTsKKworICAgIHN0YXRpYyBz
dGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQ+IGNyZWF0ZShjb25zdCBQ
YXJhbWV0ZXJzJiwgY29uc3QgSG9zdFdpbmRvdyopOwogCiAgICAgLy8gRklYTUU6IFJlbmFtZSB0
byBjcmVhdGVVc2luZ0NvbG9yU3BhY2VPZkdyYXBoaWNzQ29udGV4dCgpIChvciBzb21ldGhpbmcg
bGlrZSB0aGF0KS4KLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPElt
YWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kPiBjcmVhdGUoY29uc3QgUGFyYW1ldGVycyYsIGNvbnN0
IEdyYXBoaWNzQ29udGV4dCYpOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZm
ZXJDR0JpdG1hcEJhY2tlbmQ+IGNyZWF0ZShjb25zdCBQYXJhbWV0ZXJzJiwgY29uc3QgR3JhcGhp
Y3NDb250ZXh0Jik7CiAKLSAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQoKSBjb25zdCBvdmVy
cmlkZTsKKyAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQoKSBjb25zdCBmaW5hbDsKIAotICAg
IEludFNpemUgYmFja2VuZFNpemUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBJbnRTaXplIGJhY2tl
bmRTaXplKCkgY29uc3QgZmluYWw7CiAKLSAgICBSZWZQdHI8TmF0aXZlSW1hZ2U+IGNvcHlOYXRp
dmVJbWFnZShCYWNraW5nU3RvcmVDb3B5ID0gQ29weUJhY2tpbmdTdG9yZSkgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgUmVmUHRyPE5hdGl2ZUltYWdlPiBjb3B5TmF0aXZlSW1hZ2UoQmFja2luZ1N0b3Jl
Q29weSA9IENvcHlCYWNraW5nU3RvcmUpIGNvbnN0IGZpbmFsOwogCi0gICAgc3RkOjpvcHRpb25h
bDxQaXhlbEJ1ZmZlcj4gZ2V0UGl4ZWxCdWZmZXIoY29uc3QgUGl4ZWxCdWZmZXJGb3JtYXQmIG91
dHB1dEZvcm1hdCwgY29uc3QgSW50UmVjdCYpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQgcHV0
UGl4ZWxCdWZmZXIoY29uc3QgUGl4ZWxCdWZmZXImLCBjb25zdCBJbnRSZWN0JiBzcmNSZWN0LCBj
b25zdCBJbnRQb2ludCYgZGVzdFBvaW50LCBBbHBoYVByZW11bHRpcGxpY2F0aW9uIGRlc3RGb3Jt
YXQpIG92ZXJyaWRlOworICAgIHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+IGdldFBpeGVsQnVm
ZmVyKGNvbnN0IFBpeGVsQnVmZmVyRm9ybWF0JiBvdXRwdXRGb3JtYXQsIGNvbnN0IEludFJlY3Qm
KSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHB1dFBpeGVsQnVmZmVyKGNvbnN0IFBpeGVsQnVmZmVy
JiwgY29uc3QgSW50UmVjdCYgc3JjUmVjdCwgY29uc3QgSW50UG9pbnQmIGRlc3RQb2ludCwgQWxw
aGFQcmVtdWx0aXBsaWNhdGlvbiBkZXN0Rm9ybWF0KSBmaW5hbDsKIAogcHJpdmF0ZToKICAgICBJ
bWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZChjb25zdCBQYXJhbWV0ZXJzJiwgdm9pZCogZGF0YSwg
UmV0YWluUHRyPENHRGF0YVByb3ZpZGVyUmVmPiYmLCBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3ND
b250ZXh0PiYmKTsKIAotICAgIHVuc2lnbmVkIGJ5dGVzUGVyUm93KCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgdW5zaWduZWQgYnl0ZXNQZXJSb3coKSBjb25zdCBmaW5hbDsKIAogICAgIHZvaWQqIG1f
ZGF0YTsKICAgICBSZXRhaW5QdHI8Q0dEYXRhUHJvdmlkZXJSZWY+IG1fZGF0YVByb3ZpZGVyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEltYWdlQnVmZmVyLmgKaW5kZXggZThmNjhhMzcz
ZGJlZDkyODI1NmUxZjI5YzNmMmVkNjk3YjM2NmFjZi4uMGRhODMyNWM0MDEzZjg1NDQ2YmY1N2E0
MDE0ZTA5N2NhZDdjYzM0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJbWFnZUJ1
ZmZlci5oCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBE
aXNwbGF5TGlzdCB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEJhY2tlbmRUeXBlPgotY2xhc3MgSW1h
Z2VCdWZmZXIgOiBwdWJsaWMgQ29uY3JldGVJbWFnZUJ1ZmZlcjxCYWNrZW5kVHlwZT4geworY2xh
c3MgSW1hZ2VCdWZmZXIgZmluYWwgOiBwdWJsaWMgQ29uY3JldGVJbWFnZUJ1ZmZlcjxCYWNrZW5k
VHlwZT4gewogICAgIHVzaW5nIEJhc2VDb25jcmV0ZUltYWdlQnVmZmVyID0gQ29uY3JldGVJbWFn
ZUJ1ZmZlcjxCYWNrZW5kVHlwZT47CiAgICAgdXNpbmcgQmFzZUNvbmNyZXRlSW1hZ2VCdWZmZXI6
OnRydW5jYXRlZExvZ2ljYWxTaXplOwogICAgIHVzaW5nIEJhc2VDb25jcmV0ZUltYWdlQnVmZmVy
Ojpsb2dpY2FsU2l6ZTsKQEAgLTc1LDIwICs3NSwyMCBAQCBwdWJsaWM6CiAgICAgICAgIGZsdXNo
RHJhd2luZ0NvbnRleHQoKTsKICAgICB9CiAKLSAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQo
KSBjb25zdCBvdmVycmlkZQorICAgIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCgpIGNvbnN0IGZp
bmFsCiAgICAgewogICAgICAgICByZXR1cm4gbV9kcmF3aW5nQ29udGV4dC5jb250ZXh0KCk7CiAg
ICAgfQogCiAgICAgR3JhcGhpY3NDb250ZXh0KiBkcmF3aW5nQ29udGV4dCgpIG92ZXJyaWRlIHsg
cmV0dXJuICZtX2RyYXdpbmdDb250ZXh0LmNvbnRleHQoKTsgfQogCi0gICAgdm9pZCBmbHVzaERy
YXdpbmdDb250ZXh0KCkgb3ZlcnJpZGUKKyAgICB2b2lkIGZsdXNoRHJhd2luZ0NvbnRleHQoKSBm
aW5hbAogICAgIHsKICAgICAgICAgaWYgKCFtX2RyYXdpbmdDb250ZXh0LmRpc3BsYXlMaXN0KCku
aXNFbXB0eSgpKQogICAgICAgICAgICAgbV9kcmF3aW5nQ29udGV4dC5yZXBsYXlEaXNwbGF5TGlz
dChCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6Y29udGV4dCgpKTsKICAgICB9CiAKLSAgICB2b2lk
IGNsZWFyQmFja2VuZCgpIG92ZXJyaWRlCisgICAgdm9pZCBjbGVhckJhY2tlbmQoKSBmaW5hbAog
ICAgIHsKICAgICAgICAgbV9kcmF3aW5nQ29udGV4dC5kaXNwbGF5TGlzdCgpLmNsZWFyKCk7CiAg
ICAgICAgIEJhc2VDb25jcmV0ZUltYWdlQnVmZmVyOjpjbGVhckJhY2tlbmQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9DR0Rpc3BsYXlMaXN0SW1h
Z2VCdWZmZXJCYWNrZW5kLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUv
Q0dEaXNwbGF5TGlzdEltYWdlQnVmZmVyQmFja2VuZC5oCmluZGV4IDA0ODA2ZmMzNTFhN2I1MDVh
NTdjMTgzN2ExODMzMDhlMDU4NmE4ODEuLmRmYzM4OGE1MGUyNjE1ZjZkMjgzMWQ5ZDI4NGJiOTY1
NjdmNGQwYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJl
ZS9DR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvUmVtb3RlTGF5ZXJUcmVlL0NHRGlzcGxheUxpc3RJbWFnZUJ1ZmZlckJhY2tlbmQuaApA
QCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgQ0dEaXNwbGF5
TGlzdEltYWdlQnVmZmVyQmFja2VuZCA6IHB1YmxpYyBXZWJDb3JlOjpJbWFnZUJ1ZmZlckNHQmFj
a2VuZCB7CitjbGFzcyBDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5kIGZpbmFsIDogcHVi
bGljIFdlYkNvcmU6OkltYWdlQnVmZmVyQ0dCYWNrZW5kIHsKICAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKENHRGlzcGxheUxpc3RJbWFnZUJ1ZmZlckJhY2tlbmQpOwogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKENHRGlzcGxheUxpc3RJbWFnZUJ1ZmZlckJhY2tlbmQpOwogcHVibGljOgpAQCAt
NDQsMTggKzQ0LDE4IEBAIHB1YmxpYzoKIAogICAgIEltYWdlQnVmZmVyQmFja2VuZEhhbmRsZSBj
cmVhdGVJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUoKSBjb25zdDsKIAotICAgIFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dCYgY29udGV4dCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIFdlYkNvcmU6Oklu
dFNpemUgYmFja2VuZFNpemUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQmIGNvbnRleHQoKSBjb25zdCBmaW5hbDsKKyAgICBXZWJDb3JlOjpJbnRTaXplIGJh
Y2tlbmRTaXplKCkgY29uc3QgZmluYWw7CiAKICAgICAvLyBOT1RFOiBUaGVzZSBhbGwgQVNTRVJU
X05PVF9SRUFDSEVEKCkuCi0gICAgUmVmUHRyPFdlYkNvcmU6Ok5hdGl2ZUltYWdlPiBjb3B5TmF0
aXZlSW1hZ2UoV2ViQ29yZTo6QmFja2luZ1N0b3JlQ29weSA9IFdlYkNvcmU6OkNvcHlCYWNraW5n
U3RvcmUpIGNvbnN0IG92ZXJyaWRlOwotICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGl4ZWxC
dWZmZXI+IGdldFBpeGVsQnVmZmVyKGNvbnN0IFdlYkNvcmU6OlBpeGVsQnVmZmVyRm9ybWF0JiBv
dXRwdXRGb3JtYXQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBvdmVycmlkZTsKLSAg
ICB2b2lkIHB1dFBpeGVsQnVmZmVyKGNvbnN0IFdlYkNvcmU6OlBpeGVsQnVmZmVyJiwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYgc3JjUmVjdCwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGRlc3RQ
b2ludCwgV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBkZXN0Rm9ybWF0KSBvdmVycmlk
ZTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6TmF0aXZlSW1hZ2U+IGNvcHlOYXRpdmVJbWFnZShXZWJD
b3JlOjpCYWNraW5nU3RvcmVDb3B5ID0gV2ViQ29yZTo6Q29weUJhY2tpbmdTdG9yZSkgY29uc3Qg
ZmluYWw7CisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQaXhlbEJ1ZmZlcj4gZ2V0UGl4ZWxC
dWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXJGb3JtYXQmIG91dHB1dEZvcm1hdCwgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgcHV0UGl4ZWxCdWZm
ZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXImLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBz
cmNSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZGVzdFBvaW50LCBXZWJDb3JlOjpBbHBo
YVByZW11bHRpcGxpY2F0aW9uIGRlc3RGb3JtYXQpIGZpbmFsOwogCiBwcm90ZWN0ZWQ6CiAgICAg
Q0dEaXNwbGF5TGlzdEltYWdlQnVmZmVyQmFja2VuZChjb25zdCBQYXJhbWV0ZXJzJiwgc3RkOjp1
bmlxdWVfcHRyPFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dD4mJik7CiAKLSAgICB1bnNpZ25lZCBi
eXRlc1BlclJvdygpIGNvbnN0IG92ZXJyaWRlOworICAgIHVuc2lnbmVkIGJ5dGVzUGVyUm93KCkg
Y29uc3QgZmluYWw7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0PiBtX2NvbnRleHQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9JbWFnZUJ1ZmZlclNoYXJlYWJsZUJpdG1hcEJhY2tlbmQuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRt
YXBCYWNrZW5kLmgKaW5kZXggYzViMjZjNDBlNzQ2MDMyMmRmYWZlMjliMGNlNmUzNjQxNjdlNzJh
Yy4uNGM3MDI4NWQzMDg0ZTE4MjIzOWQ3YTIxNGIzNzk2NzU0NjI3YWRjZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9JbWFnZUJ1ZmZlclNoYXJlYWJs
ZUJpdG1hcEJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBo
aWNzL0ltYWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZC5oCkBAIC0zOSw3ICszOSw3IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBTaGFyZWFibGVCaXRtYXA7CiAKLWNsYXNzIElt
YWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFja2VuZCA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9y
bUltYWdlQnVmZmVyQmFja2VuZCB7CitjbGFzcyBJbWFnZUJ1ZmZlclNoYXJlYWJsZUJpdG1hcEJh
Y2tlbmQgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1JbWFnZUJ1ZmZlckJhY2tlbmQg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBC
YWNrZW5kKTsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZUJ1ZmZlclNoYXJlYWJsZUJp
dG1hcEJhY2tlbmQpOwogcHVibGljOgpAQCAtNTUsMTkgKzU1LDE5IEBAIHB1YmxpYzoKIAogICAg
IEltYWdlQnVmZmVyQmFja2VuZEhhbmRsZSBjcmVhdGVJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUo
KSBjb25zdDsKIAotICAgIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYgY29udGV4dCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuICptX2NvbnRleHQ7IH0KKyAgICBXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQmIGNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVybiAqbV9jb250ZXh0OyB9CiAgICAg
Ci0gICAgV2ViQ29yZTo6SW50U2l6ZSBiYWNrZW5kU2l6ZSgpIGNvbnN0IG92ZXJyaWRlOworICAg
IFdlYkNvcmU6OkludFNpemUgYmFja2VuZFNpemUoKSBjb25zdCBmaW5hbDsKIAotICAgIFJlZlB0
cjxXZWJDb3JlOjpOYXRpdmVJbWFnZT4gY29weU5hdGl2ZUltYWdlKFdlYkNvcmU6OkJhY2tpbmdT
dG9yZUNvcHkgPSBXZWJDb3JlOjpDb3B5QmFja2luZ1N0b3JlKSBjb25zdCBvdmVycmlkZTsKLSAg
ICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2U+IGNvcHlJbWFnZShXZWJDb3JlOjpCYWNraW5nU3RvcmVD
b3B5ID0gV2ViQ29yZTo6Q29weUJhY2tpbmdTdG9yZSwgV2ViQ29yZTo6UHJlc2VydmVSZXNvbHV0
aW9uID0gV2ViQ29yZTo6UHJlc2VydmVSZXNvbHV0aW9uOjpObykgY29uc3Qgb3ZlcnJpZGU7Cisg
ICAgUmVmUHRyPFdlYkNvcmU6Ok5hdGl2ZUltYWdlPiBjb3B5TmF0aXZlSW1hZ2UoV2ViQ29yZTo6
QmFja2luZ1N0b3JlQ29weSA9IFdlYkNvcmU6OkNvcHlCYWNraW5nU3RvcmUpIGNvbnN0IGZpbmFs
OworICAgIFJlZlB0cjxXZWJDb3JlOjpJbWFnZT4gY29weUltYWdlKFdlYkNvcmU6OkJhY2tpbmdT
dG9yZUNvcHkgPSBXZWJDb3JlOjpDb3B5QmFja2luZ1N0b3JlLCBXZWJDb3JlOjpQcmVzZXJ2ZVJl
c29sdXRpb24gPSBXZWJDb3JlOjpQcmVzZXJ2ZVJlc29sdXRpb246Ok5vKSBjb25zdCBmaW5hbDsK
IAotICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGl4ZWxCdWZmZXI+IGdldFBpeGVsQnVmZmVy
KGNvbnN0IFdlYkNvcmU6OlBpeGVsQnVmZmVyRm9ybWF0JiBvdXRwdXRGb3JtYXQsIGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIHB1dFBpeGVsQnVmZmVy
KGNvbnN0IFdlYkNvcmU6OlBpeGVsQnVmZmVyJiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc3Jj
UmVjdCwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGRlc3RQb2ludCwgV2ViQ29yZTo6QWxwaGFQ
cmVtdWx0aXBsaWNhdGlvbiBkZXN0Rm9ybWF0KSBvdmVycmlkZTsKKyAgICBzdGQ6Om9wdGlvbmFs
PFdlYkNvcmU6OlBpeGVsQnVmZmVyPiBnZXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJDb3JlOjpQaXhl
bEJ1ZmZlckZvcm1hdCYgb3V0cHV0Rm9ybWF0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29u
c3QgZmluYWw7CisgICAgdm9pZCBwdXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJDb3JlOjpQaXhlbEJ1
ZmZlciYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNyY1JlY3QsIGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiBkZXN0UG9pbnQsIFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRpb24gZGVzdEZv
cm1hdCkgZmluYWw7CiAKICAgICB2b2lkIHNldE93bmVyc2hpcElkZW50aXR5KGNvbnN0IFdlYkNv
cmU6OlByb2Nlc3NJZGVudGl0eSYpIHsgfQogcHJpdmF0ZToKLSAgICB1bnNpZ25lZCBieXRlc1Bl
clJvdygpIGNvbnN0IG92ZXJyaWRlOworICAgIHVuc2lnbmVkIGJ5dGVzUGVyUm93KCkgY29uc3Qg
ZmluYWw7CiAKICAgICBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBtX2JpdG1hcDsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0PiBtX2NvbnRleHQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL2NvY29hL0ltYWdlQnVm
ZmVyU2hhcmVhYmxlSU9TdXJmYWNlQmFja2VuZC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9jb2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJsZUlPU3VyZmFjZUJhY2tlbmQu
aAppbmRleCBlYmNjY2I3OTY2ZDc4Yjg4ZWEyYzkwMmYxNTJkZmRjODNkNDFjZGNkLi4zMWFmYWEz
N2QzMGE2YjhkZGU2ZWZmYjBiYmIyYzk3MTEwYzg2OWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL2NvY29hL0ltYWdlQnVmZmVyU2hhcmVhYmxlSU9T
dXJmYWNlQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhp
Y3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFibGVJT1N1cmZhY2VCYWNrZW5kLmgKQEAgLTUyLDI1
ICs1MiwyNSBAQCBwdWJsaWM6CiAKICAgICBJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUgY3JlYXRl
SW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlKCkgY29uc3Q7CiAKLSAgICBXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQmIGNvbnRleHQoKSBjb25zdCBvdmVycmlkZTsKLSAgICBXZWJDb3JlOjpJbnRTaXpl
IGJhY2tlbmRTaXplKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgUmVmUHRyPFdlYkNvcmU6Ok5hdGl2
ZUltYWdlPiBjb3B5TmF0aXZlSW1hZ2UoV2ViQ29yZTo6QmFja2luZ1N0b3JlQ29weSkgY29uc3Qg
b3ZlcnJpZGU7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OkltYWdlPiBjb3B5SW1hZ2UoV2ViQ29yZTo6
QmFja2luZ1N0b3JlQ29weSwgV2ViQ29yZTo6UHJlc2VydmVSZXNvbHV0aW9uKSBjb25zdCBvdmVy
cmlkZTsKLSAgICB2b2lkIGRyYXcoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRSZWN0JiBkZXN0UmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBzcmNS
ZWN0LCBjb25zdCBXZWJDb3JlOjpJbWFnZVBhaW50aW5nT3B0aW9ucyYpIG92ZXJyaWRlOwotICAg
IHZvaWQgZHJhd1BhdHRlcm4oV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgY29uc3QgV2ViQ29y
ZTo6RmxvYXRSZWN0JiBkZXN0UmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBzcmNSZWN0
LCBjb25zdCBXZWJDb3JlOjpBZmZpbmVUcmFuc2Zvcm0mIHBhdHRlcm5UcmFuc2Zvcm0sIGNvbnN0
IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHBoYXNlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHNw
YWNpbmcsIGNvbnN0IFdlYkNvcmU6OkltYWdlUGFpbnRpbmdPcHRpb25zJikgb3ZlcnJpZGU7Ci0g
ICAgU3RyaW5nIHRvRGF0YVVSTChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBzdGQ6Om9wdGlvbmFs
PGRvdWJsZT4gcXVhbGl0eSwgV2ViQ29yZTo6UHJlc2VydmVSZXNvbHV0aW9uKSBjb25zdCBvdmVy
cmlkZTsKLSAgICBWZWN0b3I8dWludDhfdD4gdG9EYXRhKGNvbnN0IFN0cmluZyYgbWltZVR5cGUs
IHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBxdWFsaXR5KSBjb25zdCBvdmVycmlkZTsKLSAgICBzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OlBpeGVsQnVmZmVyPiBnZXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJD
b3JlOjpQaXhlbEJ1ZmZlckZvcm1hdCYgb3V0cHV0Rm9ybWF0LCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBwdXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJD
b3JlOjpQaXhlbEJ1ZmZlciYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNyY1JlY3QsIGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiBkZXN0UG9pbnQsIFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGlj
YXRpb24gZGVzdEZvcm1hdCkgb3ZlcnJpZGU7CisgICAgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
JiBjb250ZXh0KCkgY29uc3QgZmluYWw7CisgICAgV2ViQ29yZTo6SW50U2l6ZSBiYWNrZW5kU2l6
ZSgpIGNvbnN0IGZpbmFsOworICAgIFJlZlB0cjxXZWJDb3JlOjpOYXRpdmVJbWFnZT4gY29weU5h
dGl2ZUltYWdlKFdlYkNvcmU6OkJhY2tpbmdTdG9yZUNvcHkpIGNvbnN0IGZpbmFsOworICAgIFJl
ZlB0cjxXZWJDb3JlOjpJbWFnZT4gY29weUltYWdlKFdlYkNvcmU6OkJhY2tpbmdTdG9yZUNvcHks
IFdlYkNvcmU6OlByZXNlcnZlUmVzb2x1dGlvbikgY29uc3QgZmluYWw7CisgICAgdm9pZCBkcmF3
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgZGVz
dFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgV2ViQ29yZTo6
SW1hZ2VQYWludGluZ09wdGlvbnMmKSBmaW5hbDsKKyAgICB2b2lkIGRyYXdQYXR0ZXJuKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgZGVzdFJlY3Qs
IGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgV2ViQ29yZTo6QWZmaW5l
VHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBw
aGFzZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBzcGFjaW5nLCBjb25zdCBXZWJDb3JlOjpJ
bWFnZVBhaW50aW5nT3B0aW9ucyYpIGZpbmFsOworICAgIFN0cmluZyB0b0RhdGFVUkwoY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSwgc3RkOjpvcHRpb25hbDxkb3VibGU+IHF1YWxpdHksIFdlYkNvcmU6
OlByZXNlcnZlUmVzb2x1dGlvbikgY29uc3QgZmluYWw7CisgICAgVmVjdG9yPHVpbnQ4X3Q+IHRv
RGF0YShjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gcXVhbGl0
eSkgY29uc3QgZmluYWw7CisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQaXhlbEJ1ZmZlcj4g
Z2V0UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXJGb3JtYXQmIG91dHB1dEZv
cm1hdCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgcHV0
UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXImLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBzcmNSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZGVzdFBvaW50LCBXZWJD
b3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIGRlc3RGb3JtYXQpIGZpbmFsOwogCiAgICAgc3Rh
dGljIGNvbnN0ZXhwciBib29sIGlzT3JpZ2luQXRCb3R0b21MZWZ0Q29ybmVyID0gdHJ1ZTsKLSAg
ICBib29sIG9yaWdpbkF0Qm90dG9tTGVmdENvcm5lcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IGlzT3JpZ2luQXRCb3R0b21MZWZ0Q29ybmVyOyB9CisgICAgYm9vbCBvcmlnaW5BdEJvdHRvbUxl
ZnRDb3JuZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBpc09yaWdpbkF0Qm90dG9tTGVmdENvcm5l
cjsgfQogCiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGNhbk1hcEJhY2tpbmdTdG9yZSA9IGZh
bHNlOwogICAgIHN0YXRpYyBjb25zdGV4cHIgV2ViQ29yZTo6UmVuZGVyaW5nTW9kZSByZW5kZXJp
bmdNb2RlID0gV2ViQ29yZTo6UmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQ7CiAKIHByaXZhdGU6
Ci0gICAgdW5zaWduZWQgYnl0ZXNQZXJSb3coKSBjb25zdCBvdmVycmlkZTsKKyAgICB1bnNpZ25l
ZCBieXRlc1BlclJvdygpIGNvbnN0IGZpbmFsOwogCiAgICAgSW1hZ2VCdWZmZXJCYWNrZW5kSGFu
ZGxlIG1faGFuZGxlOwogfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCA0ODNmNjY0ZGEzZTAyNzRjMDQ1YjNhMjBlNjYzODA1ZWMwNDIzNTJmLi5h
YTY1ODZjYWFmYjI4ODM5YzFiZGJkMWQzYjBmYmM1MGYyNzQ4YjFlIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjIt
MDItMDUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAg
VGlkeSB1cCBzb21lIEltYWdlQnVmZmVyLXJlbGF0ZWQgY2xhc3NlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MTcwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBJbWFnZUJ1ZmZlclRlc3Rz
IHNob3VsZCB1c2UgdGhlIGZ1bmN0aW9ucyBvbiBJbWFnZUJ1ZmZlciwgbm90IFdlYkNvcmUtaW50
ZXJuYWwKKyAgICAgICAgY2xhc3Nlcy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViQ29yZS9JbWFnZUJ1ZmZlclRlc3RzLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRF
U1QpOgorCiAyMDIyLTAyLTA0ICBNYXR0IEdpbGxpZ2FuICA8bWF0dGhld19naWxsaWdhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIHRlc3QgZm9yIHRoZSBmaXggaW4gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTkyOApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJDb3JlL0ltYWdlQnVmZmVyVGVzdHMuY3BwIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJDb3JlL0ltYWdlQnVmZmVyVGVzdHMuY3BwCmluZGV4IGExZTU1MDc2
ZWZkMTZmNmFhZjM3NDRhYjZkNmMyNGQ2ZmI4MjBmNGYuLmE0MjA2MTBhMDRlM2FiMDJjYjdlMzI5
N2FjZDI1MTExYTgyZDczYTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViQ29yZS9JbWFnZUJ1ZmZlclRlc3RzLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvSW1hZ2VCdWZmZXJUZXN0cy5jcHAKQEAgLTI3LDggKzI3LDkgQEAKIAogI2lu
Y2x1ZGUgIlRlc3RVdGlsaXRpZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NvbG9yLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ltYWdl
QnVmZmVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUltYWdlQnVmZmVyLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9QaXhlbEJ1ZmZlci5oPgogI2luY2x1ZGUgPGNtYXRoPgogI2luY2x1ZGUg
PHd0Zi9NZW1vcnlGb290cHJpbnQuaD4KIApAQCAtNTQsMTAgKzU1LDExIEBAIFRFU1QoSW1hZ2VC
dWZmZXJUZXN0cywgSW1hZ2VCdWZmZXJTdWJUeXBlQ3JlYXRlQ3JlYXRlc1N1YnR5cGVzKQogICAg
IGF1dG8gcGl4ZWxGb3JtYXQgPSBQaXhlbEZvcm1hdDo6QkdSQTg7CiAgICAgRmxvYXRTaXplIHNp
emUgeyAxLmYsIDEuZiB9OwogICAgIGZsb2F0IHNjYWxlID0gMS5mOwotICAgIFJlZlB0cjxVbmFj
Y2VsZXJhdGVkSW1hZ2VCdWZmZXI+IHVuYWNjZWxlcmF0ZWQgPSBVbmFjY2VsZXJhdGVkSW1hZ2VC
dWZmZXI6OmNyZWF0ZShzaXplLCBzY2FsZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsIG51bGxw
dHIpOwotICAgIFJlZlB0cjxBY2NlbGVyYXRlZEltYWdlQnVmZmVyPiBhY2NlbGVyYXRlZCA9IEFj
Y2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplLCBzY2FsZSwgY29sb3JTcGFjZSwgcGl4
ZWxGb3JtYXQsIG51bGxwdHIpOwotICAgIFJlZlB0cjxEaXNwbGF5TGlzdEFjY2VsZXJhdGVkSW1h
Z2VCdWZmZXI+IGRpc3BsYXlMaXN0QWNjZWxlcmF0ZWQgPSBEaXNwbGF5TGlzdEFjY2VsZXJhdGVk
SW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplLCBzY2FsZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQs
IG51bGxwdHIpOwotICAgIFJlZlB0cjxEaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZl
cj4gZGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkID0gRGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkSW1h
Z2VCdWZmZXI6OmNyZWF0ZShzaXplLCBzY2FsZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsIG51
bGxwdHIpOworICAgIFJlZlB0cjxJbWFnZUJ1ZmZlcj4gdW5hY2NlbGVyYXRlZCA9IEltYWdlQnVm
ZmVyOjpjcmVhdGUoc2l6ZSwgUmVuZGVyaW5nTW9kZTo6VW5hY2NlbGVyYXRlZCwgc2NhbGUsIGNv
bG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBudWxscHRyKTsKKyAgICBSZWZQdHI8SW1hZ2VCdWZmZXI+
IGFjY2VsZXJhdGVkID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplLCBSZW5kZXJpbmdNb2RlOjpB
Y2NlbGVyYXRlZCwgc2NhbGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBudWxscHRyKTsKKyAg
ICBSZWZQdHI8SW1hZ2VCdWZmZXI+IGRpc3BsYXlMaXN0QWNjZWxlcmF0ZWQgPSBJbWFnZUJ1ZmZl
cjo6Y3JlYXRlKHNpemUsIFJlbmRlcmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQsIFNob3VsZFVzZURp
c3BsYXlMaXN0OjpZZXMsIFJlbmRlcmluZ1B1cnBvc2U6OlVuc3BlY2lmaWVkLCBzY2FsZSwgY29s
b3JTcGFjZSwgcGl4ZWxGb3JtYXQsIG51bGxwdHIpOworICAgIFJlZlB0cjxJbWFnZUJ1ZmZlcj4g
ZGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplLCBSZW5k
ZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCwgU2hvdWxkVXNlRGlzcGxheUxpc3Q6OlllcywgUmVuZGVy
aW5nUHVycG9zZTo6VW5zcGVjaWZpZWQsIHNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwg
bnVsbHB0cik7CisKICAgICBFWFBFQ1RfTkUobnVsbHB0ciwgYWNjZWxlcmF0ZWQpOwogICAgIEVY
UEVDVF9ORShudWxscHRyLCB1bmFjY2VsZXJhdGVkKTsKICAgICBFWFBFQ1RfTkUobnVsbHB0ciwg
ZGlzcGxheUxpc3RBY2NlbGVyYXRlZCk7Cg==
</data>
<flag name="review"
          id="477567"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451135</attachid>
            <date>2022-02-07 12:08:16 -0800</date>
            <delta_ts>2022-02-07 13:54:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236170-20220207120815.patch</filename>
            <type>text/plain</type>
            <size>22655</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTJhM2RkMWJkZGM4ZTQy
ODBmMWJiZjhmOGYxMzVjYjgyYzk0NDhiZC4uM2MyMjg2ZDkxYmI4OGFiN2RmNGRhYTVjYmRhMjY0
NTRlMWVkODM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIyLTAyLTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFRpZHkgdXAgc29t
ZSBJbWFnZUJ1ZmZlci1yZWxhdGVkIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjE3MAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIFJlbW92ZSBzb21lIGZvcndhcmQgZGVjbGFyYXRpb25zIGluIElt
YWdlQnVmZmVyLmggdW51c2VkIGJ5IEltYWdlQnVmZmVyLgorICAgICAgICAKKyAgICAgICAgRGlz
cGxheUxpc3Q6OkltYWdlQnVmZmVyIGNhbiBiZSBmaW5hbC4KKyAgICAgICAgSW1hZ2VCdWZmZXJD
R0JpdG1hcEJhY2tlbmQgY2FuIGJlIGZpbmFsLgorICAgICAgICAKKyAgICAgICAgTm8gbmVlZCB0
byBXRUJDT1JFX0VYUE9SVCBJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZCBmdW5jdGlvbnMgbm93
IHRoYXQgVGVzdFdlYktpdEFQSQorICAgICAgICBpcyB1c2luZyBJbWFnZUJ1ZmZlciBmdW5jdGlv
bnMuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEltYWdlQnVm
ZmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI6OmNyZWF0
ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI6
OkltYWdlQnVmZmVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJ
bWFnZUJ1ZmZlcjo6fkltYWdlQnVmZmVyKTogRGVsZXRlZC4KKwogMjAyMi0wMi0wNCAgRXJpYyBD
YXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFjT1NdIFNjcmVl
bkNhcHR1cmVLaXRDYXB0dXJlU291cmNlIG9ubHkgb3V0cHV0cyBvbmUgZnJhbWUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZWUyNDQzYzczYThkMDlmYzEyNzc0NTk1ZWNiNDU2NGM5MzM3OTkxMC4uMzY1MDc2MTFhMGVm
MzJhZWJiNjJjZGY2NjdlNDlhYjk3MDU2ZTIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAyMi0wMi0wNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAg
ICAgICBUaWR5IHVwIHNvbWUgSW1hZ2VCdWZmZXItcmVsYXRlZCBjbGFzc2VzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxNzAKKworICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZm
ZXJCYWNrZW5kIGNhbiBiZSBmaW5hbC4KKyAgICAgICAgSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRt
YXBCYWNrZW5kIGNhbiBiZSBmaW5hbC4KKyAgICAgICAgRnVuY3Rpb25zIG9uIEltYWdlQnVmZmVy
U2hhcmVhYmxlSU9TdXJmYWNlQmFja2VuZCBjYW4gYmUgZmluYWwuCisKKyAgICAgICAgKiBTaGFy
ZWQvUmVtb3RlTGF5ZXJUcmVlL0NHRGlzcGxheUxpc3RJbWFnZUJ1ZmZlckJhY2tlbmQuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9JbWFnZUJ1ZmZlclNoYXJlYWJsZUJpdG1h
cEJhY2tlbmQuaDoKKyAgICAgICAgKFdlYktpdDo6SW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBC
YWNrZW5kOjpzZXRPd25lcnNoaXBJZGVudGl0eSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFibGVJT1N1cmZhY2VCYWNr
ZW5kLmg6CisKIDIwMjItMDItMDIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVmYWN0b3IgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9u
IHRvIGhhdmUgYSBzaW5nbGUgYmFja2luZyBzdG9yZSB0cmF2ZXJzYWwgZnVuY3Rpb24KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
REJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2UuaAppbmRleCA1ZjQwNmQ2YzE1N2ExODRhNzU2YjkxYTEzMDI3ZTQ5MjgxMDVlY2Zj
Li5lOTYzYzY3N2MwOGQzYjA5ZTA1YTEwNjQyMzBlNmNkYTIyOTJiMWQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
QmFzZS5oCkBAIC02NSw2ICs2NSwxMCBAQCBjbGFzcyBUZXh0TWV0cmljczsKIAogc3RydWN0IERP
TU1hdHJpeDJESW5pdDsKIAorbmFtZXNwYWNlIERpc3BsYXlMaXN0IHsKK2NsYXNzIERyYXdpbmdD
b250ZXh0OworfQorCiB1c2luZyBDYW52YXNJbWFnZVNvdXJjZSA9IHN0ZDo6dmFyaWFudDxSZWZQ
dHI8SFRNTEltYWdlRWxlbWVudD4sIFJlZlB0cjxIVE1MQ2FudmFzRWxlbWVudD4sIFJlZlB0cjxJ
bWFnZUJpdG1hcD4KICNpZiBFTkFCTEUoQ1NTX1RZUEVEX09NKQogICAgICwgUmVmUHRyPENTU1N0
eWxlSW1hZ2VWYWx1ZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZUJ1ZmZlci5oCmluZGV4IDRiNzFmMjM1M2M4ZDBjZDhlZGY0YWY1ZTU5MjZiN2RlMjkyYzhhNjIu
LjA4ZDAyMWNkNjg0ZTA2MjczZmUxZDcxYWJjZGU4YTRiNDgzZjVmNmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaApAQCAtMzYsMTIgKzM2LDYg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1uYW1lc3BhY2UgRGlzcGxheUxpc3QgewotY2xh
c3MgRGlzcGxheUxpc3Q7Ci1jbGFzcyBEcmF3aW5nQ29udGV4dDsKLXN0cnVjdCBJdGVtQnVmZmVy
SGFuZGxlOwotfQotCiBjbGFzcyBGaWx0ZXI7CiAKIGNsYXNzIEltYWdlQnVmZmVyIDogcHVibGlj
IFRocmVhZFNhZmVSZWZDb3VudGVkPEltYWdlQnVmZmVyLCBXVEY6OkRlc3RydWN0aW9uVGhyZWFk
OjpNYWluPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPEltYWdlQnVmZmVyPiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQmFja2Vu
ZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0Jh
Y2tlbmQuaAppbmRleCA1OGRhMTc5ODE4MDUyNGE4OTE4NWQ4ODM4NWU2YTk4MmRlN2ZlY2FmLi4x
MmJlNDI5Y2Y2MGU2OTQyYTE5YWFmZGRhZTc3MjBhZThhNTkyY2I0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQmFja2VuZC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCYWNr
ZW5kLmgKQEAgLTM4LDYgKzM4LDkgQEAgY2xhc3MgV0VCQ09SRV9FWFBPUlQgSW1hZ2VCdWZmZXJD
R0JhY2tlbmQgOiBwdWJsaWMgSW1hZ2VCdWZmZXJCYWNrZW5kIHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgdW5zaWduZWQgY2FsY3VsYXRlQnl0ZXNQZXJSb3coY29uc3QgSW50U2l6ZSYgYmFja2VuZFNp
emUpOwogCisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlzT3JpZ2luQXRCb3R0b21MZWZ0Q29y
bmVyID0gdHJ1ZTsKKworcHJvdGVjdGVkOgogICAgIFJlZlB0cjxJbWFnZT4gY29weUltYWdlKEJh
Y2tpbmdTdG9yZUNvcHkgPSBDb3B5QmFja2luZ1N0b3JlLCBQcmVzZXJ2ZVJlc29sdXRpb24gPSBQ
cmVzZXJ2ZVJlc29sdXRpb246Ok5vKSBjb25zdCBvdmVycmlkZTsKICAgICBSZWZQdHI8SW1hZ2U+
IHNpbmtJbnRvSW1hZ2UoUHJlc2VydmVSZXNvbHV0aW9uKSBvdmVycmlkZTsKIApAQCAtNTEsMTAg
KzU0LDggQEAgcHVibGljOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFRocmVhZFNhZmVJbWFnZUJ1
ZmZlckZsdXNoZXI+IGNyZWF0ZUZsdXNoZXIoKSBvdmVycmlkZTsKIAotICAgIHN0YXRpYyBjb25z
dGV4cHIgYm9vbCBpc09yaWdpbkF0Qm90dG9tTGVmdENvcm5lciA9IHRydWU7CiAgICAgYm9vbCBv
cmlnaW5BdEJvdHRvbUxlZnRDb3JuZXIoKSBjb25zdCBvdmVycmlkZTsKIAotcHJvdGVjdGVkOgog
ICAgIHVzaW5nIEltYWdlQnVmZmVyQmFja2VuZDo6SW1hZ2VCdWZmZXJCYWNrZW5kOwogCiAgICAg
c3RhdGljIFJldGFpblB0cjxDR0NvbG9yU3BhY2VSZWY+IGNvbnRleHRDb2xvclNwYWNlKGNvbnN0
IEdyYXBoaWNzQ29udGV4dCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuY3BwCmlu
ZGV4IGJmNDIwMDkzMmM3MTRmNDFjZjAwMmVjOWZiN2ExNTMzNTdiYzIwOGUuLjQ0YmY1OTliNjc3
Mzc2ZTAzMGRkNjEwMjE5YjcyNzNjZWE0M2QwZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFw
QmFja2VuZC5jcHAKQEAgLTExOCw2ICsxMTgsOCBAQCBJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2Vu
ZDo6SW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQoY29uc3QgUGFyYW1ldGVycyYgcGFyYW1ldAog
ICAgIGFwcGx5QmFzZVRyYW5zZm9ybVRvQ29udGV4dCgpOwogfQogCitJbWFnZUJ1ZmZlckNHQml0
bWFwQmFja2VuZDo6fkltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kKCkgPSBkZWZhdWx0OworCiBH
cmFwaGljc0NvbnRleHQmIEltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kOjpjb250ZXh0KCkgY29u
c3QKIHsKICAgICByZXR1cm4gKm1fY29udGV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2Vu
ZC5oCmluZGV4IDA3ZjI4ZTQ1NWU3YjQzYTU0MTQ0MTc0OTkwYjdkMWI3YmE2YzRlMzIuLjA5NzZi
NTgxNjA0OGI5MjA0NDEwNTliODllNmIyZGE4MGE0ODVkNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0Jp
dG1hcEJhY2tlbmQuaApAQCAtMzIsMzEgKzMyLDMyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQgOiBwdWJsaWMgSW1hZ2VCdWZmZXJD
R0JhY2tlbmQgeworY2xhc3MgSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQgZmluYWwgOiBwdWJs
aWMgSW1hZ2VCdWZmZXJDR0JhY2tlbmQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSW1h
Z2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQpOwogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdl
QnVmZmVyQ0dCaXRtYXBCYWNrZW5kKTsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0
aWMgSW50U2l6ZSBjYWxjdWxhdGVTYWZlQmFja2VuZFNpemUoY29uc3QgUGFyYW1ldGVycyYpOwot
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBzaXplX3QgY2FsY3VsYXRlTWVtb3J5Q29zdChjb25z
dCBQYXJhbWV0ZXJzJik7CisgICAgfkltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kKCk7CiAKLSAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyQ0dCaXRt
YXBCYWNrZW5kPiBjcmVhdGUoY29uc3QgUGFyYW1ldGVycyYsIGNvbnN0IEhvc3RXaW5kb3cqKTsK
KyAgICBzdGF0aWMgSW50U2l6ZSBjYWxjdWxhdGVTYWZlQmFja2VuZFNpemUoY29uc3QgUGFyYW1l
dGVycyYpOworICAgIHN0YXRpYyBzaXplX3QgY2FsY3VsYXRlTWVtb3J5Q29zdChjb25zdCBQYXJh
bWV0ZXJzJik7CiAKLSAgICAvLyBGSVhNRTogUmVuYW1lIHRvIGNyZWF0ZVVzaW5nQ29sb3JTcGFj
ZU9mR3JhcGhpY3NDb250ZXh0KCkgKG9yIHNvbWV0aGluZyBsaWtlIHRoYXQpLgotICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tl
bmQ+IGNyZWF0ZShjb25zdCBQYXJhbWV0ZXJzJiwgY29uc3QgR3JhcGhpY3NDb250ZXh0Jik7Ci0K
LSAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQoKSBjb25zdCBvdmVycmlkZTsKLQotICAgIElu
dFNpemUgYmFja2VuZFNpemUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBzdGF0aWMgc3RkOjp1bmlx
dWVfcHRyPEltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kPiBjcmVhdGUoY29uc3QgUGFyYW1ldGVy
cyYsIGNvbnN0IEhvc3RXaW5kb3cqKTsKIAotICAgIFJlZlB0cjxOYXRpdmVJbWFnZT4gY29weU5h
dGl2ZUltYWdlKEJhY2tpbmdTdG9yZUNvcHkgPSBDb3B5QmFja2luZ1N0b3JlKSBjb25zdCBvdmVy
cmlkZTsKKyAgICAvLyBGSVhNRTogUmVuYW1lIHRvIGNyZWF0ZVVzaW5nQ29sb3JTcGFjZU9mR3Jh
cGhpY3NDb250ZXh0KCkgKG9yIHNvbWV0aGluZyBsaWtlIHRoYXQpLgorICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQ+IGNyZWF0ZShjb25zdCBQYXJh
bWV0ZXJzJiwgY29uc3QgR3JhcGhpY3NDb250ZXh0Jik7CiAKLSAgICBzdGQ6Om9wdGlvbmFsPFBp
eGVsQnVmZmVyPiBnZXRQaXhlbEJ1ZmZlcihjb25zdCBQaXhlbEJ1ZmZlckZvcm1hdCYgb3V0cHV0
Rm9ybWF0LCBjb25zdCBJbnRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBwdXRQaXhl
bEJ1ZmZlcihjb25zdCBQaXhlbEJ1ZmZlciYsIGNvbnN0IEludFJlY3QmIHNyY1JlY3QsIGNvbnN0
IEludFBvaW50JiBkZXN0UG9pbnQsIEFscGhhUHJlbXVsdGlwbGljYXRpb24gZGVzdEZvcm1hdCkg
b3ZlcnJpZGU7CisgICAgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KCkgY29uc3QgZmluYWw7CiAK
IHByaXZhdGU6CiAgICAgSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQoY29uc3QgUGFyYW1ldGVy
cyYsIHZvaWQqIGRhdGEsIFJldGFpblB0cjxDR0RhdGFQcm92aWRlclJlZj4mJiwgc3RkOjp1bmlx
dWVfcHRyPEdyYXBoaWNzQ29udGV4dD4mJik7CiAKLSAgICB1bnNpZ25lZCBieXRlc1BlclJvdygp
IGNvbnN0IG92ZXJyaWRlOworICAgIEludFNpemUgYmFja2VuZFNpemUoKSBjb25zdCBmaW5hbDsK
KyAgICB1bnNpZ25lZCBieXRlc1BlclJvdygpIGNvbnN0IGZpbmFsOworCisgICAgUmVmUHRyPE5h
dGl2ZUltYWdlPiBjb3B5TmF0aXZlSW1hZ2UoQmFja2luZ1N0b3JlQ29weSA9IENvcHlCYWNraW5n
U3RvcmUpIGNvbnN0IGZpbmFsOworCisgICAgc3RkOjpvcHRpb25hbDxQaXhlbEJ1ZmZlcj4gZ2V0
UGl4ZWxCdWZmZXIoY29uc3QgUGl4ZWxCdWZmZXJGb3JtYXQmIG91dHB1dEZvcm1hdCwgY29uc3Qg
SW50UmVjdCYpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgcHV0UGl4ZWxCdWZmZXIoY29uc3QgUGl4
ZWxCdWZmZXImLCBjb25zdCBJbnRSZWN0JiBzcmNSZWN0LCBjb25zdCBJbnRQb2ludCYgZGVzdFBv
aW50LCBBbHBoYVByZW11bHRpcGxpY2F0aW9uIGRlc3RGb3JtYXQpIGZpbmFsOwogCiAgICAgdm9p
ZCogbV9kYXRhOwogICAgIFJldGFpblB0cjxDR0RhdGFQcm92aWRlclJlZj4gbV9kYXRhUHJvdmlk
ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFn
ZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0ltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5oCmluZGV4IDMyNDE5OGIxZTVmNWJi
M2ZmNDY5NThlM2JmOGI0YjkwNjE4N2VkZWQuLjc3MjZhZjFjNThjM2MyZTRiZGJmYmFhYzJkZDc5
MGUxOWIyYTNiYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0ltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5oCkBAIC00OCwx
MSArNDgsMTMgQEAgcHVibGljOgogCiAgICAgSW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kKGNv
bnN0IFBhcmFtZXRlcnMmLCBzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiYmKTsKIAotICAgIElP
U3VyZmFjZSogc3VyZmFjZSgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgUmVuZGVyaW5nTW9kZSBy
ZW5kZXJpbmdNb2RlID0gUmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQ7CiAKKyAgICBJT1N1cmZh
Y2UqIHN1cmZhY2UoKTsKICAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQoKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2b2lkIGZsdXNoQ29udGV4dCgpIG92ZXJyaWRlOwogCitwcm90ZWN0ZWQ6CiAg
ICAgSW50U2l6ZSBiYWNrZW5kU2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAogICAgIFJlZlB0
cjxOYXRpdmVJbWFnZT4gY29weU5hdGl2ZUltYWdlKEJhY2tpbmdTdG9yZUNvcHkgPSBDb3B5QmFj
a2luZ1N0b3JlKSBjb25zdCBvdmVycmlkZTsKQEAgLTcxLDkgKzczLDYgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBlbnN1cmVOYXRpdmVJbWFnZXNIYXZlQ29waWVkQmFja2luZ1N0b3JlKCkgZmluYWw7
CiAKLSAgICBzdGF0aWMgY29uc3RleHByIFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSA9IFJl
bmRlcmluZ01vZGU6OkFjY2VsZXJhdGVkOwotCi1wcm90ZWN0ZWQ6CiAgICAgc3RhdGljIFJldGFp
blB0cjxDR0NvbG9yU3BhY2VSZWY+IGNvbnRleHRDb2xvclNwYWNlKGNvbnN0IEdyYXBoaWNzQ29u
dGV4dCYpOwogICAgIHVuc2lnbmVkIGJ5dGVzUGVyUm93KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdEltYWdlQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJbWFnZUJ1ZmZlci5oCmluZGV4IGU4ZjY4YTM3M2Ri
ZWQ5MjgyNTZlMWYyOWMzZjJlZDY5N2IzNjZhY2YuLjBkYTgzMjVjNDAxM2Y4NTQ0NmJmNTdhNDAx
NGUwOTdjYWQ3Y2MzNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEltYWdlQnVmZmVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SW1hZ2VCdWZm
ZXIuaApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgRGlz
cGxheUxpc3QgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBCYWNrZW5kVHlwZT4KLWNsYXNzIEltYWdl
QnVmZmVyIDogcHVibGljIENvbmNyZXRlSW1hZ2VCdWZmZXI8QmFja2VuZFR5cGU+IHsKK2NsYXNz
IEltYWdlQnVmZmVyIGZpbmFsIDogcHVibGljIENvbmNyZXRlSW1hZ2VCdWZmZXI8QmFja2VuZFR5
cGU+IHsKICAgICB1c2luZyBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlciA9IENvbmNyZXRlSW1hZ2VC
dWZmZXI8QmFja2VuZFR5cGU+OwogICAgIHVzaW5nIEJhc2VDb25jcmV0ZUltYWdlQnVmZmVyOjp0
cnVuY2F0ZWRMb2dpY2FsU2l6ZTsKICAgICB1c2luZyBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6
bG9naWNhbFNpemU7CkBAIC03NSwyMCArNzUsMjAgQEAgcHVibGljOgogICAgICAgICBmbHVzaERy
YXdpbmdDb250ZXh0KCk7CiAgICAgfQogCi0gICAgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KCkg
Y29uc3Qgb3ZlcnJpZGUKKyAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQoKSBjb25zdCBmaW5h
bAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fZHJhd2luZ0NvbnRleHQuY29udGV4dCgpOwogICAg
IH0KIAogICAgIEdyYXBoaWNzQ29udGV4dCogZHJhd2luZ0NvbnRleHQoKSBvdmVycmlkZSB7IHJl
dHVybiAmbV9kcmF3aW5nQ29udGV4dC5jb250ZXh0KCk7IH0KIAotICAgIHZvaWQgZmx1c2hEcmF3
aW5nQ29udGV4dCgpIG92ZXJyaWRlCisgICAgdm9pZCBmbHVzaERyYXdpbmdDb250ZXh0KCkgZmlu
YWwKICAgICB7CiAgICAgICAgIGlmICghbV9kcmF3aW5nQ29udGV4dC5kaXNwbGF5TGlzdCgpLmlz
RW1wdHkoKSkKICAgICAgICAgICAgIG1fZHJhd2luZ0NvbnRleHQucmVwbGF5RGlzcGxheUxpc3Qo
QmFzZUNvbmNyZXRlSW1hZ2VCdWZmZXI6OmNvbnRleHQoKSk7CiAgICAgfQogCi0gICAgdm9pZCBj
bGVhckJhY2tlbmQoKSBvdmVycmlkZQorICAgIHZvaWQgY2xlYXJCYWNrZW5kKCkgZmluYWwKICAg
ICB7CiAgICAgICAgIG1fZHJhd2luZ0NvbnRleHQuZGlzcGxheUxpc3QoKS5jbGVhcigpOwogICAg
ICAgICBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6Y2xlYXJCYWNrZW5kKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvQ0dEaXNwbGF5TGlzdEltYWdl
QnVmZmVyQmFja2VuZC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL0NH
RGlzcGxheUxpc3RJbWFnZUJ1ZmZlckJhY2tlbmQuaAppbmRleCAwNDgwNmZjMzUxYTdiNTA1YTU3
YzE4MzdhMTgzMzA4ZTA1ODZhODgxLi5kZmMzODhhNTBlMjYxNWY2ZDI4MzFkOWQyODRiYjk2NTY3
ZjRkMGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUv
Q0dEaXNwbGF5TGlzdEltYWdlQnVmZmVyQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1JlbW90ZUxheWVyVHJlZS9DR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5kLmgKQEAg
LTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIENHRGlzcGxheUxp
c3RJbWFnZUJ1ZmZlckJhY2tlbmQgOiBwdWJsaWMgV2ViQ29yZTo6SW1hZ2VCdWZmZXJDR0JhY2tl
bmQgeworY2xhc3MgQ0dEaXNwbGF5TGlzdEltYWdlQnVmZmVyQmFja2VuZCBmaW5hbCA6IHB1Ymxp
YyBXZWJDb3JlOjpJbWFnZUJ1ZmZlckNHQmFja2VuZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5kKTsKICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5kKTsKIHB1YmxpYzoKQEAgLTQ0
LDE4ICs0NCwxOCBAQCBwdWJsaWM6CiAKICAgICBJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUgY3Jl
YXRlSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlKCkgY29uc3Q7CiAKLSAgICBXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQoKSBjb25zdCBvdmVycmlkZTsKLSAgICBXZWJDb3JlOjpJbnRT
aXplIGJhY2tlbmRTaXplKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0JiBjb250ZXh0KCkgY29uc3QgZmluYWw7CisgICAgV2ViQ29yZTo6SW50U2l6ZSBiYWNr
ZW5kU2l6ZSgpIGNvbnN0IGZpbmFsOwogCiAgICAgLy8gTk9URTogVGhlc2UgYWxsIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpLgotICAgIFJlZlB0cjxXZWJDb3JlOjpOYXRpdmVJbWFnZT4gY29weU5hdGl2
ZUltYWdlKFdlYkNvcmU6OkJhY2tpbmdTdG9yZUNvcHkgPSBXZWJDb3JlOjpDb3B5QmFja2luZ1N0
b3JlKSBjb25zdCBvdmVycmlkZTsKLSAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBpeGVsQnVm
ZmVyPiBnZXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJDb3JlOjpQaXhlbEJ1ZmZlckZvcm1hdCYgb3V0
cHV0Rm9ybWF0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAg
dm9pZCBwdXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJDb3JlOjpQaXhlbEJ1ZmZlciYsIGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmIHNyY1JlY3QsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBkZXN0UG9p
bnQsIFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRpb24gZGVzdEZvcm1hdCkgb3ZlcnJpZGU7
CisgICAgUmVmUHRyPFdlYkNvcmU6Ok5hdGl2ZUltYWdlPiBjb3B5TmF0aXZlSW1hZ2UoV2ViQ29y
ZTo6QmFja2luZ1N0b3JlQ29weSA9IFdlYkNvcmU6OkNvcHlCYWNraW5nU3RvcmUpIGNvbnN0IGZp
bmFsOworICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGl4ZWxCdWZmZXI+IGdldFBpeGVsQnVm
ZmVyKGNvbnN0IFdlYkNvcmU6OlBpeGVsQnVmZmVyRm9ybWF0JiBvdXRwdXRGb3JtYXQsIGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHB1dFBpeGVsQnVmZmVy
KGNvbnN0IFdlYkNvcmU6OlBpeGVsQnVmZmVyJiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc3Jj
UmVjdCwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGRlc3RQb2ludCwgV2ViQ29yZTo6QWxwaGFQ
cmVtdWx0aXBsaWNhdGlvbiBkZXN0Rm9ybWF0KSBmaW5hbDsKIAogcHJvdGVjdGVkOgogICAgIENH
RGlzcGxheUxpc3RJbWFnZUJ1ZmZlckJhY2tlbmQoY29uc3QgUGFyYW1ldGVycyYsIHN0ZDo6dW5p
cXVlX3B0cjxXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ+JiYpOwogCi0gICAgdW5zaWduZWQgYnl0
ZXNQZXJSb3coKSBjb25zdCBvdmVycmlkZTsKKyAgICB1bnNpZ25lZCBieXRlc1BlclJvdygpIGNv
bnN0IGZpbmFsOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dD4gbV9jb250ZXh0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvZ3JhcGhpY3MvSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBCYWNrZW5kLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL0ltYWdlQnVmZmVyU2hhcmVhYmxlQml0bWFw
QmFja2VuZC5oCmluZGV4IGM1YjI2YzQwZTc0NjAzMjJkZmFmZTI5YjBjZTZlMzY0MTY3ZTcyYWMu
LjRjNzAyODVkMzA4NGUxODIyMzlkN2EyMTRiMzc5Njc1NDYyN2FkY2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvSW1hZ2VCdWZmZXJTaGFyZWFibGVC
aXRtYXBCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9JbWFnZUJ1ZmZlclNoYXJlYWJsZUJpdG1hcEJhY2tlbmQuaApAQCAtMzksNyArMzksNyBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgU2hhcmVhYmxlQml0bWFwOwogCi1jbGFzcyBJbWFn
ZUJ1ZmZlclNoYXJlYWJsZUJpdG1hcEJhY2tlbmQgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1J
bWFnZUJ1ZmZlckJhY2tlbmQgeworY2xhc3MgSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBCYWNr
ZW5kIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtSW1hZ2VCdWZmZXJCYWNrZW5kIHsK
ICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEltYWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFj
a2VuZCk7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRt
YXBCYWNrZW5kKTsKIHB1YmxpYzoKQEAgLTU1LDE5ICs1NSwxOSBAQCBwdWJsaWM6CiAKICAgICBJ
bWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUgY3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlKCkg
Y29uc3Q7CiAKLSAgICBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmIGNvbnRleHQoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiAqbV9jb250ZXh0OyB9CisgICAgV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0JiBjb250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gKm1fY29udGV4dDsgfQogICAgIAot
ICAgIFdlYkNvcmU6OkludFNpemUgYmFja2VuZFNpemUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBX
ZWJDb3JlOjpJbnRTaXplIGJhY2tlbmRTaXplKCkgY29uc3QgZmluYWw7CiAKLSAgICBSZWZQdHI8
V2ViQ29yZTo6TmF0aXZlSW1hZ2U+IGNvcHlOYXRpdmVJbWFnZShXZWJDb3JlOjpCYWNraW5nU3Rv
cmVDb3B5ID0gV2ViQ29yZTo6Q29weUJhY2tpbmdTdG9yZSkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAg
UmVmUHRyPFdlYkNvcmU6OkltYWdlPiBjb3B5SW1hZ2UoV2ViQ29yZTo6QmFja2luZ1N0b3JlQ29w
eSA9IFdlYkNvcmU6OkNvcHlCYWNraW5nU3RvcmUsIFdlYkNvcmU6OlByZXNlcnZlUmVzb2x1dGlv
biA9IFdlYkNvcmU6OlByZXNlcnZlUmVzb2x1dGlvbjo6Tm8pIGNvbnN0IG92ZXJyaWRlOworICAg
IFJlZlB0cjxXZWJDb3JlOjpOYXRpdmVJbWFnZT4gY29weU5hdGl2ZUltYWdlKFdlYkNvcmU6OkJh
Y2tpbmdTdG9yZUNvcHkgPSBXZWJDb3JlOjpDb3B5QmFja2luZ1N0b3JlKSBjb25zdCBmaW5hbDsK
KyAgICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2U+IGNvcHlJbWFnZShXZWJDb3JlOjpCYWNraW5nU3Rv
cmVDb3B5ID0gV2ViQ29yZTo6Q29weUJhY2tpbmdTdG9yZSwgV2ViQ29yZTo6UHJlc2VydmVSZXNv
bHV0aW9uID0gV2ViQ29yZTo6UHJlc2VydmVSZXNvbHV0aW9uOjpObykgY29uc3QgZmluYWw7CiAK
LSAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBpeGVsQnVmZmVyPiBnZXRQaXhlbEJ1ZmZlcihj
b25zdCBXZWJDb3JlOjpQaXhlbEJ1ZmZlckZvcm1hdCYgb3V0cHV0Rm9ybWF0LCBjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBwdXRQaXhlbEJ1ZmZlcihj
b25zdCBXZWJDb3JlOjpQaXhlbEJ1ZmZlciYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNyY1Jl
Y3QsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBkZXN0UG9pbnQsIFdlYkNvcmU6OkFscGhhUHJl
bXVsdGlwbGljYXRpb24gZGVzdEZvcm1hdCkgb3ZlcnJpZGU7CisgICAgc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpQaXhlbEJ1ZmZlcj4gZ2V0UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxC
dWZmZXJGb3JtYXQmIG91dHB1dEZvcm1hdCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0
IGZpbmFsOworICAgIHZvaWQgcHV0UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZm
ZXImLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzcmNSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYgZGVzdFBvaW50LCBXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIGRlc3RGb3Jt
YXQpIGZpbmFsOwogCiAgICAgdm9pZCBzZXRPd25lcnNoaXBJZGVudGl0eShjb25zdCBXZWJDb3Jl
OjpQcm9jZXNzSWRlbnRpdHkmKSB7IH0KIHByaXZhdGU6Ci0gICAgdW5zaWduZWQgYnl0ZXNQZXJS
b3coKSBjb25zdCBvdmVycmlkZTsKKyAgICB1bnNpZ25lZCBieXRlc1BlclJvdygpIGNvbnN0IGZp
bmFsOwogCiAgICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gbV9iaXRtYXA7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dD4gbV9jb250ZXh0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9jb2NvYS9JbWFnZUJ1ZmZl
clNoYXJlYWJsZUlPU3VyZmFjZUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFibGVJT1N1cmZhY2VCYWNrZW5kLmgK
aW5kZXggZWJjY2NiNzk2NmQ3OGI4OGVhMmM5MDJmMTUyZGZkYzgzZDQxY2RjZC4uZDgyOWI2MDAx
NzY0ZmM2NWYxNTBhMzFlNzNlNjMxYzU0MDNhYTdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9jb2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJsZUlPU3Vy
ZmFjZUJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNz
L2NvY29hL0ltYWdlQnVmZmVyU2hhcmVhYmxlSU9TdXJmYWNlQmFja2VuZC5oCkBAIC01MiwyNSAr
NTIsMjYgQEAgcHVibGljOgogCiAgICAgSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlIGNyZWF0ZUlt
YWdlQnVmZmVyQmFja2VuZEhhbmRsZSgpIGNvbnN0OwogCi0gICAgV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0JiBjb250ZXh0KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgV2ViQ29yZTo6SW50U2l6ZSBi
YWNrZW5kU2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIFJlZlB0cjxXZWJDb3JlOjpOYXRpdmVJ
bWFnZT4gY29weU5hdGl2ZUltYWdlKFdlYkNvcmU6OkJhY2tpbmdTdG9yZUNvcHkpIGNvbnN0IG92
ZXJyaWRlOwotICAgIFJlZlB0cjxXZWJDb3JlOjpJbWFnZT4gY29weUltYWdlKFdlYkNvcmU6OkJh
Y2tpbmdTdG9yZUNvcHksIFdlYkNvcmU6OlByZXNlcnZlUmVzb2x1dGlvbikgY29uc3Qgb3ZlcnJp
ZGU7Ci0gICAgdm9pZCBkcmF3KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgc3JjUmVj
dCwgY29uc3QgV2ViQ29yZTo6SW1hZ2VQYWludGluZ09wdGlvbnMmKSBvdmVycmlkZTsKLSAgICB2
b2lkIGRyYXdQYXR0ZXJuKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IFdlYkNvcmU6
OkZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgc3JjUmVjdCwg
Y29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFBvaW50JiBwaGFzZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBzcGFj
aW5nLCBjb25zdCBXZWJDb3JlOjpJbWFnZVBhaW50aW5nT3B0aW9ucyYpIG92ZXJyaWRlOwotICAg
IFN0cmluZyB0b0RhdGFVUkwoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgc3RkOjpvcHRpb25hbDxk
b3VibGU+IHF1YWxpdHksIFdlYkNvcmU6OlByZXNlcnZlUmVzb2x1dGlvbikgY29uc3Qgb3ZlcnJp
ZGU7Ci0gICAgVmVjdG9yPHVpbnQ4X3Q+IHRvRGF0YShjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBz
dGQ6Om9wdGlvbmFsPGRvdWJsZT4gcXVhbGl0eSkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpQaXhlbEJ1ZmZlcj4gZ2V0UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29y
ZTo6UGl4ZWxCdWZmZXJGb3JtYXQmIG91dHB1dEZvcm1hdCwgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQgcHV0UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29y
ZTo6UGl4ZWxCdWZmZXImLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzcmNSZWN0LCBjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYgZGVzdFBvaW50LCBXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0
aW9uIGRlc3RGb3JtYXQpIG92ZXJyaWRlOwotCiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlz
T3JpZ2luQXRCb3R0b21MZWZ0Q29ybmVyID0gdHJ1ZTsKLSAgICBib29sIG9yaWdpbkF0Qm90dG9t
TGVmdENvcm5lcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGlzT3JpZ2luQXRCb3R0b21MZWZ0
Q29ybmVyOyB9Ci0KICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgY2FuTWFwQmFja2luZ1N0b3Jl
ID0gZmFsc2U7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlIHJl
bmRlcmluZ01vZGUgPSBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZDsKIAorICAg
IFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYgY29udGV4dCgpIGNvbnN0IGZpbmFsOworCiBwcml2
YXRlOgotICAgIHVuc2lnbmVkIGJ5dGVzUGVyUm93KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgV2Vi
Q29yZTo6SW50U2l6ZSBiYWNrZW5kU2l6ZSgpIGNvbnN0IGZpbmFsOworICAgIFJlZlB0cjxXZWJD
b3JlOjpOYXRpdmVJbWFnZT4gY29weU5hdGl2ZUltYWdlKFdlYkNvcmU6OkJhY2tpbmdTdG9yZUNv
cHkpIGNvbnN0IGZpbmFsOworICAgIFJlZlB0cjxXZWJDb3JlOjpJbWFnZT4gY29weUltYWdlKFdl
YkNvcmU6OkJhY2tpbmdTdG9yZUNvcHksIFdlYkNvcmU6OlByZXNlcnZlUmVzb2x1dGlvbikgY29u
c3QgZmluYWw7CisgICAgdm9pZCBkcmF3KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIGNvbnN0
IFdlYkNvcmU6OkZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYg
c3JjUmVjdCwgY29uc3QgV2ViQ29yZTo6SW1hZ2VQYWludGluZ09wdGlvbnMmKSBmaW5hbDsKKyAg
ICB2b2lkIGRyYXdQYXR0ZXJuKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgc3JjUmVj
dCwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25z
dCBXZWJDb3JlOjpGbG9hdFBvaW50JiBwaGFzZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBz
cGFjaW5nLCBjb25zdCBXZWJDb3JlOjpJbWFnZVBhaW50aW5nT3B0aW9ucyYpIGZpbmFsOworICAg
IFN0cmluZyB0b0RhdGFVUkwoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgc3RkOjpvcHRpb25hbDxk
b3VibGU+IHF1YWxpdHksIFdlYkNvcmU6OlByZXNlcnZlUmVzb2x1dGlvbikgY29uc3QgZmluYWw7
CisgICAgVmVjdG9yPHVpbnQ4X3Q+IHRvRGF0YShjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBzdGQ6
Om9wdGlvbmFsPGRvdWJsZT4gcXVhbGl0eSkgY29uc3QgZmluYWw7CisgICAgc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpQaXhlbEJ1ZmZlcj4gZ2V0UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4
ZWxCdWZmZXJGb3JtYXQmIG91dHB1dEZvcm1hdCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNv
bnN0IGZpbmFsOworICAgIHZvaWQgcHV0UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxC
dWZmZXImLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzcmNSZWN0LCBjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYgZGVzdFBvaW50LCBXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIGRlc3RG
b3JtYXQpIGZpbmFsOworCisgICAgYm9vbCBvcmlnaW5BdEJvdHRvbUxlZnRDb3JuZXIoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBpc09yaWdpbkF0Qm90dG9tTGVmdENvcm5lcjsgfQorCisgICAgdW5z
aWduZWQgYnl0ZXNQZXJSb3coKSBjb25zdCBmaW5hbDsKIAogICAgIEltYWdlQnVmZmVyQmFja2Vu
ZEhhbmRsZSBtX2hhbmRsZTsKIH07CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggNDgzZjY2NGRhM2UwMjc0YzA0NWIzYTIwZTY2MzgwNWVjMDQyMzUy
Zi4uMWI5MGEwOGJlM2M4ZTQwNmQ3ZWM5YmVkMzk4ZTdiOGM3NWFlMzU0YSAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDIyLTAyLTA1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAg
ICAgIFRpZHkgdXAgc29tZSBJbWFnZUJ1ZmZlci1yZWxhdGVkIGNsYXNzZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjE3MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgorICAgICAgICAKKyAgICAgICAgSW1hZ2VCdWZmZXJUZXN0
cyBzaG91bGQgdXNlIHRoZSBmdW5jdGlvbnMgb24gSW1hZ2VCdWZmZXIsIG5vdCBXZWJDb3JlLWlu
dGVybmFsCisgICAgICAgIGNsYXNzZXMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYkNvcmUvSW1hZ2VCdWZmZXJUZXN0cy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKwogMjAyMi0wMi0wNCAgTWF0dCBHaWxsaWdhbiAgPG1hdHRoZXdfZ2lsbGlnYW5AYXBw
bGUuY29tPgogCiAgICAgICAgIEFkZCB0ZXN0IGZvciB0aGUgZml4IGluIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU5MjgKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9JbWFnZUJ1ZmZlclRlc3RzLmNwcCBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9JbWFnZUJ1ZmZlclRlc3RzLmNwcAppbmRleCBhMWU1NTA3
NmVmZDE2ZjZhYWYzNzQ0YWI2ZDZjMjRkNmZiODIwZjRmLi5hNDIwNjEwYTA0ZTNhYjAyY2I3ZTMy
OTdhY2QyNTExMWE4MmQ3M2E3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYkNvcmUvSW1hZ2VCdWZmZXJUZXN0cy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL0ltYWdlQnVmZmVyVGVzdHMuY3BwCkBAIC0yNyw4ICsyNyw5IEBACiAKICNp
bmNsdWRlICJUZXN0VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Db2xvci5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbWFn
ZUJ1ZmZlci5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1JbWFnZUJ1ZmZlci5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvUGl4ZWxCdWZmZXIuaD4KICNpbmNsdWRlIDxjbWF0aD4KICNpbmNsdWRl
IDx3dGYvTWVtb3J5Rm9vdHByaW50Lmg+CiAKQEAgLTU0LDEwICs1NSwxMSBAQCBURVNUKEltYWdl
QnVmZmVyVGVzdHMsIEltYWdlQnVmZmVyU3ViVHlwZUNyZWF0ZUNyZWF0ZXNTdWJ0eXBlcykKICAg
ICBhdXRvIHBpeGVsRm9ybWF0ID0gUGl4ZWxGb3JtYXQ6OkJHUkE4OwogICAgIEZsb2F0U2l6ZSBz
aXplIHsgMS5mLCAxLmYgfTsKICAgICBmbG9hdCBzY2FsZSA9IDEuZjsKLSAgICBSZWZQdHI8VW5h
Y2NlbGVyYXRlZEltYWdlQnVmZmVyPiB1bmFjY2VsZXJhdGVkID0gVW5hY2NlbGVyYXRlZEltYWdl
QnVmZmVyOjpjcmVhdGUoc2l6ZSwgc2NhbGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBudWxs
cHRyKTsKLSAgICBSZWZQdHI8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4gYWNjZWxlcmF0ZWQgPSBB
Y2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgc2NhbGUsIGNvbG9yU3BhY2UsIHBp
eGVsRm9ybWF0LCBudWxscHRyKTsKLSAgICBSZWZQdHI8RGlzcGxheUxpc3RBY2NlbGVyYXRlZElt
YWdlQnVmZmVyPiBkaXNwbGF5TGlzdEFjY2VsZXJhdGVkID0gRGlzcGxheUxpc3RBY2NlbGVyYXRl
ZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgc2NhbGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0
LCBudWxscHRyKTsKLSAgICBSZWZQdHI8RGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkSW1hZ2VCdWZm
ZXI+IGRpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZCA9IERpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZElt
YWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgc2NhbGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBu
dWxscHRyKTsKKyAgICBSZWZQdHI8SW1hZ2VCdWZmZXI+IHVuYWNjZWxlcmF0ZWQgPSBJbWFnZUJ1
ZmZlcjo6Y3JlYXRlKHNpemUsIFJlbmRlcmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQsIHNjYWxlLCBj
b2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgbnVsbHB0cik7CisgICAgUmVmUHRyPEltYWdlQnVmZmVy
PiBhY2NlbGVyYXRlZCA9IEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgUmVuZGVyaW5nTW9kZTo6
QWNjZWxlcmF0ZWQsIHNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgbnVsbHB0cik7Cisg
ICAgUmVmUHRyPEltYWdlQnVmZmVyPiBkaXNwbGF5TGlzdEFjY2VsZXJhdGVkID0gSW1hZ2VCdWZm
ZXI6OmNyZWF0ZShzaXplLCBSZW5kZXJpbmdNb2RlOjpVbmFjY2VsZXJhdGVkLCBTaG91bGRVc2VE
aXNwbGF5TGlzdDo6WWVzLCBSZW5kZXJpbmdQdXJwb3NlOjpVbnNwZWNpZmllZCwgc2NhbGUsIGNv
bG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBudWxscHRyKTsKKyAgICBSZWZQdHI8SW1hZ2VCdWZmZXI+
IGRpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZCA9IEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgUmVu
ZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQsIFNob3VsZFVzZURpc3BsYXlMaXN0OjpZZXMsIFJlbmRl
cmluZ1B1cnBvc2U6OlVuc3BlY2lmaWVkLCBzY2FsZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQs
IG51bGxwdHIpOworCiAgICAgRVhQRUNUX05FKG51bGxwdHIsIGFjY2VsZXJhdGVkKTsKICAgICBF
WFBFQ1RfTkUobnVsbHB0ciwgdW5hY2NlbGVyYXRlZCk7CiAgICAgRVhQRUNUX05FKG51bGxwdHIs
IGRpc3BsYXlMaXN0QWNjZWxlcmF0ZWQpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>