<?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>216050</bug_id>
          
          <creation_ts>2020-09-01 14:00:53 -0700</creation_ts>
          <short_desc>Make sure BiquadFilterNode tail is getting processed</short_desc>
          <delta_ts>2020-09-01 16:12:21 -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>Web Audio</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>212611</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1684609</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-01 14:00:53 -0700</bug_when>
    <thetext>Make sure BiquadFilterNode tail is getting processed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684611</commentid>
    <comment_count>1</comment_count>
      <attachid>407710</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-01 14:05:27 -0700</bug_when>
    <thetext>Created attachment 407710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684631</commentid>
    <comment_count>2</comment_count>
      <attachid>407710</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-01 14:55:45 -0700</bug_when>
    <thetext>Comment on attachment 407710
Patch

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

&gt; Source/WebCore/Modules/webaudio/PannerNode.cpp:547
&gt; +    return m_panner ? m_panner-&gt;requiresTailProcessing() : true;

I would write this as:

    return !m_panner || m_panner-&gt;requiresTailProcessing();

For me that seems more readable. Maybe other people find the ? : form more readable?

&gt; Source/WebCore/Modules/webaudio/WebKitAudioPannerNode.cpp:355
&gt; +    return m_panner ? m_panner-&gt;requiresTailProcessing() : true;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684657</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-01 16:11:59 -0700</bug_when>
    <thetext>Committed r266417: &lt;https://trac.webkit.org/changeset/266417&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684658</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-01 16:12:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/68173068&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407710</attachid>
            <date>2020-09-01 14:05:27 -0700</date>
            <delta_ts>2020-09-01 14:55:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216050-20200901140526.patch</filename>
            <type>text/plain</type>
            <size>36221</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzJiYzAxMWQ3MWUxZGI4
