<?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>214544</bug_id>
          
          <creation_ts>2020-07-20 01:18:37 -0700</creation_ts>
          <short_desc>WIP: [GStreamer][GPUProcess] enable GPUProcess through envvar</short_desc>
          <delta_ts>2021-03-13 20:26:01 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=221883</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=223155</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Víctor M. Jáquez L.">vjaquez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>pnormand</cc>
    
    <cc>vjaquez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1672997</commentid>
    <comment_count>0</comment_count>
      <attachid>404700</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-07-20 01:18:37 -0700</bug_when>
    <thetext>Created attachment 404700
Patch for GPUProcess enabling

This is just a RFC of how to enable GPUProcess in webkitgtk/wpe.

Is this approach correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673002</commentid>
    <comment_count>1</comment_count>
      <attachid>404700</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-20 01:39:57 -0700</bug_when>
    <thetext>Comment on attachment 404700
Patch for GPUProcess enabling

I don&apos;t think we want to expose a setting in the API for this. Should the user decide about this and in a per web view basis?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673005</commentid>
    <comment_count>2</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-07-20 01:56:56 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #1)
&gt; Comment on attachment 404700 [details]
&gt; Patch for GPUProcess enabling
&gt; 
&gt; I don&apos;t think we want to expose a setting in the API for this. Should the
&gt; user decide about this and in a per web view basis?

As far as I understand Mac code, it is decided by the user 
https://github.com/WebKit/webkit/blob/master/Source/WebKitLegacy/mac/WebView/WebView.mm#L3411

And, even it is configured per web view, it looks like a global thing.


