<?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>233826</bug_id>
          
          <creation_ts>2021-12-03 10:24:27 -0800</creation_ts>
          <short_desc>[GStreamer] Fill in client-name property on audio sinks</short_desc>
          <delta_ts>2021-12-08 12:23:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>jer.noble</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1820205</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-12-03 10:24:27 -0800</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820603</commentid>
    <comment_count>1</comment_count>
      <attachid>446036</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-12-06 06:40:41 -0800</bug_when>
    <thetext>Created attachment 446036
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820604</commentid>
    <comment_count>2</comment_count>
      <attachid>446036</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-12-06 06:42:56 -0800</bug_when>
    <thetext>Comment on attachment 446036
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:458
&gt; +    }), role.releaseImpl().leakRef());

Hm, this is not looking good... i&apos;ll revisit this part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821030</commentid>
    <comment_count>3</comment_count>
      <attachid>446036</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2021-12-07 07:27:06 -0800</bug_when>
    <thetext>Comment on attachment 446036
Patch

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

&gt; Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp:145
&gt; -        g_signal_connect(audioSink.get(), &quot;child-added&quot;, G_CALLBACK(autoAudioSinkChildAddedCallback), nullptr);
&gt; +        g_signal_connect(audioSink.get(), &quot;child-added&quot;, G_CALLBACK(+[](GstChildProxy*, GObject* object, gchar*, gpointer) {
&gt; +            if (GST_IS_AUDIO_BASE_SINK(object))
&gt; +                g_object_set(GST_AUDIO_BASE_SINK(object), &quot;buffer-time&quot;, static_cast&lt;gint64&gt;(100000), nullptr);
&gt; +        }), nullptr);

Please, mention this drive-by reorganization on the changelog.

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:458
&gt;&gt; +    }), role.releaseImpl().leakRef());
&gt; 
&gt; Hm, this is not looking good... i&apos;ll revisit this part.

Definitely looking not good. I guess you&apos;ll have to g_strdup and use g_signal_connect_data to provide the GClosureNotify to destroy it.

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h:310
&gt; +GstElement* createAutoAudioSink(String role);
&gt; +GstElement* createPlatformAudioSink(const char* role);

Why don&apos;t you use const String&amp; for both?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821594</commentid>
    <comment_count>4</comment_count>
      <attachid>446378</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-12-08 09:46:05 -0800</bug_when>
    <thetext>Created attachment 446378
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821708</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-08 12:21:56 -0800</bug_when>
    <thetext>Committed r286676 (244982@main): &lt;https://commits.webkit.org/244982@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 446378.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821709</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-08 12:23:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/86224065&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446036</attachid>
            <date>2021-12-06 06:40:41 -0800</date>
            <delta_ts>2021-12-08 09:45:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233826-20211206064040.patch</filename>
            <type>text/plain</type>
            <size>12536</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q1ZTNlMWQzNmU0YTI1
