<?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>232472</bug_id>
          
          <creation_ts>2021-10-29 00:25:05 -0700</creation_ts>
          <short_desc>REGRESSION(Safari 15, Catalina): Crashes at Intel driver flush</short_desc>
          <delta_ts>2022-08-11 03:03:52 -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>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</resolution>
          
          <see_also>https://bugs.chromium.org/p/chromium/issues/detail?id=1257538</see_also>
    
    <see_also>https://bugs.chromium.org/p/chromium/issues/detail?id=1181068</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>232473</dependson>
    
    <dependson>232474</dependson>
    
    <dependson>232475</dependson>
    
    <dependson>232476</dependson>
    
    <dependson>232477</dependson>
    
    <dependson>232478</dependson>
          
          <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>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1809984</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-10-29 00:25:05 -0700</bug_when>
    <thetext>REGRESSION(Safari 15, Catalina): Crashes at Intel driver flush</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809986</commentid>
    <comment_count>1</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-10-29 00:25:35 -0700</bug_when>
    <thetext>&lt;rdar://84184614&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810035</commentid>
    <comment_count>2</comment_count>
      <attachid>442807</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-10-29 05:21:57 -0700</bug_when>
    <thetext>Created attachment 442807
All for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810044</commentid>
    <comment_count>3</comment_count>
      <attachid>442809</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-10-29 05:44:07 -0700</bug_when>
    <thetext>Created attachment 442809
All for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810045</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-10-29 05:44:57 -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>1810049</commentid>
    <comment_count>5</comment_count>
      <attachid>442811</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-10-29 06:00:37 -0700</bug_when>
    <thetext>Created attachment 442811
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1890534</commentid>
    <comment_count>6</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-08-11 03:03:52 -0700</bug_when>
    <thetext>fixed as part of ANGLE update.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442807</attachid>
            <date>2021-10-29 05:21:57 -0700</date>
            <delta_ts>2021-10-29 05:44:02 -0700</delta_ts>
            <desc>All for EWS</desc>
            <filename>bug-232472-20211029152155.patch</filename>
            <type>text/plain</type>
            <size>33397</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggODI2ZWVmNjJmZWE3MDNhMzkxNTY1YzMzMjU5YTM5MDg3NDcwN2NlOC4uZGVlYTczYzE3OWFl
