<?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>175507</bug_id>
          
          <creation_ts>2017-08-12 01:00:59 -0700</creation_ts>
          <short_desc>[WPE] Implement WebCore::standardUserAgent()</short_desc>
          <delta_ts>2017-08-14 11:42:30 -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>WPE WebKit</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrian Perez">aperez</reporter>
          <assigned_to name="Adrian Perez">aperez</assigned_to>
          <cc>annulen</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1338123</commentid>
    <comment_count>0</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2017-08-12 01:00:59 -0700</bug_when>
    <thetext>There are a couple of FIXMEs in the code “UserAgentGtk.cpp”:

  #if PLATFORM(GTK)
     CString newUserAgent = WebCore::standardUserAgent(String::fromUTF8(applicationName), String::fromUTF8(applicationVersion)).utf8();
     webkit_settings_set_user_agent(settings, newUserAgent.data());
  #elif PLATFORM(WPE)
     // FIXME: WPE should implement WebCore::standardUserAgent.
  #endif

Also, this file should be renamed to “UserAgentGLib.cpp”, like the
rest of the sources used by both the WebKitGTK+ and the WPE ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338124</commentid>
    <comment_count>1</comment_count>
      <attachid>317988</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2017-08-12 01:08:40 -0700</bug_when>
    <thetext>Created attachment 317988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338228</commentid>
    <comment_count>2</comment_count>
      <attachid>317988</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-13 05:13:31 -0700</bug_when>
    <thetext>Comment on attachment 317988
Patch

Clearing flags on attachment: 317988

