<?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>143375</bug_id>
          
          <creation_ts>2015-04-03 08:14:50 -0700</creation_ts>
          <short_desc>[ES6] Enable Symbol in web pages</short_desc>
          <delta_ts>2015-04-12 17:05:57 -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>JavaScriptCore</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>141106</dependson>
    
    <dependson>143404</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1082559</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-04-03 08:14:50 -0700</bug_when>
    <thetext>Originally, it is hidden in web pages because it causes Facebook&apos;s comment input.
When landing Object.getOwnPropertySymbols, original issue is solved, so I think it&apos;s time to enable Symbols in web pages.

And I suggest exposing only effective well-known symbols.
Here&apos;s all well-known symbols.

Specification Name	[[Description]]	Value and Purpose
@@hasInstance	&quot;Symbol.hasInstance&quot;	A method that determines if a constructor object recognizes an object as one of the constructor’s instances. Called by the semantics of the instanceof operator.
@@isConcatSpreadable	&quot;Symbol.isConcatSpreadable&quot;	A Boolean valued property that if true indicates that an object should be flattened to its array elements by Array.prototype.concat.
@@iterator	&quot;Symbol.iterator&quot;	A method that returns the default Iterator for an object. Called by the semantics of the for-of statement.
@@match	&quot;Symbol.match&quot;	A regular expression method that matches the regular expression against a string. Called by the String.prototype.match method.
@@replace	&quot;Symbol.replace&quot;	A regular expression method that replaces matched substrings of a string. Called by the String.prototype.replace method.
@@search	&quot;Symbol.search&quot;	A regular expression method that returns the index within a string that matches the regular expression. Called by the String.prototype.search method.
@@species	&quot;Symbol.species&quot;	A function valued property that is the constructor function that is used to create derived objects.
@@split	&quot;Symbol.split&quot;	A regular expression method that splits a string at the indices that match the regular expression. Called by the String.prototype.split method.
@@toPrimitive	&quot;Symbol.toPrimitive&quot;	A method that converts an object to a corresponding primitive value. Called by the ToPrimitive abstract operation.
@@toStringTag	&quot;Symbol.toStringTag&quot;	A String valued property that is used in the creation of the default string description of an object. Accessed by the built-in method Object.prototype.toString.
@@unscopables	&quot;Symbol.unscopables&quot;	An object valued property whose own property names are property names that are excluded from the with environment bindings of the associated object.

In them, JSC supports the following 2 symbols. So at this time, exposing them.

@@iterator
@@unscopables</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082907</commentid>
    <comment_count>1</comment_count>
      <attachid>250160</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-04-05 12:04:04 -0700</bug_when>
    <thetext>Created attachment 250160
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082908</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-04-05 12:05:21 -0700</bug_when>
    <thetext>After https://bugs.webkit.org/show_bug.cgi?id=143404, I&apos;m planning to land it and enable symbols in web pages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082909</commentid>
    <comment_count>3</comment_count>
      <attachid>250160</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-04-05 12:07:50 -0700</bug_when>
    <thetext>Comment on attachment 250160
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:18
&gt; +        and makes enabling symbols by default.

Or is it preferable to drop this runtime flag completely?
This runtime flag will affect when adding Array.prototype.values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082921</commentid>
    <comment_count>4</comment_count>
      <attachid>250160</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-04-05 13:10:49 -0700</bug_when>
    <thetext>Comment on attachment 250160
Patch

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

&gt;&gt; Source/JavaScriptCore/ChangeLog:18
&gt;&gt; +        and makes enabling symbols by default.
&gt; 
&gt; Or is it preferable to drop this runtime flag completely?
&gt; This runtime flag will affect when adding Array.prototype.values.

Not sure about others, but I think we should dump it completely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082943</commentid>
    <comment_count>5</comment_count>
      <attachid>250160</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-04-05 14:36:51 -0700</bug_when>
    <thetext>Comment on attachment 250160
Patch

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

&gt;&gt;&gt; Source/JavaScriptCore/ChangeLog:18
&gt;&gt;&gt; +        and makes enabling symbols by default.
&gt;&gt; 
&gt;&gt; Or is it preferable to drop this runtime flag completely?
&gt;&gt; This runtime flag will affect when adding Array.prototype.values.
&gt; 
&gt; Not sure about others, but I think we should dump it completely.

I think we should keep it for a while given the previous attempt to enable this feature broke Facebook.com
although I agree we should remove it eventually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083107</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-04-06 11:02:23 -0700</bug_when>
    <thetext>&gt; I think we should keep it for a while given the previous attempt to enable
&gt; this feature broke Facebook.com
&gt; although I agree we should remove it eventually.

+1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084494</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-04-11 00:38:56 -0700</bug_when>
    <thetext>Are you going to land this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084499</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-04-11 02:14:39 -0700</bug_when>
    <thetext>I was planning to land it after https://bugs.webkit.org/show_bug.cgi?id=143404 is landed.