YzA1MzFjNDI1MmY4NWUzMTQwOWM4NmI2ODQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyMiBAQAorMjAyMS0xMC0yOSAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVu
ZW5AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04oU2FmYXJpIDE1LCBDYXRhbGluYSk6
IENyYXNoZXMgYXQgSW50ZWwgZHJpdmVyIGZsdXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI0NzIKKyAgICAgICAgPHJkYXI6Ly84NDE4NDYxND4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3IgRVdT
LgorCisyMDIxLTEwLTI5ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisK
KyAgICAgICAgQU5HTEUgT3BlbkdMOiBDaGVycnktcGljayBjb21taXQgR0w6IEZpeCBidWcgd2l0
aDogU2tpcCByZWR1bmRhbnQgZmx1c2hlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMjQ3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEZyb20gZWNmMjdjNzE3ZjQ3OGZjMGRmYzg4MGE5ODI3OTNmYjEy
MDI4NDQzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKKyAgICAgICAgRnJvbTogSWFuIEVsbGlv
dHQgPGlhbmVsbGlvdHRAZ29vZ2xlLmNvbT4KKyAgICAgICAgRGF0ZTogV2VkLCAxNiBKdW4gMjAy
MSAxMzoxMzozMSAtMDYwMAorICAgICAgICBHTDogRml4IGJ1ZyB3aXRoOiBTa2lwIHJlZHVuZGFu
dCBmbHVzaGVzLgorCisgICAgICAgIFRoZSBBTkdMRS1pbnRvLVNraWEgYXV0b3JvbGxlciBpcyBi
bG9ja2VkIGJlY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBDTDoKKyAgICAgICAgaHR0cHM6Ly9jaHJv
bWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2FuZ2xlL2FuZ2xlLysvMjk1NjQ1MworCisg
ICAgICAgIE1pY2hhZWwgTHVkd2lnLCBhIFNraWEgZW5naW5lZXIsIGZvdW5kIHRoYXQgdGhpcyBj
aGFuZ2UgZml4ZXMgdGhlCisgICAgICAgIHByb2JsZW0gYW5kIHdpbGwgdW5ibG9jayB0aGUgYXV0
by1yb2xsZXIuCisKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvRmVuY2VOVkdM
LmNwcDoKKyAgICAgICAgKHJ4OjpGZW5jZU5WR0w6OnNldCk6CisKKzIwMjEtMTAtMjkgIEtpbW1v
IEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBBTkdMRSBPcGVuR0w6
IENoZXJyeS1waWNrIGNvbW1pdCBHTDogUmVzcGVjdCBUZXhTdWJJbWFnZSB1cGxvYWQgbGltaXRz
IGZvciByb2J1c3QgaW5pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMyNDc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRnJvbSA4MzMzZDA2MTQ0MWVmZGYyYjdmMzUwZTRmMTI5ODFkZDZlYjBkZTI0IE1v
biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorICAgICAgICBGcm9tOiBHZW9mZiBMYW5nIDxnZW9mZmxh
bmdAZ29vZ2xlLmNvbT4KKyAgICAgICAgRGF0ZTogTW9uLCAxNCBKdW4gMjAyMSAxMTowMTozNSAt
MDQwMAorICAgICAgICBHTDogUmVzcGVjdCBUZXhTdWJJbWFnZSB1cGxvYWQgbGltaXRzIGZvciBy
b2J1c3QgaW5pdAorCisgICAgICAgIFRoZSBjaHVua2VkX3RleHR1cmVfdXBsb2FkIHNwbGl0cyB0
ZXh0dXJlIHVwbG9hZHMgZm9yIGdsVGV4U3ViSW1hZ2UKKyAgICAgICAgY2FsbHMgYnV0IEFOR0xF
IHVzZXMgZ2xUZXhTdWJJbWFnZSBpbnRlcm5hbGx5IGZvciByb2J1c3QgcmVzb3VyY2UKKyAgICAg
ICAgaW5pdGlhbGl6YXRpb24uIEFsc28gY2h1bmsgdGhvc2UgdXBsb2Fkcy4KKworICAgICAgICAq
IGluY2x1ZGUvcGxhdGZvcm0vRmVhdHVyZXNHTC5oOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9y
ZW5kZXJlci9nbC9UZXh0dXJlR0wuY3BwOgorICAgICAgICAocng6OlRleHR1cmVHTDo6c2V0U3Vi
SW1hZ2UpOgorICAgICAgICAocng6OlRleHR1cmVHTDo6aW5pdGlhbGl6ZUNvbnRlbnRzKToKKwor
MjAyMS0xMC0yOSAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAg
ICAgIEFOR0xFIE9wZW5HTDogQ2hlcnJ5LXBpY2sgY29tbWl0ICBSZWxhbmQ6IEdMOiBTa2lwIHJl
ZHVuZGFudCBmbHVzaGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMyNDc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRnJvbSAyMjJhODFjZmFhZjBiZTY0ZTY0ZmUxZThlYzA0NzUzZTI4NzUzMmZlIE1v
biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorICAgICAgICBGcm9tOiBHZW9mZiBMYW5nIDxnZW9mZmxh
bmdAZ29vZ2xlLmNvbT4KKyAgICAgICAgRGF0ZTogRnJpLCAxMSBKdW4gMjAyMSAxNDozNDo1MiAt
MDQwMAorICAgICAgICBTdWJqZWN0OiBbUEFUQ0hdIFJlbGFuZDogR0w6IFNraXAgcmVkdW5kYW50
IGZsdXNoZXMuCisKKyAgICAgICAgU2tpcCBmbHVzaGVzIHdoZW4gdGhlcmUgaXMgbm8gd29yayBz
dWJtaXR0ZWQgc2luY2UgdGhlIGxhc3QKKyAgICAgICAgZmx1c2guCisKKyAgICAgICAgKiBzcmMv
bGliQU5HTEUvcmVuZGVyZXIvZ2wvQnVmZmVyR0wuY3BwOgorICAgICAgICAocng6OkJ1ZmZlckdM
OjpzZXREYXRhKToKKyAgICAgICAgKHJ4OjpCdWZmZXJHTDo6c2V0U3ViRGF0YSk6CisgICAgICAg
IChyeDo6QnVmZmVyR0w6OmNvcHlTdWJEYXRhKToKKyAgICAgICAgKHJ4OjpCdWZmZXJHTDo6bWFw
KToKKyAgICAgICAgKHJ4OjpCdWZmZXJHTDo6bWFwUmFuZ2UpOgorICAgICAgICAocng6OkJ1ZmZl
ckdMOjp1bm1hcCk6CisgICAgICAgIChyeDo6QnVmZmVyR0w6OmdldEluZGV4UmFuZ2UpOgorICAg
ICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0R0wuY3BwOgorICAgICAgICAo
cng6OkNvbnRleHRHTDo6ZHJhd0FycmF5cyk6CisgICAgICAgIChyeDo6Q29udGV4dEdMOjpkcmF3
QXJyYXlzSW5zdGFuY2VkKToKKyAgICAgICAgKHJ4OjpDb250ZXh0R0w6OmRyYXdBcnJheXNJbnN0
YW5jZWRCYXNlSW5zdGFuY2UpOgorICAgICAgICAocng6OkNvbnRleHRHTDo6ZHJhd0VsZW1lbnRz
KToKKyAgICAgICAgKHJ4OjpDb250ZXh0R0w6OmRyYXdFbGVtZW50c0Jhc2VWZXJ0ZXgpOgorICAg
ICAgICAocng6OkNvbnRleHRHTDo6ZHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleCk6Cisg
ICAgICAgIChyeDo6Q29udGV4dEdMOjpkcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNlVmVydGV4QmFz
ZUluc3RhbmNlKToKKyAgICAgICAgKHJ4OjpDb250ZXh0R0w6OmRyYXdSYW5nZUVsZW1lbnRzKToK
KyAgICAgICAgKHJ4OjpDb250ZXh0R0w6OmRyYXdSYW5nZUVsZW1lbnRzQmFzZVZlcnRleCk6Cisg
ICAgICAgIChyeDo6Q29udGV4dEdMOjpkcmF3QXJyYXlzSW5kaXJlY3QpOgorICAgICAgICAocng6
OkNvbnRleHRHTDo6bXVsdGlEcmF3QXJyYXlzKToKKyAgICAgICAgKHJ4OjpDb250ZXh0R0w6Om11
bHRpRHJhd0FycmF5c0luc3RhbmNlZCk6CisgICAgICAgIChyeDo6Q29udGV4dEdMOjptdWx0aURy
YXdFbGVtZW50cyk6CisgICAgICAgIChyeDo6Q29udGV4dEdMOjptdWx0aURyYXdFbGVtZW50c0lu
c3RhbmNlZCk6CisgICAgICAgIChyeDo6Q29udGV4dEdMOjptdWx0aURyYXdBcnJheXNJbnN0YW5j
ZWRCYXNlSW5zdGFuY2UpOgorICAgICAgICAocng6OkNvbnRleHRHTDo6bXVsdGlEcmF3RWxlbWVu
dHNJbnN0YW5jZWRCYXNlVmVydGV4QmFzZUluc3RhbmNlKToKKyAgICAgICAgKHJ4OjpDb250ZXh0
R0w6Om1hcmtXb3JrU3VibWl0dGVkKToKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIv
Z2wvQ29udGV4dEdMLmg6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0ZlbmNl
TlZHTC5jcHA6CisgICAgICAgIChyeDo6RmVuY2VOVlN5bmNHTDo6c2V0KToKKyAgICAgICAgKiBz
cmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvRnJhbWVidWZmZXJHTC5jcHA6CisgICAgICAgIChyeDo6
RnJhbWVidWZmZXJHTDo6Y2xlYXIpOgorICAgICAgICAocng6OkZyYW1lYnVmZmVyR0w6OmNsZWFy
QnVmZmVyZnYpOgorICAgICAgICAocng6OkZyYW1lYnVmZmVyR0w6OmNsZWFyQnVmZmVydWl2KToK
KyAgICAgICAgKHJ4OjpGcmFtZWJ1ZmZlckdMOjpjbGVhckJ1ZmZlcml2KToKKyAgICAgICAgKHJ4
OjpGcmFtZWJ1ZmZlckdMOjpjbGVhckJ1ZmZlcmZpKToKKyAgICAgICAgKHJ4OjpGcmFtZWJ1ZmZl
ckdMOjpibGl0KToKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvUXVlcnlHTC5j
cHA6CisgICAgICAgIChyeDo6U3RhbmRhcmRRdWVyeUdMOjpyZXN1bWUpOgorICAgICAgICAocng6
OlN5bmNQcm92aWRlckdMU3luYzo6U3luY1Byb3ZpZGVyR0xTeW5jKToKKyAgICAgICAgKHJ4OjpT
eW5jUXVlcnlHTDo6ZW5kKToKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvUmVu
ZGVyZXJHTC5jcHA6CisgICAgICAgIChyeDo6UmVuZGVyZXJHTDo6Zmx1c2gpOgorICAgICAgICAo
cng6OlJlbmRlcmVyR0w6OmZpbmlzaCk6CisgICAgICAgIChyeDo6UmVuZGVyZXJHTDo6ZGlzcGF0
Y2hDb21wdXRlKToKKyAgICAgICAgKHJ4OjpSZW5kZXJlckdMOjpkaXNwYXRjaENvbXB1dGVJbmRp
cmVjdCk6CisgICAgICAgIChyeDo6UmVuZGVyZXJHTDo6bWVtb3J5QmFycmllcik6CisgICAgICAg
IChyeDo6UmVuZGVyZXJHTDo6bWVtb3J5QmFycmllckJ5UmVnaW9uKToKKyAgICAgICAgKHJ4OjpS
ZW5kZXJlckdMOjptYXJrV29ya1N1Ym1pdHRlZCk6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL2dsL1JlbmRlcmVyR0wuaDoKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIv
Z2wvU3luY0dMLmNwcDoKKyAgICAgICAgKHJ4OjpTeW5jR0w6OnNldCk6CisKIDIwMjEtMTAtMjkg
IEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBBTkdMRSBP
cGVuR0w6IENoZXJyeS1waWNrIGNvbW1pdCBHTDogQ2h1bmsgdXBsb2FkcyBvZiB0ZXh0dXJlIGRh
dGEgPjEyMGtiIG9uIE1hYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2lu
Y2x1ZGUvcGxhdGZvcm0vRmVhdHVyZXNHTC5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5j
bHVkZS9wbGF0Zm9ybS9GZWF0dXJlc0dMLmgKaW5kZXggMTc0MTZjZTM4ZTQ5ODkwMTgwMGE4MzY5
OGVjMjg4YjA5YjkyYTNjMS4uN2NiMWYzODM1MWQ4OTE3MjdjNmRiMDFmNDNmY2M0ZjdjN2U3NWVi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5jbHVkZS9wbGF0Zm9ybS9G
ZWF0dXJlc0dMLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvaW5jbHVkZS9wbGF0Zm9y
bS9GZWF0dXJlc0dMLmgKQEAgLTUxNCw3ICs1MTQsOCBAQCBzdHJ1Y3QgRmVhdHVyZXNHTCA6IEZl
YXR1cmVTZXRCYXNlCiAKICAgICAvLyBNYWMgT3BlbkdMIGRyaXZlcnMgb2Z0ZW4gaGFuZyB3aGVu
IGNhbGxpbmcgZ2xUZXhTdWJJbWFnZSB3aXRoID4xMjBrYiBvZiBkYXRhLiBJbnN0ZWFkLCB1cGxv
YWQKICAgICAvLyB0aGUgZGF0YSBpbiA8MTIwa2IgY2h1bmtzLgotICAgIEZlYXR1cmUgdXBsb2Fk
VGV4dHVyZURhdGFJbkNodW5rcyA9IHsKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IHNpemVf
dCBrVXBsb2FkVGV4dHVyZURhdGFJbkNodW5rc1VwbG9hZFNpemUgPSAoMTIwICogMTAyNCkgLSAx
OworICAgIEZlYXR1cmUgdXBsb2FkVGV4dHVyZURhdGFJbkNodW5rcyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IHsKICAgICAgICAgImNodW5rZWRfdGV4dHVyZV91cGxvYWQiLCBG
ZWF0dXJlQ2F0ZWdvcnk6Ok9wZW5HTFdvcmthcm91bmRzLAogICAgICAgICAiVXBsb2FkIHRleHR1
cmUgZGF0YSBpbiA8MTIwa2IgY2h1bmtzIHRvIHdvcmsgYXJvdW5kIE1hYyBkcml2ZXIgaGFuZ3Mg
YW5kIGNyYXNoZXMuIiwKICAgICAgICAgJm1lbWJlcnMsICJodHRwOi8vY3JidWcuY29tLzExODEw
NjgifTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9nbC9CdWZmZXJHTC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvZ2wvQnVmZmVyR0wuY3BwCmluZGV4IDRmNWMxOGU4ZTdiYTllMzhlNTYy
NzA3NDZlODZjNjcyNmU1NmM0NjkuLmFkZmVkN2FlNzhmODJmNDA2YTJhZmY1MTQ0MjMwNGYyZWVl
YjY5ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9nbC9CdWZmZXJHTC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL2dsL0J1ZmZlckdMLmNwcApAQCAtODAsNiArODAsOCBAQCBhbmds
ZTo6UmVzdWx0IEJ1ZmZlckdMOjpzZXREYXRhKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAog
CiAgICAgbUJ1ZmZlclNpemUgPSBzaXplOwogCisgICAgY29udGV4dEdMLT5tYXJrV29ya1N1Ym1p
dHRlZCgpOworCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC04
OSw2ICs5MSw3IEBAIGFuZ2xlOjpSZXN1bHQgQnVmZmVyR0w6OnNldFN1YkRhdGEoY29uc3QgZ2w6
OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp
emVfdCBzaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgb2Zm
c2V0KQogeworICAgIENvbnRleHRHTCAqY29udGV4dEdMICAgICAgICAgICAgICA9IEdldEltcGxB
czxDb250ZXh0R0w+KGNvbnRleHQpOwogICAgIGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMg
ICAgICA9IEdldEZ1bmN0aW9uc0dMKGNvbnRleHQpOwogICAgIFN0YXRlTWFuYWdlckdMICpzdGF0
ZU1hbmFnZXIgICAgICA9IEdldFN0YXRlTWFuYWdlckdMKGNvbnRleHQpOwogICAgIGNvbnN0IGFu
Z2xlOjpGZWF0dXJlc0dMICZmZWF0dXJlcyA9IEdldEZlYXR1cmVzR0woY29udGV4dCk7CkBAIC0x
MDIsNiArMTA1LDggQEAgYW5nbGU6OlJlc3VsdCBCdWZmZXJHTDo6c2V0U3ViRGF0YShjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgbWVtY3B5KG1TaGFkb3dDb3B5LmRhdGEoKSAr
IG9mZnNldCwgZGF0YSwgc2l6ZSk7CiAgICAgfQogCisgICAgY29udGV4dEdMLT5tYXJrV29ya1N1
Ym1pdHRlZCgpOworCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBA
IC0xMTEsNiArMTE2LDcgQEAgYW5nbGU6OlJlc3VsdCBCdWZmZXJHTDo6Y29weVN1YkRhdGEoY29u
c3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBHTGludHB0ciBkZXN0T2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xzaXplaXB0ciBzaXplKQogeworICAgIENvbnRleHRHTCAqY29udGV4dEdMICAgICAg
ICAgICAgICA9IEdldEltcGxBczxDb250ZXh0R0w+KGNvbnRleHQpOwogICAgIGNvbnN0IEZ1bmN0
aW9uc0dMICpmdW5jdGlvbnMgICAgICA9IEdldEZ1bmN0aW9uc0dMKGNvbnRleHQpOwogICAgIFN0
YXRlTWFuYWdlckdMICpzdGF0ZU1hbmFnZXIgICAgICA9IEdldFN0YXRlTWFuYWdlckdMKGNvbnRl
eHQpOwogICAgIGNvbnN0IGFuZ2xlOjpGZWF0dXJlc0dMICZmZWF0dXJlcyA9IEdldEZlYXR1cmVz
R0woY29udGV4dCk7CkBAIC0xMzAsMTEgKzEzNiwxNCBAQCBhbmdsZTo6UmVzdWx0IEJ1ZmZlckdM
Ojpjb3B5U3ViRGF0YShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgbWVtY3B5
KG1TaGFkb3dDb3B5LmRhdGEoKSArIGRlc3RPZmZzZXQsIHNvdXJjZUdMLT5tU2hhZG93Q29weS5k
YXRhKCkgKyBzb3VyY2VPZmZzZXQsIHNpemUpOwogICAgIH0KIAorICAgIGNvbnRleHRHTC0+bWFy
a1dvcmtTdWJtaXR0ZWQoKTsKKwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsK
IH0KIAogYW5nbGU6OlJlc3VsdCBCdWZmZXJHTDo6bWFwKGNvbnN0IGdsOjpDb250ZXh0ICpjb250
ZXh0LCBHTGVudW0gYWNjZXNzLCB2b2lkICoqbWFwUHRyKQogeworICAgIENvbnRleHRHTCAqY29u
dGV4dEdMICAgICAgICAgICAgICA9IEdldEltcGxBczxDb250ZXh0R0w+KGNvbnRleHQpOwogICAg
IGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMgICAgICA9IEdldEZ1bmN0aW9uc0dMKGNvbnRl
eHQpOwogICAgIFN0YXRlTWFuYWdlckdMICpzdGF0ZU1hbmFnZXIgICAgICA9IEdldFN0YXRlTWFu
YWdlckdMKGNvbnRleHQpOwogICAgIGNvbnN0IGFuZ2xlOjpGZWF0dXJlc0dMICZmZWF0dXJlcyA9
IEdldEZlYXR1cmVzR0woY29udGV4dCk7CkBAIC0xNjIsNiArMTcxLDggQEAgYW5nbGU6OlJlc3Vs
dCBCdWZmZXJHTDo6bWFwKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBHTGVudW0gYWNjZXNz
LCB2b2lkICoqbWEKICAgICBtTWFwT2Zmc2V0ID0gMDsKICAgICBtTWFwU2l6ZSAgID0gbUJ1ZmZl
clNpemU7CiAKKyAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1
cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTE3MSw2ICsxODIsNyBAQCBhbmds
ZTo6UmVzdWx0IEJ1ZmZlckdMOjptYXBSYW5nZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMYml0ZmllbGQgYWNjZXNzLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqKm1hcFB0cikKIHsKKyAgICBDb250
ZXh0R0wgKmNvbnRleHRHTCAgICAgICAgICAgICAgPSBHZXRJbXBsQXM8Q29udGV4dEdMPihjb250
ZXh0KTsKICAgICBjb25zdCBGdW5jdGlvbnNHTCAqZnVuY3Rpb25zICAgICAgPSBHZXRGdW5jdGlv
bnNHTChjb250ZXh0KTsKICAgICBTdGF0ZU1hbmFnZXJHTCAqc3RhdGVNYW5hZ2VyICAgICAgPSBH
ZXRTdGF0ZU1hbmFnZXJHTChjb250ZXh0KTsKICAgICBjb25zdCBhbmdsZTo6RmVhdHVyZXNHTCAm
ZmVhdHVyZXMgPSBHZXRGZWF0dXJlc0dMKGNvbnRleHQpOwpAQCAtMTkxLDExICsyMDMsMTQgQEAg
YW5nbGU6OlJlc3VsdCBCdWZmZXJHTDo6bWFwUmFuZ2UoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRl
eHQsCiAgICAgbU1hcE9mZnNldCA9IG9mZnNldDsKICAgICBtTWFwU2l6ZSAgID0gbGVuZ3RoOwog
CisgICAgY29udGV4dEdMLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0dXJuIGFuZ2xl
OjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCiBhbmdsZTo6UmVzdWx0IEJ1ZmZlckdMOjp1bm1hcChj
b25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgR0xib29sZWFuICpyZXN1bHQpCiB7CisgICAgQ29u
dGV4dEdMICpjb250ZXh0R0wgICAgICAgICAgICAgID0gR2V0SW1wbEFzPENvbnRleHRHTD4oY29u
dGV4dCk7CiAgICAgY29uc3QgRnVuY3Rpb25zR0wgKmZ1bmN0aW9ucyAgICAgID0gR2V0RnVuY3Rp
b25zR0woY29udGV4dCk7CiAgICAgU3RhdGVNYW5hZ2VyR0wgKnN0YXRlTWFuYWdlciAgICAgID0g
R2V0U3RhdGVNYW5hZ2VyR0woY29udGV4dCk7CiAgICAgY29uc3QgYW5nbGU6OkZlYXR1cmVzR0wg
JmZlYXR1cmVzID0gR2V0RmVhdHVyZXNHTChjb250ZXh0KTsKQEAgLTIxOSw2ICsyMzQsOSBAQCBh
bmdsZTo6UmVzdWx0IEJ1ZmZlckdMOjp1bm1hcChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwg
R0xib29sZWFuICpyZXN1bHQpCiAgICAgfQogCiAgICAgbUlzTWFwcGVkID0gZmFsc2U7CisKKyAg
ICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1cm4gYW5nbGU6OlJl
c3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTIyOSw2ICsyNDcsNyBAQCBhbmdsZTo6UmVzdWx0IEJ1
ZmZlckdMOjpnZXRJbmRleFJhbmdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHByaW1pdGl2ZVJlc3RhcnRFbmFi
bGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbDo6SW5kZXhSYW5n
ZSAqb3V0UmFuZ2UpCiB7CisgICAgQ29udGV4dEdMICpjb250ZXh0R0wgICAgICAgICAgICAgID0g
R2V0SW1wbEFzPENvbnRleHRHTD4oY29udGV4dCk7CiAgICAgY29uc3QgRnVuY3Rpb25zR0wgKmZ1
bmN0aW9ucyAgICAgID0gR2V0RnVuY3Rpb25zR0woY29udGV4dCk7CiAgICAgU3RhdGVNYW5hZ2Vy
R0wgKnN0YXRlTWFuYWdlciAgICAgID0gR2V0U3RhdGVNYW5hZ2VyR0woY29udGV4dCk7CiAgICAg
Y29uc3QgYW5nbGU6OkZlYXR1cmVzR0wgJmZlYXR1cmVzID0gR2V0RmVhdHVyZXNHTChjb250ZXh0
KTsKQEAgLTI2MCw2ICsyNzksOCBAQCBhbmdsZTo6UmVzdWx0IEJ1ZmZlckdMOjpnZXRJbmRleFJh
bmdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICB9CiAgICAgfQogCisgICAg
Y29udGV4dEdMLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1
bHQ6OkNvbnRpbnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvQ29udGV4dEdMLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0R0wuY3BwCmluZGV4IDI0MTRi
OGI5YzIzYmE2YmEyMDJkZDkyMTFmMDllNDg0Yzg1N2EwZjguLmNmNmM1MjhlMmI5YzUwNjZiZTYx
ZTM4MzliZTBiYWMwMDI0ZjQ2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0R0wuY3BwCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0R0wuY3BwCkBAIC0y
OTUsNiArMjk1LDggQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0R0w6OmRyYXdBcnJheXMoY29uc3Qg
Z2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIEFOR0xFX0dMX1RSWShjb250ZXh0LCBnZXRG
dW5jdGlvbnMoKS0+ZHJhd0FycmF5c0luc3RhbmNlZChUb0dMZW51bShtb2RlKSwgZmlyc3QsIGNv
dW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5zdGFuY2VDb3VudCkpOwogICAgIH0KKyAgICBtUmVuZGVyZXItPm1h
cmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7
CiB9CiAKQEAgLTMxNCw2ICszMTYsOCBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRHTDo6ZHJhd0Fy
cmF5c0luc3RhbmNlZChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICBBTkdMRV9UUlko
c2V0RHJhd0FycmF5c1N0YXRlKGNvbnRleHQsIGZpcnN0LCBjb3VudCwgYWRqdXN0ZWRJbnN0YW5j
ZUNvdW50KSk7CiAgICAgQU5HTEVfR0xfVFJZKGNvbnRleHQsIGdldEZ1bmN0aW9ucygpLT5kcmF3
QXJyYXlzSW5zdGFuY2VkKFRvR0xlbnVtKG1vZGUpLCBmaXJzdCwgY291bnQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkanVz
dGVkSW5zdGFuY2VDb3VudCkpOworICAgIG1SZW5kZXJlci0+bWFya1dvcmtTdWJtaXR0ZWQoKTsK
KwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApAQCAtNDM1LDYgKzQz
OSw4IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dEdMOjpkcmF3QXJyYXlzSW5zdGFuY2VkQmFzZUlu
c3RhbmNlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250CiAgICAgICAgIHJlc2V0VXBkYXRlZEF0dHJp
YnV0ZXMoYXR0cmliVG9SZXNldE1hc2spOwogICAgIH0KIAorICAgIG1SZW5kZXJlci0+bWFya1dv
cmtTdWJtaXR0ZWQoKTsKKwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0K
IApAQCAtNDY2LDYgKzQ3Miw4IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dEdMOjpkcmF3RWxlbWVu
dHMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICBnZXRG
dW5jdGlvbnMoKS0+ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKFRvR0xlbnVtKG1vZGUpLCBjb3VudCwg
VG9HTGVudW0odHlwZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRyYXdJbmRleFB0ciwgaW5zdGFuY2VDb3VudCkpOwogICAgIH0K
KyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1cm4gYW5nbGU6
OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTQ5OCw2ICs1MDYsOCBAQCBhbmdsZTo6UmVzdWx0
IENvbnRleHRHTDo6ZHJhd0VsZW1lbnRzQmFzZVZlcnRleChjb25zdCBnbDo6Q29udGV4dCAqY29u
dGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb0dMZW51bShtb2RlKSwg
Y291bnQsIFRvR0xlbnVtKHR5cGUpLCBkcmF3SW5kZXhQdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5zdGFuY2VDb3VudCwgYmFzZVZlcnRleCkpOwogICAgIH0KKyAgICBt
UmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1cm4gYW5nbGU6OlJlc3Vs
dDo6Q29udGludWU7CiB9CiAKQEAgLTU0NSw2ICs1NTUsOCBAQCBhbmdsZTo6UmVzdWx0IENvbnRl
eHRHTDo6ZHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleChjb25zdCBnbDo6Q29udGV4dCAq
Y29udAogICAgIEFOR0xFX0dMX1RSWShjb250ZXh0LCBnZXRGdW5jdGlvbnMoKS0+ZHJhd0VsZW1l
bnRzSW5zdGFuY2VkQmFzZVZlcnRleCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRv
R0xlbnVtKG1vZGUpLCBjb3VudCwgVG9HTGVudW0odHlwZSksIGRyYXdJbmRleFBvaW50ZXIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGp1c3RlZEluc3RhbmNlQ291bnQsIGJhc2VW
ZXJ0ZXgpKTsKKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1
cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTU5MSw2ICs2MDMsOCBAQCBhbmds
ZTo6UmVzdWx0IENvbnRleHRHTDo6ZHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleEJhc2VJ
bnN0YW5jZShjb25zdCBnbDo6QwogICAgICAgICByZXNldFVwZGF0ZWRBdHRyaWJ1dGVzKGF0dHJp
YlRvUmVzZXRNYXNrKTsKICAgICB9CiAKKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVk
KCk7CisKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTYyMCw2
ICs2MzQsOCBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRHTDo6ZHJhd1JhbmdlRWxlbWVudHMoY29u
c3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICBnZXRGdW5jdGlv
bnMoKS0+ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKFRvR0xlbnVtKG1vZGUpLCBjb3VudCwgVG9HTGVu
dW0odHlwZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRyYXdJbmRleFBvaW50ZXIsIGluc3RhbmNlQ291bnQpKTsKICAgICB9Cisg
ICAgbVJlbmRlcmVyLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0dXJuIGFuZ2xlOjpS
ZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC02NTEsNiArNjY3LDggQEAgYW5nbGU6OlJlc3VsdCBD
b250ZXh0R0w6OmRyYXdSYW5nZUVsZW1lbnRzQmFzZVZlcnRleChjb25zdCBnbDo6Q29udGV4dCAq
Y29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb0dMZW51bShtb2Rl
KSwgY291bnQsIFRvR0xlbnVtKHR5cGUpLCBkcmF3SW5kZXhQb2ludGVyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlQ291bnQsIGJhc2VWZXJ0ZXgpKTsKICAgICB9
CisgICAgbVJlbmRlcmVyLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0dXJuIGFuZ2xl
OjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC02NTksNiArNjc3LDggQEAgYW5nbGU6OlJlc3Vs
dCBDb250ZXh0R0w6OmRyYXdBcnJheXNJbmRpcmVjdChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9p
ZCAqaW5kaXJlY3QpCiB7CiAgICAgQU5HTEVfR0xfVFJZKGNvbnRleHQsIGdldEZ1bmN0aW9ucygp
LT5kcmF3QXJyYXlzSW5kaXJlY3QoVG9HTGVudW0obW9kZSksIGluZGlyZWN0KSk7CisgICAgbVJl
bmRlcmVyLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6
OkNvbnRpbnVlOwogfQogCkBAIC02NzgsNiArNjk4LDggQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0
R0w6Om11bHRpRHJhd0FycmF5cyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xzaXplaSAqY291bnRzLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIGRyYXdjb3Vu
dCkKIHsKKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1cm4g
cng6Ok11bHRpRHJhd0FycmF5c0dlbmVyYWwodGhpcywgY29udGV4dCwgbW9kZSwgZmlyc3RzLCBj
b3VudHMsIGRyYXdjb3VudCk7CiB9CiAKQEAgLTY4OCw2ICs3MTAsOCBAQCBhbmdsZTo6UmVzdWx0
IENvbnRleHRHTDo6bXVsdGlEcmF3QXJyYXlzSW5zdGFuY2VkKGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBHTHNpemVpICppbnN0YW5jZUNvdW50cywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBkcmF3Y291bnQpCiB7CisgICAgbVJl
bmRlcmVyLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0dXJuIHJ4OjpNdWx0aURyYXdB
cnJheXNJbnN0YW5jZWRHZW5lcmFsKHRoaXMsIGNvbnRleHQsIG1vZGUsIGZpcnN0cywgY291bnRz
LCBpbnN0YW5jZUNvdW50cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZHJhd2NvdW50KTsKIH0KQEAgLTY5OSw2ICs3MjMsOCBAQCBhbmdsZTo6UmVzdWx0
IENvbnRleHRHTDo6bXVsdGlEcmF3RWxlbWVudHMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0x2b2lk
ICpjb25zdCAqaW5kaWNlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBHTHNpemVpIGRyYXdjb3VudCkKIHsKKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0
dGVkKCk7CisKICAgICByZXR1cm4gcng6Ok11bHRpRHJhd0VsZW1lbnRzR2VuZXJhbCh0aGlzLCBj
b250ZXh0LCBtb2RlLCBjb3VudHMsIHR5cGUsIGluZGljZXMsIGRyYXdjb3VudCk7CiB9CiAKQEAg
LTcxMCw2ICs3MzYsOCBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRHTDo6bXVsdGlEcmF3RWxlbWVu
dHNJbnN0YW5jZWQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xzaXplaSAqaW5zdGFu
Y2VDb3VudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xzaXplaSBkcmF3Y291bnQpCiB7CisgICAgbVJlbmRlcmVyLT5tYXJrV29ya1N1Ym1p
dHRlZCgpOworCiAgICAgcmV0dXJuIHJ4OjpNdWx0aURyYXdFbGVtZW50c0luc3RhbmNlZEdlbmVy
YWwodGhpcywgY29udGV4dCwgbW9kZSwgY291bnRzLCB0eXBlLCBpbmRpY2VzLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlQ291bnRzLCBk
cmF3Y291bnQpOwogfQpAQCAtNzIyLDYgKzc1MCw4IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dEdM
OjptdWx0aURyYXdBcnJheXNJbnN0YW5jZWRCYXNlSW5zdGFuY2UoY29uc3QgZ2w6OkNvbnRleHQK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgR0x1aW50ICpiYXNlSW5zdGFuY2VzLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIGRyYXdjb3Vu
dCkKIHsKKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1cm4g
cng6Ok11bHRpRHJhd0FycmF5c0luc3RhbmNlZEJhc2VJbnN0YW5jZUdlbmVyYWwoCiAgICAgICAg
IHRoaXMsIGNvbnRleHQsIG1vZGUsIGZpcnN0cywgY291bnRzLCBpbnN0YW5jZUNvdW50cywgYmFz
ZUluc3RhbmNlcywgZHJhd2NvdW50KTsKIH0KQEAgLTczNyw2ICs3NjcsOCBAQCBhbmdsZTo6UmVz
dWx0IENvbnRleHRHTDo6bXVsdGlEcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNlVmVydGV4QmFzZUlu
c3RhbmNlKAogICAgIGNvbnN0IEdMdWludCAqYmFzZUluc3RhbmNlcywKICAgICBHTHNpemVpIGRy
YXdjb3VudCkKIHsKKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICBy
ZXR1cm4gcng6Ok11bHRpRHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleEJhc2VJbnN0YW5j
ZUdlbmVyYWwoCiAgICAgICAgIHRoaXMsIGNvbnRleHQsIG1vZGUsIGNvdW50cywgdHlwZSwgaW5k
aWNlcywgaW5zdGFuY2VDb3VudHMsIGJhc2VWZXJ0aWNlcywgYmFzZUluc3RhbmNlcywKICAgICAg
ICAgZHJhd2NvdW50KTsKQEAgLTkwOSw0ICs5NDEsOSBAQCB2b2lkIENvbnRleHRHTDo6Zmx1c2hJ
Zk5lY2Vzc2FyeUJlZm9yZURlbGV0ZVRleHR1cmVzKCkKICAgICBtUmVuZGVyZXItPmZsdXNoSWZO
ZWNlc3NhcnlCZWZvcmVEZWxldGVUZXh0dXJlcygpOwogfQogCit2b2lkIENvbnRleHRHTDo6bWFy
a1dvcmtTdWJtaXR0ZWQoKQoreworICAgIG1SZW5kZXJlci0+bWFya1dvcmtTdWJtaXR0ZWQoKTsK
K30KKwogfSAgLy8gbmFtZXNwYWNlIHJ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvQ29udGV4dEdMLmggYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvQ29udGV4dEdMLmgKaW5kZXggYjcy
ZTJlMTBmZmU3YWM0NmM0NjE0ZGRlNWRjMDYxN2MzM2FkOGUwNC4uMGJiMDYzYWQwNGFiM2VlNjgy
NjQxMTI5YTkzNTE5M2YwMTc3MzY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0NvbnRleHRHTC5oCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0R0wuaApAQCAtMjcy
LDYgKzI3Miw4IEBAIGNsYXNzIENvbnRleHRHTCA6IHB1YmxpYyBDb250ZXh0SW1wbAogICAgIHZv
aWQgc2V0TmVlZHNGbHVzaEJlZm9yZURlbGV0ZVRleHR1cmVzKCk7CiAgICAgdm9pZCBmbHVzaElm
TmVjZXNzYXJ5QmVmb3JlRGVsZXRlVGV4dHVyZXMoKTsKIAorICAgIHZvaWQgbWFya1dvcmtTdWJt
aXR0ZWQoKTsKKwogICAgIGNvbnN0IGdsOjpEZWJ1ZyAmZ2V0RGVidWcoKSBjb25zdCB7IHJldHVy
biBtU3RhdGUuZ2V0RGVidWcoKTsgfQogCiAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvRmVuY2VOVkdMLmNwcCBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9GZW5jZU5W
R0wuY3BwCmluZGV4IGU1OGU0ODAwNmMzNjZkOWIyMzkzYWJmMzY5Y2JlN2NiNDlkZjM2OTUuLjI0
OTFiNjhlYzQyNmU1ZGI2ZTE2ZWZhYzAyNTlkZjgwNWZhYzk4OWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9GZW5jZU5WR0wuY3Bw
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9G
ZW5jZU5WR0wuY3BwCkBAIC0zMCw3ICszMCw5IEBAIEZlbmNlTlZHTDo6fkZlbmNlTlZHTCgpCiBh
bmdsZTo6UmVzdWx0IEZlbmNlTlZHTDo6c2V0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBH
TGVudW0gY29uZGl0aW9uKQogewogICAgIEFTU0VSVChjb25kaXRpb24gPT0gR0xfQUxMX0NPTVBM
RVRFRF9OVik7CisgICAgQ29udGV4dEdMICpjb250ZXh0R0wgPSBHZXRJbXBsQXM8Q29udGV4dEdM
Pihjb250ZXh0KTsKICAgICBtRnVuY3Rpb25zLT5zZXRGZW5jZU5WKG1GZW5jZSwgY29uZGl0aW9u
KTsKKyAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVkKCk7CiAgICAgcmV0dXJuIGFuZ2xl
OjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC02OSw5ICs3MSwxMSBAQCBGZW5jZU5WU3luY0dM
Ojp+RmVuY2VOVlN5bmNHTCgpCiBhbmdsZTo6UmVzdWx0IEZlbmNlTlZTeW5jR0w6OnNldChjb25z
dCBnbDo6Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIGNvbmRpdGlvbikKIHsKICAgICBBU1NFUlQo
Y29uZGl0aW9uID09IEdMX0FMTF9DT01QTEVURURfTlYpOwotICAgIG1TeW5jT2JqZWN0ID0gbUZ1
bmN0aW9ucy0+ZmVuY2VTeW5jKEdMX1NZTkNfR1BVX0NPTU1BTkRTX0NPTVBMRVRFLCAwKTsKLSAg
ICBBTkdMRV9DSEVDSyhHZXRJbXBsQXM8Q29udGV4dEdMPihjb250ZXh0KSwgbVN5bmNPYmplY3Qg
IT0gMCwKLSAgICAgICAgICAgICAgICAiZ2xGZW5jZVN5bmMgZmFpbGVkIHRvIGNyZWF0ZSBhIEdM
c3luYyBvYmplY3QuIiwgR0xfT1VUX09GX01FTU9SWSk7CisgICAgQ29udGV4dEdMICpjb250ZXh0
R0wgPSBHZXRJbXBsQXM8Q29udGV4dEdMPihjb250ZXh0KTsKKyAgICBtU3luY09iamVjdCAgICAg
ICAgICA9IG1GdW5jdGlvbnMtPmZlbmNlU3luYyhHTF9TWU5DX0dQVV9DT01NQU5EU19DT01QTEVU
RSwgMCk7CisgICAgQU5HTEVfQ0hFQ0soY29udGV4dEdMLCBtU3luY09iamVjdCAhPSAwLCAiZ2xG
ZW5jZVN5bmMgZmFpbGVkIHRvIGNyZWF0ZSBhIEdMc3luYyBvYmplY3QuIiwKKyAgICAgICAgICAg
ICAgICBHTF9PVVRfT0ZfTUVNT1JZKTsKKyAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVk
KCk7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvRnJhbWVi
dWZmZXJHTC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvZ2wvRnJhbWVidWZmZXJHTC5jcHAKaW5kZXggZTdiZGZiZWNkZWRlNjQ5NDgxNTRhODFiZDdj
OGIxOGQ5NzVhZDIzYS4uZmUzMDNkZGYxMTM2NWYyYTIxMTQ0NzY4MmMxMTNlNmUwNTczOWE4YyAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L2dsL0ZyYW1lYnVmZmVyR0wuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9nbC9GcmFtZWJ1ZmZlckdMLmNwcApAQCAtNDc5LDYgKzQ3OSw3IEBA
IGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJHTDo6aW52YWxpZGF0ZVN1Yihjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwKIAogYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlckdMOjpjbGVhcihjb25z
dCBnbDo6Q29udGV4dCAqY29udGV4dCwgR0xiaXRmaWVsZCBtYXNrKQogeworICAgIENvbnRleHRH
TCAqY29udGV4dEdMICAgICAgICAgPSBHZXRJbXBsQXM8Q29udGV4dEdMPihjb250ZXh0KTsKICAg
ICBjb25zdCBGdW5jdGlvbnNHTCAqZnVuY3Rpb25zID0gR2V0RnVuY3Rpb25zR0woY29udGV4dCk7
CiAgICAgU3RhdGVNYW5hZ2VyR0wgKnN0YXRlTWFuYWdlciA9IEdldFN0YXRlTWFuYWdlckdMKGNv
bnRleHQpOwogCkBAIC00OTcsNiArNDk4LDcgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlckdM
OjpjbGVhcihjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgR0xiaXRmaWVsZCBtYXNrKQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTF9OT05FLCAwLCBudWxs
cHRyLCAwLjBmLCAwKTsKICAgICB9CiAKKyAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVk
KCk7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC01MDUsNiAr
NTA3LDcgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlckdMOjpjbGVhckJ1ZmZlcmZ2KGNvbnN0
IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdMaW50IGRyYXdidWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgR0xmbG9hdCAqdmFsdWVzKQogeworICAgIENvbnRleHRHTCAq
Y29udGV4dEdMICAgICAgICAgPSBHZXRJbXBsQXM8Q29udGV4dEdMPihjb250ZXh0KTsKICAgICBj
b25zdCBGdW5jdGlvbnNHTCAqZnVuY3Rpb25zID0gR2V0RnVuY3Rpb25zR0woY29udGV4dCk7CiAg
ICAgU3RhdGVNYW5hZ2VyR0wgKnN0YXRlTWFuYWdlciA9IEdldFN0YXRlTWFuYWdlckdMKGNvbnRl
eHQpOwogCkBAIC01MjQsNiArNTI3LDcgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlckdMOjpj
bGVhckJ1ZmZlcmZ2KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4
X3QgKj4odmFsdWVzKSwgMC4wZiwgMCk7CiAgICAgfQogCisgICAgY29udGV4dEdMLT5tYXJrV29y
a1N1Ym1pdHRlZCgpOwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApA
QCAtNTMyLDYgKzUzNiw3IEBAIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJHTDo6Y2xlYXJCdWZm
ZXJ1aXYoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdMaW50IGRyYXdidWZmZXIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdMdWludCAqdmFsdWVzKQogeworICAg
IENvbnRleHRHTCAqY29udGV4dEdMICAgICAgICAgPSBHZXRJbXBsQXM8Q29udGV4dEdMPihjb250
ZXh0KTsKICAgICBjb25zdCBGdW5jdGlvbnNHTCAqZnVuY3Rpb25zID0gR2V0RnVuY3Rpb25zR0wo
Y29udGV4dCk7CiAgICAgU3RhdGVNYW5hZ2VyR0wgKnN0YXRlTWFuYWdlciA9IEdldFN0YXRlTWFu
YWdlckdMKGNvbnRleHQpOwogCkBAIC01NTEsNiArNTU2LDcgQEAgYW5nbGU6OlJlc3VsdCBGcmFt
ZWJ1ZmZlckdMOjpjbGVhckJ1ZmZlcnVpdihjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2Fz
dDxjb25zdCB1aW50OF90ICo+KHZhbHVlcyksIDAuMGYsIDApOwogICAgIH0KIAorICAgIGNvbnRl
eHRHTC0+bWFya1dvcmtTdWJtaXR0ZWQoKTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29u
dGludWU7CiB9CiAKQEAgLTU1OSw2ICs1NjUsNyBAQCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVy
R0w6OmNsZWFyQnVmZmVyaXYoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgZHJhd2J1ZmZlciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHTGludCAqdmFsdWVz
KQogeworICAgIENvbnRleHRHTCAqY29udGV4dEdMICAgICAgICAgPSBHZXRJbXBsQXM8Q29udGV4
dEdMPihjb250ZXh0KTsKICAgICBjb25zdCBGdW5jdGlvbnNHTCAqZnVuY3Rpb25zID0gR2V0RnVu
Y3Rpb25zR0woY29udGV4dCk7CiAgICAgU3RhdGVNYW5hZ2VyR0wgKnN0YXRlTWFuYWdlciA9IEdl
dFN0YXRlTWFuYWdlckdMKGNvbnRleHQpOwogCkBAIC01NzgsNiArNTg1LDcgQEAgYW5nbGU6OlJl
c3VsdCBGcmFtZWJ1ZmZlckdMOjpjbGVhckJ1ZmZlcml2KGNvbnN0IGdsOjpDb250ZXh0ICpjb250
ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWludGVy
cHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QgKj4odmFsdWVzKSwgMC4wZiwgMCk7CiAgICAgfQogCisg
ICAgY29udGV4dEdMLT5tYXJrV29ya1N1Ym1pdHRlZCgpOwogICAgIHJldHVybiBhbmdsZTo6UmVz
dWx0OjpDb250aW51ZTsKIH0KIApAQCAtNTg3LDYgKzU5NSw3IEBAIGFuZ2xlOjpSZXN1bHQgRnJh
bWVidWZmZXJHTDo6Y2xlYXJCdWZmZXJmaShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGZsb2F0IGRlcHRoLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMaW50IHN0ZW5jaWwp
CiB7CisgICAgQ29udGV4dEdMICpjb250ZXh0R0wgICAgICAgICA9IEdldEltcGxBczxDb250ZXh0
R0w+KGNvbnRleHQpOwogICAgIGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMgPSBHZXRGdW5j
dGlvbnNHTChjb250ZXh0KTsKICAgICBTdGF0ZU1hbmFnZXJHTCAqc3RhdGVNYW5hZ2VyID0gR2V0
U3RhdGVNYW5hZ2VyR0woY29udGV4dCk7CiAKQEAgLTYwNiw2ICs2MTUsNyBAQCBhbmdsZTo6UmVz
dWx0IEZyYW1lYnVmZmVyR0w6OmNsZWFyQnVmZmVyZmkoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRl
eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGxwdHIs
IGRlcHRoLCBzdGVuY2lsKTsKICAgICB9CiAKKyAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0
dGVkKCk7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC03MDgs
NiArNzE4LDcgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlckdMOjpibGl0KGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMYml0
ZmllbGQgbWFzaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGVudW0gZmls
dGVyKQogeworICAgIENvbnRleHRHTCAqY29udGV4dEdMICAgICAgICAgICAgICA9IEdldEltcGxB
czxDb250ZXh0R0w+KGNvbnRleHQpOwogICAgIGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMg
ICAgICA9IEdldEZ1bmN0aW9uc0dMKGNvbnRleHQpOwogICAgIFN0YXRlTWFuYWdlckdMICpzdGF0
ZU1hbmFnZXIgICAgICA9IEdldFN0YXRlTWFuYWdlckdMKGNvbnRleHQpOwogICAgIGNvbnN0IGFu
Z2xlOjpGZWF0dXJlc0dMICZmZWF0dXJlcyA9IEdldEZlYXR1cmVzR0woY29udGV4dCk7CkBAIC04
MjYsNiArODM3LDcgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlckdMOjpibGl0KGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmFs
U291cmNlQXJlYS55MSgpLCBmaW5hbERlc3RBcmVhLngsIGZpbmFsRGVzdEFyZWEueSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5hbERlc3RBcmVhLngxKCksIGZpbmFsRGVzdEFy
ZWEueTEoKSwgYmxpdE1hc2ssIGZpbHRlcik7CiAKKyAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3Vi
bWl0dGVkKCk7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wv
UXVlcnlHTC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvZ2wvUXVlcnlHTC5jcHAKaW5kZXggYTA0OGI4NDYzMmI1MDhjYzFjNmY1ZWMyMTZmMTQxOTEy
Zjc2OWYyMi4uNzEyNWVkMjgwMTgwZjJiM2ZiNDY5ZjFmNDZhN2ZmMTg1ODk0NjYwYyAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1F1
ZXJ5R0wuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci9nbC9RdWVyeUdMLmNwcApAQCAtMTgyLDYgKzE4Miw5IEBAIGFuZ2xlOjpSZXN1bHQgU3Rh
bmRhcmRRdWVyeUdMOjpyZXN1bWUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiAKICAgICAg
ICAgbUZ1bmN0aW9ucy0+Z2VuUXVlcmllcygxLCAmbUFjdGl2ZVF1ZXJ5KTsKICAgICAgICAgbVN0
YXRlTWFuYWdlci0+YmVnaW5RdWVyeShtVHlwZSwgdGhpcywgbUFjdGl2ZVF1ZXJ5KTsKKworICAg
ICAgICBDb250ZXh0R0wgKmNvbnRleHRHTCA9IEdldEltcGxBczxDb250ZXh0R0w+KGNvbnRleHQp
OworICAgICAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVkKCk7CiAgICAgfQogCiAgICAg
cmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwpAQCAtMjQwLDEzICsyNDMsMjAgQEAgY2xh
c3MgU3luY1Byb3ZpZGVyR0wKIGNsYXNzIFN5bmNQcm92aWRlckdMU3luYyA6IHB1YmxpYyBTeW5j
UHJvdmlkZXJHTAogewogICBwdWJsaWM6Ci0gICAgU3luY1Byb3ZpZGVyR0xTeW5jKGNvbnN0IEZ1
bmN0aW9uc0dMICpmdW5jdGlvbnMpIDogbUZ1bmN0aW9ucyhmdW5jdGlvbnMpLCBtU3luYyhudWxs
cHRyKQotICAgIHsKLSAgICAgICAgbVN5bmMgPSBtRnVuY3Rpb25zLT5mZW5jZVN5bmMoR0xfU1lO
Q19HUFVfQ09NTUFORFNfQ09NUExFVEUsIDApOwotICAgIH0KKyAgICBTeW5jUHJvdmlkZXJHTFN5
bmMoY29uc3QgRnVuY3Rpb25zR0wgKmZ1bmN0aW9ucykgOiBtRnVuY3Rpb25zKGZ1bmN0aW9ucyks
IG1TeW5jKG51bGxwdHIpIHt9CiAKICAgICB+U3luY1Byb3ZpZGVyR0xTeW5jKCkgb3ZlcnJpZGUg
eyBtRnVuY3Rpb25zLT5kZWxldGVTeW5jKG1TeW5jKTsgfQogCisgICAgYW5nbGU6OlJlc3VsdCBp
bml0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBnbDo6UXVlcnlUeXBlIHR5cGUpIG92ZXJy
aWRlCisgICAgeworICAgICAgICBDb250ZXh0R0wgKmNvbnRleHRHTCA9IEdldEltcGxBczxDb250
ZXh0R0w+KGNvbnRleHQpOworICAgICAgICBtU3luYyAgICAgICAgICAgICAgICA9IG1GdW5jdGlv
bnMtPmZlbmNlU3luYyhHTF9TWU5DX0dQVV9DT01NQU5EU19DT01QTEVURSwgMCk7CisgICAgICAg
IEFOR0xFX0NIRUNLKGNvbnRleHRHTCwgbVN5bmMgIT0gMCwgImdsRmVuY2VTeW5jIGZhaWxlZCB0
byBjcmVhdGUgYSBHTHN5bmMgb2JqZWN0LiIsCisgICAgICAgICAgICAgICAgICAgIEdMX09VVF9P
Rl9NRU1PUlkpOworICAgICAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVkKCk7CisgICAg
ICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKKyAgICB9CisKICAgICBhbmdsZTo6
UmVzdWx0IGZsdXNoKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBib29sIGZvcmNlLCBib29s
ICpmaW5pc2hlZCkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlmIChmb3JjZSkKQEAgLTMzOCwx
MiArMzQ4LDEyIEBAIGFuZ2xlOjpSZXN1bHQgU3luY1F1ZXJ5R0w6OmVuZChjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCkKICAgICBlbHNlIGlmIChuYXRpdmVnbDo6U3VwcG9ydHNPY2NsdXNpb25R
dWVyaWVzKG1GdW5jdGlvbnMpKQogICAgIHsKICAgICAgICAgbVN5bmNQcm92aWRlci5yZXNldChu
ZXcgU3luY1Byb3ZpZGVyR0xRdWVyeShtRnVuY3Rpb25zKSk7Ci0gICAgICAgIEFOR0xFX1RSWSht
U3luY1Byb3ZpZGVyLT5pbml0KGNvbnRleHQsIGdsOjpRdWVyeVR5cGU6OkFueVNhbXBsZXMpKTsK
ICAgICB9CiAgICAgZWxzZQogICAgIHsKICAgICAgICAgQU5HTEVfR0xfVU5SRUFDSEFCTEUoR2V0
SW1wbEFzPENvbnRleHRHTD4oY29udGV4dCkpOwogICAgIH0KKyAgICBBTkdMRV9UUlkobVN5bmNQ
cm92aWRlci0+aW5pdChjb250ZXh0LCBnbDo6UXVlcnlUeXBlOjpBbnlTYW1wbGVzKSk7CiAgICAg
cmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvUmVuZGVyZXJHTC5jcHAg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvUmVuZGVy
ZXJHTC5jcHAKaW5kZXggZGMxZDU3YTEwNDkwZjNjNDFkMjU0MTcwOTlmYmRiMjc5ZTBiNzNjNS4u
MzcwMTJkMjdhOTA0ODRhZTJlYWQ5MGQ3ZmEyN2VmMTk0MjZhYjIzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1JlbmRlcmVyR0wu
Y3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9n
bC9SZW5kZXJlckdMLmNwcApAQCAtMjE1LDggKzIxNSwxNCBAQCBSZW5kZXJlckdMOjp+UmVuZGVy
ZXJHTCgpCiAKIGFuZ2xlOjpSZXN1bHQgUmVuZGVyZXJHTDo6Zmx1c2goKQogeworICAgIGlmICgh
bVdvcmtEb25lU2luY2VMYXN0Rmx1c2ggJiYgIW1OZWVkc0ZsdXNoQmVmb3JlRGVsZXRlVGV4dHVy
ZXMpCisgICAgeworICAgICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CisgICAg
fQorCiAgICAgbUZ1bmN0aW9ucy0+Zmx1c2goKTsKICAgICBtTmVlZHNGbHVzaEJlZm9yZURlbGV0
ZVRleHR1cmVzID0gZmFsc2U7CisgICAgbVdvcmtEb25lU2luY2VMYXN0Rmx1c2ggICAgICAgICA9
IGZhbHNlOwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApAQCAtMjI5
LDYgKzIzNSw3IEBAIGFuZ2xlOjpSZXN1bHQgUmVuZGVyZXJHTDo6ZmluaXNoKCkKIAogICAgIG1G
dW5jdGlvbnMtPmZpbmlzaCgpOwogICAgIG1OZWVkc0ZsdXNoQmVmb3JlRGVsZXRlVGV4dHVyZXMg
PSBmYWxzZTsKKyAgICBtV29ya0RvbmVTaW5jZUxhc3RGbHVzaCAgICAgICAgID0gZmFsc2U7CiAK
ICAgICBpZiAobUZlYXR1cmVzLmZpbmlzaERvZXNOb3RDYXVzZVF1ZXJpZXNUb0JlQXZhaWxhYmxl
LmVuYWJsZWQgJiYgbVVzZURlYnVnT3V0cHV0KQogICAgIHsKQEAgLTM3MCwyMyArMzc3LDI3IEBA
IGFuZ2xlOjpSZXN1bHQgUmVuZGVyZXJHTDo6ZGlzcGF0Y2hDb21wdXRlKGNvbnN0IGdsOjpDb250
ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R0x1aW50IG51bUdyb3Vwc1opCiB7CiAgICAgbUZ1bmN0aW9ucy0+ZGlzcGF0Y2hDb21wdXRlKG51
bUdyb3Vwc1gsIG51bUdyb3Vwc1ksIG51bUdyb3Vwc1opOworICAgIG1Xb3JrRG9uZVNpbmNlTGFz
dEZsdXNoID0gdHJ1ZTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAK
IGFuZ2xlOjpSZXN1bHQgUmVuZGVyZXJHTDo6ZGlzcGF0Y2hDb21wdXRlSW5kaXJlY3QoY29uc3Qg
Z2w6OkNvbnRleHQgKmNvbnRleHQsIEdMaW50cHRyIGluZGlyZWN0KQogewogICAgIG1GdW5jdGlv
bnMtPmRpc3BhdGNoQ29tcHV0ZUluZGlyZWN0KGluZGlyZWN0KTsKKyAgICBtV29ya0RvbmVTaW5j
ZUxhc3RGbHVzaCA9IHRydWU7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwog
fQogCiBhbmdsZTo6UmVzdWx0IFJlbmRlcmVyR0w6Om1lbW9yeUJhcnJpZXIoR0xiaXRmaWVsZCBi
YXJyaWVycykKIHsKICAgICBtRnVuY3Rpb25zLT5tZW1vcnlCYXJyaWVyKGJhcnJpZXJzKTsKKyAg
ICBtV29ya0RvbmVTaW5jZUxhc3RGbHVzaCA9IHRydWU7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1
bHQ6OkNvbnRpbnVlOwogfQogYW5nbGU6OlJlc3VsdCBSZW5kZXJlckdMOjptZW1vcnlCYXJyaWVy
QnlSZWdpb24oR0xiaXRmaWVsZCBiYXJyaWVycykKIHsKICAgICBtRnVuY3Rpb25zLT5tZW1vcnlC
YXJyaWVyQnlSZWdpb24oYmFycmllcnMpOworICAgIG1Xb3JrRG9uZVNpbmNlTGFzdEZsdXNoID0g
dHJ1ZTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTQ2Niw2
ICs0NzcsMTEgQEAgdm9pZCBSZW5kZXJlckdMOjpzZXROZWVkc0ZsdXNoQmVmb3JlRGVsZXRlVGV4
dHVyZXMoKQogICAgIG1OZWVkc0ZsdXNoQmVmb3JlRGVsZXRlVGV4dHVyZXMgPSB0cnVlOwogfQog
Cit2b2lkIFJlbmRlcmVyR0w6Om1hcmtXb3JrU3VibWl0dGVkKCkKK3sKKyAgICBtV29ya0RvbmVT
aW5jZUxhc3RGbHVzaCA9IHRydWU7Cit9CisKIHZvaWQgUmVuZGVyZXJHTDo6Zmx1c2hJZk5lY2Vz
c2FyeUJlZm9yZURlbGV0ZVRleHR1cmVzKCkKIHsKICAgICBpZiAobU5lZWRzRmx1c2hCZWZvcmVE
ZWxldGVUZXh0dXJlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9nbC9SZW5kZXJlckdMLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvUmVuZGVyZXJHTC5oCmluZGV4IDFjMzZjODIzMjE2
MmU4YWI4YjAwOWEyMGMzMjJjNGZlZDBjYzk4NzkuLmY1MmQwOTZjMTQzYWI3MGVjNDY1YmQ3NWZh
NmIwMmRiYTg4ZTFlZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9nbC9SZW5kZXJlckdMLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1JlbmRlcmVyR0wuaApAQCAtMTM4LDYgKzEz
OCw4IEBAIGNsYXNzIFJlbmRlcmVyR0wgOiBhbmdsZTo6Tm9uQ29weWFibGUKICAgICB2b2lkIHNl
dE5lZWRzRmx1c2hCZWZvcmVEZWxldGVUZXh0dXJlcygpOwogICAgIHZvaWQgZmx1c2hJZk5lY2Vz
c2FyeUJlZm9yZURlbGV0ZVRleHR1cmVzKCk7CiAKKyAgICB2b2lkIG1hcmtXb3JrU3VibWl0dGVk
KCk7CisKICAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgV29ya2VyQ29udGV4dCAqY3JlYXRlV29y
a2VyQ29udGV4dChzdGQ6OnN0cmluZyAqaW5mb0xvZykgPSAwOwogCkBAIC0xNjUsNiArMTY3LDgg
QEAgY2xhc3MgUmVuZGVyZXJHTCA6IGFuZ2xlOjpOb25Db3B5YWJsZQogICAgIG11dGFibGUgZ2w6
OkxpbWl0YXRpb25zIG1OYXRpdmVMaW1pdGF0aW9uczsKICAgICBtdXRhYmxlIE11bHRpdmlld0lt
cGxlbWVudGF0aW9uVHlwZUdMIG1NdWx0aXZpZXdJbXBsZW1lbnRhdGlvblR5cGU7CiAKKyAgICBi
b29sIG1Xb3JrRG9uZVNpbmNlTGFzdEZsdXNoID0gZmFsc2U7CisKICAgICAvLyBUaGUgdGhyZWFk
LXRvLWNvbnRleHQgbWFwcGluZyBmb3IgdGhlIGN1cnJlbnRseSBhY3RpdmUgd29ya2VyIHRocmVh
ZHMuCiAgICAgc3RkOjp1bm9yZGVyZWRfbWFwPHN0ZDo6dGhyZWFkOjppZCwgc3RkOjp1bmlxdWVf
cHRyPFdvcmtlckNvbnRleHQ+PiBtQ3VycmVudFdvcmtlckNvbnRleHRzOwogICAgIC8vIFRoZSB3
b3JrZXIgY29udGV4dHMgYXZhaWxhYmxlIHRvIHVzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9TeW5jR0wuY3BwIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1N5bmNHTC5jcHAKaW5k
ZXggNjQ3OWUwMTMyZjA0M2I3MzYwNWM4OGEyYmFkZjIyOGQ3YjNkMWU4ZC4uNjcyMTRkNDE0ZDdh
NDVmYTk0YTUxMzY1NTUzZWFiZmVjZTg1OThjYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1N5bmNHTC5jcHAKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1N5bmNHTC5jcHAKQEAg
LTM2LDkgKzM2LDExIEBAIHZvaWQgU3luY0dMOjpvbkRlc3Ryb3koY29uc3QgZ2w6OkNvbnRleHQg
KmNvbnRleHQpCiBhbmdsZTo6UmVzdWx0IFN5bmNHTDo6c2V0KGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0LCBHTGVudW0gY29uZGl0aW9uLCBHTGJpdGZpZWxkIGZsYWdzKQogewogICAgIEFTU0VS
VChjb25kaXRpb24gPT0gR0xfU1lOQ19HUFVfQ09NTUFORFNfQ09NUExFVEUgJiYgZmxhZ3MgPT0g
MCk7Ci0gICAgbVN5bmNPYmplY3QgPSBtRnVuY3Rpb25zLT5mZW5jZVN5bmMoY29uZGl0aW9uLCBm
bGFncyk7Ci0gICAgQU5HTEVfQ0hFQ0soR2V0SW1wbEFzPENvbnRleHRHTD4oY29udGV4dCksIG1T
eW5jT2JqZWN0ICE9IDAsCi0gICAgICAgICAgICAgICAgImdsRmVuY2VTeW5jIGZhaWxlZCB0byBj
cmVhdGUgYSBHTHN5bmMgb2JqZWN0LiIsIEdMX09VVF9PRl9NRU1PUlkpOworICAgIENvbnRleHRH
TCAqY29udGV4dEdMID0gR2V0SW1wbEFzPENvbnRleHRHTD4oY29udGV4dCk7CisgICAgbVN5bmNP
YmplY3QgICAgICAgICAgPSBtRnVuY3Rpb25zLT5mZW5jZVN5bmMoY29uZGl0aW9uLCBmbGFncyk7
CisgICAgQU5HTEVfQ0hFQ0soY29udGV4dEdMLCBtU3luY09iamVjdCAhPSAwLCAiZ2xGZW5jZVN5
bmMgZmFpbGVkIHRvIGNyZWF0ZSBhIEdMc3luYyBvYmplY3QuIiwKKyAgICAgICAgICAgICAgICBH
TF9PVVRfT0ZfTUVNT1JZKTsKKyAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVkKCk7CiAg
ICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvVGV4dHVyZUdMLmNw
cCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9UZXh0
dXJlR0wuY3BwCmluZGV4IDBjYjhiNmU2MjFhNDE4NDY5ODJlZTMwNDkxYzc3NTliYzI5MzMzMDMu
LjQ3ODYyZTQyMWRmNzZlZWIyNmMwMWYxODUyNmJiNjI1MjQyYzczZDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9UZXh0dXJlR0wu
Y3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9n
bC9UZXh0dXJlR0wuY3BwCkBAIC0zNTgsOSArMzU4LDkgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJl
R0w6OnNldFN1YkltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogCiAgICAgaWYgKGZl
YXR1cmVzLnVwbG9hZFRleHR1cmVEYXRhSW5DaHVua3MuZW5hYmxlZCkKICAgICB7Ci0gICAgICAg
IGNvbnN0ZXhwciBjb25zdCBzaXplX3Qga01heFVwbG9hZENodW5rU2l6ZSA9ICgxMjAgKiAxMDI0
KSAtIDE7Ci0gICAgICAgIHJldHVybiBzZXRTdWJJbWFnZVJvd0J5Um93V29ya2Fyb3VuZChjb250
ZXh0LCB0YXJnZXQsIGxldmVsLCBhcmVhLCBmb3JtYXQsIHR5cGUsIHVucGFjaywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVucGFja0J1ZmZlciwga01heFVw
bG9hZENodW5rU2l6ZSwgcGl4ZWxzKTsKKyAgICAgICAgcmV0dXJuIHNldFN1YkltYWdlUm93QnlS
b3dXb3JrYXJvdW5kKAorICAgICAgICAgICAgY29udGV4dCwgdGFyZ2V0LCBsZXZlbCwgYXJlYSwg
Zm9ybWF0LCB0eXBlLCB1bnBhY2ssIHVucGFja0J1ZmZlciwKKyAgICAgICAgICAgIGFuZ2xlOjpG
ZWF0dXJlc0dMOjprVXBsb2FkVGV4dHVyZURhdGFJbkNodW5rc1VwbG9hZFNpemUsIHBpeGVscyk7
CiAgICAgfQogCiAgICAgaWYgKG5hdGl2ZWdsOjpVc2VUZXhJbWFnZTJEKGdldFR5cGUoKSkpCkBA
IC0yMDQ3LDExICsyMDQ3LDIyIEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZUdMOjppbml0aWFsaXpl
Q29udGVudHMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAKICAgICAgICAgaWYgKG5hdGl2
ZWdsOjpVc2VUZXhJbWFnZTJEKGdldFR5cGUoKSkpCiAgICAgICAgIHsKLSAgICAgICAgICAgIEFO
R0xFX0dMX1RSWShjb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucy0+
dGV4U3ViSW1hZ2UyRChUb0dMZW51bShpbWFnZUluZGV4LmdldFRhcmdldCgpKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VJbmRleC5nZXRM
ZXZlbEluZGV4KCksIDAsIDAsIGRlc2Muc2l6ZS53aWR0aCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYy5zaXplLmhlaWdodCwgbmF0aXZlU3Vi
SW1hZ2VGb3JtYXQuZm9ybWF0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBuYXRpdmVTdWJJbWFnZUZvcm1hdC50eXBlLCB6ZXJvLT5kYXRhKCkpKTsK
KyAgICAgICAgICAgIGlmIChmZWF0dXJlcy51cGxvYWRUZXh0dXJlRGF0YUluQ2h1bmtzLmVuYWJs
ZWQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZ2w6OkJveCBhcmVhKDAsIDAsIDAs
IGRlc2Muc2l6ZS53aWR0aCwgZGVzYy5zaXplLmhlaWdodCwgMSk7CisgICAgICAgICAgICAgICAg
QU5HTEVfVFJZKHNldFN1YkltYWdlUm93QnlSb3dXb3JrYXJvdW5kKAorICAgICAgICAgICAgICAg
ICAgICBjb250ZXh0LCBpbWFnZUluZGV4LmdldFRhcmdldCgpLCBpbWFnZUluZGV4LmdldExldmVs
SW5kZXgoKSwgYXJlYSwKKyAgICAgICAgICAgICAgICAgICAgbmF0aXZlU3ViSW1hZ2VGb3JtYXQu
Zm9ybWF0LCBuYXRpdmVTdWJJbWFnZUZvcm1hdC50eXBlLCB1bnBhY2tTdGF0ZSwgbnVsbHB0ciwK
KyAgICAgICAgICAgICAgICAgICAgYW5nbGU6OkZlYXR1cmVzR0w6OmtVcGxvYWRUZXh0dXJlRGF0
YUluQ2h1bmtzVXBsb2FkU2l6ZSwgemVyby0+ZGF0YSgpKSk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgQU5HTEVfR0xfVFJZ
KGNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucy0+dGV4U3Vi
SW1hZ2UyRCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvR0xlbnVtKGltYWdl
SW5kZXguZ2V0VGFyZ2V0KCkpLCBpbWFnZUluZGV4LmdldExldmVsSW5kZXgoKSwgMCwgMCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2Muc2l6ZS53aWR0aCwgZGVzYy5zaXpl
LmhlaWdodCwgbmF0aXZlU3ViSW1hZ2VGb3JtYXQuZm9ybWF0LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbmF0aXZlU3ViSW1hZ2VGb3JtYXQudHlwZSwgemVyby0+ZGF0YSgpKSk7
CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgZWxzZQogICAgICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442809</attachid>
            <date>2021-10-29 05:44:07 -0700</date>
            <delta_ts>2021-10-29 06:00:32 -0700</delta_ts>
            <desc>All for EWS</desc>
            <filename>bug-232472-20211029154405.patch</filename>
            <type>text/plain</type>
            <size>41832</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggOWI4ZDIzYTZjNzFhYmNkZGNjZWI2N2M0YmZhMjcyYTIyMGQ5YmJlNy4uZGVlYTczYzE3OWFl
