<?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>223317</bug_id>
          
          <creation_ts>2021-03-16 23:35:08 -0700</creation_ts>
          <short_desc>webgl/1.0.x/conformance/glsl/misc/fragcolor-fragdata-invariant.html fails</short_desc>
          <delta_ts>2021-08-31 01:11:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>Other</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>
          
          <blocked>222812</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gman</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>kpiddington</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1740405</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-16 23:35:08 -0700</bug_when>
    <thetext>webgl/1.0.4/conformance/glsl/misc/fragcolor-fragdata-invariant.html fails</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740533</commentid>
    <comment_count>1</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-17 01:21:48 -0700</bug_when>
    <thetext>https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/misc/fragcolor-fragdata-invariant.html?webglVersion=1&amp;quiet=0&amp;quick=1

Declaring both gl_FragColor and gl_FragData invariant should succeed.

On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.


test: Declaring both gl_FragColor and gl_FragData invariant should succeed.
default vertex shader
default vertex shader translated for driver
test fragment shader
FAIL [unexpected fragment shader compile status] (expected: true) Declaring both gl_FragColor and gl_FragData invariant should succeed.
test fragment shader info log
PASS successfullyParsed is true

TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740554</commentid>
    <comment_count>2</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-17 01:38:05 -0700</bug_when>
    <thetext>*** Bug 223334 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740574</commentid>
    <comment_count>3</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-17 01:45:42 -0700</bug_when>
    <thetext>At least macOS 11.3, iMacPro1,1, Radeon Pro Vega 56</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743170</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-23 23:36:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/75772659&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787724</commentid>
    <comment_count>5</comment_count>
      <attachid>436543</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-26 12:15:59 -0700</bug_when>
    <thetext>Created attachment 436543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787729</commentid>
    <comment_count>6</comment_count>
      <attachid>436546</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-26 12:24:55 -0700</bug_when>
    <thetext>Created attachment 436546
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787733</commentid>
    <comment_count>7</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-08-26 12:26:14 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787954</commentid>
    <comment_count>8</comment_count>
      <attachid>436546</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-08-26 22:37:28 -0700</bug_when>
    <thetext>Comment on attachment 436546
Patch

Great work Kimmo diagnosing and fixing this. It sounds like you&apos;ve carefully analyzed what was going wrong here, so looks good to me. It would be good if Kyle could look at this too before landing.

(As an aside, I wish we&apos;d finished the upstreaming process so that large changes like this didn&apos;t make WebKit&apos;s and ANGLE&apos;s code diverge further.)

r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788805</commentid>
    <comment_count>9</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-31 00:51:05 -0700</bug_when>
    <thetext>Discussing with Kyle, he thinks this is ok. To the best of my knowledge, all the expected conformance tests still pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788811</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-31 01:11:39 -0700</bug_when>
    <thetext>Committed r281794 (241131@main): &lt;https://commits.webkit.org/241131@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436546.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436543</attachid>
            <date>2021-08-26 12:15:59 -0700</date>
            <delta_ts>2021-08-26 12:24:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223317-20210826221556.patch</filename>
            <type>text/plain</type>
            <size>39700</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggZjIyNGE2ZjRmMDJmMjhiNTZhNTdjNjZkZGZkYjUwMDhjMDI2OWE4NS4uNmFhMGJkMjc0ODkx