But maybe Symbol.for is not so used.
So I&apos;ll land it first ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084500</commentid>
    <comment_count>9</comment_count>
      <attachid>250160</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-11 03:03:08 -0700</bug_when>
    <thetext>Comment on attachment 250160
Patch

Clearing flags on attachment: 250160

Committed r182653: &lt;http://trac.webkit.org/changeset/182653&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084501</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-11 03:03:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084504</commentid>
    <comment_count>11</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-04-11 05:20:14 -0700</bug_when>
    <thetext>JSC tests fail.
However, it&apos;s very curious. &quot;weak value == nil&quot; is failed, but in this patch, changes in JSC shell is very few.

Now in this patch, we only attached implemented well known symbols.
So, before this patch, Symbol has the following well known symbols property.
    macro(hasInstance) \
    macro(isConcatSpreadable) \
    macro(iterator) \
    macro(match) \
    macro(replace) \
    macro(search) \
    macro(species) \
    macro(split) \
    macro(toPrimitive) \
    macro(toStringTag) \
    macro(unscopables)

After this patch, we only attached
    macro(iterator) \
    macro(unscopables)

After investigating the cause of JSC tests failure, I&apos;ve found that when adding not implemented well known symbols, JSC tests pass.
    macro(hasInstance) \
    macro(isConcatSpreadable) \
    macro(iterator) \
    macro(match) \
    macro(replace) \
    macro(search) \
    macro(species) \
    macro(split) \
    macro(toPrimitive) \
    macro(toStringTag) \
    macro(unscopables)

But I think it&apos;s storage...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084515</commentid>
    <comment_count>12</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-04-11 07:58:49 -0700</bug_when>
    <thetext>After investigation, I&apos;ve found the test sometimes pass / fail when inserting breakpoint in lldb.
And this failure is caused because the previous JSGlobalObject is not collected.
I suppose that because previous JSGlobalObject&apos;s pointer is still alive in registers or C stacks, it&apos;s not released and it causes this failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084517</commentid>
    <comment_count>13</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-04-11 08:30:18 -0700</bug_when>
    <thetext>OK, so, since it&apos;s related to conservative GC (stack/register values) issue, now tests pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084532</commentid>
    <comment_count>14</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-04-11 10:43:01 -0700</bug_when>
    <thetext>Opened issue for this API test failure.
https://bugs.webkit.org/show_bug.cgi?id=143634</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084585</commentid>
    <comment_count>15</comment_count>
      <attachid>250160</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-11 16:45:35 -0700</bug_when>
    <thetext>Comment on attachment 250160
Patch

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

&gt; Source/WebCore/inspector/InspectorFrontendClientLocal.cpp:124
&gt;      m_frontendPage-&gt;settings().setJavaScriptRuntimeFlags({
&gt; -        JSC::RuntimeFlags::SymbolEnabled
&gt;      });

Does this function need to be called at all with the empty arguments?

&gt; Source/WebKit/mac/WebView/WebPreferencesPrivate.h:56
&gt; -    WebKitJavaScriptRuntimeFlagsSymbolEnabled = 1u &lt;&lt; 0,
&gt; +    WebKitJavaScriptRuntimeFlagsSymbolDisabled = 1u &lt;&lt; 0,

Why do we have an SPI flag for this, does any WebKit client want to disable Symbol?

&quot;Private&quot; headers are SPI, meaning that internal Apple clients can rely on them. So, exposing more than we need has a long-term cost, and once they are exposed, they generally cannot be changed.

&gt; Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h:53
&gt; -    kWKJavaScriptRuntimeFlagsSymbolEnabled = 1 &lt;&lt; 0,
&gt; +    kWKJavaScriptRuntimeFlagsSymbolDisabled = 1 &lt;&lt; 0,

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084623</commentid>
    <comment_count>16</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-04-12 02:51:20 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt;
&gt; &gt; Source/WebKit/mac/WebView/WebPreferencesPrivate.h:56
&gt; &gt; -    WebKitJavaScriptRuntimeFlagsSymbolEnabled = 1u &lt;&lt; 0,
&gt; &gt; +    WebKitJavaScriptRuntimeFlagsSymbolDisabled = 1u &lt;&lt; 0,
&gt; 
&gt; Why do we have an SPI flag for this, does any WebKit client want to disable
&gt; Symbol?
&gt; 
&gt; &quot;Private&quot; headers are SPI, meaning that internal Apple clients can rely on
&gt; them. So, exposing more than we need has a long-term cost, and once they are
&gt; exposed, they generally cannot be changed.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h:53
&gt; &gt; -    kWKJavaScriptRuntimeFlagsSymbolEnabled = 1 &lt;&lt; 0,
&gt; &gt; +    kWKJavaScriptRuntimeFlagsSymbolDisabled = 1 &lt;&lt; 0,
&gt; 
&gt; Ditto.

That&apos;s a good point. We should probably remove these runtime flags from private headers right now since we don&apos;t need them to disable the feature on websites.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084660</commentid>
    <comment_count>17</comment_count>
      <attachid>250160</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-04-12 10:24:39 -0700</bug_when>
    <thetext>Comment on attachment 250160
