<?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>151596</bug_id>
          
          <creation_ts>2015-11-24 22:21:07 -0800</creation_ts>
          <short_desc>[JSC] add missing RequireObjectCoercible() step in destructuring</short_desc>
          <delta_ts>2015-12-01 13:09:41 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Caitlin Potter (:caitp)">caitp</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>youennf</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1144391</commentid>
    <comment_count>0</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2015-11-24 22:21:07 -0800</bug_when>
    <thetext>[JSC] add missing RequireObjectCoercible() step in destructuring</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144392</commentid>
    <comment_count>1</comment_count>
      <attachid>266145</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2015-11-24 22:23:04 -0800</bug_when>
    <thetext>Created attachment 266145
[JSC] add missing RequireObjectCoercible() step in destructuring

Add missing RequireObjectCoercible() for ObjectPatterns. For ArrayPatterns, an iterator is loaded regardless, so explicitly performing these steps is not strictly necessary. The result should be more or less equivalent. This fixes some failing test262 entries</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144798</commentid>
    <comment_count>2</comment_count>
      <attachid>266145</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-11-30 10:15:11 -0800</bug_when>
    <thetext>Comment on attachment 266145
[JSC] add missing RequireObjectCoercible() step in destructuring

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

&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:3849
&gt; +    emitJumpIfFalse(emitIsUndefined(newTemporary(), value), isNotUndefined.get());

We can save a branch in the normal expected fast path by doing the other check first; then do emitIsUndefined only the failure case to chose which error to throw; undefined is equal to null from the point of view of op_eq_null.

&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:3853
&gt; +    emitJumpIfFalse(emitUnaryOp(op_eq_null, newTemporary(), value), target.get());

Unfortunately this emits the “masquerades as null” checking code, so it’s unnecessarily slow. Here we are not literally checking == null so we don’t want that extra logic; it just slows us down. One way to do this would be to add a new op_is_undefined_or_null that doesn’t bother with the masquerading logic. Or op_is_object_coercible.

&gt; Source/JavaScriptCore/tests/stress/destructuring-assignment-require-object-coercible.js:15
&gt; +testTypeError(`({ } = null)`, &quot;TypeError: null is not an object&quot;);

Would be much better to check all the other types here too, an object, number, boolean, string, and especially a “masquerades as null” value, making sure that they do not throw a type error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1144829</commentid>
    <comment_count>3</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2015-11-30 10:56:48 -0800</bug_when>
    <thetext>Cool, SGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145114</commentid>
    <comment_count>4</comment_count>
      <attachid>266330</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2015-11-30 20:27:54 -0800</bug_when>
    <thetext>Created attachment 266330
[JSC] add missing RequireObjectCoercible() step in destructuring

Added some new opcodes (op_is_just_undefined and op_is_just_undefined_or_null) which remove the unnecessary masquerade-as-undefined code. Probably missing some bit here or there. Few more tests for more object-coercible types</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145116</commentid>
    <comment_count>5</comment_count>
      <attachid>266331</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2015-11-30 20:35:53 -0800</bug_when>
    <thetext>Created attachment 266331
[JSC] add missing RequireObjectCoercible() step in destructuring

Added some new opcodes (op_is_just_undefined and op_is_just_undefined_or_null) which remove the unnecessary masquerade-as-undefined code. Probably missing some bit here or there. Few more tests for more object-coercible types</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145119</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-11-30 21:07:53 -0800</bug_when>
    <thetext>&gt; &gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:3853
&gt; &gt; +    emitJumpIfFalse(emitUnaryOp(op_eq_null, newTemporary(), value), target.get());
&gt; 
&gt; Unfortunately this emits the “masquerades as null” checking code, so it’s
&gt; unnecessarily slow. Here we are not literally checking == null so we don’t
&gt; want that extra logic; it just slows us down. One way to do this would be to
&gt; add a new op_is_undefined_or_null that doesn’t bother with the masquerading
&gt; logic. Or op_is_object_coercible.

I hate to start a debate in patch review, but let me suggestion an alternative approach: Just use op_jneq_null. (Note the &quot;eq null&quot; covers null and undefined, as the == operator does. So, I&apos;m suggested a shared error message along the lines of &quot;is not a valid destructuring parameter&quot;.)

It&apos;s true that jneq_null / jeq_null includes a masquerading check in the interpreter and first-level JIT. However, that check is reasonably cheap, and it disappears to (literally) nothing in the optimizing compilers.

The benefit of reusing the existing opcode is that it&apos;s less code to maintain, and it&apos;s fewer bytecode dispatch operations in the interpreter.

As an example of maintenance, I believe these new opcodes are not listed in FTLCapabilities.cpp, and so their use will prohibit entering the FTL. (Perhaps I missed something? But I don&apos;t see FTLCapabilities.cpp in the diff.)

Perhaps I am being overly pessimistic, and we should introduce new opcodes when it suits us.

Either way, I think it is best not to emit runtime control flow to decide which error message to print. That control flow has a cost in memory and compile time. If a developer wants to know more about the value when things go wrong, we&apos;ll automatically stop in the debugger, and they can find out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145130</commentid>
    <comment_count>7</comment_count>
      <attachid>266334</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2015-11-30 22:04:47 -0800</bug_when>
    <thetext>Created attachment 266334
[JSC] add missing RequireObjectCoercible() step in destructuring

Back to simpler version --- remove error selection from bytecode (for now just uses a static message). this causes the error to be different from the one emit for ArrayPatterns, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145224</commentid>
    <comment_count>8</comment_count>
      <attachid>266145</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2015-12-01 05:17:16 -0800</bug_when>
    <thetext>Comment on attachment 266145
[JSC] add missing RequireObjectCoercible() step in destructuring

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

&gt;&gt; Source/JavaScriptCore/tests/stress/destructuring-assignment-require-object-coercible.js:15
&gt;&gt; +testTypeError(`({ } = null)`, &quot;TypeError: null is not an object&quot;);
&gt; 
&gt; Would be much better to check all the other types here too, an object, number, boolean, string, and especially a “masquerades as null” value, making sure that they do not throw a type error.