MmQ3ZDkwMzI2OWZiMjFjZmRkMjkzZDk3MS4uOTJjYWU2NjJiMDdiMWFmYjQwOGJlMjgxYWY1NTVl
N2MxOTUyMTA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTEyLTA2ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBGaWxsIGluIGNsaWVudC1uYW1lIHByb3BlcnR5IG9uIGF1ZGlvIHNpbmtzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4MjYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgYXVkaW8gc2luayBjbGll
bnQtbmFtZSBwcm9wZXJ0eSBpcyBub3cgc2V0IG9uIHNpbmtzIHRoYXQgc3VwcG9ydCB0aGlzIHBy
b3BlcnR5LCBzdWNoIGFzCisgICAgICAgIHB1bHNlc2luayBhbmQgcGlwZXdpcmVzaW5rLiBUaGlz
IGlzIHBpY2tlZC11cCBieSBHTk9NRSBzZXR0aW5ncyBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgYXVk
aW8KKyAgICAgICAgc3RyZWFtcyBub3cgYXBwZWFyIGFzIG93bmVkIGJ5IHRoZSBXZWJLaXQgYXBw
bGljYXRpb24gKE1pbmlCcm93c2VyLCBlcGh5LCBldGMpIGluc3RlYWQgb2YKKyAgICAgICAgIldl
YktpdFdlYlByb2Nlc3MiLgorCisgICAgICAgIFdoZW4gdGhlIGF1ZGlvIG1peGVyIGlzIGVuYWJs
ZWQsIG5vIG1lZGlhLnJvbGUgcHJvcGVydHkgaXMgc2V0LCBiZWNhdXNlIHRoZSBtaXhlciBjYW4g
YWNjZXB0CisgICAgICAgIG11c2ljIGFuZC9vciB2aWRlbyByb2xlcyBzaW11bHRhbmVvdXNseSwg
c28gaXQgZG9lc24ndCBtYWtlIHNlbnNlIGluIHRoaXMgY29udGV4dC4KKworICAgICAgICAqIHBs
YXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXI6OkF1ZGlvRGVzdGluYXRp
b25HU3RyZWFtZXIpOgorICAgICAgICAoV2ViQ29yZTo6YXV0b0F1ZGlvU2lua0NoaWxkQWRkZWRD
YWxsYmFjayk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L0dTdHJlYW1lckF1ZGlvTWl4ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1N0cmVhbWVyQXVk
aW9NaXhlcjo6R1N0cmVhbWVyQXVkaW9NaXhlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVh
dGVBdXRvQXVkaW9TaW5rKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVBsYXRmb3JtQXVkaW9T
aW5rKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29t
bW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXI6On5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVBdWRpb1NpbmspOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRBdWRpb1N0cmVh
bVByb3BlcnRpZXNDYWxsYmFjayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OnNldEF1ZGlvU3RyZWFtUHJvcGVydGllcyk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5oOgorCiAyMDIxLTEyLTA2ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtMQlNFXSBBZGQgUmVuZGVyT2JqZWN0Ojppc1NW
R1Jvb3RPckxlZ2FjeVNWR1Jvb3QoKSBoZWxwZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9u
R1N0cmVhbWVyLmNwcAppbmRleCAyNDhmMGMwNGU5YWI3MzczY2IyOGU2N2MzOGU0OWVjZWRlZTY1
MzZhLi44NmUyZmNjZGExNzAzMDJlZjU3NTM4YjhlNWMzOTRhOGJjMGY0ZWY0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0aW5hdGlv
bkdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVh
bWVyL0F1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIuY3BwCkBAIC05MiwxMiArOTIsNiBAQCBnYm9v
bGVhbiBtZXNzYWdlQ2FsbGJhY2soR3N0QnVzKiwgR3N0TWVzc2FnZSogbWVzc2FnZSwgQXVkaW9E
ZXN0aW5hdGlvbkdTdHJlYW1lcgogICAgIHJldHVybiBkZXN0aW5hdGlvbi0+aGFuZGxlTWVzc2Fn
ZShtZXNzYWdlKTsKIH0KIAotc3RhdGljIHZvaWQgYXV0b0F1ZGlvU2lua0NoaWxkQWRkZWRDYWxs
YmFjayhHc3RDaGlsZFByb3h5KiwgR09iamVjdCogb2JqZWN0LCBnY2hhciosIGdwb2ludGVyKQot
ewotICAgIGlmIChHU1RfSVNfQVVESU9fQkFTRV9TSU5LKG9iamVjdCkpCi0gICAgICAgIGdfb2Jq
ZWN0X3NldChHU1RfQVVESU9fQkFTRV9TSU5LKG9iamVjdCksICJidWZmZXItdGltZSIsIHN0YXRp
Y19jYXN0PGdpbnQ2ND4oMTAwMDAwKSwgbnVsbHB0cik7Ci19Ci0KIFJlZjxBdWRpb0Rlc3RpbmF0
aW9uPiBBdWRpb0Rlc3RpbmF0aW9uOjpjcmVhdGUoQXVkaW9JT0NhbGxiYWNrJiBjYWxsYmFjaywg
Y29uc3QgU3RyaW5nJiwgdW5zaWduZWQgbnVtYmVyT2ZJbnB1dENoYW5uZWxzLCB1bnNpZ25lZCBu
dW1iZXJPZk91dHB1dENoYW5uZWxzLCBmbG9hdCBzYW1wbGVSYXRlKQogewogICAgIGluaXRpYWxp
emVEZWJ1Z0NhdGVnb3J5KCk7CkBAIC0xMzUsNyArMTI5LDcgQEAgQXVkaW9EZXN0aW5hdGlvbkdT
dHJlYW1lcjo6QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcihBdWRpb0lPQ2FsbGJhY2smIGNhbGxi
YWNrLAogICAgIG1fc3JjID0gR1NUX0VMRU1FTlRfQ0FTVChnX29iamVjdF9uZXcoV0VCS0lUX1RZ
UEVfV0VCX0FVRElPX1NSQywgInJhdGUiLCBzYW1wbGVSYXRlLAogICAgICAgICAiYnVzIiwgbV9y
ZW5kZXJCdXMuZ2V0KCksICJkZXN0aW5hdGlvbiIsIHRoaXMsICJmcmFtZXMiLCBBdWRpb1V0aWxp
dGllczo6cmVuZGVyUXVhbnR1bVNpemUsIG51bGxwdHIpKTsKIAotICAgIEdSZWZQdHI8R3N0RWxl
bWVudD4gYXVkaW9TaW5rID0gY3JlYXRlUGxhdGZvcm1BdWRpb1NpbmsoKTsKKyAgICBHUmVmUHRy
PEdzdEVsZW1lbnQ+IGF1ZGlvU2luayA9IGNyZWF0ZVBsYXRmb3JtQXVkaW9TaW5rKCJtdXNpYyIp
OwogICAgIG1fYXVkaW9TaW5rQXZhaWxhYmxlID0gYXVkaW9TaW5rOwogICAgIGlmICghYXVkaW9T
aW5rKSB7CiAgICAgICAgIEdTVF9FUlJPUigiRmFpbGVkIHRvIGNyZWF0ZSBHU3RyZWFtZXIgYXVk
aW8gc2luayBlbGVtZW50Iik7CkBAIC0xNDUsNyArMTM5LDEwIEBAIEF1ZGlvRGVzdGluYXRpb25H
U3RyZWFtZXI6OkF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIoQXVkaW9JT0NhbGxiYWNrJiBjYWxs
YmFjaywKICAgICAvLyBQcm9iZSBwbGF0Zm9ybSBlYXJseSBvbiBmb3IgYSB3b3JraW5nIGF1ZGlv
IG91dHB1dCBkZXZpY2UuIFRoaXMgaXMgbm90IG5lZWRlZCBmb3IgdGhlIFdlYktpdAogICAgIC8v
IGN1c3RvbSBhdWRpbyBzaW5rIGJlY2F1c2UgaXQgZG9lc24ndCByZWx5IG9uIGF1dG9hdWRpb3Np
bmsuCiAgICAgaWYgKCFXRUJLSVRfSVNfQVVESU9fU0lOSyhhdWRpb1NpbmsuZ2V0KCkpKSB7Ci0g
ICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QoYXVkaW9TaW5rLmdldCgpLCAiY2hpbGQtYWRkZWQiLCBH
X0NBTExCQUNLKGF1dG9BdWRpb1NpbmtDaGlsZEFkZGVkQ2FsbGJhY2spLCBudWxscHRyKTsKKyAg
ICAgICAgZ19zaWduYWxfY29ubmVjdChhdWRpb1NpbmsuZ2V0KCksICJjaGlsZC1hZGRlZCIsIEdf
Q0FMTEJBQ0soK1tdKEdzdENoaWxkUHJveHkqLCBHT2JqZWN0KiBvYmplY3QsIGdjaGFyKiwgZ3Bv
aW50ZXIpIHsKKyAgICAgICAgICAgIGlmIChHU1RfSVNfQVVESU9fQkFTRV9TSU5LKG9iamVjdCkp
CisgICAgICAgICAgICAgICAgZ19vYmplY3Rfc2V0KEdTVF9BVURJT19CQVNFX1NJTksob2JqZWN0
KSwgImJ1ZmZlci10aW1lIiwgc3RhdGljX2Nhc3Q8Z2ludDY0PigxMDAwMDApLCBudWxscHRyKTsK
KyAgICAgICAgfSksIG51bGxwdHIpOwogCiAgICAgICAgIC8vIEF1dG9hdWRpb3NpbmsgZG9lcyB0
aGUgcmVhbCBzaW5rIGRldGVjdGlvbiBpbiB0aGUgR1NUX1NUQVRFX05VTEwtPlJFQURZIHRyYW5z
aXRpb24KICAgICAgICAgLy8gc28gaXQncyBiZXN0IHRvIHJvbGwgaXQgdG8gUkVBRFkgYXMgc29v
biBhcyBwb3NzaWJsZSB0byBlbnN1cmUgdGhlIHVuZGVybHlpbmcgcGxhdGZvcm0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJB
dWRpb01peGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9HU3RyZWFtZXJBdWRpb01peGVyLmNwcAppbmRleCA1ODQzMWQwM2MyNDIyMDU3NTEyMjkwZmE5
OTc3YWQ5ZTA5YTQwZmEzLi42ZjJmNjdiYjcwNDg5ODQwZTI0ZGY5MjgyMWZjMzFhYjYwYWM2ODFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
R1N0cmVhbWVyQXVkaW9NaXhlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckF1ZGlvTWl4ZXIuY3BwCkBAIC00OCw3ICs0OCw3IEBA
IEdTdHJlYW1lckF1ZGlvTWl4ZXI6OkdTdHJlYW1lckF1ZGlvTWl4ZXIoKQogICAgIGNvbm5lY3RT
aW1wbGVCdXNNZXNzYWdlQ2FsbGJhY2sobV9waXBlbGluZS5nZXQoKSk7CiAKICAgICBtX21peGVy
ID0gbWFrZUdTdHJlYW1lckVsZW1lbnQoImF1ZGlvbWl4ZXIiLCBudWxscHRyKTsKLSAgICBHc3RF
bGVtZW50KiBhdWRpb1NpbmsgPSBtYWtlR1N0cmVhbWVyRWxlbWVudCgiYXV0b2F1ZGlvc2luayIs
IG51bGxwdHIpOworICAgIGF1dG8qIGF1ZGlvU2luayA9IGNyZWF0ZUF1dG9BdWRpb1NpbmsoeyB9
KTsKIAogICAgIGdzdF9iaW5fYWRkX21hbnkoR1NUX0JJTl9DQVNUKG1fcGlwZWxpbmUuZ2V0KCkp
LCBtX21peGVyLmdldCgpLCBhdWRpb1NpbmssIG51bGxwdHIpOwogICAgIGdzdF9lbGVtZW50X2xp
bmsobV9taXhlci5nZXQoKSwgYXVkaW9TaW5rKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5jcHAK
aW5kZXggMDE2MDVmYzkxNDk3ZTQ2MmJhMDc3MzA0NzhlODRhODU1MWU2NzIzZi4uYjgyMTBiYWI2
NTExZjEzMzgzNDkxMmQzNTVjYWMzNmFiNDlkNzhmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1v
bi5jcHAKQEAgLTIzLDggKzIzLDEwIEBACiAKICNpZiBVU0UoR1NUUkVBTUVSKQogCisjaW5jbHVk
ZSAiQXBwbGljYXRpb25HTGliLmgiCiAjaW5jbHVkZSAiR0xWaWRlb1NpbmtHU3RyZWFtZXIuaCIK
ICNpbmNsdWRlICJHU3RyZWFtZXJBdWRpb01peGVyLmgiCisjaW5jbHVkZSAiR1VuaXF1ZVB0ckdT
dHJlYW1lci5oIgogI2luY2x1ZGUgIkdzdEFsbG9jYXRvckZhc3RNYWxsb2MuaCIKICNpbmNsdWRl
ICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCkBAIC00
NDAsNyArNDQyLDI0IEBAIGJvb2wgZ3N0RWxlbWVudEZhY3RvcnlFcXVhbHMoR3N0RWxlbWVudCog
ZWxlbWVudCwgY29uc3QgY2hhciogbmFtZSkKICAgICByZXR1cm4gZXF1YWwoR1NUX09CSkVDVF9O
QU1FKGdzdF9lbGVtZW50X2dldF9mYWN0b3J5KGVsZW1lbnQpKSwgbmFtZSk7CiB9CiAKLUdzdEVs
ZW1lbnQqIGNyZWF0ZVBsYXRmb3JtQXVkaW9TaW5rKCkKK0dzdEVsZW1lbnQqIGNyZWF0ZUF1dG9B
dWRpb1NpbmsoU3RyaW5nIHJvbGUpCit7CisgICAgYXV0byogYXVkaW9TaW5rID0gbWFrZUdTdHJl
YW1lckVsZW1lbnQoImF1dG9hdWRpb3NpbmsiLCBudWxscHRyKTsKKyAgICBnX3NpZ25hbF9jb25u
ZWN0KGF1ZGlvU2luaywgImNoaWxkLWFkZGVkIiwgR19DQUxMQkFDSygrW10oR3N0Q2hpbGRQcm94
eSosIEdPYmplY3QqIG9iamVjdCwgZ2NoYXIqLCBncG9pbnRlciB1c2VyRGF0YSkgeworICAgICAg
ICBhdXRvKiByb2xlID0gcmVpbnRlcnByZXRfY2FzdDxTdHJpbmdJbXBsKj4odXNlckRhdGEpOwor
ICAgICAgICBhdXRvKiBvYmplY3RDbGFzcyA9IEdfT0JKRUNUX0dFVF9DTEFTUyhvYmplY3QpOwor
ICAgICAgICBpZiAocm9sZSAmJiBnX29iamVjdF9jbGFzc19maW5kX3Byb3BlcnR5KG9iamVjdENs
YXNzLCAic3RyZWFtLXByb3BlcnRpZXMiKSkgeworICAgICAgICAgICAgR1VuaXF1ZVB0cjxHc3RT
dHJ1Y3R1cmU+IHByb3BlcnRpZXMoZ3N0X3N0cnVjdHVyZV9uZXcoInN0cmVhbS1wcm9wZXJ0aWVz
IiwgIm1lZGlhLnJvbGUiLCBHX1RZUEVfU1RSSU5HLCByb2xlLT51dGY4KCkuZGF0YSgpLCBudWxs
cHRyKSk7CisgICAgICAgICAgICBnX29iamVjdF9zZXQob2JqZWN0LCAic3RyZWFtLXByb3BlcnRp
ZXMiLCBwcm9wZXJ0aWVzLmdldCgpLCBudWxscHRyKTsKKyAgICAgICAgICAgIEdTVF9ERUJVRygi
U2V0IG1lZGlhLnJvbGUgYXMgJXMgb24gJSIgR1NUX1BUUl9GT1JNQVQsIHJvbGUtPnV0ZjgoKS5k
YXRhKCksIEdTVF9FTEVNRU5UX0NBU1Qob2JqZWN0KSk7CisgICAgICAgIH0KKyAgICAgICAgaWYg
KGdfb2JqZWN0X2NsYXNzX2ZpbmRfcHJvcGVydHkob2JqZWN0Q2xhc3MsICJjbGllbnQtbmFtZSIp
KQorICAgICAgICAgICAgZ19vYmplY3Rfc2V0KG9iamVjdCwgImNsaWVudC1uYW1lIiwgZ2V0QXBw
bGljYXRpb25OYW1lKCksIG51bGxwdHIpOworICAgIH0pLCByb2xlLnJlbGVhc2VJbXBsKCkubGVh
a1JlZigpKTsKKyAgICByZXR1cm4gYXVkaW9TaW5rOworfQorCitHc3RFbGVtZW50KiBjcmVhdGVQ
bGF0Zm9ybUF1ZGlvU2luayhjb25zdCBjaGFyKiByb2xlKQogewogICAgIEdzdEVsZW1lbnQqIGF1
ZGlvU2luayA9IHdlYmtpdEF1ZGlvU2lua05ldygpOwogICAgIGlmICghYXVkaW9TaW5rKSB7CkBA
IC00NTAsNyArNDY5LDcgQEAgR3N0RWxlbWVudCogY3JlYXRlUGxhdGZvcm1BdWRpb1NpbmsoKQog
ICAgICAgICAvLyAgIHJ1bnRpbWUgcmVxdWlyZW1lbnRzIGFyZSBub3QgZnVsbGZpbGxlZC4KICAg
ICAgICAgLy8gLSB0aGUgc2luayB3YXMgY3JlYXRlZCBmb3IgdGhlIFdQRSBwb3J0LCBhdWRpbyBt
aXhpbmcgd2FzIG5vdCByZXF1ZXN0ZWQgYW5kIG5vCiAgICAgICAgIC8vICAgV1BFQmFja2VuZC1G
RE8gYXVkaW8gcmVjZWl2ZXIgaGFzIGJlZW4gcmVnaXN0ZXJlZCBhdCBydW50aW1lLgotICAgICAg
ICBhdWRpb1NpbmsgPSBtYWtlR1N0cmVhbWVyRWxlbWVudCgiYXV0b2F1ZGlvc2luayIsIG51bGxw
dHIpOworICAgICAgICBhdWRpb1NpbmsgPSBjcmVhdGVBdXRvQXVkaW9TaW5rKHJvbGUpOwogICAg
IH0KIAogICAgIHJldHVybiBhdWRpb1Npbms7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmgKaW5kZXgg
YmJiOGMxMzk2ZjAwM2Q2NDI2ODg5NzlhNjg0YzY2MWIxY2I4NzFiZS4uODkwZmE4NDRiN2Q0MTFl
Y2VmZTU4ZTRkNzRhMDczOTZjODY5YTM3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJDb21tb24uaApAQCAt
MzA2LDcgKzMwNiw4IEBAIGVudW0gY2xhc3MgR3N0VmlkZW9EZWNvZGVyUGxhdGZvcm0geyBJbXhW
UFUsIFZpZGVvNExpbnV4LCBPcGVuTUFYIH07CiBib29sIGlzR1N0cmVhbWVyUGx1Z2luQXZhaWxh
YmxlKGNvbnN0IGNoYXIqIG5hbWUpOwogYm9vbCBnc3RFbGVtZW50RmFjdG9yeUVxdWFscyhHc3RF
bGVtZW50KiwgY29uc3QgY2hhciogbmFtZSk7CiAKLUdzdEVsZW1lbnQqIGNyZWF0ZVBsYXRmb3Jt
QXVkaW9TaW5rKCk7CitHc3RFbGVtZW50KiBjcmVhdGVBdXRvQXVkaW9TaW5rKFN0cmluZyByb2xl
KTsKK0dzdEVsZW1lbnQqIGNyZWF0ZVBsYXRmb3JtQXVkaW9TaW5rKGNvbnN0IGNoYXIqIHJvbGUp
OwogCiBib29sIHdlYmtpdEdzdFNldEVsZW1lbnRTdGF0ZVN5bmNocm9ub3VzbHkoR3N0RWxlbWVu
dCosIEdzdFN0YXRlLCBGdW5jdGlvbjxib29sKEdzdE1lc3NhZ2UqKT4mJiA9IFtdKEdzdE1lc3Nh
Z2UqKSAtPiBib29sIHsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggNzk3OTQ4MGY5MWM1OTdhYTlmOTAwOTdj
MTg4MzJjNmExNWMzMmNlOC4uY2JiNDlkMTczNjJmNzEyZDI1ZGZlODI0ZGZjMWMzODFhNWRhMDI5
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAK
QEAgLTIwMCwxMCArMjAwLDYgQEAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp+TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyKCkKICAgICBpZiAobV9maWxsVGltZXIuaXNBY3RpdmUoKSkK
ICAgICAgICAgbV9maWxsVGltZXIuc3RvcCgpOwogCi0gICAgYXV0byogc2luayA9IGF1ZGlvU2lu
aygpOwotICAgIGlmIChzaW5rICYmICFXRUJLSVRfSVNfQVVESU9fU0lOSyhzaW5rKSkKLSAgICAg
ICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jKEdfT0JKRUNUKHNpbmspLCBy
ZWludGVycHJldF9jYXN0PGdwb2ludGVyPihzZXRBdWRpb1N0cmVhbVByb3BlcnRpZXNDYWxsYmFj
ayksIHRoaXMpOwotCiAgICAgbV9yZWFkeVRpbWVySGFuZGxlci5zdG9wKCk7CiAgICAgZm9yIChh
dXRvJiBtaXNzaW5nUGx1Z2luQ2FsbGJhY2sgOiBtX21pc3NpbmdQbHVnaW5DYWxsYmFja3MpIHsK
ICAgICAgICAgaWYgKG1pc3NpbmdQbHVnaW5DYWxsYmFjaykKQEAgLTg4NCwyMyArODgwLDYgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNvdXJjZVNldHVwKEdzdEVsZW1lbnQq
IHNvdXJjZUVsZW1lbnQpCiAgICAgfQogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6c2V0QXVkaW9TdHJlYW1Qcm9wZXJ0aWVzQ2FsbGJhY2soTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyKiBwbGF5ZXIsIEdPYmplY3QqIG9iamVjdCkKLXsKLSAgICBwbGF5ZXItPnNldEF1
ZGlvU3RyZWFtUHJvcGVydGllcyhvYmplY3QpOwotfQotCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lcjo6c2V0QXVkaW9TdHJlYW1Qcm9wZXJ0aWVzKEdPYmplY3QqIG9iamVjdCkKLXsK
LSAgICBpZiAoZ19zdHJjbXAwKEdfT0JKRUNUX1RZUEVfTkFNRShvYmplY3QpLCAiR3N0UHVsc2VT
aW5rIikpCi0gICAgICAgIHJldHVybjsKLQotICAgIGNvbnN0IGNoYXIqIHJvbGUgPSBtX3BsYXll
ci0+aXNWaWRlb1BsYXllcigpID8gInZpZGVvIiA6ICJtdXNpYyI7Ci0gICAgR1VuaXF1ZVB0cjxH
c3RTdHJ1Y3R1cmU+IHByb3BlcnRpZXMoZ3N0X3N0cnVjdHVyZV9uZXcoInN0cmVhbS1wcm9wZXJ0
aWVzIiwgIm1lZGlhLnJvbGUiLCBHX1RZUEVfU1RSSU5HLCByb2xlLCBudWxscHRyKSk7Ci0gICAg
Z19vYmplY3Rfc2V0KG9iamVjdCwgInN0cmVhbS1wcm9wZXJ0aWVzIiwgcHJvcGVydGllcy5nZXQo
KSwgbnVsbHB0cik7Ci0gICAgR1VuaXF1ZVB0cjxnY2hhcj4gZWxlbWVudE5hbWUoZ3N0X2VsZW1l
bnRfZ2V0X25hbWUoR1NUX0VMRU1FTlQob2JqZWN0KSkpOwotICAgIEdTVF9ERUJVR19PQkpFQ1Qo
cGlwZWxpbmUoKSwgIlNldCBtZWRpYS5yb2xlIGFzICVzIGF0ICVzIiwgcm9sZSwgZWxlbWVudE5h
bWUuZ2V0KCkpOwotfQotCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c291cmNl
U2V0dXBDYWxsYmFjayhNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIqIHBsYXllciwgR3N0RWxl
bWVudCogc291cmNlRWxlbWVudCkKIHsKICAgICBwbGF5ZXItPnNvdXJjZVNldHVwKHNvdXJjZUVs
ZW1lbnQpOwpAQCAtMTI0OSwxNCArMTIyOCwxMiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6bG9hZGluZ0ZhaWxlZChNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlIG5ldHdvcgog
CiBHc3RFbGVtZW50KiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUF1ZGlvU2lu
aygpCiB7Ci0gICAgR3N0RWxlbWVudCogYXVkaW9TaW5rID0gY3JlYXRlUGxhdGZvcm1BdWRpb1Np
bmsoKTsKKyAgICBjb25zdCBjaGFyKiByb2xlID0gbV9wbGF5ZXItPmlzVmlkZW9QbGF5ZXIoKSA/
ICJ2aWRlbyIgOiAibXVzaWMiOworICAgIEdzdEVsZW1lbnQqIGF1ZGlvU2luayA9IGNyZWF0ZVBs
YXRmb3JtQXVkaW9TaW5rKHJvbGUpOwogICAgIFJFTEVBU0VfQVNTRVJUKGF1ZGlvU2luayk7CiAg
ICAgaWYgKCFhdWRpb1NpbmspCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgaWYgKCFX
RUJLSVRfSVNfQVVESU9fU0lOSyhhdWRpb1NpbmspKQotICAgICAgICBnX3NpZ25hbF9jb25uZWN0
X3N3YXBwZWQoYXVkaW9TaW5rLCAiY2hpbGQtYWRkZWQiLCBHX0NBTExCQUNLKHNldEF1ZGlvU3Ry
ZWFtUHJvcGVydGllc0NhbGxiYWNrKSwgdGhpcyk7Ci0KICNpZiBFTkFCTEUoV0VCX0FVRElPKQog
ICAgIEdzdEVsZW1lbnQqIGF1ZGlvU2lua0JpbiA9IGdzdF9iaW5fbmV3KCJhdWRpby1zaW5rIik7
CiAgICAgZW5zdXJlQXVkaW9Tb3VyY2VQcm92aWRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IDIxNDc3NmEzMGQ4N2IwYTY0NGE5NWU5M2Iz
YWRiN2Y4MjU5NWJhYzguLmUzODA3NWIyZmMyNmQ5NDNiZjlhMDA2NTQzM2M3YmJhYWU1ZTA2MjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTMw
NCwxMyArMzA0LDEwIEBAIHByb3RlY3RlZDoKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJhY2tQ
cml2YXRlVHlwZT4gdm9pZCBub3RpZnlQbGF5ZXJPZlRyYWNrKCk7CiAKICAgICB2b2lkIGVuc3Vy
ZUF1ZGlvU291cmNlUHJvdmlkZXIoKTsKLSAgICB2b2lkIHNldEF1ZGlvU3RyZWFtUHJvcGVydGll
cyhHT2JqZWN0Kik7CiAKICAgICB2aXJ0dWFsIGJvb2wgZG9TZWVrKGNvbnN0IE1lZGlhVGltZSYg
cG9zaXRpb24sIGZsb2F0IHJhdGUsIEdzdFNlZWtGbGFncyk7CiAgICAgdm9pZCBpbnZhbGlkYXRl
Q2FjaGVkUG9zaXRpb24oKSBjb25zdDsKIAotICAgIHN0YXRpYyB2b2lkIHNldEF1ZGlvU3RyZWFt
UHJvcGVydGllc0NhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lciosIEdPYmplY3Qq
KTsKLQogICAgIHN0YXRpYyB2b2lkIHNvdXJjZVNldHVwQ2FsbGJhY2soTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyKiwgR3N0RWxlbWVudCopOwogICAgIHN0YXRpYyB2b2lkIHZpZGVvQ2hhbmdl
ZENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lciopOwogICAgIHN0YXRpYyB2b2lk
IGF1ZGlvQ2hhbmdlZENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lciopOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446378</attachid>
            <date>2021-12-08 09:46:05 -0800</date>
            <delta_ts>2021-12-08 12:22:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233826-20211208094604.patch</filename>
            <type>text/plain</type>
            <size>12801</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NjQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmYxOThhNDk3MzRmYjFk