YzA1MzFjNDI1MmY4NWUzMTQwOWM4NmI2ODQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0OCBAQAorMjAyMS0xMC0yOSAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVu
ZW5AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04oU2FmYXJpIDE1LCBDYXRhbGluYSk6
IENyYXNoZXMgYXQgSW50ZWwgZHJpdmVyIGZsdXNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI0NzIKKyAgICAgICAgPHJkYXI6Ly84NDE4NDYxND4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3IgRVdT
LgorCisyMDIxLTEwLTI5ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisK
KyAgICAgICAgQU5HTEUgT3BlbkdMOiBDaGVycnktcGljayBjb21taXQgR0w6IEZpeCBidWcgd2l0
aDogU2tpcCByZWR1bmRhbnQgZmx1c2hlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMjQ3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEZyb20gZWNmMjdjNzE3ZjQ3OGZjMGRmYzg4MGE5ODI3OTNmYjEy
MDI4NDQzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKKyAgICAgICAgRnJvbTogSWFuIEVsbGlv
dHQgPGlhbmVsbGlvdHRAZ29vZ2xlLmNvbT4KKyAgICAgICAgRGF0ZTogV2VkLCAxNiBKdW4gMjAy
MSAxMzoxMzozMSAtMDYwMAorICAgICAgICBHTDogRml4IGJ1ZyB3aXRoOiBTa2lwIHJlZHVuZGFu
dCBmbHVzaGVzLgorCisgICAgICAgIFRoZSBBTkdMRS1pbnRvLVNraWEgYXV0b3JvbGxlciBpcyBi
bG9ja2VkIGJlY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBDTDoKKyAgICAgICAgaHR0cHM6Ly9jaHJv
bWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2FuZ2xlL2FuZ2xlLysvMjk1NjQ1MworCisg
ICAgICAgIE1pY2hhZWwgTHVkd2lnLCBhIFNraWEgZW5naW5lZXIsIGZvdW5kIHRoYXQgdGhpcyBj
aGFuZ2UgZml4ZXMgdGhlCisgICAgICAgIHByb2JsZW0gYW5kIHdpbGwgdW5ibG9jayB0aGUgYXV0
by1yb2xsZXIuCisKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvRmVuY2VOVkdM
LmNwcDoKKyAgICAgICAgKHJ4OjpGZW5jZU5WR0w6OnNldCk6CisKKzIwMjEtMTAtMjkgIEtpbW1v
IEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBBTkdMRSBPcGVuR0w6
IENoZXJyeS1waWNrIGNvbW1pdCBHTDogUmVzcGVjdCBUZXhTdWJJbWFnZSB1cGxvYWQgbGltaXRz
IGZvciByb2J1c3QgaW5pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMyNDc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRnJvbSA4MzMzZDA2MTQ0MWVmZGYyYjdmMzUwZTRmMTI5ODFkZDZlYjBkZTI0IE1v
biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorICAgICAgICBGcm9tOiBHZW9mZiBMYW5nIDxnZW9mZmxh
bmdAZ29vZ2xlLmNvbT4KKyAgICAgICAgRGF0ZTogTW9uLCAxNCBKdW4gMjAyMSAxMTowMTozNSAt
MDQwMAorICAgICAgICBHTDogUmVzcGVjdCBUZXhTdWJJbWFnZSB1cGxvYWQgbGltaXRzIGZvciBy
b2J1c3QgaW5pdAorCisgICAgICAgIFRoZSBjaHVua2VkX3RleHR1cmVfdXBsb2FkIHNwbGl0cyB0
ZXh0dXJlIHVwbG9hZHMgZm9yIGdsVGV4U3ViSW1hZ2UKKyAgICAgICAgY2FsbHMgYnV0IEFOR0xF
IHVzZXMgZ2xUZXhTdWJJbWFnZSBpbnRlcm5hbGx5IGZvciByb2J1c3QgcmVzb3VyY2UKKyAgICAg
ICAgaW5pdGlhbGl6YXRpb24uIEFsc28gY2h1bmsgdGhvc2UgdXBsb2Fkcy4KKworICAgICAgICAq
IGluY2x1ZGUvcGxhdGZvcm0vRmVhdHVyZXNHTC5oOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9y
ZW5kZXJlci9nbC9UZXh0dXJlR0wuY3BwOgorICAgICAgICAocng6OlRleHR1cmVHTDo6c2V0U3Vi
SW1hZ2UpOgorICAgICAgICAocng6OlRleHR1cmVHTDo6aW5pdGlhbGl6ZUNvbnRlbnRzKToKKwor
MjAyMS0xMC0yOSAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAg
ICAgIEFOR0xFIE9wZW5HTDogQ2hlcnJ5LXBpY2sgY29tbWl0ICBSZWxhbmQ6IEdMOiBTa2lwIHJl
ZHVuZGFudCBmbHVzaGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMyNDc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRnJvbSAyMjJhODFjZmFhZjBiZTY0ZTY0ZmUxZThlYzA0NzUzZTI4NzUzMmZlIE1v
biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorICAgICAgICBGcm9tOiBHZW9mZiBMYW5nIDxnZW9mZmxh
bmdAZ29vZ2xlLmNvbT4KKyAgICAgICAgRGF0ZTogRnJpLCAxMSBKdW4gMjAyMSAxNDozNDo1MiAt
MDQwMAorICAgICAgICBTdWJqZWN0OiBbUEFUQ0hdIFJlbGFuZDogR0w6IFNraXAgcmVkdW5kYW50
IGZsdXNoZXMuCisKKyAgICAgICAgU2tpcCBmbHVzaGVzIHdoZW4gdGhlcmUgaXMgbm8gd29yayBz
dWJtaXR0ZWQgc2luY2UgdGhlIGxhc3QKKyAgICAgICAgZmx1c2guCisKKyAgICAgICAgKiBzcmMv
bGliQU5HTEUvcmVuZGVyZXIvZ2wvQnVmZmVyR0wuY3BwOgorICAgICAgICAocng6OkJ1ZmZlckdM
OjpzZXREYXRhKToKKyAgICAgICAgKHJ4OjpCdWZmZXJHTDo6c2V0U3ViRGF0YSk6CisgICAgICAg
IChyeDo6QnVmZmVyR0w6OmNvcHlTdWJEYXRhKToKKyAgICAgICAgKHJ4OjpCdWZmZXJHTDo6bWFw
KToKKyAgICAgICAgKHJ4OjpCdWZmZXJHTDo6bWFwUmFuZ2UpOgorICAgICAgICAocng6OkJ1ZmZl
ckdMOjp1bm1hcCk6CisgICAgICAgIChyeDo6QnVmZmVyR0w6OmdldEluZGV4UmFuZ2UpOgorICAg
ICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0R0wuY3BwOgorICAgICAgICAo
cng6OkNvbnRleHRHTDo6ZHJhd0FycmF5cyk6CisgICAgICAgIChyeDo6Q29udGV4dEdMOjpkcmF3
QXJyYXlzSW5zdGFuY2VkKToKKyAgICAgICAgKHJ4OjpDb250ZXh0R0w6OmRyYXdBcnJheXNJbnN0
YW5jZWRCYXNlSW5zdGFuY2UpOgorICAgICAgICAocng6OkNvbnRleHRHTDo6ZHJhd0VsZW1lbnRz
KToKKyAgICAgICAgKHJ4OjpDb250ZXh0R0w6OmRyYXdFbGVtZW50c0Jhc2VWZXJ0ZXgpOgorICAg
ICAgICAocng6OkNvbnRleHRHTDo6ZHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleCk6Cisg
ICAgICAgIChyeDo6Q29udGV4dEdMOjpkcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNlVmVydGV4QmFz
ZUluc3RhbmNlKToKKyAgICAgICAgKHJ4OjpDb250ZXh0R0w6OmRyYXdSYW5nZUVsZW1lbnRzKToK
KyAgICAgICAgKHJ4OjpDb250ZXh0R0w6OmRyYXdSYW5nZUVsZW1lbnRzQmFzZVZlcnRleCk6Cisg
ICAgICAgIChyeDo6Q29udGV4dEdMOjpkcmF3QXJyYXlzSW5kaXJlY3QpOgorICAgICAgICAocng6
OkNvbnRleHRHTDo6bXVsdGlEcmF3QXJyYXlzKToKKyAgICAgICAgKHJ4OjpDb250ZXh0R0w6Om11
bHRpRHJhd0FycmF5c0luc3RhbmNlZCk6CisgICAgICAgIChyeDo6Q29udGV4dEdMOjptdWx0aURy
YXdFbGVtZW50cyk6CisgICAgICAgIChyeDo6Q29udGV4dEdMOjptdWx0aURyYXdFbGVtZW50c0lu
c3RhbmNlZCk6CisgICAgICAgIChyeDo6Q29udGV4dEdMOjptdWx0aURyYXdBcnJheXNJbnN0YW5j
ZWRCYXNlSW5zdGFuY2UpOgorICAgICAgICAocng6OkNvbnRleHRHTDo6bXVsdGlEcmF3RWxlbWVu
dHNJbnN0YW5jZWRCYXNlVmVydGV4QmFzZUluc3RhbmNlKToKKyAgICAgICAgKHJ4OjpDb250ZXh0
R0w6Om1hcmtXb3JrU3VibWl0dGVkKToKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIv
Z2wvQ29udGV4dEdMLmg6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0ZlbmNl
TlZHTC5jcHA6CisgICAgICAgIChyeDo6RmVuY2VOVlN5bmNHTDo6c2V0KToKKyAgICAgICAgKiBz
cmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvRnJhbWVidWZmZXJHTC5jcHA6CisgICAgICAgIChyeDo6
RnJhbWVidWZmZXJHTDo6Y2xlYXIpOgorICAgICAgICAocng6OkZyYW1lYnVmZmVyR0w6OmNsZWFy
QnVmZmVyZnYpOgorICAgICAgICAocng6OkZyYW1lYnVmZmVyR0w6OmNsZWFyQnVmZmVydWl2KToK
KyAgICAgICAgKHJ4OjpGcmFtZWJ1ZmZlckdMOjpjbGVhckJ1ZmZlcml2KToKKyAgICAgICAgKHJ4
OjpGcmFtZWJ1ZmZlckdMOjpjbGVhckJ1ZmZlcmZpKToKKyAgICAgICAgKHJ4OjpGcmFtZWJ1ZmZl
ckdMOjpibGl0KToKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvUXVlcnlHTC5j
cHA6CisgICAgICAgIChyeDo6U3RhbmRhcmRRdWVyeUdMOjpyZXN1bWUpOgorICAgICAgICAocng6
OlN5bmNQcm92aWRlckdMU3luYzo6U3luY1Byb3ZpZGVyR0xTeW5jKToKKyAgICAgICAgKHJ4OjpT
eW5jUXVlcnlHTDo6ZW5kKToKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvUmVu
ZGVyZXJHTC5jcHA6CisgICAgICAgIChyeDo6UmVuZGVyZXJHTDo6Zmx1c2gpOgorICAgICAgICAo
cng6OlJlbmRlcmVyR0w6OmZpbmlzaCk6CisgICAgICAgIChyeDo6UmVuZGVyZXJHTDo6ZGlzcGF0
Y2hDb21wdXRlKToKKyAgICAgICAgKHJ4OjpSZW5kZXJlckdMOjpkaXNwYXRjaENvbXB1dGVJbmRp
cmVjdCk6CisgICAgICAgIChyeDo6UmVuZGVyZXJHTDo6bWVtb3J5QmFycmllcik6CisgICAgICAg
IChyeDo6UmVuZGVyZXJHTDo6bWVtb3J5QmFycmllckJ5UmVnaW9uKToKKyAgICAgICAgKHJ4OjpS
ZW5kZXJlckdMOjptYXJrV29ya1N1Ym1pdHRlZCk6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL2dsL1JlbmRlcmVyR0wuaDoKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIv
Z2wvU3luY0dMLmNwcDoKKyAgICAgICAgKHJ4OjpTeW5jR0w6OnNldCk6CisKKzIwMjEtMTAtMjkg
IEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBBTkdMRSBP
cGVuR0w6IENoZXJyeS1waWNrIGNvbW1pdCBHTDogQ2h1bmsgdXBsb2FkcyBvZiB0ZXh0dXJlIGRh
dGEgPjEyMGtiIG9uIE1hYy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMjQ3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEZyb20gYzEyZjU5NGExOWIxODIzMWU1Y2RjNWNjZWEwOWE1MmNkZjUyNTAwYyBN
b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKKyAgICAgICAgRnJvbTogR2VvZmYgTGFuZyA8Z2VvZmZs
YW5nQGdvb2dsZS5jb20+CisgICAgICAgIERhdGU6IE1vbiwgMzEgTWF5IDIwMjEgMTA6NDg6MjAg
LTA0MDAKKyAgICAgICAgR0w6IENodW5rIHVwbG9hZHMgb2YgdGV4dHVyZSBkYXRhID4xMjBrYiBv
biBNYWMuCisKKyAgICAgICAgTWFjIGRyaXZlcnMgYXJlIGhhbmdpbmcgYW5kIGNyYXNoaW5nIGFm
dGVyIGxhcmdlIGdsVGV4U3ViSW1hZ2UgdXBsb2Fkcy4KKyAgICAgICAgQ2h1bmsgdGhvc2UgdXBs
b2FkcyB0byBhdm9pZCB0aGlzIHByb2JsZW1hdGljIHBhdGggaW4gdGhlIGRyaXZlci4KKworICAg
ICAgICAqIGluY2x1ZGUvcGxhdGZvcm0vRmVhdHVyZXNHTC5oOgorICAgICAgICAqIHNyYy9saWJB
TkdMRS9yZW5kZXJlci9nbC9Db250ZXh0R0wuaDoKKyAgICAgICAgKHJ4OjpDb250ZXh0R0w6Omdl
dERlYnVnIGNvbnN0KToKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvVGV4dHVy
ZUdMLmNwcDoKKyAgICAgICAgKHJ4OjpUZXh0dXJlR0w6OnNldEltYWdlKToKKyAgICAgICAgKHJ4
OjpUZXh0dXJlR0w6OnNldFN1YkltYWdlKToKKyAgICAgICAgKHJ4OjpUZXh0dXJlR0w6OnNldFN1
YkltYWdlUm93QnlSb3dXb3JrYXJvdW5kKToKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvcmVuZGVy
ZXIvZ2wvVGV4dHVyZUdMLmg6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL3Jl
bmRlcmVyZ2xfdXRpbHMuY3BwOgorICAgICAgICAocng6Om5hdGl2ZWdsX2dsOjpJbml0aWFsaXpl
RmVhdHVyZXMpOgorCiAyMDIxLTEwLTI3ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAoU2FmYXJpIDE1KTogUG9vciBXZWJHTCBwZXJm
b3JtYW5jZSBvbiBodHRwczovL2Rvd25sb2Fkcy5zY2lycmEuY29tL2xhYnMvcGFydGljbGVzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNsdWRlL3BsYXRmb3JtL0ZlYXR1
cmVzR0wuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvcGxhdGZvcm0vRmVhdHVy
ZXNHTC5oCmluZGV4IDAwMmI3OGVhZmM3YTViODU2ZTQ0MjhmYmQ4MmM3YzcwMWVkODMxMDkuLjdj
YjFmMzgzNTFkODkxNzI3YzZkYjAxZjQzZmNjNGY3YzdlNzVlYmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvcGxhdGZvcm0vRmVhdHVyZXNHTC5oCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL2luY2x1ZGUvcGxhdGZvcm0vRmVhdHVyZXNHTC5oCkBAIC01
MTEsNiArNTExLDE0IEBAIHN0cnVjdCBGZWF0dXJlc0dMIDogRmVhdHVyZVNldEJhc2UKICAgICBG
ZWF0dXJlIHByb21vdGVQYWNrZWRGb3JtYXRzVG84Qml0UGVyQ2hhbm5lbCA9IHsKICAgICAgICAg
InByb21vdGVfcGFja2VkX2Zvcm1hdHNfdG9fOF9iaXRfcGVyX2NoYW5uZWwiLCBGZWF0dXJlQ2F0
ZWdvcnk6Ok9wZW5HTFdvcmthcm91bmRzLAogICAgICAgICAiUGFja2VkIGNvbG9yIGZvcm1hdHMg
YXJlIGJ1Z2d5IG9uIE1hY3Mgd2l0aCBBTUQgR1BVcyIsICZtZW1iZXJzLCAiaHR0cHM6Ly9hbmds
ZWJ1Zy5jb20vNDg0OSJ9OworCisgICAgLy8gTWFjIE9wZW5HTCBkcml2ZXJzIG9mdGVuIGhhbmcg
d2hlbiBjYWxsaW5nIGdsVGV4U3ViSW1hZ2Ugd2l0aCA+MTIwa2Igb2YgZGF0YS4gSW5zdGVhZCwg
dXBsb2FkCisgICAgLy8gdGhlIGRhdGEgaW4gPDEyMGtiIGNodW5rcy4KKyAgICBzdGF0aWMgY29u
c3RleHByIGNvbnN0IHNpemVfdCBrVXBsb2FkVGV4dHVyZURhdGFJbkNodW5rc1VwbG9hZFNpemUg
PSAoMTIwICogMTAyNCkgLSAxOworICAgIEZlYXR1cmUgdXBsb2FkVGV4dHVyZURhdGFJbkNodW5r
cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IHsKKyAgICAgICAgImNodW5rZWRf
dGV4dHVyZV91cGxvYWQiLCBGZWF0dXJlQ2F0ZWdvcnk6Ok9wZW5HTFdvcmthcm91bmRzLAorICAg
ICAgICAiVXBsb2FkIHRleHR1cmUgZGF0YSBpbiA8MTIwa2IgY2h1bmtzIHRvIHdvcmsgYXJvdW5k
IE1hYyBkcml2ZXIgaGFuZ3MgYW5kIGNyYXNoZXMuIiwKKyAgICAgICAgJm1lbWJlcnMsICJodHRw
Oi8vY3JidWcuY29tLzExODEwNjgifTsKIH07CiAKIGlubGluZSBGZWF0dXJlc0dMOjpGZWF0dXJl
c0dMKCkgID0gZGVmYXVsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9nbC9CdWZmZXJHTC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvQnVmZmVyR0wuY3BwCmluZGV4IDRmNWMxOGU4
ZTdiYTllMzhlNTYyNzA3NDZlODZjNjcyNmU1NmM0NjkuLmFkZmVkN2FlNzhmODJmNDA2YTJhZmY1
MTQ0MjMwNGYyZWVlYjY5ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9nbC9CdWZmZXJHTC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0J1ZmZlckdMLmNwcApAQCAtODAsNiAr
ODAsOCBAQCBhbmdsZTo6UmVzdWx0IEJ1ZmZlckdMOjpzZXREYXRhKGNvbnN0IGdsOjpDb250ZXh0
ICpjb250ZXh0LAogCiAgICAgbUJ1ZmZlclNpemUgPSBzaXplOwogCisgICAgY29udGV4dEdMLT5t
YXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVl
OwogfQogCkBAIC04OSw2ICs5MSw3IEBAIGFuZ2xlOjpSZXN1bHQgQnVmZmVyR0w6OnNldFN1YkRh
dGEoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNpemVfdCBzaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzaXplX3Qgb2Zmc2V0KQogeworICAgIENvbnRleHRHTCAqY29udGV4dEdMICAgICAgICAgICAg
ICA9IEdldEltcGxBczxDb250ZXh0R0w+KGNvbnRleHQpOwogICAgIGNvbnN0IEZ1bmN0aW9uc0dM
ICpmdW5jdGlvbnMgICAgICA9IEdldEZ1bmN0aW9uc0dMKGNvbnRleHQpOwogICAgIFN0YXRlTWFu
YWdlckdMICpzdGF0ZU1hbmFnZXIgICAgICA9IEdldFN0YXRlTWFuYWdlckdMKGNvbnRleHQpOwog
ICAgIGNvbnN0IGFuZ2xlOjpGZWF0dXJlc0dMICZmZWF0dXJlcyA9IEdldEZlYXR1cmVzR0woY29u
dGV4dCk7CkBAIC0xMDIsNiArMTA1LDggQEAgYW5nbGU6OlJlc3VsdCBCdWZmZXJHTDo6c2V0U3Vi
RGF0YShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgbWVtY3B5KG1TaGFkb3dD
b3B5LmRhdGEoKSArIG9mZnNldCwgZGF0YSwgc2l6ZSk7CiAgICAgfQogCisgICAgY29udGV4dEdM
LT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRp
bnVlOwogfQogCkBAIC0xMTEsNiArMTE2LDcgQEAgYW5nbGU6OlJlc3VsdCBCdWZmZXJHTDo6Y29w
eVN1YkRhdGEoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHTGludHB0ciBkZXN0T2Zmc2V0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0xzaXplaXB0ciBzaXplKQogeworICAgIENvbnRleHRHTCAqY29u
dGV4dEdMICAgICAgICAgICAgICA9IEdldEltcGxBczxDb250ZXh0R0w+KGNvbnRleHQpOwogICAg
IGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMgICAgICA9IEdldEZ1bmN0aW9uc0dMKGNvbnRl
eHQpOwogICAgIFN0YXRlTWFuYWdlckdMICpzdGF0ZU1hbmFnZXIgICAgICA9IEdldFN0YXRlTWFu
YWdlckdMKGNvbnRleHQpOwogICAgIGNvbnN0IGFuZ2xlOjpGZWF0dXJlc0dMICZmZWF0dXJlcyA9
IEdldEZlYXR1cmVzR0woY29udGV4dCk7CkBAIC0xMzAsMTEgKzEzNiwxNCBAQCBhbmdsZTo6UmVz
dWx0IEJ1ZmZlckdMOjpjb3B5U3ViRGF0YShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAg
ICAgICAgbWVtY3B5KG1TaGFkb3dDb3B5LmRhdGEoKSArIGRlc3RPZmZzZXQsIHNvdXJjZUdMLT5t
U2hhZG93Q29weS5kYXRhKCkgKyBzb3VyY2VPZmZzZXQsIHNpemUpOwogICAgIH0KIAorICAgIGNv
bnRleHRHTC0+bWFya1dvcmtTdWJtaXR0ZWQoKTsKKwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0
OjpDb250aW51ZTsKIH0KIAogYW5nbGU6OlJlc3VsdCBCdWZmZXJHTDo6bWFwKGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LCBHTGVudW0gYWNjZXNzLCB2b2lkICoqbWFwUHRyKQogeworICAgIENv
bnRleHRHTCAqY29udGV4dEdMICAgICAgICAgICAgICA9IEdldEltcGxBczxDb250ZXh0R0w+KGNv
bnRleHQpOwogICAgIGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMgICAgICA9IEdldEZ1bmN0
aW9uc0dMKGNvbnRleHQpOwogICAgIFN0YXRlTWFuYWdlckdMICpzdGF0ZU1hbmFnZXIgICAgICA9
IEdldFN0YXRlTWFuYWdlckdMKGNvbnRleHQpOwogICAgIGNvbnN0IGFuZ2xlOjpGZWF0dXJlc0dM
ICZmZWF0dXJlcyA9IEdldEZlYXR1cmVzR0woY29udGV4dCk7CkBAIC0xNjIsNiArMTcxLDggQEAg
YW5nbGU6OlJlc3VsdCBCdWZmZXJHTDo6bWFwKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBH
TGVudW0gYWNjZXNzLCB2b2lkICoqbWEKICAgICBtTWFwT2Zmc2V0ID0gMDsKICAgICBtTWFwU2l6
ZSAgID0gbUJ1ZmZlclNpemU7CiAKKyAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVkKCk7
CisKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTE3MSw2ICsx
ODIsNyBAQCBhbmdsZTo6UmVzdWx0IEJ1ZmZlckdMOjptYXBSYW5nZShjb25zdCBnbDo6Q29udGV4
dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMYml0ZmllbGQg
YWNjZXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqKm1hcFB0cikK
IHsKKyAgICBDb250ZXh0R0wgKmNvbnRleHRHTCAgICAgICAgICAgICAgPSBHZXRJbXBsQXM8Q29u
dGV4dEdMPihjb250ZXh0KTsKICAgICBjb25zdCBGdW5jdGlvbnNHTCAqZnVuY3Rpb25zICAgICAg
PSBHZXRGdW5jdGlvbnNHTChjb250ZXh0KTsKICAgICBTdGF0ZU1hbmFnZXJHTCAqc3RhdGVNYW5h
Z2VyICAgICAgPSBHZXRTdGF0ZU1hbmFnZXJHTChjb250ZXh0KTsKICAgICBjb25zdCBhbmdsZTo6
RmVhdHVyZXNHTCAmZmVhdHVyZXMgPSBHZXRGZWF0dXJlc0dMKGNvbnRleHQpOwpAQCAtMTkxLDEx
ICsyMDMsMTQgQEAgYW5nbGU6OlJlc3VsdCBCdWZmZXJHTDo6bWFwUmFuZ2UoY29uc3QgZ2w6OkNv
bnRleHQgKmNvbnRleHQsCiAgICAgbU1hcE9mZnNldCA9IG9mZnNldDsKICAgICBtTWFwU2l6ZSAg
ID0gbGVuZ3RoOwogCisgICAgY29udGV4dEdMLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAg
cmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCiBhbmdsZTo6UmVzdWx0IEJ1ZmZl
ckdMOjp1bm1hcChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgR0xib29sZWFuICpyZXN1bHQp
CiB7CisgICAgQ29udGV4dEdMICpjb250ZXh0R0wgICAgICAgICAgICAgID0gR2V0SW1wbEFzPENv
bnRleHRHTD4oY29udGV4dCk7CiAgICAgY29uc3QgRnVuY3Rpb25zR0wgKmZ1bmN0aW9ucyAgICAg
ID0gR2V0RnVuY3Rpb25zR0woY29udGV4dCk7CiAgICAgU3RhdGVNYW5hZ2VyR0wgKnN0YXRlTWFu
YWdlciAgICAgID0gR2V0U3RhdGVNYW5hZ2VyR0woY29udGV4dCk7CiAgICAgY29uc3QgYW5nbGU6
OkZlYXR1cmVzR0wgJmZlYXR1cmVzID0gR2V0RmVhdHVyZXNHTChjb250ZXh0KTsKQEAgLTIxOSw2
ICsyMzQsOSBAQCBhbmdsZTo6UmVzdWx0IEJ1ZmZlckdMOjp1bm1hcChjb25zdCBnbDo6Q29udGV4
dCAqY29udGV4dCwgR0xib29sZWFuICpyZXN1bHQpCiAgICAgfQogCiAgICAgbUlzTWFwcGVkID0g
ZmFsc2U7CisKKyAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1
cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTIyOSw2ICsyNDcsNyBAQCBhbmds
ZTo6UmVzdWx0IEJ1ZmZlckdMOjpnZXRJbmRleFJhbmdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250
ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHByaW1pdGl2
ZVJlc3RhcnRFbmFibGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
bDo6SW5kZXhSYW5nZSAqb3V0UmFuZ2UpCiB7CisgICAgQ29udGV4dEdMICpjb250ZXh0R0wgICAg
ICAgICAgICAgID0gR2V0SW1wbEFzPENvbnRleHRHTD4oY29udGV4dCk7CiAgICAgY29uc3QgRnVu
Y3Rpb25zR0wgKmZ1bmN0aW9ucyAgICAgID0gR2V0RnVuY3Rpb25zR0woY29udGV4dCk7CiAgICAg
U3RhdGVNYW5hZ2VyR0wgKnN0YXRlTWFuYWdlciAgICAgID0gR2V0U3RhdGVNYW5hZ2VyR0woY29u
dGV4dCk7CiAgICAgY29uc3QgYW5nbGU6OkZlYXR1cmVzR0wgJmZlYXR1cmVzID0gR2V0RmVhdHVy
ZXNHTChjb250ZXh0KTsKQEAgLTI2MCw2ICsyNzksOCBAQCBhbmdsZTo6UmVzdWx0IEJ1ZmZlckdM
OjpnZXRJbmRleFJhbmdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICB9CiAg
ICAgfQogCisgICAgY29udGV4dEdMLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0dXJu
IGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvQ29udGV4dEdMLmNwcCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0R0wuY3Bw
CmluZGV4IDI0MTRiOGI5YzIzYmE2YmEyMDJkZDkyMTFmMDllNDg0Yzg1N2EwZjguLmNmNmM1Mjhl
MmI5YzUwNjZiZTYxZTM4MzliZTBiYWMwMDI0ZjQ2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0R0wuY3BwCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0
R0wuY3BwCkBAIC0yOTUsNiArMjk1LDggQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0R0w6OmRyYXdB
cnJheXMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIEFOR0xFX0dMX1RSWShj
b250ZXh0LCBnZXRGdW5jdGlvbnMoKS0+ZHJhd0FycmF5c0luc3RhbmNlZChUb0dMZW51bShtb2Rl
KSwgZmlyc3QsIGNvdW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2VDb3VudCkpOwogICAgIH0KKyAgICBt
UmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1cm4gYW5nbGU6OlJlc3Vs
dDo6Q29udGludWU7CiB9CiAKQEAgLTMxNCw2ICszMTYsOCBAQCBhbmdsZTo6UmVzdWx0IENvbnRl
eHRHTDo6ZHJhd0FycmF5c0luc3RhbmNlZChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAg
ICBBTkdMRV9UUlkoc2V0RHJhd0FycmF5c1N0YXRlKGNvbnRleHQsIGZpcnN0LCBjb3VudCwgYWRq
dXN0ZWRJbnN0YW5jZUNvdW50KSk7CiAgICAgQU5HTEVfR0xfVFJZKGNvbnRleHQsIGdldEZ1bmN0
aW9ucygpLT5kcmF3QXJyYXlzSW5zdGFuY2VkKFRvR0xlbnVtKG1vZGUpLCBmaXJzdCwgY291bnQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGFkanVzdGVkSW5zdGFuY2VDb3VudCkpOworICAgIG1SZW5kZXJlci0+bWFya1dvcmtT
dWJtaXR0ZWQoKTsKKwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApA
QCAtNDM1LDYgKzQzOSw4IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dEdMOjpkcmF3QXJyYXlzSW5z
dGFuY2VkQmFzZUluc3RhbmNlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250CiAgICAgICAgIHJlc2V0
VXBkYXRlZEF0dHJpYnV0ZXMoYXR0cmliVG9SZXNldE1hc2spOwogICAgIH0KIAorICAgIG1SZW5k
ZXJlci0+bWFya1dvcmtTdWJtaXR0ZWQoKTsKKwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpD
b250aW51ZTsKIH0KIApAQCAtNDY2LDYgKzQ3Miw4IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dEdM
OjpkcmF3RWxlbWVudHMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAg
ICAgICAgICBnZXRGdW5jdGlvbnMoKS0+ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKFRvR0xlbnVtKG1v
ZGUpLCBjb3VudCwgVG9HTGVudW0odHlwZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYXdJbmRleFB0ciwgaW5zdGFuY2VDb3Vu
dCkpOwogICAgIH0KKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICBy
ZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTQ5OCw2ICs1MDYsOCBAQCBh
bmdsZTo6UmVzdWx0IENvbnRleHRHTDo6ZHJhd0VsZW1lbnRzQmFzZVZlcnRleChjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb0dM
ZW51bShtb2RlKSwgY291bnQsIFRvR0xlbnVtKHR5cGUpLCBkcmF3SW5kZXhQdHIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2VDb3VudCwgYmFzZVZlcnRleCkpOwog
ICAgIH0KKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1cm4g
YW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTU0NSw2ICs1NTUsOCBAQCBhbmdsZTo6
UmVzdWx0IENvbnRleHRHTDo6ZHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleChjb25zdCBn
bDo6Q29udGV4dCAqY29udAogICAgIEFOR0xFX0dMX1RSWShjb250ZXh0LCBnZXRGdW5jdGlvbnMo
KS0+ZHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRleCgKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFRvR0xlbnVtKG1vZGUpLCBjb3VudCwgVG9HTGVudW0odHlwZSksIGRyYXdJbmRl
eFBvaW50ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGp1c3RlZEluc3RhbmNl
Q291bnQsIGJhc2VWZXJ0ZXgpKTsKKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVkKCk7
CisKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTU5MSw2ICs2
MDMsOCBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRHTDo6ZHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFz
ZVZlcnRleEJhc2VJbnN0YW5jZShjb25zdCBnbDo6QwogICAgICAgICByZXNldFVwZGF0ZWRBdHRy
aWJ1dGVzKGF0dHJpYlRvUmVzZXRNYXNrKTsKICAgICB9CiAKKyAgICBtUmVuZGVyZXItPm1hcmtX
b3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9
CiAKQEAgLTYyMCw2ICs2MzQsOCBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRHTDo6ZHJhd1Jhbmdl
RWxlbWVudHMoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAg
ICBnZXRGdW5jdGlvbnMoKS0+ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKFRvR0xlbnVtKG1vZGUpLCBj
b3VudCwgVG9HTGVudW0odHlwZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRyYXdJbmRleFBvaW50ZXIsIGluc3RhbmNlQ291bnQp
KTsKICAgICB9CisgICAgbVJlbmRlcmVyLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0
dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC02NTEsNiArNjY3LDggQEAgYW5n
bGU6OlJlc3VsdCBDb250ZXh0R0w6OmRyYXdSYW5nZUVsZW1lbnRzQmFzZVZlcnRleChjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU
b0dMZW51bShtb2RlKSwgY291bnQsIFRvR0xlbnVtKHR5cGUpLCBkcmF3SW5kZXhQb2ludGVyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlQ291bnQsIGJhc2VWZXJ0
ZXgpKTsKICAgICB9CisgICAgbVJlbmRlcmVyLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAg
cmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC02NTksNiArNjc3LDggQEAg
YW5nbGU6OlJlc3VsdCBDb250ZXh0R0w6OmRyYXdBcnJheXNJbmRpcmVjdChjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgdm9pZCAqaW5kaXJlY3QpCiB7CiAgICAgQU5HTEVfR0xfVFJZKGNvbnRleHQsIGdl
dEZ1bmN0aW9ucygpLT5kcmF3QXJyYXlzSW5kaXJlY3QoVG9HTGVudW0obW9kZSksIGluZGlyZWN0
KSk7CisgICAgbVJlbmRlcmVyLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0dXJuIGFu
Z2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC02NzgsNiArNjk4LDggQEAgYW5nbGU6OlJl
c3VsdCBDb250ZXh0R0w6Om11bHRpRHJhd0FycmF5cyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xzaXpl
aSAqY291bnRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNp
emVpIGRyYXdjb3VudCkKIHsKKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVkKCk7CisK
ICAgICByZXR1cm4gcng6Ok11bHRpRHJhd0FycmF5c0dlbmVyYWwodGhpcywgY29udGV4dCwgbW9k
ZSwgZmlyc3RzLCBjb3VudHMsIGRyYXdjb3VudCk7CiB9CiAKQEAgLTY4OCw2ICs3MTAsOCBAQCBh
bmdsZTo6UmVzdWx0IENvbnRleHRHTDo6bXVsdGlEcmF3QXJyYXlzSW5zdGFuY2VkKGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBHTHNpemVpICppbnN0YW5jZUNvdW50cywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xzaXplaSBkcmF3Y291bnQp
CiB7CisgICAgbVJlbmRlcmVyLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0dXJuIHJ4
OjpNdWx0aURyYXdBcnJheXNJbnN0YW5jZWRHZW5lcmFsKHRoaXMsIGNvbnRleHQsIG1vZGUsIGZp
cnN0cywgY291bnRzLCBpbnN0YW5jZUNvdW50cywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZHJhd2NvdW50KTsKIH0KQEAgLTY5OSw2ICs3MjMsOCBAQCBh
bmdsZTo6UmVzdWx0IENvbnRleHRHTDo6bXVsdGlEcmF3RWxlbWVudHMoY29uc3QgZ2w6OkNvbnRl
eHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgR0x2b2lkICpjb25zdCAqaW5kaWNlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBHTHNpemVpIGRyYXdjb3VudCkKIHsKKyAgICBtUmVuZGVyZXItPm1h
cmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1cm4gcng6Ok11bHRpRHJhd0VsZW1lbnRzR2Vu
ZXJhbCh0aGlzLCBjb250ZXh0LCBtb2RlLCBjb3VudHMsIHR5cGUsIGluZGljZXMsIGRyYXdjb3Vu
dCk7CiB9CiAKQEAgLTcxMCw2ICs3MzYsOCBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRHTDo6bXVs
dGlEcmF3RWxlbWVudHNJbnN0YW5jZWQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0xz
aXplaSAqaW5zdGFuY2VDb3VudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0xzaXplaSBkcmF3Y291bnQpCiB7CisgICAgbVJlbmRlcmVyLT5t
YXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0dXJuIHJ4OjpNdWx0aURyYXdFbGVtZW50c0lu
c3RhbmNlZEdlbmVyYWwodGhpcywgY29udGV4dCwgbW9kZSwgY291bnRzLCB0eXBlLCBpbmRpY2Vz
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3Rh
bmNlQ291bnRzLCBkcmF3Y291bnQpOwogfQpAQCAtNzIyLDYgKzc1MCw4IEBAIGFuZ2xlOjpSZXN1
bHQgQ29udGV4dEdMOjptdWx0aURyYXdBcnJheXNJbnN0YW5jZWRCYXNlSW5zdGFuY2UoY29uc3Qg
Z2w6OkNvbnRleHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgR0x1aW50ICpiYXNlSW5zdGFuY2VzLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNp
emVpIGRyYXdjb3VudCkKIHsKKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVkKCk7CisK
ICAgICByZXR1cm4gcng6Ok11bHRpRHJhd0FycmF5c0luc3RhbmNlZEJhc2VJbnN0YW5jZUdlbmVy
YWwoCiAgICAgICAgIHRoaXMsIGNvbnRleHQsIG1vZGUsIGZpcnN0cywgY291bnRzLCBpbnN0YW5j
ZUNvdW50cywgYmFzZUluc3RhbmNlcywgZHJhd2NvdW50KTsKIH0KQEAgLTczNyw2ICs3NjcsOCBA
QCBhbmdsZTo6UmVzdWx0IENvbnRleHRHTDo6bXVsdGlEcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNl
VmVydGV4QmFzZUluc3RhbmNlKAogICAgIGNvbnN0IEdMdWludCAqYmFzZUluc3RhbmNlcywKICAg
ICBHTHNpemVpIGRyYXdjb3VudCkKIHsKKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVk
KCk7CisKICAgICByZXR1cm4gcng6Ok11bHRpRHJhd0VsZW1lbnRzSW5zdGFuY2VkQmFzZVZlcnRl
eEJhc2VJbnN0YW5jZUdlbmVyYWwoCiAgICAgICAgIHRoaXMsIGNvbnRleHQsIG1vZGUsIGNvdW50
cywgdHlwZSwgaW5kaWNlcywgaW5zdGFuY2VDb3VudHMsIGJhc2VWZXJ0aWNlcywgYmFzZUluc3Rh
bmNlcywKICAgICAgICAgZHJhd2NvdW50KTsKQEAgLTkwOSw0ICs5NDEsOSBAQCB2b2lkIENvbnRl
eHRHTDo6Zmx1c2hJZk5lY2Vzc2FyeUJlZm9yZURlbGV0ZVRleHR1cmVzKCkKICAgICBtUmVuZGVy
ZXItPmZsdXNoSWZOZWNlc3NhcnlCZWZvcmVEZWxldGVUZXh0dXJlcygpOwogfQogCit2b2lkIENv
bnRleHRHTDo6bWFya1dvcmtTdWJtaXR0ZWQoKQoreworICAgIG1SZW5kZXJlci0+bWFya1dvcmtT
dWJtaXR0ZWQoKTsKK30KKwogfSAgLy8gbmFtZXNwYWNlIHJ4CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvQ29udGV4dEdMLmggYi9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvQ29udGV4dEdM
LmgKaW5kZXggZWE1MzUzZGJiNTViMjc4MzY1NjA5ZWE3MGIzMTY2OTkwM2Q4Y2EyZS4uMGJiMDYz
YWQwNGFiM2VlNjgyNjQxMTI5YTkzNTE5M2YwMTc3MzY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0NvbnRleHRHTC5oCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0
R0wuaApAQCAtMjcyLDYgKzI3MiwxMCBAQCBjbGFzcyBDb250ZXh0R0wgOiBwdWJsaWMgQ29udGV4
dEltcGwKICAgICB2b2lkIHNldE5lZWRzRmx1c2hCZWZvcmVEZWxldGVUZXh0dXJlcygpOwogICAg
IHZvaWQgZmx1c2hJZk5lY2Vzc2FyeUJlZm9yZURlbGV0ZVRleHR1cmVzKCk7CiAKKyAgICB2b2lk
IG1hcmtXb3JrU3VibWl0dGVkKCk7CisKKyAgICBjb25zdCBnbDo6RGVidWcgJmdldERlYnVnKCkg
Y29uc3QgeyByZXR1cm4gbVN0YXRlLmdldERlYnVnKCk7IH0KKwogICBwcml2YXRlOgogICAgIGFu
Z2xlOjpSZXN1bHQgc2V0RHJhd0FycmF5c1N0YXRlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMaW50IGZpcnN0LApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2ds
L0ZlbmNlTlZHTC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvZ2wvRmVuY2VOVkdMLmNwcAppbmRleCBlNThlNDgwMDZjMzY2ZDliMjM5M2FiZjM2OWNi
ZTdjYjQ5ZGYzNjk1Li4yNDkxYjY4ZWM0MjZlNWRiNmUxNmVmYWMwMjU5ZGY4MDVmYWM5ODlkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
Z2wvRmVuY2VOVkdMLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvZ2wvRmVuY2VOVkdMLmNwcApAQCAtMzAsNyArMzAsOSBAQCBGZW5jZU5WR0w6
On5GZW5jZU5WR0woKQogYW5nbGU6OlJlc3VsdCBGZW5jZU5WR0w6OnNldChjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwgR0xlbnVtIGNvbmRpdGlvbikKIHsKICAgICBBU1NFUlQoY29uZGl0aW9u
ID09IEdMX0FMTF9DT01QTEVURURfTlYpOworICAgIENvbnRleHRHTCAqY29udGV4dEdMID0gR2V0
SW1wbEFzPENvbnRleHRHTD4oY29udGV4dCk7CiAgICAgbUZ1bmN0aW9ucy0+c2V0RmVuY2VOViht
RmVuY2UsIGNvbmRpdGlvbik7CisgICAgY29udGV4dEdMLT5tYXJrV29ya1N1Ym1pdHRlZCgpOwog
ICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApAQCAtNjksOSArNzEsMTEg
QEAgRmVuY2VOVlN5bmNHTDo6fkZlbmNlTlZTeW5jR0woKQogYW5nbGU6OlJlc3VsdCBGZW5jZU5W
U3luY0dMOjpzZXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIEdMZW51bSBjb25kaXRpb24p
CiB7CiAgICAgQVNTRVJUKGNvbmRpdGlvbiA9PSBHTF9BTExfQ09NUExFVEVEX05WKTsKLSAgICBt
U3luY09iamVjdCA9IG1GdW5jdGlvbnMtPmZlbmNlU3luYyhHTF9TWU5DX0dQVV9DT01NQU5EU19D
T01QTEVURSwgMCk7Ci0gICAgQU5HTEVfQ0hFQ0soR2V0SW1wbEFzPENvbnRleHRHTD4oY29udGV4
dCksIG1TeW5jT2JqZWN0ICE9IDAsCi0gICAgICAgICAgICAgICAgImdsRmVuY2VTeW5jIGZhaWxl
ZCB0byBjcmVhdGUgYSBHTHN5bmMgb2JqZWN0LiIsIEdMX09VVF9PRl9NRU1PUlkpOworICAgIENv
bnRleHRHTCAqY29udGV4dEdMID0gR2V0SW1wbEFzPENvbnRleHRHTD4oY29udGV4dCk7CisgICAg
bVN5bmNPYmplY3QgICAgICAgICAgPSBtRnVuY3Rpb25zLT5mZW5jZVN5bmMoR0xfU1lOQ19HUFVf
Q09NTUFORFNfQ09NUExFVEUsIDApOworICAgIEFOR0xFX0NIRUNLKGNvbnRleHRHTCwgbVN5bmNP
YmplY3QgIT0gMCwgImdsRmVuY2VTeW5jIGZhaWxlZCB0byBjcmVhdGUgYSBHTHN5bmMgb2JqZWN0
LiIsCisgICAgICAgICAgICAgICAgR0xfT1VUX09GX01FTU9SWSk7CisgICAgY29udGV4dEdMLT5t
YXJrV29ya1N1Ym1pdHRlZCgpOwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL2dsL0ZyYW1lYnVmZmVyR0wuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL2dsL0ZyYW1lYnVmZmVyR0wuY3BwCmluZGV4IGU3YmRmYmVjZGVk
ZTY0OTQ4MTU0YTgxYmQ3YzhiMThkOTc1YWQyM2EuLmZlMzAzZGRmMTEzNjVmMmEyMTE0NDc2ODJj
MTEzZTZlMDU3MzlhOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9nbC9GcmFtZWJ1ZmZlckdMLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvRnJhbWVidWZmZXJHTC5jcHAKQEAg
LTQ3OSw2ICs0NzksNyBAQCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyR0w6OmludmFsaWRhdGVT
dWIoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAKIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZm
ZXJHTDo6Y2xlYXIoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIEdMYml0ZmllbGQgbWFzaykK
IHsKKyAgICBDb250ZXh0R0wgKmNvbnRleHRHTCAgICAgICAgID0gR2V0SW1wbEFzPENvbnRleHRH
TD4oY29udGV4dCk7CiAgICAgY29uc3QgRnVuY3Rpb25zR0wgKmZ1bmN0aW9ucyA9IEdldEZ1bmN0
aW9uc0dMKGNvbnRleHQpOwogICAgIFN0YXRlTWFuYWdlckdMICpzdGF0ZU1hbmFnZXIgPSBHZXRT
dGF0ZU1hbmFnZXJHTChjb250ZXh0KTsKIApAQCAtNDk3LDYgKzQ5OCw3IEBAIGFuZ2xlOjpSZXN1
bHQgRnJhbWVidWZmZXJHTDo6Y2xlYXIoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIEdMYml0
ZmllbGQgbWFzaykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R0xfTk9ORSwgMCwgbnVsbHB0ciwgMC4wZiwgMCk7CiAgICAgfQogCisgICAgY29udGV4dEdMLT5t
YXJrV29ya1N1Ym1pdHRlZCgpOwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsK
IH0KIApAQCAtNTA1LDYgKzUwNyw3IEBAIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJHTDo6Y2xl
YXJCdWZmZXJmdihjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBHTGludCBkcmF3YnVmZmVyLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdMZmxvYXQgKnZhbHVlcykKIHsK
KyAgICBDb250ZXh0R0wgKmNvbnRleHRHTCAgICAgICAgID0gR2V0SW1wbEFzPENvbnRleHRHTD4o
Y29udGV4dCk7CiAgICAgY29uc3QgRnVuY3Rpb25zR0wgKmZ1bmN0aW9ucyA9IEdldEZ1bmN0aW9u
c0dMKGNvbnRleHQpOwogICAgIFN0YXRlTWFuYWdlckdMICpzdGF0ZU1hbmFnZXIgPSBHZXRTdGF0
ZU1hbmFnZXJHTChjb250ZXh0KTsKIApAQCAtNTI0LDYgKzUyNyw3IEBAIGFuZ2xlOjpSZXN1bHQg
RnJhbWVidWZmZXJHTDo6Y2xlYXJCdWZmZXJmdihjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRf
Y2FzdDxjb25zdCB1aW50OF90ICo+KHZhbHVlcyksIDAuMGYsIDApOwogICAgIH0KIAorICAgIGNv
bnRleHRHTC0+bWFya1dvcmtTdWJtaXR0ZWQoKTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6
Q29udGludWU7CiB9CiAKQEAgLTUzMiw2ICs1MzYsNyBAQCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVm
ZmVyR0w6OmNsZWFyQnVmZmVydWl2KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGludCBkcmF3YnVmZmVyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHTHVpbnQg
KnZhbHVlcykKIHsKKyAgICBDb250ZXh0R0wgKmNvbnRleHRHTCAgICAgICAgID0gR2V0SW1wbEFz
PENvbnRleHRHTD4oY29udGV4dCk7CiAgICAgY29uc3QgRnVuY3Rpb25zR0wgKmZ1bmN0aW9ucyA9
IEdldEZ1bmN0aW9uc0dMKGNvbnRleHQpOwogICAgIFN0YXRlTWFuYWdlckdMICpzdGF0ZU1hbmFn
ZXIgPSBHZXRTdGF0ZU1hbmFnZXJHTChjb250ZXh0KTsKIApAQCAtNTUxLDYgKzU1Niw3IEBAIGFu
Z2xlOjpSZXN1bHQgRnJhbWVidWZmZXJHTDo6Y2xlYXJCdWZmZXJ1aXYoY29uc3QgZ2w6OkNvbnRl
eHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCAqPih2YWx1ZXMpLCAwLjBmLCAwKTsKICAg
ICB9CiAKKyAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVkKCk7CiAgICAgcmV0dXJuIGFu
Z2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC01NTksNiArNTY1LDcgQEAgYW5nbGU6OlJl
c3VsdCBGcmFtZWJ1ZmZlckdMOjpjbGVhckJ1ZmZlcml2KGNvbnN0IGdsOjpDb250ZXh0ICpjb250
ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMaW50IGRy
YXdidWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgR0xpbnQgKnZhbHVlcykKIHsKKyAgICBDb250ZXh0R0wgKmNvbnRleHRHTCAgICAgICAgID0g
R2V0SW1wbEFzPENvbnRleHRHTD4oY29udGV4dCk7CiAgICAgY29uc3QgRnVuY3Rpb25zR0wgKmZ1
bmN0aW9ucyA9IEdldEZ1bmN0aW9uc0dMKGNvbnRleHQpOwogICAgIFN0YXRlTWFuYWdlckdMICpz
dGF0ZU1hbmFnZXIgPSBHZXRTdGF0ZU1hbmFnZXJHTChjb250ZXh0KTsKIApAQCAtNTc4LDYgKzU4
NSw3IEBAIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJHTDo6Y2xlYXJCdWZmZXJpdihjb25zdCBn
bDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90ICo+KHZhbHVlcyksIDAuMGYs
IDApOwogICAgIH0KIAorICAgIGNvbnRleHRHTC0+bWFya1dvcmtTdWJtaXR0ZWQoKTsKICAgICBy
ZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTU4Nyw2ICs1OTUsNyBAQCBh
bmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyR0w6OmNsZWFyQnVmZmVyZmkoY29uc3QgZ2w6OkNvbnRl
eHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R0xmbG9hdCBkZXB0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBHTGludCBzdGVuY2lsKQogeworICAgIENvbnRleHRHTCAqY29udGV4dEdMICAgICAgICAgPSBH
ZXRJbXBsQXM8Q29udGV4dEdMPihjb250ZXh0KTsKICAgICBjb25zdCBGdW5jdGlvbnNHTCAqZnVu
Y3Rpb25zID0gR2V0RnVuY3Rpb25zR0woY29udGV4dCk7CiAgICAgU3RhdGVNYW5hZ2VyR0wgKnN0
YXRlTWFuYWdlciA9IEdldFN0YXRlTWFuYWdlckdMKGNvbnRleHQpOwogCkBAIC02MDYsNiArNjE1
LDcgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlckdMOjpjbGVhckJ1ZmZlcmZpKGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBudWxscHRyLCBkZXB0aCwgc3RlbmNpbCk7CiAgICAgfQogCisgICAgY29udGV4dEdM
LT5tYXJrV29ya1N1Ym1pdHRlZCgpOwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51
ZTsKIH0KIApAQCAtNzA4LDYgKzcxOCw3IEBAIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJHTDo6
YmxpdChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBHTGJpdGZpZWxkIG1hc2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xlbnVtIGZpbHRlcikKIHsKKyAgICBDb250ZXh0R0wgKmNvbnRleHRHTCAgICAgICAg
ICAgICAgPSBHZXRJbXBsQXM8Q29udGV4dEdMPihjb250ZXh0KTsKICAgICBjb25zdCBGdW5jdGlv
bnNHTCAqZnVuY3Rpb25zICAgICAgPSBHZXRGdW5jdGlvbnNHTChjb250ZXh0KTsKICAgICBTdGF0
ZU1hbmFnZXJHTCAqc3RhdGVNYW5hZ2VyICAgICAgPSBHZXRTdGF0ZU1hbmFnZXJHTChjb250ZXh0
KTsKICAgICBjb25zdCBhbmdsZTo6RmVhdHVyZXNHTCAmZmVhdHVyZXMgPSBHZXRGZWF0dXJlc0dM
KGNvbnRleHQpOwpAQCAtODI2LDYgKzgzNyw3IEBAIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJH
TDo6YmxpdChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmaW5hbFNvdXJjZUFyZWEueTEoKSwgZmluYWxEZXN0QXJlYS54LCBmaW5hbERl
c3RBcmVhLnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluYWxEZXN0QXJlYS54
MSgpLCBmaW5hbERlc3RBcmVhLnkxKCksIGJsaXRNYXNrLCBmaWx0ZXIpOwogCisgICAgY29udGV4
dEdMLT5tYXJrV29ya1N1Ym1pdHRlZCgpOwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250
aW51ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL2dsL1F1ZXJ5R0wuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL2dsL1F1ZXJ5R0wuY3BwCmluZGV4IGEwNDhiODQ2MzJiNTA4Y2Mx
YzZmNWVjMjE2ZjE0MTkxMmY3NjlmMjIuLjcxMjVlZDI4MDE4MGYyYjNmYjQ2OWYxZjQ2YTdmZjE4
NTg5NDY2MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9nbC9RdWVyeUdMLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvUXVlcnlHTC5jcHAKQEAgLTE4Miw2ICsxODIsOSBAQCBh
bmdsZTo6UmVzdWx0IFN0YW5kYXJkUXVlcnlHTDo6cmVzdW1lKGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0KQogCiAgICAgICAgIG1GdW5jdGlvbnMtPmdlblF1ZXJpZXMoMSwgJm1BY3RpdmVRdWVy
eSk7CiAgICAgICAgIG1TdGF0ZU1hbmFnZXItPmJlZ2luUXVlcnkobVR5cGUsIHRoaXMsIG1BY3Rp
dmVRdWVyeSk7CisKKyAgICAgICAgQ29udGV4dEdMICpjb250ZXh0R0wgPSBHZXRJbXBsQXM8Q29u
dGV4dEdMPihjb250ZXh0KTsKKyAgICAgICAgY29udGV4dEdMLT5tYXJrV29ya1N1Ym1pdHRlZCgp
OwogICAgIH0KIAogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKQEAgLTI0MCwx
MyArMjQzLDIwIEBAIGNsYXNzIFN5bmNQcm92aWRlckdMCiBjbGFzcyBTeW5jUHJvdmlkZXJHTFN5
bmMgOiBwdWJsaWMgU3luY1Byb3ZpZGVyR0wKIHsKICAgcHVibGljOgotICAgIFN5bmNQcm92aWRl
ckdMU3luYyhjb25zdCBGdW5jdGlvbnNHTCAqZnVuY3Rpb25zKSA6IG1GdW5jdGlvbnMoZnVuY3Rp
b25zKSwgbVN5bmMobnVsbHB0cikKLSAgICB7Ci0gICAgICAgIG1TeW5jID0gbUZ1bmN0aW9ucy0+
ZmVuY2VTeW5jKEdMX1NZTkNfR1BVX0NPTU1BTkRTX0NPTVBMRVRFLCAwKTsKLSAgICB9CisgICAg
U3luY1Byb3ZpZGVyR0xTeW5jKGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMpIDogbUZ1bmN0
aW9ucyhmdW5jdGlvbnMpLCBtU3luYyhudWxscHRyKSB7fQogCiAgICAgflN5bmNQcm92aWRlckdM
U3luYygpIG92ZXJyaWRlIHsgbUZ1bmN0aW9ucy0+ZGVsZXRlU3luYyhtU3luYyk7IH0KIAorICAg
IGFuZ2xlOjpSZXN1bHQgaW5pdChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgZ2w6OlF1ZXJ5
VHlwZSB0eXBlKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgQ29udGV4dEdMICpjb250ZXh0R0wg
PSBHZXRJbXBsQXM8Q29udGV4dEdMPihjb250ZXh0KTsKKyAgICAgICAgbVN5bmMgICAgICAgICAg
ICAgICAgPSBtRnVuY3Rpb25zLT5mZW5jZVN5bmMoR0xfU1lOQ19HUFVfQ09NTUFORFNfQ09NUExF
VEUsIDApOworICAgICAgICBBTkdMRV9DSEVDSyhjb250ZXh0R0wsIG1TeW5jICE9IDAsICJnbEZl
bmNlU3luYyBmYWlsZWQgdG8gY3JlYXRlIGEgR0xzeW5jIG9iamVjdC4iLAorICAgICAgICAgICAg
ICAgICAgICBHTF9PVVRfT0ZfTUVNT1JZKTsKKyAgICAgICAgY29udGV4dEdMLT5tYXJrV29ya1N1
Ym1pdHRlZCgpOworICAgICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CisgICAg
fQorCiAgICAgYW5nbGU6OlJlc3VsdCBmbHVzaChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwg
Ym9vbCBmb3JjZSwgYm9vbCAqZmluaXNoZWQpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpZiAo
Zm9yY2UpCkBAIC0zMzgsMTIgKzM0OCwxMiBAQCBhbmdsZTo6UmVzdWx0IFN5bmNRdWVyeUdMOjpl
bmQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQpCiAgICAgZWxzZSBpZiAobmF0aXZlZ2w6OlN1
cHBvcnRzT2NjbHVzaW9uUXVlcmllcyhtRnVuY3Rpb25zKSkKICAgICB7CiAgICAgICAgIG1TeW5j
UHJvdmlkZXIucmVzZXQobmV3IFN5bmNQcm92aWRlckdMUXVlcnkobUZ1bmN0aW9ucykpOwotICAg
ICAgICBBTkdMRV9UUlkobVN5bmNQcm92aWRlci0+aW5pdChjb250ZXh0LCBnbDo6UXVlcnlUeXBl
OjpBbnlTYW1wbGVzKSk7CiAgICAgfQogICAgIGVsc2UKICAgICB7CiAgICAgICAgIEFOR0xFX0dM
X1VOUkVBQ0hBQkxFKEdldEltcGxBczxDb250ZXh0R0w+KGNvbnRleHQpKTsKICAgICB9CisgICAg
QU5HTEVfVFJZKG1TeW5jUHJvdmlkZXItPmluaXQoY29udGV4dCwgZ2w6OlF1ZXJ5VHlwZTo6QW55
U2FtcGxlcykpOwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2ds
L1JlbmRlcmVyR0wuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL2dsL1JlbmRlcmVyR0wuY3BwCmluZGV4IGRjMWQ1N2ExMDQ5MGYzYzQxZDI1NDE3MDk5
ZmJkYjI3OWUwYjczYzUuLjM3MDEyZDI3YTkwNDg0YWUyZWFkOTBkN2ZhMjdlZjE5NDI2YWIyM2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9nbC9SZW5kZXJlckdMLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvZ2wvUmVuZGVyZXJHTC5jcHAKQEAgLTIxNSw4ICsyMTUsMTQgQEAgUmVu
ZGVyZXJHTDo6flJlbmRlcmVyR0woKQogCiBhbmdsZTo6UmVzdWx0IFJlbmRlcmVyR0w6OmZsdXNo
KCkKIHsKKyAgICBpZiAoIW1Xb3JrRG9uZVNpbmNlTGFzdEZsdXNoICYmICFtTmVlZHNGbHVzaEJl
Zm9yZURlbGV0ZVRleHR1cmVzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6
OkNvbnRpbnVlOworICAgIH0KKwogICAgIG1GdW5jdGlvbnMtPmZsdXNoKCk7CiAgICAgbU5lZWRz
Rmx1c2hCZWZvcmVEZWxldGVUZXh0dXJlcyA9IGZhbHNlOworICAgIG1Xb3JrRG9uZVNpbmNlTGFz
dEZsdXNoICAgICAgICAgPSBmYWxzZTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGlu
dWU7CiB9CiAKQEAgLTIyOSw2ICsyMzUsNyBAQCBhbmdsZTo6UmVzdWx0IFJlbmRlcmVyR0w6OmZp
bmlzaCgpCiAKICAgICBtRnVuY3Rpb25zLT5maW5pc2goKTsKICAgICBtTmVlZHNGbHVzaEJlZm9y
ZURlbGV0ZVRleHR1cmVzID0gZmFsc2U7CisgICAgbVdvcmtEb25lU2luY2VMYXN0Rmx1c2ggICAg
ICAgICA9IGZhbHNlOwogCiAgICAgaWYgKG1GZWF0dXJlcy5maW5pc2hEb2VzTm90Q2F1c2VRdWVy
aWVzVG9CZUF2YWlsYWJsZS5lbmFibGVkICYmIG1Vc2VEZWJ1Z091dHB1dCkKICAgICB7CkBAIC0z
NzAsMjMgKzM3NywyNyBAQCBhbmdsZTo6UmVzdWx0IFJlbmRlcmVyR0w6OmRpc3BhdGNoQ29tcHV0
ZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdMdWludCBudW1Hcm91cHNaKQogewogICAgIG1GdW5jdGlvbnMtPmRp
c3BhdGNoQ29tcHV0ZShudW1Hcm91cHNYLCBudW1Hcm91cHNZLCBudW1Hcm91cHNaKTsKKyAgICBt
V29ya0RvbmVTaW5jZUxhc3RGbHVzaCA9IHRydWU7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6
OkNvbnRpbnVlOwogfQogCiBhbmdsZTo6UmVzdWx0IFJlbmRlcmVyR0w6OmRpc3BhdGNoQ29tcHV0
ZUluZGlyZWN0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBHTGludHB0ciBpbmRpcmVjdCkK
IHsKICAgICBtRnVuY3Rpb25zLT5kaXNwYXRjaENvbXB1dGVJbmRpcmVjdChpbmRpcmVjdCk7Cisg
ICAgbVdvcmtEb25lU2luY2VMYXN0Rmx1c2ggPSB0cnVlOwogICAgIHJldHVybiBhbmdsZTo6UmVz
dWx0OjpDb250aW51ZTsKIH0KIAogYW5nbGU6OlJlc3VsdCBSZW5kZXJlckdMOjptZW1vcnlCYXJy
aWVyKEdMYml0ZmllbGQgYmFycmllcnMpCiB7CiAgICAgbUZ1bmN0aW9ucy0+bWVtb3J5QmFycmll
cihiYXJyaWVycyk7CisgICAgbVdvcmtEb25lU2luY2VMYXN0Rmx1c2ggPSB0cnVlOwogICAgIHJl
dHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIGFuZ2xlOjpSZXN1bHQgUmVuZGVyZXJH
TDo6bWVtb3J5QmFycmllckJ5UmVnaW9uKEdMYml0ZmllbGQgYmFycmllcnMpCiB7CiAgICAgbUZ1
bmN0aW9ucy0+bWVtb3J5QmFycmllckJ5UmVnaW9uKGJhcnJpZXJzKTsKKyAgICBtV29ya0RvbmVT
aW5jZUxhc3RGbHVzaCA9IHRydWU7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVl
OwogfQogCkBAIC00NjYsNiArNDc3LDExIEBAIHZvaWQgUmVuZGVyZXJHTDo6c2V0TmVlZHNGbHVz
aEJlZm9yZURlbGV0ZVRleHR1cmVzKCkKICAgICBtTmVlZHNGbHVzaEJlZm9yZURlbGV0ZVRleHR1
cmVzID0gdHJ1ZTsKIH0KIAordm9pZCBSZW5kZXJlckdMOjptYXJrV29ya1N1Ym1pdHRlZCgpCit7
CisgICAgbVdvcmtEb25lU2luY2VMYXN0Rmx1c2ggPSB0cnVlOworfQorCiB2b2lkIFJlbmRlcmVy
R0w6OmZsdXNoSWZOZWNlc3NhcnlCZWZvcmVEZWxldGVUZXh0dXJlcygpCiB7CiAgICAgaWYgKG1O
ZWVkc0ZsdXNoQmVmb3JlRGVsZXRlVGV4dHVyZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvUmVuZGVyZXJHTC5oIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1JlbmRlcmVyR0wuaApp
bmRleCAxYzM2YzgyMzIxNjJlOGFiOGIwMDlhMjBjMzIyYzRmZWQwY2M5ODc5Li5mNTJkMDk2YzE0
M2FiNzBlYzQ2NWJkNzVmYTZiMDJkYmE4OGUxZWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvUmVuZGVyZXJHTC5oCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9SZW5kZXJlckdM
LmgKQEAgLTEzOCw2ICsxMzgsOCBAQCBjbGFzcyBSZW5kZXJlckdMIDogYW5nbGU6Ok5vbkNvcHlh
YmxlCiAgICAgdm9pZCBzZXROZWVkc0ZsdXNoQmVmb3JlRGVsZXRlVGV4dHVyZXMoKTsKICAgICB2
b2lkIGZsdXNoSWZOZWNlc3NhcnlCZWZvcmVEZWxldGVUZXh0dXJlcygpOwogCisgICAgdm9pZCBt
YXJrV29ya1N1Ym1pdHRlZCgpOworCiAgIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIFdvcmtlckNv
bnRleHQgKmNyZWF0ZVdvcmtlckNvbnRleHQoc3RkOjpzdHJpbmcgKmluZm9Mb2cpID0gMDsKIApA
QCAtMTY1LDYgKzE2Nyw4IEBAIGNsYXNzIFJlbmRlcmVyR0wgOiBhbmdsZTo6Tm9uQ29weWFibGUK
ICAgICBtdXRhYmxlIGdsOjpMaW1pdGF0aW9ucyBtTmF0aXZlTGltaXRhdGlvbnM7CiAgICAgbXV0
YWJsZSBNdWx0aXZpZXdJbXBsZW1lbnRhdGlvblR5cGVHTCBtTXVsdGl2aWV3SW1wbGVtZW50YXRp
b25UeXBlOwogCisgICAgYm9vbCBtV29ya0RvbmVTaW5jZUxhc3RGbHVzaCA9IGZhbHNlOworCiAg
ICAgLy8gVGhlIHRocmVhZC10by1jb250ZXh0IG1hcHBpbmcgZm9yIHRoZSBjdXJyZW50bHkgYWN0
aXZlIHdvcmtlciB0aHJlYWRzLgogICAgIHN0ZDo6dW5vcmRlcmVkX21hcDxzdGQ6OnRocmVhZDo6
aWQsIHN0ZDo6dW5pcXVlX3B0cjxXb3JrZXJDb250ZXh0Pj4gbUN1cnJlbnRXb3JrZXJDb250ZXh0
czsKICAgICAvLyBUaGUgd29ya2VyIGNvbnRleHRzIGF2YWlsYWJsZSB0byB1c2UuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvU3lu
Y0dMLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9n
bC9TeW5jR0wuY3BwCmluZGV4IDY0NzllMDEzMmYwNDNiNzM2MDVjODhhMmJhZGYyMjhkN2IzZDFl
OGQuLjY3MjE0ZDQxNGQ3YTQ1ZmE5NGE1MTM2NTU1M2VhYmZlY2U4NTk4Y2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9TeW5jR0wu
Y3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9n
bC9TeW5jR0wuY3BwCkBAIC0zNiw5ICszNiwxMSBAQCB2b2lkIFN5bmNHTDo6b25EZXN0cm95KGNv
bnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KQogYW5nbGU6OlJlc3VsdCBTeW5jR0w6OnNldChjb25z
dCBnbDo6Q29udGV4dCAqY29udGV4dCwgR0xlbnVtIGNvbmRpdGlvbiwgR0xiaXRmaWVsZCBmbGFn
cykKIHsKICAgICBBU1NFUlQoY29uZGl0aW9uID09IEdMX1NZTkNfR1BVX0NPTU1BTkRTX0NPTVBM
RVRFICYmIGZsYWdzID09IDApOwotICAgIG1TeW5jT2JqZWN0ID0gbUZ1bmN0aW9ucy0+ZmVuY2VT
eW5jKGNvbmRpdGlvbiwgZmxhZ3MpOwotICAgIEFOR0xFX0NIRUNLKEdldEltcGxBczxDb250ZXh0
R0w+KGNvbnRleHQpLCBtU3luY09iamVjdCAhPSAwLAotICAgICAgICAgICAgICAgICJnbEZlbmNl
U3luYyBmYWlsZWQgdG8gY3JlYXRlIGEgR0xzeW5jIG9iamVjdC4iLCBHTF9PVVRfT0ZfTUVNT1JZ
KTsKKyAgICBDb250ZXh0R0wgKmNvbnRleHRHTCA9IEdldEltcGxBczxDb250ZXh0R0w+KGNvbnRl
eHQpOworICAgIG1TeW5jT2JqZWN0ICAgICAgICAgID0gbUZ1bmN0aW9ucy0+ZmVuY2VTeW5jKGNv
bmRpdGlvbiwgZmxhZ3MpOworICAgIEFOR0xFX0NIRUNLKGNvbnRleHRHTCwgbVN5bmNPYmplY3Qg
IT0gMCwgImdsRmVuY2VTeW5jIGZhaWxlZCB0byBjcmVhdGUgYSBHTHN5bmMgb2JqZWN0LiIsCisg
ICAgICAgICAgICAgICAgR0xfT1VUX09GX01FTU9SWSk7CisgICAgY29udGV4dEdMLT5tYXJrV29y
a1N1Ym1pdHRlZCgpOwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVy
L2dsL1RleHR1cmVHTC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvZ2wvVGV4dHVyZUdMLmNwcAppbmRleCA1NzM5MDYyZTZkNjMzOGMzNWFhZGQwY2E4
MDRmNzJmOWIxMDNjNjMyLi40Nzg2MmU0MjFkZjc2ZWViMjZjMDFmMTg1MjZiYjYyNTI0MmM3M2Qz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvZ2wvVGV4dHVyZUdMLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvZ2wvVGV4dHVyZUdMLmNwcApAQCAtMTg3LDcgKzE4Nyw3IEBAIGFuZ2xl
OjpSZXN1bHQgVGV4dHVyZUdMOjpzZXRJbWFnZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwK
IAogICAgICAgICBnbDo6Qm94IGFyZWEoMCwgMCwgMCwgc2l6ZS53aWR0aCwgc2l6ZS5oZWlnaHQs
IHNpemUuZGVwdGgpOwogICAgICAgICByZXR1cm4gc2V0U3ViSW1hZ2VSb3dCeVJvd1dvcmthcm91
bmQoY29udGV4dCwgdGFyZ2V0LCBsZXZlbCwgYXJlYSwgZm9ybWF0LCB0eXBlLCB1bnBhY2ssCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBhY2tCdWZmZXIs
IHBpeGVscyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnBhY2tCdWZmZXIsIDAsIHBpeGVscyk7CiAgICAgfQogCiAgICAgaWYgKGZlYXR1cmVzLnVucGFj
a0xhc3RSb3dTZXBhcmF0ZWx5Rm9yUGFkZGluZ0luY2x1c2lvbi5lbmFibGVkKQpAQCAtMzM1LDcg
KzMzNSw3IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZUdMOjpzZXRTdWJJbWFnZShjb25zdCBnbDo6
Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgdW5wYWNrLnJvd0xlbmd0aCAhPSAwICYmIHVucGFj
ay5yb3dMZW5ndGggPCBhcmVhLndpZHRoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHNldFN1Yklt
YWdlUm93QnlSb3dXb3JrYXJvdW5kKGNvbnRleHQsIHRhcmdldCwgbGV2ZWwsIGFyZWEsIGZvcm1h
dCwgdHlwZSwgdW5wYWNrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5wYWNrQnVmZmVyLCBwaXhlbHMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5wYWNrQnVmZmVyLCAwLCBwaXhlbHMpOwogICAgIH0KIAogICAg
IGlmIChmZWF0dXJlcy51bnBhY2tMYXN0Um93U2VwYXJhdGVseUZvclBhZGRpbmdJbmNsdXNpb24u
ZW5hYmxlZCkKQEAgLTM1Niw2ICszNTYsMTMgQEAgYW5nbGU6OlJlc3VsdCBUZXh0dXJlR0w6OnNl
dFN1YkltYWdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICB9CiAgICAgfQog
CisgICAgaWYgKGZlYXR1cmVzLnVwbG9hZFRleHR1cmVEYXRhSW5DaHVua3MuZW5hYmxlZCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBzZXRTdWJJbWFnZVJvd0J5Um93V29ya2Fyb3VuZCgKKyAgICAg
ICAgICAgIGNvbnRleHQsIHRhcmdldCwgbGV2ZWwsIGFyZWEsIGZvcm1hdCwgdHlwZSwgdW5wYWNr
LCB1bnBhY2tCdWZmZXIsCisgICAgICAgICAgICBhbmdsZTo6RmVhdHVyZXNHTDo6a1VwbG9hZFRl
eHR1cmVEYXRhSW5DaHVua3NVcGxvYWRTaXplLCBwaXhlbHMpOworICAgIH0KKwogICAgIGlmIChu
YXRpdmVnbDo6VXNlVGV4SW1hZ2UyRChnZXRUeXBlKCkpKQogICAgIHsKICAgICAgICAgQVNTRVJU
KGFyZWEueiA9PSAwICYmIGFyZWEuZGVwdGggPT0gMSk7CkBAIC0zODUsMTQgKzM5MiwxOCBAQCBh
bmdsZTo6UmVzdWx0IFRleHR1cmVHTDo6c2V0U3ViSW1hZ2VSb3dCeVJvd1dvcmthcm91bmQoY29u
c3QgZ2w6OkNvbnRleHQgKmNvbnRleAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSB0eXBlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdsOjpQaXhlbFVucGFja1N0
YXRlICZ1bnBhY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgZ2w6OkJ1ZmZlciAqdW5wYWNrQnVmZmVyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBtYXhCeXRl
c1VwbG9hZGVkUGVyQ2h1bmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcGl4ZWxzKQogewotICAgIENvbnRleHRH
TCAqY29udGV4dEdMICAgICAgICAgPSBHZXRJbXBsQXM8Q29udGV4dEdMPihjb250ZXh0KTsKLSAg
ICBjb25zdCBGdW5jdGlvbnNHTCAqZnVuY3Rpb25zID0gR2V0RnVuY3Rpb25zR0woY29udGV4dCk7
Ci0gICAgU3RhdGVNYW5hZ2VyR0wgKnN0YXRlTWFuYWdlciA9IEdldFN0YXRlTWFuYWdlckdMKGNv
bnRleHQpOworICAgIENvbnRleHRHTCAqY29udGV4dEdMICAgICAgICAgICAgICA9IEdldEltcGxB
czxDb250ZXh0R0w+KGNvbnRleHQpOworICAgIGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMg
ICAgICA9IEdldEZ1bmN0aW9uc0dMKGNvbnRleHQpOworICAgIFN0YXRlTWFuYWdlckdMICpzdGF0
ZU1hbmFnZXIgICAgICA9IEdldFN0YXRlTWFuYWdlckdMKGNvbnRleHQpOworICAgIGNvbnN0IGFu
Z2xlOjpGZWF0dXJlc0dMICZmZWF0dXJlcyA9IEdldEZlYXR1cmVzR0woY29udGV4dCk7CiAKLSAg
ICBnbDo6UGl4ZWxVbnBhY2tTdGF0ZSBkaXJlY3RVbnBhY2s7Ci0gICAgZGlyZWN0VW5wYWNrLmFs
aWdubWVudCA9IDE7CisgICAgZ2w6OlBpeGVsVW5wYWNrU3RhdGUgZGlyZWN0VW5wYWNrID0gdW5w
YWNrOworICAgIGRpcmVjdFVucGFjay5za2lwUm93cyAgICAgICAgICAgICA9IDA7CisgICAgZGly
ZWN0VW5wYWNrLnNraXBQaXhlbHMgICAgICAgICAgID0gMDsKKyAgICBkaXJlY3RVbnBhY2suc2tp
cEltYWdlcyAgICAgICAgICAgPSAwOwogICAgIEFOR0xFX1RSWShzdGF0ZU1hbmFnZXItPnNldFBp
eGVsVW5wYWNrU3RhdGUoY29udGV4dCwgZGlyZWN0VW5wYWNrKSk7CiAgICAgQU5HTEVfVFJZKHN0
YXRlTWFuYWdlci0+c2V0UGl4ZWxVbnBhY2tCdWZmZXIoY29udGV4dCwgdW5wYWNrQnVmZmVyKSk7
CiAKQEAgLTQwOSwzMyArNDIwLDQ4IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZUdMOjpzZXRTdWJJ
bWFnZVJvd0J5Um93V29ya2Fyb3VuZChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4CiAgICAgQU5H
TEVfQ0hFQ0tfR0xfTUFUSChjb250ZXh0R0wsIGdsRm9ybWF0LmNvbXB1dGVTa2lwQnl0ZXModHlw
ZSwgcm93Qnl0ZXMsIGltYWdlQnl0ZXMsIHVucGFjaywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VUZXhJbWFnZTNELCAmc2tp
cEJ5dGVzKSk7CiAKKyAgICBHTGludCByb3dzUGVyQ2h1bmsgPQorICAgICAgICBzdGQ6Om1pbihz
dGQ6Om1heChzdGF0aWNfY2FzdDxHTGludD4obWF4Qnl0ZXNVcGxvYWRlZFBlckNodW5rIC8gcm93
Qnl0ZXMpLCAxKSwgYXJlYS5oZWlnaHQpOworICAgIGlmIChtYXhCeXRlc1VwbG9hZGVkUGVyQ2h1
bmsgPiAwICYmIHJvd3NQZXJDaHVuayA8IGFyZWEuaGVpZ2h0KQorICAgIHsKKyAgICAgICAgQU5H
TEVfUEVSRl9XQVJOSU5HKGNvbnRleHRHTC0+Z2V0RGVidWcoKSwgR0xfREVCVUdfU0VWRVJJVFlf
TE9XLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNodW5raW5nIHVwbG9hZCBvZiB0ZXh0
dXJlIGRhdGEgdG8gd29yayBhcm91bmQgZHJpdmVyIGhhbmdzLiIpOworICAgIH0KKworICAgIG5h
dGl2ZWdsOjpUZXhTdWJJbWFnZUZvcm1hdCB0ZXhTdWJJbWFnZUZvcm1hdCA9CisgICAgICAgIG5h
dGl2ZWdsOjpHZXRUZXhTdWJJbWFnZUZvcm1hdChmdW5jdGlvbnMsIGZlYXR1cmVzLCBmb3JtYXQs
IHR5cGUpOworCiAgICAgY29uc3QgdWludDhfdCAqcGl4ZWxzV2l0aFNraXAgPSBwaXhlbHMgKyBz
a2lwQnl0ZXM7CiAgICAgaWYgKHVzZVRleEltYWdlM0QpCiAgICAgewogICAgICAgICBmb3IgKEdM
aW50IGltYWdlID0gMDsgaW1hZ2UgPCBhcmVhLmRlcHRoOyArK2ltYWdlKQogICAgICAgICB7CiAg
ICAgICAgICAgICBHTGludCBpbWFnZUJ5dGVPZmZzZXQgPSBpbWFnZSAqIGltYWdlQnl0ZXM7Ci0g
ICAgICAgICAgICBmb3IgKEdMaW50IHJvdyA9IDA7IHJvdyA8IGFyZWEuaGVpZ2h0OyArK3JvdykK
KyAgICAgICAgICAgIGZvciAoR0xpbnQgcm93ID0gMDsgcm93IDwgYXJlYS5oZWlnaHQ7IHJvdyAr
PSByb3dzUGVyQ2h1bmspCiAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgR0xpbnQgaGVp
Z2h0ICAgICAgICAgICAgID0gc3RkOjptaW4ocm93c1BlckNodW5rLCBhcmVhLmhlaWdodCAtIHJv
dyk7CiAgICAgICAgICAgICAgICAgR0xpbnQgYnl0ZU9mZnNldCAgICAgICAgID0gaW1hZ2VCeXRl
T2Zmc2V0ICsgcm93ICogcm93Qnl0ZXM7CiAgICAgICAgICAgICAgICAgY29uc3QgR0x1Ynl0ZSAq
cm93UGl4ZWxzID0gcGl4ZWxzV2l0aFNraXAgKyBieXRlT2Zmc2V0OwogICAgICAgICAgICAgICAg
IEFOR0xFX0dMX1RSWShjb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5j
dGlvbnMtPnRleFN1YkltYWdlM0QoVG9HTGVudW0odGFyZ2V0KSwgc3RhdGljX2Nhc3Q8R0xpbnQ+
KGxldmVsKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGFyZWEueCwgcm93ICsgYXJlYS55LCBpbWFnZSArIGFyZWEueiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZWEud2lkdGgsIDEs
IDEsIGZvcm1hdCwgdHlwZSwgcm93UGl4ZWxzKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZ1bmN0aW9ucy0+dGV4U3ViSW1hZ2UzRCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFRvR0xlbnVtKHRhcmdldCksIHN0YXRpY19jYXN0PEdMaW50PihsZXZlbCksIGFyZWEu
eCwgcm93ICsgYXJlYS55LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2Ug
KyBhcmVhLnosIGFyZWEud2lkdGgsIGhlaWdodCwgMSwgdGV4U3ViSW1hZ2VGb3JtYXQuZm9ybWF0
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4U3ViSW1hZ2VGb3JtYXQudHlw
ZSwgcm93UGl4ZWxzKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAgICAgZWxz
ZQogICAgIHsKICAgICAgICAgQVNTRVJUKG5hdGl2ZWdsOjpVc2VUZXhJbWFnZTJEKGdldFR5cGUo
KSkpOwotICAgICAgICBmb3IgKEdMaW50IHJvdyA9IDA7IHJvdyA8IGFyZWEuaGVpZ2h0OyArK3Jv
dykKKyAgICAgICAgZm9yIChHTGludCByb3cgPSAwOyByb3cgPCBhcmVhLmhlaWdodDsgcm93ICs9
IHJvd3NQZXJDaHVuaykKICAgICAgICAgeworICAgICAgICAgICAgR0xpbnQgaGVpZ2h0ICAgICAg
ICAgICAgID0gc3RkOjptaW4ocm93c1BlckNodW5rLCBhcmVhLmhlaWdodCAtIHJvdyk7CiAgICAg
ICAgICAgICBHTGludCBieXRlT2Zmc2V0ICAgICAgICAgPSByb3cgKiByb3dCeXRlczsKICAgICAg
ICAgICAgIGNvbnN0IEdMdWJ5dGUgKnJvd1BpeGVscyA9IHBpeGVsc1dpdGhTa2lwICsgYnl0ZU9m
ZnNldDsKICAgICAgICAgICAgIEFOR0xFX0dMX1RSWShjb250ZXh0LCBmdW5jdGlvbnMtPnRleFN1
YkltYWdlMkQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvR0xlbnVt
KHRhcmdldCksIHN0YXRpY19jYXN0PEdMaW50PihsZXZlbCksIGFyZWEueCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93ICsgYXJlYS55LCBhcmVhLndpZHRoLCAxLCBm
b3JtYXQsIHR5cGUsIHJvd1BpeGVscykpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByb3cgKyBhcmVhLnksIGFyZWEud2lkdGgsIGhlaWdodCwgdGV4U3ViSW1hZ2VGb3Jt
YXQuZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXhTdWJJ
bWFnZUZvcm1hdC50eXBlLCByb3dQaXhlbHMpKTsKICAgICAgICAgfQogICAgIH0KICAgICByZXR1
cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CkBAIC0yMDIxLDExICsyMDQ3LDIyIEBAIGFuZ2xl
OjpSZXN1bHQgVGV4dHVyZUdMOjppbml0aWFsaXplQ29udGVudHMoY29uc3QgZ2w6OkNvbnRleHQg
KmNvbnRleHQsCiAKICAgICAgICAgaWYgKG5hdGl2ZWdsOjpVc2VUZXhJbWFnZTJEKGdldFR5cGUo
KSkpCiAgICAgICAgIHsKLSAgICAgICAgICAgIEFOR0xFX0dMX1RSWShjb250ZXh0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucy0+dGV4U3ViSW1hZ2UyRChUb0dMZW51bShpbWFn
ZUluZGV4LmdldFRhcmdldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW1hZ2VJbmRleC5nZXRMZXZlbEluZGV4KCksIDAsIDAsIGRlc2Muc2l6
ZS53aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGVzYy5zaXplLmhlaWdodCwgbmF0aXZlU3ViSW1hZ2VGb3JtYXQuZm9ybWF0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVTdWJJbWFn
ZUZvcm1hdC50eXBlLCB6ZXJvLT5kYXRhKCkpKTsKKyAgICAgICAgICAgIGlmIChmZWF0dXJlcy51
cGxvYWRUZXh0dXJlRGF0YUluQ2h1bmtzLmVuYWJsZWQpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgZ2w6OkJveCBhcmVhKDAsIDAsIDAsIGRlc2Muc2l6ZS53aWR0aCwgZGVzYy5zaXpl
LmhlaWdodCwgMSk7CisgICAgICAgICAgICAgICAgQU5HTEVfVFJZKHNldFN1YkltYWdlUm93QnlS
b3dXb3JrYXJvdW5kKAorICAgICAgICAgICAgICAgICAgICBjb250ZXh0LCBpbWFnZUluZGV4Lmdl
dFRhcmdldCgpLCBpbWFnZUluZGV4LmdldExldmVsSW5kZXgoKSwgYXJlYSwKKyAgICAgICAgICAg
ICAgICAgICAgbmF0aXZlU3ViSW1hZ2VGb3JtYXQuZm9ybWF0LCBuYXRpdmVTdWJJbWFnZUZvcm1h
dC50eXBlLCB1bnBhY2tTdGF0ZSwgbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgYW5nbGU6
OkZlYXR1cmVzR0w6OmtVcGxvYWRUZXh0dXJlRGF0YUluQ2h1bmtzVXBsb2FkU2l6ZSwgemVyby0+
ZGF0YSgpKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgQU5HTEVfR0xfVFJZKGNvbnRleHQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZ1bmN0aW9ucy0+dGV4U3ViSW1hZ2UyRCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFRvR0xlbnVtKGltYWdlSW5kZXguZ2V0VGFyZ2V0KCkpLCBpbWFnZUlu
ZGV4LmdldExldmVsSW5kZXgoKSwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRlc2Muc2l6ZS53aWR0aCwgZGVzYy5zaXplLmhlaWdodCwgbmF0aXZlU3ViSW1hZ2VGb3Jt
YXQuZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmF0aXZlU3ViSW1h
Z2VGb3JtYXQudHlwZSwgemVyby0+ZGF0YSgpKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICAgICAgZWxzZQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvVGV4dHVyZUdMLmggYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvVGV4dHVyZUdMLmgKaW5kZXggMDZk
MTczNzhmZjhjMGE1NTZiNTZiNWM0MTc1ZDRlYzM5ZTRkZjIyYi4uOWIyYTM1YjZkNzgxMjI1NDk0
ODI4NzVjYzc0OWU1YjRhMDFjYjc2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1RleHR1cmVHTC5oCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9UZXh0dXJlR0wuaApAQCAtMjM3
LDYgKzIzNyw3IEBAIGNsYXNzIFRleHR1cmVHTCA6IHB1YmxpYyBUZXh0dXJlSW1wbAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xlbnVtIHR5cGUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnbDo6
UGl4ZWxVbnBhY2tTdGF0ZSAmdW5wYWNrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgZ2w6OkJ1ZmZlciAqdW5wYWNrQnVmZmVyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IG1heEJ5dGVz
VXBsb2FkZWRQZXJDaHVuaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnBpeGVscyk7CiAKICAgICBhbmdsZTo6UmVzdWx0IHNl
dFN1YkltYWdlUGFkZGluZ1dvcmthcm91bmQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
Z2wvcmVuZGVyZXJnbF91dGlscy5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvZ2wvcmVuZGVyZXJnbF91dGlscy5jcHAKaW5kZXggMGE5NDlhNzNkNjc2
OGI3M2ZiYzg1N2JlYzgwM2RmNTlkYTI1NjgwZi4uYjc5YWQ3ZThmNzYxNjVlZjZjZmUwNjBhNjgy
MzA0Yjc2OTU5ZGU3OSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL2dsL3JlbmRlcmVyZ2xfdXRpbHMuY3BwCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9yZW5kZXJlcmdsX3V0aWxzLmNw
cApAQCAtMTg2NSw2ICsxODY1LDkgQEAgdm9pZCBJbml0aWFsaXplRmVhdHVyZXMoY29uc3QgRnVu
Y3Rpb25zR0wgKmZ1bmN0aW9ucywgYW5nbGU6OkZlYXR1cmVzR0wgKmZlYXR1cmUKICAgICBBTkdM
RV9GRUFUVVJFX0NPTkRJVElPTihmZWF0dXJlcywgc2V0WmVyb0xldmVsQmVmb3JlR2VuZXJhdGVN
aXBtYXAsIElzQXBwbGUoKSk7CiAKICAgICBBTkdMRV9GRUFUVVJFX0NPTkRJVElPTihmZWF0dXJl
cywgcHJvbW90ZVBhY2tlZEZvcm1hdHNUbzhCaXRQZXJDaGFubmVsLCBJc0FwcGxlKCkgJiYgaGFz
QU1EKTsKKworICAgIC8vIGh0dHA6Ly9jcmJ1Zy5jb20vMTE4MTA2OAorICAgIEFOR0xFX0ZFQVRV
UkVfQ09ORElUSU9OKGZlYXR1cmVzLCB1cGxvYWRUZXh0dXJlRGF0YUluQ2h1bmtzLCBJc0FwcGxl
KCkpOwogfQogCiB2b2lkIEluaXRpYWxpemVGcm9udGVuZEZlYXR1cmVzKGNvbnN0IEZ1bmN0aW9u
c0dMICpmdW5jdGlvbnMsIGFuZ2xlOjpGcm9udGVuZEZlYXR1cmVzICpmZWF0dXJlcykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442811</attachid>
            <date>2021-10-29 06:00:37 -0700</date>
            <delta_ts>2021-10-29 07:06:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232472-20211029160036.patch</filename>
            <type>text/plain</type>
            <size>1441</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNWRiMjA5MGViMDM5MTU5MWE1M2ZkMjcyNzVkODRiNjA2OWIzMDk1NS4uZGVlYTczYzE3OWFl