Are there any &quot;masquerades as null&quot; values available in standalone jsc stress tests? I suppose this needs a layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145225</commentid>
    <comment_count>9</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2015-12-01 05:27:33 -0800</bug_when>
    <thetext>Also, without a new opcode, it won&apos;t do the &quot;right&quot; thing for masquerading types, eg `var [a, b, c] = document.all` would be a TypeError when it shouldn&apos;t be (HTMLCollection is iterable, and has an ArrayIterator, per http://heycam.github.io/webidl/#es-iterators)

but it&apos;s fine if someone else wants to add the new opcodes later on</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145229</commentid>
    <comment_count>10</comment_count>
      <attachid>266354</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2015-12-01 05:37:48 -0800</bug_when>
    <thetext>Created attachment 266354
[JSC] add missing RequireObjectCoercible() step in destructuring

remove remaining bits of new opcodes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145242</commentid>
    <comment_count>11</comment_count>
      <attachid>266354</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-12-01 09:26:34 -0800</bug_when>
    <thetext>Comment on attachment 266354
[JSC] add missing RequireObjectCoercible() step in destructuring

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

&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:3986
&gt; +    emitOpcode(op_jneq_null);

I think we should have a FIXME right here explaining that this doesn’t do the right thing for “masquerades as undefined”; small performance and correctness problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145243</commentid>
    <comment_count>12</comment_count>
      <attachid>266354</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-12-01 09:28:13 -0800</bug_when>
    <thetext>Comment on attachment 266354
[JSC] add missing RequireObjectCoercible() step in destructuring

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

&gt;&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:3986
&gt;&gt; +    emitOpcode(op_jneq_null);
&gt; 
&gt; I think we should have a FIXME right here explaining that this doesn’t do the right thing for “masquerades as undefined”; small performance and correctness problem.

We want to keep the comment short, but we also want it to address the issues Geoff mentioned; state that it’s worth having this small performance and correctness problem to keep from having to add a new opcode just for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145291</commentid>
    <comment_count>13</comment_count>
      <attachid>266368</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2015-12-01 11:16:52 -0800</bug_when>
    <thetext>Created attachment 266368
[JSC] add missing RequireObjectCoercible() step in destructuring

Added comment indicating temporary bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145321</commentid>
    <comment_count>14</comment_count>
      <attachid>266368</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-01 12:11:34 -0800</bug_when>
    <thetext>Comment on attachment 266368
[JSC] add missing RequireObjectCoercible() step in destructuring

Clearing flags on attachment: 266368

Committed r192899: &lt;http://trac.webkit.org/changeset/192899&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145322</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-01 12:11:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145339</commentid>
    <comment_count>16</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-12-01 13:03:44 -0800</bug_when>
    <thetext>&gt; Also, without a new opcode, it won&apos;t do the &quot;right&quot; thing for masquerading
&gt; types, eg `var [a, b, c] = document.all` would be a TypeError when it
&gt; shouldn&apos;t be (HTMLCollection is iterable, and has an ArrayIterator, per
&gt; http://heycam.github.io/webidl/#es-iterators)

Interesting point. I hadn&apos;t considered that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145344</commentid>
    <comment_count>17</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2015-12-01 13:09:41 -0800</bug_when>
    <thetext>Well, to clarify, the RequireObjectObservable() stuff hasn&apos;t been added to ArrayPatterns, since they [[Get]] @@iterator anyways, which effectively does the same thing (albeit with a now-different error message).

But it would still cause a problem in a case like `var { title, lead } = document.all`; or something</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266145</attachid>
            <date>2015-11-24 22:23:04 -0800</date>
            <delta_ts>2015-12-01 05:22:19 -0800</delta_ts>
            <desc>[JSC] add missing RequireObjectCoercible() step in destructuring</desc>
            <filename>bug-151596-20151125012247.patch</filename>
            <type>text/plain</type>
            <size>5012</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyNzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NDRkNzZiNzBkZjdhNGIyN2Q0YmI4OTVhYTg1ZTM5NWE5MWE3MDNlLi44ZmQ5NjJmOTVkZGE5MjM3
M2U3ZjFiNDBkMTAxYWZjNmUwMWNhYTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMCBAQAogMjAxNS0xMS0yNCAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29t
PgogCisgICAgICAgIFtKU0NdIGFkZCBtaXNzaW5nIFJlcXVpcmVPYmplY3RDb2VyY2libGUoKSBz
dGVwIGluIGRlc3RydWN0dXJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1MTU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKToK
KyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBi
eXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6T2JqZWN0UGF0dGVy
bk5vZGU6OmJpbmRWYWx1ZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Rlc3RydWN0dXJpbmct
YXNzaWdubWVudC1yZXF1aXJlLW9iamVjdC1jb2VyY2libGUuanM6IEFkZGVkLgorICAgICAgICAo
dGVzdFR5cGVFcnJvcik6CisKKzIwMTUtMTEtMjQgIENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdh
bGlhLmNvbT4KKwogICAgICAgICBbSlNDXSBzdXBwb3J0IENvbXB1dGVkIFByb3BlcnR5IE5hbWVz
IGluIGRlc3RydWN0dXJpbmcgUGF0dGVybnMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1MTQ5NAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IGI5MzcwYzhk
Mjg0YTM4NGYyMWUwZTc4OTI2ODU0NWM5MmIxOTgyM2IuLjAzZmRkNDlhM2ZkYTdhZjkyMjY4YTNh
YmY5NzJlNzFhNWVjNzVkOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0zODQyLDQgKzM4NDIsMTcg
QEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRSZXN0UGFyYW1ldGVyKFJlZ2lz
dGVySUQqIHJlc3VsdCwgdW5zaWduZWQgbnUKICAgICByZXR1cm4gcmVzdWx0OwogfQogCit2b2lk
IEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UmVxdWlyZU9iamVjdENvZXJjaWJsZShSZWdpc3RlcklE
KiB2YWx1ZSkKK3sKKyAgICBSZWZQdHI8TGFiZWw+IGlzTm90VW5kZWZpbmVkID0gbmV3TGFiZWwo
KTsKKyAgICBSZWZQdHI8TGFiZWw+IHRhcmdldCA9IG5ld0xhYmVsKCk7CisgICAgZW1pdEp1bXBJ
ZkZhbHNlKGVtaXRJc1VuZGVmaW5lZChuZXdUZW1wb3JhcnkoKSwgdmFsdWUpLCBpc05vdFVuZGVm
aW5lZC5nZXQoKSk7CisgICAgZW1pdFRocm93VHlwZUVycm9yKEFTQ0lJTGl0ZXJhbCgidW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QiKSk7CisgICAgZW1pdExhYmVsKGlzTm90VW5kZWZpbmVkLmdl
dCgpKTsKKworICAgIGVtaXRKdW1wSWZGYWxzZShlbWl0VW5hcnlPcChvcF9lcV9udWxsLCBuZXdU
ZW1wb3JhcnkoKSwgdmFsdWUpLCB0YXJnZXQuZ2V0KCkpOworICAgIGVtaXRUaHJvd1R5cGVFcnJv
cihBU0NJSUxpdGVyYWwoIm51bGwgaXMgbm90IGFuIG9iamVjdCIpKTsKKyAgICBlbWl0TGFiZWwo
dGFyZ2V0LmdldCgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXgg
MzhiNjU5YTMzNjg1YmIzYzcyNjQ3ZGNmYWZiOGQ1ODIwNDIyYmE4Ni4uNzI4OTUxMDVhMjliZjY3
M2ZmNTBkMjdlZDVjMGI2YjMwY2I5YTIzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNTk0LDYgKzU5NCw3
IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRJc09iamVjdChS
ZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIHNyYyk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVt
aXRJc1VuZGVmaW5lZChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIHNyYyk7CisgICAgICAg
IHZvaWQgZW1pdFJlcXVpcmVPYmplY3RDb2VyY2libGUoUmVnaXN0ZXJJRCogdmFsdWUpOwogCiAg
ICAgICAgIFJlZ2lzdGVySUQqIGVtaXRJdGVyYXRvck5leHQoUmVnaXN0ZXJJRCogZHN0LCBSZWdp
c3RlcklEKiBpdGVyYXRvciwgY29uc3QgVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEqIG5vZGUpOwog
ICAgICAgICB2b2lkIGVtaXRJdGVyYXRvckNsb3NlKFJlZ2lzdGVySUQqIGl0ZXJhdG9yLCBjb25z
dCBUaHJvd2FibGVFeHByZXNzaW9uRGF0YSogbm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggNGE3ZTJlNzgyYWY4
NDU3NDY3NDdjMDQ2OGRjMzMyODQwNWQ0YTUzZi4uNjUzODNkNmYyMGJmMGU2MjQ3MGUyMjUwMTk3
MTQ3YWJkMGNiZTMwNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMzMzNyw2ICszMzM3LDcgQEAgdm9pZCBPYmplY3RQ
YXR0ZXJuTm9kZTo6dG9TdHJpbmcoU3RyaW5nQnVpbGRlciYgYnVpbGRlcikgY29uc3QKICAgICAK
IHZvaWQgT2JqZWN0UGF0dGVybk5vZGU6OmJpbmRWYWx1ZShCeXRlY29kZUdlbmVyYXRvciYgZ2Vu
ZXJhdG9yLCBSZWdpc3RlcklEKiByaHMpIGNvbnN0CiB7CisgICAgZ2VuZXJhdG9yLmVtaXRSZXF1
aXJlT2JqZWN0Q29lcmNpYmxlKHJocyk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3Rh
cmdldFBhdHRlcm5zLnNpemUoKTsgaSsrKSB7CiAgICAgICAgIGF1dG8mIHRhcmdldCA9IG1fdGFy
Z2V0UGF0dGVybnNbaV07CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiB0ZW1wID0gZ2VuZXJh
dG9yLm5ld1RlbXBvcmFyeSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQtcmVxdWlyZS1vYmplY3QtY29lcmNp
YmxlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9kZXN0cnVjdHVyaW5n
LWFzc2lnbm1lbnQtcmVxdWlyZS1vYmplY3QtY29lcmNpYmxlLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhOTk2
NDQ1MmJhZGJmYjAwMWJkY2FiNjBjNmEyM2E1N2E3YmQ3YzEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Rlc3RydWN0dXJpbmctYXNzaWdubWVu
dC1yZXF1aXJlLW9iamVjdC1jb2VyY2libGUuanMKQEAgLTAsMCArMSwyMiBAQAorZnVuY3Rpb24g
dGVzdFR5cGVFcnJvcihzY3JpcHQsIG1lc3NhZ2UpIHsKKyAgICB2YXIgZXJyb3IgPSBudWxsOwor
ICAgIHRyeSB7CisgICAgICAgIGV2YWwoc2NyaXB0KTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAg
ICAgIGVycm9yID0gZTsKKyAgICB9CisgICAgaWYgKCFlcnJvcikKKyAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJFeHBlY3RlZCBzeW50YXggZXJyb3Igbm90IHRocm93biIpOworCisgICAgaWYgKFN0
cmluZyhlcnJvcikgIT09IG1lc3NhZ2UpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGVy
cm9yOiAiICsgU3RyaW5nKGVycm9yKSk7Cit9CisKK3Rlc3RUeXBlRXJyb3IoYCh7IH0gPSBudWxs
KWAsICJUeXBlRXJyb3I6IG51bGwgaXMgbm90IGFuIG9iamVjdCIpOwordGVzdFR5cGVFcnJvcihg
KHsgYSB9ID0gbnVsbClgLCAiVHlwZUVycm9yOiBudWxsIGlzIG5vdCBhbiBvYmplY3QiKTsKK3Rl
c3RUeXBlRXJyb3IoYCh7IGE6IHsgYiB9ID0gbnVsbCB9ID0geyB9KWAsICJUeXBlRXJyb3I6IG51
bGwgaXMgbm90IGFuIG9iamVjdCIpOwordGVzdFR5cGVFcnJvcihgKHsgYTogeyBiIH0gfSA9IHsg
YTogbnVsbCB9KWAsICJUeXBlRXJyb3I6IG51bGwgaXMgbm90IGFuIG9iamVjdCIpOwordGVzdFR5
cGVFcnJvcihgKHsgfSA9IHVuZGVmaW5lZClgLCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCIpOwordGVzdFR5cGVFcnJvcihgKHsgYSB9ID0gdW5kZWZpbmVkKWAsICJUeXBl
RXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0Iik7Cit0ZXN0VHlwZUVycm9yKGAoeyBh
OiB7IGIgfSA9IHVuZGVmaW5lZCB9ID0geyB9KWAsICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0Iik7Cit0ZXN0VHlwZUVycm9yKGAoeyBhOiB7IGIgfSB9ID0geyBhOiB1bmRl
ZmluZWQgfSlgLCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266330</attachid>
            <date>2015-11-30 20:27:54 -0800</date>
            <delta_ts>2015-11-30 20:35:47 -0800</delta_ts>
            <desc>[JSC] add missing RequireObjectCoercible() step in destructuring</desc>
            <filename>bug-151596-20151130232732.patch</filename>
            <type>text/plain</type>
            <size>29314</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyODA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NjdhZWM1NjdiNTM2M2E5ZTVkZjg0NjA0OGEwYjYwZmZiZTQyM2E5Li4yZjg3MWZjY2JiZTRjMWZl
NzE0NzZjYzE0M2VhYTY3OWRiYmQwM2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MCBAQAorMjAxNS0xMS0zMCAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cG90dGVyODhAZ21h
aWwuY29tPgorCisgICAgICAgIFtKU0NdIGFkZCBtaXNzaW5nIFJlcXVpcmVPYmplY3RDb2VyY2li
bGUoKSBzdGVwIGluIGRlc3RydWN0dXJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1MTU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb246CisgICAgICAg
ICogYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaDoKKyAgICAgICAgKEpTQzo6Y29tcHV0ZVVzZXNG
b3JCeXRlY29kZU9mZnNldCk6CisgICAgICAgIChKU0M6OmNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVP
ZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6
OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNv
ZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFJl
cXVpcmVPYmplY3RDb2VyY2libGUpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAg
ICAgICAoSlNDOjpPYmplY3RQYXR0ZXJuTm9kZTo6YmluZFZhbHVlKToKKyAgICAgICAgKiBkZmcv
REZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0
cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgorICAg
ICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0
ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBhYmlsaXRpZXMu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAgICAgICogZGZn
L0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXplKToKKyAgICAg
ICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2VzR0MpOgorICAg
ICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBo
YXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdOb2RlVHlwZS5oOgorICAgICAgICAq
IGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2U6OnByb3BhZ2F0ZSk6CisgICAgICAgICogZGZn
L0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpzYWZlVG9FeGVjdXRlKToK
KyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAgKEpTQzo6
RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTm9kZSk6CisgICAgICAgIChKU0M6OkZU
TDo6REZHOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUlzSnVzdFVuZGVmaW5lZE9yTnVsbCk6Cisg
ICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVN
YWluUGFzcyk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVz
LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX2lzX2p1c3RfdW5kZWZpbmVkKToKKyAg
ICAgICAgKEpTQzo6SklUOjplbWl0X29wX2lzX2p1c3RfdW5kZWZpbmVkX29yX251bGwpOgorICAg
ICAgICAqIGppdC9KSVRPcGNvZGVzMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRf
b3BfaXNfanVzdF91bmRlZmluZWQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfaXNfanVz
dF91bmRlZmluZWRfb3JfbnVsbCk6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjMyXzY0LmFzbToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOgor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQtcmVxdWlyZS1v
YmplY3QtY29lcmNpYmxlLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RUeXBlRXJyb3IpOgorICAg
ICAgICAodGVzdE9LKToKKwogMjAxNS0xMS0yNiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5j
b20+CiAKICAgICAgICAgW0FSTTY0XSBzdHJlc3Mvb3BfZGl2LmpzIGlzIGZhaWxpbmcgb24gc29t
ZSBkaXZpZGUgYnkgMCBjYXNlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZUxpc3QuanNvbgppbmRleCAyOTkwZmFlMzU0ODk3OWZlYzdjYTE4NjY5MDkxYmIw
NWUyYWM2MmU4Li4wYzQwNjU3YzE1YWU1YWMzYWYyMzFiNjM0Yjk4NWU1NjU0ODliODhhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24K
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBA
IC00OCw2ICs0OCw4IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jaGVja19oYXNfaW5z
dGFuY2UiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2luc3Rh
bmNlb2YiLCAibGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX3R5cGVv
ZiIsICJsZW5ndGgiIDogMyB9LAorICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfaXNfanVzdF91
bmRlZmluZWQiLCAibGVuZ3RoIiA6IDMgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2lz
X2p1c3RfdW5kZWZpbmVkX29yX251bGwiLCAibGVuZ3RoIiA6IDMgfSwKICAgICAgICAgICAgIHsg
Im5hbWUiIDogIm9wX2lzX3VuZGVmaW5lZCIsICJsZW5ndGgiIDogMyB9LAogICAgICAgICAgICAg
eyAibmFtZSIgOiAib3BfaXNfYm9vbGVhbiIsICJsZW5ndGgiIDogMyB9LAogICAgICAgICAgICAg
eyAibmFtZSIgOiAib3BfaXNfbnVtYmVyIiwgImxlbmd0aCIgOiAzIH0sCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCmluZGV4IGE2MTMyYzMyYWFj
ZTk5YTcyOThmMzg0OTFjYmY4ODZlNWQ2NjY4NDUuLmMyM2QzNjIzOWEzZDc3NmRlOTRjMGEyNjA1
MmZkZmNhMWU5ZTExZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZVVzZURlZi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oCkBAIC0xMzMsNiArMTMzLDggQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5
dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ugb3BfZ2V0X2J5X2lkOgogICAgIGNhc2Ugb3BfZ2V0X2Fy
cmF5X2xlbmd0aDoKICAgICBjYXNlIG9wX3R5cGVvZjoKKyAgICBjYXNlIG9wX2lzX2p1c3RfdW5k
ZWZpbmVkOgorICAgIGNhc2Ugb3BfaXNfanVzdF91bmRlZmluZWRfb3JfbnVsbDoKICAgICBjYXNl
IG9wX2lzX3VuZGVmaW5lZDoKICAgICBjYXNlIG9wX2lzX2Jvb2xlYW46CiAgICAgY2FzZSBvcF9p
c19udW1iZXI6CkBAIC0zMzAsNiArMzMyLDggQEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2Rl
T2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2NrLCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAg
ICBjYXNlIG9wX2luc3RhbmNlb2Y6CiAgICAgY2FzZSBvcF9nZXRfYnlfdmFsOgogICAgIGNhc2Ug
b3BfdHlwZW9mOgorICAgIGNhc2Ugb3BfaXNfanVzdF91bmRlZmluZWQ6CisgICAgY2FzZSBvcF9p
c19qdXN0X3VuZGVmaW5lZF9vcl9udWxsOgogICAgIGNhc2Ugb3BfaXNfdW5kZWZpbmVkOgogICAg
IGNhc2Ugb3BfaXNfYm9vbGVhbjoKICAgICBjYXNlIG9wX2lzX251bWJlcjoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggZmNhNjMwMTQ5MTgyNmJl
ZTEwMDEyNGMyZjZhZTQyZjE4ZGVmOTllZS4uMmY1OGNkMzNhYWM2MWJmNGY0MzRlYTk2MTU1YjA0
NmQ2YjFkZDE5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9j
ay5jcHAKQEAgLTEwMjIsNiArMTAyMiwxNCBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcEJ5dGVjb2Rl
KAogICAgICAgICAgICAgcHJpbnRVbmFyeU9wKG91dCwgZXhlYywgbG9jYXRpb24sIGl0LCAidHlw
ZW9mIik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorICAgICAgICBjYXNlIG9wX2lz
X2p1c3RfdW5kZWZpbmVkOiB7CisgICAgICAgICAgICBwcmludFVuYXJ5T3Aob3V0LCBleGVjLCBs
b2NhdGlvbiwgaXQsICJpc19qdXN0X3VuZGVmaW5lZCIpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICAgICAgY2FzZSBvcF9pc19qdXN0X3VuZGVmaW5lZF9vcl9udWxsOiB7Cisg
ICAgICAgICAgICBwcmludFVuYXJ5T3Aob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQsICJpc19qdXN0
X3VuZGVmaW5lZF9vcl9udWxsIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAg
ICAgICBjYXNlIG9wX2lzX3VuZGVmaW5lZDogewogICAgICAgICAgICAgcHJpbnRVbmFyeU9wKG91
dCwgZXhlYywgbG9jYXRpb24sIGl0LCAiaXNfdW5kZWZpbmVkIik7CiAgICAgICAgICAgICBicmVh
azsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNv
ZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5jcHAKaW5kZXggYjkzNzBjOGQyODRhMzg0ZjIxZTBlNzg5MjY4NTQ1Yzky
YjE5ODIzYi4uNDNmMDdkODE0NzJhMGI2ZTFkNmI0Y2RiZTg2NTg1ZjkwZjNmYzljNCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5jcHAKQEAgLTM4NDIsNCArMzg0MiwxOCBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdFJlc3RQYXJhbWV0ZXIoUmVnaXN0ZXJJRCogcmVzdWx0LCB1bnNpZ25lZCBu
dQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK3ZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRS
ZXF1aXJlT2JqZWN0Q29lcmNpYmxlKFJlZ2lzdGVySUQqIHZhbHVlKQoreworICAgIFJlZlB0cjxM
YWJlbD4gaXNVbmRlZmluZWQgPSBuZXdMYWJlbCgpOworICAgIFJlZlB0cjxMYWJlbD4gdGFyZ2V0
ID0gbmV3TGFiZWwoKTsKKyAgICBlbWl0SnVtcElmRmFsc2UoZW1pdFVuYXJ5T3Aob3BfaXNfanVz
dF91bmRlZmluZWRfb3JfbnVsbCwgbmV3VGVtcG9yYXJ5KCksIHZhbHVlKSwgdGFyZ2V0LmdldCgp
KTsKKworICAgIGVtaXRKdW1wSWZUcnVlKGVtaXRVbmFyeU9wKG9wX2lzX2p1c3RfdW5kZWZpbmVk
LCBuZXdUZW1wb3JhcnkoKSwgdmFsdWUpLCBpc1VuZGVmaW5lZC5nZXQoKSk7CisgICAgZW1pdFRo
cm93VHlwZUVycm9yKEFTQ0lJTGl0ZXJhbCgibnVsbCBpcyBub3QgYW4gb2JqZWN0IikpOworICAg
IGVtaXRMYWJlbChpc1VuZGVmaW5lZC5nZXQoKSk7CisgICAgZW1pdFRocm93VHlwZUVycm9yKEFT
Q0lJTGl0ZXJhbCgidW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QiKSk7CisKKyAgICBlbWl0TGFi
ZWwodGFyZ2V0LmdldCgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5k
ZXggMzhiNjU5YTMzNjg1YmIzYzcyNjQ3ZGNmYWZiOGQ1ODIwNDIyYmE4Ni4uNzI4OTUxMDVhMjli
ZjY3M2ZmNTBkMjdlZDVjMGI2YjMwY2I5YTIzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNTk0LDYgKzU5
NCw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRJc09iamVj
dChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIHNyYyk7CiAgICAgICAgIFJlZ2lzdGVySUQq
IGVtaXRJc1VuZGVmaW5lZChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIHNyYyk7CisgICAg
ICAgIHZvaWQgZW1pdFJlcXVpcmVPYmplY3RDb2VyY2libGUoUmVnaXN0ZXJJRCogdmFsdWUpOwog
CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRJdGVyYXRvck5leHQoUmVnaXN0ZXJJRCogZHN0LCBS
ZWdpc3RlcklEKiBpdGVyYXRvciwgY29uc3QgVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEqIG5vZGUp
OwogICAgICAgICB2b2lkIGVtaXRJdGVyYXRvckNsb3NlKFJlZ2lzdGVySUQqIGl0ZXJhdG9yLCBj
b25zdCBUaHJvd2FibGVFeHByZXNzaW9uRGF0YSogbm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggNGE3ZTJlNzgy
YWY4NDU3NDY3NDdjMDQ2OGRjMzMyODQwNWQ0YTUzZi4uNjUzODNkNmYyMGJmMGU2MjQ3MGUyMjUw
MTk3MTQ3YWJkMGNiZTMwNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMzMzNyw2ICszMzM3LDcgQEAgdm9pZCBPYmpl
Y3RQYXR0ZXJuTm9kZTo6dG9TdHJpbmcoU3RyaW5nQnVpbGRlciYgYnVpbGRlcikgY29uc3QKICAg
ICAKIHZvaWQgT2JqZWN0UGF0dGVybk5vZGU6OmJpbmRWYWx1ZShCeXRlY29kZUdlbmVyYXRvciYg
Z2VuZXJhdG9yLCBSZWdpc3RlcklEKiByaHMpIGNvbnN0CiB7CisgICAgZ2VuZXJhdG9yLmVtaXRS
ZXF1aXJlT2JqZWN0Q29lcmNpYmxlKHJocyk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBt
X3RhcmdldFBhdHRlcm5zLnNpemUoKTsgaSsrKSB7CiAgICAgICAgIGF1dG8mIHRhcmdldCA9IG1f
dGFyZ2V0UGF0dGVybnNbaV07CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiB0ZW1wID0gZ2Vu
ZXJhdG9yLm5ld1RlbXBvcmFyeSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IGI5NWVmOGYzYzQ1
YTdkM2I1YzBhZDNkMTFmNjIwMDY5ZWU4ZmJhMGQuLjMyOWZjMGMxZmVmN2QwM2RkZjRhYjc4ZjY1
OWU0NDI0NjUzNDYzMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
QWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKQEAgLTkwNyw3ICs5MDcsOSBAQCBi
b29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0
cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0K
LSAgICAgICAgCisKKyAgICBjYXNlIElzSnVzdFVuZGVmaW5lZDoKKyAgICBjYXNlIElzSnVzdFVu
ZGVmaW5lZE9yTnVsbDoKICAgICBjYXNlIElzVW5kZWZpbmVkOgogICAgIGNhc2UgSXNCb29sZWFu
OgogICAgIGNhc2UgSXNOdW1iZXI6CkBAIC05MTksNiArOTIxLDEyIEBAIGJvb2wgQWJzdHJhY3RJ
bnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNs
b2JiZXJMaW1pCiAgICAgICAgIGlmIChjaGlsZC52YWx1ZSgpKSB7CiAgICAgICAgICAgICBib29s
IGNvbnN0YW50V2FzU2V0ID0gdHJ1ZTsKICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkg
eworICAgICAgICAgICAgY2FzZSBJc0p1c3RVbmRlZmluZWQ6CisgICAgICAgICAgICAgICAgc2V0
Q29uc3RhbnQobm9kZSwganNCb29sZWFuKGNoaWxkLnZhbHVlKCkuaXNVbmRlZmluZWQoKSkpOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBJc0p1c3RVbmRlZmluZWRP
ck51bGw6CisgICAgICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNCb29sZWFuKGNoaWxk
LnZhbHVlKCkuaXNVbmRlZmluZWRPck51bGwoKSkpOworICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgY2FzZSBJc1VuZGVmaW5lZDoKICAgICAgICAgICAgICAgICBzZXRDb25zdGFu
dChub2RlLCBqc0Jvb2xlYW4oCiAgICAgICAgICAgICAgICAgICAgIGNoaWxkLnZhbHVlKCkuaXND
ZWxsKCkKQEAgLTk4MSw2ICs5ODksMTQgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3Ry
YWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAg
ICAgCiAgICAgICAgIGJvb2wgY29uc3RhbnRXYXNTZXQgPSBmYWxzZTsKICAgICAgICAgc3dpdGNo
IChub2RlLT5vcCgpKSB7CisgICAgICAgIGNhc2UgSXNKdXN0VW5kZWZpbmVkOgorICAgICAgICBj
YXNlIElzSnVzdFVuZGVmaW5lZE9yTnVsbDoKKyAgICAgICAgICAgIGlmICghKGNoaWxkLm1fdHlw
ZSAmIFNwZWNPdGhlcikpIHsKKyAgICAgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc0Jv
b2xlYW4oZmFsc2UpKTsKKyAgICAgICAgICAgICAgICBjb25zdGFudFdhc1NldCA9IHRydWU7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIElzVW5kZWZp
bmVkOgogICAgICAgICAgICAgLy8gRklYTUU6IFVzZSB0aGUgbWFzcXVlcmFkZXMtYXMtdW5kZWZp
bmVkIHdhdGNocG9pbnQgdGhpbmd5LgogICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDQ1NgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCAyNGRiZDdiZTJkODc4Njg1Y2UxNTBlNDcx
ZTM1YjJhODcyNmU2NzIwLi41MWY3ZWE4ZTlmZjg3NzRmNmVhMTNmM2ZkYTJiNTVhNmNiMWI4MTEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNw
cApAQCAtMzQ5Myw3ICszNDkzLDE5IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2so
dW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKEluc3RhbmNlT2YsIHZhbHVlLCBw
cm90b3R5cGUpKTsKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX2luc3RhbmNlb2YpOwogICAg
ICAgICB9Ci0gICAgICAgICAgICAKKworICAgICAgICBjYXNlIG9wX2lzX2p1c3RfdW5kZWZpbmVk
OiB7CisgICAgICAgICAgICBOb2RlKiB2YWx1ZSA9IGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVu
dEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdp
c3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChJc0p1c3RV
bmRlZmluZWQsIHZhbHVlKSk7CisgICAgICAgICAgICBORVhUX09QQ09ERShvcF9pc19qdXN0X3Vu
ZGVmaW5lZCk7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIG9wX2lzX2p1c3RfdW5kZWZpbmVk
X29yX251bGw6IHsKKyAgICAgICAgICAgIE5vZGUqIHZhbHVlID0gZ2V0KFZpcnR1YWxSZWdpc3Rl
cihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSk7CisgICAgICAgICAgICBzZXQoVmly
dHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBo
KElzSnVzdFVuZGVmaW5lZE9yTnVsbCwgdmFsdWUpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RF
KG9wX2lzX2p1c3RfdW5kZWZpbmVkKTsKKyAgICAgICAgfQorCiAgICAgICAgIGNhc2Ugb3BfaXNf
dW5kZWZpbmVkOiB7CiAgICAgICAgICAgICBOb2RlKiB2YWx1ZSA9IGdldChWaXJ0dWFsUmVnaXN0
ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOwogICAgICAgICAgICAgc2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFw
aChJc1VuZGVmaW5lZCwgdmFsdWUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q2FwYWJpbGl0aWVzLmNwcAppbmRleCBhZTA2NTkzNDAyNjhhZWJmMGFhM2Y1NDYxZWMxMDM0YWJj
MmIyNTZiLi4zZmFlNWEzOGQyZjYxNDgwYjE5OTc2OGQ3NTIxMzA5MDgzOTg4ZjAwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0xMzAsNiAr
MTMwLDggQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJ
RCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3RydWMKICAgICBjYXNlIG9wX21vdjoKICAgICBj
YXNlIG9wX2NoZWNrX2hhc19pbnN0YW5jZToKICAgICBjYXNlIG9wX2luc3RhbmNlb2Y6CisgICAg
Y2FzZSBvcF9pc19qdXN0X3VuZGVmaW5lZDoKKyAgICBjYXNlIG9wX2lzX2p1c3RfdW5kZWZpbmVk
X29yX251bGw6CiAgICAgY2FzZSBvcF9pc191bmRlZmluZWQ6CiAgICAgY2FzZSBvcF9pc19ib29s
ZWFuOgogICAgIGNhc2Ugb3BfaXNfbnVtYmVyOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Nsb2JiZXJpemUuaAppbmRleCA5ZDc5NjlkZWRhNGY2ODUxMWRhZjMwMDM1N2UzODA3ZWIxNDFl
YTk5Li41MjhiMjM4MDdmZWNkNDczMjY5ZGViOWU0MmIwZGRmNTE4OTQzMDZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaApAQCAtMTQ0LDYgKzE0NCw4IEBAIHZv
aWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9y
JiByZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgY2FzZSBTdHJpbmdDaGFyQ29kZUF0OgogICAgIGNh
c2UgU3RyaW5nRnJvbUNoYXJDb2RlOgogICAgIGNhc2UgQ29tcGFyZVN0cmljdEVxOgorICAgIGNh
c2UgSXNKdXN0VW5kZWZpbmVkOgorICAgIGNhc2UgSXNKdXN0VW5kZWZpbmVkT3JOdWxsOgogICAg
IGNhc2UgSXNVbmRlZmluZWQ6CiAgICAgY2FzZSBJc0Jvb2xlYW46CiAgICAgY2FzZSBJc051bWJl
cjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAppbmRleCA0MjY5MDg4NTBm
OGMyMGFlNzIzMzlhNmE5ZjU5OWNjY2MzNTRmN2UyLi43MTViNDI0MTE5NWYxNzYzOTUwOGFkOWUy
MDBmNTY3ZjBiZWRkMDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0RvZXNHQy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3Bw
CkBAIC0xNDMsNiArMTQzLDggQEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2Rl
KQogICAgIGNhc2UgUHJvZmlsZUNvbnRyb2xGbG93OgogICAgIGNhc2UgQ2hlY2tIYXNJbnN0YW5j
ZToKICAgICBjYXNlIEluc3RhbmNlT2Y6CisgICAgY2FzZSBJc0p1c3RVbmRlZmluZWQ6CisgICAg
Y2FzZSBJc0p1c3RVbmRlZmluZWRPck51bGw6CiAgICAgY2FzZSBJc1VuZGVmaW5lZDoKICAgICBj
YXNlIElzQm9vbGVhbjoKICAgICBjYXNlIElzTnVtYmVyOgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXggOTdjM2MxZTdhZDkwNDYyY2IxYmU1NTlhZDMx
NTYyMGM0MTYyNmZiMS4uNGM5ZTY1NmE4ODUyZWU3OWJmNWVjZTMyYzQxODhhMmZiZGE5YzEzNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xNDA2
LDYgKzE0MDYsOCBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEJyZWFrcG9pbnQ6CiAgICAgICAg
IGNhc2UgUHJvZmlsZVdpbGxDYWxsOgogICAgICAgICBjYXNlIFByb2ZpbGVEaWRDYWxsOgorICAg
ICAgICBjYXNlIElzSnVzdFVuZGVmaW5lZE9yTnVsbDoKKyAgICAgICAgY2FzZSBJc0p1c3RVbmRl
ZmluZWQ6CiAgICAgICAgIGNhc2UgSXNVbmRlZmluZWQ6CiAgICAgICAgIGNhc2UgSXNCb29sZWFu
OgogICAgICAgICBjYXNlIElzTnVtYmVyOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
VHlwZS5oCmluZGV4IDlhMzIxZjlhYjc4Yjg1YzBkZWZmOTA5NzBiZGZhZTMzZjJjZmMwZDcuLjkw
ZmZkNGUzNjZlYTY3NGFkMWNhZGIxNDVhODk0ZWRhNDdkOWI1OTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTI3OSw2ICsyNzksOCBAQCBuYW1lc3BhY2UgSlND
IHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oUHJvZmlsZURpZENhbGwsIE5vZGVNdXN0R2Vu
ZXJhdGUpIFwKICAgICBtYWNybyhDaGVja0hhc0luc3RhbmNlLCBOb2RlTXVzdEdlbmVyYXRlKSBc
CiAgICAgbWFjcm8oSW5zdGFuY2VPZiwgTm9kZVJlc3VsdEJvb2xlYW4pIFwKKyAgICBtYWNybyhJ
c0p1c3RVbmRlZmluZWQsIE5vZGVSZXN1bHRCb29sZWFuKSBcCisgICAgbWFjcm8oSXNKdXN0VW5k
ZWZpbmVkT3JOdWxsLCBOb2RlUmVzdWx0Qm9vbGVhbikgXAogICAgIG1hY3JvKElzVW5kZWZpbmVk
LCBOb2RlUmVzdWx0Qm9vbGVhbikgXAogICAgIG1hY3JvKElzQm9vbGVhbiwgTm9kZVJlc3VsdEJv
b2xlYW4pIFwKICAgICBtYWNybyhJc051bWJlciwgTm9kZVJlc3VsdEJvb2xlYW4pIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9u
UGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFn
YXRpb25QaGFzZS5jcHAKaW5kZXggNWMwOWMyMmQ5ZTdkNzI5Zjk5NmM4MDc3Zjg4ZTdiMWI1MDI3
MzFiNy4uNzFlNTUyMDg3YjNkN2ZiMjlhN2FjMjNlNGI3NGUzZDM0ZjNiMGFmZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFz
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFn
YXRpb25QaGFzZS5jcHAKQEAgLTM3Miw2ICszNzIsOCBAQCBwcml2YXRlOgogICAgICAgICBjYXNl
IENvbXBhcmVFcToKICAgICAgICAgY2FzZSBDb21wYXJlU3RyaWN0RXE6CiAgICAgICAgIGNhc2Ug
SW5zdGFuY2VPZjoKKyAgICAgICAgY2FzZSBJc0p1c3RVbmRlZmluZWRPck51bGw6CisgICAgICAg
IGNhc2UgSXNKdXN0VW5kZWZpbmVkOgogICAgICAgICBjYXNlIElzVW5kZWZpbmVkOgogICAgICAg
ICBjYXNlIElzQm9vbGVhbjoKICAgICAgICAgY2FzZSBJc051bWJlcjoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXggYjE1YjBiNDQ4MjM0ZWJlM2Nh
NTYxMmQ4YTA0ZDMzNDhjNjZjZjIxNS4uYmQ2YjQ0MTYzMGIxYThmZTAyMGZhODgwZmQ3NWIwNDRi
MTkyMWY4NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9F
eGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRl
LmgKQEAgLTI0Myw2ICsyNDMsOCBAQCBib29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5
cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBQcm9maWxlQ29u
dHJvbEZsb3c6CiAgICAgY2FzZSBDaGVja0hhc0luc3RhbmNlOgogICAgIGNhc2UgSW5zdGFuY2VP
ZjoKKyAgICBjYXNlIElzSnVzdFVuZGVmaW5lZDoKKyAgICBjYXNlIElzSnVzdFVuZGVmaW5lZE9y
TnVsbDoKICAgICBjYXNlIElzVW5kZWZpbmVkOgogICAgIGNhc2UgSXNCb29sZWFuOgogICAgIGNh
c2UgSXNOdW1iZXI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCAyYTNjMmY4ZDg3ZjA4ZDk5NDg1NzAwNzQwYzAzOGEy
MTFkNTdmMmMzLi43NjljYjYyMDhlMWQ2NjMzMDQzMmU5YTUzYzlkZmI1MmE1YTBiZGM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAKQEAgLTQyMjQsNiArNDIyNCwyNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
KE5vZGUqIG5vZGUpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGNhc2UgSXNKdXN0VW5k
ZWZpbmVkT3JOdWxsOgorICAgIGNhc2UgSXNKdXN0VW5kZWZpbmVkOiB7CisgICAgICAgIEpTVmFs
dWVPcGVyYW5kIHZhbHVlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgR1BSVGVtcG9y
YXJ5IHJlc3VsdCh0aGlzKTsKKworICAgICAgICBKSVRDb21waWxlcjo6SnVtcCBpc0ltbWVkaWF0
ZSA9IG1faml0LmJyYW5jaElmTm90Q2VsbCh2YWx1ZS5qc1ZhbHVlUmVncygpKTsKKyAgICAgICAg
bV9qaXQubW92ZShUcnVzdGVkSW1tMzIoMCksIHJlc3VsdC5ncHIoKSk7CisgICAgICAgIEpJVENv
bXBpbGVyOjpKdW1wIGRvbmUgPSBtX2ppdC5qdW1wKCk7CisKKyAgICAgICAgaXNJbW1lZGlhdGUu
bGluaygmbV9qaXQpOworICAgICAgICBpZiAob3AgPT0gSXNKdXN0VW5kZWZpbmVkT3JOdWxsKSB7
CisgICAgICAgICAgICBtX2ppdC5hbmQ2NChUcnVzdGVkSW1tMzIoflRhZ0JpdFVuZGVmaW5lZCks
IHZhbHVlLmdwcigpKTsKKyAgICAgICAgICAgIG1faml0LmNvbXBhcmU2NChKSVRDb21waWxlcjo6
RXF1YWwsIHZhbHVlLmdwcigpLCBUcnVzdGVkSW1tMzIoVmFsdWVOdWxsKSwgcmVzdWx0Lmdwcigp
KTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBtX2ppdC5jb21wYXJlNjQoSklUQ29tcGls
ZXI6OkVxdWFsLCB2YWx1ZS5ncHIoKSwgVHJ1c3RlZEltbTMyKFZhbHVlVW5kZWZpbmVkKSwgcmVz
dWx0LmdwcigpKTsKKworICAgICAgICBkb25lLmxpbmsoJm1faml0KTsKKyAgICAgICAgYm9vbGVh
blJlc3VsdChyZXN1bHQuZ3ByKCksIG5vZGUpOworICAgICAgICBicmVhazsKKyAgICB9CisKICAg
ICBjYXNlIElzVW5kZWZpbmVkOiB7CiAgICAgICAgIEpTVmFsdWVPcGVyYW5kIHZhbHVlKHRoaXMs
IG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmlu
ZGV4IGQzOGMwZjI4NTNmODE5NGMxMjJlZWMyZmQ4NmIxYWUzMmQ4OWI2ODMuLjUxZGI5YjU3Mjk4
YjEzZDYyMDM3ZjExNTlmOGZjMTBmNzVhZTc2MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAtNDIwOCw3ICs0MjA4LDI4IEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgY29tcGls
ZUluc3RhbmNlT2Yobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICAgICAgCisKKyAg
ICBjYXNlIElzSnVzdFVuZGVmaW5lZE9yTnVsbDoKKyAgICBjYXNlIElzSnVzdFVuZGVmaW5lZDog
eworICAgICAgICBKU1ZhbHVlT3BlcmFuZCB2YWx1ZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Cisg
ICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcyk7CisKKyAgICAgICAgSklUQ29tcGlsZXI6
Okp1bXAgaXNJbW1lZGlhdGUgPSBtX2ppdC5icmFuY2hJZk5vdENlbGwodmFsdWUuanNWYWx1ZVJl
Z3MoKSk7CisgICAgICAgIG1faml0Lm1vdmUoVHJ1c3RlZEltbTMyKDApLCByZXN1bHQuZ3ByKCkp
OworICAgICAgICBKSVRDb21waWxlcjo6SnVtcCBkb25lID0gbV9qaXQuanVtcCgpOworCisgICAg
ICAgIGlzSW1tZWRpYXRlLmxpbmsoJm1faml0KTsKKyAgICAgICAgaWYgKG9wID09IElzSnVzdFVu
ZGVmaW5lZE9yTnVsbCkgeworICAgICAgICAgICAgbV9qaXQuYW5kNjQoVHJ1c3RlZEltbTMyKH5U
YWdCaXRVbmRlZmluZWQpLCB2YWx1ZS5ncHIoKSk7CisgICAgICAgICAgICBtX2ppdC5jb21wYXJl
NjQoSklUQ29tcGlsZXI6OkVxdWFsLCB2YWx1ZS5ncHIoKSwgVHJ1c3RlZEltbTMyKFZhbHVlTnVs
bCksIHJlc3VsdC5ncHIoKSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgbV9qaXQuY29t
cGFyZTY0KEpJVENvbXBpbGVyOjpFcXVhbCwgdmFsdWUuZ3ByKCksIFRydXN0ZWRJbW0zMihWYWx1
ZVVuZGVmaW5lZCksIHJlc3VsdC5ncHIoKSk7CisKKyAgICAgICAgZG9uZS5saW5rKCZtX2ppdCk7
CisgICAgICAgIGJvb2xlYW5SZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorCiAgICAgY2FzZSBJc1VuZGVmaW5lZDogewogICAgICAgICBKU1ZhbHVlT3Bl
cmFuZCB2YWx1ZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBy
ZXN1bHQodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExv
d2VyREZHVG9MTFZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0xMVk0uY3BwCmluZGV4IDliMWZhY2UwMzA0ZTA4MmEzMTZlZGM1ZGEwYzRiNTM3YmZmZTAzMjcu
LmU0ZWFhOGEzNThmMmNhZGQyMWVkYWVkMDBlYTBhZDk4Mzc2ODllNmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCkBAIC04OTIsNiArODky
LDEwIEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgSW52YWxpZGF0aW9uUG9pbnQ6CiAgICAgICAg
ICAgICBjb21waWxlSW52YWxpZGF0aW9uUG9pbnQoKTsKICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIElzSnVzdFVuZGVmaW5lZE9yTnVsbDoKKyAgICAgICAgICAgIGNvbXBpbGVJc0p1
c3RVbmRlZmluZWRPck51bGwoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElz
SnVzdFVuZGVmaW5lZDoKICAgICAgICAgY2FzZSBJc1VuZGVmaW5lZDoKICAgICAgICAgICAgIGNv
bXBpbGVJc1VuZGVmaW5lZCgpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC01MjYzLDcgKzUyNjcs
MTIgQEAgcHJpdmF0ZToKICAgICAgICAgZXhpdERlc2NyaXB0b3IubV9pc0ludmFsaWRhdGlvblBv
aW50ID0gdHJ1ZTsKICNlbmRpZiAvLyBGVExfVVNFU19CMwogICAgIH0KLSAgICAKKworICAgIHZv
aWQgY29tcGlsZUlzSnVzdFVuZGVmaW5lZE9yTnVsbCgpCisgICAgeworICAgICAgICBzZXRCb29s
ZWFuKGVxdWFsTnVsbE9yVW5kZWZpbmVkKG1fbm9kZS0+Y2hpbGQxKCksIEFsbENlbGxzQXJlRmFs
c2UsIEVxdWFsTnVsbE9yVW5kZWZpbmVkKSk7CisgICAgfQorCiAgICAgdm9pZCBjb21waWxlSXNV
bmRlZmluZWQoKQogICAgIHsKICAgICAgICAgc2V0Qm9vbGVhbihlcXVhbE51bGxPclVuZGVmaW5l
ZChtX25vZGUtPmNoaWxkMSgpLCBBbGxDZWxsc0FyZUZhbHNlLCBFcXVhbFVuZGVmaW5lZCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCmluZGV4IGE2MWI1N2Q0NjE1ZjlhOTJlOWIzNDM5NmVk
Mzg4Zjc5NmQ4NDUwZDAuLjhjOTFmMjZkY2U2OWViNDc5ZDI5OTlmZmRhMTY4MmI3MWEyN2Y0YjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKQEAgLTIyOCw2ICsyMjgsOCBAQCB2b2lkIEpJ
VDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9nZXRfYnlf
dmFsKQogICAgICAgICBERUZJTkVfT1Aob3BfY2hlY2tfaGFzX2luc3RhbmNlKQogICAgICAgICBE
RUZJTkVfT1Aob3BfaW5zdGFuY2VvZikKKyAgICAgICAgREVGSU5FX09QKG9wX2lzX2p1c3RfdW5k
ZWZpbmVkKQorICAgICAgICBERUZJTkVfT1Aob3BfaXNfanVzdF91bmRlZmluZWRfb3JfbnVsbCkK
ICAgICAgICAgREVGSU5FX09QKG9wX2lzX3VuZGVmaW5lZCkKICAgICAgICAgREVGSU5FX09QKG9w
X2lzX2Jvb2xlYW4pCiAgICAgICAgIERFRklORV9PUChvcF9pc19udW1iZXIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuaAppbmRleCBkMjI1ODIzOWQyZWI3MzAzNTFkZGUxMTVlNjhhNzViY2E0NzlkNDJk
Li44ODJmMjdhOWM2YTk4YjRiZmExYTMxNjllYjI3YzYyYzhjNzEyMWVkIDEwMDc1NQotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmgKQEAgLTUwOSw2ICs1MDksOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
dm9pZCBlbWl0X29wX2luaXRfbGF6eV9yZWcoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBl
bWl0X29wX2NoZWNrX2hhc19pbnN0YW5jZShJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVt
aXRfb3BfaW5zdGFuY2VvZihJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lkIGVtaXRfb3BfaXNf
anVzdF91bmRlZmluZWQoSW5zdHJ1Y3Rpb24qKTsKKyAgICAgICAgdm9pZCBlbWl0X29wX2lzX2p1
c3RfdW5kZWZpbmVkX29yX251bGwoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29w
X2lzX3VuZGVmaW5lZChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfaXNfYm9v
bGVhbihJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfaXNfbnVtYmVyKEluc3Ry
dWN0aW9uKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCBk
NDk0ODk2NTBlNjg1NDY1OWU1YTYwZGU3OGU2MzNlMWE1MTgzODVhLi4yNjk0NThmMjZjYjhkZjM1
OGVlZjg1OTA0YzM0NDdhODZkOTY5MTlmIDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAKQEAgLTE1Nyw2ICsxNTcsNDMgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFu
Y2VvZihJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIGVtaXRQdXRWaXJ0dWFs
UmVnaXN0ZXIoZHN0KTsKIH0KIAordm9pZCBKSVQ6OmVtaXRfb3BfaXNfanVzdF91bmRlZmluZWQo
SW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKK3sKKyAgICBpbnQgZHN0ID0gY3VycmVu
dEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyAgICBpbnQgdmFsdWUgPSBjdXJyZW50SW5zdHJ1
Y3Rpb25bMl0udS5vcGVyYW5kOworCisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rlcih2YWx1ZSwg
cmVnVDApOworICAgIEp1bXAgaXNJbW1lZGlhdGUgPSBlbWl0SnVtcElmTm90SlNDZWxsKHJlZ1Qw
KTsKKyAgICBtb3ZlKFRydXN0ZWRJbW0zMigwKSwgcmVnVDApOworICAgIEp1bXAgZG9uZSA9IGp1
bXAoKTsKKworICAgIGlzSW1tZWRpYXRlLmxpbmsodGhpcyk7CisgICAgY29tcGFyZTY0KEVxdWFs
LCByZWdUMCwgVHJ1c3RlZEltbTMyKFZhbHVlVW5kZWZpbmVkKSwgcmVnVDApOworCisgICAgZG9u
ZS5saW5rKHRoaXMpOworICAgIGVtaXRUYWdCb29sKHJlZ1QwKTsKKyAgICBlbWl0UHV0VmlydHVh
bFJlZ2lzdGVyKGRzdCk7Cit9CisKK3ZvaWQgSklUOjplbWl0X29wX2lzX2p1c3RfdW5kZWZpbmVk
X29yX251bGwoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKK3sKKyAgICBpbnQgZHN0
ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyAgICBpbnQgdmFsdWUgPSBjdXJy
ZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOworCisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rl
cih2YWx1ZSwgcmVnVDApOworICAgIEp1bXAgaXNJbW1lZGlhdGUgPSBlbWl0SnVtcElmTm90SlND
ZWxsKHJlZ1QwKTsKKyAgICBtb3ZlKFRydXN0ZWRJbW0zMigwKSwgcmVnVDApOworICAgIEp1bXAg
ZG9uZSA9IGp1bXAoKTsKKworICAgIGlzSW1tZWRpYXRlLmxpbmsodGhpcyk7CisgICAgYW5kNjQo
VHJ1c3RlZEltbTMyKH5UYWdCaXRVbmRlZmluZWQpLCByZWdUMCk7CisgICAgY29tcGFyZTY0KEVx
dWFsLCByZWdUMCwgVHJ1c3RlZEltbTMyKFZhbHVlTnVsbCksIHJlZ1QwKTsKKworICAgIGRvbmUu
bGluayh0aGlzKTsKKyAgICBlbWl0VGFnQm9vbChyZWdUMCk7CisgICAgZW1pdFB1dFZpcnR1YWxS
ZWdpc3Rlcihkc3QpOworfQorCiB2b2lkIEpJVDo6ZW1pdF9vcF9pc191bmRlZmluZWQoSW5zdHJ1
Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsKICAgICBpbnQgZHN0ID0gY3VycmVudEluc3Ry
dWN0aW9uWzFdLnUub3BlcmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3Bjb2RlczMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bj
b2RlczMyXzY0LmNwcAppbmRleCA0ZTA0MzY1ZmQ2YzI4MzY4OTliZWJmN2UwNTMzMGQxZDNkYTAw
OTA2Li40MzQxNjI1ZTM0OGFmMjNjM2I1NjVhNzUyNzViYmFiM2Q3YjBhMDM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCkBAIC0yNjYsNiArMjY2
LDQyIEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9pbnN0YW5jZW9mKEluc3RydWN0aW9uKiBjdXJy
ZW50SW5zdHJ1Y3Rpb24sIFZlY3RvcjxTbG93Q2FzCiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRp
b25JbnN0YW5jZU9mLCBkc3QsIHJlZ1QxLCByZWdUMCwgcmVnVDMsIHJlZ1QyKTsKIH0KIAordm9p
ZCBKSVQ6OmVtaXRfb3BfaXNfanVzdF91bmRlZmluZWQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0
cnVjdGlvbikKK3sKKyAgICBpbnQgZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFu
ZDsKKyAgICBpbnQgdmFsdWUgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOworCisg
ICAgZW1pdExvYWQodmFsdWUsIHJlZ1QxLCByZWdUMCk7CisgICAgSnVtcCBpc0ltbWVkaWF0ZSA9
IGJyYW5jaDMyKE5vdEVxdWFsLCByZWdUMSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcp
KTsKKyAgICBtb3ZlKFRydXN0ZWRJbW0zMigwKSwgcmVnVDApOworICAgIEp1bXAgZG9uZSA9IGp1
bXAoKTsKKworICAgIGlzSW1tZWRpYXRlLmxpbmsodGhpcyk7CisgICAgY29tcGFyZTMyKEVxdWFs
LCByZWdUMSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZyksIHJlZ1QxKTsKKwor
ICAgIGRvbmUubGluayh0aGlzKTsKKyAgICBlbWl0U3RvcmVCb29sKGRzdCwgcmVnVDEpOworfQor
Cit2b2lkIEpJVDo6ZW1pdF9vcF9pc19qdXN0X3VuZGVmaW5lZF9vcl9udWxsKEluc3RydWN0aW9u
KiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlv
blsxXS51Lm9wZXJhbmQ7CisgICAgaW50IHZhbHVlID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUu
b3BlcmFuZDsKKworICAgIGVtaXRMb2FkKHZhbHVlLCByZWdUMSwgcmVnVDApOworICAgIEp1bXAg
aXNJbW1lZGlhdGUgPSBicmFuY2gzMihOb3RFcXVhbCwgcmVnVDEsIFRydXN0ZWRJbW0zMihKU1Zh
bHVlOjpDZWxsVGFnKSk7CisgICAgbW92ZShUcnVzdGVkSW1tMzIoMCksIHJlZ1QwKTsKKyAgICBK
dW1wIGRvbmUgPSBqdW1wKCk7CisKKyAgICBpc0ltbWVkaWF0ZS5saW5rKHRoaXMpOworICAgIGNv
bXBhcmUzMihFcXVhbCwgcmVnVDEsIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpOdWxsVGFnKSwgcmVn
VDIpOworICAgIGNvbXBhcmUzMihFcXVhbCwgcmVnVDEsIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpV
bmRlZmluZWRUYWcpLCByZWdUMSk7CisgICAgb3IzMihyZWdUMiwgcmVnVDEpOworCisgICAgZG9u
ZS5saW5rKHRoaXMpOworICAgIGVtaXRTdG9yZUJvb2woZHN0LCByZWdUMSk7Cit9CisKIHZvaWQg
SklUOjplbWl0X29wX2lzX3VuZGVmaW5lZChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9u
KQogewogICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIz
Ml82NC5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjMyXzY0LmFzbQppbmRleCA1MmVmYmU2M2FmOTA3N2QyYWQyMDBiZTdhMDI4NDMzZTUxMGM1MWY0
Li43MmE5ZTc4ZDcyZTZhN2Q5ODI0MTNhZmZkYWRmYmY3OWMzYzU1MDJiIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0
LmFzbQpAQCAtMTIxNiw2ICsxMjE2LDQwIEBAIF9sbGludF9vcF9pbnN0YW5jZW9mOgogICAgIGRp
c3BhdGNoKDQpCiAKIAorX2xsaW50X29wX2lzX2p1c3RfdW5kZWZpbmVkX29yX251bGw6CisgICAg
dHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpIDhbUENdLCB0MAorICAgIGxvYWRpIDRbUENdLCB0
MworICAgIGxvYWRpIFRhZ09mZnNldFtjZnIsIHQwLCA4XSwgdDEKKyAgICBsb2FkaSBQYXlsb2Fk
T2Zmc2V0W2NmciwgdDAsIDhdLCB0MAorICAgIGJpbmVxIHQxLCBDZWxsVGFnLCAub3BJc0p1c3RV
bmRlZmluZWRPck51bGxJbW1lZGlhdGUKKyAgICBtb3ZlIDAsIHQxCisgICAgam1wIC5vcElzSnVz
dFVuZGVmaW5lZE9yTnVsbERvbmUKKy5vcElzSnVzdFVuZGVmaW5lZE9yTnVsbEltbWVkaWF0ZToK
KyAgICBjaWVxIHQxLCBOdWxsVGFnLCB0MgorICAgIGNpZXEgdDEsIFVuZGVmaW5lZFRhZywgdDEK
KyAgICBvcmkgdDIsIHQxCisub3BJc0p1c3RVbmRlZmluZWRPck51bGxEb25lOgorICAgIHN0b3Jl
aSBCb29sZWFuVGFnLCBUYWdPZmZzZXRbY2ZyLCB0MCwgOF0KKyAgICBzdG9yZWkgdDEsIFBheWxv
YWRPZmZzZXRbY2ZyLCB0MCwgOF0KKyAgICBkaXNwYXRjaCgzKQorCisKK19sbGludF9vcF9pc19q
dXN0X3VuZGVmaW5lZDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGkgOFtQQ10sIHQx
CisgICAgbG9hZGkgNFtQQ10sIHQwCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDIs
IHQzKQorICAgIHN0b3JlaSBCb29sZWFuVGFnLCBUYWdPZmZzZXRbY2ZyLCB0MCwgOF0KKyAgICBi
aWVxIHQyLCBDZWxsVGFnLCAub3BJc0p1c3RVbmRlZmluZWRDZWxsCisgICAgY2llcSB0MiwgVW5k
ZWZpbmVkVGFnLCB0MworICAgIHN0b3JlaSB0MywgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XQor
ICAgIGRpc3BhdGNoKDMpCisub3BJc0p1c3RVbmRlZmluZWRDZWxsOgorICAgIHN0b3JlaSAwLCBQ
YXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdCisgICAgZGlzcGF0Y2goMykKKworCiBfbGxpbnRfb3Bf
aXNfdW5kZWZpbmVkOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKICAgICBsb2FkaSA4W1BDXSwgdDEK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc20KaW5kZXggYzkyZDhlYTg4NDdiNGJhYzU1NDQ4YTcwMjhmMDliN2RhYTI1Mjc3ZS4u
YzBkYmQ2Mzk1ZjE0NjRkODY1ZmI0OTVmNjkyZTVjMGZlNWQxOTYyZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KQEAg
LTczMSw2ICs3MzEsNyBAQCBtYWNybyBlcXVhbE51bGxDb21wYXJpc29uKCkKIC5kb25lOgogZW5k
CiAKKwogX2xsaW50X29wX2VxX251bGw6CiAgICAgdHJhY2VFeGVjdXRpb24oKQogICAgIGVxdWFs
TnVsbENvbXBhcmlzb24oKQpAQCAtMTExMCw2ICsxMTExLDM5IEBAIF9sbGludF9vcF9pbnN0YW5j
ZW9mOgogICAgIGRpc3BhdGNoKDQpCiAKIAorX2xsaW50X29wX2lzX2p1c3RfdW5kZWZpbmVkX29y
X251bGw6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigy
LCB0MCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgbG9hZHEgW2Nmciwg
dDAsIDhdLCB0MAorICAgIGJ0cW56IHQwLCB0YWdNYXNrLCAub3BJc1VuZGVmaW5lZE9yTnVsbElt
bWVkaWF0ZQorICAgIG1vdmUgMCwgdDAKKyAgICBqbXAgLm9wSXNVbmRlZmluZWRPck51bGxEb25l
Cisub3BJc1VuZGVmaW5lZE9yTnVsbEltbWVkaWF0ZToKKyAgICBhbmRxIH5UYWdCaXRVbmRlZmlu
ZWQsIHQwCisgICAgY3FlcSB0MCwgVmFsdWVOdWxsLCB0MAorLm9wSXNVbmRlZmluZWRPck51bGxE
b25lOgorICAgIG9ycSBWYWx1ZUZhbHNlLCB0MAorICAgIHN0b3JlcSB0MCwgW2NmciwgdDEsIDhd
CisgICAgZGlzcGF0Y2goMykKKworCitfbGxpbnRfb3BfaXNfanVzdF91bmRlZmluZWQ6CisgICAg
dHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkKKyAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgbG9hZHEgW2NmciwgdDAsIDhdLCB0MAor
ICAgIGJ0cW56IHQwLCB0YWdNYXNrLCAub3BJc1VuZGVmaW5lZEltbWVkaWF0ZQorICAgIG1vdmUg
MCwgdDAKKyAgICBqbXAgLm9wSXNVbmRlZmluZWREb25lCisub3BJc1VuZGVmaW5lZEltbWVkaWF0
ZToKKyAgICBjcWVxIHQwLCBWYWx1ZVVuZGVmaW5lZCwgdDAKKy5vcElzVW5kZWZpbmVkRG9uZToK
KyAgICBvcnEgVmFsdWVGYWxzZSwgdDAKKyAgICBzdG9yZXEgdDAsIFtjZnIsIHQxLCA4XQorICAg
IGRpc3BhdGNoKDMpCisKKwogX2xsaW50X29wX2lzX3VuZGVmaW5lZDoKICAgICB0cmFjZUV4ZWN1
dGlvbigpCiAgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQxKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQt
cmVxdWlyZS1vYmplY3QtY29lcmNpYmxlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQtcmVxdWlyZS1vYmplY3QtY29lcmNpYmxl
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZmMzc3NDAwZGViYjJkMmFlYjMzYjM5OTEwMTE3MDZkNmQzNzQwNGEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Rl
c3RydWN0dXJpbmctYXNzaWdubWVudC1yZXF1aXJlLW9iamVjdC1jb2VyY2libGUuanMKQEAgLTAs
MCArMSw2OCBAQAorZnVuY3Rpb24gdGVzdFR5cGVFcnJvcihzY3JpcHQsIG1lc3NhZ2UpIHsKKyAg
ICB2YXIgZXJyb3IgPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGV2YWwoc2NyaXB0KTsKKyAg
ICB9IGNhdGNoIChlKSB7CisgICAgICAgIGVycm9yID0gZTsKKyAgICB9CisgICAgaWYgKCFlcnJv
cikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCB0eXBlIGVycm9yIG5vdCB0aHJv
d24gYnkgYCIgKyBzY3JpcHQgKyAiYCIpOworCisgICAgaWYgKFN0cmluZyhlcnJvcikgIT09IG1l
c3NhZ2UpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGVycm9yOiAiICsgU3RyaW5nKGVy
cm9yKSk7Cit9CisKK2Z1bmN0aW9uIHRlc3RPSyhzY3JpcHQpIHsKKyAgICB2YXIgZXJyb3IgPSBu
dWxsOworICAgIHRyeSB7CisgICAgICAgIGV2YWwoc2NyaXB0KTsKKyAgICB9IGNhdGNoIChlKSB7
CisgICAgICAgIGVycm9yID0gZTsKKyAgICB9CisgICAgaWYgKGVycm9yKQorICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoIkJhZCBlcnJvcjogIiArIFN0cmluZyhlcnJvcikpOworfQorCit0ZXN0VHlw
ZUVycm9yKGAoeyB9ID0gbnVsbClgLCAiVHlwZUVycm9yOiBudWxsIGlzIG5vdCBhbiBvYmplY3Qi
KTsKK3Rlc3RUeXBlRXJyb3IoYCh7IGEgfSA9IG51bGwpYCwgIlR5cGVFcnJvcjogbnVsbCBpcyBu
b3QgYW4gb2JqZWN0Iik7Cit0ZXN0VHlwZUVycm9yKGAoeyBhOiB7IGIgfSA9IG51bGwgfSA9IHsg
fSlgLCAiVHlwZUVycm9yOiBudWxsIGlzIG5vdCBhbiBvYmplY3QiKTsKK3Rlc3RUeXBlRXJyb3Io
YCh7IGE6IHsgYiB9IH0gPSB7IGE6IG51bGwgfSlgLCAiVHlwZUVycm9yOiBudWxsIGlzIG5vdCBh
biBvYmplY3QiKTsKK3Rlc3RUeXBlRXJyb3IoYCh7IH0gPSB1bmRlZmluZWQpYCwgIlR5cGVFcnJv
cjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QiKTsKK3Rlc3RUeXBlRXJyb3IoYCh7IGEgfSA9
IHVuZGVmaW5lZClgLCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCIpOwor
dGVzdFR5cGVFcnJvcihgKHsgYTogeyBiIH0gPSB1bmRlZmluZWQgfSA9IHsgfSlgLCAiVHlwZUVy
cm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCIpOwordGVzdFR5cGVFcnJvcihgKHsgYTog
eyBiIH0gfSA9IHsgYTogdW5kZWZpbmVkIH0pYCwgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QiKTsKKwordGVzdE9LKGAoeyB9ID0gMTIzKWApOwordGVzdE9LKGAoeyBhIH0g
PSAxMjMpYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9ID0gMTIzIH0gPSB7IH0pYCk7Cit0ZXN0T0so
YCh7IGE6IHsgYiB9IH0gPSB7IGE6IDEyMyB9KWApOworCit0ZXN0T0soYCh7IH0gPSAwLjUpYCk7
Cit0ZXN0T0soYCh7IGEgfSA9IDAuNSlgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gPSAwLjUgfSA9
IHsgfSlgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gfSA9IHsgYTogMC41IH0pYCk7CisKK3Rlc3RP
SyhgKHsgfSA9IE5hTilgKTsKK3Rlc3RPSyhgKHsgYSB9ID0gTmFOKWApOwordGVzdE9LKGAoeyBh
OiB7IGIgfSA9IE5hTiB9ID0geyB9KWApOwordGVzdE9LKGAoeyBhOiB7IGIgfSB9ID0geyBhOiBO
YU4gfSlgKTsKKwordGVzdE9LKGAoeyB9ID0gdHJ1ZSlgKTsKK3Rlc3RPSyhgKHsgYSB9ID0gdHJ1
ZSlgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gPSB0cnVlIH0gPSB7IH0pYCk7Cit0ZXN0T0soYCh7
IGE6IHsgYiB9IH0gPSB7IGE6IHRydWUgfSlgKTsKKwordGVzdE9LKGAoeyB9ID0ge30pYCk7Cit0
ZXN0T0soYCh7IGEgfSA9IHt9KWApOwordGVzdE9LKGAoeyBhOiB7IGIgfSA9IHt9IH0gPSB7IH0p
YCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9IH0gPSB7IGE6IHt9IH0pYCk7CisKK3Rlc3RPSyhgKHsg
fSA9IFtdKWApOwordGVzdE9LKGAoeyBhIH0gPSBbXSlgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0g
PSBbXSB9ID0geyB9KWApOwordGVzdE9LKGAoeyBhOiB7IGIgfSB9ID0geyBhOiBbXSB9KWApOwor
Cit0ZXN0T0soYCh7IH0gPSAvMS8pYCk7Cit0ZXN0T0soYCh7IGEgfSA9IC8xLylgKTsKK3Rlc3RP
SyhgKHsgYTogeyBiIH0gPSAvMS8gfSA9IHsgfSlgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gfSA9
IHsgYTogLzEvIH0pYCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266331</attachid>
            <date>2015-11-30 20:35:53 -0800</date>
            <delta_ts>2015-11-30 22:04:42 -0800</delta_ts>
            <desc>[JSC] add missing RequireObjectCoercible() step in destructuring</desc>
            <filename>bug-151596-20151130233531.patch</filename>
            <type>text/plain</type>
            <size>29396</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyODA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NjdhZWM1NjdiNTM2M2E5ZTVkZjg0NjA0OGEwYjYwZmZiZTQyM2E5Li4yZjg3MWZjY2JiZTRjMWZl
NzE0NzZjYzE0M2VhYTY3OWRiYmQwM2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MCBAQAorMjAxNS0xMS0zMCAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cG90dGVyODhAZ21h
aWwuY29tPgorCisgICAgICAgIFtKU0NdIGFkZCBtaXNzaW5nIFJlcXVpcmVPYmplY3RDb2VyY2li
bGUoKSBzdGVwIGluIGRlc3RydWN0dXJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1MTU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb246CisgICAgICAg
ICogYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaDoKKyAgICAgICAgKEpTQzo6Y29tcHV0ZVVzZXNG
b3JCeXRlY29kZU9mZnNldCk6CisgICAgICAgIChKU0M6OmNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVP
ZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6
OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNv
ZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFJl
cXVpcmVPYmplY3RDb2VyY2libGUpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAg
ICAgICAoSlNDOjpPYmplY3RQYXR0ZXJuTm9kZTo6YmluZFZhbHVlKToKKyAgICAgICAgKiBkZmcv
REZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0
cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgorICAg
ICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0
ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBhYmlsaXRpZXMu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAgICAgICogZGZn
L0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXplKToKKyAgICAg
ICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2VzR0MpOgorICAg
ICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBo
YXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdOb2RlVHlwZS5oOgorICAgICAgICAq
IGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2U6OnByb3BhZ2F0ZSk6CisgICAgICAgICogZGZn
L0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpzYWZlVG9FeGVjdXRlKToK
KyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAgKEpTQzo6
RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTm9kZSk6CisgICAgICAgIChKU0M6OkZU
TDo6REZHOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUlzSnVzdFVuZGVmaW5lZE9yTnVsbCk6Cisg
ICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVN
YWluUGFzcyk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVz
LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX2lzX2p1c3RfdW5kZWZpbmVkKToKKyAg
ICAgICAgKEpTQzo6SklUOjplbWl0X29wX2lzX2p1c3RfdW5kZWZpbmVkX29yX251bGwpOgorICAg
ICAgICAqIGppdC9KSVRPcGNvZGVzMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRf
b3BfaXNfanVzdF91bmRlZmluZWQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfaXNfanVz
dF91bmRlZmluZWRfb3JfbnVsbCk6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjMyXzY0LmFzbToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOgor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQtcmVxdWlyZS1v
YmplY3QtY29lcmNpYmxlLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RUeXBlRXJyb3IpOgorICAg
ICAgICAodGVzdE9LKToKKwogMjAxNS0xMS0yNiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5j
b20+CiAKICAgICAgICAgW0FSTTY0XSBzdHJlc3Mvb3BfZGl2LmpzIGlzIGZhaWxpbmcgb24gc29t
ZSBkaXZpZGUgYnkgMCBjYXNlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZUxpc3QuanNvbgppbmRleCAyOTkwZmFlMzU0ODk3OWZlYzdjYTE4NjY5MDkxYmIw
NWUyYWM2MmU4Li4wYzQwNjU3YzE1YWU1YWMzYWYyMzFiNjM0Yjk4NWU1NjU0ODliODhhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24K
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBA
IC00OCw2ICs0OCw4IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jaGVja19oYXNfaW5z
dGFuY2UiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2luc3Rh
bmNlb2YiLCAibGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX3R5cGVv
ZiIsICJsZW5ndGgiIDogMyB9LAorICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfaXNfanVzdF91
bmRlZmluZWQiLCAibGVuZ3RoIiA6IDMgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2lz
X2p1c3RfdW5kZWZpbmVkX29yX251bGwiLCAibGVuZ3RoIiA6IDMgfSwKICAgICAgICAgICAgIHsg
Im5hbWUiIDogIm9wX2lzX3VuZGVmaW5lZCIsICJsZW5ndGgiIDogMyB9LAogICAgICAgICAgICAg
eyAibmFtZSIgOiAib3BfaXNfYm9vbGVhbiIsICJsZW5ndGgiIDogMyB9LAogICAgICAgICAgICAg
eyAibmFtZSIgOiAib3BfaXNfbnVtYmVyIiwgImxlbmd0aCIgOiAzIH0sCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCmluZGV4IGE2MTMyYzMyYWFj
ZTk5YTcyOThmMzg0OTFjYmY4ODZlNWQ2NjY4NDUuLmMyM2QzNjIzOWEzZDc3NmRlOTRjMGEyNjA1
MmZkZmNhMWU5ZTExZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZVVzZURlZi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oCkBAIC0xMzMsNiArMTMzLDggQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5
dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ugb3BfZ2V0X2J5X2lkOgogICAgIGNhc2Ugb3BfZ2V0X2Fy
cmF5X2xlbmd0aDoKICAgICBjYXNlIG9wX3R5cGVvZjoKKyAgICBjYXNlIG9wX2lzX2p1c3RfdW5k
ZWZpbmVkOgorICAgIGNhc2Ugb3BfaXNfanVzdF91bmRlZmluZWRfb3JfbnVsbDoKICAgICBjYXNl
IG9wX2lzX3VuZGVmaW5lZDoKICAgICBjYXNlIG9wX2lzX2Jvb2xlYW46CiAgICAgY2FzZSBvcF9p
c19udW1iZXI6CkBAIC0zMzAsNiArMzMyLDggQEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2Rl
T2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2NrLCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAg
ICBjYXNlIG9wX2luc3RhbmNlb2Y6CiAgICAgY2FzZSBvcF9nZXRfYnlfdmFsOgogICAgIGNhc2Ug
b3BfdHlwZW9mOgorICAgIGNhc2Ugb3BfaXNfanVzdF91bmRlZmluZWQ6CisgICAgY2FzZSBvcF9p
c19qdXN0X3VuZGVmaW5lZF9vcl9udWxsOgogICAgIGNhc2Ugb3BfaXNfdW5kZWZpbmVkOgogICAg
IGNhc2Ugb3BfaXNfYm9vbGVhbjoKICAgICBjYXNlIG9wX2lzX251bWJlcjoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggZmNhNjMwMTQ5MTgyNmJl
ZTEwMDEyNGMyZjZhZTQyZjE4ZGVmOTllZS4uMmY1OGNkMzNhYWM2MWJmNGY0MzRlYTk2MTU1YjA0
NmQ2YjFkZDE5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9j
ay5jcHAKQEAgLTEwMjIsNiArMTAyMiwxNCBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcEJ5dGVjb2Rl
KAogICAgICAgICAgICAgcHJpbnRVbmFyeU9wKG91dCwgZXhlYywgbG9jYXRpb24sIGl0LCAidHlw
ZW9mIik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorICAgICAgICBjYXNlIG9wX2lz
X2p1c3RfdW5kZWZpbmVkOiB7CisgICAgICAgICAgICBwcmludFVuYXJ5T3Aob3V0LCBleGVjLCBs
b2NhdGlvbiwgaXQsICJpc19qdXN0X3VuZGVmaW5lZCIpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICAgICAgY2FzZSBvcF9pc19qdXN0X3VuZGVmaW5lZF9vcl9udWxsOiB7Cisg
ICAgICAgICAgICBwcmludFVuYXJ5T3Aob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQsICJpc19qdXN0
X3VuZGVmaW5lZF9vcl9udWxsIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAg
ICAgICBjYXNlIG9wX2lzX3VuZGVmaW5lZDogewogICAgICAgICAgICAgcHJpbnRVbmFyeU9wKG91
dCwgZXhlYywgbG9jYXRpb24sIGl0LCAiaXNfdW5kZWZpbmVkIik7CiAgICAgICAgICAgICBicmVh
azsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNv
ZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5jcHAKaW5kZXggYjkzNzBjOGQyODRhMzg0ZjIxZTBlNzg5MjY4NTQ1Yzky
YjE5ODIzYi4uNDNmMDdkODE0NzJhMGI2ZTFkNmI0Y2RiZTg2NTg1ZjkwZjNmYzljNCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5jcHAKQEAgLTM4NDIsNCArMzg0MiwxOCBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdFJlc3RQYXJhbWV0ZXIoUmVnaXN0ZXJJRCogcmVzdWx0LCB1bnNpZ25lZCBu
dQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK3ZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRS
ZXF1aXJlT2JqZWN0Q29lcmNpYmxlKFJlZ2lzdGVySUQqIHZhbHVlKQoreworICAgIFJlZlB0cjxM
YWJlbD4gaXNVbmRlZmluZWQgPSBuZXdMYWJlbCgpOworICAgIFJlZlB0cjxMYWJlbD4gdGFyZ2V0
ID0gbmV3TGFiZWwoKTsKKyAgICBlbWl0SnVtcElmRmFsc2UoZW1pdFVuYXJ5T3Aob3BfaXNfanVz
dF91bmRlZmluZWRfb3JfbnVsbCwgbmV3VGVtcG9yYXJ5KCksIHZhbHVlKSwgdGFyZ2V0LmdldCgp
KTsKKworICAgIGVtaXRKdW1wSWZUcnVlKGVtaXRVbmFyeU9wKG9wX2lzX2p1c3RfdW5kZWZpbmVk
LCBuZXdUZW1wb3JhcnkoKSwgdmFsdWUpLCBpc1VuZGVmaW5lZC5nZXQoKSk7CisgICAgZW1pdFRo
cm93VHlwZUVycm9yKEFTQ0lJTGl0ZXJhbCgibnVsbCBpcyBub3QgYW4gb2JqZWN0IikpOworICAg
IGVtaXRMYWJlbChpc1VuZGVmaW5lZC5nZXQoKSk7CisgICAgZW1pdFRocm93VHlwZUVycm9yKEFT
Q0lJTGl0ZXJhbCgidW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QiKSk7CisKKyAgICBlbWl0TGFi
ZWwodGFyZ2V0LmdldCgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5k
ZXggMzhiNjU5YTMzNjg1YmIzYzcyNjQ3ZGNmYWZiOGQ1ODIwNDIyYmE4Ni4uNzI4OTUxMDVhMjli
ZjY3M2ZmNTBkMjdlZDVjMGI2YjMwY2I5YTIzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNTk0LDYgKzU5
NCw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRJc09iamVj
dChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIHNyYyk7CiAgICAgICAgIFJlZ2lzdGVySUQq
IGVtaXRJc1VuZGVmaW5lZChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIHNyYyk7CisgICAg
ICAgIHZvaWQgZW1pdFJlcXVpcmVPYmplY3RDb2VyY2libGUoUmVnaXN0ZXJJRCogdmFsdWUpOwog
CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRJdGVyYXRvck5leHQoUmVnaXN0ZXJJRCogZHN0LCBS
ZWdpc3RlcklEKiBpdGVyYXRvciwgY29uc3QgVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEqIG5vZGUp
OwogICAgICAgICB2b2lkIGVtaXRJdGVyYXRvckNsb3NlKFJlZ2lzdGVySUQqIGl0ZXJhdG9yLCBj
b25zdCBUaHJvd2FibGVFeHByZXNzaW9uRGF0YSogbm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggNGE3ZTJlNzgy
YWY4NDU3NDY3NDdjMDQ2OGRjMzMyODQwNWQ0YTUzZi4uNjUzODNkNmYyMGJmMGU2MjQ3MGUyMjUw
MTk3MTQ3YWJkMGNiZTMwNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMzMzNyw2ICszMzM3LDcgQEAgdm9pZCBPYmpl
Y3RQYXR0ZXJuTm9kZTo6dG9TdHJpbmcoU3RyaW5nQnVpbGRlciYgYnVpbGRlcikgY29uc3QKICAg
ICAKIHZvaWQgT2JqZWN0UGF0dGVybk5vZGU6OmJpbmRWYWx1ZShCeXRlY29kZUdlbmVyYXRvciYg
Z2VuZXJhdG9yLCBSZWdpc3RlcklEKiByaHMpIGNvbnN0CiB7CisgICAgZ2VuZXJhdG9yLmVtaXRS
ZXF1aXJlT2JqZWN0Q29lcmNpYmxlKHJocyk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBt
X3RhcmdldFBhdHRlcm5zLnNpemUoKTsgaSsrKSB7CiAgICAgICAgIGF1dG8mIHRhcmdldCA9IG1f
dGFyZ2V0UGF0dGVybnNbaV07CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiB0ZW1wID0gZ2Vu
ZXJhdG9yLm5ld1RlbXBvcmFyeSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IGI5NWVmOGYzYzQ1
YTdkM2I1YzBhZDNkMTFmNjIwMDY5ZWU4ZmJhMGQuLjMyOWZjMGMxZmVmN2QwM2RkZjRhYjc4ZjY1
OWU0NDI0NjUzNDYzMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
QWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKQEAgLTkwNyw3ICs5MDcsOSBAQCBi
b29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0
cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0K
LSAgICAgICAgCisKKyAgICBjYXNlIElzSnVzdFVuZGVmaW5lZDoKKyAgICBjYXNlIElzSnVzdFVu
ZGVmaW5lZE9yTnVsbDoKICAgICBjYXNlIElzVW5kZWZpbmVkOgogICAgIGNhc2UgSXNCb29sZWFu
OgogICAgIGNhc2UgSXNOdW1iZXI6CkBAIC05MTksNiArOTIxLDEyIEBAIGJvb2wgQWJzdHJhY3RJ
bnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNs
b2JiZXJMaW1pCiAgICAgICAgIGlmIChjaGlsZC52YWx1ZSgpKSB7CiAgICAgICAgICAgICBib29s
IGNvbnN0YW50V2FzU2V0ID0gdHJ1ZTsKICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkg
eworICAgICAgICAgICAgY2FzZSBJc0p1c3RVbmRlZmluZWQ6CisgICAgICAgICAgICAgICAgc2V0
Q29uc3RhbnQobm9kZSwganNCb29sZWFuKGNoaWxkLnZhbHVlKCkuaXNVbmRlZmluZWQoKSkpOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBJc0p1c3RVbmRlZmluZWRP
ck51bGw6CisgICAgICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNCb29sZWFuKGNoaWxk
LnZhbHVlKCkuaXNVbmRlZmluZWRPck51bGwoKSkpOworICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgY2FzZSBJc1VuZGVmaW5lZDoKICAgICAgICAgICAgICAgICBzZXRDb25zdGFu
dChub2RlLCBqc0Jvb2xlYW4oCiAgICAgICAgICAgICAgICAgICAgIGNoaWxkLnZhbHVlKCkuaXND
ZWxsKCkKQEAgLTk4MSw2ICs5ODksMTQgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3Ry
YWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAg
ICAgCiAgICAgICAgIGJvb2wgY29uc3RhbnRXYXNTZXQgPSBmYWxzZTsKICAgICAgICAgc3dpdGNo
IChub2RlLT5vcCgpKSB7CisgICAgICAgIGNhc2UgSXNKdXN0VW5kZWZpbmVkOgorICAgICAgICBj
YXNlIElzSnVzdFVuZGVmaW5lZE9yTnVsbDoKKyAgICAgICAgICAgIGlmICghKGNoaWxkLm1fdHlw
ZSAmIFNwZWNPdGhlcikpIHsKKyAgICAgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc0Jv
b2xlYW4oZmFsc2UpKTsKKyAgICAgICAgICAgICAgICBjb25zdGFudFdhc1NldCA9IHRydWU7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIElzVW5kZWZp
bmVkOgogICAgICAgICAgICAgLy8gRklYTUU6IFVzZSB0aGUgbWFzcXVlcmFkZXMtYXMtdW5kZWZp
bmVkIHdhdGNocG9pbnQgdGhpbmd5LgogICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDQ1NgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCAyNGRiZDdiZTJkODc4Njg1Y2UxNTBlNDcx
ZTM1YjJhODcyNmU2NzIwLi41MWY3ZWE4ZTlmZjg3NzRmNmVhMTNmM2ZkYTJiNTVhNmNiMWI4MTEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNw
cApAQCAtMzQ5Myw3ICszNDkzLDE5IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2so
dW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKEluc3RhbmNlT2YsIHZhbHVlLCBw
cm90b3R5cGUpKTsKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX2luc3RhbmNlb2YpOwogICAg
ICAgICB9Ci0gICAgICAgICAgICAKKworICAgICAgICBjYXNlIG9wX2lzX2p1c3RfdW5kZWZpbmVk
OiB7CisgICAgICAgICAgICBOb2RlKiB2YWx1ZSA9IGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVu
dEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdp
c3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChJc0p1c3RV
bmRlZmluZWQsIHZhbHVlKSk7CisgICAgICAgICAgICBORVhUX09QQ09ERShvcF9pc19qdXN0X3Vu
ZGVmaW5lZCk7CisgICAgICAgIH0KKworICAgICAgICBjYXNlIG9wX2lzX2p1c3RfdW5kZWZpbmVk
X29yX251bGw6IHsKKyAgICAgICAgICAgIE5vZGUqIHZhbHVlID0gZ2V0KFZpcnR1YWxSZWdpc3Rl
cihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSk7CisgICAgICAgICAgICBzZXQoVmly
dHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBo
KElzSnVzdFVuZGVmaW5lZE9yTnVsbCwgdmFsdWUpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RF
KG9wX2lzX2p1c3RfdW5kZWZpbmVkKTsKKyAgICAgICAgfQorCiAgICAgICAgIGNhc2Ugb3BfaXNf
dW5kZWZpbmVkOiB7CiAgICAgICAgICAgICBOb2RlKiB2YWx1ZSA9IGdldChWaXJ0dWFsUmVnaXN0
ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOwogICAgICAgICAgICAgc2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFw
aChJc1VuZGVmaW5lZCwgdmFsdWUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q2FwYWJpbGl0aWVzLmNwcAppbmRleCBhZTA2NTkzNDAyNjhhZWJmMGFhM2Y1NDYxZWMxMDM0YWJj
MmIyNTZiLi4zZmFlNWEzOGQyZjYxNDgwYjE5OTc2OGQ3NTIxMzA5MDgzOTg4ZjAwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0xMzAsNiAr
MTMwLDggQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJ
RCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3RydWMKICAgICBjYXNlIG9wX21vdjoKICAgICBj
YXNlIG9wX2NoZWNrX2hhc19pbnN0YW5jZToKICAgICBjYXNlIG9wX2luc3RhbmNlb2Y6CisgICAg
Y2FzZSBvcF9pc19qdXN0X3VuZGVmaW5lZDoKKyAgICBjYXNlIG9wX2lzX2p1c3RfdW5kZWZpbmVk
X29yX251bGw6CiAgICAgY2FzZSBvcF9pc191bmRlZmluZWQ6CiAgICAgY2FzZSBvcF9pc19ib29s
ZWFuOgogICAgIGNhc2Ugb3BfaXNfbnVtYmVyOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Nsb2JiZXJpemUuaAppbmRleCA5ZDc5NjlkZWRhNGY2ODUxMWRhZjMwMDM1N2UzODA3ZWIxNDFl
YTk5Li41MjhiMjM4MDdmZWNkNDczMjY5ZGViOWU0MmIwZGRmNTE4OTQzMDZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaApAQCAtMTQ0LDYgKzE0NCw4IEBAIHZv
aWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9y
JiByZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgY2FzZSBTdHJpbmdDaGFyQ29kZUF0OgogICAgIGNh
c2UgU3RyaW5nRnJvbUNoYXJDb2RlOgogICAgIGNhc2UgQ29tcGFyZVN0cmljdEVxOgorICAgIGNh
c2UgSXNKdXN0VW5kZWZpbmVkOgorICAgIGNhc2UgSXNKdXN0VW5kZWZpbmVkT3JOdWxsOgogICAg
IGNhc2UgSXNVbmRlZmluZWQ6CiAgICAgY2FzZSBJc0Jvb2xlYW46CiAgICAgY2FzZSBJc051bWJl
cjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAppbmRleCA0MjY5MDg4NTBm
OGMyMGFlNzIzMzlhNmE5ZjU5OWNjY2MzNTRmN2UyLi43MTViNDI0MTE5NWYxNzYzOTUwOGFkOWUy
MDBmNTY3ZjBiZWRkMDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0RvZXNHQy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3Bw
CkBAIC0xNDMsNiArMTQzLDggQEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2Rl
KQogICAgIGNhc2UgUHJvZmlsZUNvbnRyb2xGbG93OgogICAgIGNhc2UgQ2hlY2tIYXNJbnN0YW5j
ZToKICAgICBjYXNlIEluc3RhbmNlT2Y6CisgICAgY2FzZSBJc0p1c3RVbmRlZmluZWQ6CisgICAg
Y2FzZSBJc0p1c3RVbmRlZmluZWRPck51bGw6CiAgICAgY2FzZSBJc1VuZGVmaW5lZDoKICAgICBj
YXNlIElzQm9vbGVhbjoKICAgICBjYXNlIElzTnVtYmVyOgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXggOTdjM2MxZTdhZDkwNDYyY2IxYmU1NTlhZDMx
NTYyMGM0MTYyNmZiMS4uNGM5ZTY1NmE4ODUyZWU3OWJmNWVjZTMyYzQxODhhMmZiZGE5YzEzNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xNDA2
LDYgKzE0MDYsOCBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEJyZWFrcG9pbnQ6CiAgICAgICAg
IGNhc2UgUHJvZmlsZVdpbGxDYWxsOgogICAgICAgICBjYXNlIFByb2ZpbGVEaWRDYWxsOgorICAg
ICAgICBjYXNlIElzSnVzdFVuZGVmaW5lZE9yTnVsbDoKKyAgICAgICAgY2FzZSBJc0p1c3RVbmRl
ZmluZWQ6CiAgICAgICAgIGNhc2UgSXNVbmRlZmluZWQ6CiAgICAgICAgIGNhc2UgSXNCb29sZWFu
OgogICAgICAgICBjYXNlIElzTnVtYmVyOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
VHlwZS5oCmluZGV4IDlhMzIxZjlhYjc4Yjg1YzBkZWZmOTA5NzBiZGZhZTMzZjJjZmMwZDcuLjkw
ZmZkNGUzNjZlYTY3NGFkMWNhZGIxNDVhODk0ZWRhNDdkOWI1OTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTI3OSw2ICsyNzksOCBAQCBuYW1lc3BhY2UgSlND
IHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oUHJvZmlsZURpZENhbGwsIE5vZGVNdXN0R2Vu
ZXJhdGUpIFwKICAgICBtYWNybyhDaGVja0hhc0luc3RhbmNlLCBOb2RlTXVzdEdlbmVyYXRlKSBc
CiAgICAgbWFjcm8oSW5zdGFuY2VPZiwgTm9kZVJlc3VsdEJvb2xlYW4pIFwKKyAgICBtYWNybyhJ
c0p1c3RVbmRlZmluZWQsIE5vZGVSZXN1bHRCb29sZWFuKSBcCisgICAgbWFjcm8oSXNKdXN0VW5k
ZWZpbmVkT3JOdWxsLCBOb2RlUmVzdWx0Qm9vbGVhbikgXAogICAgIG1hY3JvKElzVW5kZWZpbmVk
LCBOb2RlUmVzdWx0Qm9vbGVhbikgXAogICAgIG1hY3JvKElzQm9vbGVhbiwgTm9kZVJlc3VsdEJv
b2xlYW4pIFwKICAgICBtYWNybyhJc051bWJlciwgTm9kZVJlc3VsdEJvb2xlYW4pIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9u
UGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFn
YXRpb25QaGFzZS5jcHAKaW5kZXggNWMwOWMyMmQ5ZTdkNzI5Zjk5NmM4MDc3Zjg4ZTdiMWI1MDI3
MzFiNy4uNzFlNTUyMDg3YjNkN2ZiMjlhN2FjMjNlNGI3NGUzZDM0ZjNiMGFmZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFz
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFn
YXRpb25QaGFzZS5jcHAKQEAgLTM3Miw2ICszNzIsOCBAQCBwcml2YXRlOgogICAgICAgICBjYXNl
IENvbXBhcmVFcToKICAgICAgICAgY2FzZSBDb21wYXJlU3RyaWN0RXE6CiAgICAgICAgIGNhc2Ug
SW5zdGFuY2VPZjoKKyAgICAgICAgY2FzZSBJc0p1c3RVbmRlZmluZWRPck51bGw6CisgICAgICAg
IGNhc2UgSXNKdXN0VW5kZWZpbmVkOgogICAgICAgICBjYXNlIElzVW5kZWZpbmVkOgogICAgICAg
ICBjYXNlIElzQm9vbGVhbjoKICAgICAgICAgY2FzZSBJc051bWJlcjoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXggYjE1YjBiNDQ4MjM0ZWJlM2Nh
NTYxMmQ4YTA0ZDMzNDhjNjZjZjIxNS4uYmQ2YjQ0MTYzMGIxYThmZTAyMGZhODgwZmQ3NWIwNDRi
MTkyMWY4NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9F
eGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRl
LmgKQEAgLTI0Myw2ICsyNDMsOCBAQCBib29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5
cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBQcm9maWxlQ29u
dHJvbEZsb3c6CiAgICAgY2FzZSBDaGVja0hhc0luc3RhbmNlOgogICAgIGNhc2UgSW5zdGFuY2VP
ZjoKKyAgICBjYXNlIElzSnVzdFVuZGVmaW5lZDoKKyAgICBjYXNlIElzSnVzdFVuZGVmaW5lZE9y
TnVsbDoKICAgICBjYXNlIElzVW5kZWZpbmVkOgogICAgIGNhc2UgSXNCb29sZWFuOgogICAgIGNh
c2UgSXNOdW1iZXI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCAyYTNjMmY4ZDg3ZjA4ZDk5NDg1NzAwNzQwYzAzOGEy
MTFkNTdmMmMzLi43NjljYjYyMDhlMWQ2NjMzMDQzMmU5YTUzYzlkZmI1MmE1YTBiZGM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAKQEAgLTQyMjQsNiArNDIyNCwyNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
KE5vZGUqIG5vZGUpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGNhc2UgSXNKdXN0VW5k
ZWZpbmVkT3JOdWxsOgorICAgIGNhc2UgSXNKdXN0VW5kZWZpbmVkOiB7CisgICAgICAgIEpTVmFs
dWVPcGVyYW5kIHZhbHVlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgR1BSVGVtcG9y
YXJ5IHJlc3VsdCh0aGlzKTsKKworICAgICAgICBKSVRDb21waWxlcjo6SnVtcCBpc0ltbWVkaWF0
ZSA9IG1faml0LmJyYW5jaElmTm90Q2VsbCh2YWx1ZS5qc1ZhbHVlUmVncygpKTsKKyAgICAgICAg
bV9qaXQubW92ZShUcnVzdGVkSW1tMzIoMCksIHJlc3VsdC5ncHIoKSk7CisgICAgICAgIEpJVENv
bXBpbGVyOjpKdW1wIGRvbmUgPSBtX2ppdC5qdW1wKCk7CisKKyAgICAgICAgaXNJbW1lZGlhdGUu
bGluaygmbV9qaXQpOworICAgICAgICBpZiAob3AgPT0gSXNKdXN0VW5kZWZpbmVkT3JOdWxsKSB7
CisgICAgICAgICAgICBtX2ppdC5hbmQ2NChUcnVzdGVkSW1tMzIoflRhZ0JpdFVuZGVmaW5lZCks
IHZhbHVlLmdwcigpKTsKKyAgICAgICAgICAgIG1faml0LmNvbXBhcmU2NChKSVRDb21waWxlcjo6
RXF1YWwsIHZhbHVlLmdwcigpLCBUcnVzdGVkSW1tMzIoVmFsdWVOdWxsKSwgcmVzdWx0Lmdwcigp
KTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBtX2ppdC5jb21wYXJlNjQoSklUQ29tcGls
ZXI6OkVxdWFsLCB2YWx1ZS5ncHIoKSwgVHJ1c3RlZEltbTMyKFZhbHVlVW5kZWZpbmVkKSwgcmVz
dWx0LmdwcigpKTsKKworICAgICAgICBkb25lLmxpbmsoJm1faml0KTsKKyAgICAgICAgYm9vbGVh
blJlc3VsdChyZXN1bHQuZ3ByKCksIG5vZGUpOworICAgICAgICBicmVhazsKKyAgICB9CisKICAg
ICBjYXNlIElzVW5kZWZpbmVkOiB7CiAgICAgICAgIEpTVmFsdWVPcGVyYW5kIHZhbHVlKHRoaXMs
IG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmlu
ZGV4IGQzOGMwZjI4NTNmODE5NGMxMjJlZWMyZmQ4NmIxYWUzMmQ4OWI2ODMuLmVlNjk1YWYxNmRm
ZTVmNjZiOTYxZWJkNTAxZTY1YWRmNGFjMTViODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAtNDIwOCw3ICs0MjA4LDI5IEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgY29tcGls
ZUluc3RhbmNlT2Yobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICAgICAgCisKKyAg
ICBjYXNlIElzSnVzdFVuZGVmaW5lZE9yTnVsbDoKKyAgICBjYXNlIElzSnVzdFVuZGVmaW5lZDog
eworICAgICAgICBKU1ZhbHVlT3BlcmFuZCB2YWx1ZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Cisg
ICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcyk7CisKKyAgICAgICAgSklUQ29tcGlsZXI6
Okp1bXAgaXNJbW1lZGlhdGUgPSBtX2ppdC5icmFuY2hJZk5vdENlbGwodmFsdWUuanNWYWx1ZVJl
Z3MoKSk7CisgICAgICAgIG1faml0Lm1vdmUoVHJ1c3RlZEltbTMyKDApLCByZXN1bHQuZ3ByKCkp
OworICAgICAgICBKSVRDb21waWxlcjo6SnVtcCBkb25lID0gbV9qaXQuanVtcCgpOworCisgICAg
ICAgIGlzSW1tZWRpYXRlLmxpbmsoJm1faml0KTsKKyAgICAgICAgaWYgKG9wID09IElzSnVzdFVu
ZGVmaW5lZE9yTnVsbCkgeworICAgICAgICAgICAgbV9qaXQuYW5kNjQoVHJ1c3RlZEltbTMyKH5U
YWdCaXRVbmRlZmluZWQpLCB2YWx1ZS5ncHIoKSk7CisgICAgICAgICAgICBtX2ppdC5jb21wYXJl
NjQoSklUQ29tcGlsZXI6OkVxdWFsLCB2YWx1ZS5ncHIoKSwgVHJ1c3RlZEltbTMyKFZhbHVlTnVs
bCksIHJlc3VsdC5ncHIoKSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgbV9qaXQuY29t
cGFyZTY0KEpJVENvbXBpbGVyOjpFcXVhbCwgdmFsdWUuZ3ByKCksIFRydXN0ZWRJbW0zMihWYWx1
ZVVuZGVmaW5lZCksIHJlc3VsdC5ncHIoKSk7CisKKyAgICAgICAgZG9uZS5saW5rKCZtX2ppdCk7
CisgICAgICAgIG1faml0Lm9yMzIoVHJ1c3RlZEltbTMyKFZhbHVlRmFsc2UpLCByZXN1bHQuZ3By
KCkpOworICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdC5ncHIoKSwgbm9kZSwgRGF0YUZvcm1h
dEpTQm9vbGVhbik7CisgICAgICAgIGJyZWFrOworICAgIH0KKwogICAgIGNhc2UgSXNVbmRlZmlu
ZWQ6IHsKICAgICAgICAgSlNWYWx1ZU9wZXJhbmQgdmFsdWUodGhpcywgbm9kZS0+Y2hpbGQxKCkp
OwogICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAppbmRleCA5YjFmYWNlMDMwNGUwODJh
MzE2ZWRjNWRhMGM0YjUzN2JmZmUwMzI3Li5lNGVhYThhMzU4ZjJjYWRkMjFlZGFlZDAwZWEwYWQ5
ODM3Njg5ZTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9MTFZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9MTFZNLmNwcApAQCAtODkyLDYgKzg5MiwxMCBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIElu
dmFsaWRhdGlvblBvaW50OgogICAgICAgICAgICAgY29tcGlsZUludmFsaWRhdGlvblBvaW50KCk7
CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBJc0p1c3RVbmRlZmluZWRPck51bGw6
CisgICAgICAgICAgICBjb21waWxlSXNKdXN0VW5kZWZpbmVkT3JOdWxsKCk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBJc0p1c3RVbmRlZmluZWQ6CiAgICAgICAgIGNhc2UgSXNV
bmRlZmluZWQ6CiAgICAgICAgICAgICBjb21waWxlSXNVbmRlZmluZWQoKTsKICAgICAgICAgICAg
IGJyZWFrOwpAQCAtNTI2Myw3ICs1MjY3LDEyIEBAIHByaXZhdGU6CiAgICAgICAgIGV4aXREZXNj
cmlwdG9yLm1faXNJbnZhbGlkYXRpb25Qb2ludCA9IHRydWU7CiAjZW5kaWYgLy8gRlRMX1VTRVNf
QjMKICAgICB9Ci0gICAgCisKKyAgICB2b2lkIGNvbXBpbGVJc0p1c3RVbmRlZmluZWRPck51bGwo
KQorICAgIHsKKyAgICAgICAgc2V0Qm9vbGVhbihlcXVhbE51bGxPclVuZGVmaW5lZChtX25vZGUt
PmNoaWxkMSgpLCBBbGxDZWxsc0FyZUZhbHNlLCBFcXVhbE51bGxPclVuZGVmaW5lZCkpOworICAg
IH0KKwogICAgIHZvaWQgY29tcGlsZUlzVW5kZWZpbmVkKCkKICAgICB7CiAgICAgICAgIHNldEJv
b2xlYW4oZXF1YWxOdWxsT3JVbmRlZmluZWQobV9ub2RlLT5jaGlsZDEoKSwgQWxsQ2VsbHNBcmVG
YWxzZSwgRXF1YWxVbmRlZmluZWQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCBh
NjFiNTdkNDYxNWY5YTkyZTliMzQzOTZlZDM4OGY3OTZkODQ1MGQwLi44YzkxZjI2ZGNlNjllYjQ3
OWQyOTk5ZmZkYTE2ODJiNzFhMjdmNGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBA
IC0yMjgsNiArMjI4LDggQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAg
ICAgICBERUZJTkVfT1Aob3BfZ2V0X2J5X3ZhbCkKICAgICAgICAgREVGSU5FX09QKG9wX2NoZWNr
X2hhc19pbnN0YW5jZSkKICAgICAgICAgREVGSU5FX09QKG9wX2luc3RhbmNlb2YpCisgICAgICAg
IERFRklORV9PUChvcF9pc19qdXN0X3VuZGVmaW5lZCkKKyAgICAgICAgREVGSU5FX09QKG9wX2lz
X2p1c3RfdW5kZWZpbmVkX29yX251bGwpCiAgICAgICAgIERFRklORV9PUChvcF9pc191bmRlZmlu
ZWQpCiAgICAgICAgIERFRklORV9PUChvcF9pc19ib29sZWFuKQogICAgICAgICBERUZJTkVfT1Ao
b3BfaXNfbnVtYmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggZDIyNTgyMzlkMmViNzMw
MzUxZGRlMTE1ZTY4YTc1YmNhNDc5ZDQyZC4uODgyZjI3YTljNmE5OGI0YmZhMWEzMTY5ZWIyN2M2
MmM4YzcxMjFlZCAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC01MDksNiArNTA5LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9pbml0X2xhenlfcmVnKEluc3Ry
dWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9jaGVja19oYXNfaW5zdGFuY2UoSW5zdHJ1
Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX2luc3RhbmNlb2YoSW5zdHJ1Y3Rpb24qKTsK
KyAgICAgICAgdm9pZCBlbWl0X29wX2lzX2p1c3RfdW5kZWZpbmVkKEluc3RydWN0aW9uKik7Cisg
ICAgICAgIHZvaWQgZW1pdF9vcF9pc19qdXN0X3VuZGVmaW5lZF9vcl9udWxsKEluc3RydWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9pc191bmRlZmluZWQoSW5zdHJ1Y3Rpb24qKTsKICAg
ICAgICAgdm9pZCBlbWl0X29wX2lzX2Jvb2xlYW4oSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9p
ZCBlbWl0X29wX2lzX251bWJlcihJbnN0cnVjdGlvbiopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3Bjb2Rlcy5jcHAKaW5kZXggZDQ5NDg5NjUwZTY4NTQ2NTllNWE2MGRlNzhlNjMzZTFh
NTE4Mzg1YS4uMjY5NDU4ZjI2Y2I4ZGYzNThlZWY4NTkwNGMzNDQ3YTg2ZDk2OTE5ZiAxMDA3NTUK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCkBAIC0xNTcsNiArMTU3LDQzIEBA
IHZvaWQgSklUOjplbWl0X29wX2luc3RhbmNlb2YoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVj
dGlvbikKICAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKGRzdCk7CiB9CiAKK3ZvaWQgSklUOjpl
bWl0X29wX2lzX2p1c3RfdW5kZWZpbmVkKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24p
Cit7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CisgICAg
aW50IHZhbHVlID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKKworICAgIGVtaXRH
ZXRWaXJ0dWFsUmVnaXN0ZXIodmFsdWUsIHJlZ1QwKTsKKyAgICBKdW1wIGlzSW1tZWRpYXRlID0g
ZW1pdEp1bXBJZk5vdEpTQ2VsbChyZWdUMCk7CisgICAgbW92ZShUcnVzdGVkSW1tMzIoMCksIHJl
Z1QwKTsKKyAgICBKdW1wIGRvbmUgPSBqdW1wKCk7CisKKyAgICBpc0ltbWVkaWF0ZS5saW5rKHRo
aXMpOworICAgIGNvbXBhcmU2NChFcXVhbCwgcmVnVDAsIFRydXN0ZWRJbW0zMihWYWx1ZVVuZGVm
aW5lZCksIHJlZ1QwKTsKKworICAgIGRvbmUubGluayh0aGlzKTsKKyAgICBlbWl0VGFnQm9vbChy
ZWdUMCk7CisgICAgZW1pdFB1dFZpcnR1YWxSZWdpc3Rlcihkc3QpOworfQorCit2b2lkIEpJVDo6
ZW1pdF9vcF9pc19qdXN0X3VuZGVmaW5lZF9vcl9udWxsKEluc3RydWN0aW9uKiBjdXJyZW50SW5z
dHJ1Y3Rpb24pCit7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJh
bmQ7CisgICAgaW50IHZhbHVlID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKKwor
ICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIodmFsdWUsIHJlZ1QwKTsKKyAgICBKdW1wIGlzSW1t
ZWRpYXRlID0gZW1pdEp1bXBJZk5vdEpTQ2VsbChyZWdUMCk7CisgICAgbW92ZShUcnVzdGVkSW1t
MzIoMCksIHJlZ1QwKTsKKyAgICBKdW1wIGRvbmUgPSBqdW1wKCk7CisKKyAgICBpc0ltbWVkaWF0
ZS5saW5rKHRoaXMpOworICAgIGFuZDY0KFRydXN0ZWRJbW0zMih+VGFnQml0VW5kZWZpbmVkKSwg
cmVnVDApOworICAgIGNvbXBhcmU2NChFcXVhbCwgcmVnVDAsIFRydXN0ZWRJbW0zMihWYWx1ZU51
bGwpLCByZWdUMCk7CisKKyAgICBkb25lLmxpbmsodGhpcyk7CisgICAgZW1pdFRhZ0Jvb2wocmVn
VDApOworICAgIGVtaXRQdXRWaXJ0dWFsUmVnaXN0ZXIoZHN0KTsKK30KKwogdm9pZCBKSVQ6OmVt
aXRfb3BfaXNfdW5kZWZpbmVkKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CiAg
ICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKaW5kZXggNGUwNDM2NWZkNmMy
ODM2ODk5YmViZjdlMDUzMzBkMWQzZGEwMDkwNi4uNDM0MTYyNWUzNDhhZjIzYzNiNTY1YTc1Mjc1
YmJhYjNkN2IwYTAzNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rl
czMyXzY0LmNwcApAQCAtMjY2LDYgKzI2Niw0MiBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfaW5z
dGFuY2VvZihJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uLCBWZWN0b3I8U2xvd0Nhcwog
ICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uSW5zdGFuY2VPZiwgZHN0LCByZWdUMSwgcmVnVDAs
IHJlZ1QzLCByZWdUMik7CiB9CiAKK3ZvaWQgSklUOjplbWl0X29wX2lzX2p1c3RfdW5kZWZpbmVk
KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgaW50IGRzdCA9IGN1cnJl
bnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CisgICAgaW50IHZhbHVlID0gY3VycmVudEluc3Ry
dWN0aW9uWzJdLnUub3BlcmFuZDsKKworICAgIGVtaXRMb2FkKHZhbHVlLCByZWdUMSwgcmVnVDAp
OworICAgIEp1bXAgaXNJbW1lZGlhdGUgPSBicmFuY2gzMihOb3RFcXVhbCwgcmVnVDEsIFRydXN0
ZWRJbW0zMihKU1ZhbHVlOjpDZWxsVGFnKSk7CisgICAgbW92ZShUcnVzdGVkSW1tMzIoMCksIHJl
Z1QwKTsKKyAgICBKdW1wIGRvbmUgPSBqdW1wKCk7CisKKyAgICBpc0ltbWVkaWF0ZS5saW5rKHRo
aXMpOworICAgIGNvbXBhcmUzMihFcXVhbCwgcmVnVDEsIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpV
bmRlZmluZWRUYWcpLCByZWdUMSk7CisKKyAgICBkb25lLmxpbmsodGhpcyk7CisgICAgZW1pdFN0
b3JlQm9vbChkc3QsIHJlZ1QxKTsKK30KKwordm9pZCBKSVQ6OmVtaXRfb3BfaXNfanVzdF91bmRl
ZmluZWRfb3JfbnVsbChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIGlu
dCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOworICAgIGludCB2YWx1ZSA9
IGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQ7CisKKyAgICBlbWl0TG9hZCh2YWx1ZSwg
cmVnVDEsIHJlZ1QwKTsKKyAgICBKdW1wIGlzSW1tZWRpYXRlID0gYnJhbmNoMzIoTm90RXF1YWws
IHJlZ1QxLCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZykpOworICAgIG1vdmUoVHJ1c3Rl
ZEltbTMyKDApLCByZWdUMCk7CisgICAgSnVtcCBkb25lID0ganVtcCgpOworCisgICAgaXNJbW1l
ZGlhdGUubGluayh0aGlzKTsKKyAgICBjb21wYXJlMzIoRXF1YWwsIHJlZ1QxLCBUcnVzdGVkSW1t
MzIoSlNWYWx1ZTo6TnVsbFRhZyksIHJlZ1QyKTsKKyAgICBjb21wYXJlMzIoRXF1YWwsIHJlZ1Qx
LCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6VW5kZWZpbmVkVGFnKSwgcmVnVDEpOworICAgIG9yMzIo
cmVnVDIsIHJlZ1QxKTsKKworICAgIGRvbmUubGluayh0aGlzKTsKKyAgICBlbWl0U3RvcmVCb29s
KGRzdCwgcmVnVDEpOworfQorCiB2b2lkIEpJVDo6ZW1pdF9vcF9pc191bmRlZmluZWQoSW5zdHJ1
Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsKICAgICBpbnQgZHN0ID0gY3VycmVudEluc3Ry
dWN0aW9uWzFdLnUub3BlcmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KaW5kZXggNTJlZmJlNjNhZjkwNzdk
MmFkMjAwYmU3YTAyODQzM2U1MTBjNTFmNC4uNzJhOWU3OGQ3MmU2YTdkOTgyNDEzYWZmZGFkZmJm
NzljM2M1NTAyYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KQEAgLTEyMTYsNiArMTIxNiw0MCBAQCBfbGxp
bnRfb3BfaW5zdGFuY2VvZjoKICAgICBkaXNwYXRjaCg0KQogCiAKK19sbGludF9vcF9pc19qdXN0
X3VuZGVmaW5lZF9vcl9udWxsOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA4W1BD
XSwgdDAKKyAgICBsb2FkaSA0W1BDXSwgdDMKKyAgICBsb2FkaSBUYWdPZmZzZXRbY2ZyLCB0MCwg
OF0sIHQxCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSwgdDAKKyAgICBiaW5l
cSB0MSwgQ2VsbFRhZywgLm9wSXNKdXN0VW5kZWZpbmVkT3JOdWxsSW1tZWRpYXRlCisgICAgbW92
ZSAwLCB0MQorICAgIGptcCAub3BJc0p1c3RVbmRlZmluZWRPck51bGxEb25lCisub3BJc0p1c3RV
bmRlZmluZWRPck51bGxJbW1lZGlhdGU6CisgICAgY2llcSB0MSwgTnVsbFRhZywgdDIKKyAgICBj
aWVxIHQxLCBVbmRlZmluZWRUYWcsIHQxCisgICAgb3JpIHQyLCB0MQorLm9wSXNKdXN0VW5kZWZp
bmVkT3JOdWxsRG9uZToKKyAgICBzdG9yZWkgQm9vbGVhblRhZywgVGFnT2Zmc2V0W2NmciwgdDAs
IDhdCisgICAgc3RvcmVpIHQxLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdCisgICAgZGlzcGF0
Y2goMykKKworCitfbGxpbnRfb3BfaXNfanVzdF91bmRlZmluZWQ6CisgICAgdHJhY2VFeGVjdXRp
b24oKQorICAgIGxvYWRpIDhbUENdLCB0MQorICAgIGxvYWRpIDRbUENdLCB0MAorICAgIGxvYWRD
b25zdGFudE9yVmFyaWFibGUodDEsIHQyLCB0MykKKyAgICBzdG9yZWkgQm9vbGVhblRhZywgVGFn
T2Zmc2V0W2NmciwgdDAsIDhdCisgICAgYmllcSB0MiwgQ2VsbFRhZywgLm9wSXNKdXN0VW5kZWZp
bmVkQ2VsbAorICAgIGNpZXEgdDIsIFVuZGVmaW5lZFRhZywgdDMKKyAgICBzdG9yZWkgdDMsIFBh
eWxvYWRPZmZzZXRbY2ZyLCB0MCwgOF0KKyAgICBkaXNwYXRjaCgzKQorLm9wSXNKdXN0VW5kZWZp
bmVkQ2VsbDoKKyAgICBzdG9yZWkgMCwgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XQorICAgIGRp
c3BhdGNoKDMpCisKKwogX2xsaW50X29wX2lzX3VuZGVmaW5lZDoKICAgICB0cmFjZUV4ZWN1dGlv
bigpCiAgICAgbG9hZGkgOFtQQ10sIHQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCmluZGV4IGM5MmQ4ZWE4ODQ3YjRiYWM1
NTQ0OGE3MDI4ZjA5YjdkYWEyNTI3N2UuLmMwZGJkNjM5NWYxNDY0ZDg2NWZiNDk1ZjY5MmU1YzBm
ZTVkMTk2MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtCkBAIC03MzEsNiArNzMxLDcgQEAgbWFjcm8gZXF1YWxOdWxs
Q29tcGFyaXNvbigpCiAuZG9uZToKIGVuZAogCisKIF9sbGludF9vcF9lcV9udWxsOgogICAgIHRy
YWNlRXhlY3V0aW9uKCkKICAgICBlcXVhbE51bGxDb21wYXJpc29uKCkKQEAgLTExMTAsNiArMTEx
MSwzOSBAQCBfbGxpbnRfb3BfaW5zdGFuY2VvZjoKICAgICBkaXNwYXRjaCg0KQogCiAKK19sbGlu
dF9vcF9pc19qdXN0X3VuZGVmaW5lZF9vcl9udWxsOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDApCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9u
KDEsIHQxKQorICAgIGxvYWRxIFtjZnIsIHQwLCA4XSwgdDAKKyAgICBidHFueiB0MCwgdGFnTWFz
aywgLm9wSXNVbmRlZmluZWRPck51bGxJbW1lZGlhdGUKKyAgICBtb3ZlIDAsIHQwCisgICAgam1w
IC5vcElzVW5kZWZpbmVkT3JOdWxsRG9uZQorLm9wSXNVbmRlZmluZWRPck51bGxJbW1lZGlhdGU6
CisgICAgYW5kcSB+VGFnQml0VW5kZWZpbmVkLCB0MAorICAgIGNxZXEgdDAsIFZhbHVlTnVsbCwg
dDAKKy5vcElzVW5kZWZpbmVkT3JOdWxsRG9uZToKKyAgICBvcnEgVmFsdWVGYWxzZSwgdDAKKyAg
ICBzdG9yZXEgdDAsIFtjZnIsIHQxLCA4XQorICAgIGRpc3BhdGNoKDMpCisKKworX2xsaW50X29w
X2lzX2p1c3RfdW5kZWZpbmVkOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9t
SW5zdHJ1Y3Rpb24oMiwgdDApCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKQorICAg
IGxvYWRxIFtjZnIsIHQwLCA4XSwgdDAKKyAgICBidHFueiB0MCwgdGFnTWFzaywgLm9wSXNVbmRl
ZmluZWRJbW1lZGlhdGUKKyAgICBtb3ZlIDAsIHQwCisgICAgam1wIC5vcElzVW5kZWZpbmVkRG9u
ZQorLm9wSXNVbmRlZmluZWRJbW1lZGlhdGU6CisgICAgY3FlcSB0MCwgVmFsdWVVbmRlZmluZWQs
IHQwCisub3BJc1VuZGVmaW5lZERvbmU6CisgICAgb3JxIFZhbHVlRmFsc2UsIHQwCisgICAgc3Rv
cmVxIHQwLCBbY2ZyLCB0MSwgOF0KKyAgICBkaXNwYXRjaCgzKQorCisKIF9sbGludF9vcF9pc191
bmRlZmluZWQ6CiAgICAgdHJhY2VFeGVjdXRpb24oKQogICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlv
bigyLCB0MSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
ZGVzdHJ1Y3R1cmluZy1hc3NpZ25tZW50LXJlcXVpcmUtb2JqZWN0LWNvZXJjaWJsZS5qcyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZGVzdHJ1Y3R1cmluZy1hc3NpZ25tZW50
LXJlcXVpcmUtb2JqZWN0LWNvZXJjaWJsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjM3NzQwMGRlYmIyZDJh
ZWIzM2IzOTkxMDExNzA2ZDZkMzc0MDRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQtcmVxdWlyZS1v
YmplY3QtY29lcmNpYmxlLmpzCkBAIC0wLDAgKzEsNjggQEAKK2Z1bmN0aW9uIHRlc3RUeXBlRXJy
b3Ioc2NyaXB0LCBtZXNzYWdlKSB7CisgICAgdmFyIGVycm9yID0gbnVsbDsKKyAgICB0cnkgewor
ICAgICAgICBldmFsKHNjcmlwdCk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBlcnJvciA9
IGU7CisgICAgfQorICAgIGlmICghZXJyb3IpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhw
ZWN0ZWQgdHlwZSBlcnJvciBub3QgdGhyb3duIGJ5IGAiICsgc2NyaXB0ICsgImAiKTsKKworICAg
IGlmIChTdHJpbmcoZXJyb3IpICE9PSBtZXNzYWdlKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCBlcnJvcjogIiArIFN0cmluZyhlcnJvcikpOworfQorCitmdW5jdGlvbiB0ZXN0T0soc2Ny
aXB0KSB7CisgICAgdmFyIGVycm9yID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICBldmFsKHNj
cmlwdCk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorICAg
IGlmIChlcnJvcikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgZXJyb3I6ICIgKyBTdHJp
bmcoZXJyb3IpKTsKK30KKwordGVzdFR5cGVFcnJvcihgKHsgfSA9IG51bGwpYCwgIlR5cGVFcnJv
cjogbnVsbCBpcyBub3QgYW4gb2JqZWN0Iik7Cit0ZXN0VHlwZUVycm9yKGAoeyBhIH0gPSBudWxs
KWAsICJUeXBlRXJyb3I6IG51bGwgaXMgbm90IGFuIG9iamVjdCIpOwordGVzdFR5cGVFcnJvcihg
KHsgYTogeyBiIH0gPSBudWxsIH0gPSB7IH0pYCwgIlR5cGVFcnJvcjogbnVsbCBpcyBub3QgYW4g
b2JqZWN0Iik7Cit0ZXN0VHlwZUVycm9yKGAoeyBhOiB7IGIgfSB9ID0geyBhOiBudWxsIH0pYCwg
IlR5cGVFcnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0Iik7Cit0ZXN0VHlwZUVycm9yKGAoeyB9
ID0gdW5kZWZpbmVkKWAsICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0Iik7
Cit0ZXN0VHlwZUVycm9yKGAoeyBhIH0gPSB1bmRlZmluZWQpYCwgIlR5cGVFcnJvcjogdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QiKTsKK3Rlc3RUeXBlRXJyb3IoYCh7IGE6IHsgYiB9ID0gdW5k
ZWZpbmVkIH0gPSB7IH0pYCwgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qi
KTsKK3Rlc3RUeXBlRXJyb3IoYCh7IGE6IHsgYiB9IH0gPSB7IGE6IHVuZGVmaW5lZCB9KWAsICJU
eXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0Iik7CisKK3Rlc3RPSyhgKHsgfSA9
IDEyMylgKTsKK3Rlc3RPSyhgKHsgYSB9ID0gMTIzKWApOwordGVzdE9LKGAoeyBhOiB7IGIgfSA9
IDEyMyB9ID0geyB9KWApOwordGVzdE9LKGAoeyBhOiB7IGIgfSB9ID0geyBhOiAxMjMgfSlgKTsK
KwordGVzdE9LKGAoeyB9ID0gMC41KWApOwordGVzdE9LKGAoeyBhIH0gPSAwLjUpYCk7Cit0ZXN0
T0soYCh7IGE6IHsgYiB9ID0gMC41IH0gPSB7IH0pYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9IH0g
PSB7IGE6IDAuNSB9KWApOworCit0ZXN0T0soYCh7IH0gPSBOYU4pYCk7Cit0ZXN0T0soYCh7IGEg
fSA9IE5hTilgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gPSBOYU4gfSA9IHsgfSlgKTsKK3Rlc3RP
SyhgKHsgYTogeyBiIH0gfSA9IHsgYTogTmFOIH0pYCk7CisKK3Rlc3RPSyhgKHsgfSA9IHRydWUp
YCk7Cit0ZXN0T0soYCh7IGEgfSA9IHRydWUpYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9ID0gdHJ1
ZSB9ID0geyB9KWApOwordGVzdE9LKGAoeyBhOiB7IGIgfSB9ID0geyBhOiB0cnVlIH0pYCk7CisK
K3Rlc3RPSyhgKHsgfSA9IHt9KWApOwordGVzdE9LKGAoeyBhIH0gPSB7fSlgKTsKK3Rlc3RPSyhg
KHsgYTogeyBiIH0gPSB7fSB9ID0geyB9KWApOwordGVzdE9LKGAoeyBhOiB7IGIgfSB9ID0geyBh
OiB7fSB9KWApOworCit0ZXN0T0soYCh7IH0gPSBbXSlgKTsKK3Rlc3RPSyhgKHsgYSB9ID0gW10p
YCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9ID0gW10gfSA9IHsgfSlgKTsKK3Rlc3RPSyhgKHsgYTog
eyBiIH0gfSA9IHsgYTogW10gfSlgKTsKKwordGVzdE9LKGAoeyB9ID0gLzEvKWApOwordGVzdE9L
KGAoeyBhIH0gPSAvMS8pYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9ID0gLzEvIH0gPSB7IH0pYCk7
Cit0ZXN0T0soYCh7IGE6IHsgYiB9IH0gPSB7IGE6IC8xLyB9KWApOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266334</attachid>
            <date>2015-11-30 22:04:47 -0800</date>
            <delta_ts>2015-12-01 05:36:37 -0800</delta_ts>
            <desc>[JSC] add missing RequireObjectCoercible() step in destructuring</desc>
            <filename>bug-151596-20151201010425.patch</filename>
            <type>text/plain</type>
            <size>6968</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyODA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NjdhZWM1NjdiNTM2M2E5ZTVkZjg0NjA0OGEwYjYwZmZiZTQyM2E5Li5kN2U5OWJiNTA2MTY1ZDRi
YjRiMjBkOGE1ZGM0YTIxNzA2ODkxYjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxNS0xMS0zMCAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cG90dGVyODhAZ21h
aWwuY29tPgorCisgICAgICAgIFtKU0NdIGFkZCBtaXNzaW5nIFJlcXVpcmVPYmplY3RDb2VyY2li
bGUoKSBzdGVwIGluIGRlc3RydWN0dXJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1MTU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoK
KyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRSZXF1aXJlT2JqZWN0Q29lcmNp
YmxlKToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAg
ICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6T2JqZWN0
UGF0dGVybk5vZGU6OmJpbmRWYWx1ZSk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAq
IHRlc3RzL3N0cmVzcy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQtcmVxdWlyZS1vYmplY3QtY29l
cmNpYmxlLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RUeXBlRXJyb3IpOgorICAgICAgICAodGVz
dE9LKToKKwogMjAxNS0xMS0yNiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0FSTTY0XSBzdHJlc3Mvb3BfZGl2LmpzIGlzIGZhaWxpbmcgb24gc29tZSBkaXZpZGUg
YnkgMCBjYXNlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggYjkzNzBjOGQyODRhMzg0ZjIxZTBlNzg5
MjY4NTQ1YzkyYjE5ODIzYi4uMGM1ZjJiYzRkMWI3YWVlYzQ4NTRiMDdjNDEzMzE5NGNiZTliNzA0
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTM4NDIsNCArMzg0MiwxNSBAQCBSZWdpc3RlcklEKiBC
eXRlY29kZUdlbmVyYXRvcjo6ZW1pdFJlc3RQYXJhbWV0ZXIoUmVnaXN0ZXJJRCogcmVzdWx0LCB1
bnNpZ25lZCBudQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK3ZvaWQgQnl0ZWNvZGVHZW5lcmF0
b3I6OmVtaXRSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKFJlZ2lzdGVySUQqIHZhbHVlLCBjb25zdCBT
dHJpbmcmIGVycm9yKQoreworICAgIFJlZlB0cjxMYWJlbD4gdGFyZ2V0ID0gbmV3TGFiZWwoKTsK
KyAgICBzaXplX3QgYmVnaW4gPSBpbnN0cnVjdGlvbnMoKS5zaXplKCk7CisgICAgZW1pdE9wY29k
ZShvcF9qbmVxX251bGwpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZCh2YWx1ZS0+aW5kZXgo
KSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHRhcmdldC0+YmluZChiZWdpbiwgaW5zdHJ1
Y3Rpb25zKCkuc2l6ZSgpKSk7CisgICAgZW1pdFRocm93VHlwZUVycm9yKGVycm9yKTsKKyAgICBl
bWl0TGFiZWwodGFyZ2V0LmdldCgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmgKaW5kZXggMzhiNjU5YTMzNjg1YmIzYzcyNjQ3ZGNmYWZiOGQ1ODIwNDIyYmE4Ni4uYmYzODQ0
NzA0NGNhZTdhZDdmNDE2NDE3ZWVmMDY2YTY1YTEzYTI2MCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNTk0
LDYgKzU5NCw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRJ
c09iamVjdChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIHNyYyk7CiAgICAgICAgIFJlZ2lz
dGVySUQqIGVtaXRJc1VuZGVmaW5lZChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIHNyYyk7
CisgICAgICAgIHZvaWQgZW1pdFJlcXVpcmVPYmplY3RDb2VyY2libGUoUmVnaXN0ZXJJRCogdmFs
dWUsIGNvbnN0IFN0cmluZyYgZXJyb3IpOwogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRJdGVy
YXRvck5leHQoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBpdGVyYXRvciwgY29uc3QgVGhy
b3dhYmxlRXhwcmVzc2lvbkRhdGEqIG5vZGUpOwogICAgICAgICB2b2lkIGVtaXRJdGVyYXRvckNs
b3NlKFJlZ2lzdGVySUQqIGl0ZXJhdG9yLCBjb25zdCBUaHJvd2FibGVFeHByZXNzaW9uRGF0YSog
bm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05v
ZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVz
Q29kZWdlbi5jcHAKaW5kZXggNGE3ZTJlNzgyYWY4NDU3NDY3NDdjMDQ2OGRjMzMyODQwNWQ0YTUz
Zi4uNzhkZGNiMzNkMDZkYTc3NmZhZjA5MTlkNzYxMTEyMGRhNzI5NWQ2OCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAt
MzMzNyw2ICszMzM3LDcgQEAgdm9pZCBPYmplY3RQYXR0ZXJuTm9kZTo6dG9TdHJpbmcoU3RyaW5n
QnVpbGRlciYgYnVpbGRlcikgY29uc3QKICAgICAKIHZvaWQgT2JqZWN0UGF0dGVybk5vZGU6OmJp
bmRWYWx1ZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiByaHMpIGNv
bnN0CiB7CisgICAgZ2VuZXJhdG9yLmVtaXRSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKHJocywgQVND
SUlMaXRlcmFsKCJSaWdodCBzaWRlIG9mIGFzc2lnbm1lbnQgY2Fubm90IGJlIGRlc3RydWN0dXJl
ZCIpKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fdGFyZ2V0UGF0dGVybnMuc2l6ZSgp
OyBpKyspIHsKICAgICAgICAgYXV0byYgdGFyZ2V0ID0gbV90YXJnZXRQYXR0ZXJuc1tpXTsKICAg
ICAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHRlbXAgPSBnZW5lcmF0b3IubmV3VGVtcG9yYXJ5KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCBkMjI1ODIzOWQyZWI3MzAzNTFkZGUxMTVlNjhh
NzViY2E0NzlkNDJkLi44ODJmMjdhOWM2YTk4YjRiZmExYTMxNjllYjI3YzYyYzhjNzEyMWVkIDEw
MDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmgKQEAgLTUwOSw2ICs1MDksOCBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgdm9pZCBlbWl0X29wX2luaXRfbGF6eV9yZWcoSW5zdHJ1Y3Rpb24qKTsKICAg
ICAgICAgdm9pZCBlbWl0X29wX2NoZWNrX2hhc19pbnN0YW5jZShJbnN0cnVjdGlvbiopOwogICAg
ICAgICB2b2lkIGVtaXRfb3BfaW5zdGFuY2VvZihJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lk
IGVtaXRfb3BfaXNfanVzdF91bmRlZmluZWQoSW5zdHJ1Y3Rpb24qKTsKKyAgICAgICAgdm9pZCBl
bWl0X29wX2lzX2p1c3RfdW5kZWZpbmVkX29yX251bGwoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAg
dm9pZCBlbWl0X29wX2lzX3VuZGVmaW5lZChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVt
aXRfb3BfaXNfYm9vbGVhbihJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfaXNf
bnVtYmVyKEluc3RydWN0aW9uKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Rlc3RydWN0dXJpbmctYXNzaWdubWVudC1yZXF1aXJlLW9iamVjdC1jb2Vy
Y2libGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Rlc3RydWN0dXJp
bmctYXNzaWdubWVudC1yZXF1aXJlLW9iamVjdC1jb2VyY2libGUuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzI1
YmIxYjU3MmJmMGJkMDlhNDUxY2I2Y2E0NTk4YTM3YjA5Y2NjYQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZGVzdHJ1Y3R1cmluZy1hc3NpZ25t
ZW50LXJlcXVpcmUtb2JqZWN0LWNvZXJjaWJsZS5qcwpAQCAtMCwwICsxLDY4IEBACitmdW5jdGlv
biB0ZXN0VHlwZUVycm9yKHNjcmlwdCwgbWVzc2FnZSkgeworICAgIHZhciBlcnJvciA9IG51bGw7
CisgICAgdHJ5IHsKKyAgICAgICAgZXZhbChzY3JpcHQpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgICAgZXJyb3IgPSBlOworICAgIH0KKyAgICBpZiAoIWVycm9yKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkV4cGVjdGVkIHR5cGUgZXJyb3Igbm90IHRocm93biBieSBgIiArIHNjcmlwdCAr
ICJgIik7CisKKyAgICBpZiAoU3RyaW5nKGVycm9yKSAhPT0gbWVzc2FnZSkKKyAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCJCYWQgZXJyb3I6ICIgKyBTdHJpbmcoZXJyb3IpKTsKK30KKworZnVuY3Rp
b24gdGVzdE9LKHNjcmlwdCkgeworICAgIHZhciBlcnJvciA9IG51bGw7CisgICAgdHJ5IHsKKyAg
ICAgICAgZXZhbChzY3JpcHQpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZXJyb3IgPSBl
OworICAgIH0KKyAgICBpZiAoZXJyb3IpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGVy
cm9yOiAiICsgU3RyaW5nKGVycm9yKSk7Cit9CisKK3Rlc3RUeXBlRXJyb3IoYCh7IH0gPSBudWxs
KWAsICJUeXBlRXJyb3I6IFJpZ2h0IHNpZGUgb2YgYXNzaWdubWVudCBjYW5ub3QgYmUgZGVzdHJ1
Y3R1cmVkIik7Cit0ZXN0VHlwZUVycm9yKGAoeyBhIH0gPSBudWxsKWAsICJUeXBlRXJyb3I6IFJp
Z2h0IHNpZGUgb2YgYXNzaWdubWVudCBjYW5ub3QgYmUgZGVzdHJ1Y3R1cmVkIik7Cit0ZXN0VHlw
ZUVycm9yKGAoeyBhOiB7IGIgfSA9IG51bGwgfSA9IHsgfSlgLCAiVHlwZUVycm9yOiBSaWdodCBz
aWRlIG9mIGFzc2lnbm1lbnQgY2Fubm90IGJlIGRlc3RydWN0dXJlZCIpOwordGVzdFR5cGVFcnJv
cihgKHsgYTogeyBiIH0gfSA9IHsgYTogbnVsbCB9KWAsICJUeXBlRXJyb3I6IFJpZ2h0IHNpZGUg
b2YgYXNzaWdubWVudCBjYW5ub3QgYmUgZGVzdHJ1Y3R1cmVkIik7Cit0ZXN0VHlwZUVycm9yKGAo
eyB9ID0gdW5kZWZpbmVkKWAsICJUeXBlRXJyb3I6IFJpZ2h0IHNpZGUgb2YgYXNzaWdubWVudCBj
YW5ub3QgYmUgZGVzdHJ1Y3R1cmVkIik7Cit0ZXN0VHlwZUVycm9yKGAoeyBhIH0gPSB1bmRlZmlu
ZWQpYCwgIlR5cGVFcnJvcjogUmlnaHQgc2lkZSBvZiBhc3NpZ25tZW50IGNhbm5vdCBiZSBkZXN0
cnVjdHVyZWQiKTsKK3Rlc3RUeXBlRXJyb3IoYCh7IGE6IHsgYiB9ID0gdW5kZWZpbmVkIH0gPSB7
IH0pYCwgIlR5cGVFcnJvcjogUmlnaHQgc2lkZSBvZiBhc3NpZ25tZW50IGNhbm5vdCBiZSBkZXN0
cnVjdHVyZWQiKTsKK3Rlc3RUeXBlRXJyb3IoYCh7IGE6IHsgYiB9IH0gPSB7IGE6IHVuZGVmaW5l
ZCB9KWAsICJUeXBlRXJyb3I6IFJpZ2h0IHNpZGUgb2YgYXNzaWdubWVudCBjYW5ub3QgYmUgZGVz
dHJ1Y3R1cmVkIik7CisKK3Rlc3RPSyhgKHsgfSA9IDEyMylgKTsKK3Rlc3RPSyhgKHsgYSB9ID0g
MTIzKWApOwordGVzdE9LKGAoeyBhOiB7IGIgfSA9IDEyMyB9ID0geyB9KWApOwordGVzdE9LKGAo
eyBhOiB7IGIgfSB9ID0geyBhOiAxMjMgfSlgKTsKKwordGVzdE9LKGAoeyB9ID0gMC41KWApOwor
dGVzdE9LKGAoeyBhIH0gPSAwLjUpYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9ID0gMC41IH0gPSB7
IH0pYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9IH0gPSB7IGE6IDAuNSB9KWApOworCit0ZXN0T0so
YCh7IH0gPSBOYU4pYCk7Cit0ZXN0T0soYCh7IGEgfSA9IE5hTilgKTsKK3Rlc3RPSyhgKHsgYTog
eyBiIH0gPSBOYU4gfSA9IHsgfSlgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gfSA9IHsgYTogTmFO
IH0pYCk7CisKK3Rlc3RPSyhgKHsgfSA9IHRydWUpYCk7Cit0ZXN0T0soYCh7IGEgfSA9IHRydWUp
YCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9ID0gdHJ1ZSB9ID0geyB9KWApOwordGVzdE9LKGAoeyBh
OiB7IGIgfSB9ID0geyBhOiB0cnVlIH0pYCk7CisKK3Rlc3RPSyhgKHsgfSA9IHt9KWApOwordGVz
dE9LKGAoeyBhIH0gPSB7fSlgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gPSB7fSB9ID0geyB9KWAp
OwordGVzdE9LKGAoeyBhOiB7IGIgfSB9ID0geyBhOiB7fSB9KWApOworCit0ZXN0T0soYCh7IH0g
PSBbXSlgKTsKK3Rlc3RPSyhgKHsgYSB9ID0gW10pYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9ID0g
W10gfSA9IHsgfSlgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gfSA9IHsgYTogW10gfSlgKTsKKwor
dGVzdE9LKGAoeyB9ID0gLzEvKWApOwordGVzdE9LKGAoeyBhIH0gPSAvMS8pYCk7Cit0ZXN0T0so
YCh7IGE6IHsgYiB9ID0gLzEvIH0gPSB7IH0pYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9IH0gPSB7
IGE6IC8xLyB9KWApOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266354</attachid>
            <date>2015-12-01 05:37:48 -0800</date>
            <delta_ts>2015-12-01 11:16:46 -0800</delta_ts>
            <desc>[JSC] add missing RequireObjectCoercible() step in destructuring</desc>
            <filename>bug-151596-20151201083725.patch</filename>
            <type>text/plain</type>
            <size>6307</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyODgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
M2I0MjQ0NTVlNWRiZDcwNmM4MTEzZGIwNDZjNDU2ZWQ3NTc3ZDBjLi41M2FmZDlmODEzYTFjOTFj
ODM4NGRkMmMyYWMyMTNkNjU2ZmU2MDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNS0xMi0wMSAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cG90dGVyODhAZ21h
aWwuY29tPgorCisgICAgICAgIFtKU0NdIGFkZCBtaXNzaW5nIFJlcXVpcmVPYmplY3RDb2VyY2li
bGUoKSBzdGVwIGluIGRlc3RydWN0dXJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1MTU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoK
KyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRSZXF1aXJlT2JqZWN0Q29lcmNp
YmxlKToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAg
ICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6T2JqZWN0
UGF0dGVybk5vZGU6OmJpbmRWYWx1ZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Rlc3RydWN0
dXJpbmctYXNzaWdubWVudC1yZXF1aXJlLW9iamVjdC1jb2VyY2libGUuanM6IEFkZGVkLgorICAg
ICAgICAodGVzdFR5cGVFcnJvcik6CisgICAgICAgICh0ZXN0T0spOgorCiAyMDE1LTEyLTAxIEFs
ZWtzYW5kciBTa2FjaGtvdiAgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogCiAgICAgICAgIFtFUzZd
ICJzdXBlciIgYW5kICJ0aGlzIiBzaG91bGQgYmUgbGV4aWNhbGx5IGJvdW5kIGluc2lkZSBhbiBh
cnJvdyBmdW5jdGlvbiBhbmQgc2hvdWxkIGxpdmUgaW4gYSBKU0xleGljYWxFbnZpcm9ubWVudApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmNwcAppbmRleCBkNThmZjQxZmJiY2ZmODdiYzFlNDYyZWI1MjViZmU4NmM0Y2U2
YzdhLi43NzYzNDkxN2RiOTI5ZDQ3MWVmZjUwYzA2NmMxNDdmZWE1MTg2ZThhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJh
dG9yLmNwcApAQCAtMzk3OSw0ICszOTc5LDE1IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJh
dG9yOjplbWl0UmVzdFBhcmFtZXRlcihSZWdpc3RlcklEKiByZXN1bHQsIHVuc2lnbmVkIG51CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIAordm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFJlcXVp
cmVPYmplY3RDb2VyY2libGUoUmVnaXN0ZXJJRCogdmFsdWUsIGNvbnN0IFN0cmluZyYgZXJyb3Ip
Cit7CisgICAgUmVmUHRyPExhYmVsPiB0YXJnZXQgPSBuZXdMYWJlbCgpOworICAgIHNpemVfdCBi
ZWdpbiA9IGluc3RydWN0aW9ucygpLnNpemUoKTsKKyAgICBlbWl0T3Bjb2RlKG9wX2puZXFfbnVs
bCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHZhbHVlLT5pbmRleCgpKTsKKyAgICBpbnN0
cnVjdGlvbnMoKS5hcHBlbmQodGFyZ2V0LT5iaW5kKGJlZ2luLCBpbnN0cnVjdGlvbnMoKS5zaXpl
KCkpKTsKKyAgICBlbWl0VGhyb3dUeXBlRXJyb3IoZXJyb3IpOworICAgIGVtaXRMYWJlbCh0YXJn
ZXQuZ2V0KCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAppbmRleCAyYzJl
Yzk2YTRhNTM3YWYxOGU4M2MwZWI3NjU2M2NhMTM2NDhjZWNhLi41MTQ3MGZkNmNiYjY1MjMxMDY2
N2UxNmRmNWE0MDdmZmI0ZDI5Yjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCkBAIC02MTAsNiArNjEwLDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdElzT2JqZWN0KFJlZ2lz
dGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogc3JjKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdElz
VW5kZWZpbmVkKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogc3JjKTsKKyAgICAgICAgdm9p
ZCBlbWl0UmVxdWlyZU9iamVjdENvZXJjaWJsZShSZWdpc3RlcklEKiB2YWx1ZSwgY29uc3QgU3Ry
aW5nJiBlcnJvcik7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdEl0ZXJhdG9yTmV4dChSZWdp
c3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIGl0ZXJhdG9yLCBjb25zdCBUaHJvd2FibGVFeHByZXNz
aW9uRGF0YSogbm9kZSk7CiAgICAgICAgIHZvaWQgZW1pdEl0ZXJhdG9yQ2xvc2UoUmVnaXN0ZXJJ
RCogaXRlcmF0b3IsIGNvbnN0IFRocm93YWJsZUV4cHJlc3Npb25EYXRhKiBub2RlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApp
bmRleCBhMmU4NGYyYjNiNTI5YWNlNTI2MWZkMWU5ZGUzNGRiNmE0MWI2OGJkLi5hYWFkYjZjNjhi
NmQyN2E1NGU3NmE2MzgzOTMwMzI1Zjc1MjgzODZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0zMzcwLDYgKzMzNzAs
NyBAQCB2b2lkIE9iamVjdFBhdHRlcm5Ob2RlOjp0b1N0cmluZyhTdHJpbmdCdWlsZGVyJiBidWls
ZGVyKSBjb25zdAogICAgIAogdm9pZCBPYmplY3RQYXR0ZXJuTm9kZTo6YmluZFZhbHVlKEJ5dGVj
b2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIHJocykgY29uc3QKIHsKKyAgICBn
ZW5lcmF0b3IuZW1pdFJlcXVpcmVPYmplY3RDb2VyY2libGUocmhzLCBBU0NJSUxpdGVyYWwoIlJp
Z2h0IHNpZGUgb2YgYXNzaWdubWVudCBjYW5ub3QgYmUgZGVzdHJ1Y3R1cmVkIikpOwogICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbV90YXJnZXRQYXR0ZXJucy5zaXplKCk7IGkrKykgewogICAg
ICAgICBhdXRvJiB0YXJnZXQgPSBtX3RhcmdldFBhdHRlcm5zW2ldOwogICAgICAgICBSZWZQdHI8
UmVnaXN0ZXJJRD4gdGVtcCA9IGdlbmVyYXRvci5uZXdUZW1wb3JhcnkoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZGVzdHJ1Y3R1cmluZy1hc3NpZ25t
ZW50LXJlcXVpcmUtb2JqZWN0LWNvZXJjaWJsZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvZGVzdHJ1Y3R1cmluZy1hc3NpZ25tZW50LXJlcXVpcmUtb2JqZWN0LWNvZXJj
aWJsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jMjViYjFiNTcyYmYwYmQwOWE0NTFjYjZjYTQ1OThhMzdiMDlj
Y2NhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQtcmVxdWlyZS1vYmplY3QtY29lcmNpYmxlLmpzCkBA
IC0wLDAgKzEsNjggQEAKK2Z1bmN0aW9uIHRlc3RUeXBlRXJyb3Ioc2NyaXB0LCBtZXNzYWdlKSB7
CisgICAgdmFyIGVycm9yID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICBldmFsKHNjcmlwdCk7
CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorICAgIGlmICgh
ZXJyb3IpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgdHlwZSBlcnJvciBub3Qg
dGhyb3duIGJ5IGAiICsgc2NyaXB0ICsgImAiKTsKKworICAgIGlmIChTdHJpbmcoZXJyb3IpICE9
PSBtZXNzYWdlKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBlcnJvcjogIiArIFN0cmlu
ZyhlcnJvcikpOworfQorCitmdW5jdGlvbiB0ZXN0T0soc2NyaXB0KSB7CisgICAgdmFyIGVycm9y
ID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICBldmFsKHNjcmlwdCk7CisgICAgfSBjYXRjaCAo
ZSkgeworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorICAgIGlmIChlcnJvcikKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJCYWQgZXJyb3I6ICIgKyBTdHJpbmcoZXJyb3IpKTsKK30KKwordGVz
dFR5cGVFcnJvcihgKHsgfSA9IG51bGwpYCwgIlR5cGVFcnJvcjogUmlnaHQgc2lkZSBvZiBhc3Np
Z25tZW50IGNhbm5vdCBiZSBkZXN0cnVjdHVyZWQiKTsKK3Rlc3RUeXBlRXJyb3IoYCh7IGEgfSA9
IG51bGwpYCwgIlR5cGVFcnJvcjogUmlnaHQgc2lkZSBvZiBhc3NpZ25tZW50IGNhbm5vdCBiZSBk
ZXN0cnVjdHVyZWQiKTsKK3Rlc3RUeXBlRXJyb3IoYCh7IGE6IHsgYiB9ID0gbnVsbCB9ID0geyB9
KWAsICJUeXBlRXJyb3I6IFJpZ2h0IHNpZGUgb2YgYXNzaWdubWVudCBjYW5ub3QgYmUgZGVzdHJ1
Y3R1cmVkIik7Cit0ZXN0VHlwZUVycm9yKGAoeyBhOiB7IGIgfSB9ID0geyBhOiBudWxsIH0pYCwg
IlR5cGVFcnJvcjogUmlnaHQgc2lkZSBvZiBhc3NpZ25tZW50IGNhbm5vdCBiZSBkZXN0cnVjdHVy
ZWQiKTsKK3Rlc3RUeXBlRXJyb3IoYCh7IH0gPSB1bmRlZmluZWQpYCwgIlR5cGVFcnJvcjogUmln
aHQgc2lkZSBvZiBhc3NpZ25tZW50IGNhbm5vdCBiZSBkZXN0cnVjdHVyZWQiKTsKK3Rlc3RUeXBl
RXJyb3IoYCh7IGEgfSA9IHVuZGVmaW5lZClgLCAiVHlwZUVycm9yOiBSaWdodCBzaWRlIG9mIGFz
c2lnbm1lbnQgY2Fubm90IGJlIGRlc3RydWN0dXJlZCIpOwordGVzdFR5cGVFcnJvcihgKHsgYTog
eyBiIH0gPSB1bmRlZmluZWQgfSA9IHsgfSlgLCAiVHlwZUVycm9yOiBSaWdodCBzaWRlIG9mIGFz
c2lnbm1lbnQgY2Fubm90IGJlIGRlc3RydWN0dXJlZCIpOwordGVzdFR5cGVFcnJvcihgKHsgYTog
eyBiIH0gfSA9IHsgYTogdW5kZWZpbmVkIH0pYCwgIlR5cGVFcnJvcjogUmlnaHQgc2lkZSBvZiBh
c3NpZ25tZW50IGNhbm5vdCBiZSBkZXN0cnVjdHVyZWQiKTsKKwordGVzdE9LKGAoeyB9ID0gMTIz
KWApOwordGVzdE9LKGAoeyBhIH0gPSAxMjMpYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9ID0gMTIz
IH0gPSB7IH0pYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9IH0gPSB7IGE6IDEyMyB9KWApOworCit0
ZXN0T0soYCh7IH0gPSAwLjUpYCk7Cit0ZXN0T0soYCh7IGEgfSA9IDAuNSlgKTsKK3Rlc3RPSyhg
KHsgYTogeyBiIH0gPSAwLjUgfSA9IHsgfSlgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gfSA9IHsg
YTogMC41IH0pYCk7CisKK3Rlc3RPSyhgKHsgfSA9IE5hTilgKTsKK3Rlc3RPSyhgKHsgYSB9ID0g
TmFOKWApOwordGVzdE9LKGAoeyBhOiB7IGIgfSA9IE5hTiB9ID0geyB9KWApOwordGVzdE9LKGAo
eyBhOiB7IGIgfSB9ID0geyBhOiBOYU4gfSlgKTsKKwordGVzdE9LKGAoeyB9ID0gdHJ1ZSlgKTsK
K3Rlc3RPSyhgKHsgYSB9ID0gdHJ1ZSlgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gPSB0cnVlIH0g
PSB7IH0pYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9IH0gPSB7IGE6IHRydWUgfSlgKTsKKwordGVz
dE9LKGAoeyB9ID0ge30pYCk7Cit0ZXN0T0soYCh7IGEgfSA9IHt9KWApOwordGVzdE9LKGAoeyBh
OiB7IGIgfSA9IHt9IH0gPSB7IH0pYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9IH0gPSB7IGE6IHt9
IH0pYCk7CisKK3Rlc3RPSyhgKHsgfSA9IFtdKWApOwordGVzdE9LKGAoeyBhIH0gPSBbXSlgKTsK
K3Rlc3RPSyhgKHsgYTogeyBiIH0gPSBbXSB9ID0geyB9KWApOwordGVzdE9LKGAoeyBhOiB7IGIg
fSB9ID0geyBhOiBbXSB9KWApOworCit0ZXN0T0soYCh7IH0gPSAvMS8pYCk7Cit0ZXN0T0soYCh7
IGEgfSA9IC8xLylgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gPSAvMS8gfSA9IHsgfSlgKTsKK3Rl
c3RPSyhgKHsgYTogeyBiIH0gfSA9IHsgYTogLzEvIH0pYCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266368</attachid>
            <date>2015-12-01 11:16:52 -0800</date>
            <delta_ts>2015-12-01 12:11:34 -0800</delta_ts>
            <desc>[JSC] add missing RequireObjectCoercible() step in destructuring</desc>
            <filename>bug-151596-20151201141629.patch</filename>
            <type>text/plain</type>
            <size>6484</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyODgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
M2I0MjQ0NTVlNWRiZDcwNmM4MTEzZGIwNDZjNDU2ZWQ3NTc3ZDBjLi42M2Q3MzA4M2IzMDYxZmY1
MmIyZDM3MzUxMGRmYWFhMzVmYWRmODhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNS0xMi0wMSAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtKU0NdIGFkZCBtaXNzaW5nIFJlcXVpcmVPYmplY3RDb2VyY2libGUoKSBz
dGVwIGluIGRlc3RydWN0dXJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1MTU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKToK
KyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBi
eXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6T2JqZWN0UGF0dGVy
bk5vZGU6OmJpbmRWYWx1ZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Rlc3RydWN0dXJpbmct
YXNzaWdubWVudC1yZXF1aXJlLW9iamVjdC1jb2VyY2libGUuanM6IEFkZGVkLgorICAgICAgICAo
dGVzdFR5cGVFcnJvcik6CisgICAgICAgICh0ZXN0T0spOgorCiAyMDE1LTEyLTAxIEFsZWtzYW5k
ciBTa2FjaGtvdiAgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogCiAgICAgICAgIFtFUzZdICJzdXBl
ciIgYW5kICJ0aGlzIiBzaG91bGQgYmUgbGV4aWNhbGx5IGJvdW5kIGluc2lkZSBhbiBhcnJvdyBm
dW5jdGlvbiBhbmQgc2hvdWxkIGxpdmUgaW4gYSBKU0xleGljYWxFbnZpcm9ubWVudApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJh
dG9yLmNwcAppbmRleCBkNThmZjQxZmJiY2ZmODdiYzFlNDYyZWI1MjViZmU4NmM0Y2U2YzdhLi43
M2UwMDk1MmYzMTk3NTA0ZDQ0MjM3YTgxNjNmMzhlNjM3MGU1ZWQyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNw
cApAQCAtMzk3OSw0ICszOTc5LDE3IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjpl
bWl0UmVzdFBhcmFtZXRlcihSZWdpc3RlcklEKiByZXN1bHQsIHVuc2lnbmVkIG51CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIAordm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFJlcXVpcmVPYmpl
Y3RDb2VyY2libGUoUmVnaXN0ZXJJRCogdmFsdWUsIGNvbnN0IFN0cmluZyYgZXJyb3IpCit7Cisg
ICAgLy8gRklYTUU6IG9wX2puZXFfbnVsbCB0cmVhdHMgInVuZGV0ZWN0YWJsZSIgb2JqZWN0cyBh
cyBudWxsL3VuZGVmaW5lZC4gUmVxdWlyZU9iamVjdENvZXJjaWJsZQorICAgIC8vIHRodXMgaW5j
b3JyZWN0bHkgdGhyb3dzIGEgVHlwZUVycm9yIGZvciBpbnRlcmZhY2VzIGxpa2UgSFRNTEFsbENv
bGxlY3Rpb24uCisgICAgUmVmUHRyPExhYmVsPiB0YXJnZXQgPSBuZXdMYWJlbCgpOworICAgIHNp
emVfdCBiZWdpbiA9IGluc3RydWN0aW9ucygpLnNpemUoKTsKKyAgICBlbWl0T3Bjb2RlKG9wX2pu
ZXFfbnVsbCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHZhbHVlLT5pbmRleCgpKTsKKyAg
ICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQodGFyZ2V0LT5iaW5kKGJlZ2luLCBpbnN0cnVjdGlvbnMo
KS5zaXplKCkpKTsKKyAgICBlbWl0VGhyb3dUeXBlRXJyb3IoZXJyb3IpOworICAgIGVtaXRMYWJl
bCh0YXJnZXQuZ2V0KCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAppbmRl
eCAyYzJlYzk2YTRhNTM3YWYxOGU4M2MwZWI3NjU2M2NhMTM2NDhjZWNhLi41MTQ3MGZkNmNiYjY1
MjMxMDY2N2UxNmRmNWE0MDdmZmI0ZDI5Yjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCkBAIC02MTAsNiArNjEw
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdElzT2JqZWN0
KFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogc3JjKTsKICAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdElzVW5kZWZpbmVkKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogc3JjKTsKKyAgICAg
ICAgdm9pZCBlbWl0UmVxdWlyZU9iamVjdENvZXJjaWJsZShSZWdpc3RlcklEKiB2YWx1ZSwgY29u
c3QgU3RyaW5nJiBlcnJvcik7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdEl0ZXJhdG9yTmV4
dChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIGl0ZXJhdG9yLCBjb25zdCBUaHJvd2FibGVF
eHByZXNzaW9uRGF0YSogbm9kZSk7CiAgICAgICAgIHZvaWQgZW1pdEl0ZXJhdG9yQ2xvc2UoUmVn
aXN0ZXJJRCogaXRlcmF0b3IsIGNvbnN0IFRocm93YWJsZUV4cHJlc3Npb25EYXRhKiBub2RlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2Rl
Z2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcAppbmRleCBhMmU4NGYyYjNiNTI5YWNlNTI2MWZkMWU5ZGUzNGRiNmE0MWI2OGJkLi5hYWFk
YjZjNjhiNmQyN2E1NGU3NmE2MzgzOTMwMzI1Zjc1MjgzODZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0zMzcwLDYg
KzMzNzAsNyBAQCB2b2lkIE9iamVjdFBhdHRlcm5Ob2RlOjp0b1N0cmluZyhTdHJpbmdCdWlsZGVy
JiBidWlsZGVyKSBjb25zdAogICAgIAogdm9pZCBPYmplY3RQYXR0ZXJuTm9kZTo6YmluZFZhbHVl
KEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIHJocykgY29uc3QKIHsK
KyAgICBnZW5lcmF0b3IuZW1pdFJlcXVpcmVPYmplY3RDb2VyY2libGUocmhzLCBBU0NJSUxpdGVy
YWwoIlJpZ2h0IHNpZGUgb2YgYXNzaWdubWVudCBjYW5ub3QgYmUgZGVzdHJ1Y3R1cmVkIikpOwog
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV90YXJnZXRQYXR0ZXJucy5zaXplKCk7IGkrKykg
ewogICAgICAgICBhdXRvJiB0YXJnZXQgPSBtX3RhcmdldFBhdHRlcm5zW2ldOwogICAgICAgICBS
ZWZQdHI8UmVnaXN0ZXJJRD4gdGVtcCA9IGdlbmVyYXRvci5uZXdUZW1wb3JhcnkoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZGVzdHJ1Y3R1cmluZy1h
c3NpZ25tZW50LXJlcXVpcmUtb2JqZWN0LWNvZXJjaWJsZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvZGVzdHJ1Y3R1cmluZy1hc3NpZ25tZW50LXJlcXVpcmUtb2JqZWN0
LWNvZXJjaWJsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMjViYjFiNTcyYmYwYmQwOWE0NTFjYjZjYTQ1OThh
MzdiMDljY2NhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQtcmVxdWlyZS1vYmplY3QtY29lcmNpYmxl
LmpzCkBAIC0wLDAgKzEsNjggQEAKK2Z1bmN0aW9uIHRlc3RUeXBlRXJyb3Ioc2NyaXB0LCBtZXNz
YWdlKSB7CisgICAgdmFyIGVycm9yID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICBldmFsKHNj
cmlwdCk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorICAg
IGlmICghZXJyb3IpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgdHlwZSBlcnJv
ciBub3QgdGhyb3duIGJ5IGAiICsgc2NyaXB0ICsgImAiKTsKKworICAgIGlmIChTdHJpbmcoZXJy
b3IpICE9PSBtZXNzYWdlKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBlcnJvcjogIiAr
IFN0cmluZyhlcnJvcikpOworfQorCitmdW5jdGlvbiB0ZXN0T0soc2NyaXB0KSB7CisgICAgdmFy
IGVycm9yID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICBldmFsKHNjcmlwdCk7CisgICAgfSBj
YXRjaCAoZSkgeworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorICAgIGlmIChlcnJvcikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgZXJyb3I6ICIgKyBTdHJpbmcoZXJyb3IpKTsKK30K
KwordGVzdFR5cGVFcnJvcihgKHsgfSA9IG51bGwpYCwgIlR5cGVFcnJvcjogUmlnaHQgc2lkZSBv
ZiBhc3NpZ25tZW50IGNhbm5vdCBiZSBkZXN0cnVjdHVyZWQiKTsKK3Rlc3RUeXBlRXJyb3IoYCh7
IGEgfSA9IG51bGwpYCwgIlR5cGVFcnJvcjogUmlnaHQgc2lkZSBvZiBhc3NpZ25tZW50IGNhbm5v
dCBiZSBkZXN0cnVjdHVyZWQiKTsKK3Rlc3RUeXBlRXJyb3IoYCh7IGE6IHsgYiB9ID0gbnVsbCB9
ID0geyB9KWAsICJUeXBlRXJyb3I6IFJpZ2h0IHNpZGUgb2YgYXNzaWdubWVudCBjYW5ub3QgYmUg
ZGVzdHJ1Y3R1cmVkIik7Cit0ZXN0VHlwZUVycm9yKGAoeyBhOiB7IGIgfSB9ID0geyBhOiBudWxs
IH0pYCwgIlR5cGVFcnJvcjogUmlnaHQgc2lkZSBvZiBhc3NpZ25tZW50IGNhbm5vdCBiZSBkZXN0
cnVjdHVyZWQiKTsKK3Rlc3RUeXBlRXJyb3IoYCh7IH0gPSB1bmRlZmluZWQpYCwgIlR5cGVFcnJv
cjogUmlnaHQgc2lkZSBvZiBhc3NpZ25tZW50IGNhbm5vdCBiZSBkZXN0cnVjdHVyZWQiKTsKK3Rl
c3RUeXBlRXJyb3IoYCh7IGEgfSA9IHVuZGVmaW5lZClgLCAiVHlwZUVycm9yOiBSaWdodCBzaWRl
IG9mIGFzc2lnbm1lbnQgY2Fubm90IGJlIGRlc3RydWN0dXJlZCIpOwordGVzdFR5cGVFcnJvcihg
KHsgYTogeyBiIH0gPSB1bmRlZmluZWQgfSA9IHsgfSlgLCAiVHlwZUVycm9yOiBSaWdodCBzaWRl
IG9mIGFzc2lnbm1lbnQgY2Fubm90IGJlIGRlc3RydWN0dXJlZCIpOwordGVzdFR5cGVFcnJvcihg
KHsgYTogeyBiIH0gfSA9IHsgYTogdW5kZWZpbmVkIH0pYCwgIlR5cGVFcnJvcjogUmlnaHQgc2lk
ZSBvZiBhc3NpZ25tZW50IGNhbm5vdCBiZSBkZXN0cnVjdHVyZWQiKTsKKwordGVzdE9LKGAoeyB9
ID0gMTIzKWApOwordGVzdE9LKGAoeyBhIH0gPSAxMjMpYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9
ID0gMTIzIH0gPSB7IH0pYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9IH0gPSB7IGE6IDEyMyB9KWAp
OworCit0ZXN0T0soYCh7IH0gPSAwLjUpYCk7Cit0ZXN0T0soYCh7IGEgfSA9IDAuNSlgKTsKK3Rl
c3RPSyhgKHsgYTogeyBiIH0gPSAwLjUgfSA9IHsgfSlgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0g
fSA9IHsgYTogMC41IH0pYCk7CisKK3Rlc3RPSyhgKHsgfSA9IE5hTilgKTsKK3Rlc3RPSyhgKHsg
YSB9ID0gTmFOKWApOwordGVzdE9LKGAoeyBhOiB7IGIgfSA9IE5hTiB9ID0geyB9KWApOwordGVz
dE9LKGAoeyBhOiB7IGIgfSB9ID0geyBhOiBOYU4gfSlgKTsKKwordGVzdE9LKGAoeyB9ID0gdHJ1
ZSlgKTsKK3Rlc3RPSyhgKHsgYSB9ID0gdHJ1ZSlgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gPSB0
cnVlIH0gPSB7IH0pYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9IH0gPSB7IGE6IHRydWUgfSlgKTsK
KwordGVzdE9LKGAoeyB9ID0ge30pYCk7Cit0ZXN0T0soYCh7IGEgfSA9IHt9KWApOwordGVzdE9L
KGAoeyBhOiB7IGIgfSA9IHt9IH0gPSB7IH0pYCk7Cit0ZXN0T0soYCh7IGE6IHsgYiB9IH0gPSB7
IGE6IHt9IH0pYCk7CisKK3Rlc3RPSyhgKHsgfSA9IFtdKWApOwordGVzdE9LKGAoeyBhIH0gPSBb
XSlgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gPSBbXSB9ID0geyB9KWApOwordGVzdE9LKGAoeyBh
OiB7IGIgfSB9ID0geyBhOiBbXSB9KWApOworCit0ZXN0T0soYCh7IH0gPSAvMS8pYCk7Cit0ZXN0
T0soYCh7IGEgfSA9IC8xLylgKTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gPSAvMS8gfSA9IHsgfSlg
KTsKK3Rlc3RPSyhgKHsgYTogeyBiIH0gfSA9IHsgYTogLzEvIH0pYCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>