YjJhNDBiZTcyZTczMzZkNjg3MmYwMzdhZGY4YyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTA4LTI2ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgd2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L2ZyYWdjb2xvci1mcmFnZGF0YS1pbnZhcmlhbnQuaHRtbCBmYWlscworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMzE3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83NTc3MjY1OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGUgcGFyc2VyIG1haW50YWlucyBpbnZhcmlhbmNlIG1ldGFkYXRhIGZvciBl
YWNoIGlucHV0IGFuZCBvdXRwdXQKKyAgICAgICAgd2l0aCB0aGUgaGVscCBvZiB0aGUgc3ltYm9s
IHRhYmxlLCBkdXJpbmcgcGFyc2luZy4KKworICAgICAgICBVc2UgdGhpcyBtZXRhZGF0YSB0aHJv
dWdoIHRoZSBjb2xsZWN0aW9uIHBoYXNlIGRvbmUgYnkgQ29sbGVjdFZhcmlhYmxlcworICAgICAg
ICBzZWN0aW9uIG9mIHNoYWRlciBjb21waWxhdGlvbi4KKworICAgICAgICBSZW1vdmUgdGhlIG1h
bnVhbCB0cmVlIHJld3JpdGUgc2VjdGlvbiB0aGF0IGNvbGxlY3RlZCB0aGUgaW52YXJpYW5jZQor
ICAgICAgICBpbmZvcm1hdGlvbi4gVGhlIGltcGxlbWVudGF0aW9uIGhhZCBmb2xsb3dpbmcgcHJv
YmxlbXM6CisgICAgICAgIDEpIEl0IHdvdWxkIGRlY2xhcmUgdGhlIHZhcmlhYmxlcyBwcmVzZW50
LiBUaGlzIHdvdWxkIGZhaWwgdGhlIHRlc3QgY2FzZQorICAgICAgICBmaXhlZCBoZXJlLCBkdWUg
dG8gdGhlIHRlc3QgY2FzZSB1c2luZyBpbnZhcmlhbnQgZGVjbGFyYXRpb25zIHRvIGJvdGgKKyAg
ICAgICAgRnJhZ0NvbG9yIGFuZCBGcmFnRGF0YSwgd2hpY2ggd291bGQgY2F1c2UgYm90aCB0byBi
ZSBwcmVzZW50IGFzIG91dHB1dHMKKyAgICAgICAgdG8gdGhlIE1TTC4KKyAgICAgICAgMikgSXQg
d291bGQgb3BlcmF0ZSBvbiByZXdyaXR0ZW4gdmFyaWFibGVzLiBGb3IgZXhhbXBsZSwgRnJhZ0Nv
b3JkIHdvdWxkCisgICAgICAgIGJlIHJlcGxhY2VkIHdpdGggZGlmZmVyZW50IHZhcmlhYmxlLCBj
YXVzaW5nIHRoZSBpbnZhcmlhbmNlIGJlIG1hcmtlZAorICAgICAgICBiYXNlZCBvbiB0aGUgcmV3
cml0dGVuIG5hbWUgYnV0IHRoZSBsYXRlciBsb29rdXAgaW50ZW5kZWQgdG8gYmUgZG9uZQorICAg
ICAgICB3aXRoIHRoZSBvcmlnaW5hbCBuYW1lLgorCisgICAgICAgIFJlbW92ZSBsb2dpYyB0byBt
YXJrIEZyYWdDb29yZCBhcyBpbnZhcmlhbnQsIGFzIE1TTCBzcGVjaWZpY2F0aW9uIGV4cGxpY2l0
bHkKKyAgICAgICAgc2F5cyB0aGF0IG9ubHkgdGhlIHZlcnRleCBbW3Bvc2l0aW9uXV0gb3V0cHV0
IGNhbiBiZSBtYXJrZWQgYXMgW1tpbnZhcmlhbnRdXS4KKyAgICAgICAgQXMgbm90ZWQgYWJvdmUs
IHRoaXMgbmV2ZXIgd29ya2VkLgorCisgICAgICAgIEZpeCBjYXNlcyB3aGVyZSB0aGUgdHJlZSBy
ZXdyaXRlcnMgYXNzdW1lIHRoYXQgYWxsIHZhcmlhYmxlIHJlZmVyZW5jZXMgYXJlCisgICAgICAg
IGRvbmUgd2l0aGluIGZ1bmN0aW9ucy4gVGhlIGdsb2JhbCBxdWFsaWZpZXIgZGVjbGFyYXRpb25z
IGFyZSBub3cgbGVmdAorICAgICAgICBpbiB0aGUgdHJlZSBhbmQgYXMgc3VjaCBjYW4gcmVmZXIg
dG8gdmFyaWFibGVzIGJ1dCBkbyBub3QgYmVsb25nIHRvIGFueQorICAgICAgICBmdW5jdGlvbi4K
KworICAgICAgICBGaXhlczoKKyAgICAgICAgd2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL2ZyYWdjb2xvci1mcmFnZGF0YS1pbnZhcmlhbnQuaHRtbAorICAgICAgICB3ZWJnbC8yLjAu
eS9jb25mb3JtYW5jZS9nbHNsL21pc2MvZnJhZ2NvbG9yLWZyYWdkYXRhLWludmFyaWFudC5odG1s
CisKKyAgICAgICAgKiBBTkdMRS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IHNyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC5jcHA6CisgICAg
ICAgIChzaDo6VHJhbnNsYXRvck1ldGFsRGlyZWN0Ojp0cmFuc2xhdGVJbXBsKToKKyAgICAgICAg
KiBzcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRGlzY292ZXJE
ZXBlbmRlbnRGdW5jdGlvbnMuY3BwOgorICAgICAgICAqIHNyYy9jb21waWxlci90cmFuc2xhdG9y
L1RyYW5zbGF0b3JNZXRhbERpcmVjdC9FbWl0TWV0YWwuY3BwOgorICAgICAgICAoR2VuTWV0YWxU
cmF2ZXJzZXI6Okdlbk1ldGFsVHJhdmVyc2VyKToKKyAgICAgICAgKEdlbk1ldGFsVHJhdmVyc2Vy
OjplbWl0UG9zdFF1YWxpZmllcik6CisgICAgICAgIChHZW5NZXRhbFRyYXZlcnNlcjo6dmlzaXRH
bG9iYWxRdWFsaWZpZXJEZWNsYXJhdGlvbik6CisgICAgICAgIChzaDo6RW1pdE1ldGFsKToKKyAg
ICAgICAgKiBzcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1p
dE1ldGFsLmg6CisgICAgICAgICogc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1l
dGFsRGlyZWN0L1Jld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5jcHA6IFJlbW92ZWQuCisgICAg
ICAgICogc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Jld3Jp
dGVHbG9iYWxRdWFsaWZpZXJEZWNscy5oOiBSZW1vdmVkLgorICAgICAgICAqIHNyYy9jb21waWxl
ci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9SZXdyaXRlUGlwZWxpbmVzLmNwcDoK
KyAgICAgICAgKHNoOjpJc1ZhcmlhYmxlSW52YXJpYW50KToKKyAgICAgICAgKHNoOjpHZW5lcmF0
ZVBpcGVsaW5lU3RydWN0OjpFeGVjKToKKyAgICAgICAgKHNoOjpHZW5lcmF0ZVBpcGVsaW5lU3Ry
dWN0OjpHZW5lcmF0ZVBpcGVsaW5lU3RydWN0KToKKyAgICAgICAgKHNoOjpHZW5lcmF0ZVBpcGVs
aW5lU3RydWN0OjpjcmVhdGVJbnRlcm5hbFBpcGVsaW5lU3RydWN0KToKKyAgICAgICAgKHNoOjpV
cGRhdGVQaXBlbGluZVN5bWJvbHMpOgorICAgICAgICAoc2g6OlJld3JpdGVQaXBlbGluZSk6Cisg
ICAgICAgIChzaDo6UmV3cml0ZVBpcGVsaW5lcyk6CisgICAgICAgICogc3JjL2NvbXBpbGVyL3Ry
YW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Jld3JpdGVQaXBlbGluZXMuaDoKKyAgICAg
ICAgKiBzcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvU2VwYXJh
dGVDb21wb3VuZEV4cHJlc3Npb25zLmNwcDoKKwogMjAyMS0wOC0yNSAgS2ltbW8gS2lubnVuZW4g
IDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIEFOR0xFIHNoYWRlcl90cmFu
c2xhdG9yIHRvIGVuYWJsZSBNU0wgc2hhZGVyIG91dHB1dCBkZWJ1Z2dpbmcgYW5kIHRlc3RpbmcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGZhYjFlN2EzMjcxNjcwMmE4YmI3ZWQyYTAwZTA2OGI2OGMxOWE5
ZTIuLmEyNmI1OGM4ZmM5YzRmNDk4MjE0ZTU0Mjc1YTg5YThkN2M1NjFhNmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTQ2LDcgKzE0Niw2IEBACiAJCTdCMTk1QTQyMjZDNjg4RTQwMEMwOTMyMiAvKiBI
b2lzdENvbnN0YW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkY4MUZGNEMyNTgxOTE5NzAwODk0RTI0IC8qIEhvaXN0Q29uc3RhbnRzLmggKi87IH07
CiAJCTdCMTk1QTQzMjZDNjg4RTQwMEMwOTMyMiAvKiBEaXNjb3ZlckVuY2xvc2luZ0Z1bmN0aW9u
VHJhdmVyc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZGODFGRjQxMjU4MTkxOTcwMDg5NEUyNCAvKiBEaXNjb3ZlckVuY2xvc2luZ0Z1bmN0aW9u
VHJhdmVyc2VyLmNwcCAqLzsgfTsKIAkJN0IxOTVBNDQyNkM2ODhFNDAwQzA5MzIyIC8qIEVudmly
b25tZW50VmFyaWFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZGODFGRjI4MjU4MTkxOTcwMDg5NEUyNCAvKiBFbnZpcm9ubWVudFZhcmlhYmxlLmgg
Ki87IH07Ci0JCTdCMTk1QTQ1MjZDNjg4RTQwMEMwOTMyMiAvKiBSZXdyaXRlR2xvYmFsUXVhbGlm
aWVyRGVjbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkY4MUZGNDUyNTgxOTE5NzAwODk0RTI0IC8qIFJld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNs
cy5jcHAgKi87IH07CiAJCTdCMTk1QTQ2MjZDNjg4RTQwMEMwOTMyMiAvKiBEZWJ1Z1NpbmsuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRjJCMjU4
MTkxOTcwMDg5NEUyNCAvKiBEZWJ1Z1NpbmsuaCAqLzsgfTsKIAkJN0IxOTVBNDcyNkM2ODhFNDAw
QzA5MzIyIC8qIFN5bWJvbEVudi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGRjgxRkYzMDI1ODE5MTk3MDA4OTRFMjQgLyogU3ltYm9sRW52LmNwcCAq
LzsgfTsKIAkJN0IxOTVBNDgyNkM2ODhFNDAwQzA5MzIyIC8qIE5hbWVFbWJlZGRlZFVuaWZvcm1T
dHJ1Y3RzTWV0YWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZGQTBDMkM2MjVDQjZBNzcwMDEwNTMwNiAvKiBOYW1lRW1iZWRkZWRVbmlmb3JtU3RydWN0
c01ldGFsLmggKi87IH07CkBAIC0xODUsNyArMTg0LDYgQEAKIAkJN0IxOTVBNjkyNkM2ODhFNDAw
QzA5MzIyIC8qIFJld3JpdGVVbmFkZHJlc3NhYmxlUmVmZXJlbmNlcy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjgxRkY0NjI1ODE5MTk3MDA4OTRF
MjQgLyogUmV3cml0ZVVuYWRkcmVzc2FibGVSZWZlcmVuY2VzLmNwcCAqLzsgfTsKIAkJN0IxOTVB
NkEyNkM2ODhFNDAwQzA5MzIyIC8qIEVtaXRNZXRhbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjgxRkYyRDI1ODE5MTk3MDA4OTRFMjQgLyogRW1p
dE1ldGFsLmNwcCAqLzsgfTsKIAkJN0IxOTVBNkIyNkM2ODhFNDAwQzA5MzIyIC8qIERpc2NvdmVy
RGVwZW5kZW50RnVuY3Rpb25zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEZGODFGRjI5MjU4MTkxOTcwMDg5NEUyNCAvKiBEaXNjb3ZlckRlcGVuZGVu
dEZ1bmN0aW9ucy5jcHAgKi87IH07Ci0JCTdCMTk1QTZDMjZDNjg4RTQwMEMwOTMyMiAvKiBSZXdy
aXRlR2xvYmFsUXVhbGlmaWVyRGVjbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZGODFGRjQzMjU4MTkxOTcwMDg5NEUyNCAvKiBSZXdyaXRlR2xvYmFs
UXVhbGlmaWVyRGVjbHMuaCAqLzsgfTsKIAkJN0IxOTVBNkQyNkM2ODhFNDAwQzA5MzIyIC8qIENv
bnN0YW50TmFtZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZGODFGRjRFMjU4MTkxOTcwMDg5NEUyNCAvKiBDb25zdGFudE5hbWVzLmggKi87IH07CiAJ
CTdCMTk1QTZFMjZDNjg4RTQwMEMwOTMyMiAvKiBXcmFwTWFpbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZGNTMyNTgxOTE5NzAwODk0RTI0IC8q
IFdyYXBNYWluLmggKi87IH07CiAJCTdCMTk1QTZGMjZDNjg4RTQwMEMwOTMyMiAvKiBSZWR1Y2VJ
bnRlcmZhY2VCbG9ja3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkY4MUZGM0QyNTgxOTE5NzAwODk0RTI0IC8qIFJlZHVjZUludGVyZmFjZUJsb2Nr
cy5jcHAgKi87IH07CkBAIC05NTQsNyArOTUyLDYgQEAKIAkJN0I3QzY5MTgyNkNBNEVGNjAwQjMx
REE5IC8qIERpc2NvdmVyRW5jbG9zaW5nRnVuY3Rpb25UcmF2ZXJzZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRjJBMjU4MTkxOTcwMDg5NEUy
NCAvKiBEaXNjb3ZlckVuY2xvc2luZ0Z1bmN0aW9uVHJhdmVyc2VyLmggKi87IH07CiAJCTdCN0M2
OTE5MjZDQTRFRjYwMEIzMURBOSAvKiBFbWl0TWV0YWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZGMkQyNTgxOTE5NzAwODk0RTI0IC8qIEVt
aXRNZXRhbC5jcHAgKi87IH07CiAJCTdCN0M2OTFBMjZDQTRFRjYwMEIzMURBOSAvKiBFbWl0TWV0
YWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFG
RjUyMjU4MTkxOTcwMDg5NEUyNCAvKiBFbWl0TWV0YWwuaCAqLzsgfTsKLQkJN0I3QzY5MUIyNkNB
NEVGNjAwQjMxREE5IC8qIFJld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZGNDMyNTgxOTE5NzAwODk0
RTI0IC8qIFJld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5oICovOyB9OwogCQk3QjdDNjkxQzI2
Q0E0RUY2MDBCMzFEQTkgLyogUmV3cml0ZUtleXdvcmRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjgxRkYzMTI1ODE5MTk3MDA4OTRFMjQgLyogUmV3
cml0ZUtleXdvcmRzLmggKi87IH07CiAJCTdCN0M2OTFEMjZDQTRFRjYwMEIzMURBOSAvKiBNYXBG
dW5jdGlvbnNUb0RlZmluaXRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGRjgxRkYzNDI1ODE5MTk3MDA4OTRFMjQgLyogTWFwRnVuY3Rpb25zVG9E
ZWZpbml0aW9ucy5oICovOyB9OwogCQk3QjdDNjkxRTI2Q0E0RUY2MDBCMzFEQTkgLyogUGlwZWxp
bmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4
MUZGMzcyNTgxOTE5NzAwODk0RTI0IC8qIFBpcGVsaW5lLmNwcCAqLzsgfTsKQEAgLTk2OCw3ICs5
NjUsNiBAQAogCQk3QjdDNjkyNjI2Q0E0RUY2MDBCMzFEQTkgLyogSW50cm9kdWNlVmVydGV4SW5k
ZXhJRC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
RjMzMjg0NzI1RjZDQUI5MDA1RkRGQzQgLyogSW50cm9kdWNlVmVydGV4SW5kZXhJRC5jcHAgKi87
IH07CiAJCTdCN0M2OTI3MjZDQTRFRjYwMEIzMURBOSAvKiBEaXNjb3ZlckRlcGVuZGVudEZ1bmN0
aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4
MUZGMjIyNTgxOTE5NzAwODk0RTI0IC8qIERpc2NvdmVyRGVwZW5kZW50RnVuY3Rpb25zLmggKi87
IH07CiAJCTdCN0M2OTI4MjZDQTRFRjYwMEIzMURBOSAvKiBSZXdyaXRlT3V0QXJncy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRjgxRkYzNjI1ODE5
MTk3MDA4OTRFMjQgLyogUmV3cml0ZU91dEFyZ3MuY3BwICovOyB9OwotCQk3QjdDNjkyOTI2Q0E0
RUY2MDBCMzFEQTkgLyogUmV3cml0ZUdsb2JhbFF1YWxpZmllckRlY2xzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRjQ1MjU4MTkxOTcwMDg5
NEUyNCAvKiBSZXdyaXRlR2xvYmFsUXVhbGlmaWVyRGVjbHMuY3BwICovOyB9OwogCQk3QjdDNjky
QTI2Q0E0RUY2MDBCMzFEQTkgLyogUHJvZ3JhbVByZWx1ZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZGNTAyNTgxOTE5NzAwODk0RTI0IC8q
IFByb2dyYW1QcmVsdWRlLmNwcCAqLzsgfTsKIAkJN0I3QzY5MkIyNkNBNEVGNjAwQjMxREE5IC8q
IE1hcEZ1bmN0aW9uc1RvRGVmaW5pdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZGNUEyNTgxOTE5NzAwODk0RTI0IC8qIE1hcEZ1bmN0
aW9uc1RvRGVmaW5pdGlvbnMuY3BwICovOyB9OwogCQk3QjdDNjkyQzI2Q0E0RUY2MDBCMzFEQTkg
LyogU3ltYm9sRW52LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZGODFGRjMwMjU4MTkxOTcwMDg5NEUyNCAvKiBTeW1ib2xFbnYuY3BwICovOyB9OwpA
QCAtMjU5NCw5ICsyNTkwLDcgQEAKIAkJRkY4MUZGNDAyNTgxOTE5NzAwODk0RTI0IC8qIExheW91
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkY4MUZGNDEyNTgxOTE5NzAwODk0RTI0IC8qIERpc2NvdmVy
RW5jbG9zaW5nRnVuY3Rpb25UcmF2ZXJzZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRGlzY292ZXJFbmNsb3NpbmdGdW5jdGlvblRyYXZlcnNlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZGODFGRjQyMjU4MTkxOTcwMDg5NEUyNCAvKiBQcm9n
cmFtUHJlbHVkZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm9ncmFtUHJl
bHVkZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGRjgxRkY0MzI1ODE5MTk3MDA4
OTRFMjQgLyogUmV3cml0ZUdsb2JhbFF1YWxpZmllckRlY2xzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGRjgxRkY0NDI1ODE5MTk3MDA4OTRFMjQgLyogU3ltYm9sRW52
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5bWJvbEVudi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlGRjgxRkY0NTI1ODE5MTk3MDA4OTRFMjQgLyogUmV3cml0
ZUdsb2JhbFF1YWxpZmllckRlY2xzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFJld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUZGODFGRjQ2MjU4MTkxOTcwMDg5NEUyNCAvKiBSZXdyaXRlVW5hZGRyZXNz
YWJsZVJlZmVyZW5jZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UmV3cml0ZVVuYWRkcmVzc2FibGVSZWZlcmVuY2VzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkY4MUZGNDcyNTgxOTE5NzAwODk0RTI0IC8qIEFzdEhlbHBlcnMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXN0SGVscGVycy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGRjgxRkY0ODI1ODE5MTk3MDA4OTRFMjQgLyogSG9pc3RDb25zdGFudHMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSG9pc3RDb25zdGFudHMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzk2NCw4ICszOTU4LDYgQEAKIAkJ
CQlGRjgxRkY0QjI1ODE5MTk3MDA4OTRFMjQgLyogUmVmZXJlbmNlLmggKi8sCiAJCQkJRkY4MUZG
NTgyNTgxOTE5NzAwODk0RTI0IC8qIFJld3JpdGVDYXNlRGVjbGFyYXRpb25zLmNwcCAqLywKIAkJ
CQlGRjgxRkY1OTI1ODE5MTk3MDA4OTRFMjQgLyogUmV3cml0ZUNhc2VEZWNsYXJhdGlvbnMuaCAq
LywKLQkJCQlGRjgxRkY0NTI1ODE5MTk3MDA4OTRFMjQgLyogUmV3cml0ZUdsb2JhbFF1YWxpZmll
ckRlY2xzLmNwcCAqLywKLQkJCQlGRjgxRkY0MzI1ODE5MTk3MDA4OTRFMjQgLyogUmV3cml0ZUds
b2JhbFF1YWxpZmllckRlY2xzLmggKi8sCiAJCQkJRkY4MUZGNEYyNTgxOTE5NzAwODk0RTI0IC8q
IFJld3JpdGVLZXl3b3Jkcy5jcHAgKi8sCiAJCQkJRkY4MUZGMzEyNTgxOTE5NzAwODk0RTI0IC8q
IFJld3JpdGVLZXl3b3Jkcy5oICovLAogCQkJCUZGODFGRjM2MjU4MTkxOTcwMDg5NEUyNCAvKiBS
ZXdyaXRlT3V0QXJncy5jcHAgKi8sCkBAIC00MzEyLDcgKzQzMDQsNiBAQAogCQkJCTdCN0M2OTZE
MjZDQTRGMzYwMEIzMURBOSAvKiBSZXdyaXRlRGZkeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0I3
QzY5NkEyNkNBNEYzNjAwQjMxREE5IC8qIFJld3JpdGVEb1doaWxlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk3QjdDNjk3NjI2Q0E0RjQ3MDBCMzFEQTkgLyogUmV3cml0ZUV4cHJlc3Npb25zV2l0aFNo
YWRlclN0b3JhZ2VCbG9jay5oIGluIEhlYWRlcnMgKi8sCi0JCQkJN0I3QzY5MUIyNkNBNEVGNjAw
QjMxREE5IC8qIFJld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJN0I3QzY5ODEyNkNBNEY0ODAwQjMxREE5IC8qIFJld3JpdGVJbnRlcnBvbGF0ZUF0T2Zmc2V0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QjdDNjkxQzI2Q0E0RUY2MDBCMzFEQTkgLyogUmV3cml0
ZUtleXdvcmRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QjdDNjkxNzI2Q0E0RUY2MDBCMzFEQTkg
LyogUmV3cml0ZU91dEFyZ3MuaCBpbiBIZWFkZXJzICovLApAQCAtNDc0MSw3ICs0NzMyLDYgQEAK
IAkJCQk3QjE5NUFCNzI2QzY4OTQ5MDBDMDkzMjIgLyogUmV3cml0ZURmZHkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTdCMTk1QUI0MjZDNjg5NDkwMEMwOTMyMiAvKiBSZXdyaXRlRG9XaGlsZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJN0IxOTVBQzAyNkM2ODk1QzAwQzA5MzIyIC8qIFJld3JpdGVFeHBy
ZXNzaW9uc1dpdGhTaGFkZXJTdG9yYWdlQmxvY2suaCBpbiBIZWFkZXJzICovLAotCQkJCTdCMTk1
QTZDMjZDNjg4RTQwMEMwOTMyMiAvKiBSZXdyaXRlR2xvYmFsUXVhbGlmaWVyRGVjbHMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTdCMTk1QUM5MjZDNjg5NUMwMEMwOTMyMiAvKiBSZXdyaXRlSW50ZXJw
b2xhdGVBdE9mZnNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0IxOTVBNTMyNkM2ODhFNDAwQzA5
MzIyIC8qIFJld3JpdGVLZXl3b3Jkcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0IxOTVBNjMyNkM2
ODhFNDAwQzA5MzIyIC8qIFJld3JpdGVPdXRBcmdzLmggaW4gSGVhZGVycyAqLywKQEAgLTUzMDAs
NyArNTI5MCw2IEBACiAJCQkJN0I3QzY5NkIyNkNBNEYzNjAwQjMxREE5IC8qIFJld3JpdGVEZmR5
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdCN0M2OTZDMjZDQTRGMzYwMEIzMURBOSAvKiBSZXdy
aXRlRG9XaGlsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QjdDNjk4MDI2Q0E0RjQ4MDBCMzFE
QTkgLyogUmV3cml0ZUV4cHJlc3Npb25zV2l0aFNoYWRlclN0b3JhZ2VCbG9jay5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQk3QjdDNjkyOTI2Q0E0RUY2MDBCMzFEQTkgLyogUmV3cml0ZUdsb2JhbFF1
YWxpZmllckRlY2xzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdCN0M2OTc5MjZDQTRGNDgwMEIz
MURBOSAvKiBSZXdyaXRlSW50ZXJwb2xhdGVBdE9mZnNldC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk3QjdDNjkwMzI2Q0E0RUY2MDBCMzFEQTkgLyogUmV3cml0ZUtleXdvcmRzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTdCN0M2OTI4MjZDQTRFRjYwMEIzMURBOSAvKiBSZXdyaXRlT3V0QXJncy5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTU2NjYsNyArNTY1NSw2IEBACiAJCQkJN0IxOTVBQjYyNkM2
ODk0OTAwQzA5MzIyIC8qIFJld3JpdGVEZmR5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdCMTk1
QUI4MjZDNjg5NDkwMEMwOTMyMiAvKiBSZXdyaXRlRG9XaGlsZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk3QjE5NUFCRjI2QzY4OTVDMDBDMDkzMjIgLyogUmV3cml0ZUV4cHJlc3Npb25zV2l0aFNo
YWRlclN0b3JhZ2VCbG9jay5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk3QjE5NUE0NTI2QzY4OEU0
MDBDMDkzMjIgLyogUmV3cml0ZUdsb2JhbFF1YWxpZmllckRlY2xzLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTdCMTk1QUM4MjZDNjg5NUMwMEMwOTMyMiAvKiBSZXdyaXRlSW50ZXJwb2xhdGVBdE9m
ZnNldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QjE5NUE3ODI2QzY4OEU0MDBDMDkzMjIgLyog
UmV3cml0ZUtleXdvcmRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdCMTk1QTREMjZDNjg4RTQw
MEMwOTMyMiAvKiBSZXdyaXRlT3V0QXJncy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0
b3JNZXRhbERpcmVjdC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIv
dHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QuY3BwCmluZGV4IDU1ZDQ3MjU1MDYzOTQ2
ODUzMjQwZmU4NGM5YWYzNTFjNTFmZThjZDMuLjJkODYyMjJiYjNkODlhNTVkYzNmMjI3MDVmYWRj
ZjgwZTMyOGI5MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21w
aWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC5jcHAKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGly
ZWN0LmNwcApAQCAtMjAsNyArMjAsNiBAQAogI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3Iv
VHJhbnNsYXRvck1ldGFsRGlyZWN0L05hbWUuaCIKICNpbmNsdWRlICJjb21waWxlci90cmFuc2xh
dG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9SZWR1Y2VJbnRlcmZhY2VCbG9ja3MuaCIKICNpbmNs
dWRlICJjb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9SZXdyaXRlQ2Fz
ZURlY2xhcmF0aW9ucy5oIgotI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRv
ck1ldGFsRGlyZWN0L1Jld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5oIgogI2luY2x1ZGUgImNv
bXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Jld3JpdGVLZXl3b3Jkcy5o
IgogI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Jl
d3JpdGVPdXRBcmdzLmgiCiAjaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9y
TWV0YWxEaXJlY3QvUmV3cml0ZVBpcGVsaW5lcy5oIgpAQCAtMTQwMiwxMSArMTQwMSw2IEBAIGJv
b2wgVHJhbnNsYXRvck1ldGFsRGlyZWN0Ojp0cmFuc2xhdGVJbXBsKFRJbnRlcm1CbG9jayAmcm9v
dCwgU2hDb21waWxlT3B0aW9ucyBjCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAg
ICBJbnZhcmlhbnRzIGludmFyaWFudHM7Ci0gICAgaWYgKCFSZXdyaXRlR2xvYmFsUXVhbGlmaWVy
RGVjbHMoKnRoaXMsIHJvb3QsIGludmFyaWFudHMpKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIH0KICAgICBjb25zdCBib29sIG5lZWRzRXhwbGljaXRCb29sQ2FzdHMgPSAoY29t
cGlsZU9wdGlvbnMgJiBTSF9BRERfRVhQTElDSVRfQk9PTF9DQVNUUykgIT0gMDsKICAgICBpZiAo
IUFkZEV4cGxpY2l0VHlwZUNhc3RzKCp0aGlzLCByb290LCBzeW1ib2xFbnYsIG5lZWRzRXhwbGlj
aXRCb29sQ2FzdHMpKQogICAgIHsKQEAgLTE0MTQsOCArMTQwOCw4IEBAIGJvb2wgVHJhbnNsYXRv
ck1ldGFsRGlyZWN0Ojp0cmFuc2xhdGVJbXBsKFRJbnRlcm1CbG9jayAmcm9vdCwgU2hDb21waWxl
T3B0aW9ucyBjCiAgICAgfQogCiAgICAgUGlwZWxpbmVTdHJ1Y3RzIHBpcGVsaW5lU3RydWN0czsK
LSAgICBpZiAoIVJld3JpdGVQaXBlbGluZXMoKnRoaXMsIHJvb3QsIGlkR2VuLCBkcml2ZXJVbmlm
b3Jtcywgc3ltYm9sRW52LCBpbnZhcmlhbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICBw
aXBlbGluZVN0cnVjdHMpKQorICAgIGlmICghUmV3cml0ZVBpcGVsaW5lcygqdGhpcywgcm9vdCwg
Z2V0SW5wdXRWYXJ5aW5ncygpLCBnZXRPdXRwdXRWYXJ5aW5ncygpLCBpZEdlbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgZHJpdmVyVW5pZm9ybXMsIHN5bWJvbEVudiwgcGlwZWxpbmVTdHJ1
Y3RzKSkKICAgICB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC0xNDUzLDcgKzE0
NDcsNyBAQCBib29sIFRyYW5zbGF0b3JNZXRhbERpcmVjdDo6dHJhbnNsYXRlSW1wbChUSW50ZXJt
QmxvY2sgJnJvb3QsIFNoQ29tcGlsZU9wdGlvbnMgYwogICAgIHsKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIH0KLSAgICBpZiAoIUVtaXRNZXRhbCgqdGhpcywgcm9vdCwgaWRHZW4sIHBpcGVs
aW5lU3RydWN0cywgaW52YXJpYW50cywgc3ltYm9sRW52LCBwcGMpKQorICAgIGlmICghRW1pdE1l
dGFsKCp0aGlzLCByb290LCBpZEdlbiwgcGlwZWxpbmVTdHJ1Y3RzLCBzeW1ib2xFbnYsIHBwYykp
CiAgICAgewogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFs
RGlyZWN0L0Rpc2NvdmVyRGVwZW5kZW50RnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9EaXNj
b3ZlckRlcGVuZGVudEZ1bmN0aW9ucy5jcHAKaW5kZXggNDJkZjQzMGUxYWI0MWUxYjE3ZTI0ZDdk
NjIxYmY1NWMxMmViOWQxYy4uZTE0MDkxZDI5ODUyNTZkMjdmNjBiMjA2N2I5NzE4ZTQwNmExYjBh
NSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L0Rpc2NvdmVyRGVwZW5kZW50RnVuY3Rpb25zLmNw
cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9U
cmFuc2xhdG9yTWV0YWxEaXJlY3QvRGlzY292ZXJEZXBlbmRlbnRGdW5jdGlvbnMuY3BwCkBAIC00
Myw4ICs0MywxMCBAQCBjbGFzcyBEaXNjb3ZlcmVyIDogcHVibGljIERpc2NvdmVyRW5jbG9zaW5n
RnVuY3Rpb25UcmF2ZXJzZXIKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAg
ICBjb25zdCBURnVuY3Rpb24gKm93bmVyID0gZGlzY292ZXJFbmNsb3NpbmdGdW5jdGlvbihzeW1i
b2xOb2RlKTsKLSAgICAgICAgQVNTRVJUKG93bmVyKTsKLSAgICAgICAgbURlcEZ1bmN0aW9ucy5p
bnNlcnQob3duZXIpOworICAgICAgICBpZiAob3duZXIpCisgICAgICAgIHsKKyAgICAgICAgICAg
IG1EZXBGdW5jdGlvbnMuaW5zZXJ0KG93bmVyKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGJv
b2wgdmlzaXRBZ2dyZWdhdGUoVmlzaXQgdmlzaXQsIFRJbnRlcm1BZ2dyZWdhdGUgKmFnZ3JlZ2F0
ZU5vZGUpIG92ZXJyaWRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
Y29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1pdE1ldGFsLmNwcCBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0
b3JNZXRhbERpcmVjdC9FbWl0TWV0YWwuY3BwCmluZGV4IGNhNmRhMDM2NDJiOWY2ZWIyMjFiMTgx
MWRjZjZkNWU2N2U4N2M1NTMuLjMxYTI4MjA2MDE1ODA1ZDVmODRhMDdiNGU5NTEzZTAwYTUwNzU0
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFu
c2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9FbWl0TWV0YWwuY3BwCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERp
cmVjdC9FbWl0TWV0YWwuY3BwCkBAIC04NCw3ICs4NCw2IEBAIGNsYXNzIEdlbk1ldGFsVHJhdmVy
c2VyIDogcHVibGljIFRJbnRlcm1UcmF2ZXJzZXIKICAgICAgICAgICAgICAgICAgICAgICBTaW5r
ICZvdXQsCiAgICAgICAgICAgICAgICAgICAgICAgSWRHZW4gJmlkR2VuLAogICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFBpcGVsaW5lU3RydWN0cyAmcGlwZWxpbmVTdHJ1Y3RzLAotICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IEludmFyaWFudHMgJmludmFyaWFudHMsCiAgICAgICAgICAg
ICAgICAgICAgICAgU3ltYm9sRW52ICZzeW1ib2xFbnYpOwogCiAgICAgdm9pZCB2aXNpdFN5bWJv
bChUSW50ZXJtU3ltYm9sICopIG92ZXJyaWRlOwpAQCAtMTgzLDcgKzE4Miw2IEBAIGNsYXNzIEdl
bk1ldGFsVHJhdmVyc2VyIDogcHVibGljIFRJbnRlcm1UcmF2ZXJzZXIKICAgICBTaW5rICZtT3V0
OwogICAgIGNvbnN0IFRDb21waWxlciAmbUNvbXBpbGVyOwogICAgIGNvbnN0IFBpcGVsaW5lU3Ry
dWN0cyAmbVBpcGVsaW5lU3RydWN0czsKLSAgICBjb25zdCBJbnZhcmlhbnRzICZtSW52YXJpYW50
czsKICAgICBTeW1ib2xFbnYgJm1TeW1ib2xFbnY7CiAgICAgSWRHZW4gJm1JZEdlbjsKICAgICBp
bnQgbUluZGVudExldmVsICAgICAgICAgICA9IC0xOwpAQCAtMjEyLDEzICsyMTAsMTEgQEAgR2Vu
TWV0YWxUcmF2ZXJzZXI6Okdlbk1ldGFsVHJhdmVyc2VyKGNvbnN0IFRDb21waWxlciAmY29tcGls
ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2luayAmb3V0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElkR2VuICZpZEdlbiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQaXBlbGluZVN0cnVjdHMgJnBpcGVs
aW5lU3RydWN0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJ
bnZhcmlhbnRzICZpbnZhcmlhbnRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFN5bWJvbEVudiAmc3ltYm9sRW52KQogICAgIDogVEludGVybVRyYXZlcnNlcih0cnVlLCBm
YWxzZSwgZmFsc2UpLAogICAgICAgbU91dChvdXQpLAogICAgICAgbUNvbXBpbGVyKGNvbXBpbGVy
KSwKICAgICAgIG1QaXBlbGluZVN0cnVjdHMocGlwZWxpbmVTdHJ1Y3RzKSwKLSAgICAgIG1JbnZh
cmlhbnRzKGludmFyaWFudHMpLAogICAgICAgbVN5bWJvbEVudihzeW1ib2xFbnYpLAogICAgICAg
bUlkR2VuKGlkR2VuKQoge30KQEAgLTkzNyw5ICs5MzMsMTIgQEAgdm9pZCBHZW5NZXRhbFRyYXZl
cnNlcjo6ZW1pdFBvc3RRdWFsaWZpZXIoY29uc3QgRW1pdFZhcmlhYmxlRGVjbGFyYXRpb25Db25m
aWcgJmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFZh
ckRlY2wgJmRlY2wsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBUUXVhbGlmaWVyIHF1YWxpZmllcikKIHsKKyAgICBib29sIGlzSW52YXJpYW50ID0gZmFs
c2U7CiAgICAgc3dpdGNoIChxdWFsaWZpZXIpCiAgICAgewogICAgICAgICBjYXNlIFRRdWFsaWZp
ZXI6OkV2cVBvc2l0aW9uOgorICAgICAgICAgICAgaXNJbnZhcmlhbnQgPSBkZWNsLnR5cGUoKS5p
c0ludmFyaWFudCgpOworICAgICAgICAgICAgLy8gRmFsbHRocm91Z2guCiAgICAgICAgIGNhc2Ug
VFF1YWxpZmllcjo6RXZxRnJhZ0Nvb3JkOgogICAgICAgICAgICAgbU91dCA8PCAiIFtbcG9zaXRp
b25dXSI7CiAgICAgICAgICAgICBicmVhazsKQEAgLTk3Myw5ICs5NzIsNiBAQCB2b2lkIEdlbk1l
dGFsVHJhdmVyc2VyOjplbWl0UG9zdFF1YWxpZmllcihjb25zdCBFbWl0VmFyaWFibGVEZWNsYXJh
dGlvbkNvbmZpZyAmZQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgY29uc3QgYm9v
bCBpc0ludmFyaWFudCA9Ci0gICAgKGRlY2wuaXNGaWVsZCgpID8gbUludmFyaWFudHMuY29udGFp
bnMoZGVjbC5maWVsZCgpKSA6IG1JbnZhcmlhbnRzLmNvbnRhaW5zKGRlY2wudmFyaWFibGUoKSkp
ICYmIChxdWFsaWZpZXIgPT0gVFF1YWxpZmllcjo6RXZxUG9zaXRpb24gfHwgcXVhbGlmaWVyID09
IFRRdWFsaWZpZXI6OkV2cUZyYWdDb29yZCk7Ci0KICAgICBpZiAoaXNJbnZhcmlhbnQpCiAgICAg
ewogICAgICAgICBtT3V0IDw8ICIgW1tpbnZhcmlhbnRdXSI7CkBAIC0yMzc4LDcgKzIzNzQsNiBA
QCBib29sIEdlbk1ldGFsVHJhdmVyc2VyOjp2aXNpdEJsb2NrKFZpc2l0LCBUSW50ZXJtQmxvY2sg
KmJsb2NrTm9kZSkKIAogYm9vbCBHZW5NZXRhbFRyYXZlcnNlcjo6dmlzaXRHbG9iYWxRdWFsaWZp
ZXJEZWNsYXJhdGlvbihWaXNpdCwgVEludGVybUdsb2JhbFF1YWxpZmllckRlY2xhcmF0aW9uICop
CiB7Ci0gICAgTE9HSUNfRVJST1IoKTsgIC8vIFJld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscyBz
aG91bGQgaGF2ZSBiZWVuIGNhbGxlZCBiZWZvcmUgdGhpcy4KICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKQEAgLTI2MDQsNyArMjU5OSw2IEBAIGJvb2wgc2g6OkVtaXRNZXRhbChUQ29tcGlsZXIgJmNv
bXBpbGVyLAogICAgICAgICAgICAgICAgICAgIFRJbnRlcm1CbG9jayAmcm9vdCwKICAgICAgICAg
ICAgICAgICAgICBJZEdlbiAmaWRHZW4sCiAgICAgICAgICAgICAgICAgICAgY29uc3QgUGlwZWxp
bmVTdHJ1Y3RzICZwaXBlbGluZVN0cnVjdHMsCi0gICAgICAgICAgICAgICAgICAgY29uc3QgSW52
YXJpYW50cyAmaW52YXJpYW50cywKICAgICAgICAgICAgICAgICAgICBTeW1ib2xFbnYgJnN5bWJv
bEVudiwKICAgICAgICAgICAgICAgICAgICBjb25zdCBQcm9ncmFtUHJlbHVkZUNvbmZpZyAmcHBj
KQogewpAQCAtMjY2Myw3ICsyNjU3LDcgQEAgYm9vbCBzaDo6RW1pdE1ldGFsKFRDb21waWxlciAm
Y29tcGlsZXIsCiAjZWxzZQogICAgICAgICBUSW5mb1NpbmtCYXNlICZvdXRXcmFwcGVyID0gb3V0
OwogI2VuZGlmCi0gICAgICAgIEdlbk1ldGFsVHJhdmVyc2VyIGdlbihjb21waWxlciwgb3V0V3Jh
cHBlciwgaWRHZW4sIHBpcGVsaW5lU3RydWN0cywgaW52YXJpYW50cywgc3ltYm9sRW52KTsKKyAg
ICAgICAgR2VuTWV0YWxUcmF2ZXJzZXIgZ2VuKGNvbXBpbGVyLCBvdXRXcmFwcGVyLCBpZEdlbiwg
cGlwZWxpbmVTdHJ1Y3RzLCBzeW1ib2xFbnYpOwogICAgICAgICByb290LnRyYXZlcnNlKCZnZW4p
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBp
bGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L0VtaXRNZXRhbC5oIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFs
RGlyZWN0L0VtaXRNZXRhbC5oCmluZGV4IGQ0OGFmOWExYzg3ZDU3M2NhYjUyNzI3NWI0ZDIzMmNj
ZjI0YTQxZjMuLmMzNjhiYTU4ZWQyMDlkM2Q1NDZlZjU5NjdkZGFhNzM3MTQ0MTBlOWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1Ry
YW5zbGF0b3JNZXRhbERpcmVjdC9FbWl0TWV0YWwuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1pdE1l
dGFsLmgKQEAgLTExLDcgKzExLDYgQEAKICNpbmNsdWRlICJjb21waWxlci90cmFuc2xhdG9yL0Nv
bXBpbGVyLmgiCiAjaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxE
aXJlY3QvSWRHZW4uaCIKICNpbmNsdWRlICJjb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JN
ZXRhbERpcmVjdC9Qcm9ncmFtUHJlbHVkZS5oIgotI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0
b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Jld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5oIgog
I2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Jld3Jp
dGVQaXBlbGluZXMuaCIKICNpbmNsdWRlICJjb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JN
ZXRhbERpcmVjdC9TeW1ib2xFbnYuaCIKIApAQCAtMjMsNyArMjIsNiBAQCBBTkdMRV9OT19ESVND
QVJEIGJvb2wgRW1pdE1ldGFsKFRDb21waWxlciAmY29tcGlsZXIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFRJbnRlcm1CbG9jayAmcm9vdCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSWRHZW4gJmlkR2VuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBQaXBlbGluZVN0cnVjdHMgJnBpcGVsaW5lU3RydWN0cywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgSW52YXJpYW50cyAmaW52YXJpYW50cywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgU3ltYm9sRW52ICZzeW1ib2xFbnYsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFByb2dyYW1QcmVsdWRlQ29uZmlnICZwcGMpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNs
YXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvUmV3cml0ZUdsb2JhbFF1YWxpZmllckRlY2xzLmNw
cCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5z
bGF0b3JNZXRhbERpcmVjdC9SZXdyaXRlR2xvYmFsUXVhbGlmaWVyRGVjbHMuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YWQ1YTM2YzgxYjVjNzI0MThhNmE5YmFkMTU1YTNjNDUz
NmI2YmVhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JN
ZXRhbERpcmVjdC9SZXdyaXRlR2xvYmFsUXVhbGlmaWVyRGVjbHMuY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsMTE0ICswLDAgQEAKLS8vCi0vLyBDb3B5cmlnaHQgMjAyMCBUaGUgQU5HTEUgUHJvamVj
dCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8vCi0KLSNpbmNsdWRlICJjb21waWxlci90cmFuc2xh
dG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9SZXdyaXRlR2xvYmFsUXVhbGlmaWVyRGVjbHMuaCIK
LSNpbmNsdWRlICJjb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9EZWJ1
Zy5oIgotI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV91dGlsL0ludGVybVJlYnVp
bGQuaCIKLQotdXNpbmcgbmFtZXNwYWNlIHNoOwotCi1uYW1lc3BhY2UKLXsKLQotY2xhc3MgRmlu
ZERlY2xhcmVkR2xvYmFscyA6IHB1YmxpYyBUSW50ZXJtUmVidWlsZAotewotICBwdWJsaWM6Ci0g
ICAgc3RkOjp1bm9yZGVyZWRfc2V0PGNvbnN0IFRWYXJpYWJsZSAqPiBtRGVjbGFyZWRHbG9iYWxz
OwotCi0gICAgRmluZERlY2xhcmVkR2xvYmFscyhUQ29tcGlsZXIgJmNvbXBpbGVyKSA6IFRJbnRl
cm1SZWJ1aWxkKGNvbXBpbGVyLCB0cnVlLCBmYWxzZSkge30KLQotICAgIFByZVJlc3VsdCB2aXNp
dERlY2xhcmF0aW9uUHJlKFRJbnRlcm1EZWNsYXJhdGlvbiAmZGVjbE5vZGUpIG92ZXJyaWRlCi0g
ICAgewotICAgICAgICBUSW50ZXJtTm9kZSAqZGVjbGFyYXRvck5vZGUgPSBkZWNsTm9kZS5nZXRD
aGlsZE5vZGUoMCk7Ci0gICAgICAgIFRJbnRlcm1TeW1ib2wgKnN5bWJvbE5vZGUgICA9IG51bGxw
dHI7Ci0KLSAgICAgICAgaWYgKFRJbnRlcm1CaW5hcnkgKmluaXROb2RlID0gZGVjbGFyYXRvck5v
ZGUtPmdldEFzQmluYXJ5Tm9kZSgpKQotICAgICAgICB7Ci0gICAgICAgICAgICBzeW1ib2xOb2Rl
ID0gaW5pdE5vZGUtPmdldExlZnQoKS0+Z2V0QXNTeW1ib2xOb2RlKCk7Ci0gICAgICAgIH0KLSAg
ICAgICAgZWxzZQotICAgICAgICB7Ci0gICAgICAgICAgICBzeW1ib2xOb2RlID0gZGVjbGFyYXRv
ck5vZGUtPmdldEFzU3ltYm9sTm9kZSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKHN5
bWJvbE5vZGUpOwotICAgICAgICBjb25zdCBUVmFyaWFibGUgJnZhciA9IHN5bWJvbE5vZGUtPnZh
cmlhYmxlKCk7Ci0KLSAgICAgICAgbURlY2xhcmVkR2xvYmFscy5pbnNlcnQoJnZhcik7Ci0KLSAg
ICAgICAgcmV0dXJuIHtkZWNsTm9kZSwgVmlzaXRCaXRzOjpOZWl0aGVyfTsKLSAgICB9Ci0KLSAg
ICBQcmVSZXN1bHQgdmlzaXRGdW5jdGlvbkRlZmluaXRpb25QcmUoVEludGVybUZ1bmN0aW9uRGVm
aW5pdGlvbiAmbm9kZSkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIHJldHVybiB7bm9kZSwgVmlz
aXRCaXRzOjpOZWl0aGVyfTsKLSAgICB9Ci19OwotCi1jbGFzcyBSZXdyaXRlciA6IHB1YmxpYyBU
SW50ZXJtUmVidWlsZAotewotICAgIGNvbnN0IHN0ZDo6dW5vcmRlcmVkX3NldDxjb25zdCBUVmFy
aWFibGUgKj4gJm1EZWNsYXJlZEdsb2JhbHM7Ci0gICAgSW52YXJpYW50cyAmbU91dEludmFyaWFu
dHM7Ci0KLSAgcHVibGljOgotICAgIFJld3JpdGVyKFRDb21waWxlciAmY29tcGlsZXIsCi0gICAg
ICAgICAgICAgY29uc3Qgc3RkOjp1bm9yZGVyZWRfc2V0PGNvbnN0IFRWYXJpYWJsZSAqPiAmZGVj
bGFyZWRHbG9iYWxzLAotICAgICAgICAgICAgIEludmFyaWFudHMgJm91dEludmFyaWFudHMpCi0g
ICAgICAgIDogVEludGVybVJlYnVpbGQoY29tcGlsZXIsIHRydWUsIGZhbHNlKSwKLSAgICAgICAg
ICBtRGVjbGFyZWRHbG9iYWxzKGRlY2xhcmVkR2xvYmFscyksCi0gICAgICAgICAgbU91dEludmFy
aWFudHMob3V0SW52YXJpYW50cykKLSAgICB7fQotCi0gICAgUHJlUmVzdWx0IHZpc2l0R2xvYmFs
UXVhbGlmaWVyRGVjbGFyYXRpb25QcmUoCi0gICAgICAgIFRJbnRlcm1HbG9iYWxRdWFsaWZpZXJE
ZWNsYXJhdGlvbiAmZ3FEZWNsTm9kZSkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIFRJbnRlcm1T
eW1ib2wgJnN5bWJvbE5vZGUgPSAqZ3FEZWNsTm9kZS5nZXRTeW1ib2woKTsKLSAgICAgICAgY29u
c3QgVFZhcmlhYmxlICZ2YXIgICAgICA9IHN5bWJvbE5vZGUudmFyaWFibGUoKTsKLQotICAgICAg
ICBpZiAoZ3FEZWNsTm9kZS5pc0ludmFyaWFudCgpKQotICAgICAgICB7Ci0gICAgICAgICAgICBt
T3V0SW52YXJpYW50cy5pbnNlcnQodmFyKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChtRGVj
bGFyZWRHbG9iYWxzLmZpbmQoJnZhcikgPT0gbURlY2xhcmVkR2xvYmFscy5lbmQoKSkKLSAgICAg
ICAgewotICAgICAgICAgICAgcmV0dXJuICpuZXcgVEludGVybURlY2xhcmF0aW9ueyZzeW1ib2xO
b2RlfTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0KLSAgICBQ
cmVSZXN1bHQgdmlzaXREZWNsYXJhdGlvblByZShUSW50ZXJtRGVjbGFyYXRpb24gJm5vZGUpIG92
ZXJyaWRlCi0gICAgewotICAgICAgICByZXR1cm4ge25vZGUsIFZpc2l0Qml0czo6TmVpdGhlcn07
Ci0gICAgfQotCi0gICAgUHJlUmVzdWx0IHZpc2l0RnVuY3Rpb25EZWZpbml0aW9uUHJlKFRJbnRl
cm1GdW5jdGlvbkRlZmluaXRpb24gJm5vZGUpIG92ZXJyaWRlCi0gICAgewotICAgICAgICByZXR1
cm4ge25vZGUsIFZpc2l0Qml0czo6TmVpdGhlcn07Ci0gICAgfQotfTsKLQotfSAgLy8gYW5vbnlt
b3VzIG5hbWVzcGFjZQotCi1ib29sIHNoOjpSZXdyaXRlR2xvYmFsUXVhbGlmaWVyRGVjbHMoVENv
bXBpbGVyICZjb21waWxlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU
SW50ZXJtQmxvY2sgJnJvb3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
SW52YXJpYW50cyAmb3V0SW52YXJpYW50cykKLXsKLSAgICBGaW5kRGVjbGFyZWRHbG9iYWxzIGZk
Zyhjb21waWxlcik7Ci0gICAgaWYgKCFmZGcucmVidWlsZFJvb3Qocm9vdCkpCi0gICAgewotICAg
ICAgICBMT0dJQ19FUlJPUigpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAg
UmV3cml0ZXIgcmV3cml0ZXIoY29tcGlsZXIsIGZkZy5tRGVjbGFyZWRHbG9iYWxzLCBvdXRJbnZh
cmlhbnRzKTsKLSAgICBpZiAoIXJld3JpdGVyLnJlYnVpbGRSb290KHJvb3QpKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHJldHVybiB0cnVlOwotfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJh
bnNsYXRvck1ldGFsRGlyZWN0L1Jld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5oIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFs
RGlyZWN0L1Jld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA5MTMxYmNhZmJhNmNmMTdmYTljOThkNTFlZTg1YzM2ZDMwZTdmNDU4Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9S
ZXdyaXRlR2xvYmFsUXVhbGlmaWVyRGVjbHMuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAg
QEAKLS8vCi0vLyBDb3B5cmlnaHQgMjAyMCBUaGUgQU5HTEUgUHJvamVjdCBBdXRob3JzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQg
YnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotLy8gZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KLS8vCi0KLSNpZm5kZWYgQ09NUElMRVJfVFJBTlNMQVRPUl9UUkFOU0xBVE9STUVU
QUxESVJFQ1RfUkVXUklURUdMT0JBTFFVQUxJRklFUkRFQ0xTX0hfCi0jZGVmaW5lIENPTVBJTEVS
X1RSQU5TTEFUT1JfVFJBTlNMQVRPUk1FVEFMRElSRUNUX1JFV1JJVEVHTE9CQUxRVUFMSUZJRVJE
RUNMU19IXwotCi0jaW5jbHVkZSA8dW5vcmRlcmVkX3NldD4KLQotI2luY2x1ZGUgImNvbXBpbGVy
L3RyYW5zbGF0b3IvQ29tcGlsZXIuaCIKLQotbmFtZXNwYWNlIHNoCi17Ci0KLS8vIFRyYWNrcyBU
VmFyaWFibGVzIGFuZCBURmllbGRzIHRoYXQgYXJlIG1hcmtlZCBhcyAiaW52YXJpYW50Ii4KLWNs
YXNzIEludmFyaWFudHMKLXsKLSAgcHVibGljOgotICAgIHZvaWQgaW5zZXJ0KGNvbnN0IFRWYXJp
YWJsZSAmdmFyKSB7IG1JbnZhcmlhbnRzLmluc2VydCgmdmFyKTsgfQotCi0gICAgdm9pZCBpbnNl
cnQoY29uc3QgVEZpZWxkICZmaWVsZCkgeyBtSW52YXJpYW50cy5pbnNlcnQoJmZpZWxkKTsgfQot
Ci0gICAgYm9vbCBjb250YWlucyhjb25zdCBUVmFyaWFibGUgJnZhcikgY29uc3QKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBtSW52YXJpYW50cy5maW5kKCZ2YXIpICE9IG1JbnZhcmlhbnRzLmVuZCgp
OwotICAgIH0KLQotICAgIGJvb2wgY29udGFpbnMoY29uc3QgVEZpZWxkICZmaWVsZCkgY29uc3QK
LSAgICB7Ci0gICAgICAgIHJldHVybiBtSW52YXJpYW50cy5maW5kKCZmaWVsZCkgIT0gbUludmFy
aWFudHMuZW5kKCk7Ci0gICAgfQotCi0gIHByaXZhdGU6Ci0gICAgc3RkOjp1bm9yZGVyZWRfc2V0
PGNvbnN0IHZvaWQgKj4gbUludmFyaWFudHM7Ci19OwotCi0vLyBUaGlzIHJld3JpdGVzIFRJbnRl
cm1HbG9iYWxRdWFsaWZpZXJEZWNsYXJhdGlvbnMgYXMgVEludGVybURlY2xhcmF0aW9ucy4KLS8v
IGBvdXRJbnZhcmlhbnRzYCBpcyBwb3B1bGF0ZWQgd2l0aCB0aGUgaW5mb3JtYXRpb24gdGhhdCB3
b3VsZCBvdGhlcndpc2UgYmUgbG9zdCBieSBzdWNoIGEKLS8vIHRyYW5zZm9ybS4KLUFOR0xFX05P
X0RJU0NBUkQgYm9vbCBSZXdyaXRlR2xvYmFsUXVhbGlmaWVyRGVjbHMoVENvbXBpbGVyICZjb21w
aWxlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
VEludGVybUJsb2NrICZyb290LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBJbnZhcmlhbnRzICZvdXRJbnZhcmlhbnRzKTsKLQotfSAgLy8gbmFtZXNw
YWNlIHNoCi0KLSNlbmRpZiAgLy8gQ09NUElMRVJfVFJBTlNMQVRPUl9UUkFOU0xBVE9STUVUQUxE
SVJFQ1RfUkVXUklURUdMT0JBTFFVQUxJRklFUkRFQ0xTX0hfCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxE
aXJlY3QvUmV3cml0ZVBpcGVsaW5lcy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
Y29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvUmV3cml0ZVBpcGVsaW5l
cy5jcHAKaW5kZXggMzI3YjY4MTEzZjEzZDZjNDVmODEyOGQ0YjM4ZWM0Zjg1MzUzOGFkNy4uMDAx
NzA4OTY2N2MzMDdiNThkYTlmNzQxMWJlZGFiNmM0ZmJhNzU1NiAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFs
RGlyZWN0L1Jld3JpdGVQaXBlbGluZXMuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9SZXdyaXRlUGlw
ZWxpbmVzLmNwcApAQCAtMjcsNiArMjcsMjAgQEAgdXNpbmcgbmFtZXNwYWNlIHNoOwogbmFtZXNw
YWNlCiB7CiAKK2Jvb2wgSXNWYXJpYWJsZUludmFyaWFudChjb25zdCBzdGQ6OnZlY3RvcjxzaDo6
U2hhZGVyVmFyaWFibGU+ICZtVmFycywgY29uc3QgSW1tdXRhYmxlU3RyaW5nICZuYW1lKQorewor
ICAgIGZvciAoY29uc3QgYXV0byAmdmFyIDogbVZhcnMpCisgICAgeworICAgICAgICBpZiAobmFt
ZSA9PSB2YXIubmFtZSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHZhci5pc0ludmFy
aWFudDsKKyAgICAgICAgfQorICAgIH0KKyAgICAvLyBUT0RPOiB0aGlzIHNob3VsZCBiZSBVTlJF
QUNIQUJMRSgpIGJ1dCBpc24ndCBiZWNhdXNlIHRoZSB0cmFuc2xhdG9yIGdlbmVyYXRlcworICAg
IC8vIGRlY2xhcmF0aW9ucyB0byB1bnVzZWQgYnVpbHQtaW4gdmFyaWFibGVzLgorICAgIHJldHVy
biBmYWxzZTsKK30KKwogdXNpbmcgVmFyaWFibGVTZXQgID0gc3RkOjp1bm9yZGVyZWRfc2V0PGNv
bnN0IFRWYXJpYWJsZSAqPjsKIHVzaW5nIFZhcmlhYmxlTGlzdCA9IHN0ZDo6dmVjdG9yPGNvbnN0
IFRWYXJpYWJsZSAqPjsKIApAQCAtNjAsNyArNzQsNyBAQCBjbGFzcyBHZW5lcmF0ZVBpcGVsaW5l
U3RydWN0IDogcHJpdmF0ZSBUSW50ZXJtUmVidWlsZAogICBwcml2YXRlOgogICAgIGNvbnN0IFBp
cGVsaW5lICZtUGlwZWxpbmU7CiAgICAgU3ltYm9sRW52ICZtU3ltYm9sRW52OwotICAgIEludmFy
aWFudHMgJm1JbnZhcmlhbnRzOworICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHNoOjpTaGFkZXJWYXJp
YWJsZT4qIG1WYXJpYWJsZUluZm9zOwogICAgIFZhcmlhYmxlTGlzdCBtUGlwZWxpbmVWYXJpYWJs
ZUxpc3Q7CiAgICAgSWRHZW4gJm1JZEdlbjsKICAgICBQaXBlbGluZVN0cnVjdEluZm8gbUluZm87
CkBAIC03Miw5ICs4Niw5IEBAIGNsYXNzIEdlbmVyYXRlUGlwZWxpbmVTdHJ1Y3QgOiBwcml2YXRl
IFRJbnRlcm1SZWJ1aWxkCiAgICAgICAgICAgICAgICAgICAgICBJZEdlbiAmaWRHZW4sCiAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBQaXBlbGluZSAmcGlwZWxpbmUsCiAgICAgICAgICAgICAg
ICAgICAgICBTeW1ib2xFbnYgJnN5bWJvbEVudiwKLSAgICAgICAgICAgICAgICAgICAgIEludmFy
aWFudHMgJmludmFyaWFudHMpCisgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnZlY3Rv
cjxzaDo6U2hhZGVyVmFyaWFibGU+KiB2YXJpYWJsZUluZm9zKQogICAgIHsKLSAgICAgICAgR2Vu
ZXJhdGVQaXBlbGluZVN0cnVjdCBzZWxmKGNvbXBpbGVyLCBpZEdlbiwgcGlwZWxpbmUsIHN5bWJv
bEVudiwgaW52YXJpYW50cyk7CisgICAgICAgIEdlbmVyYXRlUGlwZWxpbmVTdHJ1Y3Qgc2VsZihj
b21waWxlciwgaWRHZW4sIHBpcGVsaW5lLCBzeW1ib2xFbnYsIHZhcmlhYmxlSW5mb3MpOwogICAg
ICAgICBpZiAoIXNlbGYuZXhlYyhyb290KSkKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwpAQCAtODgsMTEgKzEwMiwxMSBAQCBjbGFzcyBHZW5lcmF0ZVBpcGVsaW5lU3RydWN0
IDogcHJpdmF0ZSBUSW50ZXJtUmVidWlsZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWRH
ZW4gJmlkR2VuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUGlwZWxpbmUgJnBp
cGVsaW5lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3ltYm9sRW52ICZzeW1ib2xFbnYs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBJbnZhcmlhbnRzICZpbnZhcmlhbnRzKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8c2g6OlNoYWRlclZhcmlh
YmxlPiogdmFyaWFibGVJbmZvcykKICAgICAgICAgOiBUSW50ZXJtUmVidWlsZChjb21waWxlciwg
dHJ1ZSwgdHJ1ZSksCiAgICAgICAgICAgbVBpcGVsaW5lKHBpcGVsaW5lKSwKICAgICAgICAgICBt
U3ltYm9sRW52KHN5bWJvbEVudiksCi0gICAgICAgICAgbUludmFyaWFudHMoaW52YXJpYW50cyks
CisgICAgICAgICAgbVZhcmlhYmxlSW5mb3ModmFyaWFibGVJbmZvcyksCiAgICAgICAgICAgbUlk
R2VuKGlkR2VuKQogICAgIHt9CiAKQEAgLTIxMiw3ICsyMjYsNiBAQCBjbGFzcyBHZW5lcmF0ZVBp
cGVsaW5lU3RydWN0IDogcHJpdmF0ZSBUSW50ZXJtUmVidWlsZAogICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgIGZvciAoY29uc3QgVFZhcmlhYmxlICp2YXIgOiBtUGlwZWxpbmVWYXJpYWJs
ZUxpc3QpCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBBU1NFUlQoIW1J
bnZhcmlhbnRzLmNvbnRhaW5zKCp2YXIpKTsKICAgICAgICAgICAgICAgICAgICAgY29uc3QgVFR5
cGUgJnZhclR5cGUgICAgICAgICA9IHZhci0+Z2V0VHlwZSgpOwogICAgICAgICAgICAgICAgICAg
ICBjb25zdCBUQmFzaWNUeXBlIHNhbXBsZXJUeXBlID0gdmFyVHlwZS5nZXRCYXNpY1R5cGUoKTsK
IApAQCAtMjQ3LDEzICsyNjAsMTIgQEAgY2xhc3MgR2VuZXJhdGVQaXBlbGluZVN0cnVjdCA6IHBy
aXZhdGUgVEludGVybVJlYnVpbGQKICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFRWYXJpYWJs
ZSAqdmFyIDogbVBpcGVsaW5lVmFyaWFibGVMaXN0KQogICAgICAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgICAgICAgYXV0byAmdHlwZSAgPSBDbG9uZVR5cGUodmFyLT5nZXRUeXBlKCkpOwot
ICAgICAgICAgICAgICAgICAgICBhdXRvICpmaWVsZCA9IG5ldyBURmllbGQoJnR5cGUsIHZhci0+
bmFtZSgpLCBrTm9Tb3VyY2VMb2MsIHZhci0+c3ltYm9sVHlwZSgpKTsKLSAgICAgICAgICAgICAg
ICAgICAgZmllbGRzLnB1c2hfYmFjayhmaWVsZCk7Ci0KLSAgICAgICAgICAgICAgICAgICAgaWYg
KG1JbnZhcmlhbnRzLmNvbnRhaW5zKCp2YXIpKQorICAgICAgICAgICAgICAgICAgICBpZiAobVZh
cmlhYmxlSW5mb3MgJiYgSXNWYXJpYWJsZUludmFyaWFudCgqbVZhcmlhYmxlSW5mb3MsIHZhci0+
bmFtZSgpKSkKICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
bUludmFyaWFudHMuaW5zZXJ0KCpmaWVsZCk7CisgICAgICAgICAgICAgICAgICAgICAgICB0eXBl
LnNldEludmFyaWFudCh0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgICBhdXRvICpmaWVsZCA9IG5ldyBURmllbGQoJnR5cGUsIHZhci0+bmFtZSgpLCBrTm9T
b3VyY2VMb2MsIHZhci0+c3ltYm9sVHlwZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgZmllbGRz
LnB1c2hfYmFjayhmaWVsZCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgYnJlYWs7CkBAIC04NDgsMTIgKzg2MCwxMyBAQCBib29sIFVwZGF0ZVBpcGVsaW5l
U3ltYm9scyhQaXBlbGluZTo6VHlwZSBwaXBlbGluZVR5cGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBQaXBlbGluZVNjb3BlZDxUVmFyaWFibGU+IHBpcGVsaW5lTWFpbkxvY2FsVmFyKQog
ewogICAgIGF1dG8gbWFwID0gWyZdKGNvbnN0IFRGdW5jdGlvbiAqb3duZXIsIFRJbnRlcm1TeW1i
b2wgJnN5bWJvbCkgLT4gVEludGVybU5vZGUgJiB7CisgICAgICAgIGlmICghb3duZXIpCisgICAg
ICAgICAgICByZXR1cm4gc3ltYm9sOwogICAgICAgICBjb25zdCBUVmFyaWFibGUgJnZhciA9IHN5
bWJvbC52YXJpYWJsZSgpOwogICAgICAgICBpZiAocGlwZWxpbmVWYXJpYWJsZXMuZmluZCgmdmFy
KSA9PSBwaXBlbGluZVZhcmlhYmxlcy5lbmQoKSkKICAgICAgICAgewogICAgICAgICAgICAgcmV0
dXJuIHN5bWJvbDsKICAgICAgICAgfQotICAgICAgICBBU1NFUlQob3duZXIpOwogICAgICAgICBj
b25zdCBUVmFyaWFibGUgKnN0cnVjdEluc3RhbmNlVmFyOwogICAgICAgICBpZiAob3duZXItPmlz
TWFpbigpKQogICAgICAgICB7CkBAIC04NzgsNyArODkxLDcgQEAgYm9vbCBSZXdyaXRlUGlwZWxp
bmUoVENvbXBpbGVyICZjb21waWxlciwKICAgICAgICAgICAgICAgICAgICAgIElkR2VuICZpZEdl
biwKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFBpcGVsaW5lICZwaXBlbGluZSwKICAgICAg
ICAgICAgICAgICAgICAgIFN5bWJvbEVudiAmc3ltYm9sRW52LAotICAgICAgICAgICAgICAgICAg
ICAgSW52YXJpYW50cyAmaW52YXJpYW50cywKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
ZDo6dmVjdG9yPHNoOjpTaGFkZXJWYXJpYWJsZT4qIHZhcmlhYmxlSW5mbywKICAgICAgICAgICAg
ICAgICAgICAgIFBpcGVsaW5lU2NvcGVkPFRTdHJ1Y3R1cmU+ICZvdXRTdHJ1Y3QpCiB7CiAgICAg
QVNTRVJUKG91dFN0cnVjdC5pc1RvdGFsbHlFbXB0eSgpKTsKQEAgLTg4Niw3ICs4OTksNyBAQCBi
b29sIFJld3JpdGVQaXBlbGluZShUQ29tcGlsZXIgJmNvbXBpbGVyLAogICAgIFRTeW1ib2xUYWJs
ZSAmc3ltYm9sVGFibGUgPSBjb21waWxlci5nZXRTeW1ib2xUYWJsZSgpOwogCiAgICAgUGlwZWxp
bmVTdHJ1Y3RJbmZvIHBzaTsKLSAgICBpZiAoIUdlbmVyYXRlUGlwZWxpbmVTdHJ1Y3Q6OkV4ZWMo
cHNpLCBjb21waWxlciwgcm9vdCwgaWRHZW4sIHBpcGVsaW5lLCBzeW1ib2xFbnYsIGludmFyaWFu
dHMpKQorICAgIGlmICghR2VuZXJhdGVQaXBlbGluZVN0cnVjdDo6RXhlYyhwc2ksIGNvbXBpbGVy
LCByb290LCBpZEdlbiwgcGlwZWxpbmUsIHN5bWJvbEVudiwgdmFyaWFibGVJbmZvKSkKICAgICB7
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC05MzIsMTAgKzk0NSwxMSBAQCBib29s
IFJld3JpdGVQaXBlbGluZShUQ29tcGlsZXIgJmNvbXBpbGVyLAogCiBib29sIHNoOjpSZXdyaXRl
UGlwZWxpbmVzKFRDb21waWxlciAmY29tcGlsZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IFRJbnRlcm1CbG9jayAmcm9vdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Rk
Ojp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiAmaW5wdXRWYXJ5aW5ncywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiAmb3V0
cHV0VmFyeWluZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIElkR2VuICZpZEdlbiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVFZhcmlhYmxlICZhbmdsZVVuaWZvcm1zR2xv
YmFsSW5zdGFuY2VWYXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5bWJvbEVudiAmc3lt
Ym9sRW52LAotICAgICAgICAgICAgICAgICAgICAgICAgICBJbnZhcmlhbnRzICZpbnZhcmlhbnRz
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBQaXBlbGluZVN0cnVjdHMgJm91dFN0cnVjdHMp
CiB7CiAgICAgc3RydWN0IEluZm8KQEAgLTk0MywyNyArOTU3LDI4IEBAIGJvb2wgc2g6OlJld3Jp
dGVQaXBlbGluZXMoVENvbXBpbGVyICZjb21waWxlciwKICAgICAgICAgUGlwZWxpbmU6OlR5cGUg
cGlwZWxpbmVUeXBlOwogICAgICAgICBQaXBlbGluZVNjb3BlZDxUU3RydWN0dXJlPiAmb3V0U3Ry
dWN0OwogICAgICAgICBjb25zdCBUVmFyaWFibGUgKmdsb2JhbEluc3RhbmNlVmFyOworICAgICAg
ICBjb25zdCBzdGQ6OnZlY3RvcjxzaDo6U2hhZGVyVmFyaWFibGU+ICp2YXJpYWJsZUluZm87CiAg
ICAgfTsKIAogICAgIEluZm8gaW5mb3NbXSA9IHsKLSAgICAgICAge1BpcGVsaW5lOjpUeXBlOjpJ
bnN0YW5jZUlkLCBvdXRTdHJ1Y3RzLmluc3RhbmNlSWQsIG51bGxwdHJ9LAotICAgICAgICB7UGlw
ZWxpbmU6OlR5cGU6OlRleHR1cmUsIG91dFN0cnVjdHMudGV4dHVyZSwgbnVsbHB0cn0sCisgICAg
ICAgIHtQaXBlbGluZTo6VHlwZTo6SW5zdGFuY2VJZCwgb3V0U3RydWN0cy5pbnN0YW5jZUlkLCBu
dWxscHRyLCBudWxscHRyfSwKKyAgICAgICAge1BpcGVsaW5lOjpUeXBlOjpUZXh0dXJlLCBvdXRT
dHJ1Y3RzLnRleHR1cmUsIG51bGxwdHIsIG51bGxwdHJ9LAogICAgICAgICB7UGlwZWxpbmU6OlR5
cGU6Ok5vbkNvbnN0YW50R2xvYmFscywgb3V0U3RydWN0cy5ub25Db25zdGFudEdsb2JhbHMsIG51
bGxwdHJ9LAogICAgICAgICB7UGlwZWxpbmU6OlR5cGU6OkFuZ2xlVW5pZm9ybXMsIG91dFN0cnVj
dHMuYW5nbGVVbmlmb3JtcywgJmFuZ2xlVW5pZm9ybXNHbG9iYWxJbnN0YW5jZVZhcn0sCi0gICAg
ICAgIHtQaXBlbGluZTo6VHlwZTo6VXNlclVuaWZvcm1zLCBvdXRTdHJ1Y3RzLnVzZXJVbmlmb3Jt
cywgbnVsbHB0cn0sCi0gICAgICAgIHtQaXBlbGluZTo6VHlwZTo6VmVydGV4SW4sIG91dFN0cnVj
dHMudmVydGV4SW4sIG51bGxwdHJ9LAotICAgICAgICB7UGlwZWxpbmU6OlR5cGU6OlZlcnRleE91
dCwgb3V0U3RydWN0cy52ZXJ0ZXhPdXQsIG51bGxwdHJ9LAotICAgICAgICB7UGlwZWxpbmU6OlR5
cGU6OkZyYWdtZW50SW4sIG91dFN0cnVjdHMuZnJhZ21lbnRJbiwgbnVsbHB0cn0sCi0gICAgICAg
IHtQaXBlbGluZTo6VHlwZTo6RnJhZ21lbnRPdXQsIG91dFN0cnVjdHMuZnJhZ21lbnRPdXQsIG51
bGxwdHJ9LAotICAgICAgICB7UGlwZWxpbmU6OlR5cGU6Okludm9jYXRpb25WZXJ0ZXhHbG9iYWxz
LCBvdXRTdHJ1Y3RzLmludm9jYXRpb25WZXJ0ZXhHbG9iYWxzLCBudWxscHRyfSwKLSAgICAgICAg
e1BpcGVsaW5lOjpUeXBlOjpJbnZvY2F0aW9uRnJhZ21lbnRHbG9iYWxzLCBvdXRTdHJ1Y3RzLmlu
dm9jYXRpb25GcmFnbWVudEdsb2JhbHMsIG51bGxwdHJ9LAotICAgICAgICB7UGlwZWxpbmU6OlR5
cGU6OlVuaWZvcm1CdWZmZXIsIG91dFN0cnVjdHMudW5pZm9ybUJ1ZmZlcnMsIG51bGxwdHJ9LAor
ICAgICAgICB7UGlwZWxpbmU6OlR5cGU6OlVzZXJVbmlmb3Jtcywgb3V0U3RydWN0cy51c2VyVW5p
Zm9ybXMsIG51bGxwdHIsIG51bGxwdHJ9LAorICAgICAgICB7UGlwZWxpbmU6OlR5cGU6OlZlcnRl
eEluLCBvdXRTdHJ1Y3RzLnZlcnRleEluLCBudWxscHRyLCAmaW5wdXRWYXJ5aW5nc30sCisgICAg
ICAgIHtQaXBlbGluZTo6VHlwZTo6VmVydGV4T3V0LCBvdXRTdHJ1Y3RzLnZlcnRleE91dCwgbnVs
bHB0ciwgJm91dHB1dFZhcnlpbmdzfSwKKyAgICAgICAge1BpcGVsaW5lOjpUeXBlOjpGcmFnbWVu
dEluLCBvdXRTdHJ1Y3RzLmZyYWdtZW50SW4sIG51bGxwdHIsICZpbnB1dFZhcnlpbmdzfSwKKyAg
ICAgICAge1BpcGVsaW5lOjpUeXBlOjpGcmFnbWVudE91dCwgb3V0U3RydWN0cy5mcmFnbWVudE91
dCwgbnVsbHB0ciwgJm91dHB1dFZhcnlpbmdzfSwKKyAgICAgICAge1BpcGVsaW5lOjpUeXBlOjpJ
bnZvY2F0aW9uVmVydGV4R2xvYmFscywgb3V0U3RydWN0cy5pbnZvY2F0aW9uVmVydGV4R2xvYmFs
cywgbnVsbHB0ciwgbnVsbHB0cn0sCisgICAgICAgIHtQaXBlbGluZTo6VHlwZTo6SW52b2NhdGlv
bkZyYWdtZW50R2xvYmFscywgb3V0U3RydWN0cy5pbnZvY2F0aW9uRnJhZ21lbnRHbG9iYWxzLCBu
dWxscHRyLCAmaW5wdXRWYXJ5aW5nc30sCisgICAgICAgIHtQaXBlbGluZTo6VHlwZTo6VW5pZm9y
bUJ1ZmZlciwgb3V0U3RydWN0cy51bmlmb3JtQnVmZmVycywgbnVsbHB0ciwgbnVsbHB0cn0sCiAg
ICAgfTsKIAogICAgIGZvciAoSW5mbyAmaW5mbyA6IGluZm9zKQogICAgIHsKICAgICAgICAgUGlw
ZWxpbmUgcGlwZWxpbmV7aW5mby5waXBlbGluZVR5cGUsIGluZm8uZ2xvYmFsSW5zdGFuY2VWYXJ9
OwotICAgICAgICBpZiAoIVJld3JpdGVQaXBlbGluZShjb21waWxlciwgcm9vdCwgaWRHZW4sIHBp
cGVsaW5lLCBzeW1ib2xFbnYsIGludmFyaWFudHMsCisgICAgICAgIGlmICghUmV3cml0ZVBpcGVs
aW5lKGNvbXBpbGVyLCByb290LCBpZEdlbiwgcGlwZWxpbmUsIHN5bWJvbEVudiwgaW5mby52YXJp
YWJsZUluZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8ub3V0U3RydWN0KSkK
ICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFs
RGlyZWN0L1Jld3JpdGVQaXBlbGluZXMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9j
b21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9SZXdyaXRlUGlwZWxpbmVz
LmgKaW5kZXggNzkxYmE4MmI0ZTk2NzdkMmMyOTc0ZjkxNGI3ZTM0ODBiMGU4OWI1MC4uY2M0YmY0
NWVjMzdlNzhkZjE1YmNhNTc5MDZmNTU2ZDU4MWI2YjFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGly
ZWN0L1Jld3JpdGVQaXBlbGluZXMuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
Y29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvUmV3cml0ZVBpcGVsaW5l
cy5oCkBAIC0xMSw3ICsxMSw2IEBACiAjaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci9Db21w
aWxlci5oIgogI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGly
ZWN0L0lkR2VuLmgiCiAjaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0
YWxEaXJlY3QvUGlwZWxpbmUuaCIKLSNpbmNsdWRlICJjb21waWxlci90cmFuc2xhdG9yL1RyYW5z
bGF0b3JNZXRhbERpcmVjdC9SZXdyaXRlR2xvYmFsUXVhbGlmaWVyRGVjbHMuaCIKICNpbmNsdWRl
ICJjb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9TeW1ib2xFbnYuaCIK
IAogbmFtZXNwYWNlIHNoCkBAIC0zNCwxMCArMzMsMTEgQEAgbmFtZXNwYWNlIHNoCiAvLyAgICAg
IGZyb20gYG1haW5gLgogQU5HTEVfTk9fRElTQ0FSRCBib29sIFJld3JpdGVQaXBlbGluZXMoVENv
bXBpbGVyICZjb21waWxlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFRJbnRlcm1CbG9jayAmcm9vdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHNoOjpTaGFkZXJWYXJpYWJsZT4gJmlucHV0VmFyeWluZ3Ms
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnZlY3Rv
cjxzaDo6U2hhZGVyVmFyaWFibGU+ICZvdXRwdXRWYXJpYWJsZXMsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBJZEdlbiAmaWRHZW4sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBUVmFyaWFibGUgJmFuZ2xlVW5pZm9ybXNHbG9iYWxJ
bnN0YW5jZVZhciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5bWJv
bEVudiAmc3ltYm9sRW52LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
SW52YXJpYW50cyAmaW52YXJpYW50cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFBpcGVsaW5lU3RydWN0cyAmb3V0U3RydWN0cyk7CiAKIH0gIC8vIG5hbWVzcGFjZSBz
aApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1NlcGFyYXRlQ29tcG91bmRFeHByZXNzaW9ucy5j
cHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFu
c2xhdG9yTWV0YWxEaXJlY3QvU2VwYXJhdGVDb21wb3VuZEV4cHJlc3Npb25zLmNwcAppbmRleCAy
OWExZThlOWFhNDk0MmFmYzdhOTBhMDU0Y2E2NDFjMmJkNmEyYTUzLi42NjE4MGRmNGI0MDhhNTlm
YTdmOGI3OWE3NWNjNzE3NGM0NTU2NzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvU2VwYXJh
dGVDb21wb3VuZEV4cHJlc3Npb25zLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvU2VwYXJhdGVDb21w
b3VuZEV4cHJlc3Npb25zLmNwcApAQCAtNjE5LDcgKzYxOSw2IEBAIGNsYXNzIFNlcGFyYXRvciA6
IHB1YmxpYyBUSW50ZXJtUmVidWlsZAogCiAgICAgUG9zdFJlc3VsdCB2aXNpdEdsb2JhbFF1YWxp
ZmllckRlY2xhcmF0aW9uUG9zdChUSW50ZXJtR2xvYmFsUXVhbGlmaWVyRGVjbGFyYXRpb24gJm5v
ZGUpIG92ZXJyaWRlCiAgICAgewotICAgICAgICBBU1NFUlQoZmFsc2UpOyAgLy8gVGhlc2Ugc2hv
dWxkIGJlIHNjcnViYmVkIGZyb20gQVNUIGJlZm9yZSByZXdyaXRlciBpcyBjYWxsZWQuCiAgICAg
ICAgIHB1c2hTdG10KG5vZGUpOwogICAgICAgICByZXR1cm4gbm9kZTsKICAgICB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ZmQzMzJmYWRjMTM0ZmNkZTcxYzE5MmQ4ZWU4NDdhMzliNjZmZDFhZS4uY2FkMmE1OGQzZmEzMWM0
NTM1OWJkNmRkY2ZkYzM0YTkwNDRhOGNkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA4
LTI2ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgd2Vi
Z2wvMS4wLngvY29uZm9ybWFuY2UvZ2xzbC9taXNjL2ZyYWdjb2xvci1mcmFnZGF0YS1pbnZhcmlh
bnQuaHRtbCBmYWlscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIzMzE3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTc3MjY1OT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgIEZpeGVzIHRlc3RzOgorICAg
ICAgIHdlYmdsLzEuMC54L2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9mcmFnY29sb3ItZnJhZ2RhdGEt
aW52YXJpYW50Lmh0bWwKKyAgICAgICB3ZWJnbC8yLjAueS9jb25mb3JtYW5jZS9nbHNsL21pc2Mv
ZnJhZ2NvbG9yLWZyYWdkYXRhLWludmFyaWFudC5odG1sCisKKyAgICAgICAgKiBUZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICBNYXJrIHRoZSBza2lwcGVkIHRlc3RzIGFzIFBhc3MgdW50aWwgYWxs
IDEuMC54LzIuMC55IHRlc3RzCisgICAgICAgIGFyZSB1bnNraXBwZWQuCisKIDIwMjEtMDgtMjMg
IEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBEZXB0aCB0
ZXN0IGFmZmVjdHMgV2ViR0wgcmVuZGVyaW5nIHdoZW4gY29udGV4dCBoYXMgZGVwdGggPT0gZmFs
c2UsIHN0ZW5jaWwgPT0gdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmJkZTJmOTRlYWQyMTdi
ODY0NDMyNTcxOGMxZjRjNjIxMWYyNzY3MC4uMGExNmRiY2U0ZjRmMWI1YjM2ZWRhZDM0NDM1ZGZk
OTYwNjMxM2FlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNjY4LDYgKzM2NjgsOCBAQCB3ZWJn
bC8xLjAueC9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sIFsgUGFzcyBd
CiB3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS9taXNjL2ludmFsaWQtcGFzc2VkLXBhcmFtcy5odG1s
IFsgUGFzcyBdCiB3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS9nbHNsL2J1Z3MvY2hhcmFjdGVyLXNl
dC5odG1sIFsgUGFzcyBdCiB3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS90ZXh0dXJlcy9taXNjL3Rl
eHR1cmUtY29ybmVyLWNhc2UtdmlkZW9zLmh0bWwgWyBQYXNzIF0KK3dlYmdsLzEuMC54L2NvbmZv
cm1hbmNlL2dsc2wvbWlzYy9mcmFnY29sb3ItZnJhZ2RhdGEtaW52YXJpYW50Lmh0bWwgWyBQYXNz
IF0KKwogCiAjIFdlYkdMIGNvbmZvcm1hbmNlIHRlc3Qgc3VpdGUgMi4wLjEgaXMgc2tpcHBlZCB1
bnRpbCAyLjAuMCBpcyByZXRpcmVkLgogd2ViZ2wvMi4wLnkgWyBTa2lwIF0KQEAgLTM2NzcsNiAr
MzY3OSw3IEBAIHdlYmdsLzIuMC55L2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0
Lmh0bWwgWyBQYXNzIF0KIHdlYmdsLzIuMC55L2NvbmZvcm1hbmNlL21pc2MvaW52YWxpZC1wYXNz
ZWQtcGFyYW1zLmh0bWwgWyBQYXNzIF0KIHdlYmdsLzIuMC55L2NvbmZvcm1hbmNlL2dsc2wvYnVn
cy9jaGFyYWN0ZXItc2V0Lmh0bWwgWyBQYXNzIF0KIHdlYmdsLzIuMC55L2NvbmZvcm1hbmNlL3Rl
eHR1cmVzL21pc2MvdGV4dHVyZS1jb3JuZXItY2FzZS12aWRlb3MuaHRtbCBbIFBhc3MgXQord2Vi
Z2wvMi4wLnkvY29uZm9ybWFuY2UvZ2xzbC9taXNjL2ZyYWdjb2xvci1mcmFnZGF0YS1pbnZhcmlh
bnQuaHRtbCBbIFBhc3MgXQogCiAjIFdlYkdMIDEuMC4zIGFuZCAyLjAuMCB0ZXN0cyB3aGVyZSBi
ZWhhdmlvciBpcyBvYnNvbGV0ZSBhbmQgV2ViS2l0IGNvbnRhaW5zIGltcGxlbWVudGF0aW9uCiAj
IGFuZCB0ZXN0cyBmb3IgdGhlIG5ldyBiZWhhdmlvci4gU2hvdWxkIGJlIHJlbW92ZWQgb25jZSAx
LjAuMyBhbmQgMi4wLjAgYXJlIHJldGlyZWQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436546</attachid>
            <date>2021-08-26 12:24:55 -0700</date>
            <delta_ts>2021-08-31 01:11:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223317-20210826222453.patch</filename>
            <type>text/plain</type>
            <size>34761</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNzFjZWViNTRmZDNkYjNiMjUxOGE0NjQ2NmQzNjM3NTU4YmEwYmY2NC4uOWQ1ODA1MWE2Yzhi
