<?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>175347</bug_id>
          
          <creation_ts>2017-08-08 15:10:46 -0700</creation_ts>
          <short_desc>JSTests/slowMicrobenchmarks/spread-small-array.js fails with JSC_validateExceptionChecks=1</short_desc>
          <delta_ts>2017-08-08 17:26:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>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>Trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robin Morisset">rmorisset</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1336677</commentid>
    <comment_count>0</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-08 15:10:46 -0700</bug_when>
    <thetext>This is due to finishCreation not explicitely checking for exceptions between the calls to setConstantRegisters and setConstantIdentifiersSetRegisters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336681</commentid>
    <comment_count>1</comment_count>
      <attachid>317626</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-08 15:17:54 -0700</bug_when>
    <thetext>Created attachment 317626
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336686</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-08 15:20:22 -0700</bug_when>
    <thetext>Attachment 317626 did not pass style-queue:


ERROR: Source/JavaScriptCore/ChangeLog:4:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Source/JavaScriptCore/ChangeLog:6:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Source/JavaScriptCore/ChangeLog:7:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Source/JavaScriptCore/ChangeLog:8:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Source/JavaScriptCore/ChangeLog:9:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Source/JavaScriptCore/ChangeLog:10:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:881:  Missing space after ,  [whitespace/comma] [3]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:883:  Missing space after ,  [whitespace/comma] [3]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:889:  Missing space after ,  [whitespace/comma] [3]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:922:  Missing space after ,  [whitespace/comma] [3]
Total errors found: 10 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336691</commentid>
    <comment_count>3</comment_count>
      <attachid>317631</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-08 15:30:22 -0700</bug_when>
    <thetext>Created attachment 317631
Same patch, with the whitespace issues fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336692</commentid>
    <comment_count>4</comment_count>
      <attachid>317631</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-08-08 15:32:30 -0700</bug_when>
    <thetext>Comment on attachment 317631
Same patch, with the whitespace issues fixed

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

r=me with changelog fix

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        This is done by making finishCreation explicitely check for exceptions after setConstantRegister and setConstantIdentifiersSetRegisters.
&gt; +        I chose to have this check replace the boolean returned previously by these functions for readability. The performance impact should be
&gt; +        negligible considering how much more finishCreation does.
&gt; +        This fix then caused another issue to appear as it was now clear that finishCreation can throw. And since it is called by ProgramCodeBlock::create(),
&gt; +        FunctionCodeBlock::create() and friends, that are in turn called by ScriptExecutable::newCodeBlockFor, this last function also required a few tweaks.

Style nit: This explanation should go below the &quot;Reviewed by ...&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336694</commentid>
    <comment_count>5</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-08 15:33:12 -0700</bug_when>
    <thetext>Attachment 317631 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:881:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:883:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:889:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:922:  Extra space before )  [whitespace/parens] [2]
Total errors found: 4 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336699</commentid>
    <comment_count>6</comment_count>
      <attachid>317634</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-08 15:43:49 -0700</bug_when>
    <thetext>Created attachment 317634
Same patch, with Changelog fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336706</commentid>
    <comment_count>7</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-08 15:51:06 -0700</bug_when>
    <thetext>Attachment 317634 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:881:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:883:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:889:  Extra space before )  [whitespace/parens] [2]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:922:  Extra space before )  [whitespace/parens] [2]
Total errors found: 4 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336710</commentid>
    <comment_count>8</comment_count>
      <attachid>317634</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-08-08 15:55:32 -0700</bug_when>
    <thetext>Comment on attachment 317634
Same patch, with Changelog fix

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

&gt; Source/JavaScriptCore/bytecode/CodeBlock.cpp:881
&gt; +        RETURN_IF_EXCEPTION(scope, );

This looks weird.  Let&apos;s do this instead:
     RETURN_IF_EXCEPTION(scope, void());

&gt; Source/JavaScriptCore/bytecode/CodeBlock.cpp:883
&gt; +        RETURN_IF_EXCEPTION(scope, );

Ditto.

&gt; Source/JavaScriptCore/bytecode/CodeBlock.cpp:889
&gt; +            RETURN_IF_EXCEPTION(scope, );

Ditto.

&gt; Source/JavaScriptCore/bytecode/CodeBlock.cpp:922
&gt; +                RETURN_IF_EXCEPTION(scope, );

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336723</commentid>
    <comment_count>9</comment_count>
      <attachid>317638</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-08 16:10:58 -0700</bug_when>
    <thetext>Created attachment 317638
Same patch, with Mark&apos;s suggestion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336743</commentid>
    <comment_count>10</comment_count>
      <attachid>317641</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-08 16:28:05 -0700</bug_when>
    <thetext>Created attachment 317641
exception_scope =&gt; exceptionScope, as suggested by Mark</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336747</commentid>
    <comment_count>11</comment_count>
      <attachid>317641</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-08-08 16:30:11 -0700</bug_when>
    <thetext>Comment on attachment 317641
exception_scope =&gt; exceptionScope, as suggested by Mark

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

&gt; Source/JavaScriptCore/bytecode/CodeBlock.cpp:404
&gt; +    auto exceptionScope = DECLARE_THROW_SCOPE(vm);

can we call this throwScope instead since it comes from DECLARE_THROW_SCOPE?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336761</commentid>
    <comment_count>12</comment_count>
      <attachid>317648</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-08 16:44:23 -0700</bug_when>
    <thetext>Created attachment 317648
exceptionScope =&gt; throwScope</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336791</commentid>
    <comment_count>13</comment_count>
      <attachid>317648</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-08 17:26:07 -0700</bug_when>
    <thetext>Comment on attachment 317648
exceptionScope =&gt; throwScope

Clearing flags on attachment: 317648

Committed r220432: &lt;http://trac.webkit.org/changeset/220432&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336792</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-08 17:26:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317626</attachid>
            <date>2017-08-08 15:17:54 -0700</date>
            <delta_ts>2017-08-08 15:30:22 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch-exception-scope</filename>
            <type>text/plain</type>
            <size>8082</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjIwNDIwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDE3LTA4LTA4ICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAg
ICAgICAgTWFrZSBKU0NfdmFsaWRhdGVFeGNlcHRpb25DaGVja3M9MSBzdWNjZWVkIG9uIEpTVGVz
dHMvc2xvd01pY3JvYmVuY2htYXJrcy9zcHJlYWQtc21hbGwtYXJyYXkuanMuCisJCWh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUzNDcKKworCQlUaGlzIGlzIGRvbmUg
YnkgbWFraW5nIGZpbmlzaENyZWF0aW9uIGV4cGxpY2l0ZWx5IGNoZWNrIGZvciBleGNlcHRpb25z
IGFmdGVyIHNldENvbnN0YW50UmVnaXN0ZXIgYW5kIHNldENvbnN0YW50SWRlbnRpZmllcnNTZXRS
ZWdpc3RlcnMuCisJCUkgY2hvc2UgdG8gaGF2ZSB0aGlzIGNoZWNrIHJlcGxhY2UgdGhlIGJvb2xl
YW4gcmV0dXJuZWQgcHJldmlvdXNseSBieSB0aGVzZSBmdW5jdGlvbnMgZm9yIHJlYWRhYmlsaXR5
LiBUaGUgcGVyZm9ybWFuY2UgaW1wYWN0IHNob3VsZCBiZQorCQluZWdsaWdpYmxlIGNvbnNpZGVy
aW5nIGhvdyBtdWNoIG1vcmUgZmluaXNoQ3JlYXRpb24gZG9lcy4KKwkJVGhpcyBmaXggdGhlbiBj
YXVzZWQgYW5vdGhlciBpc3N1ZSB0byBhcHBlYXIgYXMgaXQgd2FzIG5vdyBjbGVhciB0aGF0IGZp
bmlzaENyZWF0aW9uIGNhbiB0aHJvdy4gQW5kIHNpbmNlIGl0IGlzIGNhbGxlZCBieSBQcm9ncmFt
Q29kZUJsb2NrOjpjcmVhdGUoKSwKKwkJRnVuY3Rpb25Db2RlQmxvY2s6OmNyZWF0ZSgpIGFuZCBm
cmllbmRzLCB0aGF0IGFyZSBpbiB0dXJuIGNhbGxlZCBieSBTY3JpcHRFeGVjdXRhYmxlOjpuZXdD
b2RlQmxvY2tGb3IsIHRoaXMgbGFzdCBmdW5jdGlvbiBhbHNvIHJlcXVpcmVkIGEgZmV3IHR3ZWFr
cy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJ5
dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnNldENvbnN0YW50SWRlbnRpZmllclNl
dFJlZ2lzdGVycyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3Rl
cnMpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5oOgorICAgICAgICAqIHJ1bnRpbWUv
U2NyaXB0RXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChKU0M6OlNjcmlwdEV4ZWN1dGFibGU6Om5l
d0NvZGVCbG9ja0Zvcik6CisKIDIwMTctMDgtMDggIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxl
LmNvbT4KIAogICAgICAgICBCYXNlbGluZSBKSVQgc2hvdWxkIGRvIGNhZ2luZwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDIy
MDQyMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MDEsMTUgKzQwMSwxNiBAQCBib29sIENvZGVCbG9jazo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBTCiAgICAgSlNTY29wZSogc2NvcGUpCiB7CiAgICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0pOworICAgIGF1dG8gZXhjZXB0aW9uX3Njb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7CiAKICAgICBpZiAodm0udHlwZVByb2ZpbGVyKCkgfHwgdm0uY29udHJvbEZs
b3dQcm9maWxlcigpKQogICAgICAgICB2bS5mdW5jdGlvbkhhc0V4ZWN1dGVkQ2FjaGUoKS0+cmVt
b3ZlVW5leGVjdXRlZFJhbmdlKG93bmVyRXhlY3V0YWJsZS0+c291cmNlSUQoKSwgb3duZXJFeGVj
dXRhYmxlLT50eXBlUHJvZmlsaW5nU3RhcnRPZmZzZXQoKSwgb3duZXJFeGVjdXRhYmxlLT50eXBl
UHJvZmlsaW5nRW5kT2Zmc2V0KCkpOwogCi0gICAgaWYgKCFzZXRDb25zdGFudFJlZ2lzdGVycyh1
bmxpbmtlZENvZGVCbG9jay0+Y29uc3RhbnRSZWdpc3RlcnMoKSwgdW5saW5rZWRDb2RlQmxvY2st
PmNvbnN0YW50c1NvdXJjZUNvZGVSZXByZXNlbnRhdGlvbigpKSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIHNldENvbnN0YW50UmVnaXN0ZXJzKHVubGlua2VkQ29kZUJsb2NrLT5jb25zdGFu
dFJlZ2lzdGVycygpLCB1bmxpbmtlZENvZGVCbG9jay0+Y29uc3RhbnRzU291cmNlQ29kZVJlcHJl
c2VudGF0aW9uKCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oZXhjZXB0aW9uX3Njb3BlLCBm
YWxzZSk7CiAKLSAgICBpZiAoIXNldENvbnN0YW50SWRlbnRpZmllclNldFJlZ2lzdGVycyh2bSwg
dW5saW5rZWRDb2RlQmxvY2stPmNvbnN0YW50SWRlbnRpZmllclNldHMoKSkpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBzZXRDb25zdGFudElkZW50aWZpZXJTZXRSZWdpc3RlcnModm0sIHVu
bGlua2VkQ29kZUJsb2NrLT5jb25zdGFudElkZW50aWZpZXJTZXRzKCkpOworICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oZXhjZXB0aW9uX3Njb3BlLCBmYWxzZSk7CiAKICAgICBpZiAodW5saW5rZWRD
b2RlQmxvY2stPnVzZXNHbG9iYWxPYmplY3QoKSkKICAgICAgICAgbV9jb25zdGFudFJlZ2lzdGVy
c1t1bmxpbmtlZENvZGVCbG9jay0+Z2xvYmFsT2JqZWN0UmVnaXN0ZXIoKS50b0NvbnN0YW50SW5k
ZXgoKV0uc2V0KCptX3ZtLCB0aGlzLCBtX2dsb2JhbE9iamVjdC5nZXQoKSk7CkBAIC04NjksNyAr
ODcwLDcgQEAgQ29kZUJsb2NrOjp+Q29kZUJsb2NrKCkKICNlbmRpZiAvLyBFTkFCTEUoSklUKQog
fQogCi1ib29sIENvZGVCbG9jazo6c2V0Q29uc3RhbnRJZGVudGlmaWVyU2V0UmVnaXN0ZXJzKFZN
JiB2bSwgY29uc3QgVmVjdG9yPENvbnN0YW50SW5kZW50aWZpZXJTZXRFbnRyeT4mIGNvbnN0YW50
cykKK3ZvaWQgQ29kZUJsb2NrOjpzZXRDb25zdGFudElkZW50aWZpZXJTZXRSZWdpc3RlcnMoVk0m
IHZtLCBjb25zdCBWZWN0b3I8Q29uc3RhbnRJbmRlbnRpZmllclNldEVudHJ5PiYgY29uc3RhbnRz
KQogewogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9nbG9iYWxPYmplY3QuZ2V0KCk7CkBAIC04Nzcs
MjQgKzg3OCwyMSBAQCBib29sIENvZGVCbG9jazo6c2V0Q29uc3RhbnRJZGVudGlmaWVyU2V0CiAK
ICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogY29uc3RhbnRzKSB7CiAgICAgICAgIFN0cnVj
dHVyZSogc2V0U3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKTsKLSAgICAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOworICAgICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCk7CiAgICAgICAgIEpTU2V0KiBqc1NldCA9IEpTU2V0OjpjcmVhdGUo
ZXhlYywgdm0sIHNldFN0cnVjdHVyZSk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIGZhbHNlKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwpOwogCiAgICAg
ICAgIGNvbnN0IElkZW50aWZpZXJTZXQmIHNldCA9IGVudHJ5LmZpcnN0OwogICAgICAgICBmb3Ig
KGF1dG8gc2V0RW50cnkgOiBzZXQpIHsKICAgICAgICAgICAgIEpTU3RyaW5nKiBqc1N0cmluZyA9
IGpzT3duZWRTdHJpbmcoJnZtLCBzZXRFbnRyeS5nZXQoKSk7IAogICAgICAgICAgICAganNTZXQt
PmFkZChleGVjLCBqc1N0cmluZyk7Ci0gICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBmYWxzZSk7CisgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCk7CiAg
ICAgICAgIH0KICAgICAgICAgbV9jb25zdGFudFJlZ2lzdGVyc1tlbnRyeS5zZWNvbmRdLnNldCh2
bSwgdGhpcywganNTZXQpOwogICAgIH0KLSAgICAKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAg
cmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgQ29kZUJsb2NrOjpzZXRDb25zdGFudFJlZ2lzdGVycyhj
b25zdCBWZWN0b3I8V3JpdGVCYXJyaWVyPFVua25vd24+PiYgY29uc3RhbnRzLCBjb25zdCBWZWN0
b3I8U291cmNlQ29kZVJlcHJlc2VudGF0aW9uPiYgY29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2Vu
dGF0aW9uKQordm9pZCBDb2RlQmxvY2s6OnNldENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0IFZlY3Rv
cjxXcml0ZUJhcnJpZXI8VW5rbm93bj4+JiBjb25zdGFudHMsIGNvbnN0IFZlY3RvcjxTb3VyY2VD
b2RlUmVwcmVzZW50YXRpb24+JiBjb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24pCiB7
CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUoKm1fdm0pOwogICAgIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2dsb2JhbE9iamVjdC5nZXQoKTsKQEAgLTkyMSw3
ICs5MTksNyBAQCBib29sIENvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMoY29uCiAgICAg
ICAgICAgICAgICAgY29uc3RhbnQgPSBjbG9uZTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNU
ZW1wbGF0ZVJlZ2lzdHJ5S2V5KCptX3ZtLCBjb25zdGFudCkpIHsKICAgICAgICAgICAgICAgICBh
dXRvKiB0ZW1wbGF0ZU9iamVjdCA9IGdsb2JhbE9iamVjdC0+dGVtcGxhdGVSZWdpc3RyeSgpLmdl
dFRlbXBsYXRlT2JqZWN0KGV4ZWMsIGpzQ2FzdDxKU1RlbXBsYXRlUmVnaXN0cnlLZXkqPihjb25z
dGFudCkpOwotICAgICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNl
KTsKKyAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCk7CiAgICAgICAg
ICAgICAgICAgY29uc3RhbnQgPSB0ZW1wbGF0ZU9iamVjdDsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQpAQCAtOTMwLDggKzkyOCw2IEBAIGJvb2wgQ29kZUJsb2NrOjpzZXRDb25zdGFudFJlZ2lz
dGVycyhjb24KICAgICB9CiAKICAgICBtX2NvbnN0YW50c1NvdXJjZUNvZGVSZXByZXNlbnRhdGlv
biA9IGNvbnN0YW50c1NvdXJjZUNvZGVSZXByZXNlbnRhdGlvbjsKLQotICAgIHJldHVybiB0cnVl
OwogfQogCiB2b2lkIENvZGVCbG9jazo6c2V0QWx0ZXJuYXRpdmUoVk0mIHZtLCBDb2RlQmxvY2sq
IGFsdGVybmF0aXZlKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVC
bG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
QmxvY2suaAkocmV2aXNpb24gMjIwNDIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NvZGVCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC05MTgsOSArOTE4LDkgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgdXBkYXRlQWxsUHJlZGljdGlvbnNBbmRDb3VudExpdmVuZXNzKHVuc2ln
bmVkJiBudW1iZXJPZkxpdmVOb25Bcmd1bWVudFZhbHVlUHJvZmlsZXMsIHVuc2lnbmVkJiBudW1i
ZXJPZlNhbXBsZXNJblByb2ZpbGVzKTsKIAotICAgIGJvb2wgc2V0Q29uc3RhbnRJZGVudGlmaWVy
U2V0UmVnaXN0ZXJzKFZNJiwgY29uc3QgVmVjdG9yPENvbnN0YW50SW5kZW50aWZpZXJTZXRFbnRy
eT4mIGNvbnN0YW50cyk7CisgICAgdm9pZCBzZXRDb25zdGFudElkZW50aWZpZXJTZXRSZWdpc3Rl
cnMoVk0mLCBjb25zdCBWZWN0b3I8Q29uc3RhbnRJbmRlbnRpZmllclNldEVudHJ5PiYgY29uc3Rh
bnRzKTsKIAotICAgIGJvb2wgc2V0Q29uc3RhbnRSZWdpc3RlcnMoY29uc3QgVmVjdG9yPFdyaXRl
QmFycmllcjxVbmtub3duPj4mIGNvbnN0YW50cywgY29uc3QgVmVjdG9yPFNvdXJjZUNvZGVSZXBy
ZXNlbnRhdGlvbj4mIGNvbnN0YW50c1NvdXJjZUNvZGVSZXByZXNlbnRhdGlvbik7CisgICAgdm9p
ZCBzZXRDb25zdGFudFJlZ2lzdGVycyhjb25zdCBWZWN0b3I8V3JpdGVCYXJyaWVyPFVua25vd24+
PiYgY29uc3RhbnRzLCBjb25zdCBWZWN0b3I8U291cmNlQ29kZVJlcHJlc2VudGF0aW9uPiYgY29u
c3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0aW9uKTsKIAogICAgIHZvaWQgcmVwbGFjZUNvbnN0
YW50KGludCBpbmRleCwgSlNWYWx1ZSB2YWx1ZSkKICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TY3JpcHRFeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY3JpcHRFeGVjdXRhYmxlLmNwcAkocmV2aXNpb24g
MjIwNDIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NyaXB0RXhlY3V0YWJs
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4Nyw2ICsxODcsNyBAQCBDb2RlQmxvY2sqIFNjcmlw
dEV4ZWN1dGFibGU6Om5ld0NvZGVCbG9jCiAgICAgICAgIGF1dG8gY29kZUJsb2NrID0gRXZhbENv
ZGVCbG9jazo6Y3JlYXRlKHZtLAogICAgICAgICAgICAgZXhlY3V0YWJsZSwgZXhlY3V0YWJsZS0+
bV91bmxpbmtlZEV2YWxDb2RlQmxvY2suZ2V0KCksIHNjb3BlLAogICAgICAgICAgICAgZXhlY3V0
YWJsZS0+c291cmNlKCkucHJvdmlkZXIoKSk7CisgICAgICAgIEFTU0VSVCh0aHJvd1Njb3BlLmV4
Y2VwdGlvbigpIHx8IGNvZGVCbG9jayk7CiAgICAgICAgIGlmICghY29kZUJsb2NrKSB7CiAgICAg
ICAgICAgICBleGNlcHRpb24gPSB0aHJvd0V4Y2VwdGlvbigKICAgICAgICAgICAgICAgICBleGVj
LCB0aHJvd1Njb3BlLApAQCAtMjA0LDYgKzIwNSw3IEBAIENvZGVCbG9jayogU2NyaXB0RXhlY3V0
YWJsZTo6bmV3Q29kZUJsb2MKICAgICAgICAgYXV0byBjb2RlQmxvY2sgPSBQcm9ncmFtQ29kZUJs
b2NrOjpjcmVhdGUodm0sCiAgICAgICAgICAgICBleGVjdXRhYmxlLCBleGVjdXRhYmxlLT5tX3Vu
bGlua2VkUHJvZ3JhbUNvZGVCbG9jay5nZXQoKSwgc2NvcGUsCiAgICAgICAgICAgICBleGVjdXRh
YmxlLT5zb3VyY2UoKS5wcm92aWRlcigpLCBzdGFydENvbHVtbigpKTsKKyAgICAgICAgQVNTRVJU
KHRocm93U2NvcGUuZXhjZXB0aW9uKCkgfHwgY29kZUJsb2NrKTsKICAgICAgICAgaWYgKCFjb2Rl
QmxvY2spIHsKICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IHRocm93RXhjZXB0aW9uKAogICAgICAg
ICAgICAgICAgIGV4ZWMsIHRocm93U2NvcGUsCkBAIC0yMjEsNiArMjIzLDcgQEAgQ29kZUJsb2Nr
KiBTY3JpcHRFeGVjdXRhYmxlOjpuZXdDb2RlQmxvYwogICAgICAgICBhdXRvIGNvZGVCbG9jayA9
IE1vZHVsZVByb2dyYW1Db2RlQmxvY2s6OmNyZWF0ZSh2bSwKICAgICAgICAgICAgIGV4ZWN1dGFi
bGUsIGV4ZWN1dGFibGUtPm1fdW5saW5rZWRNb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmdldCgpLCBz
Y29wZSwKICAgICAgICAgICAgIGV4ZWN1dGFibGUtPnNvdXJjZSgpLnByb3ZpZGVyKCksIHN0YXJ0
Q29sdW1uKCkpOworICAgICAgICBBU1NFUlQodGhyb3dTY29wZS5leGNlcHRpb24oKSB8fCBjb2Rl
QmxvY2spOwogICAgICAgICBpZiAoIWNvZGVCbG9jaykgewogICAgICAgICAgICAgZXhjZXB0aW9u
ID0gdGhyb3dFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAgZXhlYywgdGhyb3dTY29wZSwKQEAg
LTI1MSw2ICsyNTQsNyBAQCBDb2RlQmxvY2sqIFNjcmlwdEV4ZWN1dGFibGU6Om5ld0NvZGVCbG9j
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAorICAgIHRocm93U2NvcGUucmVsZWFz
ZSgpOwogICAgIHJldHVybiBGdW5jdGlvbkNvZGVCbG9jazo6Y3JlYXRlKHZtLCBleGVjdXRhYmxl
LCB1bmxpbmtlZENvZGVCbG9jaywgc2NvcGUsIAogICAgICAgICBzb3VyY2UoKS5wcm92aWRlcigp
LCBzb3VyY2UoKS5zdGFydE9mZnNldCgpLCBzdGFydENvbHVtbigpKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317631</attachid>
            <date>2017-08-08 15:30:22 -0700</date>
            <delta_ts>2017-08-08 15:43:49 -0700</delta_ts>
            <desc>Same patch, with the whitespace issues fixed</desc>
            <filename>patch-exception-scope</filename>
            <type>text/plain</type>
            <size>8122</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjIwNDIwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDE3LTA4LTA4ICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAg
ICAgICAgTWFrZSBKU0NfdmFsaWRhdGVFeGNlcHRpb25DaGVja3M9MSBzdWNjZWVkIG9uIEpTVGVz
dHMvc2xvd01pY3JvYmVuY2htYXJrcy9zcHJlYWQtc21hbGwtYXJyYXkuanMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUzNDcKKworICAgICAgICBU
aGlzIGlzIGRvbmUgYnkgbWFraW5nIGZpbmlzaENyZWF0aW9uIGV4cGxpY2l0ZWx5IGNoZWNrIGZv
ciBleGNlcHRpb25zIGFmdGVyIHNldENvbnN0YW50UmVnaXN0ZXIgYW5kIHNldENvbnN0YW50SWRl
bnRpZmllcnNTZXRSZWdpc3RlcnMuCisgICAgICAgIEkgY2hvc2UgdG8gaGF2ZSB0aGlzIGNoZWNr
IHJlcGxhY2UgdGhlIGJvb2xlYW4gcmV0dXJuZWQgcHJldmlvdXNseSBieSB0aGVzZSBmdW5jdGlv
bnMgZm9yIHJlYWRhYmlsaXR5LiBUaGUgcGVyZm9ybWFuY2UgaW1wYWN0IHNob3VsZCBiZQorICAg
ICAgICBuZWdsaWdpYmxlIGNvbnNpZGVyaW5nIGhvdyBtdWNoIG1vcmUgZmluaXNoQ3JlYXRpb24g
ZG9lcy4KKyAgICAgICAgVGhpcyBmaXggdGhlbiBjYXVzZWQgYW5vdGhlciBpc3N1ZSB0byBhcHBl
YXIgYXMgaXQgd2FzIG5vdyBjbGVhciB0aGF0IGZpbmlzaENyZWF0aW9uIGNhbiB0aHJvdy4gQW5k
IHNpbmNlIGl0IGlzIGNhbGxlZCBieSBQcm9ncmFtQ29kZUJsb2NrOjpjcmVhdGUoKSwKKyAgICAg
ICAgRnVuY3Rpb25Db2RlQmxvY2s6OmNyZWF0ZSgpIGFuZCBmcmllbmRzLCB0aGF0IGFyZSBpbiB0
dXJuIGNhbGxlZCBieSBTY3JpcHRFeGVjdXRhYmxlOjpuZXdDb2RlQmxvY2tGb3IsIHRoaXMgbGFz
dCBmdW5jdGlvbiBhbHNvIHJlcXVpcmVkIGEgZmV3IHR3ZWFrcy4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6
CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlND
OjpDb2RlQmxvY2s6OnNldENvbnN0YW50SWRlbnRpZmllclNldFJlZ2lzdGVycyk6CisgICAgICAg
IChKU0M6OkNvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMpOgorICAgICAgICAqIGJ5dGVj
b2RlL0NvZGVCbG9jay5oOgorICAgICAgICAqIHJ1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHA6
CisgICAgICAgIChKU0M6OlNjcmlwdEV4ZWN1dGFibGU6Om5ld0NvZGVCbG9ja0Zvcik6CisKIDIw
MTctMDgtMDggIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBCYXNl
bGluZSBKSVQgc2hvdWxkIGRvIGNhZ2luZwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDIyMDQyMCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDEs
MTUgKzQwMSwxNiBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAg
ICAgSlNTY29wZSogc2NvcGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworICAg
IGF1dG8gZXhjZXB0aW9uX3Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKICAgICBp
ZiAodm0udHlwZVByb2ZpbGVyKCkgfHwgdm0uY29udHJvbEZsb3dQcm9maWxlcigpKQogICAgICAg
ICB2bS5mdW5jdGlvbkhhc0V4ZWN1dGVkQ2FjaGUoKS0+cmVtb3ZlVW5leGVjdXRlZFJhbmdlKG93
bmVyRXhlY3V0YWJsZS0+c291cmNlSUQoKSwgb3duZXJFeGVjdXRhYmxlLT50eXBlUHJvZmlsaW5n
U3RhcnRPZmZzZXQoKSwgb3duZXJFeGVjdXRhYmxlLT50eXBlUHJvZmlsaW5nRW5kT2Zmc2V0KCkp
OwogCi0gICAgaWYgKCFzZXRDb25zdGFudFJlZ2lzdGVycyh1bmxpbmtlZENvZGVCbG9jay0+Y29u
c3RhbnRSZWdpc3RlcnMoKSwgdW5saW5rZWRDb2RlQmxvY2stPmNvbnN0YW50c1NvdXJjZUNvZGVS
ZXByZXNlbnRhdGlvbigpKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHNldENvbnN0YW50
UmVnaXN0ZXJzKHVubGlua2VkQ29kZUJsb2NrLT5jb25zdGFudFJlZ2lzdGVycygpLCB1bmxpbmtl
ZENvZGVCbG9jay0+Y29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0aW9uKCkpOworICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oZXhjZXB0aW9uX3Njb3BlLCBmYWxzZSk7CiAKLSAgICBpZiAoIXNl
dENvbnN0YW50SWRlbnRpZmllclNldFJlZ2lzdGVycyh2bSwgdW5saW5rZWRDb2RlQmxvY2stPmNv
bnN0YW50SWRlbnRpZmllclNldHMoKSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBzZXRD
b25zdGFudElkZW50aWZpZXJTZXRSZWdpc3RlcnModm0sIHVubGlua2VkQ29kZUJsb2NrLT5jb25z
dGFudElkZW50aWZpZXJTZXRzKCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oZXhjZXB0aW9u
X3Njb3BlLCBmYWxzZSk7CiAKICAgICBpZiAodW5saW5rZWRDb2RlQmxvY2stPnVzZXNHbG9iYWxP
YmplY3QoKSkKICAgICAgICAgbV9jb25zdGFudFJlZ2lzdGVyc1t1bmxpbmtlZENvZGVCbG9jay0+
Z2xvYmFsT2JqZWN0UmVnaXN0ZXIoKS50b0NvbnN0YW50SW5kZXgoKV0uc2V0KCptX3ZtLCB0aGlz
LCBtX2dsb2JhbE9iamVjdC5nZXQoKSk7CkBAIC04NjksNyArODcwLDcgQEAgQ29kZUJsb2NrOjp+
Q29kZUJsb2NrKCkKICNlbmRpZiAvLyBFTkFCTEUoSklUKQogfQogCi1ib29sIENvZGVCbG9jazo6
c2V0Q29uc3RhbnRJZGVudGlmaWVyU2V0UmVnaXN0ZXJzKFZNJiB2bSwgY29uc3QgVmVjdG9yPENv
bnN0YW50SW5kZW50aWZpZXJTZXRFbnRyeT4mIGNvbnN0YW50cykKK3ZvaWQgQ29kZUJsb2NrOjpz
ZXRDb25zdGFudElkZW50aWZpZXJTZXRSZWdpc3RlcnMoVk0mIHZtLCBjb25zdCBWZWN0b3I8Q29u
c3RhbnRJbmRlbnRpZmllclNldEVudHJ5PiYgY29uc3RhbnRzKQogewogICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0ID0gbV9nbG9iYWxPYmplY3QuZ2V0KCk7CkBAIC04NzcsMjQgKzg3OCwyMSBAQCBib29sIENv
ZGVCbG9jazo6c2V0Q29uc3RhbnRJZGVudGlmaWVyU2V0CiAKICAgICBmb3IgKGNvbnN0IGF1dG8m
IGVudHJ5IDogY29uc3RhbnRzKSB7CiAgICAgICAgIFN0cnVjdHVyZSogc2V0U3RydWN0dXJlID0g
Z2xvYmFsT2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgZmFsc2UpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCApOwog
ICAgICAgICBKU1NldCoganNTZXQgPSBKU1NldDo6Y3JlYXRlKGV4ZWMsIHZtLCBzZXRTdHJ1Y3R1
cmUpOwotICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CisgICAgICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsICk7CiAKICAgICAgICAgY29uc3QgSWRlbnRpZmll
clNldCYgc2V0ID0gZW50cnkuZmlyc3Q7CiAgICAgICAgIGZvciAoYXV0byBzZXRFbnRyeSA6IHNl
dCkgewogICAgICAgICAgICAgSlNTdHJpbmcqIGpzU3RyaW5nID0ganNPd25lZFN0cmluZygmdm0s
IHNldEVudHJ5LmdldCgpKTsgCiAgICAgICAgICAgICBqc1NldC0+YWRkKGV4ZWMsIGpzU3RyaW5n
KTsKLSAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKKyAgICAg
ICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsICk7CiAgICAgICAgIH0KICAgICAgICAg
bV9jb25zdGFudFJlZ2lzdGVyc1tlbnRyeS5zZWNvbmRdLnNldCh2bSwgdGhpcywganNTZXQpOwog
ICAgIH0KLSAgICAKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcmV0dXJuIHRydWU7CiB9CiAK
LWJvb2wgQ29kZUJsb2NrOjpzZXRDb25zdGFudFJlZ2lzdGVycyhjb25zdCBWZWN0b3I8V3JpdGVC
YXJyaWVyPFVua25vd24+PiYgY29uc3RhbnRzLCBjb25zdCBWZWN0b3I8U291cmNlQ29kZVJlcHJl
c2VudGF0aW9uPiYgY29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0aW9uKQordm9pZCBDb2Rl
QmxvY2s6OnNldENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0IFZlY3RvcjxXcml0ZUJhcnJpZXI8VW5r
bm93bj4+JiBjb25zdGFudHMsIGNvbnN0IFZlY3RvcjxTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24+
JiBjb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24pCiB7CiAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUoKm1fdm0pOwogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QgPSBtX2dsb2JhbE9iamVjdC5nZXQoKTsKQEAgLTkyMSw3ICs5MTksNyBAQCBib29sIENv
ZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMoY29uCiAgICAgICAgICAgICAgICAgY29uc3Rh
bnQgPSBjbG9uZTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNUZW1wbGF0ZVJlZ2lzdHJ5S2V5
KCptX3ZtLCBjb25zdGFudCkpIHsKICAgICAgICAgICAgICAgICBhdXRvKiB0ZW1wbGF0ZU9iamVj
dCA9IGdsb2JhbE9iamVjdC0+dGVtcGxhdGVSZWdpc3RyeSgpLmdldFRlbXBsYXRlT2JqZWN0KGV4
ZWMsIGpzQ2FzdDxKU1RlbXBsYXRlUmVnaXN0cnlLZXkqPihjb25zdGFudCkpOwotICAgICAgICAg
ICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKKyAgICAgICAgICAgICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCApOwogICAgICAgICAgICAgICAgIGNvbnN0YW50
ID0gdGVtcGxhdGVPYmplY3Q7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTkzMCw4ICs5
MjgsNiBAQCBib29sIENvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMoY29uCiAgICAgfQog
CiAgICAgbV9jb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24gPSBjb25zdGFudHNTb3Vy
Y2VDb2RlUmVwcmVzZW50YXRpb247Ci0KLSAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBDb2Rl
QmxvY2s6OnNldEFsdGVybmF0aXZlKFZNJiB2bSwgQ29kZUJsb2NrKiBhbHRlcm5hdGl2ZSkKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHJldmlzaW9u
IDIyMDQyMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAko
d29ya2luZyBjb3B5KQpAQCAtOTE4LDkgKzkxOCw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHVw
ZGF0ZUFsbFByZWRpY3Rpb25zQW5kQ291bnRMaXZlbmVzcyh1bnNpZ25lZCYgbnVtYmVyT2ZMaXZl
Tm9uQXJndW1lbnRWYWx1ZVByb2ZpbGVzLCB1bnNpZ25lZCYgbnVtYmVyT2ZTYW1wbGVzSW5Qcm9m
aWxlcyk7CiAKLSAgICBib29sIHNldENvbnN0YW50SWRlbnRpZmllclNldFJlZ2lzdGVycyhWTSYs
IGNvbnN0IFZlY3RvcjxDb25zdGFudEluZGVudGlmaWVyU2V0RW50cnk+JiBjb25zdGFudHMpOwor
ICAgIHZvaWQgc2V0Q29uc3RhbnRJZGVudGlmaWVyU2V0UmVnaXN0ZXJzKFZNJiwgY29uc3QgVmVj
dG9yPENvbnN0YW50SW5kZW50aWZpZXJTZXRFbnRyeT4mIGNvbnN0YW50cyk7CiAKLSAgICBib29s
IHNldENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0IFZlY3RvcjxXcml0ZUJhcnJpZXI8VW5rbm93bj4+
JiBjb25zdGFudHMsIGNvbnN0IFZlY3RvcjxTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24+JiBjb25z
dGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24pOworICAgIHZvaWQgc2V0Q29uc3RhbnRSZWdp
c3RlcnMoY29uc3QgVmVjdG9yPFdyaXRlQmFycmllcjxVbmtub3duPj4mIGNvbnN0YW50cywgY29u
c3QgVmVjdG9yPFNvdXJjZUNvZGVSZXByZXNlbnRhdGlvbj4mIGNvbnN0YW50c1NvdXJjZUNvZGVS
ZXByZXNlbnRhdGlvbik7CiAKICAgICB2b2lkIHJlcGxhY2VDb25zdGFudChpbnQgaW5kZXgsIEpT
VmFsdWUgdmFsdWUpCiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U2NyaXB0RXhlY3V0YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDIyMDQyMCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NjcmlwdEV4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xODcsNiArMTg3LDcgQEAgQ29kZUJsb2NrKiBTY3JpcHRFeGVjdXRhYmxlOjpuZXdD
b2RlQmxvYwogICAgICAgICBhdXRvIGNvZGVCbG9jayA9IEV2YWxDb2RlQmxvY2s6OmNyZWF0ZSh2
bSwKICAgICAgICAgICAgIGV4ZWN1dGFibGUsIGV4ZWN1dGFibGUtPm1fdW5saW5rZWRFdmFsQ29k
ZUJsb2NrLmdldCgpLCBzY29wZSwKICAgICAgICAgICAgIGV4ZWN1dGFibGUtPnNvdXJjZSgpLnBy
b3ZpZGVyKCkpOworICAgICAgICBBU1NFUlQodGhyb3dTY29wZS5leGNlcHRpb24oKSB8fCBjb2Rl
QmxvY2spOwogICAgICAgICBpZiAoIWNvZGVCbG9jaykgewogICAgICAgICAgICAgZXhjZXB0aW9u
ID0gdGhyb3dFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAgZXhlYywgdGhyb3dTY29wZSwKQEAg
LTIwNCw2ICsyMDUsNyBAQCBDb2RlQmxvY2sqIFNjcmlwdEV4ZWN1dGFibGU6Om5ld0NvZGVCbG9j
CiAgICAgICAgIGF1dG8gY29kZUJsb2NrID0gUHJvZ3JhbUNvZGVCbG9jazo6Y3JlYXRlKHZtLAog
ICAgICAgICAgICAgZXhlY3V0YWJsZSwgZXhlY3V0YWJsZS0+bV91bmxpbmtlZFByb2dyYW1Db2Rl
QmxvY2suZ2V0KCksIHNjb3BlLAogICAgICAgICAgICAgZXhlY3V0YWJsZS0+c291cmNlKCkucHJv
dmlkZXIoKSwgc3RhcnRDb2x1bW4oKSk7CisgICAgICAgIEFTU0VSVCh0aHJvd1Njb3BlLmV4Y2Vw
dGlvbigpIHx8IGNvZGVCbG9jayk7CiAgICAgICAgIGlmICghY29kZUJsb2NrKSB7CiAgICAgICAg
ICAgICBleGNlcHRpb24gPSB0aHJvd0V4Y2VwdGlvbigKICAgICAgICAgICAgICAgICBleGVjLCB0
aHJvd1Njb3BlLApAQCAtMjIxLDYgKzIyMyw3IEBAIENvZGVCbG9jayogU2NyaXB0RXhlY3V0YWJs
ZTo6bmV3Q29kZUJsb2MKICAgICAgICAgYXV0byBjb2RlQmxvY2sgPSBNb2R1bGVQcm9ncmFtQ29k
ZUJsb2NrOjpjcmVhdGUodm0sCiAgICAgICAgICAgICBleGVjdXRhYmxlLCBleGVjdXRhYmxlLT5t
X3VubGlua2VkTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5nZXQoKSwgc2NvcGUsCiAgICAgICAgICAg
ICBleGVjdXRhYmxlLT5zb3VyY2UoKS5wcm92aWRlcigpLCBzdGFydENvbHVtbigpKTsKKyAgICAg
ICAgQVNTRVJUKHRocm93U2NvcGUuZXhjZXB0aW9uKCkgfHwgY29kZUJsb2NrKTsKICAgICAgICAg
aWYgKCFjb2RlQmxvY2spIHsKICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IHRocm93RXhjZXB0aW9u
KAogICAgICAgICAgICAgICAgIGV4ZWMsIHRocm93U2NvcGUsCkBAIC0yNTEsNiArMjU0LDcgQEAg
Q29kZUJsb2NrKiBTY3JpcHRFeGVjdXRhYmxlOjpuZXdDb2RlQmxvYwogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICB9CiAKKyAgICB0aHJvd1Njb3BlLnJlbGVhc2UoKTsKICAgICByZXR1cm4g
RnVuY3Rpb25Db2RlQmxvY2s6OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgdW5saW5rZWRDb2RlQmxv
Y2ssIHNjb3BlLCAKICAgICAgICAgc291cmNlKCkucHJvdmlkZXIoKSwgc291cmNlKCkuc3RhcnRP
ZmZzZXQoKSwgc3RhcnRDb2x1bW4oKSk7CiB9Cg==
</data>
<flag name="review"
          id="338149"
          type_id="1"
          status="+"
          setter="saam"
    />
    <flag name="commit-queue"
          id="338150"
          type_id="3"
          status="-"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317634</attachid>
            <date>2017-08-08 15:43:49 -0700</date>
            <delta_ts>2017-08-08 16:10:58 -0700</delta_ts>
            <desc>Same patch, with Changelog fix</desc>
            <filename>patch-exception-scope</filename>
            <type>text/plain</type>
            <size>8119</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjIwNDIwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDE3LTA4LTA4ICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAg
ICAgICAgTWFrZSBKU0NfdmFsaWRhdGVFeGNlcHRpb25DaGVja3M9MSBzdWNjZWVkIG9uIEpTVGVz
dHMvc2xvd01pY3JvYmVuY2htYXJrcy9zcHJlYWQtc21hbGwtYXJyYXkuanMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUzNDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBTYWFtIEJhcmF0aS4KKworICAgICAgICBUaGlzIGlzIGRvbmUgYnkgbWFraW5n
IGZpbmlzaENyZWF0aW9uIGV4cGxpY2l0ZWx5IGNoZWNrIGZvciBleGNlcHRpb25zIGFmdGVyIHNl
dENvbnN0YW50UmVnaXN0ZXIgYW5kIHNldENvbnN0YW50SWRlbnRpZmllcnNTZXRSZWdpc3RlcnMu
CisgICAgICAgIEkgY2hvc2UgdG8gaGF2ZSB0aGlzIGNoZWNrIHJlcGxhY2UgdGhlIGJvb2xlYW4g
cmV0dXJuZWQgcHJldmlvdXNseSBieSB0aGVzZSBmdW5jdGlvbnMgZm9yIHJlYWRhYmlsaXR5LiBU
aGUgcGVyZm9ybWFuY2UgaW1wYWN0IHNob3VsZCBiZQorICAgICAgICBuZWdsaWdpYmxlIGNvbnNp
ZGVyaW5nIGhvdyBtdWNoIG1vcmUgZmluaXNoQ3JlYXRpb24gZG9lcy4KKyAgICAgICAgVGhpcyBm
aXggdGhlbiBjYXVzZWQgYW5vdGhlciBpc3N1ZSB0byBhcHBlYXIgYXMgaXQgd2FzIG5vdyBjbGVh
ciB0aGF0IGZpbmlzaENyZWF0aW9uIGNhbiB0aHJvdy4gQW5kIHNpbmNlIGl0IGlzIGNhbGxlZCBi
eSBQcm9ncmFtQ29kZUJsb2NrOjpjcmVhdGUoKSwKKyAgICAgICAgRnVuY3Rpb25Db2RlQmxvY2s6
OmNyZWF0ZSgpIGFuZCBmcmllbmRzLCB0aGF0IGFyZSBpbiB0dXJuIGNhbGxlZCBieSBTY3JpcHRF
eGVjdXRhYmxlOjpuZXdDb2RlQmxvY2tGb3IsIHRoaXMgbGFzdCBmdW5jdGlvbiBhbHNvIHJlcXVp
cmVkIGEgZmV3IHR3ZWFrcy4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6Cisg
ICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlNDOjpD
b2RlQmxvY2s6OnNldENvbnN0YW50SWRlbnRpZmllclNldFJlZ2lzdGVycyk6CisgICAgICAgIChK
U0M6OkNvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMpOgorICAgICAgICAqIGJ5dGVjb2Rl
L0NvZGVCbG9jay5oOgorICAgICAgICAqIHJ1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHA6Cisg
ICAgICAgIChKU0M6OlNjcmlwdEV4ZWN1dGFibGU6Om5ld0NvZGVCbG9ja0Zvcik6CisKIDIwMTct
MDgtMDggIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBCYXNlbGlu
ZSBKSVQgc2hvdWxkIGRvIGNhZ2luZwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDIyMDQyMCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDEsMTUg
KzQwMSwxNiBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAgICAg
SlNTY29wZSogc2NvcGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworICAgIGF1
dG8gZXhjZXB0aW9uX3Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKICAgICBpZiAo
dm0udHlwZVByb2ZpbGVyKCkgfHwgdm0uY29udHJvbEZsb3dQcm9maWxlcigpKQogICAgICAgICB2
bS5mdW5jdGlvbkhhc0V4ZWN1dGVkQ2FjaGUoKS0+cmVtb3ZlVW5leGVjdXRlZFJhbmdlKG93bmVy
RXhlY3V0YWJsZS0+c291cmNlSUQoKSwgb3duZXJFeGVjdXRhYmxlLT50eXBlUHJvZmlsaW5nU3Rh
cnRPZmZzZXQoKSwgb3duZXJFeGVjdXRhYmxlLT50eXBlUHJvZmlsaW5nRW5kT2Zmc2V0KCkpOwog
Ci0gICAgaWYgKCFzZXRDb25zdGFudFJlZ2lzdGVycyh1bmxpbmtlZENvZGVCbG9jay0+Y29uc3Rh
bnRSZWdpc3RlcnMoKSwgdW5saW5rZWRDb2RlQmxvY2stPmNvbnN0YW50c1NvdXJjZUNvZGVSZXBy
ZXNlbnRhdGlvbigpKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHNldENvbnN0YW50UmVn
aXN0ZXJzKHVubGlua2VkQ29kZUJsb2NrLT5jb25zdGFudFJlZ2lzdGVycygpLCB1bmxpbmtlZENv
ZGVCbG9jay0+Y29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0aW9uKCkpOworICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oZXhjZXB0aW9uX3Njb3BlLCBmYWxzZSk7CiAKLSAgICBpZiAoIXNldENv
bnN0YW50SWRlbnRpZmllclNldFJlZ2lzdGVycyh2bSwgdW5saW5rZWRDb2RlQmxvY2stPmNvbnN0
YW50SWRlbnRpZmllclNldHMoKSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBzZXRDb25z
dGFudElkZW50aWZpZXJTZXRSZWdpc3RlcnModm0sIHVubGlua2VkQ29kZUJsb2NrLT5jb25zdGFu
dElkZW50aWZpZXJTZXRzKCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oZXhjZXB0aW9uX3Nj
b3BlLCBmYWxzZSk7CiAKICAgICBpZiAodW5saW5rZWRDb2RlQmxvY2stPnVzZXNHbG9iYWxPYmpl
Y3QoKSkKICAgICAgICAgbV9jb25zdGFudFJlZ2lzdGVyc1t1bmxpbmtlZENvZGVCbG9jay0+Z2xv
YmFsT2JqZWN0UmVnaXN0ZXIoKS50b0NvbnN0YW50SW5kZXgoKV0uc2V0KCptX3ZtLCB0aGlzLCBt
X2dsb2JhbE9iamVjdC5nZXQoKSk7CkBAIC04NjksNyArODcwLDcgQEAgQ29kZUJsb2NrOjp+Q29k
ZUJsb2NrKCkKICNlbmRpZiAvLyBFTkFCTEUoSklUKQogfQogCi1ib29sIENvZGVCbG9jazo6c2V0
Q29uc3RhbnRJZGVudGlmaWVyU2V0UmVnaXN0ZXJzKFZNJiB2bSwgY29uc3QgVmVjdG9yPENvbnN0
YW50SW5kZW50aWZpZXJTZXRFbnRyeT4mIGNvbnN0YW50cykKK3ZvaWQgQ29kZUJsb2NrOjpzZXRD
b25zdGFudElkZW50aWZpZXJTZXRSZWdpc3RlcnMoVk0mIHZtLCBjb25zdCBWZWN0b3I8Q29uc3Rh
bnRJbmRlbnRpZmllclNldEVudHJ5PiYgY29uc3RhbnRzKQogewogICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
ID0gbV9nbG9iYWxPYmplY3QuZ2V0KCk7CkBAIC04NzcsMjQgKzg3OCwyMSBAQCBib29sIENvZGVC
bG9jazo6c2V0Q29uc3RhbnRJZGVudGlmaWVyU2V0CiAKICAgICBmb3IgKGNvbnN0IGF1dG8mIGVu
dHJ5IDogY29uc3RhbnRzKSB7CiAgICAgICAgIFN0cnVjdHVyZSogc2V0U3RydWN0dXJlID0gZ2xv
YmFsT2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgZmFsc2UpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCApOwogICAg
ICAgICBKU1NldCoganNTZXQgPSBKU1NldDo6Y3JlYXRlKGV4ZWMsIHZtLCBzZXRTdHJ1Y3R1cmUp
OwotICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CisgICAgICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsICk7CiAKICAgICAgICAgY29uc3QgSWRlbnRpZmllclNl
dCYgc2V0ID0gZW50cnkuZmlyc3Q7CiAgICAgICAgIGZvciAoYXV0byBzZXRFbnRyeSA6IHNldCkg
ewogICAgICAgICAgICAgSlNTdHJpbmcqIGpzU3RyaW5nID0ganNPd25lZFN0cmluZygmdm0sIHNl
dEVudHJ5LmdldCgpKTsgCiAgICAgICAgICAgICBqc1NldC0+YWRkKGV4ZWMsIGpzU3RyaW5nKTsK
LSAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKKyAgICAgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsICk7CiAgICAgICAgIH0KICAgICAgICAgbV9j
b25zdGFudFJlZ2lzdGVyc1tlbnRyeS5zZWNvbmRdLnNldCh2bSwgdGhpcywganNTZXQpOwogICAg
IH0KLSAgICAKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcmV0dXJuIHRydWU7CiB9CiAKLWJv
b2wgQ29kZUJsb2NrOjpzZXRDb25zdGFudFJlZ2lzdGVycyhjb25zdCBWZWN0b3I8V3JpdGVCYXJy
aWVyPFVua25vd24+PiYgY29uc3RhbnRzLCBjb25zdCBWZWN0b3I8U291cmNlQ29kZVJlcHJlc2Vu
dGF0aW9uPiYgY29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0aW9uKQordm9pZCBDb2RlQmxv
Y2s6OnNldENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0IFZlY3RvcjxXcml0ZUJhcnJpZXI8VW5rbm93
bj4+JiBjb25zdGFudHMsIGNvbnN0IFZlY3RvcjxTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24+JiBj
b25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24pCiB7CiAgICAgYXV0byBzY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUoKm1fdm0pOwogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBtX2dsb2JhbE9iamVjdC5nZXQoKTsKQEAgLTkyMSw3ICs5MTksNyBAQCBib29sIENvZGVC
bG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMoY29uCiAgICAgICAgICAgICAgICAgY29uc3RhbnQg
PSBjbG9uZTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNUZW1wbGF0ZVJlZ2lzdHJ5S2V5KCpt
X3ZtLCBjb25zdGFudCkpIHsKICAgICAgICAgICAgICAgICBhdXRvKiB0ZW1wbGF0ZU9iamVjdCA9
IGdsb2JhbE9iamVjdC0+dGVtcGxhdGVSZWdpc3RyeSgpLmdldFRlbXBsYXRlT2JqZWN0KGV4ZWMs
IGpzQ2FzdDxKU1RlbXBsYXRlUmVnaXN0cnlLZXkqPihjb25zdGFudCkpOwotICAgICAgICAgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKKyAgICAgICAgICAgICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCApOwogICAgICAgICAgICAgICAgIGNvbnN0YW50ID0g
dGVtcGxhdGVPYmplY3Q7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTkzMCw4ICs5Mjgs
NiBAQCBib29sIENvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMoY29uCiAgICAgfQogCiAg
ICAgbV9jb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24gPSBjb25zdGFudHNTb3VyY2VD
b2RlUmVwcmVzZW50YXRpb247Ci0KLSAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBDb2RlQmxv
Y2s6OnNldEFsdGVybmF0aXZlKFZNJiB2bSwgQ29kZUJsb2NrKiBhbHRlcm5hdGl2ZSkKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHJldmlzaW9uIDIy
MDQyMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAkod29y
a2luZyBjb3B5KQpAQCAtOTE4LDkgKzkxOCw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHVwZGF0
ZUFsbFByZWRpY3Rpb25zQW5kQ291bnRMaXZlbmVzcyh1bnNpZ25lZCYgbnVtYmVyT2ZMaXZlTm9u
QXJndW1lbnRWYWx1ZVByb2ZpbGVzLCB1bnNpZ25lZCYgbnVtYmVyT2ZTYW1wbGVzSW5Qcm9maWxl
cyk7CiAKLSAgICBib29sIHNldENvbnN0YW50SWRlbnRpZmllclNldFJlZ2lzdGVycyhWTSYsIGNv
bnN0IFZlY3RvcjxDb25zdGFudEluZGVudGlmaWVyU2V0RW50cnk+JiBjb25zdGFudHMpOworICAg
IHZvaWQgc2V0Q29uc3RhbnRJZGVudGlmaWVyU2V0UmVnaXN0ZXJzKFZNJiwgY29uc3QgVmVjdG9y
PENvbnN0YW50SW5kZW50aWZpZXJTZXRFbnRyeT4mIGNvbnN0YW50cyk7CiAKLSAgICBib29sIHNl
dENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0IFZlY3RvcjxXcml0ZUJhcnJpZXI8VW5rbm93bj4+JiBj
b25zdGFudHMsIGNvbnN0IFZlY3RvcjxTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24+JiBjb25zdGFu
dHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24pOworICAgIHZvaWQgc2V0Q29uc3RhbnRSZWdpc3Rl
cnMoY29uc3QgVmVjdG9yPFdyaXRlQmFycmllcjxVbmtub3duPj4mIGNvbnN0YW50cywgY29uc3Qg
VmVjdG9yPFNvdXJjZUNvZGVSZXByZXNlbnRhdGlvbj4mIGNvbnN0YW50c1NvdXJjZUNvZGVSZXBy
ZXNlbnRhdGlvbik7CiAKICAgICB2b2lkIHJlcGxhY2VDb25zdGFudChpbnQgaW5kZXgsIEpTVmFs
dWUgdmFsdWUpCiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2Ny
aXB0RXhlY3V0YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDIyMDQyMCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1NjcmlwdEV4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xODcsNiArMTg3LDcgQEAgQ29kZUJsb2NrKiBTY3JpcHRFeGVjdXRhYmxlOjpuZXdDb2Rl
QmxvYwogICAgICAgICBhdXRvIGNvZGVCbG9jayA9IEV2YWxDb2RlQmxvY2s6OmNyZWF0ZSh2bSwK
ICAgICAgICAgICAgIGV4ZWN1dGFibGUsIGV4ZWN1dGFibGUtPm1fdW5saW5rZWRFdmFsQ29kZUJs
b2NrLmdldCgpLCBzY29wZSwKICAgICAgICAgICAgIGV4ZWN1dGFibGUtPnNvdXJjZSgpLnByb3Zp
ZGVyKCkpOworICAgICAgICBBU1NFUlQodGhyb3dTY29wZS5leGNlcHRpb24oKSB8fCBjb2RlQmxv
Y2spOwogICAgICAgICBpZiAoIWNvZGVCbG9jaykgewogICAgICAgICAgICAgZXhjZXB0aW9uID0g
dGhyb3dFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAgZXhlYywgdGhyb3dTY29wZSwKQEAgLTIw
NCw2ICsyMDUsNyBAQCBDb2RlQmxvY2sqIFNjcmlwdEV4ZWN1dGFibGU6Om5ld0NvZGVCbG9jCiAg
ICAgICAgIGF1dG8gY29kZUJsb2NrID0gUHJvZ3JhbUNvZGVCbG9jazo6Y3JlYXRlKHZtLAogICAg
ICAgICAgICAgZXhlY3V0YWJsZSwgZXhlY3V0YWJsZS0+bV91bmxpbmtlZFByb2dyYW1Db2RlQmxv
Y2suZ2V0KCksIHNjb3BlLAogICAgICAgICAgICAgZXhlY3V0YWJsZS0+c291cmNlKCkucHJvdmlk
ZXIoKSwgc3RhcnRDb2x1bW4oKSk7CisgICAgICAgIEFTU0VSVCh0aHJvd1Njb3BlLmV4Y2VwdGlv
bigpIHx8IGNvZGVCbG9jayk7CiAgICAgICAgIGlmICghY29kZUJsb2NrKSB7CiAgICAgICAgICAg
ICBleGNlcHRpb24gPSB0aHJvd0V4Y2VwdGlvbigKICAgICAgICAgICAgICAgICBleGVjLCB0aHJv
d1Njb3BlLApAQCAtMjIxLDYgKzIyMyw3IEBAIENvZGVCbG9jayogU2NyaXB0RXhlY3V0YWJsZTo6
bmV3Q29kZUJsb2MKICAgICAgICAgYXV0byBjb2RlQmxvY2sgPSBNb2R1bGVQcm9ncmFtQ29kZUJs
b2NrOjpjcmVhdGUodm0sCiAgICAgICAgICAgICBleGVjdXRhYmxlLCBleGVjdXRhYmxlLT5tX3Vu
bGlua2VkTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5nZXQoKSwgc2NvcGUsCiAgICAgICAgICAgICBl
eGVjdXRhYmxlLT5zb3VyY2UoKS5wcm92aWRlcigpLCBzdGFydENvbHVtbigpKTsKKyAgICAgICAg
QVNTRVJUKHRocm93U2NvcGUuZXhjZXB0aW9uKCkgfHwgY29kZUJsb2NrKTsKICAgICAgICAgaWYg
KCFjb2RlQmxvY2spIHsKICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IHRocm93RXhjZXB0aW9uKAog
ICAgICAgICAgICAgICAgIGV4ZWMsIHRocm93U2NvcGUsCkBAIC0yNTEsNiArMjU0LDcgQEAgQ29k
ZUJsb2NrKiBTY3JpcHRFeGVjdXRhYmxlOjpuZXdDb2RlQmxvYwogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICB9CiAKKyAgICB0aHJvd1Njb3BlLnJlbGVhc2UoKTsKICAgICByZXR1cm4gRnVu
Y3Rpb25Db2RlQmxvY2s6OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgdW5saW5rZWRDb2RlQmxvY2ss
IHNjb3BlLCAKICAgICAgICAgc291cmNlKCkucHJvdmlkZXIoKSwgc291cmNlKCkuc3RhcnRPZmZz
ZXQoKSwgc3RhcnRDb2x1bW4oKSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317638</attachid>
            <date>2017-08-08 16:10:58 -0700</date>
            <delta_ts>2017-08-08 16:28:05 -0700</delta_ts>
            <desc>Same patch, with Mark&apos;s suggestion</desc>
            <filename>patch-exception-scope</filename>
            <type>text/plain</type>
            <size>8143</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjIwNDIwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDE3LTA4LTA4ICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAg
ICAgICAgTWFrZSBKU0NfdmFsaWRhdGVFeGNlcHRpb25DaGVja3M9MSBzdWNjZWVkIG9uIEpTVGVz
dHMvc2xvd01pY3JvYmVuY2htYXJrcy9zcHJlYWQtc21hbGwtYXJyYXkuanMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUzNDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBTYWFtIEJhcmF0aS4KKworICAgICAgICBUaGlzIGlzIGRvbmUgYnkgbWFraW5n
IGZpbmlzaENyZWF0aW9uIGV4cGxpY2l0ZWx5IGNoZWNrIGZvciBleGNlcHRpb25zIGFmdGVyIHNl
dENvbnN0YW50UmVnaXN0ZXIgYW5kIHNldENvbnN0YW50SWRlbnRpZmllcnNTZXRSZWdpc3RlcnMu
CisgICAgICAgIEkgY2hvc2UgdG8gaGF2ZSB0aGlzIGNoZWNrIHJlcGxhY2UgdGhlIGJvb2xlYW4g
cmV0dXJuZWQgcHJldmlvdXNseSBieSB0aGVzZSBmdW5jdGlvbnMgZm9yIHJlYWRhYmlsaXR5LiBU
aGUgcGVyZm9ybWFuY2UgaW1wYWN0IHNob3VsZCBiZQorICAgICAgICBuZWdsaWdpYmxlIGNvbnNp
ZGVyaW5nIGhvdyBtdWNoIG1vcmUgZmluaXNoQ3JlYXRpb24gZG9lcy4KKyAgICAgICAgVGhpcyBm
aXggdGhlbiBjYXVzZWQgYW5vdGhlciBpc3N1ZSB0byBhcHBlYXIgYXMgaXQgd2FzIG5vdyBjbGVh
ciB0aGF0IGZpbmlzaENyZWF0aW9uIGNhbiB0aHJvdy4gQW5kIHNpbmNlIGl0IGlzIGNhbGxlZCBi
eSBQcm9ncmFtQ29kZUJsb2NrOjpjcmVhdGUoKSwKKyAgICAgICAgRnVuY3Rpb25Db2RlQmxvY2s6
OmNyZWF0ZSgpIGFuZCBmcmllbmRzLCB0aGF0IGFyZSBpbiB0dXJuIGNhbGxlZCBieSBTY3JpcHRF
eGVjdXRhYmxlOjpuZXdDb2RlQmxvY2tGb3IsIHRoaXMgbGFzdCBmdW5jdGlvbiBhbHNvIHJlcXVp
cmVkIGEgZmV3IHR3ZWFrcy4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6Cisg
ICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlNDOjpD
b2RlQmxvY2s6OnNldENvbnN0YW50SWRlbnRpZmllclNldFJlZ2lzdGVycyk6CisgICAgICAgIChK
U0M6OkNvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMpOgorICAgICAgICAqIGJ5dGVjb2Rl
L0NvZGVCbG9jay5oOgorICAgICAgICAqIHJ1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHA6Cisg
ICAgICAgIChKU0M6OlNjcmlwdEV4ZWN1dGFibGU6Om5ld0NvZGVCbG9ja0Zvcik6CisKIDIwMTct
MDgtMDggIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBCYXNlbGlu
ZSBKSVQgc2hvdWxkIGRvIGNhZ2luZwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDIyMDQyMCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDEsMTUg
KzQwMSwxNiBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAgICAg
SlNTY29wZSogc2NvcGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworICAgIGF1
dG8gZXhjZXB0aW9uX3Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKICAgICBpZiAo
dm0udHlwZVByb2ZpbGVyKCkgfHwgdm0uY29udHJvbEZsb3dQcm9maWxlcigpKQogICAgICAgICB2
bS5mdW5jdGlvbkhhc0V4ZWN1dGVkQ2FjaGUoKS0+cmVtb3ZlVW5leGVjdXRlZFJhbmdlKG93bmVy
RXhlY3V0YWJsZS0+c291cmNlSUQoKSwgb3duZXJFeGVjdXRhYmxlLT50eXBlUHJvZmlsaW5nU3Rh
cnRPZmZzZXQoKSwgb3duZXJFeGVjdXRhYmxlLT50eXBlUHJvZmlsaW5nRW5kT2Zmc2V0KCkpOwog
Ci0gICAgaWYgKCFzZXRDb25zdGFudFJlZ2lzdGVycyh1bmxpbmtlZENvZGVCbG9jay0+Y29uc3Rh
bnRSZWdpc3RlcnMoKSwgdW5saW5rZWRDb2RlQmxvY2stPmNvbnN0YW50c1NvdXJjZUNvZGVSZXBy
ZXNlbnRhdGlvbigpKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHNldENvbnN0YW50UmVn
aXN0ZXJzKHVubGlua2VkQ29kZUJsb2NrLT5jb25zdGFudFJlZ2lzdGVycygpLCB1bmxpbmtlZENv
ZGVCbG9jay0+Y29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0aW9uKCkpOworICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oZXhjZXB0aW9uX3Njb3BlLCBmYWxzZSk7CiAKLSAgICBpZiAoIXNldENv
bnN0YW50SWRlbnRpZmllclNldFJlZ2lzdGVycyh2bSwgdW5saW5rZWRDb2RlQmxvY2stPmNvbnN0
YW50SWRlbnRpZmllclNldHMoKSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBzZXRDb25z
dGFudElkZW50aWZpZXJTZXRSZWdpc3RlcnModm0sIHVubGlua2VkQ29kZUJsb2NrLT5jb25zdGFu
dElkZW50aWZpZXJTZXRzKCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oZXhjZXB0aW9uX3Nj
b3BlLCBmYWxzZSk7CiAKICAgICBpZiAodW5saW5rZWRDb2RlQmxvY2stPnVzZXNHbG9iYWxPYmpl
Y3QoKSkKICAgICAgICAgbV9jb25zdGFudFJlZ2lzdGVyc1t1bmxpbmtlZENvZGVCbG9jay0+Z2xv
YmFsT2JqZWN0UmVnaXN0ZXIoKS50b0NvbnN0YW50SW5kZXgoKV0uc2V0KCptX3ZtLCB0aGlzLCBt
X2dsb2JhbE9iamVjdC5nZXQoKSk7CkBAIC04NjksNyArODcwLDcgQEAgQ29kZUJsb2NrOjp+Q29k
ZUJsb2NrKCkKICNlbmRpZiAvLyBFTkFCTEUoSklUKQogfQogCi1ib29sIENvZGVCbG9jazo6c2V0
Q29uc3RhbnRJZGVudGlmaWVyU2V0UmVnaXN0ZXJzKFZNJiB2bSwgY29uc3QgVmVjdG9yPENvbnN0
YW50SW5kZW50aWZpZXJTZXRFbnRyeT4mIGNvbnN0YW50cykKK3ZvaWQgQ29kZUJsb2NrOjpzZXRD
b25zdGFudElkZW50aWZpZXJTZXRSZWdpc3RlcnMoVk0mIHZtLCBjb25zdCBWZWN0b3I8Q29uc3Rh
bnRJbmRlbnRpZmllclNldEVudHJ5PiYgY29uc3RhbnRzKQogewogICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
ID0gbV9nbG9iYWxPYmplY3QuZ2V0KCk7CkBAIC04NzcsMjQgKzg3OCwyMSBAQCBib29sIENvZGVC
bG9jazo6c2V0Q29uc3RhbnRJZGVudGlmaWVyU2V0CiAKICAgICBmb3IgKGNvbnN0IGF1dG8mIGVu
dHJ5IDogY29uc3RhbnRzKSB7CiAgICAgICAgIFN0cnVjdHVyZSogc2V0U3RydWN0dXJlID0gZ2xv
YmFsT2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgZmFsc2UpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkp
OwogICAgICAgICBKU1NldCoganNTZXQgPSBKU1NldDo6Y3JlYXRlKGV4ZWMsIHZtLCBzZXRTdHJ1
Y3R1cmUpOwotICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CisgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAKICAgICAgICAgY29uc3Qg
SWRlbnRpZmllclNldCYgc2V0ID0gZW50cnkuZmlyc3Q7CiAgICAgICAgIGZvciAoYXV0byBzZXRF
bnRyeSA6IHNldCkgewogICAgICAgICAgICAgSlNTdHJpbmcqIGpzU3RyaW5nID0ganNPd25lZFN0
cmluZygmdm0sIHNldEVudHJ5LmdldCgpKTsgCiAgICAgICAgICAgICBqc1NldC0+YWRkKGV4ZWMs
IGpzU3RyaW5nKTsKLSAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNl
KTsKKyAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAgICAg
ICAgIH0KICAgICAgICAgbV9jb25zdGFudFJlZ2lzdGVyc1tlbnRyeS5zZWNvbmRdLnNldCh2bSwg
dGhpcywganNTZXQpOwogICAgIH0KLSAgICAKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcmV0
dXJuIHRydWU7CiB9CiAKLWJvb2wgQ29kZUJsb2NrOjpzZXRDb25zdGFudFJlZ2lzdGVycyhjb25z
dCBWZWN0b3I8V3JpdGVCYXJyaWVyPFVua25vd24+PiYgY29uc3RhbnRzLCBjb25zdCBWZWN0b3I8
U291cmNlQ29kZVJlcHJlc2VudGF0aW9uPiYgY29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0
aW9uKQordm9pZCBDb2RlQmxvY2s6OnNldENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0IFZlY3RvcjxX
cml0ZUJhcnJpZXI8VW5rbm93bj4+JiBjb25zdGFudHMsIGNvbnN0IFZlY3RvcjxTb3VyY2VDb2Rl
UmVwcmVzZW50YXRpb24+JiBjb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24pCiB7CiAg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUoKm1fdm0pOwogICAgIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2dsb2JhbE9iamVjdC5nZXQoKTsKQEAgLTkyMSw3ICs5
MTksNyBAQCBib29sIENvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMoY29uCiAgICAgICAg
ICAgICAgICAgY29uc3RhbnQgPSBjbG9uZTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNUZW1w
bGF0ZVJlZ2lzdHJ5S2V5KCptX3ZtLCBjb25zdGFudCkpIHsKICAgICAgICAgICAgICAgICBhdXRv
KiB0ZW1wbGF0ZU9iamVjdCA9IGdsb2JhbE9iamVjdC0+dGVtcGxhdGVSZWdpc3RyeSgpLmdldFRl
bXBsYXRlT2JqZWN0KGV4ZWMsIGpzQ2FzdDxKU1RlbXBsYXRlUmVnaXN0cnlLZXkqPihjb25zdGFu
dCkpOwotICAgICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsK
KyAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAg
ICAgICAgICAgICAgIGNvbnN0YW50ID0gdGVtcGxhdGVPYmplY3Q7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KQEAgLTkzMCw4ICs5MjgsNiBAQCBib29sIENvZGVCbG9jazo6c2V0Q29uc3RhbnRS
ZWdpc3RlcnMoY29uCiAgICAgfQogCiAgICAgbV9jb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50
YXRpb24gPSBjb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb247Ci0KLSAgICByZXR1cm4g
dHJ1ZTsKIH0KIAogdm9pZCBDb2RlQmxvY2s6OnNldEFsdGVybmF0aXZlKFZNJiB2bSwgQ29kZUJs
b2NrKiBhbHRlcm5hdGl2ZSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmgJKHJldmlzaW9uIDIyMDQyMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Db2RlQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtOTE4LDkgKzkxOCw5IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIHVwZGF0ZUFsbFByZWRpY3Rpb25zQW5kQ291bnRMaXZlbmVzcyh1
bnNpZ25lZCYgbnVtYmVyT2ZMaXZlTm9uQXJndW1lbnRWYWx1ZVByb2ZpbGVzLCB1bnNpZ25lZCYg
bnVtYmVyT2ZTYW1wbGVzSW5Qcm9maWxlcyk7CiAKLSAgICBib29sIHNldENvbnN0YW50SWRlbnRp
ZmllclNldFJlZ2lzdGVycyhWTSYsIGNvbnN0IFZlY3RvcjxDb25zdGFudEluZGVudGlmaWVyU2V0
RW50cnk+JiBjb25zdGFudHMpOworICAgIHZvaWQgc2V0Q29uc3RhbnRJZGVudGlmaWVyU2V0UmVn
aXN0ZXJzKFZNJiwgY29uc3QgVmVjdG9yPENvbnN0YW50SW5kZW50aWZpZXJTZXRFbnRyeT4mIGNv
bnN0YW50cyk7CiAKLSAgICBib29sIHNldENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0IFZlY3RvcjxX
cml0ZUJhcnJpZXI8VW5rbm93bj4+JiBjb25zdGFudHMsIGNvbnN0IFZlY3RvcjxTb3VyY2VDb2Rl
UmVwcmVzZW50YXRpb24+JiBjb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24pOworICAg
IHZvaWQgc2V0Q29uc3RhbnRSZWdpc3RlcnMoY29uc3QgVmVjdG9yPFdyaXRlQmFycmllcjxVbmtu
b3duPj4mIGNvbnN0YW50cywgY29uc3QgVmVjdG9yPFNvdXJjZUNvZGVSZXByZXNlbnRhdGlvbj4m
IGNvbnN0YW50c1NvdXJjZUNvZGVSZXByZXNlbnRhdGlvbik7CiAKICAgICB2b2lkIHJlcGxhY2VD
b25zdGFudChpbnQgaW5kZXgsIEpTVmFsdWUgdmFsdWUpCiAgICAgewpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHAJKHJldmlz
aW9uIDIyMDQyMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NjcmlwdEV4ZWN1
dGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODcsNiArMTg3LDcgQEAgQ29kZUJsb2NrKiBT
Y3JpcHRFeGVjdXRhYmxlOjpuZXdDb2RlQmxvYwogICAgICAgICBhdXRvIGNvZGVCbG9jayA9IEV2
YWxDb2RlQmxvY2s6OmNyZWF0ZSh2bSwKICAgICAgICAgICAgIGV4ZWN1dGFibGUsIGV4ZWN1dGFi
bGUtPm1fdW5saW5rZWRFdmFsQ29kZUJsb2NrLmdldCgpLCBzY29wZSwKICAgICAgICAgICAgIGV4
ZWN1dGFibGUtPnNvdXJjZSgpLnByb3ZpZGVyKCkpOworICAgICAgICBBU1NFUlQodGhyb3dTY29w
ZS5leGNlcHRpb24oKSB8fCBjb2RlQmxvY2spOwogICAgICAgICBpZiAoIWNvZGVCbG9jaykgewog
ICAgICAgICAgICAgZXhjZXB0aW9uID0gdGhyb3dFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAg
ZXhlYywgdGhyb3dTY29wZSwKQEAgLTIwNCw2ICsyMDUsNyBAQCBDb2RlQmxvY2sqIFNjcmlwdEV4
ZWN1dGFibGU6Om5ld0NvZGVCbG9jCiAgICAgICAgIGF1dG8gY29kZUJsb2NrID0gUHJvZ3JhbUNv
ZGVCbG9jazo6Y3JlYXRlKHZtLAogICAgICAgICAgICAgZXhlY3V0YWJsZSwgZXhlY3V0YWJsZS0+
bV91bmxpbmtlZFByb2dyYW1Db2RlQmxvY2suZ2V0KCksIHNjb3BlLAogICAgICAgICAgICAgZXhl
Y3V0YWJsZS0+c291cmNlKCkucHJvdmlkZXIoKSwgc3RhcnRDb2x1bW4oKSk7CisgICAgICAgIEFT
U0VSVCh0aHJvd1Njb3BlLmV4Y2VwdGlvbigpIHx8IGNvZGVCbG9jayk7CiAgICAgICAgIGlmICgh
Y29kZUJsb2NrKSB7CiAgICAgICAgICAgICBleGNlcHRpb24gPSB0aHJvd0V4Y2VwdGlvbigKICAg
ICAgICAgICAgICAgICBleGVjLCB0aHJvd1Njb3BlLApAQCAtMjIxLDYgKzIyMyw3IEBAIENvZGVC
bG9jayogU2NyaXB0RXhlY3V0YWJsZTo6bmV3Q29kZUJsb2MKICAgICAgICAgYXV0byBjb2RlQmxv
Y2sgPSBNb2R1bGVQcm9ncmFtQ29kZUJsb2NrOjpjcmVhdGUodm0sCiAgICAgICAgICAgICBleGVj
dXRhYmxlLCBleGVjdXRhYmxlLT5tX3VubGlua2VkTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5nZXQo
KSwgc2NvcGUsCiAgICAgICAgICAgICBleGVjdXRhYmxlLT5zb3VyY2UoKS5wcm92aWRlcigpLCBz
dGFydENvbHVtbigpKTsKKyAgICAgICAgQVNTRVJUKHRocm93U2NvcGUuZXhjZXB0aW9uKCkgfHwg
Y29kZUJsb2NrKTsKICAgICAgICAgaWYgKCFjb2RlQmxvY2spIHsKICAgICAgICAgICAgIGV4Y2Vw
dGlvbiA9IHRocm93RXhjZXB0aW9uKAogICAgICAgICAgICAgICAgIGV4ZWMsIHRocm93U2NvcGUs
CkBAIC0yNTEsNiArMjU0LDcgQEAgQ29kZUJsb2NrKiBTY3JpcHRFeGVjdXRhYmxlOjpuZXdDb2Rl
QmxvYwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKKyAgICB0aHJvd1Njb3BlLnJl
bGVhc2UoKTsKICAgICByZXR1cm4gRnVuY3Rpb25Db2RlQmxvY2s6OmNyZWF0ZSh2bSwgZXhlY3V0
YWJsZSwgdW5saW5rZWRDb2RlQmxvY2ssIHNjb3BlLCAKICAgICAgICAgc291cmNlKCkucHJvdmlk
ZXIoKSwgc291cmNlKCkuc3RhcnRPZmZzZXQoKSwgc3RhcnRDb2x1bW4oKSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317641</attachid>
            <date>2017-08-08 16:28:05 -0700</date>
            <delta_ts>2017-08-08 16:44:23 -0700</delta_ts>
            <desc>exception_scope =&gt; exceptionScope, as suggested by Mark</desc>
            <filename>patch-exception-scope</filename>
            <type>text/plain</type>
            <size>8140</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjIwNDIwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDE3LTA4LTA4ICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAg
ICAgICAgTWFrZSBKU0NfdmFsaWRhdGVFeGNlcHRpb25DaGVja3M9MSBzdWNjZWVkIG9uIEpTVGVz
dHMvc2xvd01pY3JvYmVuY2htYXJrcy9zcHJlYWQtc21hbGwtYXJyYXkuanMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUzNDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBTYWFtIEJhcmF0aS4KKworICAgICAgICBUaGlzIGlzIGRvbmUgYnkgbWFraW5n
IGZpbmlzaENyZWF0aW9uIGV4cGxpY2l0ZWx5IGNoZWNrIGZvciBleGNlcHRpb25zIGFmdGVyIHNl
dENvbnN0YW50UmVnaXN0ZXIgYW5kIHNldENvbnN0YW50SWRlbnRpZmllcnNTZXRSZWdpc3RlcnMu
CisgICAgICAgIEkgY2hvc2UgdG8gaGF2ZSB0aGlzIGNoZWNrIHJlcGxhY2UgdGhlIGJvb2xlYW4g
cmV0dXJuZWQgcHJldmlvdXNseSBieSB0aGVzZSBmdW5jdGlvbnMgZm9yIHJlYWRhYmlsaXR5LiBU
aGUgcGVyZm9ybWFuY2UgaW1wYWN0IHNob3VsZCBiZQorICAgICAgICBuZWdsaWdpYmxlIGNvbnNp
ZGVyaW5nIGhvdyBtdWNoIG1vcmUgZmluaXNoQ3JlYXRpb24gZG9lcy4KKyAgICAgICAgVGhpcyBm
aXggdGhlbiBjYXVzZWQgYW5vdGhlciBpc3N1ZSB0byBhcHBlYXIgYXMgaXQgd2FzIG5vdyBjbGVh
ciB0aGF0IGZpbmlzaENyZWF0aW9uIGNhbiB0aHJvdy4gQW5kIHNpbmNlIGl0IGlzIGNhbGxlZCBi
eSBQcm9ncmFtQ29kZUJsb2NrOjpjcmVhdGUoKSwKKyAgICAgICAgRnVuY3Rpb25Db2RlQmxvY2s6
OmNyZWF0ZSgpIGFuZCBmcmllbmRzLCB0aGF0IGFyZSBpbiB0dXJuIGNhbGxlZCBieSBTY3JpcHRF
eGVjdXRhYmxlOjpuZXdDb2RlQmxvY2tGb3IsIHRoaXMgbGFzdCBmdW5jdGlvbiBhbHNvIHJlcXVp
cmVkIGEgZmV3IHR3ZWFrcy4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6Cisg
ICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlNDOjpD
b2RlQmxvY2s6OnNldENvbnN0YW50SWRlbnRpZmllclNldFJlZ2lzdGVycyk6CisgICAgICAgIChK
U0M6OkNvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMpOgorICAgICAgICAqIGJ5dGVjb2Rl
L0NvZGVCbG9jay5oOgorICAgICAgICAqIHJ1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHA6Cisg
ICAgICAgIChKU0M6OlNjcmlwdEV4ZWN1dGFibGU6Om5ld0NvZGVCbG9ja0Zvcik6CisKIDIwMTct
MDgtMDggIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBCYXNlbGlu
ZSBKSVQgc2hvdWxkIGRvIGNhZ2luZwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDIyMDQyMCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDEsMTUg
KzQwMSwxNiBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAgICAg
SlNTY29wZSogc2NvcGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworICAgIGF1
dG8gZXhjZXB0aW9uU2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAogICAgIGlmICh2
bS50eXBlUHJvZmlsZXIoKSB8fCB2bS5jb250cm9sRmxvd1Byb2ZpbGVyKCkpCiAgICAgICAgIHZt
LmZ1bmN0aW9uSGFzRXhlY3V0ZWRDYWNoZSgpLT5yZW1vdmVVbmV4ZWN1dGVkUmFuZ2Uob3duZXJF
eGVjdXRhYmxlLT5zb3VyY2VJRCgpLCBvd25lckV4ZWN1dGFibGUtPnR5cGVQcm9maWxpbmdTdGFy
dE9mZnNldCgpLCBvd25lckV4ZWN1dGFibGUtPnR5cGVQcm9maWxpbmdFbmRPZmZzZXQoKSk7CiAK
LSAgICBpZiAoIXNldENvbnN0YW50UmVnaXN0ZXJzKHVubGlua2VkQ29kZUJsb2NrLT5jb25zdGFu
dFJlZ2lzdGVycygpLCB1bmxpbmtlZENvZGVCbG9jay0+Y29uc3RhbnRzU291cmNlQ29kZVJlcHJl
c2VudGF0aW9uKCkpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgc2V0Q29uc3RhbnRSZWdp
c3RlcnModW5saW5rZWRDb2RlQmxvY2stPmNvbnN0YW50UmVnaXN0ZXJzKCksIHVubGlua2VkQ29k
ZUJsb2NrLT5jb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24oKSk7CisgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihleGNlcHRpb25TY29wZSwgZmFsc2UpOwogCi0gICAgaWYgKCFzZXRDb25z
dGFudElkZW50aWZpZXJTZXRSZWdpc3RlcnModm0sIHVubGlua2VkQ29kZUJsb2NrLT5jb25zdGFu
dElkZW50aWZpZXJTZXRzKCkpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgc2V0Q29uc3Rh
bnRJZGVudGlmaWVyU2V0UmVnaXN0ZXJzKHZtLCB1bmxpbmtlZENvZGVCbG9jay0+Y29uc3RhbnRJ
ZGVudGlmaWVyU2V0cygpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKGV4Y2VwdGlvblNjb3Bl
LCBmYWxzZSk7CiAKICAgICBpZiAodW5saW5rZWRDb2RlQmxvY2stPnVzZXNHbG9iYWxPYmplY3Qo
KSkKICAgICAgICAgbV9jb25zdGFudFJlZ2lzdGVyc1t1bmxpbmtlZENvZGVCbG9jay0+Z2xvYmFs
T2JqZWN0UmVnaXN0ZXIoKS50b0NvbnN0YW50SW5kZXgoKV0uc2V0KCptX3ZtLCB0aGlzLCBtX2ds
b2JhbE9iamVjdC5nZXQoKSk7CkBAIC04NjksNyArODcwLDcgQEAgQ29kZUJsb2NrOjp+Q29kZUJs
b2NrKCkKICNlbmRpZiAvLyBFTkFCTEUoSklUKQogfQogCi1ib29sIENvZGVCbG9jazo6c2V0Q29u
c3RhbnRJZGVudGlmaWVyU2V0UmVnaXN0ZXJzKFZNJiB2bSwgY29uc3QgVmVjdG9yPENvbnN0YW50
SW5kZW50aWZpZXJTZXRFbnRyeT4mIGNvbnN0YW50cykKK3ZvaWQgQ29kZUJsb2NrOjpzZXRDb25z
dGFudElkZW50aWZpZXJTZXRSZWdpc3RlcnMoVk0mIHZtLCBjb25zdCBWZWN0b3I8Q29uc3RhbnRJ
bmRlbnRpZmllclNldEVudHJ5PiYgY29uc3RhbnRzKQogewogICAgIGF1dG8gc2NvcGUgPSBERUNM
QVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
bV9nbG9iYWxPYmplY3QuZ2V0KCk7CkBAIC04NzcsMjQgKzg3OCwyMSBAQCBib29sIENvZGVCbG9j
azo6c2V0Q29uc3RhbnRJZGVudGlmaWVyU2V0CiAKICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5
IDogY29uc3RhbnRzKSB7CiAgICAgICAgIFN0cnVjdHVyZSogc2V0U3RydWN0dXJlID0gZ2xvYmFs
T2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgZmFsc2UpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwog
ICAgICAgICBKU1NldCoganNTZXQgPSBKU1NldDo6Y3JlYXRlKGV4ZWMsIHZtLCBzZXRTdHJ1Y3R1
cmUpOwotICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CisgICAgICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAKICAgICAgICAgY29uc3QgSWRl
bnRpZmllclNldCYgc2V0ID0gZW50cnkuZmlyc3Q7CiAgICAgICAgIGZvciAoYXV0byBzZXRFbnRy
eSA6IHNldCkgewogICAgICAgICAgICAgSlNTdHJpbmcqIGpzU3RyaW5nID0ganNPd25lZFN0cmlu
Zygmdm0sIHNldEVudHJ5LmdldCgpKTsgCiAgICAgICAgICAgICBqc1NldC0+YWRkKGV4ZWMsIGpz
U3RyaW5nKTsKLSAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsK
KyAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAgICAgICAg
IH0KICAgICAgICAgbV9jb25zdGFudFJlZ2lzdGVyc1tlbnRyeS5zZWNvbmRdLnNldCh2bSwgdGhp
cywganNTZXQpOwogICAgIH0KLSAgICAKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcmV0dXJu
IHRydWU7CiB9CiAKLWJvb2wgQ29kZUJsb2NrOjpzZXRDb25zdGFudFJlZ2lzdGVycyhjb25zdCBW
ZWN0b3I8V3JpdGVCYXJyaWVyPFVua25vd24+PiYgY29uc3RhbnRzLCBjb25zdCBWZWN0b3I8U291
cmNlQ29kZVJlcHJlc2VudGF0aW9uPiYgY29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0aW9u
KQordm9pZCBDb2RlQmxvY2s6OnNldENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0IFZlY3RvcjxXcml0
ZUJhcnJpZXI8VW5rbm93bj4+JiBjb25zdGFudHMsIGNvbnN0IFZlY3RvcjxTb3VyY2VDb2RlUmVw
cmVzZW50YXRpb24+JiBjb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24pCiB7CiAgICAg
YXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUoKm1fdm0pOwogICAgIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QgPSBtX2dsb2JhbE9iamVjdC5nZXQoKTsKQEAgLTkyMSw3ICs5MTks
NyBAQCBib29sIENvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMoY29uCiAgICAgICAgICAg
ICAgICAgY29uc3RhbnQgPSBjbG9uZTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNUZW1wbGF0
ZVJlZ2lzdHJ5S2V5KCptX3ZtLCBjb25zdGFudCkpIHsKICAgICAgICAgICAgICAgICBhdXRvKiB0
ZW1wbGF0ZU9iamVjdCA9IGdsb2JhbE9iamVjdC0+dGVtcGxhdGVSZWdpc3RyeSgpLmdldFRlbXBs
YXRlT2JqZWN0KGV4ZWMsIGpzQ2FzdDxKU1RlbXBsYXRlUmVnaXN0cnlLZXkqPihjb25zdGFudCkp
OwotICAgICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKKyAg
ICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgICAg
ICAgICAgICAgIGNvbnN0YW50ID0gdGVtcGxhdGVPYmplY3Q7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KQEAgLTkzMCw4ICs5MjgsNiBAQCBib29sIENvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdp
c3RlcnMoY29uCiAgICAgfQogCiAgICAgbV9jb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRp
b24gPSBjb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb247Ci0KLSAgICByZXR1cm4gdHJ1
ZTsKIH0KIAogdm9pZCBDb2RlQmxvY2s6OnNldEFsdGVybmF0aXZlKFZNJiB2bSwgQ29kZUJsb2Nr
KiBhbHRlcm5hdGl2ZSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
QmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmgJKHJldmlzaW9uIDIyMDQyMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtOTE4LDkgKzkxOCw5IEBAIHByaXZh
dGU6CiAKICAgICB2b2lkIHVwZGF0ZUFsbFByZWRpY3Rpb25zQW5kQ291bnRMaXZlbmVzcyh1bnNp
Z25lZCYgbnVtYmVyT2ZMaXZlTm9uQXJndW1lbnRWYWx1ZVByb2ZpbGVzLCB1bnNpZ25lZCYgbnVt
YmVyT2ZTYW1wbGVzSW5Qcm9maWxlcyk7CiAKLSAgICBib29sIHNldENvbnN0YW50SWRlbnRpZmll
clNldFJlZ2lzdGVycyhWTSYsIGNvbnN0IFZlY3RvcjxDb25zdGFudEluZGVudGlmaWVyU2V0RW50
cnk+JiBjb25zdGFudHMpOworICAgIHZvaWQgc2V0Q29uc3RhbnRJZGVudGlmaWVyU2V0UmVnaXN0
ZXJzKFZNJiwgY29uc3QgVmVjdG9yPENvbnN0YW50SW5kZW50aWZpZXJTZXRFbnRyeT4mIGNvbnN0
YW50cyk7CiAKLSAgICBib29sIHNldENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0IFZlY3RvcjxXcml0
ZUJhcnJpZXI8VW5rbm93bj4+JiBjb25zdGFudHMsIGNvbnN0IFZlY3RvcjxTb3VyY2VDb2RlUmVw
cmVzZW50YXRpb24+JiBjb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24pOworICAgIHZv
aWQgc2V0Q29uc3RhbnRSZWdpc3RlcnMoY29uc3QgVmVjdG9yPFdyaXRlQmFycmllcjxVbmtub3du
Pj4mIGNvbnN0YW50cywgY29uc3QgVmVjdG9yPFNvdXJjZUNvZGVSZXByZXNlbnRhdGlvbj4mIGNv
bnN0YW50c1NvdXJjZUNvZGVSZXByZXNlbnRhdGlvbik7CiAKICAgICB2b2lkIHJlcGxhY2VDb25z
dGFudChpbnQgaW5kZXgsIEpTVmFsdWUgdmFsdWUpCiAgICAgewpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHAJKHJldmlzaW9u
IDIyMDQyMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NjcmlwdEV4ZWN1dGFi
bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODcsNiArMTg3LDcgQEAgQ29kZUJsb2NrKiBTY3Jp
cHRFeGVjdXRhYmxlOjpuZXdDb2RlQmxvYwogICAgICAgICBhdXRvIGNvZGVCbG9jayA9IEV2YWxD
b2RlQmxvY2s6OmNyZWF0ZSh2bSwKICAgICAgICAgICAgIGV4ZWN1dGFibGUsIGV4ZWN1dGFibGUt
Pm1fdW5saW5rZWRFdmFsQ29kZUJsb2NrLmdldCgpLCBzY29wZSwKICAgICAgICAgICAgIGV4ZWN1
dGFibGUtPnNvdXJjZSgpLnByb3ZpZGVyKCkpOworICAgICAgICBBU1NFUlQodGhyb3dTY29wZS5l
eGNlcHRpb24oKSB8fCBjb2RlQmxvY2spOwogICAgICAgICBpZiAoIWNvZGVCbG9jaykgewogICAg
ICAgICAgICAgZXhjZXB0aW9uID0gdGhyb3dFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAgZXhl
YywgdGhyb3dTY29wZSwKQEAgLTIwNCw2ICsyMDUsNyBAQCBDb2RlQmxvY2sqIFNjcmlwdEV4ZWN1
dGFibGU6Om5ld0NvZGVCbG9jCiAgICAgICAgIGF1dG8gY29kZUJsb2NrID0gUHJvZ3JhbUNvZGVC
bG9jazo6Y3JlYXRlKHZtLAogICAgICAgICAgICAgZXhlY3V0YWJsZSwgZXhlY3V0YWJsZS0+bV91
bmxpbmtlZFByb2dyYW1Db2RlQmxvY2suZ2V0KCksIHNjb3BlLAogICAgICAgICAgICAgZXhlY3V0
YWJsZS0+c291cmNlKCkucHJvdmlkZXIoKSwgc3RhcnRDb2x1bW4oKSk7CisgICAgICAgIEFTU0VS
VCh0aHJvd1Njb3BlLmV4Y2VwdGlvbigpIHx8IGNvZGVCbG9jayk7CiAgICAgICAgIGlmICghY29k
ZUJsb2NrKSB7CiAgICAgICAgICAgICBleGNlcHRpb24gPSB0aHJvd0V4Y2VwdGlvbigKICAgICAg
ICAgICAgICAgICBleGVjLCB0aHJvd1Njb3BlLApAQCAtMjIxLDYgKzIyMyw3IEBAIENvZGVCbG9j
ayogU2NyaXB0RXhlY3V0YWJsZTo6bmV3Q29kZUJsb2MKICAgICAgICAgYXV0byBjb2RlQmxvY2sg
PSBNb2R1bGVQcm9ncmFtQ29kZUJsb2NrOjpjcmVhdGUodm0sCiAgICAgICAgICAgICBleGVjdXRh
YmxlLCBleGVjdXRhYmxlLT5tX3VubGlua2VkTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5nZXQoKSwg
c2NvcGUsCiAgICAgICAgICAgICBleGVjdXRhYmxlLT5zb3VyY2UoKS5wcm92aWRlcigpLCBzdGFy
dENvbHVtbigpKTsKKyAgICAgICAgQVNTRVJUKHRocm93U2NvcGUuZXhjZXB0aW9uKCkgfHwgY29k
ZUJsb2NrKTsKICAgICAgICAgaWYgKCFjb2RlQmxvY2spIHsKICAgICAgICAgICAgIGV4Y2VwdGlv
biA9IHRocm93RXhjZXB0aW9uKAogICAgICAgICAgICAgICAgIGV4ZWMsIHRocm93U2NvcGUsCkBA
IC0yNTEsNiArMjU0LDcgQEAgQ29kZUJsb2NrKiBTY3JpcHRFeGVjdXRhYmxlOjpuZXdDb2RlQmxv
YwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKKyAgICB0aHJvd1Njb3BlLnJlbGVh
c2UoKTsKICAgICByZXR1cm4gRnVuY3Rpb25Db2RlQmxvY2s6OmNyZWF0ZSh2bSwgZXhlY3V0YWJs
ZSwgdW5saW5rZWRDb2RlQmxvY2ssIHNjb3BlLCAKICAgICAgICAgc291cmNlKCkucHJvdmlkZXIo
KSwgc291cmNlKCkuc3RhcnRPZmZzZXQoKSwgc3RhcnRDb2x1bW4oKSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317648</attachid>
            <date>2017-08-08 16:44:23 -0700</date>
            <delta_ts>2017-08-08 17:26:07 -0700</delta_ts>
            <desc>exceptionScope =&gt; throwScope</desc>
            <filename>patch-exception-scope</filename>
            <type>text/plain</type>
            <size>8128</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjIwNDIwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDE3LTA4LTA4ICBSb2JpbiBNb3Jpc3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAg
ICAgICAgTWFrZSBKU0NfdmFsaWRhdGVFeGNlcHRpb25DaGVja3M9MSBzdWNjZWVkIG9uIEpTVGVz
dHMvc2xvd01pY3JvYmVuY2htYXJrcy9zcHJlYWQtc21hbGwtYXJyYXkuanMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUzNDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBTYWFtIEJhcmF0aS4KKworICAgICAgICBUaGlzIGlzIGRvbmUgYnkgbWFraW5n
IGZpbmlzaENyZWF0aW9uIGV4cGxpY2l0ZWx5IGNoZWNrIGZvciBleGNlcHRpb25zIGFmdGVyIHNl
dENvbnN0YW50UmVnaXN0ZXIgYW5kIHNldENvbnN0YW50SWRlbnRpZmllcnNTZXRSZWdpc3RlcnMu
CisgICAgICAgIEkgY2hvc2UgdG8gaGF2ZSB0aGlzIGNoZWNrIHJlcGxhY2UgdGhlIGJvb2xlYW4g
cmV0dXJuZWQgcHJldmlvdXNseSBieSB0aGVzZSBmdW5jdGlvbnMgZm9yIHJlYWRhYmlsaXR5LiBU
aGUgcGVyZm9ybWFuY2UgaW1wYWN0IHNob3VsZCBiZQorICAgICAgICBuZWdsaWdpYmxlIGNvbnNp
ZGVyaW5nIGhvdyBtdWNoIG1vcmUgZmluaXNoQ3JlYXRpb24gZG9lcy4KKyAgICAgICAgVGhpcyBm
aXggdGhlbiBjYXVzZWQgYW5vdGhlciBpc3N1ZSB0byBhcHBlYXIgYXMgaXQgd2FzIG5vdyBjbGVh
ciB0aGF0IGZpbmlzaENyZWF0aW9uIGNhbiB0aHJvdy4gQW5kIHNpbmNlIGl0IGlzIGNhbGxlZCBi
eSBQcm9ncmFtQ29kZUJsb2NrOjpjcmVhdGUoKSwKKyAgICAgICAgRnVuY3Rpb25Db2RlQmxvY2s6
OmNyZWF0ZSgpIGFuZCBmcmllbmRzLCB0aGF0IGFyZSBpbiB0dXJuIGNhbGxlZCBieSBTY3JpcHRF
eGVjdXRhYmxlOjpuZXdDb2RlQmxvY2tGb3IsIHRoaXMgbGFzdCBmdW5jdGlvbiBhbHNvIHJlcXVp
cmVkIGEgZmV3IHR3ZWFrcy4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6Cisg
ICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlNDOjpD
b2RlQmxvY2s6OnNldENvbnN0YW50SWRlbnRpZmllclNldFJlZ2lzdGVycyk6CisgICAgICAgIChK
U0M6OkNvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMpOgorICAgICAgICAqIGJ5dGVjb2Rl
L0NvZGVCbG9jay5oOgorICAgICAgICAqIHJ1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHA6Cisg
ICAgICAgIChKU0M6OlNjcmlwdEV4ZWN1dGFibGU6Om5ld0NvZGVCbG9ja0Zvcik6CisKIDIwMTct
MDgtMDggIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBCYXNlbGlu
ZSBKSVQgc2hvdWxkIGRvIGNhZ2luZwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDIyMDQyMCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDEsMTUg
KzQwMSwxNiBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAgICAg
SlNTY29wZSogc2NvcGUpCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworICAgIGF1
dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCiAgICAgaWYgKHZtLnR5
cGVQcm9maWxlcigpIHx8IHZtLmNvbnRyb2xGbG93UHJvZmlsZXIoKSkKICAgICAgICAgdm0uZnVu
Y3Rpb25IYXNFeGVjdXRlZENhY2hlKCktPnJlbW92ZVVuZXhlY3V0ZWRSYW5nZShvd25lckV4ZWN1
dGFibGUtPnNvdXJjZUlEKCksIG93bmVyRXhlY3V0YWJsZS0+dHlwZVByb2ZpbGluZ1N0YXJ0T2Zm
c2V0KCksIG93bmVyRXhlY3V0YWJsZS0+dHlwZVByb2ZpbGluZ0VuZE9mZnNldCgpKTsKIAotICAg
IGlmICghc2V0Q29uc3RhbnRSZWdpc3RlcnModW5saW5rZWRDb2RlQmxvY2stPmNvbnN0YW50UmVn
aXN0ZXJzKCksIHVubGlua2VkQ29kZUJsb2NrLT5jb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50
YXRpb24oKSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBzZXRDb25zdGFudFJlZ2lzdGVy
cyh1bmxpbmtlZENvZGVCbG9jay0+Y29uc3RhbnRSZWdpc3RlcnMoKSwgdW5saW5rZWRDb2RlQmxv
Y2stPmNvbnN0YW50c1NvdXJjZUNvZGVSZXByZXNlbnRhdGlvbigpKTsKKyAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKIAotICAgIGlmICghc2V0Q29uc3RhbnRJZGVu
dGlmaWVyU2V0UmVnaXN0ZXJzKHZtLCB1bmxpbmtlZENvZGVCbG9jay0+Y29uc3RhbnRJZGVudGlm
aWVyU2V0cygpKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHNldENvbnN0YW50SWRlbnRp
ZmllclNldFJlZ2lzdGVycyh2bSwgdW5saW5rZWRDb2RlQmxvY2stPmNvbnN0YW50SWRlbnRpZmll
clNldHMoKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7CiAK
ICAgICBpZiAodW5saW5rZWRDb2RlQmxvY2stPnVzZXNHbG9iYWxPYmplY3QoKSkKICAgICAgICAg
bV9jb25zdGFudFJlZ2lzdGVyc1t1bmxpbmtlZENvZGVCbG9jay0+Z2xvYmFsT2JqZWN0UmVnaXN0
ZXIoKS50b0NvbnN0YW50SW5kZXgoKV0uc2V0KCptX3ZtLCB0aGlzLCBtX2dsb2JhbE9iamVjdC5n
ZXQoKSk7CkBAIC04NjksNyArODcwLDcgQEAgQ29kZUJsb2NrOjp+Q29kZUJsb2NrKCkKICNlbmRp
ZiAvLyBFTkFCTEUoSklUKQogfQogCi1ib29sIENvZGVCbG9jazo6c2V0Q29uc3RhbnRJZGVudGlm
aWVyU2V0UmVnaXN0ZXJzKFZNJiB2bSwgY29uc3QgVmVjdG9yPENvbnN0YW50SW5kZW50aWZpZXJT
ZXRFbnRyeT4mIGNvbnN0YW50cykKK3ZvaWQgQ29kZUJsb2NrOjpzZXRDb25zdGFudElkZW50aWZp
ZXJTZXRSZWdpc3RlcnMoVk0mIHZtLCBjb25zdCBWZWN0b3I8Q29uc3RhbnRJbmRlbnRpZmllclNl
dEVudHJ5PiYgY29uc3RhbnRzKQogewogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9nbG9iYWxPYmpl
Y3QuZ2V0KCk7CkBAIC04NzcsMjQgKzg3OCwyMSBAQCBib29sIENvZGVCbG9jazo6c2V0Q29uc3Rh
bnRJZGVudGlmaWVyU2V0CiAKICAgICBmb3IgKGNvbnN0IGF1dG8mIGVudHJ5IDogY29uc3RhbnRz
KSB7CiAgICAgICAgIFN0cnVjdHVyZSogc2V0U3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5zZXRT
dHJ1Y3R1cmUoKTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwor
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgICAgICBKU1Nl
dCoganNTZXQgPSBKU1NldDo6Y3JlYXRlKGV4ZWMsIHZtLCBzZXRTdHJ1Y3R1cmUpOwotICAgICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CisgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAKICAgICAgICAgY29uc3QgSWRlbnRpZmllclNldCYg
c2V0ID0gZW50cnkuZmlyc3Q7CiAgICAgICAgIGZvciAoYXV0byBzZXRFbnRyeSA6IHNldCkgewog
ICAgICAgICAgICAgSlNTdHJpbmcqIGpzU3RyaW5nID0ganNPd25lZFN0cmluZygmdm0sIHNldEVu
dHJ5LmdldCgpKTsgCiAgICAgICAgICAgICBqc1NldC0+YWRkKGV4ZWMsIGpzU3RyaW5nKTsKLSAg
ICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKKyAgICAgICAgICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CiAgICAgICAgIH0KICAgICAgICAg
bV9jb25zdGFudFJlZ2lzdGVyc1tlbnRyeS5zZWNvbmRdLnNldCh2bSwgdGhpcywganNTZXQpOwog
ICAgIH0KLSAgICAKLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcmV0dXJuIHRydWU7CiB9CiAK
LWJvb2wgQ29kZUJsb2NrOjpzZXRDb25zdGFudFJlZ2lzdGVycyhjb25zdCBWZWN0b3I8V3JpdGVC
YXJyaWVyPFVua25vd24+PiYgY29uc3RhbnRzLCBjb25zdCBWZWN0b3I8U291cmNlQ29kZVJlcHJl
c2VudGF0aW9uPiYgY29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0aW9uKQordm9pZCBDb2Rl
QmxvY2s6OnNldENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0IFZlY3RvcjxXcml0ZUJhcnJpZXI8VW5r
bm93bj4+JiBjb25zdGFudHMsIGNvbnN0IFZlY3RvcjxTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24+
JiBjb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24pCiB7CiAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUoKm1fdm0pOwogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QgPSBtX2dsb2JhbE9iamVjdC5nZXQoKTsKQEAgLTkyMSw3ICs5MTksNyBAQCBib29sIENv
ZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMoY29uCiAgICAgICAgICAgICAgICAgY29uc3Rh
bnQgPSBjbG9uZTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNUZW1wbGF0ZVJlZ2lzdHJ5S2V5
KCptX3ZtLCBjb25zdGFudCkpIHsKICAgICAgICAgICAgICAgICBhdXRvKiB0ZW1wbGF0ZU9iamVj
dCA9IGdsb2JhbE9iamVjdC0+dGVtcGxhdGVSZWdpc3RyeSgpLmdldFRlbXBsYXRlT2JqZWN0KGV4
ZWMsIGpzQ2FzdDxKU1RlbXBsYXRlUmVnaXN0cnlLZXkqPihjb25zdGFudCkpOwotICAgICAgICAg
ICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKKyAgICAgICAgICAgICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgICAgICAgICAgICAgIGNv
bnN0YW50ID0gdGVtcGxhdGVPYmplY3Q7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTkz
MCw4ICs5MjgsNiBAQCBib29sIENvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMoY29uCiAg
ICAgfQogCiAgICAgbV9jb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24gPSBjb25zdGFu
dHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb247Ci0KLSAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9p
ZCBDb2RlQmxvY2s6OnNldEFsdGVybmF0aXZlKFZNJiB2bSwgQ29kZUJsb2NrKiBhbHRlcm5hdGl2
ZSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHJl
dmlzaW9uIDIyMDQyMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaAkod29ya2luZyBjb3B5KQpAQCAtOTE4LDkgKzkxOCw5IEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIHVwZGF0ZUFsbFByZWRpY3Rpb25zQW5kQ291bnRMaXZlbmVzcyh1bnNpZ25lZCYgbnVtYmVy
T2ZMaXZlTm9uQXJndW1lbnRWYWx1ZVByb2ZpbGVzLCB1bnNpZ25lZCYgbnVtYmVyT2ZTYW1wbGVz
SW5Qcm9maWxlcyk7CiAKLSAgICBib29sIHNldENvbnN0YW50SWRlbnRpZmllclNldFJlZ2lzdGVy
cyhWTSYsIGNvbnN0IFZlY3RvcjxDb25zdGFudEluZGVudGlmaWVyU2V0RW50cnk+JiBjb25zdGFu
dHMpOworICAgIHZvaWQgc2V0Q29uc3RhbnRJZGVudGlmaWVyU2V0UmVnaXN0ZXJzKFZNJiwgY29u
c3QgVmVjdG9yPENvbnN0YW50SW5kZW50aWZpZXJTZXRFbnRyeT4mIGNvbnN0YW50cyk7CiAKLSAg
ICBib29sIHNldENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0IFZlY3RvcjxXcml0ZUJhcnJpZXI8VW5r
bm93bj4+JiBjb25zdGFudHMsIGNvbnN0IFZlY3RvcjxTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24+
JiBjb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24pOworICAgIHZvaWQgc2V0Q29uc3Rh
bnRSZWdpc3RlcnMoY29uc3QgVmVjdG9yPFdyaXRlQmFycmllcjxVbmtub3duPj4mIGNvbnN0YW50
cywgY29uc3QgVmVjdG9yPFNvdXJjZUNvZGVSZXByZXNlbnRhdGlvbj4mIGNvbnN0YW50c1NvdXJj
ZUNvZGVSZXByZXNlbnRhdGlvbik7CiAKICAgICB2b2lkIHJlcGxhY2VDb25zdGFudChpbnQgaW5k
ZXgsIEpTVmFsdWUgdmFsdWUpCiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDIyMDQyMCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NjcmlwdEV4ZWN1dGFibGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xODcsNiArMTg3LDcgQEAgQ29kZUJsb2NrKiBTY3JpcHRFeGVjdXRhYmxl
OjpuZXdDb2RlQmxvYwogICAgICAgICBhdXRvIGNvZGVCbG9jayA9IEV2YWxDb2RlQmxvY2s6OmNy
ZWF0ZSh2bSwKICAgICAgICAgICAgIGV4ZWN1dGFibGUsIGV4ZWN1dGFibGUtPm1fdW5saW5rZWRF
dmFsQ29kZUJsb2NrLmdldCgpLCBzY29wZSwKICAgICAgICAgICAgIGV4ZWN1dGFibGUtPnNvdXJj
ZSgpLnByb3ZpZGVyKCkpOworICAgICAgICBBU1NFUlQodGhyb3dTY29wZS5leGNlcHRpb24oKSB8
fCBjb2RlQmxvY2spOwogICAgICAgICBpZiAoIWNvZGVCbG9jaykgewogICAgICAgICAgICAgZXhj
ZXB0aW9uID0gdGhyb3dFeGNlcHRpb24oCiAgICAgICAgICAgICAgICAgZXhlYywgdGhyb3dTY29w
ZSwKQEAgLTIwNCw2ICsyMDUsNyBAQCBDb2RlQmxvY2sqIFNjcmlwdEV4ZWN1dGFibGU6Om5ld0Nv
ZGVCbG9jCiAgICAgICAgIGF1dG8gY29kZUJsb2NrID0gUHJvZ3JhbUNvZGVCbG9jazo6Y3JlYXRl
KHZtLAogICAgICAgICAgICAgZXhlY3V0YWJsZSwgZXhlY3V0YWJsZS0+bV91bmxpbmtlZFByb2dy
YW1Db2RlQmxvY2suZ2V0KCksIHNjb3BlLAogICAgICAgICAgICAgZXhlY3V0YWJsZS0+c291cmNl
KCkucHJvdmlkZXIoKSwgc3RhcnRDb2x1bW4oKSk7CisgICAgICAgIEFTU0VSVCh0aHJvd1Njb3Bl
LmV4Y2VwdGlvbigpIHx8IGNvZGVCbG9jayk7CiAgICAgICAgIGlmICghY29kZUJsb2NrKSB7CiAg
ICAgICAgICAgICBleGNlcHRpb24gPSB0aHJvd0V4Y2VwdGlvbigKICAgICAgICAgICAgICAgICBl
eGVjLCB0aHJvd1Njb3BlLApAQCAtMjIxLDYgKzIyMyw3IEBAIENvZGVCbG9jayogU2NyaXB0RXhl
Y3V0YWJsZTo6bmV3Q29kZUJsb2MKICAgICAgICAgYXV0byBjb2RlQmxvY2sgPSBNb2R1bGVQcm9n
cmFtQ29kZUJsb2NrOjpjcmVhdGUodm0sCiAgICAgICAgICAgICBleGVjdXRhYmxlLCBleGVjdXRh
YmxlLT5tX3VubGlua2VkTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5nZXQoKSwgc2NvcGUsCiAgICAg
ICAgICAgICBleGVjdXRhYmxlLT5zb3VyY2UoKS5wcm92aWRlcigpLCBzdGFydENvbHVtbigpKTsK
KyAgICAgICAgQVNTRVJUKHRocm93U2NvcGUuZXhjZXB0aW9uKCkgfHwgY29kZUJsb2NrKTsKICAg
ICAgICAgaWYgKCFjb2RlQmxvY2spIHsKICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IHRocm93RXhj
ZXB0aW9uKAogICAgICAgICAgICAgICAgIGV4ZWMsIHRocm93U2NvcGUsCkBAIC0yNTEsNiArMjU0
LDcgQEAgQ29kZUJsb2NrKiBTY3JpcHRFeGVjdXRhYmxlOjpuZXdDb2RlQmxvYwogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKKyAgICB0aHJvd1Njb3BlLnJlbGVhc2UoKTsKICAgICBy
ZXR1cm4gRnVuY3Rpb25Db2RlQmxvY2s6OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgdW5saW5rZWRD
b2RlQmxvY2ssIHNjb3BlLCAKICAgICAgICAgc291cmNlKCkucHJvdmlkZXIoKSwgc291cmNlKCku
c3RhcnRPZmZzZXQoKSwgc3RhcnRDb2x1bW4oKSk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>