YzA1MzFjNDI1MmY4NWUzMTQwOWM4NmI2ODQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTEwLTI5ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihTYWZhcmkgMTUsIENhdGFsaW5hKTog
Q3Jhc2hlcyBhdCBJbnRlbCBkcml2ZXIgZmx1c2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjQ3MgorICAgICAgICA8cmRhcjovLzg0MTg0NjE0Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciBFV1Mu
CisKIDIwMjEtMTAtMjkgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBBTkdMRSBPcGVuR0w6IENoZXJyeS1waWNrIGNvbW1pdCBHTDogRml4IGJ1ZyB3aXRo
OiBTa2lwIHJlZHVuZGFudCBmbHVzaGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMQ29jb2EubW0KaW5kZXggZmI3MjNkZDQyMmRlOWI5ZGFkYTllNGNiODk3ZDA2MWNiZTZkNjAz
ZS4uNTA5MGQ2Zjk0MDk5NjA5MDljMTg0YzI3MDJlMmU1YThiMGM1NTNmMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tCkBAIC0yMDEsNiArMjAxLDkgQEAgR3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0w6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKEdyYXBoaWNzQ29u
dGV4dEdMQXR0cmlidXRlcyBhdHQKICAgICAgICAgYXR0cnMudXNlTWV0YWwgPSBmYWxzZTsKICAg
ICAgICAgc2V0Q29udGV4dEF0dHJpYnV0ZXMoYXR0cnMpOwogICAgIH0KKyAgICAvLyBGT1IgVEVT
VElORyBXSVRIIEVXUy4KKyAgICBhdHRycy51c2VNZXRhbCA9IGZhbHNlOworICAgIHNldENvbnRl
eHRBdHRyaWJ1dGVzKGF0dHJzKTsKIAogI2lmIEVOQUJMRShXRUJYUikKICAgICBpZiAoYXR0cnMu
eHJDb21wYXRpYmxlKSB7Cg==
</data>
<flag name="commit-queue"
          id="467382"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>