ZWMzYWJjMmNkMDAyYWI0OWJjMzlkM2MyNmQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTA4LTI2ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgd2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvZ2xzbC9taXNj
L2ZyYWdjb2xvci1mcmFnZGF0YS1pbnZhcmlhbnQuaHRtbCBmYWlscworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMzE3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83NTc3MjY1OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGUgcGFyc2VyIG1haW50YWlucyBpbnZhcmlhbmNlIG1ldGFkYXRhIGZvciBl
YWNoIGlucHV0IGFuZCBvdXRwdXQKKyAgICAgICAgd2l0aCB0aGUgaGVscCBvZiB0aGUgc3ltYm9s
IHRhYmxlLCBkdXJpbmcgcGFyc2luZy4KKworICAgICAgICBVc2UgdGhpcyBtZXRhZGF0YSB0aHJv
dWdoIHRoZSBjb2xsZWN0aW9uIHBoYXNlIGRvbmUgYnkgQ29sbGVjdFZhcmlhYmxlcworICAgICAg
ICBzZWN0aW9uIG9mIHNoYWRlciBjb21waWxhdGlvbi4KKworICAgICAgICBSZW1vdmUgdGhlIG1h
bnVhbCB0cmVlIHJld3JpdGUgc2VjdGlvbiB0aGF0IGNvbGxlY3RlZCB0aGUgaW52YXJpYW5jZQor
ICAgICAgICBpbmZvcm1hdGlvbi4gVGhlIGltcGxlbWVudGF0aW9uIGhhZCBmb2xsb3dpbmcgcHJv
YmxlbXM6CisgICAgICAgIDEpIEl0IHdvdWxkIGRlY2xhcmUgdGhlIHZhcmlhYmxlcyBwcmVzZW50
LiBUaGlzIHdvdWxkIGZhaWwgdGhlIHRlc3QgY2FzZQorICAgICAgICBmaXhlZCBoZXJlLCBkdWUg
dG8gdGhlIHRlc3QgY2FzZSB1c2luZyBpbnZhcmlhbnQgZGVjbGFyYXRpb25zIHRvIGJvdGgKKyAg
ICAgICAgRnJhZ0NvbG9yIGFuZCBGcmFnRGF0YSwgd2hpY2ggd291bGQgY2F1c2UgYm90aCB0byBi
ZSBwcmVzZW50IGFzIG91dHB1dHMKKyAgICAgICAgdG8gdGhlIE1TTC4KKyAgICAgICAgMikgSXQg
d291bGQgb3BlcmF0ZSBvbiByZXdyaXR0ZW4gdmFyaWFibGVzLiBGb3IgZXhhbXBsZSwgRnJhZ0Nv
b3JkIHdvdWxkCisgICAgICAgIGJlIHJlcGxhY2VkIHdpdGggZGlmZmVyZW50IHZhcmlhYmxlLCBj
YXVzaW5nIHRoZSBpbnZhcmlhbmNlIGJlIG1hcmtlZAorICAgICAgICBiYXNlZCBvbiB0aGUgcmV3
cml0dGVuIG5hbWUgYnV0IHRoZSBsYXRlciBsb29rdXAgaW50ZW5kZWQgdG8gYmUgZG9uZQorICAg
ICAgICB3aXRoIHRoZSBvcmlnaW5hbCBuYW1lLgorCisgICAgICAgIFJlbW92ZSBsb2dpYyB0byBt
YXJrIEZyYWdDb29yZCBhcyBpbnZhcmlhbnQsIGFzIE1TTCBzcGVjaWZpY2F0aW9uIGV4cGxpY2l0
bHkKKyAgICAgICAgc2F5cyB0aGF0IG9ubHkgdGhlIHZlcnRleCBbW3Bvc2l0aW9uXV0gb3V0cHV0
IGNhbiBiZSBtYXJrZWQgYXMgW1tpbnZhcmlhbnRdXS4KKyAgICAgICAgQXMgbm90ZWQgYWJvdmUs
IHRoaXMgbmV2ZXIgd29ya2VkLgorCisgICAgICAgIEZpeCBjYXNlcyB3aGVyZSB0aGUgdHJlZSBy
ZXdyaXRlcnMgYXNzdW1lIHRoYXQgYWxsIHZhcmlhYmxlIHJlZmVyZW5jZXMgYXJlCisgICAgICAg
IGRvbmUgd2l0aGluIGZ1bmN0aW9ucy4gVGhlIGdsb2JhbCBxdWFsaWZpZXIgZGVjbGFyYXRpb25z
IGFyZSBub3cgbGVmdAorICAgICAgICBpbiB0aGUgdHJlZSBhbmQgYXMgc3VjaCBjYW4gcmVmZXIg
dG8gdmFyaWFibGVzIGJ1dCBkbyBub3QgYmVsb25nIHRvIGFueQorICAgICAgICBmdW5jdGlvbi4K
KworICAgICAgICBGaXhlczoKKyAgICAgICAgd2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvZ2xzbC9t
aXNjL2ZyYWdjb2xvci1mcmFnZGF0YS1pbnZhcmlhbnQuaHRtbAorICAgICAgICB3ZWJnbC8yLjAu
eS9jb25mb3JtYW5jZS9nbHNsL21pc2MvZnJhZ2NvbG9yLWZyYWdkYXRhLWludmFyaWFudC5odG1s
CisKKyAgICAgICAgKiBBTkdMRS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IHNyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC5jcHA6CisgICAg
ICAgIChzaDo6VHJhbnNsYXRvck1ldGFsRGlyZWN0Ojp0cmFuc2xhdGVJbXBsKToKKyAgICAgICAg
KiBzcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRGlzY292ZXJE
ZXBlbmRlbnRGdW5jdGlvbnMuY3BwOgorICAgICAgICAqIHNyYy9jb21waWxlci90cmFuc2xhdG9y
L1RyYW5zbGF0b3JNZXRhbERpcmVjdC9FbWl0TWV0YWwuY3BwOgorICAgICAgICAoR2VuTWV0YWxU
cmF2ZXJzZXI6Okdlbk1ldGFsVHJhdmVyc2VyKToKKyAgICAgICAgKEdlbk1ldGFsVHJhdmVyc2Vy
OjplbWl0UG9zdFF1YWxpZmllcik6CisgICAgICAgIChHZW5NZXRhbFRyYXZlcnNlcjo6dmlzaXRH
bG9iYWxRdWFsaWZpZXJEZWNsYXJhdGlvbik6CisgICAgICAgIChzaDo6RW1pdE1ldGFsKToKKyAg
ICAgICAgKiBzcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1p
dE1ldGFsLmg6CisgICAgICAgICogc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1l
dGFsRGlyZWN0L1Jld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5jcHA6IFJlbW92ZWQuCisgICAg
ICAgICogc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Jld3Jp
dGVHbG9iYWxRdWFsaWZpZXJEZWNscy5oOiBSZW1vdmVkLgorICAgICAgICAqIHNyYy9jb21waWxl
ci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9SZXdyaXRlUGlwZWxpbmVzLmNwcDoK
KyAgICAgICAgKHNoOjpJc1ZhcmlhYmxlSW52YXJpYW50KToKKyAgICAgICAgKHNoOjpHZW5lcmF0
ZVBpcGVsaW5lU3RydWN0OjpFeGVjKToKKyAgICAgICAgKHNoOjpHZW5lcmF0ZVBpcGVsaW5lU3Ry
dWN0OjpHZW5lcmF0ZVBpcGVsaW5lU3RydWN0KToKKyAgICAgICAgKHNoOjpHZW5lcmF0ZVBpcGVs
aW5lU3RydWN0OjpjcmVhdGVJbnRlcm5hbFBpcGVsaW5lU3RydWN0KToKKyAgICAgICAgKHNoOjpV
cGRhdGVQaXBlbGluZVN5bWJvbHMpOgorICAgICAgICAoc2g6OlJld3JpdGVQaXBlbGluZSk6Cisg
ICAgICAgIChzaDo6UmV3cml0ZVBpcGVsaW5lcyk6CisgICAgICAgICogc3JjL2NvbXBpbGVyL3Ry
YW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Jld3JpdGVQaXBlbGluZXMuaDoKKyAgICAg
ICAgKiBzcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvU2VwYXJh
dGVDb21wb3VuZEV4cHJlc3Npb25zLmNwcDoKKwogMjAyMS0wOC0yNSAgS2ltbW8gS2lubnVuZW4g
IDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFOR0xFIE1ldGFsIGluZGV4IGJ1ZmZl
ciByZXN0YXJ0IHJhbmdlIGNhY2hlIGlzIGNvdWxkIGJlIG1haW50YWluZWQgbW9yZSBjb25zaXN0
ZW50bHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGE3NzhlZmFjYTNmMmFjNGZiNDU2Nzk1Yjk1ZWNhZGU2
ODZmM2Q2MjEuLmU2NzFmOGQ1NmVlZWFjNDViNTg1ZDhlY2I1NTE2MjMyZDMzNTg0NmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtNDQ2LDcgKzQ0Niw2IEBACiAJCURGODNFMjNDMjYzOUZDRDUwMDA4MjVF
RiAvKiBSZWR1Y2VJbnRlcmZhY2VCbG9ja3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkY4MUZGM0QyNTgxOTE5NzAwODk0RTI0IC8qIFJlZHVjZUlu
dGVyZmFjZUJsb2Nrcy5jcHAgKi87IH07CiAJCURGODNFMjNEMjYzOUZDRDUwMDA4MjVFRiAvKiBE
aXNjb3ZlckVuY2xvc2luZ0Z1bmN0aW9uVHJhdmVyc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRjQxMjU4MTkxOTcwMDg5NEUyNCAvKiBE
aXNjb3ZlckVuY2xvc2luZ0Z1bmN0aW9uVHJhdmVyc2VyLmNwcCAqLzsgfTsKIAkJREY4M0UyM0Uy
NjM5RkNENTAwMDgyNUVGIC8qIElkR2VuLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEZGODFGRjUxMjU4MTkxOTcwMDg5NEUyNCAvKiBJZEdlbi5jcHAg
Ki87IH07Ci0JCURGODNFMjNGMjYzOUZDRDUwMDA4MjVFRiAvKiBSZXdyaXRlR2xvYmFsUXVhbGlm
aWVyRGVjbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkY4MUZGNDUyNTgxOTE5NzAwODk0RTI0IC8qIFJld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNs
cy5jcHAgKi87IH07CiAJCURGODNFMjQwMjYzOUZDRDUwMDA4MjVFRiAvKiBSZXdyaXRlVW5hZGRy
ZXNzYWJsZVJlZmVyZW5jZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkY4MUZGNDYyNTgxOTE5NzAwODk0RTI0IC8qIFJld3JpdGVVbmFkZHJlc3Nh
YmxlUmVmZXJlbmNlcy5jcHAgKi87IH07CiAJCURGODNFMjQxMjYzOUZDRDUwMDA4MjVFRiAvKiBJ
bnRyb2R1Y2VWZXJ0ZXhJbmRleElELmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZGMzMyODQ3MjVGNkNBQjkwMDVGREZDNCAvKiBJbnRyb2R1Y2VWZXJ0
ZXhJbmRleElELmNwcCAqLzsgfTsKIAkJREY4M0UyNDIyNjM5RkNENTAwMDgyNUVGIC8qIFRvcG9z
b3J0U3RydWN0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGRjgxRkYzMzI1ODE5MTk3MDA4OTRFMjQgLyogVG9wb3NvcnRTdHJ1Y3RzLmNwcCAqLzsg
fTsKQEAgLTE3MTYsOSArMTcxNSw3IEBACiAJCUZGODFGRjQwMjU4MTkxOTcwMDg5NEUyNCAvKiBM
YXlvdXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZGODFGRjQxMjU4MTkxOTcwMDg5NEUyNCAvKiBEaXNj
b3ZlckVuY2xvc2luZ0Z1bmN0aW9uVHJhdmVyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERpc2NvdmVyRW5jbG9zaW5nRnVuY3Rpb25UcmF2ZXJzZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRjgxRkY0MjI1ODE5MTk3MDA4OTRFMjQgLyog
UHJvZ3JhbVByZWx1ZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvZ3Jh
bVByZWx1ZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRkY4MUZGNDMyNTgxOTE5
NzAwODk0RTI0IC8qIFJld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSZXdyaXRlR2xvYmFsUXVhbGlmaWVyRGVjbHMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkY4MUZGNDQyNTgxOTE5NzAwODk0RTI0IC8qIFN5bWJv
bEVudi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTeW1ib2xFbnYuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRkY4MUZGNDUyNTgxOTE5NzAwODk0RTI0IC8qIFJl
d3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBSZXdyaXRlR2xvYmFsUXVhbGlmaWVyRGVjbHMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGRjgxRkY0NjI1ODE5MTk3MDA4OTRFMjQgLyogUmV3cml0ZVVuYWRk
cmVzc2FibGVSZWZlcmVuY2VzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJld3JpdGVVbmFkZHJlc3NhYmxlUmVmZXJlbmNlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUZGODFGRjQ3MjU4MTkxOTcwMDg5NEUyNCAvKiBBc3RIZWxwZXJzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFzdEhlbHBlcnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkY4MUZGNDgyNTgxOTE5NzAwODk0RTI0IC8qIEhvaXN0Q29uc3Rh
bnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhvaXN0Q29uc3Rh
bnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMwNTEsOCArMzA0OCw2IEBA
CiAJCQkJRkY4MUZGNEIyNTgxOTE5NzAwODk0RTI0IC8qIFJlZmVyZW5jZS5oICovLAogCQkJCUZG
ODFGRjU4MjU4MTkxOTcwMDg5NEUyNCAvKiBSZXdyaXRlQ2FzZURlY2xhcmF0aW9ucy5jcHAgKi8s
CiAJCQkJRkY4MUZGNTkyNTgxOTE5NzAwODk0RTI0IC8qIFJld3JpdGVDYXNlRGVjbGFyYXRpb25z
LmggKi8sCi0JCQkJRkY4MUZGNDUyNTgxOTE5NzAwODk0RTI0IC8qIFJld3JpdGVHbG9iYWxRdWFs
aWZpZXJEZWNscy5jcHAgKi8sCi0JCQkJRkY4MUZGNDMyNTgxOTE5NzAwODk0RTI0IC8qIFJld3Jp
dGVHbG9iYWxRdWFsaWZpZXJEZWNscy5oICovLAogCQkJCUZGODFGRjRGMjU4MTkxOTcwMDg5NEUy
NCAvKiBSZXdyaXRlS2V5d29yZHMuY3BwICovLAogCQkJCUZGODFGRjMxMjU4MTkxOTcwMDg5NEUy
NCAvKiBSZXdyaXRlS2V5d29yZHMuaCAqLywKIAkJCQlGRjgxRkYzNjI1ODE5MTk3MDA4OTRFMjQg
LyogUmV3cml0ZU91dEFyZ3MuY3BwICovLApAQCAtMzg0Niw3ICszODQxLDYgQEAKIAkJCQlERjgz
RTI2MzI2MzlGRDMzMDAwODI1RUYgLyogUmV3cml0ZURmZHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJREY4M0UyNzQyNjM5RkQzMzAwMDgyNUVGIC8qIFJld3JpdGVEb1doaWxlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCURGODNFMjVDMjYzOUZEMzMwMDA4MjVFRiAvKiBSZXdyaXRlRXhwcmVzc2lv
bnNXaXRoU2hhZGVyU3RvcmFnZUJsb2NrLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCURGODNFMjNG
MjYzOUZDRDUwMDA4MjVFRiAvKiBSZXdyaXRlR2xvYmFsUXVhbGlmaWVyRGVjbHMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJREY4M0UyN0YyNjM5RkQzMzAwMDgyNUVGIC8qIFJld3JpdGVJbnRlcnBv
bGF0ZUF0T2Zmc2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCURGODNFMjQ1MjYzOUZDRDUwMDA4
MjVFRiAvKiBSZXdyaXRlS2V5d29yZHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREY4M0UyMzQy
NjM5RkNENTAwMDgyNUVGIC8qIFJld3JpdGVPdXRBcmdzLmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3Iv
VHJhbnNsYXRvck1ldGFsRGlyZWN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9j
b21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC5jcHAKaW5kZXggNTVkNDcy
NTUwNjM5NDY4NTMyNDBmZTg0YzlhZjM1MWM1MWZlOGNkMy4uMmQ4NjIyMmJiM2Q4OWE1NWRjM2Yy
MjcwNWZhZGNmODBlMzI4YjkwNiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0LmNwcAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9y
TWV0YWxEaXJlY3QuY3BwCkBAIC0yMCw3ICsyMCw2IEBACiAjaW5jbHVkZSAiY29tcGlsZXIvdHJh
bnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvTmFtZS5oIgogI2luY2x1ZGUgImNvbXBpbGVy
L3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1JlZHVjZUludGVyZmFjZUJsb2Nrcy5o
IgogI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Jl
d3JpdGVDYXNlRGVjbGFyYXRpb25zLmgiCi0jaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci9U
cmFuc2xhdG9yTWV0YWxEaXJlY3QvUmV3cml0ZUdsb2JhbFF1YWxpZmllckRlY2xzLmgiCiAjaW5j
bHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvUmV3cml0ZUtl
eXdvcmRzLmgiCiAjaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxE
aXJlY3QvUmV3cml0ZU91dEFyZ3MuaCIKICNpbmNsdWRlICJjb21waWxlci90cmFuc2xhdG9yL1Ry
YW5zbGF0b3JNZXRhbERpcmVjdC9SZXdyaXRlUGlwZWxpbmVzLmgiCkBAIC0xNDAyLDExICsxNDAx
LDYgQEAgYm9vbCBUcmFuc2xhdG9yTWV0YWxEaXJlY3Q6OnRyYW5zbGF0ZUltcGwoVEludGVybUJs
b2NrICZyb290LCBTaENvbXBpbGVPcHRpb25zIGMKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IH0KIAotICAgIEludmFyaWFudHMgaW52YXJpYW50czsKLSAgICBpZiAoIVJld3JpdGVHbG9iYWxR
dWFsaWZpZXJEZWNscygqdGhpcywgcm9vdCwgaW52YXJpYW50cykpCi0gICAgewotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgfQogICAgIGNvbnN0IGJvb2wgbmVlZHNFeHBsaWNpdEJvb2xDYXN0
cyA9IChjb21waWxlT3B0aW9ucyAmIFNIX0FERF9FWFBMSUNJVF9CT09MX0NBU1RTKSAhPSAwOwog
ICAgIGlmICghQWRkRXhwbGljaXRUeXBlQ2FzdHMoKnRoaXMsIHJvb3QsIHN5bWJvbEVudiwgbmVl
ZHNFeHBsaWNpdEJvb2xDYXN0cykpCiAgICAgewpAQCAtMTQxNCw4ICsxNDA4LDggQEAgYm9vbCBU
cmFuc2xhdG9yTWV0YWxEaXJlY3Q6OnRyYW5zbGF0ZUltcGwoVEludGVybUJsb2NrICZyb290LCBT
aENvbXBpbGVPcHRpb25zIGMKICAgICB9CiAKICAgICBQaXBlbGluZVN0cnVjdHMgcGlwZWxpbmVT
dHJ1Y3RzOwotICAgIGlmICghUmV3cml0ZVBpcGVsaW5lcygqdGhpcywgcm9vdCwgaWRHZW4sIGRy
aXZlclVuaWZvcm1zLCBzeW1ib2xFbnYsIGludmFyaWFudHMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIHBpcGVsaW5lU3RydWN0cykpCisgICAgaWYgKCFSZXdyaXRlUGlwZWxpbmVzKCp0aGlz
LCByb290LCBnZXRJbnB1dFZhcnlpbmdzKCksIGdldE91dHB1dFZhcnlpbmdzKCksIGlkR2VuLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXJVbmlmb3Jtcywgc3ltYm9sRW52LCBwaXBl
bGluZVN0cnVjdHMpKQogICAgIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KQEAgLTE0
NTMsNyArMTQ0Nyw3IEBAIGJvb2wgVHJhbnNsYXRvck1ldGFsRGlyZWN0Ojp0cmFuc2xhdGVJbXBs
KFRJbnRlcm1CbG9jayAmcm9vdCwgU2hDb21waWxlT3B0aW9ucyBjCiAgICAgewogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQotICAgIGlmICghRW1pdE1ldGFsKCp0aGlzLCByb290LCBpZEdl
biwgcGlwZWxpbmVTdHJ1Y3RzLCBpbnZhcmlhbnRzLCBzeW1ib2xFbnYsIHBwYykpCisgICAgaWYg
KCFFbWl0TWV0YWwoKnRoaXMsIHJvb3QsIGlkR2VuLCBwaXBlbGluZVN0cnVjdHMsIHN5bWJvbEVu
diwgcHBjKSkKICAgICB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xh
dG9yTWV0YWxEaXJlY3QvRGlzY292ZXJEZXBlbmRlbnRGdW5jdGlvbnMuY3BwIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGly
ZWN0L0Rpc2NvdmVyRGVwZW5kZW50RnVuY3Rpb25zLmNwcAppbmRleCA0MmRmNDMwZTFhYjQxZTFi
MTdlMjRkN2Q2MjFiZjU1YzEyZWI5ZDFjLi5lMTQwOTFkMjk4NTI1NmQyN2Y2MGIyMDY3Yjk3MThl
NDA2YTFiMGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRGlzY292ZXJEZXBlbmRlbnRGdW5j
dGlvbnMuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFu
c2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9EaXNjb3ZlckRlcGVuZGVudEZ1bmN0aW9ucy5j
cHAKQEAgLTQzLDggKzQzLDEwIEBAIGNsYXNzIERpc2NvdmVyZXIgOiBwdWJsaWMgRGlzY292ZXJF
bmNsb3NpbmdGdW5jdGlvblRyYXZlcnNlcgogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAgICAgICAgIGNvbnN0IFRGdW5jdGlvbiAqb3duZXIgPSBkaXNjb3ZlckVuY2xvc2luZ0Z1bmN0
aW9uKHN5bWJvbE5vZGUpOwotICAgICAgICBBU1NFUlQob3duZXIpOwotICAgICAgICBtRGVwRnVu
Y3Rpb25zLmluc2VydChvd25lcik7CisgICAgICAgIGlmIChvd25lcikKKyAgICAgICAgeworICAg
ICAgICAgICAgbURlcEZ1bmN0aW9ucy5pbnNlcnQob3duZXIpOworICAgICAgICB9CiAgICAgfQog
CiAgICAgYm9vbCB2aXNpdEFnZ3JlZ2F0ZShWaXNpdCB2aXNpdCwgVEludGVybUFnZ3JlZ2F0ZSAq
YWdncmVnYXRlTm9kZSkgb3ZlcnJpZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9FbWl0TWV0
YWwuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3Iv
VHJhbnNsYXRvck1ldGFsRGlyZWN0L0VtaXRNZXRhbC5jcHAKaW5kZXggY2E2ZGEwMzY0MmI5ZjZl
YjIyMWIxODExZGNmNmQ1ZTY3ZTg3YzU1My4uMzFhMjgyMDYwMTU4MDVkNWY4NGEwN2I0ZTk1MTNl
MDBhNTA3NTQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBp
bGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L0VtaXRNZXRhbC5jcHAKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRv
ck1ldGFsRGlyZWN0L0VtaXRNZXRhbC5jcHAKQEAgLTg0LDcgKzg0LDYgQEAgY2xhc3MgR2VuTWV0
YWxUcmF2ZXJzZXIgOiBwdWJsaWMgVEludGVybVRyYXZlcnNlcgogICAgICAgICAgICAgICAgICAg
ICAgIFNpbmsgJm91dCwKICAgICAgICAgICAgICAgICAgICAgICBJZEdlbiAmaWRHZW4sCiAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgUGlwZWxpbmVTdHJ1Y3RzICZwaXBlbGluZVN0cnVjdHMs
Ci0gICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW52YXJpYW50cyAmaW52YXJpYW50cywKICAg
ICAgICAgICAgICAgICAgICAgICBTeW1ib2xFbnYgJnN5bWJvbEVudik7CiAKICAgICB2b2lkIHZp
c2l0U3ltYm9sKFRJbnRlcm1TeW1ib2wgKikgb3ZlcnJpZGU7CkBAIC0xODMsNyArMTgyLDYgQEAg
Y2xhc3MgR2VuTWV0YWxUcmF2ZXJzZXIgOiBwdWJsaWMgVEludGVybVRyYXZlcnNlcgogICAgIFNp
bmsgJm1PdXQ7CiAgICAgY29uc3QgVENvbXBpbGVyICZtQ29tcGlsZXI7CiAgICAgY29uc3QgUGlw
ZWxpbmVTdHJ1Y3RzICZtUGlwZWxpbmVTdHJ1Y3RzOwotICAgIGNvbnN0IEludmFyaWFudHMgJm1J
bnZhcmlhbnRzOwogICAgIFN5bWJvbEVudiAmbVN5bWJvbEVudjsKICAgICBJZEdlbiAmbUlkR2Vu
OwogICAgIGludCBtSW5kZW50TGV2ZWwgICAgICAgICAgID0gLTE7CkBAIC0yMTIsMTMgKzIxMCwx
MSBAQCBHZW5NZXRhbFRyYXZlcnNlcjo6R2VuTWV0YWxUcmF2ZXJzZXIoY29uc3QgVENvbXBpbGVy
ICZjb21waWxlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaW5rICZv
dXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWRHZW4gJmlkR2VuLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFBpcGVsaW5lU3RydWN0
cyAmcGlwZWxpbmVTdHJ1Y3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IEludmFyaWFudHMgJmludmFyaWFudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgU3ltYm9sRW52ICZzeW1ib2xFbnYpCiAgICAgOiBUSW50ZXJtVHJhdmVyc2Vy
KHRydWUsIGZhbHNlLCBmYWxzZSksCiAgICAgICBtT3V0KG91dCksCiAgICAgICBtQ29tcGlsZXIo
Y29tcGlsZXIpLAogICAgICAgbVBpcGVsaW5lU3RydWN0cyhwaXBlbGluZVN0cnVjdHMpLAotICAg
ICAgbUludmFyaWFudHMoaW52YXJpYW50cyksCiAgICAgICBtU3ltYm9sRW52KHN5bWJvbEVudiks
CiAgICAgICBtSWRHZW4oaWRHZW4pCiB7fQpAQCAtOTM3LDkgKzkzMywxMiBAQCB2b2lkIEdlbk1l
dGFsVHJhdmVyc2VyOjplbWl0UG9zdFF1YWxpZmllcihjb25zdCBFbWl0VmFyaWFibGVEZWNsYXJh
dGlvbkNvbmZpZyAmZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgVmFyRGVjbCAmZGVjbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IFRRdWFsaWZpZXIgcXVhbGlmaWVyKQogeworICAgIGJvb2wgaXNJbnZhcmlh
bnQgPSBmYWxzZTsKICAgICBzd2l0Y2ggKHF1YWxpZmllcikKICAgICB7CiAgICAgICAgIGNhc2Ug
VFF1YWxpZmllcjo6RXZxUG9zaXRpb246CisgICAgICAgICAgICBpc0ludmFyaWFudCA9IGRlY2wu
dHlwZSgpLmlzSW52YXJpYW50KCk7CisgICAgICAgICAgICAvLyBGYWxsdGhyb3VnaC4KICAgICAg
ICAgY2FzZSBUUXVhbGlmaWVyOjpFdnFGcmFnQ29vcmQ6CiAgICAgICAgICAgICBtT3V0IDw8ICIg
W1twb3NpdGlvbl1dIjsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtOTczLDkgKzk3Miw2IEBAIHZv
aWQgR2VuTWV0YWxUcmF2ZXJzZXI6OmVtaXRQb3N0UXVhbGlmaWVyKGNvbnN0IEVtaXRWYXJpYWJs
ZURlY2xhcmF0aW9uQ29uZmlnICZlCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICBj
b25zdCBib29sIGlzSW52YXJpYW50ID0KLSAgICAoZGVjbC5pc0ZpZWxkKCkgPyBtSW52YXJpYW50
cy5jb250YWlucyhkZWNsLmZpZWxkKCkpIDogbUludmFyaWFudHMuY29udGFpbnMoZGVjbC52YXJp
YWJsZSgpKSkgJiYgKHF1YWxpZmllciA9PSBUUXVhbGlmaWVyOjpFdnFQb3NpdGlvbiB8fCBxdWFs
aWZpZXIgPT0gVFF1YWxpZmllcjo6RXZxRnJhZ0Nvb3JkKTsKLQogICAgIGlmIChpc0ludmFyaWFu
dCkKICAgICB7CiAgICAgICAgIG1PdXQgPDwgIiBbW2ludmFyaWFudF1dIjsKQEAgLTIzNzgsNyAr
MjM3NCw2IEBAIGJvb2wgR2VuTWV0YWxUcmF2ZXJzZXI6OnZpc2l0QmxvY2soVmlzaXQsIFRJbnRl
cm1CbG9jayAqYmxvY2tOb2RlKQogCiBib29sIEdlbk1ldGFsVHJhdmVyc2VyOjp2aXNpdEdsb2Jh
bFF1YWxpZmllckRlY2xhcmF0aW9uKFZpc2l0LCBUSW50ZXJtR2xvYmFsUXVhbGlmaWVyRGVjbGFy
YXRpb24gKikKIHsKLSAgICBMT0dJQ19FUlJPUigpOyAgLy8gUmV3cml0ZUdsb2JhbFF1YWxpZmll
ckRlY2xzIHNob3VsZCBoYXZlIGJlZW4gY2FsbGVkIGJlZm9yZSB0aGlzLgogICAgIHJldHVybiBm
YWxzZTsKIH0KIApAQCAtMjYwNCw3ICsyNTk5LDYgQEAgYm9vbCBzaDo6RW1pdE1ldGFsKFRDb21w
aWxlciAmY29tcGlsZXIsCiAgICAgICAgICAgICAgICAgICAgVEludGVybUJsb2NrICZyb290LAog
ICAgICAgICAgICAgICAgICAgIElkR2VuICZpZEdlbiwKICAgICAgICAgICAgICAgICAgICBjb25z
dCBQaXBlbGluZVN0cnVjdHMgJnBpcGVsaW5lU3RydWN0cywKLSAgICAgICAgICAgICAgICAgICBj
b25zdCBJbnZhcmlhbnRzICZpbnZhcmlhbnRzLAogICAgICAgICAgICAgICAgICAgIFN5bWJvbEVu
diAmc3ltYm9sRW52LAogICAgICAgICAgICAgICAgICAgIGNvbnN0IFByb2dyYW1QcmVsdWRlQ29u
ZmlnICZwcGMpCiB7CkBAIC0yNjYzLDcgKzI2NTcsNyBAQCBib29sIHNoOjpFbWl0TWV0YWwoVENv
bXBpbGVyICZjb21waWxlciwKICNlbHNlCiAgICAgICAgIFRJbmZvU2lua0Jhc2UgJm91dFdyYXBw
ZXIgPSBvdXQ7CiAjZW5kaWYKLSAgICAgICAgR2VuTWV0YWxUcmF2ZXJzZXIgZ2VuKGNvbXBpbGVy
LCBvdXRXcmFwcGVyLCBpZEdlbiwgcGlwZWxpbmVTdHJ1Y3RzLCBpbnZhcmlhbnRzLCBzeW1ib2xF
bnYpOworICAgICAgICBHZW5NZXRhbFRyYXZlcnNlciBnZW4oY29tcGlsZXIsIG91dFdyYXBwZXIs
IGlkR2VuLCBwaXBlbGluZVN0cnVjdHMsIHN5bWJvbEVudik7CiAgICAgICAgIHJvb3QudHJhdmVy
c2UoJmdlbik7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1pdE1ldGFsLmgg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xh
dG9yTWV0YWxEaXJlY3QvRW1pdE1ldGFsLmgKaW5kZXggZDQ4YWY5YTFjODdkNTczY2FiNTI3Mjc1
YjRkMjMyY2NmMjRhNDFmMy4uYzM2OGJhNThlZDIwOWQzZDU0NmVmNTk2N2RkYWE3MzcxNDQxMGU5
YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L0VtaXRNZXRhbC5oCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVj
dC9FbWl0TWV0YWwuaApAQCAtMTEsNyArMTEsNiBAQAogI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5z
bGF0b3IvQ29tcGlsZXIuaCIKICNpbmNsdWRlICJjb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0
b3JNZXRhbERpcmVjdC9JZEdlbi5oIgogI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvVHJh
bnNsYXRvck1ldGFsRGlyZWN0L1Byb2dyYW1QcmVsdWRlLmgiCi0jaW5jbHVkZSAiY29tcGlsZXIv
dHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvUmV3cml0ZUdsb2JhbFF1YWxpZmllckRl
Y2xzLmgiCiAjaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJl
Y3QvUmV3cml0ZVBpcGVsaW5lcy5oIgogI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvVHJh
bnNsYXRvck1ldGFsRGlyZWN0L1N5bWJvbEVudi5oIgogCkBAIC0yMyw3ICsyMiw2IEBAIEFOR0xF
X05PX0RJU0NBUkQgYm9vbCBFbWl0TWV0YWwoVENvbXBpbGVyICZjb21waWxlciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVEludGVybUJsb2NrICZyb290LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBJZEdlbiAmaWRHZW4sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFBpcGVsaW5lU3RydWN0cyAmcGlwZWxpbmVTdHJ1Y3RzLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnZhcmlhbnRzICZpbnZhcmlhbnRzLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeW1ib2xFbnYgJnN5bWJvbEVudiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUHJvZ3JhbVByZWx1ZGVDb25maWcg
JnBwYyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxl
ci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9SZXdyaXRlR2xvYmFsUXVhbGlmaWVy
RGVjbHMuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0
b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Jld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5jcHAK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRhZDVhMzZjODFiNWM3MjQxOGE2YTliYWQx
NTVhM2M0NTM2YjZiZWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJh
bnNsYXRvck1ldGFsRGlyZWN0L1Jld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5jcHAKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMTQgKzAsMCBAQAotLy8KLS8vIENvcHlyaWdodCAyMDIwIFRoZSBBTkdM
RSBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBz
b3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJl
Ci0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLy8KLQotI2luY2x1ZGUgImNvbXBpbGVy
L3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Jld3JpdGVHbG9iYWxRdWFsaWZpZXJE
ZWNscy5oIgotI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGly
ZWN0L0RlYnVnLmgiCi0jaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvSW50
ZXJtUmVidWlsZC5oIgotCi11c2luZyBuYW1lc3BhY2Ugc2g7Ci0KLW5hbWVzcGFjZQotewotCi1j
bGFzcyBGaW5kRGVjbGFyZWRHbG9iYWxzIDogcHVibGljIFRJbnRlcm1SZWJ1aWxkCi17Ci0gIHB1
YmxpYzoKLSAgICBzdGQ6OnVub3JkZXJlZF9zZXQ8Y29uc3QgVFZhcmlhYmxlICo+IG1EZWNsYXJl
ZEdsb2JhbHM7Ci0KLSAgICBGaW5kRGVjbGFyZWRHbG9iYWxzKFRDb21waWxlciAmY29tcGlsZXIp
IDogVEludGVybVJlYnVpbGQoY29tcGlsZXIsIHRydWUsIGZhbHNlKSB7fQotCi0gICAgUHJlUmVz
dWx0IHZpc2l0RGVjbGFyYXRpb25QcmUoVEludGVybURlY2xhcmF0aW9uICZkZWNsTm9kZSkgb3Zl
cnJpZGUKLSAgICB7Ci0gICAgICAgIFRJbnRlcm1Ob2RlICpkZWNsYXJhdG9yTm9kZSA9IGRlY2xO
b2RlLmdldENoaWxkTm9kZSgwKTsKLSAgICAgICAgVEludGVybVN5bWJvbCAqc3ltYm9sTm9kZSAg
ID0gbnVsbHB0cjsKLQotICAgICAgICBpZiAoVEludGVybUJpbmFyeSAqaW5pdE5vZGUgPSBkZWNs
YXJhdG9yTm9kZS0+Z2V0QXNCaW5hcnlOb2RlKCkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHN5
bWJvbE5vZGUgPSBpbml0Tm9kZS0+Z2V0TGVmdCgpLT5nZXRBc1N5bWJvbE5vZGUoKTsKLSAgICAg
ICAgfQotICAgICAgICBlbHNlCi0gICAgICAgIHsKLSAgICAgICAgICAgIHN5bWJvbE5vZGUgPSBk
ZWNsYXJhdG9yTm9kZS0+Z2V0QXNTeW1ib2xOb2RlKCk7Ci0gICAgICAgIH0KLQotICAgICAgICBB
U1NFUlQoc3ltYm9sTm9kZSk7Ci0gICAgICAgIGNvbnN0IFRWYXJpYWJsZSAmdmFyID0gc3ltYm9s
Tm9kZS0+dmFyaWFibGUoKTsKLQotICAgICAgICBtRGVjbGFyZWRHbG9iYWxzLmluc2VydCgmdmFy
KTsKLQotICAgICAgICByZXR1cm4ge2RlY2xOb2RlLCBWaXNpdEJpdHM6Ok5laXRoZXJ9OwotICAg
IH0KLQotICAgIFByZVJlc3VsdCB2aXNpdEZ1bmN0aW9uRGVmaW5pdGlvblByZShUSW50ZXJtRnVu
Y3Rpb25EZWZpbml0aW9uICZub2RlKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgcmV0dXJuIHtu
b2RlLCBWaXNpdEJpdHM6Ok5laXRoZXJ9OwotICAgIH0KLX07Ci0KLWNsYXNzIFJld3JpdGVyIDog
cHVibGljIFRJbnRlcm1SZWJ1aWxkCi17Ci0gICAgY29uc3Qgc3RkOjp1bm9yZGVyZWRfc2V0PGNv
bnN0IFRWYXJpYWJsZSAqPiAmbURlY2xhcmVkR2xvYmFsczsKLSAgICBJbnZhcmlhbnRzICZtT3V0
SW52YXJpYW50czsKLQotICBwdWJsaWM6Ci0gICAgUmV3cml0ZXIoVENvbXBpbGVyICZjb21waWxl
ciwKLSAgICAgICAgICAgICBjb25zdCBzdGQ6OnVub3JkZXJlZF9zZXQ8Y29uc3QgVFZhcmlhYmxl
ICo+ICZkZWNsYXJlZEdsb2JhbHMsCi0gICAgICAgICAgICAgSW52YXJpYW50cyAmb3V0SW52YXJp
YW50cykKLSAgICAgICAgOiBUSW50ZXJtUmVidWlsZChjb21waWxlciwgdHJ1ZSwgZmFsc2UpLAot
ICAgICAgICAgIG1EZWNsYXJlZEdsb2JhbHMoZGVjbGFyZWRHbG9iYWxzKSwKLSAgICAgICAgICBt
T3V0SW52YXJpYW50cyhvdXRJbnZhcmlhbnRzKQotICAgIHt9Ci0KLSAgICBQcmVSZXN1bHQgdmlz
aXRHbG9iYWxRdWFsaWZpZXJEZWNsYXJhdGlvblByZSgKLSAgICAgICAgVEludGVybUdsb2JhbFF1
YWxpZmllckRlY2xhcmF0aW9uICZncURlY2xOb2RlKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAg
VEludGVybVN5bWJvbCAmc3ltYm9sTm9kZSA9ICpncURlY2xOb2RlLmdldFN5bWJvbCgpOwotICAg
ICAgICBjb25zdCBUVmFyaWFibGUgJnZhciAgICAgID0gc3ltYm9sTm9kZS52YXJpYWJsZSgpOwot
Ci0gICAgICAgIGlmIChncURlY2xOb2RlLmlzSW52YXJpYW50KCkpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIG1PdXRJbnZhcmlhbnRzLmluc2VydCh2YXIpOwotICAgICAgICB9Ci0KLSAgICAgICAg
aWYgKG1EZWNsYXJlZEdsb2JhbHMuZmluZCgmdmFyKSA9PSBtRGVjbGFyZWRHbG9iYWxzLmVuZCgp
KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gKm5ldyBUSW50ZXJtRGVjbGFyYXRpb257
JnN5bWJvbE5vZGV9OwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0K
LQotICAgIFByZVJlc3VsdCB2aXNpdERlY2xhcmF0aW9uUHJlKFRJbnRlcm1EZWNsYXJhdGlvbiAm
bm9kZSkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIHJldHVybiB7bm9kZSwgVmlzaXRCaXRzOjpO
ZWl0aGVyfTsKLSAgICB9Ci0KLSAgICBQcmVSZXN1bHQgdmlzaXRGdW5jdGlvbkRlZmluaXRpb25Q
cmUoVEludGVybUZ1bmN0aW9uRGVmaW5pdGlvbiAmbm9kZSkgb3ZlcnJpZGUKLSAgICB7Ci0gICAg
ICAgIHJldHVybiB7bm9kZSwgVmlzaXRCaXRzOjpOZWl0aGVyfTsKLSAgICB9Ci19OwotCi19ICAv
LyBhbm9ueW1vdXMgbmFtZXNwYWNlCi0KLWJvb2wgc2g6OlJld3JpdGVHbG9iYWxRdWFsaWZpZXJE
ZWNscyhUQ29tcGlsZXIgJmNvbXBpbGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFRJbnRlcm1CbG9jayAmcm9vdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBJbnZhcmlhbnRzICZvdXRJbnZhcmlhbnRzKQotewotICAgIEZpbmREZWNsYXJlZEds
b2JhbHMgZmRnKGNvbXBpbGVyKTsKLSAgICBpZiAoIWZkZy5yZWJ1aWxkUm9vdChyb290KSkKLSAg
ICB7Ci0gICAgICAgIExPR0lDX0VSUk9SKCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0KLSAgICBSZXdyaXRlciByZXdyaXRlcihjb21waWxlciwgZmRnLm1EZWNsYXJlZEdsb2JhbHMs
IG91dEludmFyaWFudHMpOwotICAgIGlmICghcmV3cml0ZXIucmVidWlsZFJvb3Qocm9vdCkpCi0g
ICAgewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRydWU7Ci19
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNs
YXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvUmV3cml0ZUdsb2JhbFF1YWxpZmllckRlY2xzLmgg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xh
dG9yTWV0YWxEaXJlY3QvUmV3cml0ZUdsb2JhbFF1YWxpZmllckRlY2xzLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDkxMzFiY2FmYmE2Y2YxN2ZhOWM5OGQ1MWVlODVjMzZkMzBlN2Y0
NTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFs
RGlyZWN0L1Jld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5oCisrKyAvZGV2L251bGwKQEAgLTEs
NDggKzAsMCBAQAotLy8KLS8vIENvcHlyaWdodCAyMDIwIFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgotLy8KLQotI2lmbmRlZiBDT01QSUxFUl9UUkFOU0xBVE9SX1RSQU5T
TEFUT1JNRVRBTERJUkVDVF9SRVdSSVRFR0xPQkFMUVVBTElGSUVSREVDTFNfSF8KLSNkZWZpbmUg
Q09NUElMRVJfVFJBTlNMQVRPUl9UUkFOU0xBVE9STUVUQUxESVJFQ1RfUkVXUklURUdMT0JBTFFV
QUxJRklFUkRFQ0xTX0hfCi0KLSNpbmNsdWRlIDx1bm9yZGVyZWRfc2V0PgotCi0jaW5jbHVkZSAi
Y29tcGlsZXIvdHJhbnNsYXRvci9Db21waWxlci5oIgotCi1uYW1lc3BhY2Ugc2gKLXsKLQotLy8g
VHJhY2tzIFRWYXJpYWJsZXMgYW5kIFRGaWVsZHMgdGhhdCBhcmUgbWFya2VkIGFzICJpbnZhcmlh
bnQiLgotY2xhc3MgSW52YXJpYW50cwotewotICBwdWJsaWM6Ci0gICAgdm9pZCBpbnNlcnQoY29u
c3QgVFZhcmlhYmxlICZ2YXIpIHsgbUludmFyaWFudHMuaW5zZXJ0KCZ2YXIpOyB9Ci0KLSAgICB2
b2lkIGluc2VydChjb25zdCBURmllbGQgJmZpZWxkKSB7IG1JbnZhcmlhbnRzLmluc2VydCgmZmll
bGQpOyB9Ci0KLSAgICBib29sIGNvbnRhaW5zKGNvbnN0IFRWYXJpYWJsZSAmdmFyKSBjb25zdAot
ICAgIHsKLSAgICAgICAgcmV0dXJuIG1JbnZhcmlhbnRzLmZpbmQoJnZhcikgIT0gbUludmFyaWFu
dHMuZW5kKCk7Ci0gICAgfQotCi0gICAgYm9vbCBjb250YWlucyhjb25zdCBURmllbGQgJmZpZWxk
KSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1JbnZhcmlhbnRzLmZpbmQoJmZpZWxkKSAh
PSBtSW52YXJpYW50cy5lbmQoKTsKLSAgICB9Ci0KLSAgcHJpdmF0ZToKLSAgICBzdGQ6OnVub3Jk
ZXJlZF9zZXQ8Y29uc3Qgdm9pZCAqPiBtSW52YXJpYW50czsKLX07Ci0KLS8vIFRoaXMgcmV3cml0
ZXMgVEludGVybUdsb2JhbFF1YWxpZmllckRlY2xhcmF0aW9ucyBhcyBUSW50ZXJtRGVjbGFyYXRp
b25zLgotLy8gYG91dEludmFyaWFudHNgIGlzIHBvcHVsYXRlZCB3aXRoIHRoZSBpbmZvcm1hdGlv
biB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZSBsb3N0IGJ5IHN1Y2ggYQotLy8gdHJhbnNmb3JtLgot
QU5HTEVfTk9fRElTQ0FSRCBib29sIFJld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscyhUQ29tcGls
ZXIgJmNvbXBpbGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBUSW50ZXJtQmxvY2sgJnJvb3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEludmFyaWFudHMgJm91dEludmFyaWFudHMpOwotCi19ICAv
LyBuYW1lc3BhY2Ugc2gKLQotI2VuZGlmICAvLyBDT01QSUxFUl9UUkFOU0xBVE9SX1RSQU5TTEFU
T1JNRVRBTERJUkVDVF9SRVdSSVRFR0xPQkFMUVVBTElGSUVSREVDTFNfSF8KZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0
b3JNZXRhbERpcmVjdC9SZXdyaXRlUGlwZWxpbmVzLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9SZXdyaXRl
UGlwZWxpbmVzLmNwcAppbmRleCAzMjdiNjgxMTNmMTNkNmM0NWY4MTI4ZDRiMzhlYzRmODUzNTM4
YWQ3Li4wMDE3MDg5NjY3YzMwN2I1OGRhOWY3NDExYmVkYWI2YzRmYmE3NTU2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xh
dG9yTWV0YWxEaXJlY3QvUmV3cml0ZVBpcGVsaW5lcy5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Jl
d3JpdGVQaXBlbGluZXMuY3BwCkBAIC0yNyw2ICsyNywyMCBAQCB1c2luZyBuYW1lc3BhY2Ugc2g7
CiBuYW1lc3BhY2UKIHsKIAorYm9vbCBJc1ZhcmlhYmxlSW52YXJpYW50KGNvbnN0IHN0ZDo6dmVj
dG9yPHNoOjpTaGFkZXJWYXJpYWJsZT4gJm1WYXJzLCBjb25zdCBJbW11dGFibGVTdHJpbmcgJm5h
bWUpCit7CisgICAgZm9yIChjb25zdCBhdXRvICZ2YXIgOiBtVmFycykKKyAgICB7CisgICAgICAg
IGlmIChuYW1lID09IHZhci5uYW1lKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdmFy
LmlzSW52YXJpYW50OworICAgICAgICB9CisgICAgfQorICAgIC8vIFRPRE86IHRoaXMgc2hvdWxk
IGJlIFVOUkVBQ0hBQkxFKCkgYnV0IGlzbid0IGJlY2F1c2UgdGhlIHRyYW5zbGF0b3IgZ2VuZXJh
dGVzCisgICAgLy8gZGVjbGFyYXRpb25zIHRvIHVudXNlZCBidWlsdC1pbiB2YXJpYWJsZXMuCisg
ICAgcmV0dXJuIGZhbHNlOworfQorCiB1c2luZyBWYXJpYWJsZVNldCAgPSBzdGQ6OnVub3JkZXJl
ZF9zZXQ8Y29uc3QgVFZhcmlhYmxlICo+OwogdXNpbmcgVmFyaWFibGVMaXN0ID0gc3RkOjp2ZWN0
b3I8Y29uc3QgVFZhcmlhYmxlICo+OwogCkBAIC02MCw3ICs3NCw3IEBAIGNsYXNzIEdlbmVyYXRl
UGlwZWxpbmVTdHJ1Y3QgOiBwcml2YXRlIFRJbnRlcm1SZWJ1aWxkCiAgIHByaXZhdGU6CiAgICAg
Y29uc3QgUGlwZWxpbmUgJm1QaXBlbGluZTsKICAgICBTeW1ib2xFbnYgJm1TeW1ib2xFbnY7Ci0g
ICAgSW52YXJpYW50cyAmbUludmFyaWFudHM7CisgICAgY29uc3Qgc3RkOjp2ZWN0b3I8c2g6OlNo
YWRlclZhcmlhYmxlPiogbVZhcmlhYmxlSW5mb3M7CiAgICAgVmFyaWFibGVMaXN0IG1QaXBlbGlu
ZVZhcmlhYmxlTGlzdDsKICAgICBJZEdlbiAmbUlkR2VuOwogICAgIFBpcGVsaW5lU3RydWN0SW5m
byBtSW5mbzsKQEAgLTcyLDkgKzg2LDkgQEAgY2xhc3MgR2VuZXJhdGVQaXBlbGluZVN0cnVjdCA6
IHByaXZhdGUgVEludGVybVJlYnVpbGQKICAgICAgICAgICAgICAgICAgICAgIElkR2VuICZpZEdl
biwKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFBpcGVsaW5lICZwaXBlbGluZSwKICAgICAg
ICAgICAgICAgICAgICAgIFN5bWJvbEVudiAmc3ltYm9sRW52LAotICAgICAgICAgICAgICAgICAg
ICAgSW52YXJpYW50cyAmaW52YXJpYW50cykKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
ZDo6dmVjdG9yPHNoOjpTaGFkZXJWYXJpYWJsZT4qIHZhcmlhYmxlSW5mb3MpCiAgICAgewotICAg
ICAgICBHZW5lcmF0ZVBpcGVsaW5lU3RydWN0IHNlbGYoY29tcGlsZXIsIGlkR2VuLCBwaXBlbGlu
ZSwgc3ltYm9sRW52LCBpbnZhcmlhbnRzKTsKKyAgICAgICAgR2VuZXJhdGVQaXBlbGluZVN0cnVj
dCBzZWxmKGNvbXBpbGVyLCBpZEdlbiwgcGlwZWxpbmUsIHN5bWJvbEVudiwgdmFyaWFibGVJbmZv
cyk7CiAgICAgICAgIGlmICghc2VsZi5leGVjKHJvb3QpKQogICAgICAgICB7CiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CkBAIC04OCwxMSArMTAyLDExIEBAIGNsYXNzIEdlbmVyYXRlUGlwZWxp
bmVTdHJ1Y3QgOiBwcml2YXRlIFRJbnRlcm1SZWJ1aWxkCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBJZEdlbiAmaWRHZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQaXBl
bGluZSAmcGlwZWxpbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeW1ib2xFbnYgJnN5
bWJvbEVudiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmFyaWFudHMgJmludmFyaWFu
dHMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnZlY3RvcjxzaDo6U2hh
ZGVyVmFyaWFibGU+KiB2YXJpYWJsZUluZm9zKQogICAgICAgICA6IFRJbnRlcm1SZWJ1aWxkKGNv
bXBpbGVyLCB0cnVlLCB0cnVlKSwKICAgICAgICAgICBtUGlwZWxpbmUocGlwZWxpbmUpLAogICAg
ICAgICAgIG1TeW1ib2xFbnYoc3ltYm9sRW52KSwKLSAgICAgICAgICBtSW52YXJpYW50cyhpbnZh
cmlhbnRzKSwKKyAgICAgICAgICBtVmFyaWFibGVJbmZvcyh2YXJpYWJsZUluZm9zKSwKICAgICAg
ICAgICBtSWRHZW4oaWRHZW4pCiAgICAge30KIApAQCAtMjEyLDcgKzIyNiw2IEBAIGNsYXNzIEdl
bmVyYXRlUGlwZWxpbmVTdHJ1Y3QgOiBwcml2YXRlIFRJbnRlcm1SZWJ1aWxkCiAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBUVmFyaWFibGUgKnZhciA6IG1QaXBlbGlu
ZVZhcmlhYmxlTGlzdCkKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIEFT
U0VSVCghbUludmFyaWFudHMuY29udGFpbnMoKnZhcikpOwogICAgICAgICAgICAgICAgICAgICBj
b25zdCBUVHlwZSAmdmFyVHlwZSAgICAgICAgID0gdmFyLT5nZXRUeXBlKCk7CiAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFRCYXNpY1R5cGUgc2FtcGxlclR5cGUgPSB2YXJUeXBlLmdldEJhc2lj
VHlwZSgpOwogCkBAIC0yNDcsMTMgKzI2MCwxMiBAQCBjbGFzcyBHZW5lcmF0ZVBpcGVsaW5lU3Ry
dWN0IDogcHJpdmF0ZSBUSW50ZXJtUmVidWlsZAogICAgICAgICAgICAgICAgIGZvciAoY29uc3Qg
VFZhcmlhYmxlICp2YXIgOiBtUGlwZWxpbmVWYXJpYWJsZUxpc3QpCiAgICAgICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgICAgICBhdXRvICZ0eXBlICA9IENsb25lVHlwZSh2YXItPmdldFR5
cGUoKSk7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gKmZpZWxkID0gbmV3IFRGaWVsZCgmdHlw
ZSwgdmFyLT5uYW1lKCksIGtOb1NvdXJjZUxvYywgdmFyLT5zeW1ib2xUeXBlKCkpOwotICAgICAg
ICAgICAgICAgICAgICBmaWVsZHMucHVzaF9iYWNrKGZpZWxkKTsKLQotICAgICAgICAgICAgICAg
ICAgICBpZiAobUludmFyaWFudHMuY29udGFpbnMoKnZhcikpCisgICAgICAgICAgICAgICAgICAg
IGlmIChtVmFyaWFibGVJbmZvcyAmJiBJc1ZhcmlhYmxlSW52YXJpYW50KCptVmFyaWFibGVJbmZv
cywgdmFyLT5uYW1lKCkpKQogICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBtSW52YXJpYW50cy5pbnNlcnQoKmZpZWxkKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHR5cGUuc2V0SW52YXJpYW50KHRydWUpOwogICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgICAgIGF1dG8gKmZpZWxkID0gbmV3IFRGaWVsZCgmdHlwZSwgdmFyLT5uYW1l
KCksIGtOb1NvdXJjZUxvYywgdmFyLT5zeW1ib2xUeXBlKCkpOworICAgICAgICAgICAgICAgICAg
ICBmaWVsZHMucHVzaF9iYWNrKGZpZWxkKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICBicmVhazsKQEAgLTg0OCwxMiArODYwLDEzIEBAIGJvb2wgVXBkYXRl
UGlwZWxpbmVTeW1ib2xzKFBpcGVsaW5lOjpUeXBlIHBpcGVsaW5lVHlwZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFBpcGVsaW5lU2NvcGVkPFRWYXJpYWJsZT4gcGlwZWxpbmVNYWluTG9j
YWxWYXIpCiB7CiAgICAgYXV0byBtYXAgPSBbJl0oY29uc3QgVEZ1bmN0aW9uICpvd25lciwgVElu
dGVybVN5bWJvbCAmc3ltYm9sKSAtPiBUSW50ZXJtTm9kZSAmIHsKKyAgICAgICAgaWYgKCFvd25l
cikKKyAgICAgICAgICAgIHJldHVybiBzeW1ib2w7CiAgICAgICAgIGNvbnN0IFRWYXJpYWJsZSAm
dmFyID0gc3ltYm9sLnZhcmlhYmxlKCk7CiAgICAgICAgIGlmIChwaXBlbGluZVZhcmlhYmxlcy5m
aW5kKCZ2YXIpID09IHBpcGVsaW5lVmFyaWFibGVzLmVuZCgpKQogICAgICAgICB7CiAgICAgICAg
ICAgICByZXR1cm4gc3ltYm9sOwogICAgICAgICB9Ci0gICAgICAgIEFTU0VSVChvd25lcik7CiAg
ICAgICAgIGNvbnN0IFRWYXJpYWJsZSAqc3RydWN0SW5zdGFuY2VWYXI7CiAgICAgICAgIGlmIChv
d25lci0+aXNNYWluKCkpCiAgICAgICAgIHsKQEAgLTg3OCw3ICs4OTEsNyBAQCBib29sIFJld3Jp
dGVQaXBlbGluZShUQ29tcGlsZXIgJmNvbXBpbGVyLAogICAgICAgICAgICAgICAgICAgICAgSWRH
ZW4gJmlkR2VuLAogICAgICAgICAgICAgICAgICAgICAgY29uc3QgUGlwZWxpbmUgJnBpcGVsaW5l
LAogICAgICAgICAgICAgICAgICAgICAgU3ltYm9sRW52ICZzeW1ib2xFbnYsCi0gICAgICAgICAg
ICAgICAgICAgICBJbnZhcmlhbnRzICZpbnZhcmlhbnRzLAorICAgICAgICAgICAgICAgICAgICAg
Y29uc3Qgc3RkOjp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiogdmFyaWFibGVJbmZvLAogICAg
ICAgICAgICAgICAgICAgICAgUGlwZWxpbmVTY29wZWQ8VFN0cnVjdHVyZT4gJm91dFN0cnVjdCkK
IHsKICAgICBBU1NFUlQob3V0U3RydWN0LmlzVG90YWxseUVtcHR5KCkpOwpAQCAtODg2LDcgKzg5
OSw3IEBAIGJvb2wgUmV3cml0ZVBpcGVsaW5lKFRDb21waWxlciAmY29tcGlsZXIsCiAgICAgVFN5
bWJvbFRhYmxlICZzeW1ib2xUYWJsZSA9IGNvbXBpbGVyLmdldFN5bWJvbFRhYmxlKCk7CiAKICAg
ICBQaXBlbGluZVN0cnVjdEluZm8gcHNpOwotICAgIGlmICghR2VuZXJhdGVQaXBlbGluZVN0cnVj
dDo6RXhlYyhwc2ksIGNvbXBpbGVyLCByb290LCBpZEdlbiwgcGlwZWxpbmUsIHN5bWJvbEVudiwg
aW52YXJpYW50cykpCisgICAgaWYgKCFHZW5lcmF0ZVBpcGVsaW5lU3RydWN0OjpFeGVjKHBzaSwg
Y29tcGlsZXIsIHJvb3QsIGlkR2VuLCBwaXBlbGluZSwgc3ltYm9sRW52LCB2YXJpYWJsZUluZm8p
KQogICAgIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KQEAgLTkzMiwxMCArOTQ1LDEx
IEBAIGJvb2wgUmV3cml0ZVBpcGVsaW5lKFRDb21waWxlciAmY29tcGlsZXIsCiAKIGJvb2wgc2g6
OlJld3JpdGVQaXBlbGluZXMoVENvbXBpbGVyICZjb21waWxlciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVEludGVybUJsb2NrICZyb290LAorICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdGQ6OnZlY3RvcjxzaDo6U2hhZGVyVmFyaWFibGU+ICZpbnB1dFZhcnlpbmdzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnZlY3RvcjxzaDo6U2hhZGVyVmFyaWFi
bGU+ICZvdXRwdXRWYXJ5aW5ncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgSWRHZW4gJmlk
R2VuLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBUVmFyaWFibGUgJmFuZ2xlVW5p
Zm9ybXNHbG9iYWxJbnN0YW5jZVZhciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgU3ltYm9s
RW52ICZzeW1ib2xFbnYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEludmFyaWFudHMgJmlu
dmFyaWFudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFBpcGVsaW5lU3RydWN0cyAmb3V0
U3RydWN0cykKIHsKICAgICBzdHJ1Y3QgSW5mbwpAQCAtOTQzLDI3ICs5NTcsMjggQEAgYm9vbCBz
aDo6UmV3cml0ZVBpcGVsaW5lcyhUQ29tcGlsZXIgJmNvbXBpbGVyLAogICAgICAgICBQaXBlbGlu
ZTo6VHlwZSBwaXBlbGluZVR5cGU7CiAgICAgICAgIFBpcGVsaW5lU2NvcGVkPFRTdHJ1Y3R1cmU+
ICZvdXRTdHJ1Y3Q7CiAgICAgICAgIGNvbnN0IFRWYXJpYWJsZSAqZ2xvYmFsSW5zdGFuY2VWYXI7
CisgICAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHNoOjpTaGFkZXJWYXJpYWJsZT4gKnZhcmlhYmxl
SW5mbzsKICAgICB9OwogCiAgICAgSW5mbyBpbmZvc1tdID0gewotICAgICAgICB7UGlwZWxpbmU6
OlR5cGU6Okluc3RhbmNlSWQsIG91dFN0cnVjdHMuaW5zdGFuY2VJZCwgbnVsbHB0cn0sCi0gICAg
ICAgIHtQaXBlbGluZTo6VHlwZTo6VGV4dHVyZSwgb3V0U3RydWN0cy50ZXh0dXJlLCBudWxscHRy
fSwKKyAgICAgICAge1BpcGVsaW5lOjpUeXBlOjpJbnN0YW5jZUlkLCBvdXRTdHJ1Y3RzLmluc3Rh
bmNlSWQsIG51bGxwdHIsIG51bGxwdHJ9LAorICAgICAgICB7UGlwZWxpbmU6OlR5cGU6OlRleHR1
cmUsIG91dFN0cnVjdHMudGV4dHVyZSwgbnVsbHB0ciwgbnVsbHB0cn0sCiAgICAgICAgIHtQaXBl
bGluZTo6VHlwZTo6Tm9uQ29uc3RhbnRHbG9iYWxzLCBvdXRTdHJ1Y3RzLm5vbkNvbnN0YW50R2xv
YmFscywgbnVsbHB0cn0sCiAgICAgICAgIHtQaXBlbGluZTo6VHlwZTo6QW5nbGVVbmlmb3Jtcywg
b3V0U3RydWN0cy5hbmdsZVVuaWZvcm1zLCAmYW5nbGVVbmlmb3Jtc0dsb2JhbEluc3RhbmNlVmFy
fSwKLSAgICAgICAge1BpcGVsaW5lOjpUeXBlOjpVc2VyVW5pZm9ybXMsIG91dFN0cnVjdHMudXNl
clVuaWZvcm1zLCBudWxscHRyfSwKLSAgICAgICAge1BpcGVsaW5lOjpUeXBlOjpWZXJ0ZXhJbiwg
b3V0U3RydWN0cy52ZXJ0ZXhJbiwgbnVsbHB0cn0sCi0gICAgICAgIHtQaXBlbGluZTo6VHlwZTo6
VmVydGV4T3V0LCBvdXRTdHJ1Y3RzLnZlcnRleE91dCwgbnVsbHB0cn0sCi0gICAgICAgIHtQaXBl
bGluZTo6VHlwZTo6RnJhZ21lbnRJbiwgb3V0U3RydWN0cy5mcmFnbWVudEluLCBudWxscHRyfSwK
LSAgICAgICAge1BpcGVsaW5lOjpUeXBlOjpGcmFnbWVudE91dCwgb3V0U3RydWN0cy5mcmFnbWVu
dE91dCwgbnVsbHB0cn0sCi0gICAgICAgIHtQaXBlbGluZTo6VHlwZTo6SW52b2NhdGlvblZlcnRl
eEdsb2JhbHMsIG91dFN0cnVjdHMuaW52b2NhdGlvblZlcnRleEdsb2JhbHMsIG51bGxwdHJ9LAot
ICAgICAgICB7UGlwZWxpbmU6OlR5cGU6Okludm9jYXRpb25GcmFnbWVudEdsb2JhbHMsIG91dFN0
cnVjdHMuaW52b2NhdGlvbkZyYWdtZW50R2xvYmFscywgbnVsbHB0cn0sCi0gICAgICAgIHtQaXBl
bGluZTo6VHlwZTo6VW5pZm9ybUJ1ZmZlciwgb3V0U3RydWN0cy51bmlmb3JtQnVmZmVycywgbnVs
bHB0cn0sCisgICAgICAgIHtQaXBlbGluZTo6VHlwZTo6VXNlclVuaWZvcm1zLCBvdXRTdHJ1Y3Rz
LnVzZXJVbmlmb3JtcywgbnVsbHB0ciwgbnVsbHB0cn0sCisgICAgICAgIHtQaXBlbGluZTo6VHlw
ZTo6VmVydGV4SW4sIG91dFN0cnVjdHMudmVydGV4SW4sIG51bGxwdHIsICZpbnB1dFZhcnlpbmdz
fSwKKyAgICAgICAge1BpcGVsaW5lOjpUeXBlOjpWZXJ0ZXhPdXQsIG91dFN0cnVjdHMudmVydGV4
T3V0LCBudWxscHRyLCAmb3V0cHV0VmFyeWluZ3N9LAorICAgICAgICB7UGlwZWxpbmU6OlR5cGU6
OkZyYWdtZW50SW4sIG91dFN0cnVjdHMuZnJhZ21lbnRJbiwgbnVsbHB0ciwgJmlucHV0VmFyeWlu
Z3N9LAorICAgICAgICB7UGlwZWxpbmU6OlR5cGU6OkZyYWdtZW50T3V0LCBvdXRTdHJ1Y3RzLmZy
YWdtZW50T3V0LCBudWxscHRyLCAmb3V0cHV0VmFyeWluZ3N9LAorICAgICAgICB7UGlwZWxpbmU6
OlR5cGU6Okludm9jYXRpb25WZXJ0ZXhHbG9iYWxzLCBvdXRTdHJ1Y3RzLmludm9jYXRpb25WZXJ0
ZXhHbG9iYWxzLCBudWxscHRyLCBudWxscHRyfSwKKyAgICAgICAge1BpcGVsaW5lOjpUeXBlOjpJ
bnZvY2F0aW9uRnJhZ21lbnRHbG9iYWxzLCBvdXRTdHJ1Y3RzLmludm9jYXRpb25GcmFnbWVudEds
b2JhbHMsIG51bGxwdHIsICZpbnB1dFZhcnlpbmdzfSwKKyAgICAgICAge1BpcGVsaW5lOjpUeXBl
OjpVbmlmb3JtQnVmZmVyLCBvdXRTdHJ1Y3RzLnVuaWZvcm1CdWZmZXJzLCBudWxscHRyLCBudWxs
cHRyfSwKICAgICB9OwogCiAgICAgZm9yIChJbmZvICZpbmZvIDogaW5mb3MpCiAgICAgewogICAg
ICAgICBQaXBlbGluZSBwaXBlbGluZXtpbmZvLnBpcGVsaW5lVHlwZSwgaW5mby5nbG9iYWxJbnN0
YW5jZVZhcn07Ci0gICAgICAgIGlmICghUmV3cml0ZVBpcGVsaW5lKGNvbXBpbGVyLCByb290LCBp
ZEdlbiwgcGlwZWxpbmUsIHN5bWJvbEVudiwgaW52YXJpYW50cywKKyAgICAgICAgaWYgKCFSZXdy
aXRlUGlwZWxpbmUoY29tcGlsZXIsIHJvb3QsIGlkR2VuLCBwaXBlbGluZSwgc3ltYm9sRW52LCBp
bmZvLnZhcmlhYmxlSW5mbywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5vdXRT
dHJ1Y3QpKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xh
dG9yTWV0YWxEaXJlY3QvUmV3cml0ZVBpcGVsaW5lcy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Jld3JpdGVQ
aXBlbGluZXMuaAppbmRleCA3OTFiYTgyYjRlOTY3N2QyYzI5NzRmOTE0YjdlMzQ4MGIwZTg5YjUw
Li5jYzRiZjQ1ZWMzN2U3OGRmMTViY2E1NzkwNmY1NTZkNTgxYjZiMWVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9y
TWV0YWxEaXJlY3QvUmV3cml0ZVBpcGVsaW5lcy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9SZXdyaXRl
UGlwZWxpbmVzLmgKQEAgLTExLDcgKzExLDYgQEAKICNpbmNsdWRlICJjb21waWxlci90cmFuc2xh
dG9yL0NvbXBpbGVyLmgiCiAjaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9y
TWV0YWxEaXJlY3QvSWRHZW4uaCIKICNpbmNsdWRlICJjb21waWxlci90cmFuc2xhdG9yL1RyYW5z
bGF0b3JNZXRhbERpcmVjdC9QaXBlbGluZS5oIgotI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0
b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1Jld3JpdGVHbG9iYWxRdWFsaWZpZXJEZWNscy5oIgog
I2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1N5bWJv
bEVudi5oIgogCiBuYW1lc3BhY2Ugc2gKQEAgLTM0LDEwICszMywxMSBAQCBuYW1lc3BhY2Ugc2gK
IC8vICAgICAgZnJvbSBgbWFpbmAuCiBBTkdMRV9OT19ESVNDQVJEIGJvb2wgUmV3cml0ZVBpcGVs
aW5lcyhUQ29tcGlsZXIgJmNvbXBpbGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVEludGVybUJsb2NrICZyb290LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8c2g6OlNoYWRlclZhcmlhYmxlPiAmaW5wdXRW
YXJ5aW5ncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
ZDo6dmVjdG9yPHNoOjpTaGFkZXJWYXJpYWJsZT4gJm91dHB1dFZhcmlhYmxlcywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElkR2VuICZpZEdlbiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFRWYXJpYWJsZSAmYW5nbGVVbmlmb3Jt
c0dsb2JhbEluc3RhbmNlVmFyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgU3ltYm9sRW52ICZzeW1ib2xFbnYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBJbnZhcmlhbnRzICZpbnZhcmlhbnRzLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgUGlwZWxpbmVTdHJ1Y3RzICZvdXRTdHJ1Y3RzKTsKIAogfSAgLy8gbmFt
ZXNwYWNlIHNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvU2VwYXJhdGVDb21wb3VuZEV4cHJl
c3Npb25zLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xh
dG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9TZXBhcmF0ZUNvbXBvdW5kRXhwcmVzc2lvbnMuY3Bw
CmluZGV4IDI5YTFlOGU5YWE0OTQyYWZjN2E5MGEwNTRjYTY0MWMyYmQ2YTJhNTMuLjY2MTgwZGY0
YjQwOGE1OWZhN2Y4Yjc5YTc1Y2M3MTc0YzQ1NTY3MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVj
dC9TZXBhcmF0ZUNvbXBvdW5kRXhwcmVzc2lvbnMuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9TZXBh
cmF0ZUNvbXBvdW5kRXhwcmVzc2lvbnMuY3BwCkBAIC02MTksNyArNjE5LDYgQEAgY2xhc3MgU2Vw
YXJhdG9yIDogcHVibGljIFRJbnRlcm1SZWJ1aWxkCiAKICAgICBQb3N0UmVzdWx0IHZpc2l0R2xv
YmFsUXVhbGlmaWVyRGVjbGFyYXRpb25Qb3N0KFRJbnRlcm1HbG9iYWxRdWFsaWZpZXJEZWNsYXJh
dGlvbiAmbm9kZSkgb3ZlcnJpZGUKICAgICB7Ci0gICAgICAgIEFTU0VSVChmYWxzZSk7ICAvLyBU
aGVzZSBzaG91bGQgYmUgc2NydWJiZWQgZnJvbSBBU1QgYmVmb3JlIHJld3JpdGVyIGlzIGNhbGxl
ZC4KICAgICAgICAgcHVzaFN0bXQobm9kZSk7CiAgICAgICAgIHJldHVybiBub2RlOwogICAgIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkMTU3NDg0YzBjNDIxMzFmYTU5ZDFiNDZlNjQyOTE2MmYxZTVhMjFlLi4yZjdiOGU1
ZmM4MzcxNjFmYmYxN2QwZTQ2NDFhOGQ0MzRkODk3ZGY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMjEtMDgtMjYgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAg
ICAgICB3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS9nbHNsL21pc2MvZnJhZ2NvbG9yLWZyYWdkYXRh
LWludmFyaWFudC5odG1sIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjMzMTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1NzcyNjU5Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgRml4ZXMgdGVz
dHM6CisgICAgICAgd2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvZ2xzbC9taXNjL2ZyYWdjb2xvci1m
cmFnZGF0YS1pbnZhcmlhbnQuaHRtbAorICAgICAgIHdlYmdsLzIuMC55L2NvbmZvcm1hbmNlL2ds
c2wvbWlzYy9mcmFnY29sb3ItZnJhZ2RhdGEtaW52YXJpYW50Lmh0bWwKKworICAgICAgICAqIFRl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgIE1hcmsgdGhlIHNraXBwZWQgdGVzdHMgYXMgUGFzcyB1
bnRpbCBhbGwgMS4wLngvMi4wLnkgdGVzdHMKKyAgICAgICAgYXJlIHVuc2tpcHBlZC4KKwogMjAy
MS0wOC0yNiAgRW5yaXF1ZSBPY2HDsWEgR29uesOhbGV6ICA8ZW9jYW5oYUBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHU3RyZWFtZXJdW01TRV0gSW1wbGVtZW50IHRoZSAic2VxdWVuY2UiIG1vZGUg
aW4gU291cmNlQnVmZmVyIGZvciB0aGUgR1N0cmVhbWVyIHBvcnRzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCA2YmRlMmY5NGVhZDIxN2I4NjQ0MzI1NzE4YzFmNGM2MjExZjI3NjcwLi4wYTE2ZGJjZTRm
NGYxYjViMzZlZGFkMzQ0MzVkZmQ5NjA2MzEzYWU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM2
NjgsNiArMzY2OCw4IEBAIHdlYmdsLzEuMC54L2NvbmZvcm1hbmNlL2NhbnZhcy90by1kYXRhLXVy
bC10ZXN0Lmh0bWwgWyBQYXNzIF0KIHdlYmdsLzEuMC54L2NvbmZvcm1hbmNlL21pc2MvaW52YWxp
ZC1wYXNzZWQtcGFyYW1zLmh0bWwgWyBQYXNzIF0KIHdlYmdsLzEuMC54L2NvbmZvcm1hbmNlL2ds
c2wvYnVncy9jaGFyYWN0ZXItc2V0Lmh0bWwgWyBQYXNzIF0KIHdlYmdsLzEuMC54L2NvbmZvcm1h
bmNlL3RleHR1cmVzL21pc2MvdGV4dHVyZS1jb3JuZXItY2FzZS12aWRlb3MuaHRtbCBbIFBhc3Mg
XQord2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvZ2xzbC9taXNjL2ZyYWdjb2xvci1mcmFnZGF0YS1p
bnZhcmlhbnQuaHRtbCBbIFBhc3MgXQorCiAKICMgV2ViR0wgY29uZm9ybWFuY2UgdGVzdCBzdWl0
ZSAyLjAuMSBpcyBza2lwcGVkIHVudGlsIDIuMC4wIGlzIHJldGlyZWQuCiB3ZWJnbC8yLjAueSBb
IFNraXAgXQpAQCAtMzY3Nyw2ICszNjc5LDcgQEAgd2ViZ2wvMi4wLnkvY29uZm9ybWFuY2UvY2Fu
dmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCBbIFBhc3MgXQogd2ViZ2wvMi4wLnkvY29uZm9ybWFu
Y2UvbWlzYy9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbCBbIFBhc3MgXQogd2ViZ2wvMi4wLnkv
Y29uZm9ybWFuY2UvZ2xzbC9idWdzL2NoYXJhY3Rlci1zZXQuaHRtbCBbIFBhc3MgXQogd2ViZ2wv
Mi4wLnkvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXh0dXJlLWNvcm5lci1jYXNlLXZpZGVv
cy5odG1sIFsgUGFzcyBdCit3ZWJnbC8yLjAueS9jb25mb3JtYW5jZS9nbHNsL21pc2MvZnJhZ2Nv
bG9yLWZyYWdkYXRhLWludmFyaWFudC5odG1sIFsgUGFzcyBdCiAKICMgV2ViR0wgMS4wLjMgYW5k
IDIuMC4wIHRlc3RzIHdoZXJlIGJlaGF2aW9yIGlzIG9ic29sZXRlIGFuZCBXZWJLaXQgY29udGFp
bnMgaW1wbGVtZW50YXRpb24KICMgYW5kIHRlc3RzIGZvciB0aGUgbmV3IGJlaGF2aW9yLiBTaG91
bGQgYmUgcmVtb3ZlZCBvbmNlIDEuMC4zIGFuZCAyLjAuMCBhcmUgcmV0aXJlZC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>