YmZlYzk4YmE0MDhhMTBkNDYwODQyYjVkMC4uNDljNzBjMmRhZjY0OGJkNTdjYTBkZTY4YmY1Mzgx
NWQ4YzMwZGI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTEyLTA4ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBGaWxsIGluIGNsaWVudC1uYW1lIHByb3BlcnR5IG9uIGF1ZGlvIHNpbmtzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4MjYKKworICAgICAgICBS
ZXZpZXdlZCBieSBYYWJpZXIgUm9kcmlndWV6LUNhbHZhci4KKworICAgICAgICBUaGUgYXVkaW8g
c2luayBjbGllbnQtbmFtZSBwcm9wZXJ0eSBpcyBub3cgc2V0IG9uIHNpbmtzIHRoYXQgc3VwcG9y
dCB0aGlzIHByb3BlcnR5LCBzdWNoIGFzCisgICAgICAgIHB1bHNlc2luayBhbmQgcGlwZXdpcmVz
aW5rLiBUaGlzIGlzIHBpY2tlZC11cCBieSBHTk9NRSBzZXR0aW5ncyBhbmQgdGhlIGNvcnJlc3Bv
bmRpbmcgYXVkaW8KKyAgICAgICAgc3RyZWFtcyBub3cgYXBwZWFyIGFzIG93bmVkIGJ5IHRoZSBX
ZWJLaXQgYXBwbGljYXRpb24gKE1pbmlCcm93c2VyLCBlcGh5LCBldGMpIGluc3RlYWQgb2YKKyAg
ICAgICAgIldlYktpdFdlYlByb2Nlc3MiLgorCisgICAgICAgIFdoZW4gdGhlIGF1ZGlvIG1peGVy
IGlzIGVuYWJsZWQsIG5vIG1lZGlhLnJvbGUgcHJvcGVydHkgaXMgc2V0LCBiZWNhdXNlIHRoZSBt
aXhlciBjYW4gYWNjZXB0CisgICAgICAgIG11c2ljIGFuZC9vciB2aWRlbyByb2xlcyBzaW11bHRh
bmVvdXNseSwgc28gaXQgZG9lc24ndCBtYWtlIHNlbnNlIGluIHRoaXMgY29udGV4dC4KKworICAg
ICAgICAqIHBsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXI6OkF1ZGlv
RGVzdGluYXRpb25HU3RyZWFtZXIpOiBEcml2ZS1ieSByZWZhY3RvcmluZywgdXNpbmcKKyAgICAg
ICAgYSBsYW1iZGEgaW5zdGVhZCBvZiBhIHN0YXRpYyBjYWxsYmFjayBmdW5jdGlvbi4KKyAgICAg
ICAgKFdlYkNvcmU6OmF1dG9BdWRpb1NpbmtDaGlsZEFkZGVkQ2FsbGJhY2spOiBEZWxldGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJBdWRpb01peGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdTdHJlYW1lckF1ZGlvTWl4ZXI6OkdTdHJlYW1lckF1
ZGlvTWl4ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFt
ZXJDb21tb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQXV0b0F1ZGlvU2luayk6Cisg
ICAgICAgIChXZWJDb3JlOjpjcmVhdGVQbGF0Zm9ybUF1ZGlvU2luayk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp+TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6Y3JlYXRlQXVkaW9TaW5rKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0QXVkaW9TdHJlYW1Qcm9wZXJ0aWVzQ2FsbGJhY2sp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpzZXRBdWRpb1N0cmVhbVByb3BlcnRpZXMpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaDoKKwogMjAy
MS0xMi0wOCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtNYWNDYXRhbHlzdF0gVmFyaW91cyBidWlsZCBmaXhlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3RyZWFt
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvRGVz
dGluYXRpb25HU3RyZWFtZXIuY3BwCmluZGV4IDI0OGYwYzA0ZTlhYjczNzNjYjI4ZTY3YzM4ZTQ5
ZWNlZGVlNjUzNmEuLjg2ZTJmY2NkYTE3MDMwMmVmNTc1MzhiOGU1YzM5NGE4YmMwZjRlZjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rl
c3RpbmF0aW9uR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9nc3RyZWFtZXIvQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lci5jcHAKQEAgLTkyLDEyICs5Miw2
IEBAIGdib29sZWFuIG1lc3NhZ2VDYWxsYmFjayhHc3RCdXMqLCBHc3RNZXNzYWdlKiBtZXNzYWdl
LCBBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyCiAgICAgcmV0dXJuIGRlc3RpbmF0aW9uLT5oYW5k
bGVNZXNzYWdlKG1lc3NhZ2UpOwogfQogCi1zdGF0aWMgdm9pZCBhdXRvQXVkaW9TaW5rQ2hpbGRB
ZGRlZENhbGxiYWNrKEdzdENoaWxkUHJveHkqLCBHT2JqZWN0KiBvYmplY3QsIGdjaGFyKiwgZ3Bv
aW50ZXIpCi17Ci0gICAgaWYgKEdTVF9JU19BVURJT19CQVNFX1NJTksob2JqZWN0KSkKLSAgICAg
ICAgZ19vYmplY3Rfc2V0KEdTVF9BVURJT19CQVNFX1NJTksob2JqZWN0KSwgImJ1ZmZlci10aW1l
Iiwgc3RhdGljX2Nhc3Q8Z2ludDY0PigxMDAwMDApLCBudWxscHRyKTsKLX0KLQogUmVmPEF1ZGlv
RGVzdGluYXRpb24+IEF1ZGlvRGVzdGluYXRpb246OmNyZWF0ZShBdWRpb0lPQ2FsbGJhY2smIGNh
bGxiYWNrLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCBudW1iZXJPZklucHV0Q2hhbm5lbHMsIHVu
c2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMsIGZsb2F0IHNhbXBsZVJhdGUpCiB7CiAgICAg
aW5pdGlhbGl6ZURlYnVnQ2F0ZWdvcnkoKTsKQEAgLTEzNSw3ICsxMjksNyBAQCBBdWRpb0Rlc3Rp
bmF0aW9uR1N0cmVhbWVyOjpBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyKEF1ZGlvSU9DYWxsYmFj
ayYgY2FsbGJhY2ssCiAgICAgbV9zcmMgPSBHU1RfRUxFTUVOVF9DQVNUKGdfb2JqZWN0X25ldyhX
RUJLSVRfVFlQRV9XRUJfQVVESU9fU1JDLCAicmF0ZSIsIHNhbXBsZVJhdGUsCiAgICAgICAgICJi
dXMiLCBtX3JlbmRlckJ1cy5nZXQoKSwgImRlc3RpbmF0aW9uIiwgdGhpcywgImZyYW1lcyIsIEF1
ZGlvVXRpbGl0aWVzOjpyZW5kZXJRdWFudHVtU2l6ZSwgbnVsbHB0cikpOwogCi0gICAgR1JlZlB0
cjxHc3RFbGVtZW50PiBhdWRpb1NpbmsgPSBjcmVhdGVQbGF0Zm9ybUF1ZGlvU2luaygpOworICAg
IEdSZWZQdHI8R3N0RWxlbWVudD4gYXVkaW9TaW5rID0gY3JlYXRlUGxhdGZvcm1BdWRpb1Npbmso
Im11c2ljIik7CiAgICAgbV9hdWRpb1NpbmtBdmFpbGFibGUgPSBhdWRpb1Npbms7CiAgICAgaWYg
KCFhdWRpb1NpbmspIHsKICAgICAgICAgR1NUX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIEdTdHJl
YW1lciBhdWRpbyBzaW5rIGVsZW1lbnQiKTsKQEAgLTE0NSw3ICsxMzksMTAgQEAgQXVkaW9EZXN0
aW5hdGlvbkdTdHJlYW1lcjo6QXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcihBdWRpb0lPQ2FsbGJh
Y2smIGNhbGxiYWNrLAogICAgIC8vIFByb2JlIHBsYXRmb3JtIGVhcmx5IG9uIGZvciBhIHdvcmtp
bmcgYXVkaW8gb3V0cHV0IGRldmljZS4gVGhpcyBpcyBub3QgbmVlZGVkIGZvciB0aGUgV2ViS2l0
CiAgICAgLy8gY3VzdG9tIGF1ZGlvIHNpbmsgYmVjYXVzZSBpdCBkb2Vzbid0IHJlbHkgb24gYXV0
b2F1ZGlvc2luay4KICAgICBpZiAoIVdFQktJVF9JU19BVURJT19TSU5LKGF1ZGlvU2luay5nZXQo
KSkpIHsKLSAgICAgICAgZ19zaWduYWxfY29ubmVjdChhdWRpb1NpbmsuZ2V0KCksICJjaGlsZC1h
ZGRlZCIsIEdfQ0FMTEJBQ0soYXV0b0F1ZGlvU2lua0NoaWxkQWRkZWRDYWxsYmFjayksIG51bGxw
dHIpOworICAgICAgICBnX3NpZ25hbF9jb25uZWN0KGF1ZGlvU2luay5nZXQoKSwgImNoaWxkLWFk
ZGVkIiwgR19DQUxMQkFDSygrW10oR3N0Q2hpbGRQcm94eSosIEdPYmplY3QqIG9iamVjdCwgZ2No
YXIqLCBncG9pbnRlcikgeworICAgICAgICAgICAgaWYgKEdTVF9JU19BVURJT19CQVNFX1NJTkso
b2JqZWN0KSkKKyAgICAgICAgICAgICAgICBnX29iamVjdF9zZXQoR1NUX0FVRElPX0JBU0VfU0lO
SyhvYmplY3QpLCAiYnVmZmVyLXRpbWUiLCBzdGF0aWNfY2FzdDxnaW50NjQ+KDEwMDAwMCksIG51
bGxwdHIpOworICAgICAgICB9KSwgbnVsbHB0cik7CiAKICAgICAgICAgLy8gQXV0b2F1ZGlvc2lu
ayBkb2VzIHRoZSByZWFsIHNpbmsgZGV0ZWN0aW9uIGluIHRoZSBHU1RfU1RBVEVfTlVMTC0+UkVB
RFkgdHJhbnNpdGlvbgogICAgICAgICAvLyBzbyBpdCdzIGJlc3QgdG8gcm9sbCBpdCB0byBSRUFE
WSBhcyBzb29uIGFzIHBvc3NpYmxlIHRvIGVuc3VyZSB0aGUgdW5kZXJseWluZyBwbGF0Zm9ybQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dT
dHJlYW1lckF1ZGlvTWl4ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL0dTdHJlYW1lckF1ZGlvTWl4ZXIuY3BwCmluZGV4IDU4NDMxZDAzYzI0MjIwNTc1
MTIyOTBmYTk5NzdhZDllMDlhNDBmYTMuLjZmMmY2N2JiNzA0ODk4NDBlMjRkZjkyODIxZmMzMWFi
NjBhYzY4MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9HU3RyZWFtZXJBdWRpb01peGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQXVkaW9NaXhlci5jcHAKQEAgLTQ4LDcg
KzQ4LDcgQEAgR1N0cmVhbWVyQXVkaW9NaXhlcjo6R1N0cmVhbWVyQXVkaW9NaXhlcigpCiAgICAg
Y29ubmVjdFNpbXBsZUJ1c01lc3NhZ2VDYWxsYmFjayhtX3BpcGVsaW5lLmdldCgpKTsKIAogICAg
IG1fbWl4ZXIgPSBtYWtlR1N0cmVhbWVyRWxlbWVudCgiYXVkaW9taXhlciIsIG51bGxwdHIpOwot
ICAgIEdzdEVsZW1lbnQqIGF1ZGlvU2luayA9IG1ha2VHU3RyZWFtZXJFbGVtZW50KCJhdXRvYXVk
aW9zaW5rIiwgbnVsbHB0cik7CisgICAgYXV0byogYXVkaW9TaW5rID0gY3JlYXRlQXV0b0F1ZGlv
U2luayh7IH0pOwogCiAgICAgZ3N0X2Jpbl9hZGRfbWFueShHU1RfQklOX0NBU1QobV9waXBlbGlu
ZS5nZXQoKSksIG1fbWl4ZXIuZ2V0KCksIGF1ZGlvU2luaywgbnVsbHB0cik7CiAgICAgZ3N0X2Vs
ZW1lbnRfbGluayhtX21peGVyLmdldCgpLCBhdWRpb1NpbmspOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lckNvbW1vbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29t
bW9uLmNwcAppbmRleCAwMTYwNWZjOTE0OTdlNDYyYmEwNzczMDQ3OGU4NGE4NTUxZTY3MjNmLi5j
ZGVkNGE2MGI1MGJiYmFlYTViODQ1YmRlZmJiNjg2ZmUyNTI1OTMzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVh
bWVyQ29tbW9uLmNwcApAQCAtMjMsOCArMjMsMTAgQEAKIAogI2lmIFVTRShHU1RSRUFNRVIpCiAK
KyNpbmNsdWRlICJBcHBsaWNhdGlvbkdMaWIuaCIKICNpbmNsdWRlICJHTFZpZGVvU2lua0dTdHJl
YW1lci5oIgogI2luY2x1ZGUgIkdTdHJlYW1lckF1ZGlvTWl4ZXIuaCIKKyNpbmNsdWRlICJHVW5p
cXVlUHRyR1N0cmVhbWVyLmgiCiAjaW5jbHVkZSAiR3N0QWxsb2NhdG9yRmFzdE1hbGxvYy5oIgog
I2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJSdW50aW1lQXBwbGljYXRpb25DaGVja3Mu
aCIKQEAgLTQ0MCw3ICs0NDIsMjYgQEAgYm9vbCBnc3RFbGVtZW50RmFjdG9yeUVxdWFscyhHc3RF
bGVtZW50KiBlbGVtZW50LCBjb25zdCBjaGFyKiBuYW1lKQogICAgIHJldHVybiBlcXVhbChHU1Rf
T0JKRUNUX05BTUUoZ3N0X2VsZW1lbnRfZ2V0X2ZhY3RvcnkoZWxlbWVudCkpLCBuYW1lKTsKIH0K
IAotR3N0RWxlbWVudCogY3JlYXRlUGxhdGZvcm1BdWRpb1NpbmsoKQorR3N0RWxlbWVudCogY3Jl
YXRlQXV0b0F1ZGlvU2luayhjb25zdCBTdHJpbmcmIHJvbGUpCit7CisgICAgYXV0byogYXVkaW9T
aW5rID0gbWFrZUdTdHJlYW1lckVsZW1lbnQoImF1dG9hdWRpb3NpbmsiLCBudWxscHRyKTsKKyAg
ICBnX3NpZ25hbF9jb25uZWN0X2RhdGEoYXVkaW9TaW5rLCAiY2hpbGQtYWRkZWQiLCBHX0NBTExC
QUNLKCtbXShHc3RDaGlsZFByb3h5KiwgR09iamVjdCogb2JqZWN0LCBnY2hhciosIGdwb2ludGVy
IHVzZXJEYXRhKSB7CisgICAgICAgIGF1dG8qIHJvbGUgPSByZWludGVycHJldF9jYXN0PFN0cmlu
Z0ltcGwqPih1c2VyRGF0YSk7CisgICAgICAgIGF1dG8qIG9iamVjdENsYXNzID0gR19PQkpFQ1Rf
R0VUX0NMQVNTKG9iamVjdCk7CisgICAgICAgIGlmIChyb2xlICYmIGdfb2JqZWN0X2NsYXNzX2Zp
bmRfcHJvcGVydHkob2JqZWN0Q2xhc3MsICJzdHJlYW0tcHJvcGVydGllcyIpKSB7CisgICAgICAg
ICAgICBHVW5pcXVlUHRyPEdzdFN0cnVjdHVyZT4gcHJvcGVydGllcyhnc3Rfc3RydWN0dXJlX25l
dygic3RyZWFtLXByb3BlcnRpZXMiLCAibWVkaWEucm9sZSIsIEdfVFlQRV9TVFJJTkcsIHJvbGUt
PnV0ZjgoKS5kYXRhKCksIG51bGxwdHIpKTsKKyAgICAgICAgICAgIGdfb2JqZWN0X3NldChvYmpl
Y3QsICJzdHJlYW0tcHJvcGVydGllcyIsIHByb3BlcnRpZXMuZ2V0KCksIG51bGxwdHIpOworICAg
ICAgICAgICAgR1NUX0RFQlVHKCJTZXQgbWVkaWEucm9sZSBhcyAlcyBvbiAlIiBHU1RfUFRSX0ZP
Uk1BVCwgcm9sZS0+dXRmOCgpLmRhdGEoKSwgR1NUX0VMRU1FTlRfQ0FTVChvYmplY3QpKTsKKyAg
ICAgICAgfQorICAgICAgICBpZiAoZ19vYmplY3RfY2xhc3NfZmluZF9wcm9wZXJ0eShvYmplY3RD
bGFzcywgImNsaWVudC1uYW1lIikpCisgICAgICAgICAgICBnX29iamVjdF9zZXQob2JqZWN0LCAi
Y2xpZW50LW5hbWUiLCBnZXRBcHBsaWNhdGlvbk5hbWUoKSwgbnVsbHB0cik7CisgICAgfSksIHJv
bGUuaXNvbGF0ZWRDb3B5KCkucmVsZWFzZUltcGwoKS5sZWFrUmVmKCksIHN0YXRpY19jYXN0PEdD
bG9zdXJlTm90aWZ5PihbXShncG9pbnRlciB1c2VyRGF0YSwgR0Nsb3N1cmUqKSB7CisgICAgICAg
IHJlaW50ZXJwcmV0X2Nhc3Q8U3RyaW5nSW1wbCo+KHVzZXJEYXRhKS0+ZGVyZWYoKTsKKyAgICB9
KSwgc3RhdGljX2Nhc3Q8R0Nvbm5lY3RGbGFncz4oMCkpOworICAgIHJldHVybiBhdWRpb1Npbms7
Cit9CisKK0dzdEVsZW1lbnQqIGNyZWF0ZVBsYXRmb3JtQXVkaW9TaW5rKGNvbnN0IFN0cmluZyYg
cm9sZSkKIHsKICAgICBHc3RFbGVtZW50KiBhdWRpb1NpbmsgPSB3ZWJraXRBdWRpb1NpbmtOZXco
KTsKICAgICBpZiAoIWF1ZGlvU2luaykgewpAQCAtNDUwLDcgKzQ3MSw3IEBAIEdzdEVsZW1lbnQq
IGNyZWF0ZVBsYXRmb3JtQXVkaW9TaW5rKCkKICAgICAgICAgLy8gICBydW50aW1lIHJlcXVpcmVt
ZW50cyBhcmUgbm90IGZ1bGxmaWxsZWQuCiAgICAgICAgIC8vIC0gdGhlIHNpbmsgd2FzIGNyZWF0
ZWQgZm9yIHRoZSBXUEUgcG9ydCwgYXVkaW8gbWl4aW5nIHdhcyBub3QgcmVxdWVzdGVkIGFuZCBu
bwogICAgICAgICAvLyAgIFdQRUJhY2tlbmQtRkRPIGF1ZGlvIHJlY2VpdmVyIGhhcyBiZWVuIHJl
Z2lzdGVyZWQgYXQgcnVudGltZS4KLSAgICAgICAgYXVkaW9TaW5rID0gbWFrZUdTdHJlYW1lckVs
ZW1lbnQoImF1dG9hdWRpb3NpbmsiLCBudWxscHRyKTsKKyAgICAgICAgYXVkaW9TaW5rID0gY3Jl
YXRlQXV0b0F1ZGlvU2luayhyb2xlKTsKICAgICB9CiAKICAgICByZXR1cm4gYXVkaW9TaW5rOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dT
dHJlYW1lckNvbW1vbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL0dTdHJlYW1lckNvbW1vbi5oCmluZGV4IGJiYjhjMTM5NmYwMDNkNjQyNjg4OTc5YTY4NGM2
NjFiMWNiODcxYmUuLmQ4MmNkM2UxOGVjZTA0NzYxZDZhZDRlYzJkNTJlMmFkOWRjMzg0NjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3Ry
ZWFtZXJDb21tb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvR1N0cmVhbWVyQ29tbW9uLmgKQEAgLTMwNiw3ICszMDYsOCBAQCBlbnVtIGNsYXNzIEdz
dFZpZGVvRGVjb2RlclBsYXRmb3JtIHsgSW14VlBVLCBWaWRlbzRMaW51eCwgT3Blbk1BWCB9Owog
Ym9vbCBpc0dTdHJlYW1lclBsdWdpbkF2YWlsYWJsZShjb25zdCBjaGFyKiBuYW1lKTsKIGJvb2wg
Z3N0RWxlbWVudEZhY3RvcnlFcXVhbHMoR3N0RWxlbWVudCosIGNvbnN0IGNoYXIqIG5hbWUpOwog
Ci1Hc3RFbGVtZW50KiBjcmVhdGVQbGF0Zm9ybUF1ZGlvU2luaygpOworR3N0RWxlbWVudCogY3Jl
YXRlQXV0b0F1ZGlvU2luayhjb25zdCBTdHJpbmcmIHJvbGUpOworR3N0RWxlbWVudCogY3JlYXRl
UGxhdGZvcm1BdWRpb1NpbmsoY29uc3QgU3RyaW5nJiByb2xlKTsKIAogYm9vbCB3ZWJraXRHc3RT
ZXRFbGVtZW50U3RhdGVTeW5jaHJvbm91c2x5KEdzdEVsZW1lbnQqLCBHc3RTdGF0ZSwgRnVuY3Rp
b248Ym9vbChHc3RNZXNzYWdlKik+JiYgPSBbXShHc3RNZXNzYWdlKikgLT4gYm9vbCB7CiAgICAg
cmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuY3BwCmluZGV4IDc5Nzk0ODBmOTFjNTk3YWE5ZjkwMDk3YzE4ODMyYzZhMTVjMzJjZTguLmNi
YjQ5ZDE3MzYyZjcxMmQyNWRmZTgyNGRmYzFjMzgxYTVkYTAyOTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0yMDAsMTAgKzIwMCw2IEBA
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6fk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cigpCiAgICAgaWYgKG1fZmlsbFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fZmlsbFRpbWVy
LnN0b3AoKTsKIAotICAgIGF1dG8qIHNpbmsgPSBhdWRpb1NpbmsoKTsKLSAgICBpZiAoc2luayAm
JiAhV0VCS0lUX0lTX0FVRElPX1NJTksoc2luaykpCi0gICAgICAgIGdfc2lnbmFsX2hhbmRsZXJz
X2Rpc2Nvbm5lY3RfYnlfZnVuYyhHX09CSkVDVChzaW5rKSwgcmVpbnRlcnByZXRfY2FzdDxncG9p
bnRlcj4oc2V0QXVkaW9TdHJlYW1Qcm9wZXJ0aWVzQ2FsbGJhY2spLCB0aGlzKTsKLQogICAgIG1f
cmVhZHlUaW1lckhhbmRsZXIuc3RvcCgpOwogICAgIGZvciAoYXV0byYgbWlzc2luZ1BsdWdpbkNh
bGxiYWNrIDogbV9taXNzaW5nUGx1Z2luQ2FsbGJhY2tzKSB7CiAgICAgICAgIGlmIChtaXNzaW5n
UGx1Z2luQ2FsbGJhY2spCkBAIC04ODQsMjMgKzg4MCw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpzb3VyY2VTZXR1cChHc3RFbGVtZW50KiBzb3VyY2VFbGVtZW50KQogICAg
IH0KIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldEF1ZGlvU3RyZWFt
UHJvcGVydGllc0NhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lciogcGxheWVyLCBH
T2JqZWN0KiBvYmplY3QpCi17Ci0gICAgcGxheWVyLT5zZXRBdWRpb1N0cmVhbVByb3BlcnRpZXMo
b2JqZWN0KTsKLX0KLQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldEF1ZGlv
U3RyZWFtUHJvcGVydGllcyhHT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgaWYgKGdfc3RyY21wMChH
X09CSkVDVF9UWVBFX05BTUUob2JqZWN0KSwgIkdzdFB1bHNlU2luayIpKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBjb25zdCBjaGFyKiByb2xlID0gbV9wbGF5ZXItPmlzVmlkZW9QbGF5ZXIoKSA/
ICJ2aWRlbyIgOiAibXVzaWMiOwotICAgIEdVbmlxdWVQdHI8R3N0U3RydWN0dXJlPiBwcm9wZXJ0
aWVzKGdzdF9zdHJ1Y3R1cmVfbmV3KCJzdHJlYW0tcHJvcGVydGllcyIsICJtZWRpYS5yb2xlIiwg
R19UWVBFX1NUUklORywgcm9sZSwgbnVsbHB0cikpOwotICAgIGdfb2JqZWN0X3NldChvYmplY3Qs
ICJzdHJlYW0tcHJvcGVydGllcyIsIHByb3BlcnRpZXMuZ2V0KCksIG51bGxwdHIpOwotICAgIEdV
bmlxdWVQdHI8Z2NoYXI+IGVsZW1lbnROYW1lKGdzdF9lbGVtZW50X2dldF9uYW1lKEdTVF9FTEVN
RU5UKG9iamVjdCkpKTsKLSAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJTZXQgbWVk
aWEucm9sZSBhcyAlcyBhdCAlcyIsIHJvbGUsIGVsZW1lbnROYW1lLmdldCgpKTsKLX0KLQogdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNvdXJjZVNldHVwQ2FsbGJhY2soTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyKiBwbGF5ZXIsIEdzdEVsZW1lbnQqIHNvdXJjZUVsZW1lbnQp
CiB7CiAgICAgcGxheWVyLT5zb3VyY2VTZXR1cChzb3VyY2VFbGVtZW50KTsKQEAgLTEyNDksMTQg
KzEyMjgsMTIgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmxvYWRpbmdGYWls
ZWQoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSBuZXR3b3IKIAogR3N0RWxlbWVudCogTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGVBdWRpb1NpbmsoKQogewotICAgIEdzdEVsZW1l
bnQqIGF1ZGlvU2luayA9IGNyZWF0ZVBsYXRmb3JtQXVkaW9TaW5rKCk7CisgICAgY29uc3QgY2hh
ciogcm9sZSA9IG1fcGxheWVyLT5pc1ZpZGVvUGxheWVyKCkgPyAidmlkZW8iIDogIm11c2ljIjsK
KyAgICBHc3RFbGVtZW50KiBhdWRpb1NpbmsgPSBjcmVhdGVQbGF0Zm9ybUF1ZGlvU2luayhyb2xl
KTsKICAgICBSRUxFQVNFX0FTU0VSVChhdWRpb1NpbmspOwogICAgIGlmICghYXVkaW9TaW5rKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIGlmICghV0VCS0lUX0lTX0FVRElPX1NJTkso
YXVkaW9TaW5rKSkKLSAgICAgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKGF1ZGlvU2luaywg
ImNoaWxkLWFkZGVkIiwgR19DQUxMQkFDSyhzZXRBdWRpb1N0cmVhbVByb3BlcnRpZXNDYWxsYmFj
ayksIHRoaXMpOwotCiAjaWYgRU5BQkxFKFdFQl9BVURJTykKICAgICBHc3RFbGVtZW50KiBhdWRp
b1NpbmtCaW4gPSBnc3RfYmluX25ldygiYXVkaW8tc2luayIpOwogICAgIGVuc3VyZUF1ZGlvU291
cmNlUHJvdmlkZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuaAppbmRleCAyMTQ3NzZhMzBkODdiMGE2NDRhOTVlOTNiM2FkYjdmODI1OTViYWM4Li5lMzgw
NzViMmZjMjZkOTQzYmY5YTAwNjU0MzNjN2JiYWFlNWUwNjIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC0zMDQsMTMgKzMwNCwxMCBAQCBwcm90
ZWN0ZWQ6CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyYWNrUHJpdmF0ZVR5cGU+IHZvaWQgbm90
aWZ5UGxheWVyT2ZUcmFjaygpOwogCiAgICAgdm9pZCBlbnN1cmVBdWRpb1NvdXJjZVByb3ZpZGVy
KCk7Ci0gICAgdm9pZCBzZXRBdWRpb1N0cmVhbVByb3BlcnRpZXMoR09iamVjdCopOwogCiAgICAg
dmlydHVhbCBib29sIGRvU2Vlayhjb25zdCBNZWRpYVRpbWUmIHBvc2l0aW9uLCBmbG9hdCByYXRl
LCBHc3RTZWVrRmxhZ3MpOwogICAgIHZvaWQgaW52YWxpZGF0ZUNhY2hlZFBvc2l0aW9uKCkgY29u
c3Q7CiAKLSAgICBzdGF0aWMgdm9pZCBzZXRBdWRpb1N0cmVhbVByb3BlcnRpZXNDYWxsYmFjayhN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIqLCBHT2JqZWN0Kik7Ci0KICAgICBzdGF0aWMgdm9p
ZCBzb3VyY2VTZXR1cENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lciosIEdzdEVs
ZW1lbnQqKTsKICAgICBzdGF0aWMgdm9pZCB2aWRlb0NoYW5nZWRDYWxsYmFjayhNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXIqKTsKICAgICBzdGF0aWMgdm9pZCBhdWRpb0NoYW5nZWRDYWxsYmFj
ayhNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIqKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>