Committed r220631: &lt;http://trac.webkit.org/changeset/220631&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338229</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-13 05:13:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338283</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-08-13 22:42:04 -0700</bug_when>
    <thetext>(In reply to Adrian Perez from comment #0)
&gt; There are a couple of FIXMEs in the code “UserAgentGtk.cpp”:
&gt; 
&gt;   #if PLATFORM(GTK)
&gt;      CString newUserAgent =
&gt; WebCore::standardUserAgent(String::fromUTF8(applicationName),
&gt; String::fromUTF8(applicationVersion)).utf8();
&gt;      webkit_settings_set_user_agent(settings, newUserAgent.data());
&gt;   #elif PLATFORM(WPE)
&gt;      // FIXME: WPE should implement WebCore::standardUserAgent.
&gt;   #endif
&gt; 
&gt; Also, this file should be renamed to “UserAgentGLib.cpp”, like the
&gt; rest of the sources used by both the WebKitGTK+ and the WPE ports.

This is not true/accurate, sometimes we use other suffix like Unix, Linux, ... or not suffix at all but other platforms don&apos;t compile the file. In this particulat case it doesn&apos;t make sense to use GLib, it was called Gtk not because it uses GTK+, but because it was the implementation of the GTK port. But there isn&apos;t a glib port, and the file doesn&apos;t use glib at all. This is only used by ports expose the GLib API, though, so we can probably leave it now that the patch landed already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338284</commentid>
    <comment_count>5</comment_count>
      <attachid>317988</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-08-13 22:43:36 -0700</bug_when>
    <thetext>Comment on attachment 317988
Patch

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

&gt; Source/cmake/OptionsGTK.cmake:198
&gt; +add_definitions(-DUSER_AGENT_GLIB_MAJOR_VERSION=&quot;604&quot;)
&gt; +add_definitions(-DUSER_AGENT_GLIB_MINOR_VERSION=&quot;1&quot;)

This is confusing, again here GTK meant the GTK port, so the UA version used by the GTK port. I think we can simply remove the GLIB and use USER_AGENT_MAJOR|MINOR_VERSION

&gt; Source/cmake/OptionsWPE.cmake:130
&gt; +add_definitions(-DUSER_AGENT_GLIB_MAJOR_VERSION=&quot;601&quot;)
&gt; +add_definitions(-DUSER_AGENT_GLIB_MINOR_VERSION=&quot;1&quot;)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338338</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-08-14 08:24:33 -0700</bug_when>
    <thetext>Reopening, please address Carlos&apos;s comments!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338358</commentid>
    <comment_count>7</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2017-08-14 09:38:27 -0700</bug_when>
    <thetext>ACK, I&apos;ll post a follow-up removing the “_GTK” bit from the defines.
I understand that&apos;s enought, and it is _not_ needed to rename
“UserAgentGLib.cpp” to something else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338360</commentid>
    <comment_count>8</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2017-08-14 09:39:57 -0700</bug_when>
    <thetext>(In reply to Adrian Perez from comment #7)
&gt; ACK, I&apos;ll post a follow-up removing the “_GTK” bit from the defines.
&gt; I understand that&apos;s enought, and it is _not_ needed to rename
&gt; “UserAgentGLib.cpp” to something else.

I meant: “_GLIB” removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338365</commentid>
    <comment_count>9</comment_count>
      <attachid>318042</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2017-08-14 09:44:33 -0700</bug_when>
    <thetext>Created attachment 318042
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338419</commentid>
    <comment_count>10</comment_count>
      <attachid>318042</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-14 11:42:29 -0700</bug_when>
    <thetext>Comment on attachment 318042
Patch

Clearing flags on attachment: 318042

Committed r220713: &lt;http://trac.webkit.org/changeset/220713&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338420</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-14 11:42:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317988</attachid>
            <date>2017-08-12 01:08:40 -0700</date>
            <delta_ts>2017-08-13 05:13:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175507-20170812110838.patch</filename>
            <type>text/plain</type>
            <size>20402</size>
            <attacher name="Adrian Perez">aperez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTk3ZmZiYzJiMmY5M2Fl
YjA2NGExNzhhMzk3ZDA3Nzk4Njg3NWZlNC4uOTYzZGFjN2IyZDMyY2E1MjBjOWE4OGE1NzlhZmEw
MDE0NWYwNDIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTA4LTEyICBBZHJp
YW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dQRV0g
SW1wbGVtZW50IFdlYkNvcmU6OnN0YW5kYXJkVXNlckFnZW50KCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTUwNworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBtaXNzaW5nIFVzZXItQWdl
bnQgaGFuZGxpbmcgZm9yIHRoZSBXUEUgcG9ydCBieSBzaGFyaW5nIHRoZSBjb2RlIHdpdGggdGhl
IEdUSysgcG9ydC4KKworICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOiBIYW5kbGRlIHJlbmFt
aW5nIG9mIFVzZXJBZ2VudEd0ay5jcHAgdG8gVXNlckFnZW50R0xpYi5jcHAuCisgICAgICAgICog
UGxhdGZvcm1XUEUuY21ha2U6IEFkZCBVc2VyQWdlbnRHTGliLmNwcCBhbmQgVXNlckFnZW50UXVp
cmtzLmNwcCB0byB0aGUgbGlzdCBvZiBidWlsdCBXZWJDb3JlIHNvdXJjZXMuCisgICAgICAgICog
cGxhdGZvcm0vZ2xpYi9Vc2VyQWdlbnRHTGliLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9Vc2VyQWdlbnRHdGsuY3BwLgorICAgICAgICAoV2ViQ29yZTo6dmVy
c2lvbkZvclVBU3RyaW5nKTogQ2hhbmdlICJHVEsiIGluIFVBIHZlcnNpb24gbWFjcm9zIHRvICJH
TElCIi4KKwogMjAxNy0wOC0xMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgTW92ZSBmaWxlcyBpbnNpZGUgV2ViQ29yZS93b3JrZXJzIHRvIFdlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1MDIxMzJjMDgwOGU2M2U2ZjEzZDcwZWJlMDM2M2Q4
ZDk2YWRkNjA1Li5iZWNkMzQxNzJkOTk5NzkwZjRhZmU1YTY3MTNkYWJlODI5YTc0N2VjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTA4LTEyICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJv
ICA8YXBlcmV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dQRV0gSW1wbGVtZW50IFdlYkNvcmU6
OnN0YW5kYXJkVXNlckFnZW50KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NTUwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEltcGxlbWVudCBtaXNzaW5nIFVzZXItQWdlbnQgaGFuZGxpbmcgZm9yIHRo
ZSBXUEUgcG9ydCBieSBzaGFyaW5nIHRoZSBjb2RlIHdpdGggdGhlIEdUSysgcG9ydC4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6IFJlbW92ZSBwcmVw
cm9jZXNzb3IgY29uZGl0aW9uYWxzIGZvciB0aGUgV1BFIHBvcnQuCisgICAgICAgICh3ZWJraXRf
c2V0dGluZ3Nfc2V0X3VzZXJfYWdlbnQpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX3NldF91
c2VyX2FnZW50X3dpdGhfYXBwbGljYXRpb25fZGV0YWlscyk6CisgICAgICAgICogVUlQcm9jZXNz
L3dwZS9XZWJQYWdlUHJveHlXUEUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OnN0YW5kYXJkVXNlckFnZW50KTogUmVtb3ZlIGhhcmRjb2RlZCB2YWx1ZSBhbmQgbWFrZSB1c2Ug
b2YgV2ViQ29yZTo6c3RhbmRhcmRVc2VyQWdlbnQoKS4KKwogMjAxNy0wOC0xMCAgU2FtIFdlaW5p
ZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFdURjo6RnVuY3Rpb24gZG9lcyBub3QgYWxs
b3cgZm9yIHJlZmVyZW5jZSAvIG5vbi1kZWZhdWx0IGNvbnN0cnVjdGlibGUgcmV0dXJuIHR5cGVz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGMwYWM2MDU5MGY3NzgzN2VmMDg4M2U3ODhh
MmYxNDQ0MGZhODcyMWIuLjEyYjQ1MDZlZWI1YTlmZGRjMWMxY2Y0OWY5ZDdiODc4MWQ3ZTVhMWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC03NCw2ICs3NCw3IEBAIGxpc3QoQVBQRU5E
IFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dsaWIvTWFpblRocmVhZFNoYXJlZFRpbWVy
R0xpYi5jcHAKICAgICBwbGF0Zm9ybS9nbGliL1NTTEtleUdlbmVyYXRvckdMaWIuY3BwCiAgICAg
cGxhdGZvcm0vZ2xpYi9TaGFyZWRCdWZmZXJHbGliLmNwcAorICAgIHBsYXRmb3JtL2dsaWIvVXNl
ckFnZW50R0xpYi5jcHAKIAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dMQ29udGV4dC5jcHAKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCkBAIC0xMDUs
NyArMTA2LDYgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3Rr
L1Bhc3RlYm9hcmRHdGsuY3BwCiAgICAgcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNw
cAogICAgIHBsYXRmb3JtL2d0ay9TZWxlY3Rpb25EYXRhLmNwcAotICAgIHBsYXRmb3JtL2d0ay9V
c2VyQWdlbnRHdGsuY3BwCiAKICAgICBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0
ZUluZm8uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdQRS5jbWFrZSBi
L1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlCmluZGV4IGFmNTdhNzNjMGFhYTBiOGRj
NjAyMDYxNmNhYmY5MWIzNTA2MjNkZWEuLmE2YjA1NjdhZGY5NjM5ODMzMzk1ZmZlMmYxZjU5NTc3
ZTYzN2E4NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlCkBAIC02Niw2ICs2Niw3IEBAIGxp
c3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL0N1cnNvci5jcHAKICAgICBw
bGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCiAgICAgcGxhdGZvcm0vVGhlbWUuY3BwCisg
ICAgcGxhdGZvcm0vVXNlckFnZW50UXVpcmtzLmNwcAogCiAgICAgcGxhdGZvcm0vYXVkaW8vZ2xp
Yi9BdWRpb0J1c0dMaWIuY3BwCiAKQEAgLTc2LDYgKzc3LDcgQEAgbGlzdChBUFBFTkQgV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ2xpYi9NYWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNw
cAogICAgIHBsYXRmb3JtL2dsaWIvU1NMS2V5R2VuZXJhdG9yR0xpYi5jcHAKICAgICBwbGF0Zm9y
bS9nbGliL1NoYXJlZEJ1ZmZlckdsaWIuY3BwCisgICAgcGxhdGZvcm0vZ2xpYi9Vc2VyQWdlbnRH
TGliLmNwcAogCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvR0xDb250ZXh0LmNwcAogICAgIHBsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvVXNlckFnZW50R0xpYi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nbGliL1VzZXJBZ2VudEdMaWIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4NjNkYTYx
MGEzNzQyNzc4NTgzZTMwNzc0ZWM3MjdkYmRmYTZhZjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL1VzZXJBZ2VudEdMaWIuY3BwCkBAIC0wLDAgKzEsMTQ2
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDE0LCAyMDE2IElnYWxpYSBTLkwuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiVXNlckFnZW50LmgiCisKKyNpbmNsdWRlICJVUkwuaCIKKyNpbmNsdWRl
ICJVc2VyQWdlbnRRdWlya3MuaCIKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKKyNpZiBPUyhVTklYKQorI2luY2x1
ZGUgPHN5cy91dHNuYW1lLmg+CisjZW5kaWYKKworLy8gV0FSTklORyEgV0FSTklORyEgV0FSTklO
RyEKKy8vCisvLyBUaGUgdXNlciBhZ2VudCBpcyBsdWRpY3JvdXNseSBmcmFnaWxlLiBUaGUgbW9z
dCBpbm5vY2VudCBjaGFuZ2UgY2FuCisvLyBhbmQgd2lsbCBicmVhayB3ZWJzaXRlcy4gUmVhZCB0
aGUgZ2l0IGxvZyBmb3IgdGhpcyBmaWxlIGNhcmVmdWxseQorLy8gYmVmb3JlIGNoYW5naW5nIHVz
ZXIgYWdlbnQgY29uc3RydWN0aW9uLiBZb3UgaGF2ZSBiZWVuIHdhcm5lZC4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitzdGF0aWMgY29uc3QgY2hhciogcGxhdGZvcm1Gb3JVQVN0cmluZygpCit7
CisjaWYgT1MoTUFDX09TX1gpCisgICAgcmV0dXJuICJNYWNpbnRvc2giOworI2Vsc2UKKyAgICBy
ZXR1cm4gIlgxMSI7CisjZW5kaWYKK30KKworc3RhdGljIGNvbnN0IFN0cmluZyBwbGF0Zm9ybVZl
cnNpb25Gb3JVQVN0cmluZygpCit7CisjaWYgT1MoVU5JWCkKKyAgICBzdHJ1Y3QgdXRzbmFtZSBu
YW1lOworICAgIHVuYW1lKCZuYW1lKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3Qg
U3RyaW5nPiB1YU9TVmVyc2lvbihTdHJpbmc6OmZvcm1hdCgiJXMgJXMiLCBuYW1lLnN5c25hbWUs
IG5hbWUubWFjaGluZSkpOworICAgIHJldHVybiB1YU9TVmVyc2lvbjsKKyNlbHNlCisgICAgLy8g
V2Ugd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgU2FmYXJpIGluIEludGVsIE1hYyBPUyBYLCBzaW5j
ZSBTYWZhcmkgd2l0aG91dAorICAgIC8vIE9TIFggb3IgYW55dGhpbmcgb24gQVJNIHRyaWdnZXJz
IG1vYmlsZSB2ZXJzaW9ucyBvZiBzb21lIHdlYnNpdGVzLgorICAgIC8vCisgICAgLy8gRklYTUU6
IFRoZSBmaW5hbCByZXN1bHQgc2hvdWxkIGluY2x1ZGUgT1MgdmVyc2lvbiwgZS5nLiAiSW50ZWwg
TWFjIE9TIFggMTBfOF80Ii4KKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3RyaW5n
PiB1YU9TVmVyc2lvbihNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiSW50ZWwgTWFjIE9TIFgiKSk7
CisgICAgcmV0dXJuIHVhT1NWZXJzaW9uOworI2VuZGlmCit9CisKK3N0YXRpYyBjb25zdCBjaGFy
KiB2ZXJzaW9uRm9yVUFTdHJpbmcoKQoreworICAgIHJldHVybiBVU0VSX0FHRU5UX0dMSUJfTUFK
T1JfVkVSU0lPTiAiLiIgVVNFUl9BR0VOVF9HTElCX01JTk9SX1ZFUlNJT047Cit9CisKK3N0YXRp
YyBTdHJpbmcgYnVpbGRVc2VyQWdlbnRTdHJpbmcoY29uc3QgVXNlckFnZW50UXVpcmtzJiBxdWly
a3MpCit7CisgICAgU3RyaW5nQnVpbGRlciB1YVN0cmluZzsKKyAgICB1YVN0cmluZy5hcHBlbmRM
aXRlcmFsKCJNb3ppbGxhLzUuMCAiKTsKKyAgICB1YVN0cmluZy5hcHBlbmQoJygnKTsKKworICAg
IGlmIChxdWlya3MuY29udGFpbnMoVXNlckFnZW50UXVpcmtzOjpOZWVkc01hY2ludG9zaFBsYXRm
b3JtKSkKKyAgICAgICAgdWFTdHJpbmcuYXBwZW5kKFVzZXJBZ2VudFF1aXJrczo6c3RyaW5nRm9y
UXVpcmsoVXNlckFnZW50UXVpcmtzOjpOZWVkc01hY2ludG9zaFBsYXRmb3JtKSk7CisgICAgZWxz
ZSBpZiAocXVpcmtzLmNvbnRhaW5zKFVzZXJBZ2VudFF1aXJrczo6TmVlZHNMaW51eERlc2t0b3BQ
bGF0Zm9ybSkpCisgICAgICAgIHVhU3RyaW5nLmFwcGVuZChVc2VyQWdlbnRRdWlya3M6OnN0cmlu
Z0ZvclF1aXJrKFVzZXJBZ2VudFF1aXJrczo6TmVlZHNMaW51eERlc2t0b3BQbGF0Zm9ybSkpOwor
ICAgIGVsc2UgeworICAgICAgICB1YVN0cmluZy5hcHBlbmQocGxhdGZvcm1Gb3JVQVN0cmluZygp
KTsKKyAgICAgICAgdWFTdHJpbmcuYXBwZW5kTGl0ZXJhbCgiOyAiKTsKKyAgICAgICAgdWFTdHJp
bmcuYXBwZW5kKHBsYXRmb3JtVmVyc2lvbkZvclVBU3RyaW5nKCkpOworICAgIH0KKworICAgIHVh
U3RyaW5nLmFwcGVuZExpdGVyYWwoIikgQXBwbGVXZWJLaXQvIik7CisgICAgdWFTdHJpbmcuYXBw
ZW5kKHZlcnNpb25Gb3JVQVN0cmluZygpKTsKKyAgICB1YVN0cmluZy5hcHBlbmRMaXRlcmFsKCIg
KEtIVE1MLCBsaWtlIEdlY2tvKSAiKTsKKworICAgIC8vIE5vdGUgdGhhdCBDaHJvbWUgVUFzIGFk
dmVydGlzZSAqYm90aCogQ2hyb21lIGFuZCBTYWZhcmkuCisgICAgaWYgKHF1aXJrcy5jb250YWlu
cyhVc2VyQWdlbnRRdWlya3M6Ok5lZWRzQ2hyb21lQnJvd3NlcikpIHsKKyAgICAgICAgdWFTdHJp
bmcuYXBwZW5kKFVzZXJBZ2VudFF1aXJrczo6c3RyaW5nRm9yUXVpcmsoVXNlckFnZW50UXVpcmtz
OjpOZWVkc0Nocm9tZUJyb3dzZXIpKTsKKyAgICAgICAgdWFTdHJpbmcuYXBwZW5kTGl0ZXJhbCgi
ICIpOworICAgIH0KKworICAgIC8vIFZlcnNpb24vWCBpcyBtYW5kYXRvcnkgKmJlZm9yZSogU2Fm
YXJpL1ggdG8gYmUgYSB2YWxpZCBTYWZhcmkgVUEuIFNlZQorICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM0MDMgZm9yIGRldGFpbHMuCisgICAgdWFTdHJp
bmcuYXBwZW5kTGl0ZXJhbCgiVmVyc2lvbi8xMS4wIFNhZmFyaS8iKTsKKyAgICB1YVN0cmluZy5h
cHBlbmQodmVyc2lvbkZvclVBU3RyaW5nKCkpOworCisgICAgcmV0dXJuIHVhU3RyaW5nLnRvU3Ry
aW5nKCk7Cit9CisKK3N0YXRpYyBjb25zdCBTdHJpbmcgc3RhbmRhcmRVc2VyQWdlbnRTdGF0aWMo
KQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHVhU3RhdGljKGJ1
aWxkVXNlckFnZW50U3RyaW5nKFVzZXJBZ2VudFF1aXJrcygpKSk7CisgICAgcmV0dXJuIHVhU3Rh
dGljOworfQorCitTdHJpbmcgc3RhbmRhcmRVc2VyQWdlbnQoY29uc3QgU3RyaW5nJiBhcHBsaWNh
dGlvbk5hbWUsIGNvbnN0IFN0cmluZyYgYXBwbGljYXRpb25WZXJzaW9uKQoreworICAgIC8vIENy
ZWF0ZSBhIGRlZmF1bHQgdXNlciBhZ2VudCBzdHJpbmcgd2l0aCBhIGxpYmVyYWwgaW50ZXJwcmV0
YXRpb24gb2YKKyAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2Nz
L1VzZXJfQWdlbnRfU3RyaW5nc19SZWZlcmVuY2UKKyAgICAvLworICAgIC8vIEZvcm1pbmcgYSBm
dW5jdGlvbmFsIHVzZXIgYWdlbnQgaXMgcmVhbGx5IGRpZmZpY3VsdC4gV2UgbXVzdCBtZW50aW9u
IFNhZmFyaSwgYmVjYXVzZSBzb21lCisgICAgLy8gc2l0ZXMgY2hlY2sgZm9yIHRoYXQgd2hlbiBk
ZXRlY3RpbmcgV2ViS2l0IGJyb3dzZXJzLiBBZGRpdGlvbmFsbHkgc29tZSBzaXRlcyBhc3N1bWUg
dGhhdAorICAgIC8vIGJyb3dzZXJzIHRoYXQgYXJlICJTYWZhcmkiIGJ1dCBub3QgcnVubmluZyBv
biBPUyBYIGFyZSB0aGUgU2FmYXJpIGlPUyBicm93c2VyLiBHZXR0aW5nIHRoaXMKKyAgICAvLyB3
cm9uZyBjYW4gY2F1c2Ugc2l0ZXMgdG8gbG9hZCB0aGUgd3JvbmcgSmF2YVNjcmlwdCwgQ1NTLCBv
ciBjdXN0b20gZm9udHMuIEluIHNvbWUgY2FzZXMKKyAgICAvLyBzaXRlcyB3b24ndCBsb2FkIHJl
c291cmNlcyBhdCBhbGwuCisgICAgaWYgKGFwcGxpY2F0aW9uTmFtZS5pc0VtcHR5KCkpCisgICAg
ICAgIHJldHVybiBzdGFuZGFyZFVzZXJBZ2VudFN0YXRpYygpOworCisgICAgU3RyaW5nIGZpbmFs
QXBwbGljYXRpb25WZXJzaW9uID0gYXBwbGljYXRpb25WZXJzaW9uOworICAgIGlmIChmaW5hbEFw
cGxpY2F0aW9uVmVyc2lvbi5pc0VtcHR5KCkpCisgICAgICAgIGZpbmFsQXBwbGljYXRpb25WZXJz
aW9uID0gdmVyc2lvbkZvclVBU3RyaW5nKCk7CisKKyAgICByZXR1cm4gc3RhbmRhcmRVc2VyQWdl
bnRTdGF0aWMoKSArICcgJyArIGFwcGxpY2F0aW9uTmFtZSArICcvJyArIGZpbmFsQXBwbGljYXRp
b25WZXJzaW9uOworfQorCitTdHJpbmcgc3RhbmRhcmRVc2VyQWdlbnRGb3JVUkwoY29uc3QgVVJM
JiB1cmwpCit7CisgICAgYXV0byBxdWlya3MgPSBVc2VyQWdlbnRRdWlya3M6OnF1aXJrc0ZvclVS
TCh1cmwpOworICAgIC8vIFRoZSBudWxsIHN0cmluZyBtZWFucyB3ZSBkb24ndCBuZWVkIGEgc3Bl
Y2lmaWMgVUEgZm9yIHRoZSBnaXZlbiBVUkwuCisgICAgcmV0dXJuIHF1aXJrcy5pc0VtcHR5KCkg
PyBTdHJpbmcoKSA6IGJ1aWxkVXNlckFnZW50U3RyaW5nKHF1aXJrcyk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Rr
L1VzZXJBZ2VudEd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvVXNlckFnZW50
R3RrLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmZhZWFlOGM1Y2YxN2UxYTU2
MDQyOWFlYjQ0NGU2ZTE0NmViNWU0Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvVXNlckFnZW50R3RrLmNw
cAorKysgL2Rldi9udWxsCkBAIC0xLDE0NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDEyLCAyMDE0LCAyMDE2IElnYWxpYSBTLkwuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVXNlckFnZW50Lmgi
Ci0KLSNpbmNsdWRlICJVUkwuaCIKLSNpbmNsdWRlICJVc2VyQWdlbnRRdWlya3MuaCIKLSNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWls
ZGVyLmg+Ci0KLSNpZiBPUyhVTklYKQotI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+Ci0jZW5kaWYK
LQotLy8gV0FSTklORyEgV0FSTklORyEgV0FSTklORyEKLS8vCi0vLyBUaGUgdXNlciBhZ2VudCBp
cyBsdWRpY3JvdXNseSBmcmFnaWxlLiBUaGUgbW9zdCBpbm5vY2VudCBjaGFuZ2UgY2FuCi0vLyBh
bmQgd2lsbCBicmVhayB3ZWJzaXRlcy4gUmVhZCB0aGUgZ2l0IGxvZyBmb3IgdGhpcyBmaWxlIGNh
cmVmdWxseQotLy8gYmVmb3JlIGNoYW5naW5nIHVzZXIgYWdlbnQgY29uc3RydWN0aW9uLiBZb3Ug
aGF2ZSBiZWVuIHdhcm5lZC4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdGF0aWMgY29uc3Qg
Y2hhciogcGxhdGZvcm1Gb3JVQVN0cmluZygpCi17Ci0jaWYgT1MoTUFDX09TX1gpCi0gICAgcmV0
dXJuICJNYWNpbnRvc2giOwotI2Vsc2UKLSAgICByZXR1cm4gIlgxMSI7Ci0jZW5kaWYKLX0KLQot
c3RhdGljIGNvbnN0IFN0cmluZyBwbGF0Zm9ybVZlcnNpb25Gb3JVQVN0cmluZygpCi17Ci0jaWYg
T1MoVU5JWCkKLSAgICBzdHJ1Y3QgdXRzbmFtZSBuYW1lOwotICAgIHVuYW1lKCZuYW1lKTsKLSAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiB1YU9TVmVyc2lvbihTdHJpbmc6
OmZvcm1hdCgiJXMgJXMiLCBuYW1lLnN5c25hbWUsIG5hbWUubWFjaGluZSkpOwotICAgIHJldHVy
biB1YU9TVmVyc2lvbjsKLSNlbHNlCi0gICAgLy8gV2Ugd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUg
U2FmYXJpIGluIEludGVsIE1hYyBPUyBYLCBzaW5jZSBTYWZhcmkgd2l0aG91dAotICAgIC8vIE9T
IFggb3IgYW55dGhpbmcgb24gQVJNIHRyaWdnZXJzIG1vYmlsZSB2ZXJzaW9ucyBvZiBzb21lIHdl
YnNpdGVzLgotICAgIC8vCi0gICAgLy8gRklYTUU6IFRoZSBmaW5hbCByZXN1bHQgc2hvdWxkIGlu
Y2x1ZGUgT1MgdmVyc2lvbiwgZS5nLiAiSW50ZWwgTWFjIE9TIFggMTBfOF80Ii4KLSAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiB1YU9TVmVyc2lvbihNQUtFX1NUQVRJQ19T
VFJJTkdfSU1QTCgiSW50ZWwgTWFjIE9TIFgiKSk7Ci0gICAgcmV0dXJuIHVhT1NWZXJzaW9uOwot
I2VuZGlmCi19Ci0KLXN0YXRpYyBjb25zdCBjaGFyKiB2ZXJzaW9uRm9yVUFTdHJpbmcoKQotewot
ICAgIHJldHVybiBVU0VSX0FHRU5UX0dUS19NQUpPUl9WRVJTSU9OICIuIiBVU0VSX0FHRU5UX0dU
S19NSU5PUl9WRVJTSU9OOwotfQotCi1zdGF0aWMgU3RyaW5nIGJ1aWxkVXNlckFnZW50U3RyaW5n
KGNvbnN0IFVzZXJBZ2VudFF1aXJrcyYgcXVpcmtzKQotewotICAgIFN0cmluZ0J1aWxkZXIgdWFT
dHJpbmc7Ci0gICAgdWFTdHJpbmcuYXBwZW5kTGl0ZXJhbCgiTW96aWxsYS81LjAgIik7Ci0gICAg
dWFTdHJpbmcuYXBwZW5kKCcoJyk7Ci0KLSAgICBpZiAocXVpcmtzLmNvbnRhaW5zKFVzZXJBZ2Vu
dFF1aXJrczo6TmVlZHNNYWNpbnRvc2hQbGF0Zm9ybSkpCi0gICAgICAgIHVhU3RyaW5nLmFwcGVu
ZChVc2VyQWdlbnRRdWlya3M6OnN0cmluZ0ZvclF1aXJrKFVzZXJBZ2VudFF1aXJrczo6TmVlZHNN
YWNpbnRvc2hQbGF0Zm9ybSkpOwotICAgIGVsc2UgaWYgKHF1aXJrcy5jb250YWlucyhVc2VyQWdl
bnRRdWlya3M6Ok5lZWRzTGludXhEZXNrdG9wUGxhdGZvcm0pKQotICAgICAgICB1YVN0cmluZy5h
cHBlbmQoVXNlckFnZW50UXVpcmtzOjpzdHJpbmdGb3JRdWlyayhVc2VyQWdlbnRRdWlya3M6Ok5l
ZWRzTGludXhEZXNrdG9wUGxhdGZvcm0pKTsKLSAgICBlbHNlIHsKLSAgICAgICAgdWFTdHJpbmcu
YXBwZW5kKHBsYXRmb3JtRm9yVUFTdHJpbmcoKSk7Ci0gICAgICAgIHVhU3RyaW5nLmFwcGVuZExp
dGVyYWwoIjsgIik7Ci0gICAgICAgIHVhU3RyaW5nLmFwcGVuZChwbGF0Zm9ybVZlcnNpb25Gb3JV
QVN0cmluZygpKTsKLSAgICB9Ci0KLSAgICB1YVN0cmluZy5hcHBlbmRMaXRlcmFsKCIpIEFwcGxl
V2ViS2l0LyIpOwotICAgIHVhU3RyaW5nLmFwcGVuZCh2ZXJzaW9uRm9yVUFTdHJpbmcoKSk7Ci0g
ICAgdWFTdHJpbmcuYXBwZW5kTGl0ZXJhbCgiIChLSFRNTCwgbGlrZSBHZWNrbykgIik7Ci0KLSAg
ICAvLyBOb3RlIHRoYXQgQ2hyb21lIFVBcyBhZHZlcnRpc2UgKmJvdGgqIENocm9tZSBhbmQgU2Fm
YXJpLgotICAgIGlmIChxdWlya3MuY29udGFpbnMoVXNlckFnZW50UXVpcmtzOjpOZWVkc0Nocm9t
ZUJyb3dzZXIpKSB7Ci0gICAgICAgIHVhU3RyaW5nLmFwcGVuZChVc2VyQWdlbnRRdWlya3M6OnN0
cmluZ0ZvclF1aXJrKFVzZXJBZ2VudFF1aXJrczo6TmVlZHNDaHJvbWVCcm93c2VyKSk7Ci0gICAg
ICAgIHVhU3RyaW5nLmFwcGVuZExpdGVyYWwoIiAiKTsKLSAgICB9Ci0KLSAgICAvLyBWZXJzaW9u
L1ggaXMgbWFuZGF0b3J5ICpiZWZvcmUqIFNhZmFyaS9YIHRvIGJlIGEgdmFsaWQgU2FmYXJpIFVB
LiBTZWUKLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMz
NDAzIGZvciBkZXRhaWxzLgotICAgIHVhU3RyaW5nLmFwcGVuZExpdGVyYWwoIlZlcnNpb24vMTEu
MCBTYWZhcmkvIik7Ci0gICAgdWFTdHJpbmcuYXBwZW5kKHZlcnNpb25Gb3JVQVN0cmluZygpKTsK
LQotICAgIHJldHVybiB1YVN0cmluZy50b1N0cmluZygpOwotfQotCi1zdGF0aWMgY29uc3QgU3Ry
aW5nIHN0YW5kYXJkVXNlckFnZW50U3RhdGljKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8Y29uc3QgU3RyaW5nPiB1YVN0YXRpYyhidWlsZFVzZXJBZ2VudFN0cmluZyhVc2VyQWdlbnRR
dWlya3MoKSkpOwotICAgIHJldHVybiB1YVN0YXRpYzsKLX0KLQotU3RyaW5nIHN0YW5kYXJkVXNl
ckFnZW50KGNvbnN0IFN0cmluZyYgYXBwbGljYXRpb25OYW1lLCBjb25zdCBTdHJpbmcmIGFwcGxp
Y2F0aW9uVmVyc2lvbikKLXsKLSAgICAvLyBDcmVhdGUgYSBkZWZhdWx0IHVzZXIgYWdlbnQgc3Ry
aW5nIHdpdGggYSBsaWJlcmFsIGludGVycHJldGF0aW9uIG9mCi0gICAgLy8gaHR0cHM6Ly9kZXZl
bG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9Vc2VyX0FnZW50X1N0cmluZ3NfUmVmZXJlbmNl
Ci0gICAgLy8KLSAgICAvLyBGb3JtaW5nIGEgZnVuY3Rpb25hbCB1c2VyIGFnZW50IGlzIHJlYWxs
eSBkaWZmaWN1bHQuIFdlIG11c3QgbWVudGlvbiBTYWZhcmksIGJlY2F1c2Ugc29tZQotICAgIC8v
IHNpdGVzIGNoZWNrIGZvciB0aGF0IHdoZW4gZGV0ZWN0aW5nIFdlYktpdCBicm93c2Vycy4gQWRk
aXRpb25hbGx5IHNvbWUgc2l0ZXMgYXNzdW1lIHRoYXQKLSAgICAvLyBicm93c2VycyB0aGF0IGFy
ZSAiU2FmYXJpIiBidXQgbm90IHJ1bm5pbmcgb24gT1MgWCBhcmUgdGhlIFNhZmFyaSBpT1MgYnJv
d3Nlci4gR2V0dGluZyB0aGlzCi0gICAgLy8gd3JvbmcgY2FuIGNhdXNlIHNpdGVzIHRvIGxvYWQg
dGhlIHdyb25nIEphdmFTY3JpcHQsIENTUywgb3IgY3VzdG9tIGZvbnRzLiBJbiBzb21lIGNhc2Vz
Ci0gICAgLy8gc2l0ZXMgd29uJ3QgbG9hZCByZXNvdXJjZXMgYXQgYWxsLgotICAgIGlmIChhcHBs
aWNhdGlvbk5hbWUuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gc3RhbmRhcmRVc2VyQWdlbnRT
dGF0aWMoKTsKLQotICAgIFN0cmluZyBmaW5hbEFwcGxpY2F0aW9uVmVyc2lvbiA9IGFwcGxpY2F0
aW9uVmVyc2lvbjsKLSAgICBpZiAoZmluYWxBcHBsaWNhdGlvblZlcnNpb24uaXNFbXB0eSgpKQot
ICAgICAgICBmaW5hbEFwcGxpY2F0aW9uVmVyc2lvbiA9IHZlcnNpb25Gb3JVQVN0cmluZygpOwot
Ci0gICAgcmV0dXJuIHN0YW5kYXJkVXNlckFnZW50U3RhdGljKCkgKyAnICcgKyBhcHBsaWNhdGlv
bk5hbWUgKyAnLycgKyBmaW5hbEFwcGxpY2F0aW9uVmVyc2lvbjsKLX0KLQotU3RyaW5nIHN0YW5k
YXJkVXNlckFnZW50Rm9yVVJMKGNvbnN0IFVSTCYgdXJsKQotewotICAgIGF1dG8gcXVpcmtzID0g
VXNlckFnZW50UXVpcmtzOjpxdWlya3NGb3JVUkwodXJsKTsKLSAgICAvLyBUaGUgbnVsbCBzdHJp
bmcgbWVhbnMgd2UgZG9uJ3QgbmVlZCBhIHNwZWNpZmljIFVBIGZvciB0aGUgZ2l2ZW4gVVJMLgot
ICAgIHJldHVybiBxdWlya3MuaXNFbXB0eSgpID8gU3RyaW5nKCkgOiBidWlsZFVzZXJBZ2VudFN0
cmluZyhxdWlya3MpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcAppbmRleCBj
NDA0YjhiNzI1ODY4NDAyNzUzYjJmZDJmYjFlNWYzM2Y2OGMyZTk5Li5hZmVmODkzMmFhMzBiZjU5
YjllMDBlYWU2NjJhNjY4ODJmOTJiMDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwCkBAIC0yODUwLDcgKzI4NTAsNiBAQCB2
b2lkIHdlYmtpdF9zZXR0aW5nc19zZXRfdXNlcl9hZ2VudChXZWJLaXRTZXR0aW5ncyogc2V0dGlu
Z3MsIGNvbnN0IGNoYXIqIHVzZXJBZwogewogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lT
X1NFVFRJTkdTKHNldHRpbmdzKSk7CiAKLSNpZiBQTEFURk9STShHVEspCiAgICAgV2ViS2l0U2V0
dGluZ3NQcml2YXRlKiBwcml2ID0gc2V0dGluZ3MtPnByaXY7CiAgICAgQ1N0cmluZyBuZXdVc2Vy
QWdlbnQgPSAoIXVzZXJBZ2VudCB8fCAhc3RybGVuKHVzZXJBZ2VudCkpID8gV2ViQ29yZTo6c3Rh
bmRhcmRVc2VyQWdlbnQoIiIpLnV0ZjgoKSA6IHVzZXJBZ2VudDsKICAgICBpZiAobmV3VXNlckFn
ZW50ID09IHByaXYtPnVzZXJBZ2VudCkKQEAgLTI4NTgsOSArMjg1Nyw2IEBAIHZvaWQgd2Via2l0
X3NldHRpbmdzX3NldF91c2VyX2FnZW50KFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncywgY29uc3Qg
Y2hhciogdXNlckFnCiAKICAgICBwcml2LT51c2VyQWdlbnQgPSBuZXdVc2VyQWdlbnQ7CiAgICAg
Z19vYmplY3Rfbm90aWZ5KEdfT0JKRUNUKHNldHRpbmdzKSwgInVzZXItYWdlbnQiKTsKLSNlbGlm
IFBMQVRGT1JNKFdQRSkKLSAgICAvLyBGSVhNRTogV1BFIHNob3VsZCBpbXBsZW1lbnQgV2ViQ29y
ZTo6c3RhbmRhcmRVc2VyQWdlbnQuCi0jZW5kaWYKIH0KIAogLyoqCkBAIC0yODc3LDEyICsyODcz
LDggQEAgdm9pZCB3ZWJraXRfc2V0dGluZ3Nfc2V0X3VzZXJfYWdlbnRfd2l0aF9hcHBsaWNhdGlv
bl9kZXRhaWxzKFdlYktpdFNldHRpbmdzKiBzZXQKIHsKICAgICBnX3JldHVybl9pZl9mYWlsKFdF
QktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncykpOwogCi0jaWYgUExBVEZPUk0oR1RLKQogICAgIENT
dHJpbmcgbmV3VXNlckFnZW50ID0gV2ViQ29yZTo6c3RhbmRhcmRVc2VyQWdlbnQoU3RyaW5nOjpm
cm9tVVRGOChhcHBsaWNhdGlvbk5hbWUpLCBTdHJpbmc6OmZyb21VVEY4KGFwcGxpY2F0aW9uVmVy
c2lvbikpLnV0ZjgoKTsKICAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X3VzZXJfYWdlbnQoc2V0dGlu
Z3MsIG5ld1VzZXJBZ2VudC5kYXRhKCkpOwotI2VsaWYgUExBVEZPUk0oV1BFKQotICAgIC8vIEZJ
WE1FOiBXUEUgc2hvdWxkIGltcGxlbWVudCBXZWJDb3JlOjpzdGFuZGFyZFVzZXJBZ2VudC4KLSNl
bmRpZgogfQogCiAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dwZS9X
ZWJQYWdlUHJveHlXUEUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYlBhZ2VQ
cm94eVdQRS5jcHAKaW5kZXggM2QyNzY1YjYzZjAwOWFhZmY4NmUzYjJiNDU0NDE4NjE0ZWUxMjQ1
OC4uMmZhNzJmMDcwNzIzZmM5OTlhNzI0MmRiNzFmN2M4ODlmZDVjY2RkNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYlBhZ2VQcm94eVdQRS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYlBhZ2VQcm94eVdQRS5jcHAKQEAgLTI5LDYgKzI5
LDcgQEAKICNpbmNsdWRlICJQYWdlQ2xpZW50SW1wbC5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRh
U3RvcmUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9Vc2VyQWdlbnQuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTQyLDkgKzQz
LDkgQEAgSlNHbG9iYWxDb250ZXh0UmVmIFdlYlBhZ2VQcm94eTo6amF2YXNjcmlwdEdsb2JhbENv
bnRleHQoKQogICAgIHJldHVybiBtX3BhZ2VDbGllbnQuamF2YXNjcmlwdEdsb2JhbENvbnRleHQo
KTsKIH0KIAotU3RyaW5nIFdlYlBhZ2VQcm94eTo6c3RhbmRhcmRVc2VyQWdlbnQoY29uc3QgU3Ry
aW5nJikKK1N0cmluZyBXZWJQYWdlUHJveHk6OnN0YW5kYXJkVXNlckFnZW50KGNvbnN0IFN0cmlu
ZyYgYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50KQogewotICAgIHJldHVybiAiTW96aWxsYS81
LjAgKExpbnV4OyB4ODZfNjQgR05VL0xpbnV4KSBBcHBsZVdlYktpdC82MDEuMSAoS0hUTUwsIGxp
a2UgR2Vja28pIFZlcnNpb24vOC4wIFNhZmFyaS82MDEuMSI7CisgICAgcmV0dXJuIFdlYkNvcmU6
OnN0YW5kYXJkVXNlckFnZW50KGFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCk7CiB9CiAKIHZv
aWQgV2ViUGFnZVByb3h5OjpzYXZlUmVjZW50U2VhcmNoZXMoY29uc3QgU3RyaW5nJiwgY29uc3Qg
VmVjdG9yPFdlYkNvcmU6OlJlY2VudFNlYXJjaD4mKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtl
L09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQppbmRleCAz
ZjczNzJkMDBkZjA0YmIxN2UwNDFiOGZmMzM2NGQwNjRiNmJkYzgxLi4zYWMyMDg0OGFkMTdkYzJm
ODhjMzA1YzRjNmQ2MjQ5MGM5ZTZlZTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9u
c0dUSy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQpAQCAtMTk0LDgg
KzE5NCw4IEBAIHNldChFTkFCTEVfUExVR0lOX1BST0NFU1MgJHtFTkFCTEVfTkVUU0NBUEVfUExV
R0lOX0FQSX0pCiBhZGRfZGVmaW5pdGlvbnMoLURCVUlMRElOR19HVEtfXz0xKQogYWRkX2RlZmlu
aXRpb25zKC1ER0VUVEVYVF9QQUNLQUdFPSJXZWJLaXQyR1RLLSR7V0VCS0lUR1RLX0FQSV9WRVJT
SU9OfSIpCiBhZGRfZGVmaW5pdGlvbnMoLUREQVRBX0RJUj0iJHtDTUFLRV9JTlNUQUxMX0RBVEFE
SVJ9IikKLWFkZF9kZWZpbml0aW9ucygtRFVTRVJfQUdFTlRfR1RLX01BSk9SX1ZFUlNJT049IjYw
NCIpCi1hZGRfZGVmaW5pdGlvbnMoLURVU0VSX0FHRU5UX0dUS19NSU5PUl9WRVJTSU9OPSIxIikK
K2FkZF9kZWZpbml0aW9ucygtRFVTRVJfQUdFTlRfR0xJQl9NQUpPUl9WRVJTSU9OPSI2MDQiKQor
YWRkX2RlZmluaXRpb25zKC1EVVNFUl9BR0VOVF9HTElCX01JTk9SX1ZFUlNJT049IjEiKQogYWRk
X2RlZmluaXRpb25zKC1EV0VCS0lUR1RLX0FQSV9WRVJTSU9OX1NUUklORz0iJHtXRUJLSVRHVEtf
QVBJX1ZFUlNJT059IikKIAogc2V0KEdUS19MSUJSQVJJRVMgJHtHVEszX0xJQlJBUklFU30pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc1dQRS5jbWFrZSBiL1NvdXJjZS9jbWFrZS9P
cHRpb25zV1BFLmNtYWtlCmluZGV4IDgzMmNlYTAyMjRhZTJmNmRhNTg0MjY4OWM1Mzc5MmExMGMy
ODJiNzIuLjIyMDhjZjRkYTA3Yjc2ZDE2NGQ1ODdkOWM4ZGQ1NTA4MWQxM2MxMjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRp
b25zV1BFLmNtYWtlCkBAIC0xMjYsNiArMTI2LDggQEAgZW5kaWYgKCkKIGFkZF9kZWZpbml0aW9u
cygtREJVSUxESU5HX1dQRV9fPTEpCiBhZGRfZGVmaW5pdGlvbnMoLURHRVRURVhUX1BBQ0tBR0U9
IldQRSIpCiBhZGRfZGVmaW5pdGlvbnMoLUREQVRBX0RJUj0iJHtDTUFLRV9JTlNUQUxMX0RBVEFE
SVJ9IikKK2FkZF9kZWZpbml0aW9ucygtRFVTRVJfQUdFTlRfR0xJQl9NQUpPUl9WRVJTSU9OPSI2
MDEiKQorYWRkX2RlZmluaXRpb25zKC1EVVNFUl9BR0VOVF9HTElCX01JTk9SX1ZFUlNJT049IjEi
KQogCiBzZXQoVVNFX1VESVM4NiAxKQogCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VM
b2cKaW5kZXggZTVkN2UzMzc5OGNlYzhmM2JjODRkYzE3MWMwMjZlMzRhYzU5ZGZhMS4uNzYxYjNh
YzMwOTM0NzE0ZWUyNTk4YWNkZGRkMTQ5MmQwNjk0NTc5NiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9n
CisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA4LTEyICBBZHJpYW4gUGVy
ZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dQRV0gSW1wbGVt
ZW50IFdlYkNvcmU6OnN0YW5kYXJkVXNlckFnZW50KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTUwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBtaXNzaW5nIFVzZXItQWdlbnQgaGFu
ZGxpbmcgZm9yIHRoZSBXUEUgcG9ydCBieSBzaGFyaW5nIHRoZSBjb2RlIHdpdGggdGhlIEdUSysg
cG9ydC4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlOiBSZW5hbWUg
IkdUSyIgd2l0aCAiR0xJQiIgaW4gVUEgdmVyc2lvbiBtYWNyb3MuCisgICAgICAgICogU291cmNl
L2NtYWtlL09wdGlvbnNXUEUuY21ha2U6IEFkZCBVQSB2ZXJzaW9uIG1hY3Jvcy4KKwogMjAxNy0w
OC0xMSAgS29uc3RhbnRpbiBUb2thcmV2ICA8YW5udWxlbkB5YW5kZXgucnU+CiAKICAgICAgICAg
W0NNYWtlXSBGaXggYnJva2VuIHVzZSBvZiBSRVFVSVJFRCB3aXRoIGZpbmQgbW9kdWxlcwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318042</attachid>
            <date>2017-08-14 09:44:33 -0700</date>
            <delta_ts>2017-08-14 11:42:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175507-20170814194432.patch</filename>
            <type>text/plain</type>
            <size>3474</size>
            <attacher name="Adrian Perez">aperez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNjk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA0ZjQ1ZDE4YmQwNzUz
ODdlZjUwZGE0ZmMyZWEyOTc0OTFkOTdmZC4uMTEyOGJjNTY2MjUwODBjMjE2NjQ0MDRhM2I4Njlj
MDI5MWNiMTExZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA4LTE0ICBBZHJp
YW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dQRV0g
SW1wbGVtZW50IFdlYkNvcmU6OnN0YW5kYXJkVXNlckFnZW50KCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTUwNworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSAiX0dMSUIiIGZyb20gdXNlci1h
Z2VudCB2ZXJzaW9uIG1hY3Jvcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dsaWIvVXNlckFnZW50
R0xpYi5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2ZXJzaW9uRm9yVUFTdHJpbmcpOgorCiAyMDE3
LTA4LTE0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCBmaXggYWZ0ZXIgcjIyMDYyMiB0byBhZGRyZXNzIGNyYXNoZXMgb24gaU9TLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9Vc2VyQWdlbnRHTGliLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvVXNlckFnZW50R0xpYi5jcHAKaW5kZXggYzg2M2Rh
NjEwYTM3NDI3Nzg1ODNlMzA3NzRlYzcyN2RiZGZhNmFmOC4uOGVhYmViZTJlYzAyOWQ4MTM3OTFm
MzQyYzY3N2M0M2VlNjM3MzNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z2xpYi9Vc2VyQWdlbnRHTGliLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGli
L1VzZXJBZ2VudEdMaWIuY3BwCkBAIC03Miw3ICs3Miw3IEBAIHN0YXRpYyBjb25zdCBTdHJpbmcg
cGxhdGZvcm1WZXJzaW9uRm9yVUFTdHJpbmcoKQogCiBzdGF0aWMgY29uc3QgY2hhciogdmVyc2lv
bkZvclVBU3RyaW5nKCkKIHsKLSAgICByZXR1cm4gVVNFUl9BR0VOVF9HTElCX01BSk9SX1ZFUlNJ
T04gIi4iIFVTRVJfQUdFTlRfR0xJQl9NSU5PUl9WRVJTSU9OOworICAgIHJldHVybiBVU0VSX0FH
RU5UX01BSk9SX1ZFUlNJT04gIi4iIFVTRVJfQUdFTlRfTUlOT1JfVkVSU0lPTjsKIH0KIAogc3Rh
dGljIFN0cmluZyBidWlsZFVzZXJBZ2VudFN0cmluZyhjb25zdCBVc2VyQWdlbnRRdWlya3MmIHF1
aXJrcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlIGIvU291cmNl
L2NtYWtlL09wdGlvbnNHVEsuY21ha2UKaW5kZXggM2FjMjA4NDhhZDE3ZGMyZjg4YzMwNWM0YzZk
NjI0OTBjOWU2ZWUyYi4uY2U2MWE0ZjAwZTVlNTdjMDdjMzc5N2ZkOGI5OWIyMDhmYzc5ZjMwNCAx
MDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKKysrIGIvU291cmNlL2Nt
YWtlL09wdGlvbnNHVEsuY21ha2UKQEAgLTE5NCw4ICsxOTQsOCBAQCBzZXQoRU5BQkxFX1BMVUdJ
Tl9QUk9DRVNTICR7RU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEl9KQogYWRkX2RlZmluaXRpb25z
KC1EQlVJTERJTkdfR1RLX189MSkKIGFkZF9kZWZpbml0aW9ucygtREdFVFRFWFRfUEFDS0FHRT0i
V2ViS2l0MkdUSy0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0iKQogYWRkX2RlZmluaXRpb25zKC1E
REFUQV9ESVI9IiR7Q01BS0VfSU5TVEFMTF9EQVRBRElSfSIpCi1hZGRfZGVmaW5pdGlvbnMoLURV
U0VSX0FHRU5UX0dMSUJfTUFKT1JfVkVSU0lPTj0iNjA0IikKLWFkZF9kZWZpbml0aW9ucygtRFVT
RVJfQUdFTlRfR0xJQl9NSU5PUl9WRVJTSU9OPSIxIikKK2FkZF9kZWZpbml0aW9ucygtRFVTRVJf
QUdFTlRfTUFKT1JfVkVSU0lPTj0iNjA0IikKK2FkZF9kZWZpbml0aW9ucygtRFVTRVJfQUdFTlRf
TUlOT1JfVkVSU0lPTj0iMSIpCiBhZGRfZGVmaW5pdGlvbnMoLURXRUJLSVRHVEtfQVBJX1ZFUlNJ
T05fU1RSSU5HPSIke1dFQktJVEdUS19BUElfVkVSU0lPTn0iKQogCiBzZXQoR1RLX0xJQlJBUklF
UyAke0dUSzNfTElCUkFSSUVTfSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BF
LmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UKaW5kZXggMjIwOGNmNGRhMDdi
NzZkMTY0ZDU4N2Q5YzhkZDU1MDgxZDEzYzEyOS4uZmQzYjg2MGZjNDVkNmZmMmNmY2JmMzQ2YTMx
N2MxZDMyNjk0ODgwYiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UK
KysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UKQEAgLTEyNiw4ICsxMjYsOCBAQCBl
bmRpZiAoKQogYWRkX2RlZmluaXRpb25zKC1EQlVJTERJTkdfV1BFX189MSkKIGFkZF9kZWZpbml0
aW9ucygtREdFVFRFWFRfUEFDS0FHRT0iV1BFIikKIGFkZF9kZWZpbml0aW9ucygtRERBVEFfRElS
PSIke0NNQUtFX0lOU1RBTExfREFUQURJUn0iKQotYWRkX2RlZmluaXRpb25zKC1EVVNFUl9BR0VO
VF9HTElCX01BSk9SX1ZFUlNJT049IjYwMSIpCi1hZGRfZGVmaW5pdGlvbnMoLURVU0VSX0FHRU5U
X0dMSUJfTUlOT1JfVkVSU0lPTj0iMSIpCithZGRfZGVmaW5pdGlvbnMoLURVU0VSX0FHRU5UX01B
Sk9SX1ZFUlNJT049IjYwMSIpCithZGRfZGVmaW5pdGlvbnMoLURVU0VSX0FHRU5UX01JTk9SX1ZF
UlNJT049IjEiKQogCiBzZXQoVVNFX1VESVM4NiAxKQogCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cg
Yi9DaGFuZ2VMb2cKaW5kZXggYzFkMGQ0MTNhMDBkNzUzNzg3OGY4Mjc3OWE4MTRiOGVjODFiMDI5
ZS4uYmYwNDEwNmZiMzdkMDhhMjA3MTU4YTI1M2Q3NDEyNDU5MDRiZTRkMCAxMDA2NDQKLS0tIGEv
Q2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA4LTE0ICBB
ZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dQ
RV0gSW1wbGVtZW50IFdlYkNvcmU6OnN0YW5kYXJkVXNlckFnZW50KCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTUwNworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSAiX0dMSUIiIGZyb20gdXNl
ci1hZ2VudCB2ZXJzaW9uIG1hY3Jvcy4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25z
R1RLLmNtYWtlOgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlOgorCiAy
MDE3LTA4LTEzICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW1dQRV0gSW1wbGVtZW50IFdlYkNvcmU6OnN0YW5kYXJkVXNlckFnZW50KCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>