Patch

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

&gt;&gt; Source/WebCore/inspector/InspectorFrontendClientLocal.cpp:124
&gt;&gt;      });
&gt; 
&gt; Does this function need to be called at all with the empty arguments?

To search runtime flags when changing it, calling it here is nice I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084661</commentid>
    <comment_count>18</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-04-12 10:25:03 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt;
&gt; &gt; &gt; Source/WebKit/mac/WebView/WebPreferencesPrivate.h:56
&gt; &gt; &gt; -    WebKitJavaScriptRuntimeFlagsSymbolEnabled = 1u &lt;&lt; 0,
&gt; &gt; &gt; +    WebKitJavaScriptRuntimeFlagsSymbolDisabled = 1u &lt;&lt; 0,
&gt; &gt; 
&gt; &gt; Why do we have an SPI flag for this, does any WebKit client want to disable
&gt; &gt; Symbol?
&gt; &gt; 
&gt; &gt; &quot;Private&quot; headers are SPI, meaning that internal Apple clients can rely on
&gt; &gt; them. So, exposing more than we need has a long-term cost, and once they are
&gt; &gt; exposed, they generally cannot be changed.
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h:53
&gt; &gt; &gt; -    kWKJavaScriptRuntimeFlagsSymbolEnabled = 1 &lt;&lt; 0,
&gt; &gt; &gt; +    kWKJavaScriptRuntimeFlagsSymbolDisabled = 1 &lt;&lt; 0,
&gt; &gt; 
&gt; &gt; Ditto.
&gt; 
&gt; That&apos;s a good point. We should probably remove these runtime flags from
&gt; private headers right now since we don&apos;t need them to disable the feature on
&gt; websites.

Is it better moving them to public headers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084704</commentid>
    <comment_count>19</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-04-12 17:05:57 -0700</bug_when>
    <thetext>No, we shouldn&apos;t expose it as SPI or API.
Random app embedding WebKit shouldn&apos;t be able to change this runtime flag at all since we want to remove it soon. For binary compatibility, we can&apos;t easily remove SPI or API once added.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250160</attachid>
            <date>2015-04-05 12:04:04 -0700</date>
            <delta_ts>2015-04-11 03:03:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143375-20150406040316.patch</filename>
            <type>text/plain</type>
            <size>14866</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