Also, I wonder if I should approach to use Pipewire for capture devices in GPUProcess rather than GStreamer as it is now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673010</commentid>
    <comment_count>3</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-07-20 02:18:08 -0700</bug_when>
    <thetext>(In reply to Víctor M. Jáquez L. from comment #2)
&gt; Also, I wonder if I should approach to use Pipewire for capture devices in
&gt; GPUProcess rather than GStreamer as it is now.

Phil commented it&apos;s too early to migrate to pipewire, in his opinion, since we need a very recent xdg-desktop-portal + working pipewire 0.3 daemon on the host, and in the SDK the versions used at too old currently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673016</commentid>
    <comment_count>4</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-07-20 02:53:01 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #1)
&gt; Comment on attachment 404700 [details]
&gt; Patch for GPUProcess enabling
&gt; 
&gt; I don&apos;t think we want to expose a setting in the API for this.

Which other mechanisms do we have for handling these optional settings?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673019</commentid>
    <comment_count>5</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-20 03:10:47 -0700</bug_when>
    <thetext>Maybe instead of a setting you could enable the GPU process only when mediastream is being enabled? Because for the time being my understanding is that this process will be used only for capture devices in WPE/GTK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673069</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-20 07:37:27 -0700</bug_when>
    <thetext>Right, I need to understand what the gpu process is for to answer the question. If the gpu process will handle all media eventually, (like network process handles networking) and we want a setting because it&apos;s not complete yet, then I don&apos;t think we want to expose a setting to decide, we can use internal API in WebProcessPool and use an env var or whatever to enable/disable it. If it&apos;s something the user really has to decide, then the user need to understand what the gpu process is to, know whether to enable it or not and when. If it&apos;s a global setting, it fits better as WebKitWebContext API, not a setting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674159</commentid>
    <comment_count>7</comment_count>
      <attachid>405031</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-07-23 03:45:38 -0700</bug_when>
    <thetext>Created attachment 405031
WIP: enable GPUProcess capture devices with envvar

This is another approach, using a environment variable, but not WebProcessPool, but in WebPreferencesDefaultValues.

This approach indeed enables the GPUProcess, and surprisingly, the camera stream is processed, though it does not live in the GPUProces but in the old WebProcess :(

Does this approach is more acceptable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674161</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-23 03:51:10 -0700</bug_when>
    <thetext>Yes, but it&apos;s not at the right place. Check the env vars in WebPreferences::platformInitializeStore() (in WebPreferencesGtk.cpp and you will have to add one for WPE) and just set the appropriate value for the preferences according to the env var.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677956</commentid>
    <comment_count>9</comment_count>
      <attachid>406007</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-08-05 09:26:46 -0700</bug_when>
    <thetext>Created attachment 406007
WIP: a mechanism to enable the GPUProcess with an envvar

I think this approach is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678212</commentid>
    <comment_count>10</comment_count>
      <attachid>406007</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-08-06 01:11:12 -0700</bug_when>
    <thetext>Comment on attachment 406007
WIP: a mechanism to enable the GPUProcess with an envvar

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

&gt; Source/WebKit/UIProcess/wpe/WebPreferencesWPE.cpp:33
&gt; +    bool webrtcEnableGPUProcess = (std::getenv(&quot;WEBKIT_WEBRTC_ENABLE_GPU_PROCESS&quot;) != nullptr);

Perhaps check the env var contents too?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404700</attachid>
            <date>2020-07-20 01:18:37 -0700</date>
            <delta_ts>2020-07-23 03:41:01 -0700</delta_ts>
            <desc>Patch for GPUProcess enabling</desc>
            <filename>Patch</filename>
            <type>text/plain</type>
            <size>9279</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">RnJvbSA3ZTA2MWNiNTRlMTUwMDY0MDMzYWQ3N2NhNWJiMWMxNDk0YTQ0MmE3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Vj1DMz1BRGN0b3I9MjBNYW51ZWw9MjBKPUMz
PUExcXVlej0yMExlYWw/PQogPHZqYXF1ZXpAaWdhbGlhLmNvbT4KRGF0ZTogVGh1LCAxNiBKdWwg
MjAyMCAxNzowMjowNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggeHNlcnZlcl0gQWRkCiB3ZWJraXRf
c2V0dGluZ3NfZ2V0L3NldF91c2VfZ3B1X3Byb2Nlc3NfZm9yX21lZGlhKCkKCi0tLQogLi4uL2dz
dHJlYW1lci9HUFVQcm9jZXNzTWFpbkdTdHJlYW1lci5jcHAgICAgIHwgIDMgKy0KIC4uLi9VSVBy
b2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwICAgICB8IDYyICsrKysrKysrKysrKysr
KysrKysKIC4uLi9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaCB8ICA3
ICsrKwogLi4uL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQgIHwgIDIg
KwogLi4uL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRTZXR0aW5ncy5oIHwgIDcgKysr
CiAuLi4vQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0ICAgICAgICAgfCAgMiArCiAu
Li4vVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2ViS2l0U2V0dGluZ3MuY3BwICAgfCAgNSArKwogNyBm
aWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dzdHJlYW1lci9HUFVQcm9jZXNzTWFpbkdTdHJl
YW1lci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVyL0dQVVByb2Nlc3NN
YWluR1N0cmVhbWVyLmNwcAppbmRleCAxNTVhYjZlODhmNS4uOWY3MGI1M2M3ZjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJvY2Vzc01haW5HU3Ry
ZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJv
Y2Vzc01haW5HU3RyZWFtZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBdXhp
bGlhcnlQcm9jZXNzTWFpbi5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3MuaCIKKyNpbmNsdWRlIDxX
ZWJDb3JlL0dTdHJlYW1lckNvbW1vbi5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMzks
NyArNDAsNyBAQCBjbGFzcyBHUFVQcm9jZXNzTWFpbkdTdHJlYW1lciBmaW5hbDogcHVibGljIEF1
eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6CiAgICAgYm9vbCBwbGF0Zm9ybUluaXRp
YWxpemUoKSBvdmVycmlkZQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJl
dHVybiBpbml0aWFsaXplR1N0cmVhbWVyICgpOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcAppbmRleCA2ZjUx
Yzg1YzVlNS4uYmUzMzRlMWM5NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHAKQEAgLTE3Miw2ICsxNzIsNyBAQCBlbnVtIHsK
ICAgICBQUk9QX0VOQUJMRV9KQVZBU0NSSVBUX01BUktVUCwKICAgICBQUk9QX0VOQUJMRV9NRURJ
QSwKICAgICBQUk9QX01FRElBX0NPTlRFTlRfVFlQRVNfUkVRVUlSSU5HX0hBUkRXQVJFX1NVUFBP
UlQsCisgICAgUFJPUF9VU0VfR1BVX1BST0NFU1NfRk9SX01FRElBLAogfTsKIAogc3RhdGljIHZv
aWQgd2ViS2l0U2V0dGluZ3NEaXNwb3NlKEdPYmplY3QqIG9iamVjdCkKQEAgLTQwNSw2ICs0MDYs
OSBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRTZXR0aW5nc1NldFByb3BlcnR5KEdPYmplY3QqIG9iamVj
dCwgZ3VpbnQgcHJvcElkLCBjb25zdCBHVmFsdQogICAgIGNhc2UgUFJPUF9NRURJQV9DT05URU5U
X1RZUEVTX1JFUVVJUklOR19IQVJEV0FSRV9TVVBQT1JUOgogICAgICAgICB3ZWJraXRfc2V0dGlu
Z3Nfc2V0X21lZGlhX2NvbnRlbnRfdHlwZXNfcmVxdWlyaW5nX2hhcmR3YXJlX3N1cHBvcnQoc2V0
dGluZ3MsIGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkpOwogICAgICAgICBicmVhazsKKyAgICBj
YXNlIFBST1BfVVNFX0dQVV9QUk9DRVNTX0ZPUl9NRURJQToKKyAgICAgICAgd2Via2l0X3NldHRp
bmdzX3NldF91c2VfZ3B1X3Byb2Nlc3NfZm9yX21lZGlhKHNldHRpbmdzLCBnX3ZhbHVlX2dldF9i
b29sZWFuKHZhbHVlKSk7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdf
T0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BJZCwgcGFyYW1TcGVj
KTsKICAgICAgICAgYnJlYWs7CkBAIC01OTksNiArNjAzLDkgQEAgc3RhdGljIHZvaWQgd2ViS2l0
U2V0dGluZ3NHZXRQcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgR1ZhbHVl
KiB2YWwKICAgICBjYXNlIFBST1BfTUVESUFfQ09OVEVOVF9UWVBFU19SRVFVSVJJTkdfSEFSRFdB
UkVfU1VQUE9SVDoKICAgICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nKHZhbHVlLCB3ZWJraXRfc2V0
dGluZ3NfZ2V0X21lZGlhX2NvbnRlbnRfdHlwZXNfcmVxdWlyaW5nX2hhcmR3YXJlX3N1cHBvcnQo
c2V0dGluZ3MpKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX1VTRV9HUFVfUFJPQ0VT
U19GT1JfTUVESUE6CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHdlYmtpdF9z
ZXR0aW5nc19nZXRfdXNlX2dwdV9wcm9jZXNzX2Zvcl9tZWRpYShzZXR0aW5ncykpOworICAgICAg
ICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJP
UEVSVFlfSUQob2JqZWN0LCBwcm9wSWQsIHBhcmFtU3BlYyk7CiAgICAgICAgIGJyZWFrOwpAQCAt
MTU2MSw2ICsxNTY4LDIxIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9zZXR0aW5nc19jbGFzc19pbml0
KFdlYktpdFNldHRpbmdzQ2xhc3MqIGtsYXNzKQogICAgICAgICAgICAgXygiTGlzdCBvZiBtZWRp
YSBjb250ZW50IHR5cGVzIHJlcXVpcmluZyBoYXJkd2FyZSBzdXBwb3J0LiIpLAogICAgICAgICAg
ICAgbnVsbHB0ciwgLy8gQSBudWxsIHN0cmluZyBmb3JjZXMgdGhlIGRlZmF1bHQgdmFsdWUuCiAg
ICAgICAgICAgICByZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdzKSk7CisKKyAgICAvKioKKyAg
ICAgKiBXZWJLaXRTZXR0aW5nczp1c2UtZ3B1LXByb2Nlc3MtZm9yLW1lZGlhOgorICAgICAqCisg
ICAgICogRG8gYWxsIG1lZGlhIGxvYWRpbmcgYW5kIHBsYXliYWNrIGluIHRoZSBHUFUgUHJvY2Vz
cy4KKyAgICAgKgorICAgICAqIFNpbmNlOiAyLjMwCisgICAgICovCisgICAgZ19vYmplY3RfY2xh
c3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfVVNFX0dQVV9Q
Uk9DRVNTX0ZPUl9NRURJQSwKKyAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4oInVzZS1ncHUt
cHJvY2Vzcy1mb3ItbWVkaWEiLAorICAgICAgICAgICAgXygiVXNlIEdQVSBQcm9jZXNzIGZvciBt
ZWRpYSIpLAorICAgICAgICAgICAgXygiV2hldGhlciB1c2UgR1BVIHByb2Nlc3MgZm9yIG1lZGlh
IGxvYWRpbmcgYW5kIHBsYXliYWNrIiksCisgICAgICAgICAgICBGQUxTRSwKKyAgICAgICAgICAg
IHJlYWRXcml0ZUNvbnN0cnVjdFBhcmFtRmxhZ3MpKTsKIH0KIAogV2ViUHJlZmVyZW5jZXMqIHdl
YmtpdFNldHRpbmdzR2V0UHJlZmVyZW5jZXMoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQpAQCAt
Mzg3NCwzICszODk2LDQzIEBAIHZvaWQgd2Via2l0X3NldHRpbmdzX3NldF9tZWRpYV9jb250ZW50
X3R5cGVzX3JlcXVpcmluZ19oYXJkd2FyZV9zdXBwb3J0KFdlYktpdFNlCiAgICAgcHJpdi0+bWVk
aWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQgPSBtZWRpYUNvbnRlbnRUeXBl
c1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydFN0cmluZy51dGY4KCk7CiAgICAgZ19vYmplY3Rfbm90
aWZ5KEdfT0JKRUNUKHNldHRpbmdzKSwgIm1lZGlhLWNvbnRlbnQtdHlwZXMtcmVxdWlyaW5nLWhh
cmR3YXJlLXN1cHBvcnQiKTsKIH0KKworLyoqCisgKiB3ZWJraXRfc2V0dGluZ3NfZ2V0X3VzZV9n
cHVfcHJvY2Vzc19mb3JfbWVkaWE6CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisg
KgorICogSWYgdGhlIHVzZSBvZiBHUFUgUHJvY2VzcyBmb3IgbWVkaWEgbG9hZGluZyBhbmQgcGxh
eWJhY2suCisgKgorICogUmV0dXJuczogJVRSVUUgaWYgR1BVIHByb2Nlc3MgZm9yIG1lZGlhIGlz
IHVzZWQgb3IgJUZBTFNFIG90aGVyd2lzZS4KKyAqCisgKiBTaW5jZTogMi4zMAorICovCitnYm9v
bGVhbiB3ZWJraXRfc2V0dGluZ3NfZ2V0X3VzZV9ncHVfcHJvY2Vzc19mb3JfbWVkaWEoV2ViS2l0
U2V0dGluZ3MqIHNldHRpbmdzKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9J
U19TRVRUSU5HUyhzZXR0aW5ncyksIEZBTFNFKTsKKworICAgIFdlYktpdFNldHRpbmdzUHJpdmF0
ZSogcHJpdiA9IHNldHRpbmdzLT5wcml2OworICAgIHJldHVybiBwcml2LT5wcmVmZXJlbmNlcy0+
dXNlR1BVUHJvY2Vzc0Zvck1lZGlhKCk7Cit9CisKKy8qKgorICogd2Via2l0X3NldHRpbmdzX3Nl
dF91c2VfZ3B1X3Byb2Nlc3NfZm9yX21lZGlhOgorICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0
aW5ncworICogQGVuYWJsZWQ6IFZhbHVlIHRvIGJlIHNldAorICoKKyAqIEVuYWJsZSB0aGUgdXNl
IG9mIEdQVSBQcm9jZXNzIGZvciBtZWRpYSBsb2FkaW5nIGFuZCBwbGF5YmFjay4KKyAqCisgKiBT
aW5jZTogMi4zMAorICovCit2b2lkIHdlYmtpdF9zZXR0aW5nc19zZXRfdXNlX2dwdV9wcm9jZXNz
X2Zvcl9tZWRpYShXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsIGdib29sZWFuIGVuYWJsZWQpCit7
CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpKTsKKwor
ICAgIFdlYktpdFNldHRpbmdzUHJpdmF0ZSogcHJpdiA9IHNldHRpbmdzLT5wcml2OworICAgIGJv
b2wgY3VycmVudFZhbHVlID0gcHJpdi0+cHJlZmVyZW5jZXMtPnVzZUdQVVByb2Nlc3NGb3JNZWRp
YSgpOworICAgIGlmIChjdXJyZW50VmFsdWUgPT0gZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgcHJpdi0+cHJlZmVyZW5jZXMtPnNldFVzZUdQVVByb2Nlc3NGb3JNZWRpYShlbmFibGVk
KTsKKyAgICBnX29iamVjdF9ub3RpZnkoR19PQkpFQ1Qoc2V0dGluZ3MpLCAidXNlLWdwdS1wcm9j
ZXNzLWZvci1tZWRpYSIpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRTZXR0aW5ncy5oCmluZGV4IDYzYWE4YmIzNzA0Li4yZGMyZWRhZmY5MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaApAQCAt
NTEzLDYgKzUxMywxMyBAQCBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF9zZXR0aW5nc19zZXRfbWVk
aWFfY29udGVudF90eXBlc19yZXF1aXJpbmdfaGFyZHdhcmVfc3VwcG9ydCAoV2ViS2l0U2V0dGlu
Z3MgKnNldHRpbmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAqY29udGVudF90eXBlcyk7CiAK
K1dFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF9zZXR0aW5nc19nZXRfdXNlX2dwdV9wcm9jZXNz
X2Zvcl9tZWRpYSAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MpOwor
CitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9zZXR0aW5nc19zZXRfdXNlX2dwdV9wcm9jZXNzX2Zv
cl9tZWRpYSAgICAgICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ2Jvb2xlYW4gICAgICAgIGVuYWJsZWQpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYgLyog
V2ViS2l0U2V0dGluZ3NfaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQKaW5kZXgg
NjJiMGUxMDg2YjAuLmNkYTZkOWUzZWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0CisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50
eHQKQEAgLTU1OCw2ICs1NTgsOCBAQCB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9tZWRpYQog
d2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfbWVkaWEKIHdlYmtpdF9zZXR0aW5nc19nZXRfbWVk
aWFfY29udGVudF90eXBlc19yZXF1aXJpbmdfaGFyZHdhcmVfc3VwcG9ydAogd2Via2l0X3NldHRp
bmdzX3NldF9tZWRpYV9jb250ZW50X3R5cGVzX3JlcXVpcmluZ19oYXJkd2FyZV9zdXBwb3J0Cit3
ZWJraXRfc2V0dGluZ3NfZ2V0X3VzZV9ncHVfcHJvY2Vzc19mb3JfbWVkaWEKK3dlYmtpdF9zZXR0
aW5nc19zZXRfdXNlX2dwdV9wcm9jZXNzX2Zvcl9tZWRpYQogCiA8U1VCU0VDVElPTiBTdGFuZGFy
ZD4KIFdlYktpdFNldHRpbmdzQ2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS93cGUvV2ViS2l0U2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS93cGUvV2ViS2l0U2V0dGluZ3MuaAppbmRleCBmNTQ5Nzc5YzdkMC4uZjI1ZDEyZTc1MGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0U2V0dGluZ3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFNldHRpbmdzLmgK
QEAgLTQ3MCw2ICs0NzAsMTMgQEAgV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfc2V0dGluZ3Nfc2V0
X21lZGlhX2NvbnRlbnRfdHlwZXNfcmVxdWlyaW5nX2hhcmR3YXJlX3N1cHBvcnQgKFdlYktpdFNl
dHRpbmdzICpzZXR0aW5ncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKmNvbnRlbnRfdHlwZXMp
OwogCitXRUJLSVRfQVBJIGdib29sZWFuCit3ZWJraXRfc2V0dGluZ3NfZ2V0X3VzZV9ncHVfcHJv
Y2Vzc19mb3JfbWVkaWEgICAgICAgICAgICAgICAgICAoV2ViS2l0U2V0dGluZ3MgKnNldHRpbmdz
KTsKKworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfc2V0dGluZ3Nfc2V0X3VzZV9ncHVfcHJvY2Vz
c19mb3JfbWVkaWEgICAgICAgICAgICAgICAgICAoV2ViS2l0U2V0dGluZ3MgKnNldHRpbmdzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdib29sZWFuICAgICAgICBlbmFibGVkKTsKKwogR19FTkRfREVDTFMKIAogI2VuZGlm
IC8qIFdlYktpdFNldHRpbmdzX2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dAppbmRleCA3ZDEyMTRiMWNi
MS4uZTgxZDMwOGQwNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93
cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKQEAgLTU1Miw2ICs1NTIsOCBAQCB3
ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9tZWRpYQogd2Via2l0X3NldHRpbmdzX3NldF9lbmFi
bGVfbWVkaWEKIHdlYmtpdF9zZXR0aW5nc19nZXRfbWVkaWFfY29udGVudF90eXBlc19yZXF1aXJp
bmdfaGFyZHdhcmVfc3VwcG9ydAogd2Via2l0X3NldHRpbmdzX3NldF9tZWRpYV9jb250ZW50X3R5
cGVzX3JlcXVpcmluZ19oYXJkd2FyZV9zdXBwb3J0Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X3VzZV9n
cHVfcHJvY2Vzc19mb3JfbWVkaWEKK3dlYmtpdF9zZXR0aW5nc19zZXRfdXNlX2dwdV9wcm9jZXNz
X2Zvcl9tZWRpYQogCiA8U1VCU0VDVElPTiBTdGFuZGFyZD4KIFdlYktpdFNldHRpbmdzQ2xhc3MK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2Vi
S2l0U2V0dGluZ3MuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rl
c3RXZWJLaXRTZXR0aW5ncy5jcHAKaW5kZXggZGEwNDcyNWNkYjguLmFmMDEyN2VkYjcxIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFNl
dHRpbmdzLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVz
dFdlYktpdFNldHRpbmdzLmNwcApAQCAtMzY5LDYgKzM2OSwxMSBAQCBzdGF0aWMgdm9pZCB0ZXN0
V2ViS2l0U2V0dGluZ3MoVGVzdCosIGdjb25zdHBvaW50ZXIpCiAgICAgd2Via2l0X3NldHRpbmdz
X3NldF9lbmFibGVfamF2YXNjcmlwdF9tYXJrdXAoc2V0dGluZ3MsIEZBTFNFKTsKICAgICBnX2Fz
c2VydF9mYWxzZSh3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9qYXZhc2NyaXB0X21hcmt1cChz
ZXR0aW5ncykpOwogCisgICAgLy8gVXNlIEdQVSBQcm9jZXNzIGZvciBtZWRpYQorICAgIGdfYXNz
ZXJ0X2ZhbHNlKHdlYmtpdF9zZXR0aW5nc19nZXRfdXNlX2dwdV9wcm9jZXNzX2Zvcl9tZWRpYShz
ZXR0aW5ncykpOworICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfdXNlX2dwdV9wcm9jZXNzX2Zvcl9t
ZWRpYShzZXR0aW5ncywgVFJVRSk7CisgICAgZ19hc3NlcnRfdHJ1ZSh3ZWJraXRfc2V0dGluZ3Nf
Z2V0X3VzZV9ncHVfcHJvY2Vzc19mb3JfbWVkaWEoc2V0dGluZ3MpKTsKKwogICAgIGdfb2JqZWN0
X3VucmVmKEdfT0JKRUNUKHNldHRpbmdzKSk7CiB9CiAKLS0gCjIuMjcuMAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405031</attachid>
            <date>2020-07-23 03:45:38 -0700</date>
            <delta_ts>2020-08-05 09:24:40 -0700</delta_ts>
            <desc>WIP: enable GPUProcess capture devices with envvar</desc>
            <filename>0001-wip-enable-capture-devices-on-gpuprocess.patch</filename>
            <type>text/plain</type>
            <size>1976</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">RnJvbSAzNDIyOTBiZTk2NjgxOGE1MWJjNTQ1MzM4OGZhZmRmNWNhMmM4ZTU5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Vj1DMz1BRGN0b3I9MjBNYW51ZWw9MjBKPUMz
PUExcXVlej0yMExlYWw/PQogPHZqYXF1ZXpAaWdhbGlhLmNvbT4KRGF0ZTogV2VkLCAyMiBKdWwg
MjAyMCAxOTowMDo0MCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggeHNlcnZlcl0gd2lwOiBlbmFibGUg
Y2FwdHVyZSBkZXZpY2VzIG9uIGdwdXByb2Nlc3MKCi0tLQogLi4uL0dQVVByb2Nlc3MvZ3N0cmVh
bWVyL0dQVVByb2Nlc3NNYWluR1N0cmVhbWVyLmNwcCAgICAgIHwgMyArKy0KIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAgICAgICB8IDggKysrKysr
KysKIDIgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJvY2Vzc01h
aW5HU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dzdHJlYW1lci9HUFVQ
cm9jZXNzTWFpbkdTdHJlYW1lci5jcHAKaW5kZXggMTU1YWI2ZTg4ZjUuLjVlM2I1NzA4MzU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVyL0dQVVByb2Nlc3NN
YWluR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVy
L0dQVVByb2Nlc3NNYWluR1N0cmVhbWVyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVk
ZSAiQXV4aWxpYXJ5UHJvY2Vzc01haW4uaCIKICNpbmNsdWRlICJHUFVQcm9jZXNzLmgiCisjaW5j
bHVkZSA8V2ViQ29yZS9HU3RyZWFtZXJDb21tb24uaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
QEAgLTM5LDcgKzQwLDcgQEAgY2xhc3MgR1BVUHJvY2Vzc01haW5HU3RyZWFtZXIgZmluYWw6IHB1
YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgewogcHVibGljOgogICAgIGJvb2wgcGxhdGZv
cm1Jbml0aWFsaXplKCkgb3ZlcnJpZGUKICAgICB7Ci0gICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICByZXR1cm4gaW5pdGlhbGl6ZUdTdHJlYW1lcigpOwogICAgIH0KIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCmlu
ZGV4IDZlOGNkYTE3OGZmLi5kOTk5ZThmNWZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCkBAIC0xNDQsNiArMTQ0LDEw
IEBAIGJvb2wgZGVmYXVsdENhcHR1cmVBdWRpb0luR1BVUHJvY2Vzc0VuYWJsZWQoKQogICAgIHJl
dHVybiBpc0ZlYXR1cmVGbGFnRW5hYmxlZCgiY2FudmFzX2FuZF9tZWRpYV9pbl9ncHVfcHJvY2Vz
cyIpOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKKyAgICBy
ZXR1cm4gKHN0ZDo6Z2V0ZW52KCJXRUJLSVRfRU5BQkxFX0dQVV9QUk9DRVNTIikgIT0gbnVsbHB0
cik7CisjZW5kaWYKKwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtMTY2LDYgKzE3MCwxMCBA
QCBib29sIGRlZmF1bHRDYXB0dXJlVmlkZW9JbkdQVVByb2Nlc3NFbmFibGVkKCkKICAgICByZXR1
cm4gaXNGZWF0dXJlRmxhZ0VuYWJsZWQoIndlYnJ0Y19pbl9ncHVfcHJvY2VzcyIpOwogI2VuZGlm
CiAKKyNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKKyAgICByZXR1cm4gKHN0ZDo6
Z2V0ZW52KCJXRUJLSVRfRU5BQkxFX0dQVV9QUk9DRVNTIikgIT0gbnVsbHB0cik7CisjZW5kaWYK
KwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotLSAKMi4yNy4wCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406007</attachid>
            <date>2020-08-05 09:26:46 -0700</date>
            <delta_ts>2020-08-05 09:26:46 -0700</delta_ts>
            <desc>WIP: a mechanism to enable the GPUProcess with an envvar</desc>
            <filename>0001-wip-enable-capture-devices-on-gpuprocess.patch</filename>
            <type>text/plain</type>
            <size>5348</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">RnJvbSA2MWM2M2Y4YTY4M2RjNmUwNjk5NTEyNTBlMjJhZDYxYjA5NjkxZDBhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Vj1DMz1BRGN0b3I9MjBNYW51ZWw9MjBKPUMz
PUExcXVlej0yMExlYWw/PQogPHZqYXF1ZXpAaWdhbGlhLmNvbT4KRGF0ZTogV2VkLCAyMiBKdWwg
MjAyMCAxOTowMDo0MCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggeHNlcnZlcl0gd2lwOiBlbmFibGUg
Y2FwdHVyZSBkZXZpY2VzIG9uIGdwdXByb2Nlc3MKCi0tLQogLi4uL2dzdHJlYW1lci9HUFVQcm9j
ZXNzTWFpbkdTdHJlYW1lci5jcHAgICAgIHwgIDMgKy0KIFNvdXJjZS9XZWJLaXQvU291cmNlc1dQ
RS50eHQgICAgICAgICAgICAgICAgICB8ICAxICsKIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByZWZlcmVuY2VzLmNwcCAgICB8ICAyICstCiAuLi4vVUlQcm9jZXNzL2d0ay9XZWJQcmVmZXJl
bmNlc0d0ay5jcHAgICAgICAgfCAgNSArKy0KIC4uLi9VSVByb2Nlc3Mvd3BlL1dlYlByZWZlcmVu
Y2VzV1BFLmNwcCAgICAgICB8IDM4ICsrKysrKysrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdl
ZCwgNDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUvV2ViUHJlZmVyZW5jZXNXUEUuY3BwCgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dzdHJlYW1lci9HUFVQcm9jZXNzTWFpbkdT
dHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVyL0dQVVByb2Nl
c3NNYWluR1N0cmVhbWVyLmNwcAppbmRleCAxNTVhYjZlODhmNS4uNWUzYjU3MDgzNTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJvY2Vzc01haW5H
U3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BV
UHJvY2Vzc01haW5HU3RyZWFtZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJB
dXhpbGlhcnlQcm9jZXNzTWFpbi5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3MuaCIKKyNpbmNsdWRl
IDxXZWJDb3JlL0dTdHJlYW1lckNvbW1vbi5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAt
MzksNyArNDAsNyBAQCBjbGFzcyBHUFVQcm9jZXNzTWFpbkdTdHJlYW1lciBmaW5hbDogcHVibGlj
IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CiBwdWJsaWM6CiAgICAgYm9vbCBwbGF0Zm9ybUlu
aXRpYWxpemUoKSBvdmVycmlkZQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg
IHJldHVybiBpbml0aWFsaXplR1N0cmVhbWVyKCk7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzV1BFLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc1dQRS50
eHQKaW5kZXggYTk0MGIzZGEwNTEuLjc2NTQyOTUzZmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXNXUEUudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc1dQRS50eHQKQEAg
LTIyNyw2ICsyMjcsNyBAQCBVSVByb2Nlc3Mvc291cC9XZWJDb29raWVNYW5hZ2VyUHJveHlTb3Vw
LmNwcAogVUlQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1Bvb2xTb3VwLmNwcAogCiBVSVByb2Nlc3Mv
d3BlL1dlYlBhZ2VQcm94eVdQRS5jcHAKK1VJUHJvY2Vzcy93cGUvV2ViUHJlZmVyZW5jZXNXUEUu
Y3BwCiAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL2dzdHJlYW1lci9WaWRlb0xheWVyUmVtb3RlR1N0
cmVhbWVyLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVm
ZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAK
aW5kZXggNjZiYWZjYjZhNDEuLjdmNDViMWE5NDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0xOTUsNyArMTk1LDcgQEAgdm9pZCBXZWJQcmVmZXJl
bmNlczo6cmVnaXN0ZXJEZWZhdWx0VUludDMyVmFsdWVGb3JLZXkoY29uc3QgU3RyaW5nJiBrZXks
IHVpbnQzMl8KICAgICAgICAgbV9zdG9yZS5zZXRVSW50MzJWYWx1ZUZvcktleShrZXksIHVzZXJW
YWx1ZSk7CiB9CiAKLSNpZiAhUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShHVEspCisjaWYg
IVBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZPUk0oV1BFKQogdm9p
ZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1Jbml0aWFsaXplU3RvcmUoKQogewogICAgIG5vdElt
cGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2Vi
UHJlZmVyZW5jZXNHdGsuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYlByZWZl
cmVuY2VzR3RrLmNwcAppbmRleCBjZjIzM2EwM2Y2Zi4uODhlMWUyNWEyYzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJQcmVmZXJlbmNlc0d0ay5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYlByZWZlcmVuY2VzR3RrLmNwcApAQCAtMjgs
NyArMjgsNiBAQAogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCiAKICNpbmNsdWRlICJIYXJk
d2FyZUFjY2VsZXJhdGlvbk1hbmFnZXIuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVu
dGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00Nyw2ICs0NiwxMCBAQCB2b2lkIFdl
YlByZWZlcmVuY2VzOjpwbGF0Zm9ybUluaXRpYWxpemVTdG9yZSgpCiAgICAgc2V0QWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0VuYWJsZWQoY29tcG9zaXRpbmdTdGF0ZS5hY2NlbGVyYXRlZENvbXBvc2l0
aW5nRW5hYmxlZCk7CiAgICAgc2V0Rm9yY2VDb21wb3NpdGluZ01vZGUoY29tcG9zaXRpbmdTdGF0
ZS5mb3JjZUNvbXBvc2l0aW5nTW9kZSk7CiAgICAgc2V0VGhyZWFkZWRTY3JvbGxpbmdFbmFibGVk
KGNvbXBvc2l0aW5nU3RhdGUuZm9yY2VDb21wb3NpdGluZ01vZGUpOworCisgICAgYm9vbCB3ZWJy
dGNFbmFibGVHUFVQcm9jZXNzID0gKHN0ZDo6Z2V0ZW52KCJXRUJLSVRfV0VCUlRDX0VOQUJMRV9H
UFVfUFJPQ0VTUyIpICE9IG51bGxwdHIpOworICAgIHNldENhcHR1cmVBdWRpb0luR1BVUHJvY2Vz
c0VuYWJsZWQod2VicnRjRW5hYmxlR1BVUHJvY2Vzcyk7CisgICAgc2V0Q2FwdHVyZVZpZGVvSW5H
UFVQcm9jZXNzRW5hYmxlZCh3ZWJydGNFbmFibGVHUFVQcm9jZXNzKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUvV2Vi
UHJlZmVyZW5jZXNXUEUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYlByZWZl
cmVuY2VzV1BFLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uM2Iy
NGVhYzE3MDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUv
V2ViUHJlZmVyZW5jZXNXUEUuY3BwCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgSWdhbGlhIFMuTC4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKwordm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1Jbml0aWFsaXplU3Rv
cmUoKQoreworICAgIGJvb2wgd2VicnRjRW5hYmxlR1BVUHJvY2VzcyA9IChzdGQ6OmdldGVudigi
V0VCS0lUX1dFQlJUQ19FTkFCTEVfR1BVX1BST0NFU1MiKSAhPSBudWxscHRyKTsKKyAgICBzZXRD
YXB0dXJlQXVkaW9JbkdQVVByb2Nlc3NFbmFibGVkKHdlYnJ0Y0VuYWJsZUdQVVByb2Nlc3MpOwor
ICAgIHNldENhcHR1cmVWaWRlb0luR1BVUHJvY2Vzc0VuYWJsZWQod2VicnRjRW5hYmxlR1BVUHJv
Y2Vzcyk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAotLSAKMi4yNy4wCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>