<?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>156346</bug_id>
          
          <creation_ts>2016-04-07 10:50:22 -0700</creation_ts>
          <short_desc>[WebIDL] Add support for [EnabledAtRuntime] attributes on non-global objects</short_desc>
          <delta_ts>2016-04-07 14:57:04 -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>Bindings</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ggaren</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1181726</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-04-07 10:50:22 -0700</bug_when>
    <thetext>Add support for [EnabledAtRuntime] attributes on non-global objects by using the same approach as for [EnabledAtRuntime] operations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181733</commentid>
    <comment_count>1</comment_count>
      <attachid>275898</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-04-07 10:58:29 -0700</bug_when>
    <thetext>Created attachment 275898
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181736</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-07 10:59:27 -0700</bug_when>
    <thetext>Attachment 275898 did not pass style-queue:


ERROR: Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:1330:  One line control clauses should not use braces.  [whitespace/braces] [4]
ERROR: Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:2540:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 2 in 8 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>1181906</commentid>
    <comment_count>3</comment_count>
      <attachid>275898</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-07 14:56:58 -0700</bug_when>
    <thetext>Comment on attachment 275898
Patch

Clearing flags on attachment: 275898

Committed r199188: &lt;http://trac.webkit.org/changeset/199188&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181907</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-07 14:57:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275898</attachid>
            <date>2016-04-07 10:58:29 -0700</date>
            <delta_ts>2016-04-07 14:56:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156346-20160407105832.patch</filename>
            <type>text/plain</type>
            <size>28803</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5MTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTUyMDVlODhmZmVhNDJl
MjRhMmU3NTE5NDQ3YWZjNDZlNDg3OTdkNC4uZGYyMjY1NTlkYTM1OGUzOTM3MDg4MjViMDY3NzQw
MDZkN2UzOTljYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE2LTA0LTA3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYklETF0gQWRkIHN1cHBv
cnQgZm9yIFtFbmFibGVkQXRSdW50aW1lXSBhdHRyaWJ1dGVzIG9uIG5vbi1nbG9iYWwgb2JqZWN0
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2MzQ2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIFtFbmFibGVkQXRSdW50aW1lXSBhdHRyaWJ1dGVzIG9uIG5vbi1nbG9iYWwgb2Jq
ZWN0cyBieQorICAgICAgICB1c2luZyB0aGUgc2FtZSBhcHByb2FjaCBhcyBmb3IgW0VuYWJsZWRB
dFJ1bnRpbWVdIG9wZXJhdGlvbnMuIFRoaXMgbWVhbnMKKyAgICAgICAgd2UgYWRkIHRoZXNlIGF0
dHJpYnV0ZXMgdG8gdGhlIHN0YXRpYyBwcm9wZXJ0eSB0YWJsZSBidXQgdGhleSBnZXQgcmVtb3Zl
ZAorICAgICAgICBhdCBydW50aW1lIGluIEpTKlByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oKSwg
aWYgdGhlIGZlYXR1cmUgaXMgZGlzYWJsZWQsCisgICAgICAgIGFmdGVyIHRoZSBlYWdlciByZWlm
aWNhdGlvbiBvZiB0aGUgcHJvdG90eXBlLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZVByb3BlcnRpZXNIYXNoVGFibGUp
OgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHA6CisgICAgICAgICh3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX3NldF9wcm9wZXJ0eSk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rf
b2JqX2dldF9wcm9wZXJ0eSk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NsYXNzX2lu
aXQpOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9lbmFibGVkX2F0X3J1bnRpbWVfb3Bl
cmF0aW9uKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2VuYWJsZWRfYXRfcnVu
dGltZV9hdHRyaWJ1dGUpOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9zZXRfZW5hYmxl
ZF9hdF9ydW50aW1lX2F0dHJpYnV0ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T2JqUHJvdG90
eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpFbmFibGVk
QXRSdW50aW1lQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9iakVuYWJs
ZWRBdFJ1bnRpbWVBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90
eXBlRnVuY3Rpb25FbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uMSk6CisgICAgICAgIChXZWJDb3Jl
Ojpqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkVuYWJsZWRBdFJ1bnRpbWVPcGVyYXRpb24yKToK
KyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uRW5hYmxlZEF0UnVu
dGltZU9wZXJhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9N
VGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RP
YmoubW06CisgICAgICAgICgtW0RPTVRlc3RPYmogZW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZV0p
OgorICAgICAgICAoLVtET01UZXN0T2JqIHNldEVuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGU6XSk6
CisgICAgICAgICgtW0RPTVRlc3RPYmogZW5hYmxlZEF0UnVudGltZU9wZXJhdGlvbjpdKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6CisKIDIwMTYtMDQtMDcg
IFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OICgx
OTc5ODcpOiBJbmdyZWRpZW50IGxpc3RzIG9uIHNtaXR0ZW5raXRjaGVuLmNvbSBhcmUgZnVsbCBq
dXN0aWZpZWQgaW5zdGVhZCBvZiBsZWZ0IGp1c3RpZmllZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggM2JmMjIwMzAzNzdi
YjhhYjZhNDgyOWVmNTdiMWM1ZDk2YWRmMzA2MS4uMjFhYTNlM2IxN2Y0M2NmYjg3ZGQ1YjQyMjcz
YzBiMDlhMzM4ZmY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTY5Niw2ICs2OTYsOSBAQCBzdWIgQXR0cmlidXRlU2hv
dWxkQmVPbkluc3RhbmNlCiAgICAgbXkgJGludGVyZmFjZSA9IHNoaWZ0OwogICAgIG15ICRhdHRy
aWJ1dGUgPSBzaGlmdDsKIAorICAgICMgRklYTUU6IFRoZSBiaW5kaW5ncyBnZW5lcmF0b3IgZG9l
cyBub3Qgc3VwcG9ydCBwdXR0aW5nIHJ1bnRpbWUtZW5hYmxlZCBhdHRyaWJ1dGVzIG9uIHRoZSBp
bnN0YW5jZSB5ZXQgKGV4Y2VwdCBmb3IgZ2xvYmFsIG9iamVjdHMpLgorICAgIHJldHVybiAwIGlm
ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkVuYWJsZWRBdFJ1
bnRpbWUifSAmJiAhSXNET01HbG9iYWxPYmplY3QoJGludGVyZmFjZSk7CisKICAgICByZXR1cm4g
MSBpZiBJbnRlcmZhY2VSZXF1aXJlc0F0dHJpYnV0ZXNPbkluc3RhbmNlKCRpbnRlcmZhY2UpOwog
ICAgIHJldHVybiAxIGlmICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0
b3IkLzsKIApAQCAtNzIzLDcgKzcyNiw3IEBAIHN1YiBPcGVyYXRpb25TaG91bGRCZU9uSW5zdGFu
Y2UKIAogICAgIHJldHVybiAxIGlmIElzRE9NR2xvYmFsT2JqZWN0KCRpbnRlcmZhY2UpOwogCi0g
ICAgIyBGSVhNRTogVGhlIGJpbmRpbmdzIGdlbmVyYXRvciBkb2VzIG5vdCBzdXBwb3J0IHB1dHRp
bmcgcnVudGltZS1lbmFibGVkIG9uIHRoZSBpbnN0YW5jZSB5ZXQgKGV4Y2VwdCBmb3IgZ2xvYmFs
IG9iamVjdHMpLgorICAgICMgRklYTUU6IFRoZSBiaW5kaW5ncyBnZW5lcmF0b3IgZG9lcyBub3Qg
c3VwcG9ydCBwdXR0aW5nIHJ1bnRpbWUtZW5hYmxlZCBvcGVyYXRpb25zIG9uIHRoZSBpbnN0YW5j
ZSB5ZXQgKGV4Y2VwdCBmb3IgZ2xvYmFsIG9iamVjdHMpLgogICAgIHJldHVybiAwIGlmICRmdW5j
dGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRW5hYmxlZEF0UnVudGltZSJ9
OwogCiAgICAgIyBbVW5mb3JnZWFibGVdIG9wZXJhdGlvbnMgc2hvdWxkIGJlIG9uIHRoZSBpbnN0
YW5jZS4KQEAgLTEzOTIsNyArMTM5NSw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogCiBzdWIgR2Vu
ZXJhdGVQcm9wZXJ0aWVzSGFzaFRhYmxlCiB7Ci0gICAgbXkgKCRvYmplY3QsICRpbnRlcmZhY2Us
ICRpc0luc3RhbmNlLCAkaGFzaEtleXMsICRoYXNoU3BlY2lhbHMsICRoYXNoVmFsdWUxLCAkaGFz
aFZhbHVlMiwgJGNvbmRpdGlvbmFscywgJHJ1bnRpbWVFbmFibGVkRnVuY3Rpb25zKSA9IEBfOwor
ICAgIG15ICgkb2JqZWN0LCAkaW50ZXJmYWNlLCAkaXNJbnN0YW5jZSwgJGhhc2hLZXlzLCAkaGFz
aFNwZWNpYWxzLCAkaGFzaFZhbHVlMSwgJGhhc2hWYWx1ZTIsICRjb25kaXRpb25hbHMsICRydW50
aW1lRW5hYmxlZEZ1bmN0aW9ucywgJHJ1bnRpbWVFbmFibGVkQXR0cmlidXRlcykgPSBAXzsKIAog
ICAgICMgRklYTUU6IFRoZXNlIHNob3VsZCBiZSBmdW5jdGlvbnMgb24gJGludGVyZmFjZS4KICAg
ICBteSAkaW50ZXJmYWNlTmFtZSA9ICRpbnRlcmZhY2UtPm5hbWU7CkBAIC0xNDQ0LDYgKzE0NDcs
MTQgQEAgc3ViIEdlbmVyYXRlUHJvcGVydGllc0hhc2hUYWJsZQogICAgICAgICBpZiAoJGNvbmRp
dGlvbmFsKSB7CiAgICAgICAgICAgICAkY29uZGl0aW9uYWxzLT57JG5hbWV9ID0gICRjb25kaXRp
b25hbDsKICAgICAgICAgfQorCisgICAgICAgIGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJFbmFibGVkQXRSdW50aW1lIn0pIHsKKyAgICAgICAgICAgIGlm
ICgkaXNJbnN0YW5jZSkgeworICAgICAgICAgICAgICAgIGRpZSAiV2UgY3VycmVudGx5IGRvIG5v
dCBzdXBwb3J0IFtFbmFibGVkQXRSdW50aW1lXSBhdHRyaWJ1dGVzIG9uIHRoZSBpbnN0YW5jZSAo
ZXhjZXB0IGZvciBnbG9iYWwgb2JqZWN0cykuIjsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgcHVzaChAJHJ1bnRpbWVFbmFibGVkQXR0cmlidXRlcywgJGF0dHJpYnV0ZSk7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICB9CiAKICAgICBteSBAZnVuY3Rpb25zID0g
QHskaW50ZXJmYWNlLT5mdW5jdGlvbnN9OwpAQCAtMTk1MSwxMiArMTk2MiwxMyBAQCBzdWIgR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIG15ICVjb25kaXRpb25hbHMgPSAoKTsKICAgICBteSAk
aGFzaE5hbWUgPSAkY2xhc3NOYW1lIC4gIlRhYmxlIjsKICAgICBteSBAcnVudGltZUVuYWJsZWRG
dW5jdGlvbnMgPSAoKTsKKyAgICBteSBAcnVudGltZUVuYWJsZWRBdHRyaWJ1dGVzID0gKCk7CiAK
ICAgICAjIEdlbmVyYXRlIGhhc2ggdGFibGUgZm9yIHByb3BlcnRpZXMgb24gdGhlIGluc3RhbmNl
LgogICAgIG15ICRudW1JbnN0YW5jZVByb3BlcnRpZXMgPSBHZW5lcmF0ZVByb3BlcnRpZXNIYXNo
VGFibGUoJG9iamVjdCwgJGludGVyZmFjZSwgMSwKICAgICAgICAgXEBoYXNoS2V5cywgXEBoYXNo
U3BlY2lhbHMsCiAgICAgICAgIFxAaGFzaFZhbHVlMSwgXEBoYXNoVmFsdWUyLAotICAgICAgICBc
JWNvbmRpdGlvbmFscywgXEBydW50aW1lRW5hYmxlZEZ1bmN0aW9ucyk7CisgICAgICAgIFwlY29u
ZGl0aW9uYWxzLCBcQHJ1bnRpbWVFbmFibGVkRnVuY3Rpb25zLCBcQHJ1bnRpbWVFbmFibGVkQXR0
cmlidXRlcyk7CiAKICAgICAkb2JqZWN0LT5HZW5lcmF0ZUhhc2hUYWJsZSgkaGFzaE5hbWUsICRu
dW1JbnN0YW5jZVByb3BlcnRpZXMsCiAgICAgICAgIFxAaGFzaEtleXMsIFxAaGFzaFNwZWNpYWxz
LApAQCAtMjA3MCwxMiArMjA4MiwxMyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAg
IEBoYXNoU3BlY2lhbHMgPSAoKTsKICAgICAlY29uZGl0aW9uYWxzID0gKCk7CiAgICAgQHJ1bnRp
bWVFbmFibGVkRnVuY3Rpb25zID0gKCk7CisgICAgQHJ1bnRpbWVFbmFibGVkQXR0cmlidXRlcyA9
ICgpOwogCiAgICAgIyBHZW5lcmF0ZSBoYXNoIHRhYmxlIGZvciBwcm9wZXJ0aWVzIG9uIHRoZSBw
cm90b3R5cGUuCiAgICAgbXkgJG51bVByb3RvdHlwZVByb3BlcnRpZXMgPSBHZW5lcmF0ZVByb3Bl
cnRpZXNIYXNoVGFibGUoJG9iamVjdCwgJGludGVyZmFjZSwgMCwKICAgICAgICAgXEBoYXNoS2V5
cywgXEBoYXNoU3BlY2lhbHMsCiAgICAgICAgIFxAaGFzaFZhbHVlMSwgXEBoYXNoVmFsdWUyLAot
ICAgICAgICBcJWNvbmRpdGlvbmFscywgXEBydW50aW1lRW5hYmxlZEZ1bmN0aW9ucyk7CisgICAg
ICAgIFwlY29uZGl0aW9uYWxzLCBcQHJ1bnRpbWVFbmFibGVkRnVuY3Rpb25zLCBcQHJ1bnRpbWVF
bmFibGVkQXR0cmlidXRlcyk7CiAgICAgbXkgJGhhc2hTaXplID0gJG51bVByb3RvdHlwZVByb3Bl
cnRpZXM7CiAKICAgICBmb3JlYWNoIG15ICRjb25zdGFudCAoQHskaW50ZXJmYWNlLT5jb25zdGFu
dHN9KSB7CkBAIC0yMTM0LDExICsyMTQ3LDEzIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9u
CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJlaWZ5U3Rh
dGljUHJvcGVydGllcyh2bSwgJHtjbGFzc05hbWV9UHJvdG90eXBlVGFibGVWYWx1ZXMsICp0aGlz
KTtcbiIpOwogCi0gICAgICAgICAgICBmb3JlYWNoIG15ICRmdW5jdGlvbiAoQHJ1bnRpbWVFbmFi
bGVkRnVuY3Rpb25zKSB7Ci0gICAgICAgICAgICAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0g
JGNvZGVHZW5lcmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcoJGZ1bmN0aW9uLT5zaWdu
YXR1cmUpOworICAgICAgICAgICAgbXkgQHJ1bnRpbWVFbmFibGVkUHJvcGVydGllcyA9IEBydW50
aW1lRW5hYmxlZEZ1bmN0aW9uczsKKyAgICAgICAgICAgIHB1c2goQHJ1bnRpbWVFbmFibGVkUHJv
cGVydGllcywgQHJ1bnRpbWVFbmFibGVkQXR0cmlidXRlcyk7CisgICAgICAgICAgICBmb3JlYWNo
IG15ICRmdW5jdGlvbk9yQXR0cmlidXRlIChAcnVudGltZUVuYWJsZWRQcm9wZXJ0aWVzKSB7Cisg
ICAgICAgICAgICAgICAgbXkgJHNpZ25hdHVyZSA9ICRmdW5jdGlvbk9yQXR0cmlidXRlLT5zaWdu
YXR1cmU7CisgICAgICAgICAgICAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gJGNvZGVHZW5l
cmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcoJHNpZ25hdHVyZSk7CiAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjaWYgJHtjb25kaXRpb25hbFN0cmluZ31cbiIpIGlm
ICRjb25kaXRpb25hbFN0cmluZzsKICAgICAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygi
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIik7Ci0gICAgICAgICAgICAgICAgbXkgJHNpZ25hdHVy
ZSA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlOwogICAgICAgICAgICAgICAgIG15ICRlbmFibGVfZnVu
Y3Rpb24gPSBHZXRSdW50aW1lRW5hYmxlRnVuY3Rpb25OYW1lKCRzaWduYXR1cmUpOwogICAgICAg
ICAgICAgICAgIG15ICRuYW1lID0gJHNpZ25hdHVyZS0+bmFtZTsKICAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoISR7ZW5hYmxlX2Z1bmN0aW9ufSgpKSB7XG4iKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0
L1dlYktpdERPTVRlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKaW5kZXggZmE3ZjU5MTY3OWE2NDQwNzgw
OGJjZTFhMmE0OWY5OTMxMDE3MDUzMi4uMzgwOTdlNTA4YmU4MmY4NDJmNDgxY2U2MGY2ZjJmYmMx
ZWQ5ZmJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKQEAgLTEwNCw2ICsx
MDQsNyBAQCBlbnVtIHsKICAgICBQUk9QX1JFRkxFQ1RFRF9DVVNUT01fSU5URUdSQUxfQVRUUiwK
ICAgICBQUk9QX1JFRkxFQ1RFRF9DVVNUT01fQk9PTEVBTl9BVFRSLAogICAgIFBST1BfUkVGTEVD
VEVEX0NVU1RPTV9VUkxfQVRUUiwKKyAgICBQUk9QX0VOQUJMRURfQVRfUlVOVElNRV9BVFRSSUJV
VEUsCiAgICAgUFJPUF9BVFRSX1dJVEhfR0VUVEVSX0VYQ0VQVElPTiwKICAgICBQUk9QX0FUVFJf
V0lUSF9HRVRURVJfRVhDRVBUSU9OX1dJVEhfTUVTU0FHRSwKICAgICBQUk9QX0FUVFJfV0lUSF9T
RVRURVJfRVhDRVBUSU9OLApAQCAtMjE3LDYgKzIxOCw5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9k
b21fdGVzdF9vYmpfc2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcGVydHlJ
ZCwKICAgICBjYXNlIFBST1BfUkVGTEVDVEVEX0NVU1RPTV9VUkxfQVRUUjoKICAgICAgICAgd2Vi
a2l0X2RvbV90ZXN0X29ial9zZXRfcmVmbGVjdGVkX2N1c3RvbV91cmxfYXR0cihzZWxmLCBnX3Zh
bHVlX2dldF9zdHJpbmcodmFsdWUpKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VO
QUJMRURfQVRfUlVOVElNRV9BVFRSSUJVVEU6CisgICAgICAgIHdlYmtpdF9kb21fdGVzdF9vYmpf
c2V0X2VuYWJsZWRfYXRfcnVudGltZV9hdHRyaWJ1dGUoc2VsZiwgZ192YWx1ZV9nZXRfc3RyaW5n
KHZhbHVlKSk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9BVFRSX1dJVEhfR0VUVEVS
X0VYQ0VQVElPTjoKICAgICAgICAgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfYXR0cl93aXRoX2dl
dHRlcl9leGNlcHRpb24oc2VsZiwgZ192YWx1ZV9nZXRfbG9uZyh2YWx1ZSkpOwogICAgICAgICBi
cmVhazsKQEAgLTM1MSw2ICszNTUsOSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2dldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BlcnR5SWQsCiAgICAgY2Fz
ZSBQUk9QX1JFRkxFQ1RFRF9DVVNUT01fVVJMX0FUVFI6CiAgICAgICAgIGdfdmFsdWVfdGFrZV9z
dHJpbmcodmFsdWUsIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3JlZmxlY3RlZF9jdXN0b21fdXJs
X2F0dHIoc2VsZikpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFRF9BVF9S
VU5USU1FX0FUVFJJQlVURToKKyAgICAgICAgZ192YWx1ZV90YWtlX3N0cmluZyh2YWx1ZSwgd2Vi
a2l0X2RvbV90ZXN0X29ial9nZXRfZW5hYmxlZF9hdF9ydW50aW1lX2F0dHJpYnV0ZShzZWxmKSk7
CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUFJPUF9BVFRSX1dJVEhfR0VUVEVSX0VYQ0VQVElP
TjoKICAgICAgICAgZ192YWx1ZV9zZXRfbG9uZyh2YWx1ZSwgd2Via2l0X2RvbV90ZXN0X29ial9n
ZXRfYXR0cl93aXRoX2dldHRlcl9leGNlcHRpb24oc2VsZiwgbnVsbHB0cikpOwogICAgICAgICBi
cmVhazsKQEAgLTc1Niw2ICs3NjMsMTYgQEAgc3RhdGljIHZvaWQgd2Via2l0X2RvbV90ZXN0X29i
al9jbGFzc19pbml0KFdlYktpdERPTVRlc3RPYmpDbGFzcyogcmVxdWVzdENsYXNzKQogCiAgICAg
Z19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgKICAgICAgICAgZ29iamVjdENsYXNzLAor
ICAgICAgICBQUk9QX0VOQUJMRURfQVRfUlVOVElNRV9BVFRSSUJVVEUsCisgICAgICAgIGdfcGFy
YW1fc3BlY19zdHJpbmcoCisgICAgICAgICAgICAiZW5hYmxlZC1hdC1ydW50aW1lLWF0dHJpYnV0
ZSIsCisgICAgICAgICAgICAiVGVzdE9iajplbmFibGVkLWF0LXJ1bnRpbWUtYXR0cmlidXRlIiwK
KyAgICAgICAgICAgICJyZWFkLXdyaXRlIGdjaGFyKiBUZXN0T2JqOmVuYWJsZWQtYXQtcnVudGlt
ZS1hdHRyaWJ1dGUiLAorICAgICAgICAgICAgIiIsCisgICAgICAgICAgICBXRUJLSVRfUEFSQU1f
UkVBRFdSSVRFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KAorICAg
ICAgICBnb2JqZWN0Q2xhc3MsCiAgICAgICAgIFBST1BfQVRUUl9XSVRIX0dFVFRFUl9FWENFUFRJ
T04sCiAgICAgICAgIGdfcGFyYW1fc3BlY19sb25nKAogICAgICAgICAgICAgImF0dHItd2l0aC1n
ZXR0ZXItZXhjZXB0aW9uIiwKQEAgLTExNTIsNiArMTE2OSwzNiBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2luaXQoV2ViS2l0RE9NVGVzdE9iaiogcmVxdWVzdCkKICAgICBuZXcg
KHByaXYpIFdlYktpdERPTVRlc3RPYmpQcml2YXRlKCk7CiB9CiAKK3ZvaWQgd2Via2l0X2RvbV90
ZXN0X29ial9lbmFibGVkX2F0X3J1bnRpbWVfb3BlcmF0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYsIGNvbnN0IGdjaGFyKiB0ZXN0UGFyYW0pCit7CisjaWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkK
KyAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CisgICAgZ19yZXR1cm5f
aWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKKyAgICBnX3JldHVybl9pZl9m
YWlsKHRlc3RQYXJhbSk7CisgICAgV2ViQ29yZTo6VGVzdE9iaiogaXRlbSA9IFdlYktpdDo6Y29y
ZShzZWxmKTsKKyAgICBXVEY6OlN0cmluZyBjb252ZXJ0ZWRUZXN0UGFyYW0gPSBXVEY6OlN0cmlu
Zzo6ZnJvbVVURjgodGVzdFBhcmFtKTsKKyAgICBpdGVtLT5lbmFibGVkQXRSdW50aW1lT3BlcmF0
aW9uKGNvbnZlcnRlZFRlc3RQYXJhbSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShzZWxmKTsK
KyAgICBVTlVTRURfUEFSQU0odGVzdFBhcmFtKTsKKyAgICBXRUJLSVRfV0FSTl9GRUFUVVJFX05P
VF9QUkVTRU5UKCJUZXN0IEZlYXR1cmUiKQorI2VuZGlmIC8qIEVOQUJMRShURVNUX0ZFQVRVUkUp
ICovCit9CisKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9lbmFibGVkX2F0X3J1bnRpbWVfb3Bl
cmF0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIHRlc3RQYXJhbSkKK3sKKyNpZiBF
TkFCTEUoVEVTVF9GRUFUVVJFKQorICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBz
dGF0ZTsKKyAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikp
OworICAgIFdlYkNvcmU6OlRlc3RPYmoqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CisgICAg
aXRlbS0+ZW5hYmxlZEF0UnVudGltZU9wZXJhdGlvbih0ZXN0UGFyYW0pOworI2Vsc2UKKyAgICBV
TlVTRURfUEFSQU0oc2VsZik7CisgICAgVU5VU0VEX1BBUkFNKHRlc3RQYXJhbSk7CisgICAgV0VC
S0lUX1dBUk5fRkVBVFVSRV9OT1RfUFJFU0VOVCgiVGVzdCBGZWF0dXJlIikKKyNlbmRpZiAvKiBF
TkFCTEUoVEVTVF9GRUFUVVJFKSAqLworfQorCiB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfdm9p
ZF9tZXRob2QoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5U
aHJlYWROdWxsU3RhdGUgc3RhdGU7CkBAIC0yMTYyLDYgKzIyMDksMzcgQEAgdm9pZCB3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX3NldF9yZWZsZWN0ZWRfY3VzdG9tX3VybF9hdHRyKFdlYktpdERPTVRlc3RP
YmoqIHNlbGYsIGMKICAgICBpdGVtLT5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9u
KFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudFVSTEF0dHJBdHRyLCBjb252ZXJ0ZWRW
YWx1ZSk7CiB9CiAKK2djaGFyKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9lbmFibGVkX2F0X3J1
bnRpbWVfYXR0cmlidXRlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCit7CisjaWYgRU5BQkxFKFRF
U1RfRkVBVFVSRSkKKyAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7Cisg
ICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7
CisgICAgV2ViQ29yZTo6VGVzdE9iaiogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKKyAgICBn
Y2hhciogcmVzdWx0ID0gY29udmVydFRvVVRGOFN0cmluZyhpdGVtLT5lbmFibGVkQXRSdW50aW1l
QXR0cmlidXRlKCkpOworICAgIHJldHVybiByZXN1bHQ7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShzZWxmKTsKKyAgICBXRUJLSVRfV0FSTl9GRUFUVVJFX05PVF9QUkVTRU5UKCJUZXN0IEZlYXR1
cmUiKQorICAgIHJldHVybiAwOworI2VuZGlmIC8qIEVOQUJMRShURVNUX0ZFQVRVUkUpICovCit9
CisKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfZW5hYmxlZF9hdF9ydW50aW1lX2F0dHJp
YnV0ZShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBjb25zdCBnY2hhciogdmFsdWUpCit7CisjaWYg
RU5BQkxFKFRFU1RfRkVBVFVSRSkKKyAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUg
c3RhdGU7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYp
KTsKKyAgICBnX3JldHVybl9pZl9mYWlsKHZhbHVlKTsKKyAgICBXZWJDb3JlOjpUZXN0T2JqKiBp
dGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOworICAgIFdURjo6U3RyaW5nIGNvbnZlcnRlZFZhbHVl
ID0gV1RGOjpTdHJpbmc6OmZyb21VVEY4KHZhbHVlKTsKKyAgICBpdGVtLT5zZXRFbmFibGVkQXRS
dW50aW1lQXR0cmlidXRlKGNvbnZlcnRlZFZhbHVlKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFN
KHNlbGYpOworICAgIFVOVVNFRF9QQVJBTSh2YWx1ZSk7CisgICAgV0VCS0lUX1dBUk5fRkVBVFVS
RV9OT1RfUFJFU0VOVCgiVGVzdCBGZWF0dXJlIikKKyNlbmRpZiAvKiBFTkFCTEUoVEVTVF9GRUFU
VVJFKSAqLworfQorCiBnbG9uZyB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9hdHRyX3dpdGhfZ2V0
dGVyX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBHRXJyb3IqKiBlcnJvcikKIHsK
ICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0T2JqLmgKaW5kZXggMDU1YzViNmZiNTEwODJlYWRlMjhlMTUzOTg1NzEyMmZjODQ5
NTc5NS4uZGU5MWUyOTViNDZkOWRkYmJhMDk3MzRiMjlhOTRkNzk1MWEzODcxMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9N
VGVzdE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTVRlc3RPYmouaApAQCAtMTE1LDYgKzExNSwyNiBAQCBXRUJLSVRfQVBJIEdU
eXBlCiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF90eXBlKHZvaWQpOwogCiAvKioKKyAqIHdlYmtp
dF9kb21fdGVzdF9vYmpfZW5hYmxlZF9hdF9ydW50aW1lX29wZXJhdGlvbjoKKyAqIEBzZWxmOiBB
ICNXZWJLaXRET01UZXN0T2JqCisgKiBAdGVzdFBhcmFtOiBBICNnY2hhcgorICoKKyAqIFN0YWJp
bGl0eTogVW5zdGFibGUKKyoqLworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2VuYWJsZWRfYXRfcnVudGltZV9vcGVyYXRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29u
c3QgZ2NoYXIqIHRlc3RQYXJhbSk7CisKKy8qKgorICogd2Via2l0X2RvbV90ZXN0X29ial9lbmFi
bGVkX2F0X3J1bnRpbWVfb3BlcmF0aW9uOgorICogQHNlbGY6IEEgI1dlYktpdERPTVRlc3RPYmoK
KyAqIEB0ZXN0UGFyYW06IEEgI2dsb25nCisgKgorICogU3RhYmlsaXR5OiBVbnN0YWJsZQorKiov
CitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9kb21fdGVzdF9vYmpfZW5hYmxlZF9hdF9ydW50aW1l
X29wZXJhdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB0ZXN0UGFyYW0pOworCisv
KioKICAqIHdlYmtpdF9kb21fdGVzdF9vYmpfdm9pZF9tZXRob2Q6CiAgKiBAc2VsZjogQSAjV2Vi
S2l0RE9NVGVzdE9iagogICoKQEAgLTEyMDgsNiArMTIyOCwyNyBAQCBXRUJLSVRfQVBJIHZvaWQK
IHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3JlZmxlY3RlZF9jdXN0b21fdXJsX2F0dHIoV2ViS2l0
RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2NoYXIqIHZhbHVlKTsKIAogLyoqCisgKiB3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF9lbmFibGVkX2F0X3J1bnRpbWVfYXR0cmlidXRlOgorICogQHNlbGY6
IEEgI1dlYktpdERPTVRlc3RPYmoKKyAqCisgKiBSZXR1cm5zOiBBICNnY2hhcgorICoKKyAqIFN0
YWJpbGl0eTogVW5zdGFibGUKKyoqLworV0VCS0lUX0FQSSBnY2hhcioKK3dlYmtpdF9kb21fdGVz
dF9vYmpfZ2V0X2VuYWJsZWRfYXRfcnVudGltZV9hdHRyaWJ1dGUoV2ViS2l0RE9NVGVzdE9iaiog
c2VsZik7CisKKy8qKgorICogd2Via2l0X2RvbV90ZXN0X29ial9zZXRfZW5hYmxlZF9hdF9ydW50
aW1lX2F0dHJpYnV0ZToKKyAqIEBzZWxmOiBBICNXZWJLaXRET01UZXN0T2JqCisgKiBAdmFsdWU6
IEEgI2djaGFyCisgKgorICogU3RhYmlsaXR5OiBVbnN0YWJsZQorKiovCitXRUJLSVRfQVBJIHZv
aWQKK3dlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2VuYWJsZWRfYXRfcnVudGltZV9hdHRyaWJ1dGUo
V2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2NoYXIqIHZhbHVlKTsKKworLyoqCiAgKiB3
ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9hdHRyX3dpdGhfZ2V0dGVyX2V4Y2VwdGlvbjoKICAqIEBz
ZWxmOiBBICNXZWJLaXRET01UZXN0T2JqCiAgKiBAZXJyb3I6ICNHRXJyb3IKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5k
ZXggN2ZiMTcxOWYwM2ZjMWMzZDYxOWQ0YmMwODdjMjgzODkxNzgzOGNjNS4uYWU5ZDQ2MTE1MTlm
ZTM3NmU0YzJiMmFiOWQ3ZDI4OWIwYmE3ZWJiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTQ3LDYgKzQ3LDcg
QEAKICNpbmNsdWRlICJKU1Rlc3RTdWJPYmouaCIKICNpbmNsdWRlICJKU2Jvb2wuaCIKICNpbmNs
dWRlICJMaWZlY3ljbGVDYWxsYmFja1F1ZXVlLmgiCisjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNWR0RvY3VtZW50LmgiCiAjaW5jbHVkZSAiU1ZHUG9pbnQu
aCIKICNpbmNsdWRlICJTVkdTdGF0aWNQcm9wZXJ0eVRlYXJPZmYuaCIKQEAgLTkxLDYgKzkyLDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBGdW5jdGlvbnMKIAorI2lmIEVOQUJMRShURVNU
X0ZFQVRVUkUpCitKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJv
dG90eXBlRnVuY3Rpb25FbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uKEpTQzo6RXhlY1N0YXRlKik7
CisjZW5kaWYKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90
b3R5cGVGdW5jdGlvblZvaWRNZXRob2QoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZvaWRNZXRob2RX
aXRoQXJncyhKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQnl0ZU1ldGhvZChKU0M6OkV4ZWNTdGF0ZSop
OwpAQCAtMjU4LDYgKzI2MiwxMCBAQCBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdE9ialJlZmxl
Y3RlZEN1c3RvbUJvb2xlYW5BdHRyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbgogYm9vbCBzZXRK
U1Rlc3RPYmpSZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0cihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpOwogSlNDOjpFbmNvZGVkSlNWYWx1
ZSBqc1Rlc3RPYmpSZWZsZWN0ZWRDdXN0b21VUkxBdHRyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpF
bmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwogYm9vbCBzZXRKU1Rlc3RPYmpSZWZs
ZWN0ZWRDdXN0b21VUkxBdHRyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwg
SlNDOjpFbmNvZGVkSlNWYWx1ZSk7CisjaWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkKK0pTQzo6RW5j
b2RlZEpTVmFsdWUganNUZXN0T2JqRW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZShKU0M6OkV4ZWNT
dGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTsKK2Jvb2wgc2V0
SlNUZXN0T2JqRW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpOworI2VuZGlmCiBKU0M6OkVuY29k
ZWRKU1ZhbHVlIGpzVGVzdE9ialR5cGVkQXJyYXlBdHRyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpF
bmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwogYm9vbCBzZXRKU1Rlc3RPYmpUeXBl
ZEFycmF5QXR0cihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5j
b2RlZEpTVmFsdWUpOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpBdHRyV2l0aEdldHRl
ckV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJv
cGVydHlOYW1lKTsKQEAgLTU1Miw2ICs1NjAsMTEgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZh
bHVlIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzW10gPQogICAgIHsgInJlZmxlY3RlZEN1
c3RvbUludGVncmFsQXR0ciIsIEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgeyAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialJlZmxl
Y3RlZEN1c3RvbUludGVncmFsQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ialJlZmxlY3RlZEN1c3RvbUludGVncmFs
QXR0cikgfSB9LAogICAgIHsgInJlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRyIiwgQ3VzdG9tQWNj
ZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqUmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIpLCAoaW50
cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rl
c3RPYmpSZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0cikgfSB9LAogICAgIHsgInJlZmxlY3RlZEN1
c3RvbVVSTEF0dHIiLCBDdXN0b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0
YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpSZWZsZWN0ZWRD
dXN0b21VUkxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqUmVmbGVjdGVkQ3VzdG9tVVJMQXR0cikgfSB9LAorI2lm
IEVOQUJMRShURVNUX0ZFQVRVUkUpCisgICAgeyAiZW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZSIs
IEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakVuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1
dGUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5j
PihzZXRKU1Rlc3RPYmpFbmFibGVkQXRSdW50aW1lQXR0cmlidXRlKSB9IH0sCisjZWxzZQorICAg
IHsgMCwgMCwgTm9JbnRyaW5zaWMsIHsgMCwgMCB9IH0sCisjZW5kaWYKICAgICB7ICJ0eXBlZEFy
cmF5QXR0ciIsIEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGlj
X2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialR5cGVkQXJyYXlBdHRy
KSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4o
c2V0SlNUZXN0T2JqVHlwZWRBcnJheUF0dHIpIH0gfSwKICAgICB7ICJhdHRyV2l0aEdldHRlckV4
Y2VwdGlvbiIsIEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGlj
X2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakF0dHJXaXRoR2V0dGVy
RXhjZXB0aW9uKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oc2V0SlNUZXN0T2JqQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24pIH0gfSwKICAgICB7
ICJhdHRyV2l0aEdldHRlckV4Y2VwdGlvbldpdGhNZXNzYWdlIiwgQ3VzdG9tQWNjZXNzb3IsIE5v
SW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0T2JqQXR0cldpdGhHZXR0ZXJFeGNlcHRpb25XaXRoTWVzc2FnZSksIChpbnRw
dHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVz
dE9iakF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uV2l0aE1lc3NhZ2UpIH0gfSwKQEAgLTYxOSw2ICs2
MzIsMTEgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9ialByb3RvdHlwZVRh
YmxlVmFsdWVzW10gPQogICAgIHsgImF0dHJpYnV0ZVdpdGhSZXNlcnZlZEVudW1UeXBlIiwgQ3Vz
dG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0
eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQXR0cmlidXRlV2l0aFJlc2VydmVkRW51bVR5
cGUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5j
PihzZXRKU1Rlc3RPYmpBdHRyaWJ1dGVXaXRoUmVzZXJ2ZWRFbnVtVHlwZSkgfSB9LAogICAgIHsg
InB1dEZvcndhcmRzQXR0cmlidXRlIiwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChp
bnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2Jq
UHV0Rm9yd2FyZHNBdHRyaWJ1dGUpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpQdXRGb3J3YXJkc0F0dHJpYnV0ZSkgfSB9
LAogICAgIHsgInB1dEZvcndhcmRzTnVsbGFibGVBdHRyaWJ1dGUiLCBDdXN0b21BY2Nlc3Nvciwg
Tm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RPYmpQdXRGb3J3YXJkc051bGxhYmxlQXR0cmlidXRlKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2Jq
UHV0Rm9yd2FyZHNOdWxsYWJsZUF0dHJpYnV0ZSkgfSB9LAorI2lmIEVOQUJMRShURVNUX0ZFQVRV
UkUpCisgICAgeyAiZW5hYmxlZEF0UnVudGltZU9wZXJhdGlvbiIsIEpTQzo6RnVuY3Rpb24sIE5v
SW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0
T2JqUHJvdG90eXBlRnVuY3Rpb25FbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uKSwgKGludHB0cl90
KSAoMSkgfSB9LAorI2Vsc2UKKyAgICB7IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9LAor
I2VuZGlmCiAgICAgeyAidm9pZE1ldGhvZCIsIEpTQzo6RnVuY3Rpb24sIE5vSW50cmluc2ljLCB7
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25Wb2lkTWV0aG9kKSwgKGludHB0cl90KSAoMCkgfSB9LAogICAgIHsgInZvaWRNZXRo
b2RXaXRoQXJncyIsIEpTQzo6RnVuY3Rpb24sIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Wb2lkTWV0
aG9kV2l0aEFyZ3MpLCAoaW50cHRyX3QpICgzKSB9IH0sCiAgICAgeyAiYnl0ZU1ldGhvZCIsIEpT
Qzo6RnVuY3Rpb24sIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVG
dW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25CeXRlTWV0aG9kKSwgKGludHB0cl90
KSAoMCkgfSB9LApAQCAtNzU0LDYgKzc3MiwxOCBAQCB2b2lkIEpTVGVzdE9ialByb3RvdHlwZTo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsK
ICAgICByZWlmeVN0YXRpY1Byb3BlcnRpZXModm0sIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFs
dWVzLCAqdGhpcyk7CisjaWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkKKyAgICBpZiAoIVJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkudGVzdEZlYXR1cmVFbmFibGVkKCkpIHsK
KyAgICAgICAgSWRlbnRpZmllciBwcm9wZXJ0eU5hbWUgPSBJZGVudGlmaWVyOjpmcm9tU3RyaW5n
KCZ2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJlbmFibGVkQXRSdW50aW1lT3Bl
cmF0aW9uIiksIHN0cmxlbigiZW5hYmxlZEF0UnVudGltZU9wZXJhdGlvbiIpKTsKKyAgICAgICAg
cmVtb3ZlRGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWUpOworICAgIH0KKyNlbmRpZgorI2lmIEVOQUJM
RShURVNUX0ZFQVRVUkUpCisgICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnRlc3RGZWF0dXJlRW5hYmxlZCgpKSB7CisgICAgICAgIElkZW50aWZpZXIgcHJv
cGVydHlOYW1lID0gSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sIHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgTENoYXIqPigiZW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZSIpLCBzdHJsZW4oImVuYWJs
ZWRBdFJ1bnRpbWVBdHRyaWJ1dGUiKSk7CisgICAgICAgIHJlbW92ZURpcmVjdCh2bSwgcHJvcGVy
dHlOYW1lKTsKKyAgICB9CisjZW5kaWYKICAgICBKU1ZNQ2xpZW50RGF0YSYgY2xpZW50RGF0YSA9
ICpzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpOwogICAgIHB1dERp
cmVjdCh2bSwgY2xpZW50RGF0YS5idWlsdGluTmFtZXMoKS5wcml2YXRlTWV0aG9kUHJpdmF0ZU5h
bWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QoKSwgMCwgU3RyaW5nKCks
IGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUHJpdmF0ZU1ldGhvZCksIFJlYWRPbmx5IHwgRG9u
dEVudW0pOwogICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1i
b2wsIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0KCksIDAsIEFTQ0lJTGl0ZXJh
bCgiW1N5bWJvbC5JdGVyYXRvcl0iKSwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25TeW1ib2xJ
dGVyYXRvciksIFJlYWRPbmx5IHwgRG9udEVudW0pOwpAQCAtMTI4OCw2ICsxMzE4LDIzIEBAIEVu
Y29kZWRKU1ZhbHVlIGpzVGVzdE9ialJlZmxlY3RlZEN1c3RvbVVSTEF0dHIoRXhlY1N0YXRlKiBz
dGF0ZSwgRW5jb2RlZEpTVmFsdWUKIH0KIAogCisjaWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkKK0Vu
Y29kZWRKU1ZhbHVlIGpzVGVzdE9iakVuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGUoRXhlY1N0YXRl
KiBzdGF0ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCit7CisgICAg
VU5VU0VEX1BBUkFNKHN0YXRlKTsKKyAgICBVTlVTRURfUEFSQU0odGhpc1ZhbHVlKTsKKyAgICBK
U1ZhbHVlIGRlY29kZWRUaGlzVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKTsKKyAg
ICBhdXRvKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RPYmoqPihkZWNvZGVkVGhp
c1ZhbHVlKTsKKyAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKSB7CisgICAgICAgIHJldHVy
biB0aHJvd0dldHRlclR5cGVFcnJvcigqc3RhdGUsICJUZXN0T2JqIiwgImVuYWJsZWRBdFJ1bnRp
bWVBdHRyaWJ1dGUiKTsKKyAgICB9CisgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBw
ZWQoKTsKKyAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3RyaW5nV2l0aENhY2hlKHN0YXRlLCBpbXBs
LmVuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGUoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShyZXN1bHQpOworfQorCisjZW5kaWYKKwogRW5jb2RlZEpTVmFsdWUganNUZXN0T2JqVHlwZWRB
cnJheUF0dHIoRXhlY1N0YXRlKiBzdGF0ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9w
ZXJ0eU5hbWUpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHN0YXRlKTsKQEAgLTI0ODIsNiArMjUyOSwy
NSBAQCBib29sIHNldEpTVGVzdE9ialJlZmxlY3RlZEN1c3RvbVVSTEF0dHIoRXhlY1N0YXRlKiBz
dGF0ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbAogfQogCiAKKyNpZiBFTkFCTEUoVEVTVF9GRUFU
VVJFKQorYm9vbCBzZXRKU1Rlc3RPYmpFbmFibGVkQXRSdW50aW1lQXR0cmlidXRlKEV4ZWNTdGF0
ZSogc3RhdGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlKQoreworICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZh
bHVlKTsKKyAgICBVTlVTRURfUEFSQU0odGhpc1ZhbHVlKTsKKyAgICBKU1Rlc3RPYmoqIGNhc3Rl
ZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdE9iaio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFs
dWUpKTsKKyAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKSB7CisgICAgICAgIHJldHVybiB0
aHJvd1NldHRlclR5cGVFcnJvcigqc3RhdGUsICJUZXN0T2JqIiwgImVuYWJsZWRBdFJ1bnRpbWVB
dHRyaWJ1dGUiKTsKKyAgICB9CisgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQo
KTsKKyAgICBTdHJpbmcgbmF0aXZlVmFsdWUgPSB2YWx1ZS50b1N0cmluZyhzdGF0ZSktPnZhbHVl
KHN0YXRlKTsKKyAgICBpZiAoVU5MSUtFTFkoc3RhdGUtPmhhZEV4Y2VwdGlvbigpKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIGltcGwuc2V0RW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZShu
YXRpdmVWYWx1ZSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNlbmRpZgorCiBib29sIHNldEpT
VGVzdE9ialR5cGVkQXJyYXlBdHRyKEV4ZWNTdGF0ZSogc3RhdGUsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQogewogICAgIEpTVmFsdWUgdmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKQEAgLTMxNjEsNiArMzIyNyw2NCBA
QCBKU1ZhbHVlIEpTVGVzdE9iajo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBjb25zdCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rl
c3RPYmpDb25zdHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihn
bG9iYWxPYmplY3QpKTsKIH0KIAorI2lmIEVOQUJMRShURVNUX0ZFQVRVUkUpCitzdGF0aWMgaW5s
aW5lIEVuY29kZWRKU1ZhbHVlIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uRW5hYmxlZEF0UnVu
dGltZU9wZXJhdGlvbjEoRXhlY1N0YXRlKiBzdGF0ZSkKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1
ZSA9IHN0YXRlLT50aGlzVmFsdWUoKTsKKyAgICBhdXRvIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWND
YXN0PEpTVGVzdE9iaio+KHRoaXNWYWx1ZSk7CisgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlz
KSkKKyAgICAgICAgcmV0dXJuIHRocm93VGhpc1R5cGVFcnJvcigqc3RhdGUsICJUZXN0T2JqIiwg
ImVuYWJsZWRBdFJ1bnRpbWVPcGVyYXRpb24iKTsKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVS
SVRTKGNhc3RlZFRoaXMsIEpTVGVzdE9iajo6aW5mbygpKTsKKyAgICBhdXRvJiBpbXBsID0gY2Fz
dGVkVGhpcy0+d3JhcHBlZCgpOworICAgIGlmIChVTkxJS0VMWShzdGF0ZS0+YXJndW1lbnRDb3Vu
dCgpIDwgMSkpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3Ioc3RhdGUsIGNyZWF0ZU5vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKHN0YXRlKSk7CisgICAgU3RyaW5nIHRlc3RQYXJhbSA9IHN0YXRl
LT5hcmd1bWVudCgwKS50b1N0cmluZyhzdGF0ZSktPnZhbHVlKHN0YXRlKTsKKyAgICBpZiAoVU5M
SUtFTFkoc3RhdGUtPmhhZEV4Y2VwdGlvbigpKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICBpbXBsLmVuYWJsZWRBdFJ1bnRpbWVPcGVyYXRpb24o
dGVzdFBhcmFtKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwor
fQorCisjZW5kaWYKKworI2lmIEVOQUJMRShURVNUX0ZFQVRVUkUpCitzdGF0aWMgaW5saW5lIEVu
Y29kZWRKU1ZhbHVlIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uRW5hYmxlZEF0UnVudGltZU9w
ZXJhdGlvbjIoRXhlY1N0YXRlKiBzdGF0ZSkKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IHN0
YXRlLT50aGlzVmFsdWUoKTsKKyAgICBhdXRvIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpT
VGVzdE9iaio+KHRoaXNWYWx1ZSk7CisgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkKKyAg
ICAgICAgcmV0dXJuIHRocm93VGhpc1R5cGVFcnJvcigqc3RhdGUsICJUZXN0T2JqIiwgImVuYWJs
ZWRBdFJ1bnRpbWVPcGVyYXRpb24iKTsKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKGNh
c3RlZFRoaXMsIEpTVGVzdE9iajo6aW5mbygpKTsKKyAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhp
cy0+d3JhcHBlZCgpOworICAgIGlmIChVTkxJS0VMWShzdGF0ZS0+YXJndW1lbnRDb3VudCgpIDwg
MSkpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3Ioc3RhdGUsIGNyZWF0ZU5vdEVub3VnaEFy
Z3VtZW50c0Vycm9yKHN0YXRlKSk7CisgICAgaW50IHRlc3RQYXJhbSA9IHRvSW50MzIoc3RhdGUs
IHN0YXRlLT5hcmd1bWVudCgwKSwgTm9ybWFsQ29udmVyc2lvbik7CisgICAgaWYgKFVOTElLRUxZ
KHN0YXRlLT5oYWRFeGNlcHRpb24oKSkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNVbmRlZmluZWQoKSk7CisgICAgaW1wbC5lbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uKHRlc3RQ
YXJhbSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKK30KKwor
I2VuZGlmCisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25FbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uKEV4ZWNTdGF0ZSogc3RhdGUpCit7Cisg
ICAgc2l6ZV90IGFyZ3NDb3VudCA9IHN0ZDo6bWluPHNpemVfdD4oMSwgc3RhdGUtPmFyZ3VtZW50
Q291bnQoKSk7CisjaWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkKKyAgICBpZiAoYXJnc0NvdW50ID09
IDEpCisgICAgICAgIHJldHVybiBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkVuYWJsZWRBdFJ1
bnRpbWVPcGVyYXRpb24xKHN0YXRlKTsKKyNlbmRpZgorCisjaWYgRU5BQkxFKFRFU1RfRkVBVFVS
RSkKKyAgICBpZiAoYXJnc0NvdW50ID09IDEpCisgICAgICAgIHJldHVybiBqc1Rlc3RPYmpQcm90
b3R5cGVGdW5jdGlvbkVuYWJsZWRBdFJ1bnRpbWVPcGVyYXRpb24yKHN0YXRlKTsKKyNlbmRpZgor
CisgICAgaWYgKGFyZ3NDb3VudCA8IDEpCisgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3Ioc3Rh
dGUsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKHN0YXRlKSk7CisgICAgcmV0dXJuIHRo
cm93Vk1UeXBlRXJyb3Ioc3RhdGUpOworfQorCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVm9pZE1ldGhvZChFeGVjU3RhdGUqIHN0YXRlKQog
ewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gc3RhdGUtPnRoaXNWYWx1ZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5o
CmluZGV4IGJjYWQwYzExZmU0ZDgyODlmMWZlYTk4ZmU0MGVjMzhjOTA0N2JjODYuLmY1NTk2ZmY1
NzI0M2RiMDBhYThjNjUwMDAxOTIwMGFmY2RhMWE2ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKQEAgLTg3LDYg
Kzg3LDcgQEAgV0VCQ09SRV9FWFBPUlQgQGludGVyZmFjZSBET01UZXN0T2JqIDogRE9NT2JqZWN0
CiBAcHJvcGVydHkgaW50IHJlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0cjsKIEBwcm9wZXJ0eSBC
T09MIHJlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRyOwogQHByb3BlcnR5IChjb3B5KSBOU1N0cmlu
ZyAqcmVmbGVjdGVkQ3VzdG9tVVJMQXR0cjsKK0Bwcm9wZXJ0eSAoY29weSkgTlNTdHJpbmcgKmVu
YWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGU7CiBAcHJvcGVydHkgaW50IGF0dHJXaXRoR2V0dGVyRXhj
ZXB0aW9uOwogQHByb3BlcnR5IGludCBhdHRyV2l0aEdldHRlckV4Y2VwdGlvbldpdGhNZXNzYWdl
OwogQHByb3BlcnR5IGludCBhdHRyV2l0aFNldHRlckV4Y2VwdGlvbjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0gYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tCmlu
ZGV4IDJmYmMyOTZmNTIxODJmNWM4MWZhMzk2MDA1MmMyZmRlMDEzN2U4NmMuLjI2MTJkNDRjYTYw
ZTYwOTQyYmIyNTY5ZjYyZjUyN2MzMWIyY2E5NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbQpAQCAtMzkxLDYg
KzM5MSwyMCBAQAogICAgIElNUEwtPnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24o
V2ViQ29yZTo6SFRNTE5hbWVzOjpjdXN0b21Db250ZW50VVJMQXR0ckF0dHIsIG5ld1JlZmxlY3Rl
ZEN1c3RvbVVSTEF0dHIpOwogfQogCisjaWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkKKy0gKE5TU3Ry
aW5nICopZW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZQoreworICAgIFdlYkNvcmU6OkpTTWFpblRo
cmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gSU1QTC0+ZW5hYmxlZEF0UnVudGltZUF0
dHJpYnV0ZSgpOworfQorCistICh2b2lkKXNldEVuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGU6KE5T
U3RyaW5nICopbmV3RW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZQoreworICAgIFdlYkNvcmU6OkpT
TWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICBJTVBMLT5zZXRFbmFibGVkQXRSdW50aW1l
QXR0cmlidXRlKG5ld0VuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGUpOworfQorI2VuZGlmCisKIC0g
KGludClhdHRyV2l0aEdldHRlckV4Y2VwdGlvbgogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVh
ZE51bGxTdGF0ZSBzdGF0ZTsKQEAgLTkyNyw2ICs5NDEsMjYgQEAKICAgICByZXR1cm4ga2l0KFdU
Rjo6Z2V0UHRyKElNUEwtPnB1dEZvcndhcmRzTnVsbGFibGVBdHRyaWJ1dGUoKSkpOwogfQogCisK
KyNpZiBFTkFCTEUoVEVTVF9GRUFUVVJFKQorLSAodm9pZCllbmFibGVkQXRSdW50aW1lT3BlcmF0
aW9uOihOU1N0cmluZyAqKXRlc3RQYXJhbQoreworICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51
bGxTdGF0ZSBzdGF0ZTsKKyAgICBJTVBMLT5lbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uKHRlc3RQ
YXJhbSk7Cit9CisKKyNlbmRpZgorCisKKyNpZiBFTkFCTEUoVEVTVF9GRUFUVVJFKQorLSAodm9p
ZCllbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uOihpbnQpdGVzdFBhcmFtCit7CisgICAgV2ViQ29y
ZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIElNUEwtPmVuYWJsZWRBdFJ1bnRp
bWVPcGVyYXRpb24odGVzdFBhcmFtKTsKK30KKworI2VuZGlmCisKIC0gKHZvaWQpdm9pZE1ldGhv
ZAogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCA1ZDUy
NWU4Y2QwZWIzZjBhZmY4ZTRjOWFkZDAxZTFkOTk4N2ZhMjA2Li5kZjBjYjM2NTU3NTg4OTdjNDQ0
YmVlYTQ0YTkzMzJhYmY3ODg4YjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCkBAIC04MCw2ICs4MCwxMSBAQCBlbnVtIF9vcHRpb25h
bCB7ICIiLCAiT3B0aW9uYWxWYWx1ZTEiLCAiT3B0aW9uYWxWYWx1ZTIiLCAiT3B0aW9uYWxWYWx1
ZTMiIH07CiAgICAgW1JlZmxlY3Q9Y3VzdG9tQ29udGVudEJvb2xlYW5BdHRyXSBhdHRyaWJ1dGUg
Ym9vbGVhbiByZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0cjsKICAgICBbUmVmbGVjdD1jdXN0b21D
b250ZW50VVJMQXR0ciwgVVJMXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmxlY3RlZEN1c3RvbVVS
TEF0dHI7CiAKKyAgICAvLyBbRW5hYmxlZEF0UnVudGltZV0gYXR0cmlidXRlcyBhbmQgb3BlcmF0
aW9ucy4KKyAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQXRSdW50aW1lPVRl
c3RGZWF0dXJlXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGVuYWJsZWRBdFJ1bnRpbWVBdHRyaWJ1dGU7
CisgICAgW0NvbmRpdGlvbmFsPVRFU1RfRkVBVFVSRSwgRW5hYmxlZEF0UnVudGltZT1UZXN0RmVh
dHVyZV0gdm9pZCBlbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uKERPTVN0cmluZyB0ZXN0UGFyYW0p
OworICAgIFtDb25kaXRpb25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZl
YXR1cmVdIHZvaWQgZW5hYmxlZEF0UnVudGltZU9wZXJhdGlvbihsb25nIHRlc3RQYXJhbSk7CisK
ICAgICAvLyBUeXBlZEFycmF5IGF0dHJpYnV0ZQogICAgIGF0dHJpYnV0ZSBGbG9hdDMyQXJyYXkg
dHlwZWRBcnJheUF0dHI7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>