OWM3NzZmOGEwNGYwZjk5NTg1YWFlZGZmYTQ5NTc4ZDk1NzAxZjA1Li4zMzQ1MDdmYmIzMjlmYTM0
MDRiZjgyMGQ0NDdiYTgxZTE1M2I1NjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAxNS0wNC0wNSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRVM2XSBFbmFibGUgU3ltYm9sIGluIHdlYiBwYWdlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzMzc1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3NlIFN5bWJvbCB0
byB3ZWIgcGFnZXMuCisgICAgICAgIFN5bWJvbCB3YXMgZXhwb3NlZCwgYnV0IGl0IHdhcyBoaWRk
ZW4gc2luY2UgaXQgYnJlYWtzIEZhY2Vib29rIGNvbW1lbnRzLgorICAgICAgICBUaGlzIGlzIGJl
Y2F1c2UgYXQgdGhhdCB0aW1lIFN5bWJvbCBpcyBpbXBsZW1lbnRlZCwKKyAgICAgICAgYnV0IG1l
dGhvZHMgZm9yIFN5bWJvbC5pdGVyYXRvciBhbmQgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9s
cyBhcmUgbm90IGltcGxlbWVudGVkIHlldAorICAgICAgICBhbmQgaXQgYnJlYWtzIFJlYWN0Lmpz
IGFuZCBpbW11dGFibGUuanMuCisKKyAgICAgICAgTm93IG1ldGhvZHMgZm9yIFN5bWJvbC5pdGVy
YXRvciBhbmQgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyBhcmUgaW1wbGVtZW50ZWQKKyAg
ICAgICAgYW5kIG1ha2Ugc3VyZSB0aGF0IEZhY2Vib29rIGNvbW1lbnQgaW5wdXQgZnVuY3Rpb25h
bGl0eSBpcyBub3QgYnJva2VuIHdpdGggZXhwb3NlZCBTeW1ib2wuCisKKyAgICAgICAgU28gdGhp
cyBwYXRjaCByZXBsYWNlcyBydW50aW1lIGZsYWdzIFN5bWJvbEVuYWJsZWQgdG8gU3ltYm9sRGlz
YWJsZWQKKyAgICAgICAgYW5kIG1ha2VzIGVuYWJsaW5nIHN5bWJvbHMgYnkgZGVmYXVsdC4KKwor
ICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpBcnJh
eVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAg
ICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpPYmplY3RDb25zdHJ1Y3Rvcjo6ZmluaXNo
Q3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvUnVudGltZUZsYWdzLmg6CisKIDIwMTUtMDQt
MDQgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIExvZ2ljYWxs
eSBlbXB0eSBXZWFrQmxvY2tzIHNob3VsZCBub3QgcGluIGRvd24gdGhlaXIgTWFya2VkQmxvY2tz
IGluZGVmaW5pdGVseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxYjVhMTBhMzBkMmRlNTM2NDk5MGNlNGMxZmU4
YTNkOWY4MTBjN2UyLi40MTFkMDI5NzQ4OWNlZWM0M2Y4NzJlYjhiYjU0ZTNkMWM0ZjZhM2U4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDQtMDUgIFl1c3VrZSBTdXp1a2kgIDx1
dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gRW5hYmxlIFN5bWJvbCBpbiB3
ZWIgcGFnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0MzM3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6SW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbCk6CisKIDIwMTUtMDQtMDQgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgogCiAgICAgICAgIFtDb250ZW50IEZpbHRlcmluZ10gQmxvY2tlZCBwYWdlIGlzIG5vdCBhbHdh
eXMgZGlzcGxheWVkIHdoZW4gaXQgc2hvdWxkIGJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNjE2NGM5
NDliYzI2MjI0N2Q4NWYxMzYwNGM1YTYyMTU1MDM5ZGFmYi4uOWM2YzAzMzZkYzBmNmUyZTJkZDFh
NjdiYzc2MjNhYTZjOTIzYTA4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisy
MDE1LTA0LTA1ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAg
ICAgIFtFUzZdIEVuYWJsZSBTeW1ib2wgaW4gd2ViIHBhZ2VzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMzNzUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmg6CisKIDIwMTUtMDQtMDIgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQ6IFJlbGFuZCBjaGFuZ2UgYWZ0ZXIgcm9sbG91dC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwppbmRleCBhOGEyNTY1NTY5ZGFmMWJiZjU4NWIwMjFkOGM5NmY2OTRlN2EzMGE0Li5l
OTBmOGMxMzZlZGEyMTUyZWNmOWZlZmQ5MWI0MWI2YzU2YTA3Zjg5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDQtMDUgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRl
YUBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gRW5hYmxlIFN5bWJvbCBpbiB3ZWIgcGFnZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzM3NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW50ZXJm
YWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKwogMjAxNS0wNC0wMSAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggV2luZG93cyBidWls
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCBiZWJmYTAwMjQ4NzAxOWQ0MDgwMWRkMzc2ZTc0MjEwZjQwNzA0OTJh
Li5mN2VjNjZlNTU3Zjg2ZGRkMmY4ZGNlN2YxNDk5MGE1ZjllNWMxMTdlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTUtMDQtMDUgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBn
bWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gRW5hYmxlIFN5bWJvbCBpbiB3ZWIgcGFnZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzM3NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwv
V2ViSW5zcGVjdG9yUHJveHlFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQ
cm94eTo6cGxhdGZvcm1DcmVhdGVJbnNwZWN0b3JQYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Z3RrL1dlYkluc3BlY3RvclByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVj
dG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5z
cGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSk6CisKIDIwMTUtMDQtMDQg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIE5ldHdvcmsgY2Fj
aGUgQmxvb20gZmlsdGVyIGlzIHRvbyBiaWcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCA2ZjhlY2Q5OTE0MmI2MmE4MzUzMzVmNDMz
ODJkYTgwNmRkOWExZDA2Li5lMTUyYmEzYmQ3OWI4ZmI4NjA5YWFhMDRhNWQ2MWE1YzM1NTI5NmU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlw
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUu
Y3BwCkBAIC0xNDIsNyArMTQyLDcgQEAgdm9pZCBBcnJheVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgIHZtLnByb3RvdHlw
ZU1hcC5hZGRQcm90b3R5cGUodGhpcyk7CiAgICAgSlNDX05BVElWRV9GVU5DVElPTih2bS5wcm9w
ZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbCwgYXJyYXlQcm90b0Z1bmNWYWx1ZXMsIERvbnRFbnVt
LCAwKTsKIAotICAgIGlmIChnbG9iYWxPYmplY3QtPnJ1bnRpbWVGbGFncygpLmlzU3ltYm9sRW5h
YmxlZCgpKSB7CisgICAgaWYgKCFnbG9iYWxPYmplY3QtPnJ1bnRpbWVGbGFncygpLmlzU3ltYm9s
RGlzYWJsZWQoKSkgewogICAgICAgICBKU09iamVjdCogdW5zY29wYWJsZXMgPSBjb25zdHJ1Y3RF
bXB0eU9iamVjdChnbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKSwgZ2xvYmFsT2JqZWN0LT5udWxs
UHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKCkpOwogICAgICAgICBjb25zdCBjaGFyKiB1bnNjb3Bh
YmxlTmFtZXNbXSA9IHsKICAgICAgICAgICAgICJjb3B5V2l0aGluIiwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDJkZDU4MmFl
NDQ5MTYyZGU2YTRmODcyYjQxYWJlYTYzZTc4MTljZWYuLjUxMDNiYjY5OGM5MDE0ZjhkYmI1MmM1
ZjczYTExMzgzZDNmNzYwMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtMjIwLDE3ICsyMjAsMTkgQEAKICAgICBtYWNybyh3
aXRoKSBcCiAgICAgbWFjcm8oeWllbGQpCiAKLSNkZWZpbmUgSlNDX0NPTU1PTl9QUklWQVRFX0lE
RU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0wobWFjcm8pIFwKKyNkZWZpbmUgSlNDX0NP
TU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0xfTk9UX0lNUExF
TUVOVEVEX1lFVChtYWNybylcCiAgICAgbWFjcm8oaGFzSW5zdGFuY2UpIFwKICAgICBtYWNybyhp
c0NvbmNhdFNwcmVhZGFibGUpIFwKLSAgICBtYWNybyhpdGVyYXRvcikgXAogICAgIG1hY3JvKG1h
dGNoKSBcCiAgICAgbWFjcm8ocmVwbGFjZSkgXAogICAgIG1hY3JvKHNlYXJjaCkgXAogICAgIG1h
Y3JvKHNwZWNpZXMpIFwKICAgICBtYWNybyhzcGxpdCkgXAogICAgIG1hY3JvKHRvUHJpbWl0aXZl
KSBcCi0gICAgbWFjcm8odG9TdHJpbmdUYWcpIFwKKyAgICBtYWNybyh0b1N0cmluZ1RhZykKKwor
I2RlZmluZSBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZ
TUJPTChtYWNybykgXAorICAgIG1hY3JvKGl0ZXJhdG9yKSBcCiAgICAgbWFjcm8odW5zY29wYWJs
ZXMpCiAKICNkZWZpbmUgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUEVS
VFlfTkFNRShtYWNybykgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuY3BwCmluZGV4IDFkNGFlZDAwMmM2YmJiM2NiYmM5ZWZiNjBiYzgwYzdlM2I3
NTJmZDkuLjE3OTQ5YTFiNWVhODE4OWViMDZjYTYxZTExOWI5M2Y3NzQ5OTAzM2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTM4
Myw3ICszODMsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKIAogICAgIEZP
Ul9FQUNIX1NJTVBMRV9CVUlMVElOX1RZUEVfV0lUSF9DT05TVFJVQ1RPUihQVVRfQ09OU1RSVUNU
T1JfRk9SX1NJTVBMRV9UWVBFKQogCi0gICAgaWYgKG1fcnVudGltZUZsYWdzLmlzU3ltYm9sRW5h
YmxlZCgpKQorICAgIGlmICghbV9ydW50aW1lRmxhZ3MuaXNTeW1ib2xEaXNhYmxlZCgpKQogICAg
ICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+U3lt
Ym9sLCBzeW1ib2xDb25zdHJ1Y3RvciwgRG9udEVudW0pOwogCiAjdW5kZWYgUFVUX0NPTlNUUlVD
VE9SX0ZPUl9TSU1QTEVfVFlQRQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCmluZGV4IGY2OGFhMDMzNTdiN2RiNzYzMjYxOWUwYzMy
ZDAxYzBiOGU3ZDc3ZGEuLjgyN2M2MGMwNTA5MjJmMTE3MDEwOWIzMTM0NmEwYzdjMzQ3N2Y1MDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1
Y3Rvci5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgdm9pZCBPYmplY3RDb25zdHJ1Y3Rvcjo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBPYmoKICAgICAv
LyBuby4gb2YgYXJndW1lbnRzIGZvciBjb25zdHJ1Y3RvcgogICAgIHB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBSZWFk
T25seSB8IERvbnRFbnVtIHwgRG9udERlbGV0ZSk7CiAKLSAgICBpZiAoZ2xvYmFsT2JqZWN0LT5y
dW50aW1lRmxhZ3MoKS5pc1N5bWJvbEVuYWJsZWQoKSkKKyAgICBpZiAoIWdsb2JhbE9iamVjdC0+
cnVudGltZUZsYWdzKCkuaXNTeW1ib2xEaXNhYmxlZCgpKQogICAgICAgICBKU0NfTkFUSVZFX0ZV
TkNUSU9OKCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCBvYmplY3RDb25zdHJ1Y3RvckdldE93blBy
b3BlcnR5U3ltYm9scywgRG9udEVudW0sIDEpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SdW50aW1lRmxhZ3MuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1J1bnRpbWVGbGFncy5oCmluZGV4IDQ3ZTdkMDk5MDkzZWEzODc5MzU1YTRhNDk3
ODY5ODE4MGY5OGU2NzAuLmVkYzNlNzVjMzI4ZWI0OGNlZDdmMDMzZDYyM2NhYjk1M2NkZWUwZDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1J1bnRpbWVGbGFncy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1J1bnRpbWVGbGFncy5oCkBAIC0z
Miw3ICszMiw3IEBACiAKIC8vIG1hY3JvKG5hbWUsIGlzRW5hYmxlZEZsYWcpCiAjZGVmaW5lIEpT
Q19SVU5USU1FX0ZMQUcobWFjcm8pIFwKLSAgICBtYWNybyhTeW1ib2xFbmFibGVkLCB0cnVlKVwK
KyAgICBtYWNybyhTeW1ib2xEaXNhYmxlZCwgZmFsc2UpXAogICAgIG1hY3JvKFByb21pc2VEaXNh
YmxlZCwgZmFsc2UpCiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4IDQxNWZmN2MzOWIzOWU3OTcw
YmYwNzljZWUyYzZlYzFlYzViMTM4MGIuLmIxYzY5NzI3MzNjNTcwN2Y0YWJjMzNjZDQ4NjU0ZmE2
MGIxNGMyOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKQEAgLTEyMSw3ICsxMjEsNiBAQCB2b2lkIElu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OlNldHRpbmdzOjpzZXRQcm9wZXJ0eShjb25zdCBT
dHJpbmcmLCBjb25zdCBTdAogewogICAgIG1fZnJvbnRlbmRQYWdlLT5zZXR0aW5ncygpLnNldEFs
bG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyh0cnVlKTsKICAgICBtX2Zyb250ZW5kUGFnZS0+c2V0
dGluZ3MoKS5zZXRKYXZhU2NyaXB0UnVudGltZUZsYWdzKHsKLSAgICAgICAgSlNDOjpSdW50aW1l
RmxhZ3M6OlN5bWJvbEVuYWJsZWQKICAgICB9KTsKICAgICBtX2Rpc3BhdGNoVGFzayA9IHN0ZDo6
bWFrZV91bmlxdWU8SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzaz4oaW5zcGVjdG9yQ29udHJv
bGxlcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaAppbmRleCBhNTY0N2U4YmI2NmU0N2Q3YTZhOWZlMWEzNTg5M2MxNWQzZGJiMTMz
Li41NDU1Mjc3N2U1OGY0YTI2YjQ0MGZkYThkNDliOTk5MGRhYjVmMWE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTUzLDkg
KzUzLDkgQEAKIH0gV2ViU3RvcmFnZUJsb2NraW5nUG9saWN5OwogCiB0eXBlZGVmIGVudW0gewot
ICAgIFdlYktpdEphdmFTY3JpcHRSdW50aW1lRmxhZ3NTeW1ib2xFbmFibGVkID0gMXUgPDwgMCwK
KyAgICBXZWJLaXRKYXZhU2NyaXB0UnVudGltZUZsYWdzU3ltYm9sRGlzYWJsZWQgPSAxdSA8PCAw
LAogICAgIFdlYktpdEphdmFTY3JpcHRSdW50aW1lRmxhZ3NQcm9taXNlRGlzYWJsZWQgPSAxdSA8
PCAxLAotICAgIFdlYktpdEphdmFTY3JpcHRSdW50aW1lRmxhZ3NBbGxFbmFibGVkID0gV2ViS2l0
SmF2YVNjcmlwdFJ1bnRpbWVGbGFnc1N5bWJvbEVuYWJsZWQKKyAgICBXZWJLaXRKYXZhU2NyaXB0
UnVudGltZUZsYWdzQWxsRW5hYmxlZCA9IDAKIH0gV2ViS2l0SmF2YVNjcmlwdFJ1bnRpbWVGbGFn
czsKIAogZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb247
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaWRsIGIvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmlkbAppbmRleCBhZTZkMjExZDgxMThmZTkwYzE0Y2RiODhlNjAzYjlkYjQwZDg3
Y2Y5Li5lOTNlZjc5OWJmM2MxMTIwYmZhZGNmM2Y0NTI0ZjUyYzBiOTliOWRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRs
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0
ZS5pZGwKQEAgLTMyLDkgKzMyLDkgQEAgaW1wb3J0ICJvY2lkbC5pZGwiOwogI2VuZGlmCiAKIHR5
cGVkZWYgZW51bSBXZWJLaXRKYXZhU2NyaXB0UnVudGltZUZsYWdzIHsKLSAgICBXZWJLaXRKYXZh
U2NyaXB0UnVudGltZUZsYWdzU3ltYm9sRW5hYmxlZCA9IDEsICAvLyAxdSA8PCAwCisgICAgV2Vi
S2l0SmF2YVNjcmlwdFJ1bnRpbWVGbGFnc1N5bWJvbERpc2FibGVkID0gMSwgIC8vIDF1IDw8IDAK
ICAgICBXZWJLaXRKYXZhU2NyaXB0UnVudGltZUZsYWdzUHJvbWlzZURpc2FibGVkID0gMiwgIC8v
IDF1IDw8IDEKLSAgICBXZWJLaXRKYXZhU2NyaXB0UnVudGltZUZsYWdzQWxsRW5hYmxlZCA9IFdl
YktpdEphdmFTY3JpcHRSdW50aW1lRmxhZ3NTeW1ib2xFbmFibGVkCisgICAgV2ViS2l0SmF2YVNj
cmlwdFJ1bnRpbWVGbGFnc0FsbEVuYWJsZWQgPSAwCiB9IFdlYktpdEphdmFTY3JpcHRSdW50aW1l
RmxhZ3M7CiAKIFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKaW5kZXggYzBjMjNhNmMxM2RhZmJiYTIxZTI3YmU5
OTc1NGMwMmJhODM0Yjc1My4uOGExOWMwYjc0OTg3YTEyZmM0NDUyZmZiNTEzNzAzZjM3NWM4MWZm
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXNSZWZQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXNSZWZQcml2YXRlLmgKQEAgLTUwLDkgKzUwLDkgQEAgZW51bSBXS0VkaXRhYmxlTGlu
a0JlaGF2aW9yIHsKIHR5cGVkZWYgZW51bSBXS0VkaXRhYmxlTGlua0JlaGF2aW9yIFdLRWRpdGFi
bGVMaW5rQmVoYXZpb3I7CiAKIGVudW0gV0tKYXZhU2NyaXB0UnVudGltZUZsYWdzIHsKLSAgICBr
V0tKYXZhU2NyaXB0UnVudGltZUZsYWdzU3ltYm9sRW5hYmxlZCA9IDEgPDwgMCwKKyAgICBrV0tK
YXZhU2NyaXB0UnVudGltZUZsYWdzU3ltYm9sRGlzYWJsZWQgPSAxIDw8IDAsCiAgICAga1dLSmF2
YVNjcmlwdFJ1bnRpbWVGbGFnc1Byb21pc2VEaXNhYmxlZCA9IDEgPDwgMSwKLSAgICBrV0tKYXZh
U2NyaXB0UnVudGltZUZsYWdzQWxsRW5hYmxlZCA9IGtXS0phdmFTY3JpcHRSdW50aW1lRmxhZ3NT
eW1ib2xFbmFibGVkCisgICAga1dLSmF2YVNjcmlwdFJ1bnRpbWVGbGFnc0FsbEVuYWJsZWQgPSAw
CiB9OwogdHlwZWRlZiB1bnNpZ25lZCBXS0phdmFTY3JpcHRSdW50aW1lRmxhZ1NldDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2Vz
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVu
Y2VzUHJpdmF0ZS5oCmluZGV4IDMxNzE0YzFiMTU5NTFhZDQwY2ExM2FlNTRhNDE5NGM5MDNkNzU2
MWIuLmRmODRmMjVkNDk4NGUzYzM5ODI1MDM4YmE1OGYzNGNjNDVhYTViZTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQ
cml2YXRlLmgKQEAgLTQzLDkgKzQzLDkgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIs
IF9XS0RlYnVnT3ZlcmxheVJlZ2lvbnMpIHsKIH0gV0tfRU5VTV9BVkFJTEFCTEUoV0tfTUFDX1RC
QSwgV0tfSU9TX1RCQSk7CiAKIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tKYXZh
U2NyaXB0UnVudGltZUZsYWdzKSB7Ci0gICAgX1dLSmF2YVNjcmlwdFJ1bnRpbWVGbGFnc1N5bWJv
bEVuYWJsZWQgPSAxIDw8IDAsCisgICAgX1dLSmF2YVNjcmlwdFJ1bnRpbWVGbGFnc1N5bWJvbERp
c2FibGVkID0gMSA8PCAwLAogICAgIF9XS0phdmFTY3JpcHRSdW50aW1lRmxhZ3NQcm9taXNlRGlz
YWJsZWQgPSAxIDw8IDEsCi0gICAgX1dLSmF2YVNjcmlwdFJ1bnRpbWVGbGFnc0FsbEVuYWJsZWQg
PSBfV0tKYXZhU2NyaXB0UnVudGltZUZsYWdzU3ltYm9sRW5hYmxlZAorICAgIF9XS0phdmFTY3Jp
cHRSdW50aW1lRmxhZ3NBbGxFbmFibGVkID0gMAogfSBXS19FTlVNX0FWQUlMQUJMRShXS19NQUNf
VEJBLCBXS19JT1NfVEJBKTsKIAogQGludGVyZmFjZSBXS1ByZWZlcmVuY2VzIChXS1ByaXZhdGUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkluc3BlY3RvclBy
b3h5RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViSW5zcGVjdG9yUHJv
eHlFZmwuY3BwCmluZGV4IGIzNWE1Zjc5Yzg1NDIwNGE4OTcyMDNhODVhZjVhOGZkYzIxMGUzNTUu
LjgxMTBmN2U4MDg5ZWVlNmEzMzcyMzMxZjgxNGE0N2IxOGYxY2FkMzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViSW5zcGVjdG9yUHJveHlFZmwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViSW5zcGVjdG9yUHJveHlFZmwuY3BwCkBA
IC0xMTQsNyArMTE0LDcgQEAgV2ViUGFnZVByb3h5KiBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1DcmVhdGVJbnNwZWN0b3JQYWdlKCkKIAogICAgIFdLUHJlZmVyZW5jZXNSZWYgd2tQcmVmZXJl
bmNlcyA9IFdLUGFnZUdyb3VwR2V0UHJlZmVyZW5jZXMod2tQYWdlR3JvdXApOwogICAgIFdLUHJl
ZmVyZW5jZXNTZXRGaWxlQWNjZXNzRnJvbUZpbGVVUkxzQWxsb3dlZCh3a1ByZWZlcmVuY2VzLCB0
cnVlKTsKLSAgICBXS1ByZWZlcmVuY2VzU2V0SmF2YVNjcmlwdFJ1bnRpbWVGbGFncyh3a1ByZWZl
cmVuY2VzLCBrV0tKYXZhU2NyaXB0UnVudGltZUZsYWdzU3ltYm9sRW5hYmxlZCk7CisgICAgV0tQ
cmVmZXJlbmNlc1NldEphdmFTY3JpcHRSdW50aW1lRmxhZ3Mod2tQcmVmZXJlbmNlcywgMCk7CiAK
ICAgICByZXR1cm4gdG9JbXBsKFdLVmlld0dldFBhZ2Uod2tWaWV3KSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkluc3BlY3RvclByb3h5R3RrLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwCmlu
ZGV4IDllNzdiZDQ5NGI1ODc4MmQ5M2NlNTc1ZmJjZmMzNzVjNTQ1NWYyYzMuLjk2NzlkNzJiMzQ4
YTgzNTY4MDVkZDk0ZjY1NGQzZDUzYzk2NWU4MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwCkBAIC03MCw3ICs3MCw2
IEBAIFdlYlBhZ2VQcm94eSogV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVj
dG9yUGFnZSgpCiAjZW5kaWYKICAgICBwcmVmZXJlbmNlcy0+c2V0QWxsb3dGaWxlQWNjZXNzRnJv
bUZpbGVVUkxzKHRydWUpOwogICAgIHByZWZlcmVuY2VzLT5zZXRKYXZhU2NyaXB0UnVudGltZUZs
YWdzKHsKLSAgICAgICAgSlNDOjpSdW50aW1lRmxhZ3M6OlN5bWJvbEVuYWJsZWQKICAgICB9KTsK
ICAgICBSZWZQdHI8V2ViUGFnZUdyb3VwPiBwYWdlR3JvdXAgPSBXZWJQYWdlR3JvdXA6OmNyZWF0
ZShpbnNwZWN0b3JQYWdlR3JvdXBJZGVudGlmaWVyKCksIGZhbHNlLCBmYWxzZSk7CiAgICAgbV9p
bnNwZWN0b3JWaWV3ID0gR1RLX1dJREdFVCh3ZWJraXRXZWJWaWV3QmFzZUNyZWF0ZSgmaW5zcGVj
dG9yUHJvY2Vzc1Bvb2woKSwgcHJlZmVyZW5jZXMuZ2V0KCksIHBhZ2VHcm91cC5nZXQoKSwgbnVs
bHB0ciwgbnVsbHB0cikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
V2ViSW5zcGVjdG9yUHJveHlNYWMubW0KaW5kZXggNTBmMDlmNjNlYzlhZGMyMWI0N2U5YTk0YmYx
ZTAwZGExNDIyMmIxNi4uMWQ3MTU4OTY2Njc4MWM1OTY0N2EyYWQ3ZjgyYWE3MjFhYTZmYmYzZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94
eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclBy
b3h5TWFjLm1tCkBAIC01MDEsNyArNTAxLDcgQEAgV2ViUGFnZVByb3h5KiBXZWJJbnNwZWN0b3JQ
cm94eTo6cGxhdGZvcm1DcmVhdGVJbnNwZWN0b3JQYWdlKCkKICAgICBwcmVmZXJlbmNlcy5fbG9n
c1BhZ2VNZXNzYWdlc1RvU3lzdGVtQ29uc29sZUVuYWJsZWQgPSBZRVM7CiAjZW5kaWYKICAgICBw
cmVmZXJlbmNlcy5fYWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzID0gWUVTOwotICAgIHByZWZl
cmVuY2VzLl9qYXZhU2NyaXB0UnVudGltZUZsYWdzID0gX1dLSmF2YVNjcmlwdFJ1bnRpbWVGbGFn
c1N5bWJvbEVuYWJsZWQ7CisgICAgcHJlZmVyZW5jZXMuX2phdmFTY3JpcHRSdW50aW1lRmxhZ3Mg
PSAwOwogICAgIFtjb25maWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOiA6OldlYktpdDo6d3JhcHBl
cihpbnNwZWN0b3JQcm9jZXNzUG9vbCgpKV07CiAgICAgW2NvbmZpZ3VyYXRpb24gX3NldEdyb3Vw
SWRlbnRpZmllcjppbnNwZWN0b3JQYWdlR3JvdXBJZGVudGlmaWVyKCldOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>