ODAyNDBiN2JlNjkzMjI0MTQxNjFmYzc0Ny4uZWZhYmU5YTgwNzBkYjg1OGZjNjM3OGM4ZTk0ZDQ1
Yjc5ZGQyODE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc4IEBACisyMDIwLTA5LTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIEJpcXVhZEZp
bHRlck5vZGUgdGFpbCBpcyBnZXR0aW5nIHByb2Nlc3NlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MDUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU29tZSBub2RlcyBoYXZlIGhhdmUgYSBzaWduaWZp
Y2FudCB0YWlsLXRpbWUgYW5kIHNob3VsZG4ndCBiZSBkaXNjb25uZWN0ZWQgc2ltcGx5IGJlY2F1
c2UKKyAgICAgICAgdGhleSBubyBsb25nZXIgaGF2ZSBhbnkgaW5wdXQgY29ubmVjdGlvbnMuIFdl
IHVzZWQgdG8gZGVhbCB3aXRoIHRoaXMgYnkgaGFyZC1jb2RpbmcKKyAgICAgICAgbm9kZSB0eXBl
cyBpbiBBdWRpb05vZGU6OmRpc2FibGVPdXRwdXRzSWZOZWNlc3NhcnkoKSB3aGljaCB3YXMgbm90
IGlkZWFsLiBXZSBub3cgdXNlCisgICAgICAgIGEgQXVkaW9Ob2RlOjpyZXF1aXJlc1RhaWxQcm9j
ZXNzaW5nKCkgdmlydHVhbCBmdW5jdGlvbiBpbnN0ZWFkLCBzaW1pbGFybHkgdG8gd2hhdCBCbGlu
aworICAgICAgICBpcyBkb2luZy4KKworICAgICAgICBUaGlzIHBhdGNoIGZpeGVzIHRhaWwgcHJv
Y2Vzc2luZyBmb3IgQmlxdWFkRmlsdGVyTm9kZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHJl
YmFzZWxpbmVkIGV4aXN0aW5nIHRlc3QuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0Fu
YWx5c2VyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbmFseXNlck5vZGU6OnJlcXVpcmVz
VGFpbFByb2Nlc3NpbmcgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQW5hbHlz
ZXJOb2RlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Jhc2ljUHJvY2Vzc29y
Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0Jhc2ljUHJvY2Vzc29yTm9kZTo6cmVx
dWlyZXNUYWlsUHJvY2Vzc2luZyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0Jhc2ljUHJvY2Vzc29yTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvTm9kZTo6ZGlzYWJsZU91dHB1dHNJ
Zk5lY2Vzc2FyeSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuaDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRFNQS2VybmVsLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkJpcXVhZERTUEtlcm5lbDo6cmVxdWlyZXNUYWlsUHJvY2Vzc2luZyBjb25zdCk6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9CaXF1YWREU1BLZXJuZWwuaDoKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmg6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRp
by9Db252b2x2ZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnZvbHZlck5vZGU6OnJl
cXVpcmVzVGFpbFByb2Nlc3NpbmcgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
Q29udm9sdmVyTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlv
RGVzdGluYXRpb25Ob2RlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9EZWxheURTUEtl
cm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWxheURTUEtlcm5lbDo6cmVxdWlyZXNUYWls
UHJvY2Vzc2luZyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9EZWxheURTUEtl
cm5lbC5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9k
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEeW5hbWljc0NvbXByZXNzb3JOb2RlOjpyZXF1aXJl
c1RhaWxQcm9jZXNzaW5nIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0R5bmFt
aWNzQ29tcHJlc3Nvck5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2Rl
Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9JSVJEU1BLZXJuZWwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SUlSRFNQS2VybmVsOjpyZXF1aXJlc1RhaWxQcm9jZXNzaW5nIGNvbnN0KToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0lJUkRTUEtlcm5lbC5oOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmg6CisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmg6CisgICAg
ICAgICogTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmg6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhbm5lck5vZGU6OnJlcXVpcmVzVGFpbFByb2Nlc3NpbmcgY29uc3QpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQcm9j
ZXNzb3JOb2RlOjpyZXF1aXJlc1RhaWxQcm9jZXNzaW5nIGNvbnN0KToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL1N0ZXJlb1Bhbm5lck5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1dh
dmVTaGFwZXJEU1BLZXJuZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2F2ZVNoYXBlckRTUEtl
cm5lbDo6cmVxdWlyZXNUYWlsUHJvY2Vzc2luZyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9XYXZlU2hhcGVyRFNQS2VybmVsLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRp
by9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0QXVk
aW9QYW5uZXJOb2RlOjpyZXF1aXJlc1RhaWxQcm9jZXNzaW5nIGNvbnN0KToKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvUGFubmVyTm9kZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL0F1ZGlvRFNQS2VybmVsLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVk
aW9EU1BLZXJuZWxQcm9jZXNzb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9EU1BLZXJu
ZWxQcm9jZXNzb3I6OnJlcXVpcmVzVGFpbFByb2Nlc3NpbmcgY29uc3QpOgorICAgICAgICAqIHBs
YXRmb3JtL2F1ZGlvL0F1ZGlvRFNQS2VybmVsUHJvY2Vzc29yLmg6CisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vQXVkaW9Qcm9jZXNzb3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9EeW5h
bWljc0NvbXByZXNzb3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9FcXVhbFBvd2VyUGFu
bmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vSFJURlBhbm5lci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIUlRGUGFubmVyOjpyZXF1aXJlc1RhaWxQcm9jZXNzaW5nIGNvbnN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9IUlRGUGFubmVyLmg6CisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vUGFubmVyLmg6CisKIDIwMjAtMDktMDEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNv
bT4KIAogICAgICAgICBDb252ZXJ0IHJ1bnRpbWUgZmxhZyB0byBzZXR0aW5nIGZvciBsYXp5IGlt
YWdlIGxvYWRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QW5hbHlzZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlz
ZXJOb2RlLmNwcAppbmRleCA0YTgyNzFkOGU5OGE2ZTRhNWIwYWJkMTVkNTRjMmYxZGQ2YTI5NmIw
Li45ZDVhMTdmNzYxMjBlM2M2NjI1M2U3NDM0OWEzMjE2MmRkZTIzZWZlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BbmFseXNlck5vZGUuY3BwCkBAIC0xNDcsNiAr
MTQ3LDEyIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEFuYWx5c2VyTm9kZTo6c2V0U21vb3RoaW5nVGlt
ZUNvbnN0YW50KGRvdWJsZSBrKQogICAgIHJldHVybiB7IH07CiB9CiAKK2Jvb2wgQW5hbHlzZXJO
b2RlOjpyZXF1aXJlc1RhaWxQcm9jZXNzaW5nKCkgY29uc3QKK3sKKyAgICAvLyBUYWlsIHRpbWUg
aXMgYWx3YXlzIG5vbi16ZXJvIHNvIHRhaWwgcHJvY2Vzc2luZyBpcyByZXF1aXJlZC4KKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5B
QkxFKFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQW5hbHlzZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FuYWx5
c2VyTm9kZS5oCmluZGV4IDc4NDdhYWJjMWI5MGIxYzhlNzViOWRmZTQyNTEyMzBkNGRkYjQ5OTMu
LjE3Y2U3Yzk4NWYzMzFkNTllMzE4ZGUyNmEwZWExODExODRlYmVkZmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BbmFseXNlck5vZGUuaApAQCAtNjYsNiArNjYsNyBA
QCBwcml2YXRlOgogCiAgICAgZG91YmxlIHRhaWxUaW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
MDsgfQogICAgIGRvdWJsZSBsYXRlbmN5VGltZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIDA7IH0K
KyAgICBib29sIHJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25zdCBmaW5hbDsKIAogICAgIFJl
YWx0aW1lQW5hbHlzZXIgbV9hbmFseXNlcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQmFzaWNQcm9jZXNzb3JOb2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CYXNpY1Byb2Nlc3Nvck5vZGUuY3BwCmluZGV4
IDE3NjJhOGJjNzMxMjlkY2E3ZjQ0OTJjYmUxN2Q0Mjk1NGQ0YzU0MGIuLmJiOGYyZDAwZjk4NTRi
ZDcxNTJhZjg0ZDJlZTQwMTc5NGExYzU1ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9CYXNpY1Byb2Nlc3Nvck5vZGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CYXNpY1Byb2Nlc3Nvck5vZGUuY3BwCkBAIC0x
NDksNiArMTQ5LDExIEBAIGRvdWJsZSBBdWRpb0Jhc2ljUHJvY2Vzc29yTm9kZTo6bGF0ZW5jeVRp
bWUoKSBjb25zdAogICAgIHJldHVybiBtX3Byb2Nlc3Nvci0+bGF0ZW5jeVRpbWUoKTsKIH0KIAor
Ym9vbCBBdWRpb0Jhc2ljUHJvY2Vzc29yTm9kZTo6cmVxdWlyZXNUYWlsUHJvY2Vzc2luZygpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fcHJvY2Vzc29yLT5yZXF1aXJlc1RhaWxQcm9jZXNzaW5nKCk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVE
SU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQmFz
aWNQcm9jZXNzb3JOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
QmFzaWNQcm9jZXNzb3JOb2RlLmgKaW5kZXggNzA1MjBlYjkzOGVjOTBmMjhkYjAyYjAwZjA1Yjlk
MjJkZmQ4NDdjZC4uOWU2N2ZiNDc4ODE1ZmIzODlkN2U3ZDY5M2JlNWMxMTNlODU3MGJkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Jhc2ljUHJvY2Vz
c29yTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CYXNp
Y1Byb2Nlc3Nvck5vZGUuaApAQCAtNTUsNiArNTUsNyBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAg
ICAgZG91YmxlIHRhaWxUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgZG91YmxlIGxhdGVuY3lU
aW1lKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCByZXF1aXJlc1RhaWxQcm9jZXNzaW5nKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAKICAgICBBdWRpb1Byb2Nlc3NvciogcHJvY2Vzc29yKCkgeyByZXR1
cm4gbV9wcm9jZXNzb3IuZ2V0KCk7IH0KICAgICBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9Qcm9jZXNz
b3I+IG1fcHJvY2Vzc29yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b05vZGUuY3BwCmluZGV4IGJiMmFlOTBlNGRiMmE3MGM1NWQ3NDAzNDdiOTBmNDBkNzYxYWYwODgu
LmRmYjM3YWY1NDMzYTY4MTA2Yjk5ZDk1ZTk4NWFjOWViMDllYmZmNGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5jcHAKQEAgLTU0OCwxMyArNTQ4LDEw
IEBAIHZvaWQgQXVkaW9Ob2RlOjpkaXNhYmxlT3V0cHV0c0lmTmVjZXNzYXJ5KCkKICAgICAgICAg
Ly8gQnV0IGludGVybmFsbHkgb3VyIG91dHB1dHMgc2hvdWxkIGJlIGRpc2FibGVkIGZyb20gdGhl
IGlucHV0cyB0aGV5J3JlIGNvbm5lY3RlZCB0by4KICAgICAgICAgLy8gZGlzYWJsZSgpIGNhbiBy
ZWN1cnNpdmVseSBkZXJlZiBjb25uZWN0aW9ucyAoYW5kIGNhbGwgZGlzYWJsZSgpKSBkb3duIGEg
d2hvbGUgY2hhaW4gb2YgY29ubmVjdGVkIG5vZGVzLgogCi0gICAgICAgIC8vIEZJWE1FOiB3ZSBz
cGVjaWFsIGNhc2UgdGhlIGNvbnZvbHZlciBhbmQgZGVsYXkgc2luY2UgdGhleSBoYXZlIGEgc2ln
bmlmaWNhbnQgdGFpbC10aW1lIGFuZCBzaG91bGRuJ3QgYmUgZGlzY29ubmVjdGVkIHNpbXBseQot
ICAgICAgICAvLyBiZWNhdXNlIHRoZXkgbm8gbG9uZ2VyIGhhdmUgYW55IGlucHV0IGNvbm5lY3Rp
b25zLiBUaGlzIG5lZWRzIHRvIGJlIGhhbmRsZWQgbW9yZSBnZW5lcmFsbHkgd2hlcmUgQXVkaW9O
b2RlcyBoYXZlCi0gICAgICAgIC8vIGEgdGFpbFRpbWUgYXR0cmlidXRlLiBUaGVuIHRoZSBBdWRp
b05vZGUgb25seSBuZWVkcyB0byByZW1haW4gImFjdGl2ZSIgZm9yIHRhaWxUaW1lIHNlY29uZHMg
YWZ0ZXIgdGhlcmUgYXJlIG5vCi0gICAgICAgIC8vIGxvbmdlciBhbnkgYWN0aXZlIGNvbm5lY3Rp
b25zLgotICAgICAgICAvLyBBbHNvLCBXYXZlU2hhcGVyTm9kZSBtYXkgcHJvZHVjZSBub24tc2ls
ZW5jZSBldmVuIHdoZW4gaXQgbm8gbG9uZ2VyIGhhcyBhbnkgb3V0cHV0LiBGb3IgdGhpcyByZWFz
b24sIHdlIGNhbm5vdAotICAgICAgICAvLyBkaXNhYmxlIGl0IGVpdGhlci4KLSAgICAgICAgaWYg
KG5vZGVUeXBlKCkgIT0gTm9kZVR5cGVDb252b2x2ZXIgJiYgbm9kZVR5cGUoKSAhPSBOb2RlVHlw
ZURlbGF5ICYmIG5vZGVUeXBlKCkgIT0gTm9kZVR5cGVXYXZlU2hhcGVyICYmIG5vZGVUeXBlKCkg
IT0gTm9kZVR5cGVJSVJGaWx0ZXIpIHsKKyAgICAgICAgLy8gSWYgYSBub2RlIHJlcXVpcmVzIHRh
aWwgcHJvY2Vzc2luZywgd2UgZGVmZXIgdGhlIGRpc2FibGluZyBvZgorICAgICAgICAvLyB0aGUg
b3V0cHV0cyBzbyB0aGF0IHRoZSB0YWlsIGZvciB0aGUgbm9kZSBjYW4gYmUgb3V0cHV0LgorICAg
ICAgICAvLyBPdGhlcndpc2UsIHdlIGNhbiBkaXNhYmxlIHRoZSBvdXRwdXRzIHJpZ2h0IGF3YXku
CisgICAgICAgIGlmICghcmVxdWlyZXNUYWlsUHJvY2Vzc2luZygpKSB7CiAgICAgICAgICAgICBt
X2lzRGlzYWJsZWQgPSB0cnVlOwogICAgICAgICAgICAgZm9yIChhdXRvJiBvdXRwdXQgOiBtX291
dHB1dHMpCiAgICAgICAgICAgICAgICAgb3V0cHV0LT5kaXNhYmxlKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuaAppbmRleCBmOTY1ZWEwNTJkZDk5OTYxN2Ew
MzYwYjM3ZGI5ZmE0OWZjYjBmYzAxLi5kYTRiOTZlOTBlYTAyMzM0ZDIxMjdmYTM4YzA4NzJlN2Vj
YWE1ODc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
Tm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmgK
QEAgLTE3Miw2ICsxNzIsMTMgQEAgcHVibGljOgogICAgIC8vIGV4YW1wbGUsIGEgImRlbGF5IiBl
ZmZlY3QgaXMgZXhwZWN0ZWQgdG8gZGVsYXkgdGhlIHNpZ25hbCwgYW5kIHRodXMgd291bGQgbm90
IGJlIGNvbnNpZGVyZWQgbGF0ZW5jeS4KICAgICB2aXJ0dWFsIGRvdWJsZSBsYXRlbmN5VGltZSgp
IGNvbnN0ID0gMDsKIAorICAgIC8vIFRydWUgaWYgdGhlIG5vZGUgaGFzIGEgdGFpbCB0aW1lIG9y
IGxhdGVuY3kgdGltZSB0aGF0IHJlcXVpcmVzCisgICAgLy8gc3BlY2lhbCB0YWlsIHByb2Nlc3Np
bmcgdG8gYmVoYXZlIHByb3Blcmx5LiBJZGVhbGx5LCB0aGlzIGNhbiBiZQorICAgIC8vIGNoZWNr
ZWQgdXNpbmcgdGFpbFRpbWUgYW5kIGxhdGVuY3lUaW1lLCBidXQgdGhlc2UgYXJlbid0CisgICAg
Ly8gYXZhaWxhYmxlIG9uIHRoZSBtYWluIHRocmVhZCwgYW5kIHRoZSB0YWlsIHByb2Nlc3Npbmcg
Y2hlY2sgY2FuCisgICAgLy8gaGFwcGVuIG9uIHRoZSBtYWluIHRocmVhZC4KKyAgICB2aXJ0dWFs
IGJvb2wgcmVxdWlyZXNUYWlsUHJvY2Vzc2luZygpIGNvbnN0ID0gMDsKKwogICAgIC8vIHByb3Bh
Z2F0ZXNTaWxlbmNlKCkgc2hvdWxkIHJldHVybiB0cnVlIGlmIHRoZSBub2RlIHdpbGwgZ2VuZXJh
dGUgc2lsZW50IG91dHB1dCB3aGVuIGdpdmVuIHNpbGVudCBpbnB1dC4gQnkgZGVmYXVsdCwgQXVk
aW9Ob2RlCiAgICAgLy8gd2lsbCB0YWtlIHRhaWxUaW1lKCkgYW5kIGxhdGVuY3lUaW1lKCkgaW50
byBhY2NvdW50IHdoZW4gZGV0ZXJtaW5pbmcgd2hldGhlciB0aGUgbm9kZSB3aWxsIHByb3BhZ2F0
ZSBzaWxlbmNlLgogICAgIHZpcnR1YWwgYm9vbCBwcm9wYWdhdGVzU2lsZW5jZSgpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxl
ZFNvdXJjZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hl
ZHVsZWRTb3VyY2VOb2RlLmgKaW5kZXggMDcwOWQwNWVhODlhOTk2N2IzNDk4NjQwOTlkM2UyNDNl
ZjE3Y2I0OS4uMDAzZTlmODFmZTUwNzM0YzBlMzQzMDI0ZmFjNDJmN2E4NmRiOGIyZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJj
ZU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1
bGVkU291cmNlTm9kZS5oCkBAIC03OSw2ICs3OSw4IEBAIHByb3RlY3RlZDoKICAgICAvLyBDYWxs
ZWQgd2hlbiB3ZSBoYXZlIG5vIG1vcmUgc291bmQgdG8gcGxheSBvciB0aGUgbm90ZU9mZigpIHRp
bWUgaGFzIGJlZW4gcmVhY2hlZC4KICAgICB2aXJ0dWFsIHZvaWQgZmluaXNoKCk7CiAKKyAgICBi
b29sIHJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsg
fQorCiAgICAgUGxheWJhY2tTdGF0ZSBtX3BsYXliYWNrU3RhdGUgeyBVTlNDSEVEVUxFRF9TVEFU
RSB9OwogCiAgICAgUmVmUHRyPFBlbmRpbmdBY3Rpdml0eTxBdWRpb1NjaGVkdWxlZFNvdXJjZU5v
ZGU+PiBtX3BlbmRpbmdBY3Rpdml0eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQmlxdWFkRFNQS2VybmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQmlxdWFkRFNQS2VybmVsLmNwcAppbmRleCAzYjMzNTYyZGY0ZTQ0MDlmNjhiZGU1
NDQyOWRkMGJlMWQzMzU5NWVkLi5iOWJiNTMxZDU0NjBmZDkzNmFiNWI2MGI1ZGJlYWRlZjY0OTU0
OTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZERT
UEtlcm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRE
U1BLZXJuZWwuY3BwCkBAIC0yMDQsNiArMjA0LDE2IEBAIHZvaWQgQmlxdWFkRFNQS2VybmVsOjp1
cGRhdGVUYWlsVGltZShzaXplX3QgY29lZkluZGV4KQogICAgIG1fdGFpbFRpbWUgPSBzdGQ6OmNs
YW1wKHRhaWwsIDAuMCwgbWF4VGFpbFRpbWUpOwogfQogCitib29sIEJpcXVhZERTUEtlcm5lbDo6
cmVxdWlyZXNUYWlsUHJvY2Vzc2luZygpIGNvbnN0Cit7CisgICAgLy8gQWx3YXlzIHJldHVybiB0
cnVlIGV2ZW4gaWYgdGhlIHRhaWwgdGltZSBhbmQgbGF0ZW5jeSBtaWdodCBib3RoCisgICAgLy8g
YmUgemVyby4gVGhpcyBpcyBmb3Igc2ltcGxpY2l0eSBhbmQgYmVjYXVzZSBUYWlsVGltZSgpIGlz
IDAKKyAgICAvLyBiYXNpY2FsbHkgb25seSB3aGVuIHRoZSBmaWx0ZXIgcmVzcG9uc2UgSCh6KSA9
IDAgb3IgSCh6KSA9IDEuIEFuZAorICAgIC8vIGl0J3Mgb2sgdG8gcmV0dXJuIHRydWUuIEl0IGp1
c3QgbWVhbnMgdGhlIG5vZGUgbGl2ZXMgYSBsaXR0bGUKKyAgICAvLyBsb25nZXIgdGhhbiBzdHJp
Y3RseSBuZWNlc3NhcnkuCisgICAgcmV0dXJuIHRydWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVESU8pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZERTUEtlcm5lbC5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWREU1BLZXJuZWwuaAppbmRleCBhMDYzNjIyNmNhNjU1
MDMyNGYyYWZlMGQ3NWIyMjI5ZDlkNWNhM2VmLi5jYTEzZWRlZjExYmFjMTI4MDM2ZTlhNGQwNGE0
NjY3MzBmNjExNzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0JpcXVhZERTUEtlcm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QmlxdWFkRFNQS2VybmVsLmgKQEAgLTU0LDYgKzU0LDggQEAgcHVibGljOgogCiAgICAgdm9pZCB1
cGRhdGVDb2VmZmljaWVudHMoc2l6ZV90IG51bWJlck9mRnJhbWVzLCBjb25zdCBmbG9hdCogY3V0
b2ZmRnJlcXVlbmN5LCBjb25zdCBmbG9hdCogcSwgY29uc3QgZmxvYXQqIGdhaW4sIGNvbnN0IGZs
b2F0KiBkZXR1bmUpOwogCisgICAgYm9vbCByZXF1aXJlc1RhaWxQcm9jZXNzaW5nKCkgY29uc3Qg
ZmluYWw7CisKIHByaXZhdGU6CiAgICAgQmlxdWFkIG1fYmlxdWFkOwogICAgIEJpcXVhZFByb2Nl
c3NvciogYmlxdWFkUHJvY2Vzc29yKCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8QmlxdWFkUHJvY2Vz
c29yKj4ocHJvY2Vzc29yKCkpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmgKaW5kZXggNzBmYzAzODA5ODVkMWFhMjZmYTlmMTcx
Y2IwYTcyMTM5ZTU0MDIyMi4uMTEwMThmZTZmOTkwNmZlM2Q0MzNiN2M3ZjQ5ODM1OWFhODQ0M2Ji
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVy
Z2VyTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1l
cmdlck5vZGUuaApAQCAtNTUsNiArNTUsNyBAQCBwcml2YXRlOgogCiAgICAgZG91YmxlIHRhaWxU
aW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMDsgfQogICAgIGRvdWJsZSBsYXRlbmN5VGlt
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIDA7IH0KKyAgICBib29sIHJlcXVpcmVzVGFpbFBy
b2Nlc3NpbmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgQ2hhbm5lbE1l
cmdlck5vZGUoQmFzZUF1ZGlvQ29udGV4dCYsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRzKTsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxp
dHRlck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0
dGVyTm9kZS5oCmluZGV4IGUzMmJiZjY5OTQwYjEwYjJiMDlhYmZlZTQyNWVkYThiMGIwMmJkYjYu
LjVjNWJkN2IwODZjMjEwNDFlNGZjYTQ1MGVlNGU1Zjk5MWVmMDA4MWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5oCkBA
IC00Nyw2ICs0Nyw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgZG91YmxlIHRhaWxUaW1lKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMDsgfQogICAgIGRvdWJsZSBsYXRlbmN5VGltZSgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIDA7IH0KKyAgICBib29sIHJlcXVpcmVzVGFpbFByb2Nlc3Np
bmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgQ2hhbm5lbFNwbGl0dGVy
Tm9kZShCYXNlQXVkaW9Db250ZXh0JiwgdW5zaWduZWQgbnVtYmVyT2ZPdXRwdXRzKTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmNwcApp
bmRleCA3YzAxNDk5ZGVkZjkzNGRlMjI3Zjc5ZTQwNzE3OGI5NmNlZmVkYTJkLi43YmM3NDQ1NDc5
MmJlZWQ5ZTc2OGNkM2Q3NGRiODBlZTAxNjI5MmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5jcHAKQEAgLTE5MSw2ICsxOTEsMTIgQEAg
ZG91YmxlIENvbnZvbHZlck5vZGU6OmxhdGVuY3lUaW1lKCkgY29uc3QKICAgICByZXR1cm4gbV9y
ZXZlcmIgPyBtX3JldmVyYi0+bGF0ZW5jeUZyYW1lcygpIC8gc3RhdGljX2Nhc3Q8ZG91YmxlPihz
YW1wbGVSYXRlKCkpIDogMDsKIH0KIAorYm9vbCBDb252b2x2ZXJOb2RlOjpyZXF1aXJlc1RhaWxQ
cm9jZXNzaW5nKCkgY29uc3QKK3sKKyAgICAvLyBBbHdheXMgcmV0dXJuIHRydWUgZXZlbiBpZiB0
aGUgdGFpbCB0aW1lIGFuZCBsYXRlbmN5IG1pZ2h0IGJvdGggYmUgemVyby4KKyAgICByZXR1cm4g
dHJ1ZTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gQ29udm9sdmVyTm9kZTo6c2V0Q2hhbm5lbENv
dW50KHVuc2lnbmVkIGNvdW50KQogewogICAgIGlmIChjb3VudCA+IDIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5oCmluZGV4IDFlYjVmNGIyYzI3
YmFjZjUzZDcyMzMxNjM2OWFlODEyYmE2YTgwYzUuLjMzMWQ5ZjI5MjI5YjIxYmI2OGIwNTNjNTMz
MzZmYzg2MTk1YzQ5Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQ29udm9sdmVyTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
Q29udm9sdmVyTm9kZS5oCkBAIC01NSw2ICs1NSw3IEBAIHByaXZhdGU6CiAKICAgICBkb3VibGUg
dGFpbFRpbWUoKSBjb25zdCBmaW5hbDsKICAgICBkb3VibGUgbGF0ZW5jeVRpbWUoKSBjb25zdCBm
aW5hbDsKKyAgICBib29sIHJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25zdCBmaW5hbDsKIAog
ICAgIHZvaWQgcHJvY2VzcyhzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKSBmaW5hbDsKICAgICB2b2lk
IHJlc2V0KCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuaAppbmRleCA0ZGVlMjVmYzdj
OGExOGJlZjM0NDc0YWIwNDQyZTZhZTg2ZTQ4NmNiLi5lZGUxNTMzYzE2NDgyOWNmMWUyM2JhOTNj
MjlhODg2MzQyMDNlNGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmgKQEAgLTUxLDYgKzUx
LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHVuaW5pdGlhbGl6ZSgpIGZpbmFsOwogICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IHNldENoYW5uZWxDb3VudCh1bnNpZ25lZCkgZmluYWw7CiAKKyAgICBib29s
IHJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQor
CiAgICAgdm9pZCBlbmFibGVJbnB1dChjb25zdCBTdHJpbmcmIGlucHV0RGV2aWNlSWQpIGZpbmFs
OwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHN0YXJ0UmVuZGVyaW5nKCkgZmluYWw7CiAgICAgdm9p
ZCByZXN1bWUoRnVuY3Rpb248dm9pZCAoKT4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlbGF5RFNQS2VybmVsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vRGVsYXlEU1BLZXJuZWwuY3BwCmluZGV4IDhkMDE3NjM3YzRm
YjYxYzUxN2JlZWQwODg2MDFkODEwOWJlYmVlMjkuLmFlMTYxYTlmNTRjZmFjYjk0Yzk1YjhhZjQw
MTA2MjNlYTVmYzljZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vRGVsYXlEU1BLZXJuZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vRGVsYXlEU1BLZXJuZWwuY3BwCkBAIC0xNzEsNiArMTcxLDE2IEBAIGRvdWJsZSBEZWxheURT
UEtlcm5lbDo6bGF0ZW5jeVRpbWUoKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCitib29sIERl
bGF5RFNQS2VybmVsOjpyZXF1aXJlc1RhaWxQcm9jZXNzaW5nKCkgY29uc3QKK3sKKyAgICAvLyBB
bHdheXMgcmV0dXJuIHRydWUgZXZlbiBpZiB0aGUgdGFpbCB0aW1lIGFuZCBsYXRlbmN5IG1pZ2h0
IGJvdGgKKyAgICAvLyBiZSB6ZXJvLiBUaGlzIGlzIGZvciBzaW1wbGljaXR5OyBtb3N0IGludGVy
ZXN0aW5nIGRlbGF5IG5vZGVzCisgICAgLy8gaGF2ZSBub24temVybyBkZWxheSB0aW1lcyBhbnl3
YXkuIEFuZCBpdCdzIG9rIHRvIHJldHVybiB0cnVlLiBJdAorICAgIC8vIGp1c3QgbWVhbnMgdGhl
IG5vZGUgbGl2ZXMgYSBsaXR0bGUgbG9uZ2VyIHRoYW4gc3RyaWN0bHkKKyAgICAvLyBuZWNlc3Nh
cnkuCisgICAgcmV0dXJuIHRydWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShXRUJfQVVESU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0RlbGF5RFNQS2VybmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0RlbGF5RFNQS2VybmVsLmgKaW5kZXggZTIwZjFhOWFjZGJkY2NjNTE0ZDk0MzkzOThj
YWViMWZjYTBiNzg1NC4uZDQ0ZTdkZWMyODQyZDY3ODVlOTAxYmM4MjBiZGRkNDU5NmNhNzJiYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWxheURTUEtlcm5l
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVsYXlEU1BLZXJuZWwu
aApAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6CiAKICAgICBkb3VibGUgdGFpbFRpbWUoKSBjb25z
dCBvdmVycmlkZTsKICAgICBkb3VibGUgbGF0ZW5jeVRpbWUoKSBjb25zdCBvdmVycmlkZTsKKyAg
ICBib29sIHJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25zdCBmaW5hbDsKIAogcHJpdmF0ZToK
ICAgICBBdWRpb0Zsb2F0QXJyYXkgbV9idWZmZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcAppbmRleCAx
NjQ5ZTcwNzY0Yjg4NDg2MGQxNjEzNGZiYTg5NWM2YWJkNDZmYjNlLi42YzZjZWVhZjU1NDE1OTU1
YjVkMzI4ZGNhNDY5ZmU4NjY2MzU4NDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHAKQEAgLTEzNiw2
ICsxMzYsMTIgQEAgZG91YmxlIER5bmFtaWNzQ29tcHJlc3Nvck5vZGU6OmxhdGVuY3lUaW1lKCkg
Y29uc3QKICAgICByZXR1cm4gbV9keW5hbWljc0NvbXByZXNzb3ItPmxhdGVuY3lUaW1lKCk7CiB9
CiAKK2Jvb2wgRHluYW1pY3NDb21wcmVzc29yTm9kZTo6cmVxdWlyZXNUYWlsUHJvY2Vzc2luZygp
IGNvbnN0Cit7CisgICAgLy8gQWx3YXlzIHJldHVybiB0cnVlIGV2ZW4gaWYgdGhlIHRhaWwgdGlt
ZSBhbmQgbGF0ZW5jeSBtaWdodCBib3RoIGJlIHplcm8uCisgICAgcmV0dXJuIHRydWU7Cit9CisK
IEV4Y2VwdGlvbk9yPHZvaWQ+IER5bmFtaWNzQ29tcHJlc3Nvck5vZGU6OnNldENoYW5uZWxDb3Vu
dCh1bnNpZ25lZCBjb3VudCkKIHsKICAgICBpZiAoY291bnQgPiAyKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaApp
bmRleCBmYTM3N2VmNjg0YTM0Y2M0ZmIyMmZiYTdmNWZhMDU0MmRjNzQwZmFmLi4wZGMyMjkxOTFk
NzhiOGM2NzdjOWJjY2M4MjQ3Yzk2MzU0NTkxYWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaApAQCAtNjcs
NiArNjcsNyBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIGRvdWJsZSB0YWlsVGltZSgpIGNv
bnN0IG92ZXJyaWRlOwogICAgIGRvdWJsZSBsYXRlbmN5VGltZSgpIGNvbnN0IG92ZXJyaWRlOwor
ICAgIGJvb2wgcmVxdWlyZXNUYWlsUHJvY2Vzc2luZygpIGNvbnN0IGZpbmFsOwogCiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPER5bmFtaWNzQ29tcHJlc3Nvcj4gbV9keW5hbWljc0NvbXByZXNzb3I7CiAg
ICAgUmVmPEF1ZGlvUGFyYW0+IG1fdGhyZXNob2xkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9HYWluTm9kZS5oCmluZGV4IGQwNmE0M2NiMWEwNTY4Yzc5YWYyMzZiYTdjNjE1N2Y0
ODAzMTg0MzMuLmUxMjQzNTkxY2JhNGRmZDBkMzU0OWMwODZkNDBmNGFlZDFiZWViNjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmgKQEAgLTU0LDYgKzU0LDcg
QEAgcHVibGljOgogcHJpdmF0ZToKICAgICBkb3VibGUgdGFpbFRpbWUoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiAwOyB9CiAgICAgZG91YmxlIGxhdGVuY3lUaW1lKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gMDsgfQorICAgIGJvb2wgcmVxdWlyZXNUYWlsUHJvY2Vzc2luZygpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBleHBsaWNpdCBHYWluTm9kZShCYXNlQXVkaW9D
b250ZXh0Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
SUlSRFNQS2VybmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vSUlSRFNQ
S2VybmVsLmNwcAppbmRleCA2MmVlZTJjYTk4NTIwMGZhOWIzNDliNTQ1MThjYjRhNjBmNjU2NThh
Li42NzhhNDRkZTRiZGZlNjc5OTAyMDI0ODRkYWEzODFkNjAwNjhkYmM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0lJUkRTUEtlcm5lbC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9JSVJEU1BLZXJuZWwuY3BwCkBAIC02Niw2ICs2
NiwxMiBAQCB2b2lkIElJUkRTUEtlcm5lbDo6cmVzZXQoKQogICAgIG1faWlyRmlsdGVyLnJlc2V0
KCk7CiB9CiAKK2Jvb2wgSUlSRFNQS2VybmVsOjpyZXF1aXJlc1RhaWxQcm9jZXNzaW5nKCkgY29u
c3QKK3sKKyAgICAvLyBBbHdheXMgcmV0dXJuIHRydWUgZXZlbiBpZiB0aGUgdGFpbCB0aW1lIGFu
ZCBsYXRlbmN5IG1pZ2h0IGJvdGggYmUgemVyby4KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVURJTykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vSUlSRFNQS2VybmVsLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0lJUkRTUEtlcm5lbC5oCmluZGV4IDVmOGE0
NDJhNjc3ZDA0MDM0YzAxMjNjM2YzMjYwZDVjM2M2NTkzNGIuLmQwYjY5NTFmNjEzMWFjY2E3NjAw
NTI1MThkZmJlZWQxMjk5OTkzMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vSUlSRFNQS2VybmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9JSVJEU1BLZXJuZWwuaApAQCAtNDYsNiArNDYsNyBAQCBwcml2YXRlOgogICAgIGRvdWJs
ZSB0YWlsVGltZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fdGFpbFRpbWU7IH0KICAgICBkb3Vi
bGUgbGF0ZW5jeVRpbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAwOyB9CiAgICAgdm9pZCByZXNl
dCgpIGZpbmFsOworICAgIGJvb2wgcmVxdWlyZXNUYWlsUHJvY2Vzc2luZygpIGNvbnN0IGZpbmFs
OwogCiAgICAgSUlSRmlsdGVyIG1faWlyRmlsdGVyOwogICAgIGRvdWJsZSBtX3RhaWxUaW1lOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRB
dWRpb1NvdXJjZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFF
bGVtZW50QXVkaW9Tb3VyY2VOb2RlLmgKaW5kZXggZWZmYjQ3ZTU0ODkzMmVhNDg0MmUzODBiOTZj
MWE1ZDJlZmE0MTY3NC4uMmUzMjBiNzdkNmViYmM3ODU0ZDJiNDJhMzUyYjZlZjYwNWQ0ZTExYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRB
dWRpb1NvdXJjZU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oCkBAIC02Myw2ICs2Myw3IEBAIHByaXZhdGU6CiAK
ICAgICBkb3VibGUgdGFpbFRpbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAwOyB9CiAgICAg
ZG91YmxlIGxhdGVuY3lUaW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMDsgfQorICAgIGJv
b2wgcmVxdWlyZXNUYWlsUHJvY2Vzc2luZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9
CiAKICAgICAvLyBBcyBhbiBhdWRpbyBzb3VyY2UsIHdlIHdpbGwgbmV2ZXIgcHJvcGFnYXRlIHNp
bGVuY2UuCiAgICAgYm9vbCBwcm9wYWdhdGVzU2lsZW5jZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCmluZGV4IDZlZWE3
YTc1OTFjOWZiNmRiNDY0YjUyZTA5NjcxY2U3YzJkYWI1OWYuLjJjODM2NDI4OWJmMTJhOTRkY2Yw
YzQ4NDM4MTVmYzk4N2JjMWRjMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5o
CkBAIC01NCw2ICs1NCw3IEBAIHByaXZhdGU6CiAKICAgICBkb3VibGUgdGFpbFRpbWUoKSBjb25z
dCBmaW5hbCB7IHJldHVybiAwOyB9CiAgICAgZG91YmxlIGxhdGVuY3lUaW1lKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gMDsgfQorICAgIGJvb2wgcmVxdWlyZXNUYWlsUHJvY2Vzc2luZygpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICAvLyBBcyBhbiBhdWRpbyBzb3VyY2UsIHdl
IHdpbGwgbmV2ZXIgcHJvcGFnYXRlIHNpbGVuY2UuCiAgICAgYm9vbCBwcm9wYWdhdGVzU2lsZW5j
ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmgK
aW5kZXggNTZjMjMyZGZkYzg2YmE0ODlkMTQ1YzcyZWE1MzYxYjYyMWIwN2E4ZS4uNGE4NTEwOWI4
NDg1MWNmNmI1MGMzNTU2ODg0YTlmOTdiMjJlYjljMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUu
aApAQCAtNTksNiArNTksNyBAQCBwcml2YXRlOgogCiAgICAgZG91YmxlIHRhaWxUaW1lKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gMDsgfQogICAgIGRvdWJsZSBsYXRlbmN5VGltZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIDA7IH0KKyAgICBib29sIHJlcXVpcmVzVGFpbFByb2Nlc3Npbmco
KSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgLy8gQXMgYW4gYXVkaW8gc291
cmNlLCB3ZSB3aWxsIG5ldmVyIHByb3BhZ2F0ZSBzaWxlbmNlLgogICAgIGJvb2wgcHJvcGFnYXRl
c1NpbGVuY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5v
ZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGlu
YXRpb25Ob2RlLmgKaW5kZXggOWI4Y2Q2NTkzZjUxYjdjMDE0YjVlMWM5NWMzOGNiY2VkNzE0ZmVj
ZC4uODczZGFmZGQyZmZmNjA4N2E1NGMxZGE2ZmI0NTM2ZTFjNjk0YWRhZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5v
ZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rl
c3RpbmF0aW9uTm9kZS5oCkBAIC02Myw2ICs2Myw4IEBAIHByaXZhdGU6CiAgICAgT2ZmbGluZVJl
bmRlclJlc3VsdCBvZmZsaW5lUmVuZGVyKCk7CiAgICAgdm9pZCBub3RpZnlPZmZsaW5lUmVuZGVy
aW5nU3VzcGVuZGVkKCk7CiAKKyAgICBib29sIHJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgdW5zaWduZWQgbWF4Q2hhbm5lbENvdW50
KCkgY29uc3QgZmluYWw7CiAKICAgICAvLyBUaGlzIEF1ZGlvTm9kZSByZW5kZXJzIGludG8gdGhp
cyBBdWRpb0J1ZmZlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vUGFubmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5l
ck5vZGUuY3BwCmluZGV4IDI1Mzc0MDQ3Nzc3NDNkYmZkOTEyNzc1YTQ4OGJlZjgxMDhjNTY3ZGQu
LmY1YWQwZjc4YjBkMjZhYTRlNjBiZTUzNzRiODcxOGM2ZjA1YjgwMGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcApAQCAtNTM5LDYgKzUzOSwx
NCBAQCBmbG9hdCBQYW5uZXJOb2RlOjpkb3BwbGVyUmF0ZSgpCiAgICAgcmV0dXJuIDEuMGY7CiB9
CiAKK2Jvb2wgUGFubmVyTm9kZTo6cmVxdWlyZXNUYWlsUHJvY2Vzc2luZygpIGNvbnN0Cit7Cisg
ICAgLy8gSWYgdGhlcmUncyBubyBpbnRlcm5hbCBwYW5uZXIgbWV0aG9kIHNldCB1cCB5ZXQsIGFz
c3VtZSB3ZSByZXF1aXJlIHRhaWwKKyAgICAvLyBwcm9jZXNzaW5nIGluIGNhc2UgdGhlIEhSVEYg
cGFubmVyIGlzIHNldCBsYXRlciwgd2hpY2ggZG9lcyByZXF1aXJlIHRhaWwKKyAgICAvLyBwcm9j
ZXNzaW5nLgorICAgIHJldHVybiBtX3Bhbm5lciA/IG1fcGFubmVyLT5yZXF1aXJlc1RhaWxQcm9j
ZXNzaW5nKCkgOiB0cnVlOworfQorCiBmbG9hdCBQYW5uZXJOb2RlOjpjYWxjdWxhdGVEaXN0YW5j
ZUNvbmVHYWluKGNvbnN0IEZsb2F0UG9pbnQzRCYgc291cmNlUG9zaXRpb24sIGNvbnN0IEZsb2F0
UG9pbnQzRCYgb3JpZW50YXRpb24sIGNvbnN0IEZsb2F0UG9pbnQzRCYgbGlzdGVuZXJQb3NpdGlv
bikKIHsKICAgICBkb3VibGUgbGlzdGVuZXJEaXN0YW5jZSA9IHNvdXJjZVBvc2l0aW9uLmRpc3Rh
bmNlVG8obGlzdGVuZXJQb3NpdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vUGFubmVyTm9kZS5oCmluZGV4IDkyZTE2ZTc1NzliMmQyZjk0ZWNiY2VlMTZhNzViYjcwMmQx
YzAyNDIuLjcwMGFlNTcwMzA2OWQ4YWU1YmVmYWVhODIxNjVjNzM4MWY2ZjVjYzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oCkBAIC0xMzcsNiArMTM3
LDggQEAgcHJpdmF0ZToKICAgICAvLyBSZXR1cm5zIHRoZSBjb21iaW5lZCBkaXN0YW5jZSBhbmQg
Y29uZSBnYWluIGF0dGVudWF0aW9uLgogICAgIGZsb2F0IGRpc3RhbmNlQ29uZUdhaW4oKTsKIAor
ICAgIGJvb2wgcmVxdWlyZXNUYWlsUHJvY2Vzc2luZygpIGNvbnN0IGZpbmFsOworCiAgICAgLy8g
Tm90aWZpZXMgYW55IEF1ZGlvQnVmZmVyU291cmNlTm9kZXMgY29ubmVjdGVkIHRvIHVzIGVpdGhl
ciBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGFib3V0IG91ciBleGlzdGVuY2UuCiAgICAgLy8gVGhp
cyBpcyBpbiBvcmRlciB0byBoYW5kbGUgdGhlIHBpdGNoIGNoYW5nZSBuZWNlc3NhcnkgZm9yIHRo
ZSBkb3BwbGVyIHNoaWZ0LgogICAgIHZvaWQgbm90aWZ5QXVkaW9Tb3VyY2VzQ29ubmVjdGVkVG9O
b2RlKEF1ZGlvTm9kZSosIEhhc2hTZXQ8QXVkaW9Ob2RlKj4mIHZpc2l0ZWROb2Rlcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5v
ZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JO
b2RlLmNwcAppbmRleCAxOTVjMTIzYjFiZmU0ODY1MGVhMjY3MTJhODhkMDkzNjZjYjVkZTQxLi5i
MWY3MTZhNGVkZmFiNmMxMzhkYzdjZDdjOTk3ZTJhMDE2Y2VlY2Y2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAK
QEAgLTI3Miw2ICsyNzIsMTIgQEAgZG91YmxlIFNjcmlwdFByb2Nlc3Nvck5vZGU6OmxhdGVuY3lU
aW1lKCkgY29uc3QKICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZp
bml0eSgpOwogfQogCitib29sIFNjcmlwdFByb2Nlc3Nvck5vZGU6OnJlcXVpcmVzVGFpbFByb2Nl
c3NpbmcoKSBjb25zdAoreworICAgIC8vIEFsd2F5cyByZXR1cm4gdHJ1ZSBzaW5jZSB0aGUgdGFp
bCBhbmQgbGF0ZW5jeSBhcmUgbmV2ZXIgemVyby4KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVURJTykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9k
ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2Rl
LmgKaW5kZXggYjIyN2RhMWI2OTY4MmM5NzNiMmE4NzMzZWVjZWZhM2MwZGFiMGY0NS4uNjI1NmU3
NGZmNWEzNDcyNDY3MDc2NmY1MmYzOWQzZDA1ODYzMzAwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKQEAgLTcwLDYg
KzcwLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBkb3VibGUgdGFpbFRpbWUoKSBjb25zdCBv
dmVycmlkZTsKICAgICBkb3VibGUgbGF0ZW5jeVRpbWUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBi
b29sIHJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25zdCBmaW5hbDsKIAogICAgIFNjcmlwdFBy
b2Nlc3Nvck5vZGUoQmFzZUF1ZGlvQ29udGV4dCYsIHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25l
ZCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1N0ZXJlb1Bh
bm5lck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU3RlcmVvUGFubmVy
Tm9kZS5oCmluZGV4IGMyYjMwYTEyNmNkMjgyZWQ2M2NlNjVmZjRjMDMyMGZmN2Y0N2RlNDYuLjYy
MDgzZTY1ZDNmNjdkNGQwMDQ1MDg2ZTUwNDc2M2JhMDEyMDIzNzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU3RlcmVvUGFubmVyTm9kZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU3RlcmVvUGFubmVyTm9kZS5oCkBAIC01Miw2ICs1
Miw3IEBAIHByaXZhdGU6CiAgICAgLy8gQXVkaW9Ob2RlCiAgICAgdm9pZCBwcm9jZXNzKHNpemVf
dCBmcmFtZXNUb1Byb2Nlc3MpIGZpbmFsOwogICAgIHZvaWQgcmVzZXQoKSBmaW5hbCB7IH07Cisg
ICAgYm9vbCByZXF1aXJlc1RhaWxQcm9jZXNzaW5nKCkgY29uc3QgZmluYWwgeyByZXR1cm4gZmFs
c2U7IH0KIAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldENoYW5uZWxDb3VudCh1bnNpZ25lZCkg
ZmluYWw7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Q2hhbm5lbENvdW50TW9kZShDaGFubmVs
Q291bnRNb2RlKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vV2F2ZVNoYXBlckRTUEtlcm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL1dhdmVTaGFwZXJEU1BLZXJuZWwuY3BwCmluZGV4IGMyMjBlMTgxZjFjNzQ0NTA0ZjVj
NzQ4ZTYwNzkyM2M1NDNhMDUwNDAuLmRmNTgzNmNiZGJhN2ZmNjJhNWYwZTE3Zjc3ODJjYTUxNGI0
ZDFhMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNo
YXBlckRTUEtlcm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9X
YXZlU2hhcGVyRFNQS2VybmVsLmNwcApAQCAtMTkzLDYgKzE5MywxMiBAQCBkb3VibGUgV2F2ZVNo
YXBlckRTUEtlcm5lbDo6bGF0ZW5jeVRpbWUoKSBjb25zdAogICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxkb3VibGU+KGxhdGVuY3lGcmFtZXMpIC8gc2FtcGxlUmF0ZSgpOwogfQogCitib29sIFdhdmVT
aGFwZXJEU1BLZXJuZWw6OnJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25zdAoreworICAgIC8v
IEFsd2F5cyByZXR1cm4gdHJ1ZSBldmVuIGlmIHRoZSB0YWlsIHRpbWUgYW5kIGxhdGVuY3kgbWln
aHQgYm90aCBiZSB6ZXJvLgorICAgIHJldHVybiB0cnVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX0FVRElPKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyRFNQS2VybmVsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJEU1BLZXJuZWwuaAppbmRleCAxOTc5
N2RlYmYyNzY5NDlhZGE2YmY1YzNjNWU4NDVjZThlNWE2M2Y3Li43MGI4ZmZkNDA0YzlhOTVkMDFm
ZGM1ZDU5N2JiOTA0Yjc5ODFjM2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1dhdmVTaGFwZXJEU1BLZXJuZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJEU1BLZXJuZWwuaApAQCAtNTYsNiArNTYsOCBAQCBwcml2
YXRlOgogICAgIHZvaWQgcHJvY2Vzc0N1cnZlMngoY29uc3QgZmxvYXQqIHNvdXJjZSwgZmxvYXQq
IGRlc3QsIHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpOwogICAgIHZvaWQgcHJvY2Vzc0N1cnZlNHgo
Y29uc3QgZmxvYXQqIHNvdXJjZSwgZmxvYXQqIGRlc3QsIHNpemVfdCBmcmFtZXNUb1Byb2Nlc3Mp
OwogCisgICAgYm9vbCByZXF1aXJlc1RhaWxQcm9jZXNzaW5nKCkgY29uc3QgZmluYWw7CisKICAg
ICBXYXZlU2hhcGVyUHJvY2Vzc29yKiB3YXZlU2hhcGVyUHJvY2Vzc29yKCkgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8V2F2ZVNoYXBlclByb2Nlc3Nvcio+KHByb2Nlc3NvcigpKTsgfQogCiAgICAgLy8g
T3ZlcnNhbXBsaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuY3BwCmluZGV4IDI0ZDk2ZTUzMjgxMWI2MGVhZmY4
NjY1NzI0MGYzOGZjZGY2ZTRhNGYuLmRkOGI1N2FmMWI4ZTdiMzAzYjU4YjliZjMxYjBiZDQ2MGZi
MTgwZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0
QXVkaW9QYW5uZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L1dlYktpdEF1ZGlvUGFubmVyTm9kZS5jcHAKQEAgLTM0Nyw2ICszNDcsMTQgQEAgdm9pZCBXZWJL
aXRBdWRpb1Bhbm5lck5vZGU6Om5vdGlmeUF1ZGlvU291cmNlc0Nvbm5lY3RlZFRvTm9kZShBdWRp
b05vZGUqIG5vZGUsIEgKICAgICB9CiB9CiAKK2Jvb2wgV2ViS2l0QXVkaW9QYW5uZXJOb2RlOjpy
ZXF1aXJlc1RhaWxQcm9jZXNzaW5nKCkgY29uc3QKK3sKKyAgICAvLyBJZiB0aGVyZSdzIG5vIGlu
dGVybmFsIHBhbm5lciBtZXRob2Qgc2V0IHVwIHlldCwgYXNzdW1lIHdlIHJlcXVpcmUgdGFpbAor
ICAgIC8vIHByb2Nlc3NpbmcgaW4gY2FzZSB0aGUgSFJURiBwYW5uZXIgaXMgc2V0IGxhdGVyLCB3
aGljaCBkb2VzIHJlcXVpcmUgdGFpbAorICAgIC8vIHByb2Nlc3NpbmcuCisgICAgcmV0dXJuIG1f
cGFubmVyID8gbV9wYW5uZXItPnJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSA6IHRydWU7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVESU8pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvUGFu
bmVyTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bh
bm5lck5vZGUuaAppbmRleCBlZmRhODRlMTYzODhlZWE2MDZjYTZlMmZlNWYzYTAwMDhkNDU0ZDI2
Li5jNjMzNGE3NWIxMTYyYjJjYWQ5ODI3YTE5MTRiZWUxODJhMzhiMjZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvUGFubmVyTm9kZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9QYW5uZXJOb2Rl
LmgKQEAgLTExNyw2ICsxMTcsNyBAQCBwdWJsaWM6CiAKICAgICBkb3VibGUgdGFpbFRpbWUoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBtX3Bhbm5lciA/IG1fcGFubmVyLT50YWlsVGltZSgpIDog
MDsgfQogICAgIGRvdWJsZSBsYXRlbmN5VGltZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1f
cGFubmVyID8gbV9wYW5uZXItPmxhdGVuY3lUaW1lKCkgOiAwOyB9CisgICAgYm9vbCByZXF1aXJl
c1RhaWxQcm9jZXNzaW5nKCkgY29uc3QgZmluYWw7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQg
V2ViS2l0QXVkaW9QYW5uZXJOb2RlKFdlYktpdEF1ZGlvQ29udGV4dCYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9EU1BLZXJuZWwuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvRFNQS2VybmVsLmgKaW5kZXggN2IzZmYwMGNiMDBh
NTE5NzYwZTZjMGExOWQ5MWQ4NGQ3ZWY2N2U5Mi4uNTczMGZlYWZmZGZmZWRhZGE3ODQyYzM4OTU5
YmIxNTM0YWMzZjZjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
QXVkaW9EU1BLZXJuZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b0RTUEtlcm5lbC5oCkBAIC02Nyw2ICs2Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgZG91
YmxlIHRhaWxUaW1lKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgZG91YmxlIGxhdGVuY3lUaW1l
KCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCByZXF1aXJlc1RhaWxQcm9jZXNzaW5nKCkg
Y29uc3QgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgQXVkaW9EU1BLZXJuZWxQcm9jZXNzb3IqIG1f
a2VybmVsUHJvY2Vzc29yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9EU1BLZXJuZWxQcm9jZXNzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9EU1BLZXJuZWxQcm9jZXNzb3IuY3BwCmluZGV4IDQ0YzkyOGRmMDU0YmM1YzNm
NTkwMzk5NzcxOWNhNzZlOTRkMWFiYjYuLmI5ZGE1YmMwNzllNDg2Y2Y1YTEzOGI4MDAzNGY4MDBm
Mjk1NjBiN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
RFNQS2VybmVsUHJvY2Vzc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9BdWRpb0RTUEtlcm5lbFByb2Nlc3Nvci5jcHAKQEAgLTEyNiw2ICsxMjYsMTIgQEAgZG91Ymxl
IEF1ZGlvRFNQS2VybmVsUHJvY2Vzc29yOjpsYXRlbmN5VGltZSgpIGNvbnN0CiAgICAgcmV0dXJu
ICFtX2tlcm5lbHMuaXNFbXB0eSgpID8gbV9rZXJuZWxzLmZpcnN0KCktPmxhdGVuY3lUaW1lKCkg
OiAwOwogfQogCitib29sIEF1ZGlvRFNQS2VybmVsUHJvY2Vzc29yOjpyZXF1aXJlc1RhaWxQcm9j
ZXNzaW5nKCkgY29uc3QKK3sKKyAgICAvLyBBbHdheXMgcmV0dXJuIHRydWUgZXZlbiBpZiB0aGUg
dGFpbCB0aW1lIGFuZCBsYXRlbmN5IG1pZ2h0IGJvdGggYmUgemVyby4KKyAgICByZXR1cm4gdHJ1
ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9B
VURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvRFNQ
S2VybmVsUHJvY2Vzc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0RT
UEtlcm5lbFByb2Nlc3Nvci5oCmluZGV4IDE0MzkzZDg3MDI3NzdkMmVkYjcxMDVmNzYwNTMwOTlm
ZWE1ZjYyYzEuLjZlYjMxMmI3MDRiYWNlM2E1ZGJhZGRiZTRjNjZmODUwY2FkZTZjNmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvRFNQS2VybmVsUHJvY2Vz
c29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9EU1BLZXJuZWxQ
cm9jZXNzb3IuaApAQCAtNjQsNiArNjQsNyBAQCBwdWJsaWM6CiAKICAgICBkb3VibGUgdGFpbFRp
bWUoKSBjb25zdCBvdmVycmlkZTsKICAgICBkb3VibGUgbGF0ZW5jeVRpbWUoKSBjb25zdCBvdmVy
cmlkZTsKKyAgICBib29sIHJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25zdCBvdmVycmlkZTsK
IAogcHJvdGVjdGVkOgogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9EU1BLZXJuZWw+
PiBtX2tlcm5lbHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb1Byb2Nlc3Nvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9Qcm9j
ZXNzb3IuaAppbmRleCA4ZTU0MjJjMDIyNjk4MDRhY2EyNDE5MjQ2OTFjNjczMTQxODU4MTQ5Li40
NjUzNGM2ZDNhNDM3MDNmMzNhOThkODZhOTA5Nzg5MmY0ZmQyOGJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Byb2Nlc3Nvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvUHJvY2Vzc29yLmgKQEAgLTcxLDYgKzcxLDcgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCBkb3VibGUgdGFpbFRpbWUoKSBjb25zdCA9IDA7CiAgICAg
dmlydHVhbCBkb3VibGUgbGF0ZW5jeVRpbWUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29s
IHJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25zdCA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBi
b29sIG1faW5pdGlhbGl6ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9EeW5hbWljc0NvbXByZXNzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0R5bmFtaWNzQ29tcHJlc3Nvci5oCmluZGV4IDgyMmM5MzFmMzhjZTBlYzhkYzYyODJmMGY4YzM0
M2FmNjc3Zjk4NGYuLjBjYjM5N2JiZWVmMGUwZTU2MDQwZTg0NjIzM2Q4N2I3NGUxODhiMTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nv
ci5oCkBAIC04MSw2ICs4MSwxMSBAQCBwdWJsaWM6CiAKICAgICBkb3VibGUgdGFpbFRpbWUoKSBj
b25zdCB7IHJldHVybiAwOyB9CiAgICAgZG91YmxlIGxhdGVuY3lUaW1lKCkgY29uc3QgeyByZXR1
cm4gbV9jb21wcmVzc29yLmxhdGVuY3lGcmFtZXMoKSAvIHN0YXRpY19jYXN0PGRvdWJsZT4oc2Ft
cGxlUmF0ZSgpKTsgfQorICAgIGJvb2wgcmVxdWlyZXNUYWlsUHJvY2Vzc2luZygpIGNvbnN0Cisg
ICAgeworICAgICAgICAvLyBBbHdheXMgcmV0dXJuIHRydWUgZXZlbiBpZiB0aGUgdGFpbCB0aW1l
IGFuZCBsYXRlbmN5IG1pZ2h0IGJvdGggYmUgemVyby4KKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQogCiBwcm90ZWN0ZWQ6CiAgICAgdW5zaWduZWQgbV9udW1iZXJPZkNoYW5uZWxzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRXF1YWxQb3dlclBhbm5lci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRXF1YWxQb3dlclBhbm5lci5oCmluZGV4
IDI1YWFkNGJmNTViNTk4YmJjODY2YmUzNjZlMTJiODdjYjZmMjJlODUuLmQ3MzE4N2UxMDlhNjM5
ODM5NzczNzU3NjJlMTQ1MTliZGFjMWUyMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0VxdWFsUG93ZXJQYW5uZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9FcXVhbFBvd2VyUGFubmVyLmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgog
CiAgICAgZG91YmxlIHRhaWxUaW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMDsgfQogICAg
IGRvdWJsZSBsYXRlbmN5VGltZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIDA7IH0KKyAgICBi
b29sIHJlcXVpcmVzVGFpbFByb2Nlc3NpbmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsg
fQogCiBwcml2YXRlOgogICAgIHZvaWQgY2FsY3VsYXRlRGVzaXJlZEdhaW4oZG91YmxlJiBkZXNp
cmVkR2FpbkwsIGRvdWJsZSYgZGVzaXJlZEdhaW5SLCBkb3VibGUgYXppbXV0aCwgdW5zaWduZWQg
bnVtYmVyT2ZDaGFubmVscyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9IUlRGUGFubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZQ
YW5uZXIuY3BwCmluZGV4IGZlMWE0YTcwOTg5MWIyZjE5ZmM4NWI2ODkwYjZkYjUxNjMwZmEzYTIu
LjQwOGI2ZTAyZTI4NjNhZmZjZmYzNDUyNzUxOTQ2YmE2MDMzNTQzZDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZQYW5uZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZQYW5uZXIuY3BwCkBAIC0zNDIsNiArMzQyLDEyIEBA
IGRvdWJsZSBIUlRGUGFubmVyOjpsYXRlbmN5VGltZSgpIGNvbnN0CiAgICAgcmV0dXJuIChmZnRT
aXplKCkgLyAyKSAvIHN0YXRpY19jYXN0PGRvdWJsZT4oc2FtcGxlUmF0ZSgpKTsKIH0KIAorYm9v
bCBIUlRGUGFubmVyOjpyZXF1aXJlc1RhaWxQcm9jZXNzaW5nKCkgY29uc3QKK3sKKyAgICAvLyBB
bHdheXMgcmV0dXJuIHRydWUgc2luY2UgdGhlIHRhaWwgYW5kIGxhdGVuY3kgYXJlIG5ldmVyIHpl
cm8uCisgICAgcmV0dXJuIHRydWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShXRUJfQVVESU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9IUlRGUGFubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9I
UlRGUGFubmVyLmgKaW5kZXggOTBmYjdhYzU1ZDY5MWIyYTg2OGFkYWQyMjgxOTUzNTM0YmQxMDYx
My4uZTAzMjMwMzAxOGZhNzhmM2IxNzA0MWU1ZDVmNDkzNzBjNmFjMTUwMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURlBhbm5lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZQYW5uZXIuaApAQCAtNTAsNiArNTAsNyBAQCBwdWJs
aWM6CiAKICAgICBkb3VibGUgdGFpbFRpbWUoKSBjb25zdCBvdmVycmlkZTsKICAgICBkb3VibGUg
bGF0ZW5jeVRpbWUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIHJlcXVpcmVzVGFpbFByb2Nl
c3NpbmcoKSBjb25zdCBmaW5hbDsKIAogcHJpdmF0ZToKICAgICAvLyBHaXZlbiBhbiBhemltdXRo
IGFuZ2xlIGluIHRoZSByYW5nZSAtMTgwIC0+ICsxODAsIHJldHVybnMgdGhlIGNvcnJlc3BvbmRp
bmcgYXppbXV0aCBpbmRleCBmb3IgdGhlIGRhdGFiYXNlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUGFubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9QYW5uZXIuaAppbmRleCAxYTUzZjgxYWQ5ZDU1YzQ0YTAyMzU3NDBmMjQ4OGY5MjE2ZDlh
NjlmLi4wYjNmYWViZTgxMTVhMDY2MmI5ZDU4YjJiODY1MDA3Nzc3ODViZmU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QYW5uZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QYW5uZXIuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIGRvdWJsZSB0YWlsVGltZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGRv
dWJsZSBsYXRlbmN5VGltZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNU
YWlsUHJvY2Vzc2luZygpIGNvbnN0ID0gMDsKIAogcHJvdGVjdGVkOgogICAgIFBhbm5lcihQYW5u
aW5nTW9kZWxUeXBlIG1vZGVsKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZmI0
MTViMjBiOTUzZWU4MDgxYTVlMTM1YmViN2NiMmIzOTczN2Y0ZS4uNTIzYTBkMjg0NjNmM2FkNmU1
YzcxYzkxOGJjY2JiNmRmY2Q1ZmJmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMjAtMDktMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBNYWtlIHN1cmUgQmlxdWFkRmlsdGVyTm9kZSB0YWlsIGlzIGdldHRpbmcg
cHJvY2Vzc2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTYwNTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZWJhc2VsaW5lIFdQVCB0ZXN0IG5vdyB0aGF0IGl0IGlzIHBhc3NpbmcuCisKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYmlxdWFkZmls
dGVybm9kZS1pbnRlcmZhY2UvYmlxdWFkLXRhaWwtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTA5LTAx
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cmViYXNlbGluZSBmbGFreSBXZWIgQXVkaW8gV1BUIHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8t
YXBpL3RoZS1iaXF1YWRmaWx0ZXJub2RlLWludGVyZmFjZS9iaXF1YWQtdGFpbC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlv
L3RoZS1hdWRpby1hcGkvdGhlLWJpcXVhZGZpbHRlcm5vZGUtaW50ZXJmYWNlL2JpcXVhZC10YWls
LWV4cGVjdGVkLnR4dAppbmRleCAwYThlNTY5OWZkNmI0MzQ4OTk3NTJmZTEyODU1YWMwMmU4MmI3
MDIyLi5lZjIyMmM2NDQ4ODEwY2NmY2FhMzRhNTg4YjFiYmU1NzJmNjBjZTc5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3Ro
ZS1hdWRpby1hcGkvdGhlLWJpcXVhZGZpbHRlcm5vZGUtaW50ZXJmYWNlL2JpcXVhZC10YWlsLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWJpcXVhZGZpbHRlcm5vZGUtaW50ZXJmYWNl
L2JpcXVhZC10YWlsLWV4cGVjdGVkLnR4dApAQCAtMyw3ICszLDcgQEAgUEFTUyAjIEFVRElUIFRB
U0sgUlVOTkVSIFNUQVJURUQuCiBQQVNTIEV4ZWN1dGluZyAidGVzdCIgCiBQQVNTIEF1ZGl0IHJl
cG9ydCAKIFBBU1MgPiBbdGVzdF0gQmlxdWFkIFRhaWwgT3V0cHV0IAotRkFJTCBYIEJpcXVhZCBv
dXRwdXQgaGFzIGEgZ2xpdGNoIGF0IGluZGV4IDEyOCBvZiBzaXplIDAuNjQ1MTIwNzk5NTQxNDcz
NC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIDwgW3Rlc3RdIDEg
b3V0IG9mIDEgYXNzZXJ0aW9ucyB3ZXJlIGZhaWxlZC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCi1GQUlMICMgQVVESVQgVEFTSyBSVU5ORVIgRklOSVNIRUQ6IDEgb3V0IG9m
IDEgdGFza3Mgd2VyZSBmYWlsZWQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorUEFTUyAgIEJpcXVhZCBvdXRwdXQgaGFzIG5vIGdsaXRjaCBhYm92ZSB0aGUgdGhyZXNob2xk
IG9mIDAuMDEyOTY4LiAKK1BBU1MgPCBbdGVzdF0gQWxsIGFzc2VydGlvbnMgcGFzc2VkLiAodG90
YWwgMSBhc3NlcnRpb25zKSAKK1BBU1MgIyBBVURJVCBUQVNLIFJVTk5FUiBGSU5JU0hFRDogMSB0
YXNrcyByYW4gc3VjY2Vzc2Z1bGx5LiAKIAo=
</data>
<flag name="review"
          id="423071"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>