<?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>35845</bug_id>
          
          <creation_ts>2010-03-07 13:07:02 -0800</creation_ts>
          <short_desc>webkitpy/init/logtesting.py: Refactor the code for unit-testing logging</short_desc>
          <delta_ts>2010-03-10 10:33:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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 Jerdonek">cjerdonek</reporter>
          <assigned_to name="Chris Jerdonek">cjerdonek</assigned_to>
          <cc>abarth</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>197028</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-03-07 13:07:02 -0800</bug_when>
    <thetext>The code for unit-testing logging can be simplified and cleaned up somewhat.  It can also be documented more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197029</commentid>
    <comment_count>1</comment_count>
      <attachid>50176</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-03-07 13:47:06 -0800</bug_when>
    <thetext>Created attachment 50176
Proposed patch

This patch needs to be landed after committing the version-checking patch:

https://bugs.webkit.org/show_bug.cgi?id=35788

So the style bot might not work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197989</commentid>
    <comment_count>2</comment_count>
      <attachid>50393</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-03-10 05:00:58 -0800</bug_when>
    <thetext>Created attachment 50393
Proposed patch 2

Revised the patch so it does not depend on another patch being committed.  (The style bot should also work on it now, as a result.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198076</commentid>
    <comment_count>3</comment_count>
      <attachid>50393</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-03-10 06:38:18 -0800</bug_when>
    <thetext>Comment on attachment 50393
Proposed patch 2

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198199</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-03-10 10:33:24 -0800</bug_when>
    <thetext>Manually committed:

http://trac.webkit.org/changeset/55786</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50176</attachid>
            <date>2010-03-07 13:47:06 -0800</date>
            <delta_ts>2010-03-10 05:00:58 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>_patch-35845-1.diff</filename>
            <type>text/plain</type>
            <size>18676</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBhMDI0OTgwLi5iYTdjZDQ3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTAtMDMt
MDcgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3JlZCBhbmQgY2xlYW5l
ZCB1cCB0aGUgY29kZSBmb3IgdW5pdC10ZXN0aW5nIGxvZ2dpbmcuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1ODQ1CisKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L2luaXQvbG9ndGVzdGluZy5weToKKyAgICAgICAgICAtIEFkZGVkIG1vcmUg
aW5mb3JtYXRpb24gdG8gdGhlIG1vZHVsZSBkb2NzdHJpbmcuCisgICAgICAgICAgLSBBZGRlZCBh
biBhc3NlcnRNZXNzYWdlcygpIG1ldGhvZCB0byB0aGUgVW5pdFRlc3RMb2dTdHJlYW0KKyAgICAg
ICAgICAgIGNsYXNzLiAgVGhpcyBzaW1wbGlmaWVzIHRoZSBjYWxsaW5nIGNvZGUuCisgICAgICAg
ICAgLSBSZW5hbWVkIHRoZSBVbml0VGVzdExvZyBjbGFzcyB0byBMb2dUZXN0aW5nLCBhbmQgcmVm
b3JtdWxhdGVkCisgICAgICAgICAgICBpdCBhcyBmb2xsb3dzOgorICAgICAgICAgICAgICAtIE1v
dmVkIHRoZSBsb2dnaW5nIGNvbmZpZ3VyYXRpb24gY29kZSBmcm9tIHRoZSBfX2luaXRfXworICAg
ICAgICAgICAgICAgIG1ldGhvZCB0byBhIG5ldyBzdGF0aWMgc2V0VXAoKSBtZXRob2QuCisgICAg
ICAgICAgICAgIC0gRG9jdW1lbnRlZCB0aGUgX19pbml0X18gbWV0aG9kIHRvIGFzIHByaXZhdGUu
CisgICAgICAgICAgICAgIC0gSW1wcm92ZWQgdGhlIGNvZGUgc28gdGhhdCB0aGUgcm9vdCBsb2dn
ZXIgZG9lcyBub3QgaGF2ZQorICAgICAgICAgICAgICAgIGl0cyBsb2dnaW5nIGxldmVsIGNoYW5n
ZWQuICBJbnN0ZWFkIHdlIHNldCB0aGUgaGFuZGxlcidzCisgICAgICAgICAgICAgICAgbGV2ZWwu
ICBUaGlzIG1ha2VzIHRoZSB1bml0IHRlc3RpbmcgbW9yZSB1bmludHJ1c2l2ZS4KKyAgICAgICAg
ICAgICAgLSBVcGRhdGVkIHRoZSBhc3NlcnRNZXNzYWdlcygpIG1ldGhvZCB0byBjYWxsIHRoZQor
ICAgICAgICAgICAgICAgIFVuaXRUZXN0TG9nU3RyZWFtIGNsYXNzJ3MgYXNzZXJ0TWVzc2FnZXMo
KSBtZXRob2QuCisgICAgICAgICAgICAgIC0gTW9yZSBmdWxseSBkb2N1bWVudGVkIHRoZSBjbGFz
cy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvaW5pdC92ZXJzaW9uaW5nX3VuaXR0ZXN0
LnB5OgorICAgICAgICAgIC0gVXBkYXRlZCBhcyBuZWNlc3NhcnkgdG8gYWNjb21tb2RhdGUgY2hh
bmdlcyB0byBsb2d0ZXN0aW5nLnB5LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2VyLnB5OgorICAgICAgICAgIC0gQWRkZWQgYSBsb2dnZXIgcGFyYW1ldGVyIHRvIHRo
ZSBjb25maWd1cmVfbG9nZ2luZygpIG1ldGhvZC4KKyAgICAgICAgICAgIFRoaXMgYWxsb3dzIHVz
IHRvIHByZXZlbnQgdGVzdCBtZXNzYWdlcyBmcm9tIGJlaW5nIHNlbnQKKyAgICAgICAgICAgIHRv
IHRoZSByb290IGxvZ2dlciBkdXJpbmcgdW5pdCB0ZXN0aW5nLCB3aGljaCBtYXkgYmUKKyAgICAg
ICAgICAgIHJlbmRlcmluZyB0byB0aGUgc2NyZWVuLCBldGMuCisgICAgICAgICAgLSBTaW1wbGlm
aWVkIHRoZSBjb2RlIGJ5IHJlbW92aW5nIHRoZSBfTGV2ZWxMb2dnaW5nRmlsdGVyIGNsYXNzLgor
ICAgICAgICAgIC0gUmVwbGFjZWQgdGhlIF9MZXZlbExvZ2dpbmdGaWx0ZXIgY2xhc3Mgd2l0aCBh
IG9uZS1saW5lIGxhbWJkYQorICAgICAgICAgICAgZXhwcmVzc2lvbiBpbiBjb25maWd1cmVfbG9n
Z2luZygpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyX3VuaXR0
ZXN0LnB5OgorICAgICAgICAgIC0gQ2hhbmdlZCByZWxhdGl2ZSBpbXBvcnRzIHRvIGFic29sdXRl
IHRvIGNvbXBseSBtb3JlIHdpdGggUEVQOC4KKyAgICAgICAgICAtIEluIHRoZSBDb25maWd1cmVM
b2dnaW5nVGVzdCBjbGFzczoKKyAgICAgICAgICAgIC0gQ2hhbmdlZCB0aGUgc2V0VXAoKSBtZXRo
b2QgdG8gcHJldmVudCB0ZXN0IG1lc3NhZ2VzIGZyb20KKyAgICAgICAgICAgICAgYmVpbmcgcHJv
cGFnYXRlZCB0byB0aGUgcm9vdCBsb2dnZXIuCisgICAgICAgICAgICAtIENoYW5nZWQgdGhlIF9s
b2coKSBtZXRob2QgdG8gYSBkYXRhIGF0dHJpYnV0ZS4KKyAgICAgICAgICAgIC0gVXBkYXRlZCB0
byBhY2NvbW1vZGF0ZSBjaGFuZ2VzIHRvIGxvZ3Rlc3RpbmcucHkuCisKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlX3JlZmVyZW5jZXMucHk6CisgICAgICAgICAgLSBVcGRhdGVkIGFu
IGltcG9ydCBzdGF0ZW1lbnQuCisKIDIwMTAtMDMtMDYgIENocmlzIEplcmRvbmVrICA8Y2plcmRv
bmVrQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2luaXQvbG9ndGVzdGluZy5w
eSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvaW5pdC9sb2d0ZXN0aW5nLnB5CmluZGV4
IDYzNjMxMTUuLjEwZDAwZTQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvaW5pdC9sb2d0ZXN0aW5nLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
aW5pdC9sb2d0ZXN0aW5nLnB5CkBAIC0yMCw3ICsyMCwxNiBAQAogIyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogCi0iIiJTdXBwb3J0cyB0aGUgdW5pdC10ZXN0aW5nIG9mIGxv
Z2dpbmcuIiIiCisiIiJTdXBwb3J0cyB0aGUgdW5pdC10ZXN0aW5nIG9mIGxvZ2dpbmcgY29kZS4K
KworUHJvdmlkZXMgc3VwcG9ydCBmb3IgdW5pdC10ZXN0aW5nIG1lc3NhZ2VzIGxvZ2dlZCB1c2lu
ZyB0aGUgYnVpbHQtaW4KK2xvZ2dpbmcgbW9kdWxlLgorCitVc2UgdGhlIExvZ1Rlc3RpbmcgY2xh
c3MgZm9yIGJhc2ljIHRlc3RpbmcgbmVlZHMuICBGb3IgbW9yZSBhZHZhbmNlZAorbmVlZHMgKGUu
Zy4gdW5pdC10ZXN0aW5nIG1ldGhvZHMgdGhhdCBjb25maWd1cmUgbG9nZ2luZyksIHNlZSB0aGUK
K1VuaXRUZXN0TG9nU3RyZWFtIGNsYXNzLgorCisiIiIKIAogaW1wb3J0IGxvZ2dpbmcKIApAQCAt
MzAsOTMgKzM5LDE0MSBAQCBjbGFzcyBVbml0VGVzdExvZ1N0cmVhbShvYmplY3QpOgogICAgICIi
IlJlcHJlc2VudHMgYSBmaWxlLWxpa2Ugb2JqZWN0IGZvciB1bml0LXRlc3RpbmcgbG9nZ2luZy4K
IAogICAgIFRoaXMgaXMgbWVhbnQgZm9yIHBhc3NpbmcgdG8gdGhlIGxvZ2dpbmcuU3RyZWFtSGFu
ZGxlciBjb25zdHJ1Y3Rvci4KKyAgICBMb2cgbWVzc2FnZXMgY2FwdHVyZWQgYnkgaW5zdGFuY2Vz
IG9mIHRoaXMgb2JqZWN0IGNhbiBiZSB0ZXN0ZWQKKyAgICB1c2luZyBzZWxmLmFzc2VydE1lc3Nh
Z2VzKCkgYmVsb3cuCiAKICAgICAiIiIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgdGVzdF9jYXNlKToKKyAgICAgICAgIiIiQ3JlYXRlIGFuIGluc3Rh
bmNlLgorCisgICAgICAgIEFyZ3M6CisgICAgICAgICAgdGVzdF9jYXNlOiBBIHVuaXR0ZXN0LlRl
c3RDYXNlIGluc3RhbmNlLgorCisgICAgICAgICIiIgorICAgICAgICBzZWxmLl90ZXN0X2Nhc2Ug
PSB0ZXN0X2Nhc2UKICAgICAgICAgc2VsZi5tZXNzYWdlcyA9IFtdCiAgICAgICAgICIiIkEgbGlz
dCBvZiBsb2cgbWVzc2FnZXMgd3JpdHRlbiB0byB0aGUgc3RyZWFtLiIiIgogCisgICAgIyBQeXRo
b24gZG9jdW1lbnRhdGlvbiBzYXlzIHRoYXQgYW55IG9iamVjdCBwYXNzZWQgdG8gdGhlIFN0cmVh
bUhhbmRsZXIKKyAgICAjIGNvbnN0cnVjdG9yIHNob3VsZCBzdXBwb3J0IHdyaXRlKCkgYW5kIGZs
dXNoKCk6CisgICAgIworICAgICMgaHR0cDovL2RvY3MucHl0aG9uLm9yZy9saWJyYXJ5L2xvZ2dp
bmcuaHRtbCNtb2R1bGUtbG9nZ2luZy5oYW5kbGVycwogICAgIGRlZiB3cml0ZShzZWxmLCBtZXNz
YWdlKToKICAgICAgICAgc2VsZi5tZXNzYWdlcy5hcHBlbmQobWVzc2FnZSkKIAogICAgIGRlZiBm
bHVzaChzZWxmKToKICAgICAgICAgcGFzcwogCisgICAgZGVmIGFzc2VydE1lc3NhZ2VzKHNlbGYs
IG1lc3NhZ2VzKToKKyAgICAgICAgIiIiQXNzZXJ0IHRoYXQgdGhlIGdpdmVuIG1lc3NhZ2VzIG1h
dGNoIHRoZSBsb2dnZWQgbWVzc2FnZXMuCiAKLWNsYXNzIFVuaXRUZXN0TG9nKG9iamVjdCk6Cisg
ICAgICAgIG1lc3NhZ2VzOiBBIGxpc3Qgb2YgbG9nIG1lc3NhZ2Ugc3RyaW5ncy4KIAotICAgICIi
IlN1cHBvcnRzIHVuaXQtdGVzdGluZyBsb2dnaW5nLgorICAgICAgICAiIiIKKyAgICAgICAgc2Vs
Zi5fdGVzdF9jYXNlLmFzc2VydEVxdWFscyhtZXNzYWdlcywgc2VsZi5tZXNzYWdlcykKKworCitj
bGFzcyBMb2dUZXN0aW5nKG9iamVjdCk6CisKKyAgICAiIiJTdXBwb3J0cyBlbmQtdG8tZW5kIHVu
aXQtdGVzdGluZyBvZiBsb2cgbWVzc2FnZXMuCisKKyAgICAgICAgU2FtcGxlIHVzYWdlOgogCi0g
ICAgU2FtcGxlIHVzYWdlOgorICAgICAgICAgIGNsYXNzIFNhbXBsZVRlc3QodW5pdHRlc3QuVGVz
dENhc2UpOgogCi0gICAgIyBUaGUgZm9sbG93aW5nIGxpbmUgc2hvdWxkIGdvIGluIHRoZSBzZXRV
cCgpIG1ldGhvZCBvZiBhCi0gICAgIyB1bml0dGVzdC5UZXN0Q2FzZS4gIEluIHBhcnRpY3VsYXIs
IHNlbGYgaXMgYSBUZXN0Q2FzZSBpbnN0YW5jZS4KLSAgICBzZWxmLl9sb2cgPSBVbml0VGVzdExv
ZyhzZWxmKQorICAgICAgICAgICAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgICAgICAgICAg
ICBzZWxmLl9sb2cgPSBMb2dUZXN0aW5nLnNldFVwKHNlbGYpICAjIFR1cm4gbG9nZ2luZyBvbi4K
IAotICAgICMgQ2FsbCB0aGUgZm9sbG93aW5nIGluIGEgdGVzdCBtZXRob2Qgb2YgYSB1bml0dGVz
dC5UZXN0Q2FzZS4KLSAgICBsb2cgPSBsb2dnaW5nLmdldExvZ2dlcigid2Via2l0cHkiKQotICAg
IGxvZy5pbmZvKCJtZXNzYWdlMSIpCi0gICAgbG9nLndhcm4oIm1lc3NhZ2UyIikKLSAgICBzZWxm
Ll9sb2cuYXNzZXJ0TWVzc2FnZXMoWyJJTkZPOiBtZXNzYWdlMVxuIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJXQVJOOiBtZXNzYWdlMlxuIl0pICAjIFNob3VsZCBzdWNjZWVkLgor
ICAgICAgICAgICAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICAgICAgICAgICBzZWxm
Ll9sb2cudGVhckRvd24oKSAgIyBUdXJuIG9mZiBhbmQgcmVzZXQgbG9nZ2luZy4KIAotICAgICMg
VGhlIGZvbGxvd2luZyBsaW5lIHNob3VsZCBnbyBpbiB0aGUgdGVhckRvd24oKSBtZXRob2Qgb2YK
LSAgICAjIHVuaXR0ZXN0LlRlc3RDYXNlLgotICAgIHNlbGYuX2xvZy50ZWFyRG93bigpCisgICAg
ICAgICAgICAgIGRlZiB0ZXN0X2xvZ2dpbmdfaW5fc29tZV9tZXRob2Qoc2VsZik6CisgICAgICAg
ICAgICAgICAgICBjYWxsX3NvbWVfbWV0aG9kKCkgICMgQ29udGFpbnMgY2FsbHMgdG8gX2xvZy5p
bmZvKCksIGV0Yy4KKworICAgICAgICAgICAgICAgICAgIyBDaGVjayB0aGUgcmVzdWx0aW5nIGxv
ZyBtZXNzYWdlcy4KKyAgICAgICAgICAgICAgICAgIHNlbGYuX2xvZy5hc3NlcnRNZXNzYWdlcyhb
IklORk86IGV4cGVjdGVkIG1lc3NhZ2UgIzEiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIldBUk5JTkc6IGV4cGVjdGVkIG1lc3NhZ2UgIzIiXSkKIAogICAgICIi
IgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfY2FzZSwgbG9nZ2luZ19sZXZlbD1Ob25l
KToKLSAgICAgICAgIiIiQ29uZmlndXJlIHVuaXQgdGVzdCBsb2dnaW5nLCBhbmQgcmV0dXJuIGFu
IGluc3RhbmNlLgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXN0X3N0cmVhbSwgaGFuZGxlcik6
CisgICAgICAgICIiIkNyZWF0ZSBhbiBpbnN0YW5jZS4KKworICAgICAgICBUaGlzIG1ldGhvZCBz
aG91bGQgbmV2ZXIgYmUgY2FsbGVkIGRpcmVjdGx5LiAgSW5zdGFuY2VzIHNob3VsZAorICAgICAg
ICBpbnN0ZWFkIGJlIGNyZWF0ZWQgdXNpbmcgdGhlIHN0YXRpYyBzZXRVcCgpIG1ldGhvZC4KKwor
ICAgICAgICBBcmdzOgorICAgICAgICAgIHRlc3Rfc3RyZWFtOiBBIFVuaXRUZXN0TG9nU3RyZWFt
IGluc3RhbmNlLgorICAgICAgICAgIGhhbmRsZXI6IFRoZSBoYW5kbGVyIGFkZGVkIHRvIHRoZSBs
b2dnZXIuCisKKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYuX3Rlc3Rfc3RyZWFtID0gdGVzdF9z
dHJlYW0KKyAgICAgICAgc2VsZi5faGFuZGxlciA9IGhhbmRsZXIKKworICAgIEBzdGF0aWNtZXRo
b2QKKyAgICBkZWYgX2dldExvZ2dlcigpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGxvZ2dlciBi
ZWluZyB0ZXN0ZWQuIiIiCisgICAgICAgICMgSXQgaXMgcG9zc2libGUgd2UgbWlnaHQgd2FudCB0
byByZXR1cm4gc29tZXRoaW5nIG90aGVyIHRoYW4KKyAgICAgICAgIyB0aGUgcm9vdCBsb2dnZXIg
aW4gc29tZSBzcGVjaWFsIHNpdHVhdGlvbi4gIEZvciBub3csIHRoZQorICAgICAgICAjIHJvb3Qg
bG9nZ2VyIHNlZW1zIHRvIHN1ZmZpY2UuCisgICAgICAgIHJldHVybiBsb2dnaW5nLmdldExvZ2dl
cigpCisKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIHNldFVwKHRlc3RfY2FzZSwgbG9nZ2lu
Z19sZXZlbD1sb2dnaW5nLklORk8pOgorICAgICAgICAiIiJDb25maWd1cmUgbG9nZ2luZyBmb3Ig
dW5pdCB0ZXN0aW5nLgogCi0gICAgICAgIFRoaXMgbWV0aG9kIGNvbmZpZ3VyZXMgdGhlIHJvb3Qg
bG9nZ2VyIHRvIGxvZyB0byBhIHRlc3RpbmcKLSAgICAgICAgbG9nIHN0cmVhbS4gIE9ubHkgbWVz
c2FnZXMgbG9nZ2VkIGF0IG9yIGFib3ZlIHRoZSBnaXZlbiBsZXZlbAotICAgICAgICBhcmUgbG9n
Z2VkIHRvIHRoZSBzdHJlYW0uICBNZXNzYWdlcyBhcmUgZm9ybWF0dGVkIGluIHRoZQotICAgICAg
ICBmb2xsb3dpbmcgd2F5LCBmb3IgZXhhbXBsZS0tCisgICAgICAgIENvbmZpZ3VyZXMgdGhlIHJv
b3QgbG9nZ2VyIHRvIGxvZyB0byBhIHRlc3RpbmcgbG9nIHN0cmVhbS4KKyAgICAgICAgT25seSBt
ZXNzYWdlcyBsb2dnZWQgYXQgb3IgYWJvdmUgdGhlIGdpdmVuIGxldmVsIGFyZSBsb2dnZWQKKyAg
ICAgICAgdG8gdGhlIHN0cmVhbS4gIE1lc3NhZ2VzIGxvZ2dlZCB0byB0aGUgc3RyZWFtIGFyZSBm
b3JtYXR0ZWQKKyAgICAgICAgaW4gdGhlIGZvbGxvd2luZyB3YXksIGZvciBleGFtcGxlLS0KIAog
ICAgICAgICAiSU5GTzogVGhpcyBpcyBhIHRlc3QgbG9nIG1lc3NhZ2UuIgogCiAgICAgICAgIFRo
aXMgbWV0aG9kIHNob3VsZCBub3JtYWxseSBiZSBjYWxsZWQgaW4gdGhlIHNldFVwKCkgbWV0aG9k
Ci0gICAgICAgIG9mIGEgdW5pdHRlc3QuVGVzdENhc2UuCisgICAgICAgIG9mIGEgdW5pdHRlc3Qu
VGVzdENhc2UuICBTZWUgdGhlIGRvY3N0cmluZyBvZiB0aGlzIGNsYXNzCisgICAgICAgIGZvciBt
b3JlIGRldGFpbHMuCisKKyAgICAgICAgUmV0dXJuczoKKyAgICAgICAgICBBIExvZ1Rlc3Rpbmcg
aW5zdGFuY2UuCiAKICAgICAgICAgQXJnczoKICAgICAgICAgICB0ZXN0X2Nhc2U6IEEgdW5pdHRl
c3QuVGVzdENhc2UgaW5zdGFuY2UuCi0gICAgICAgICAgbG9nZ2luZ19sZXZlbDogQSBsb2dnaW5n
IGxldmVsLiAgT25seSBtZXNzYWdlcyBsb2dnZWQgYXQgb3IKLSAgICAgICAgICAgICAgICAgICAg
ICAgICBhYm92ZSB0aGlzIGxldmVsIGFyZSB3cml0dGVuIHRvIHRoZSB0ZXN0aW5nCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgbG9nIHN0cmVhbS4gIERlZmF1bHRzIHRvIGxvZ2dpbmcuSU5GTy4K
KyAgICAgICAgICBsb2dnaW5nX2xldmVsOiBBbiBpbnRlZ2VyIGxvZ2dpbmcgbGV2ZWwgdGhhdCBp
cyB0aGUgbWluaW11bSBsZXZlbAorICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGxvZyBtZXNz
YWdlcyB5b3Ugd291bGQgbGlrZSB0byB0ZXN0LgogCiAgICAgICAgICIiIgotICAgICAgICBpZiBs
b2dnaW5nX2xldmVsIGlzIE5vbmU6Ci0gICAgICAgICAgICBsb2dnaW5nX2xldmVsID0gbG9nZ2lu
Zy5JTkZPCi0KLSAgICAgICAgc3RyZWFtID0gVW5pdFRlc3RMb2dTdHJlYW0oKQorICAgICAgICBz
dHJlYW0gPSBVbml0VGVzdExvZ1N0cmVhbSh0ZXN0X2Nhc2UpCiAgICAgICAgIGhhbmRsZXIgPSBs
b2dnaW5nLlN0cmVhbUhhbmRsZXIoc3RyZWFtKQorICAgICAgICBoYW5kbGVyLnNldExldmVsKGxv
Z2dpbmdfbGV2ZWwpCiAgICAgICAgIGZvcm1hdHRlciA9IGxvZ2dpbmcuRm9ybWF0dGVyKCIlKGxl
dmVsbmFtZSlzOiAlKG1lc3NhZ2UpcyIpCiAgICAgICAgIGhhbmRsZXIuc2V0Rm9ybWF0dGVyKGZv
cm1hdHRlcikKIAotICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigpCi0gICAgICAg
IGxvZ2dlci5zZXRMZXZlbChsb2dnaW5nX2xldmVsKQorICAgICAgICAjIE5vdGljZSB0aGF0IHdl
IG9ubHkgY2hhbmdlIHRoZSByb290IGxvZ2dlciBieSBhZGRpbmcgYSBoYW5kbGVyCisgICAgICAg
ICMgdG8gaXQuICBJbiBwYXJ0aWN1bGFyLCB3ZSBkbyBub3QgcmVzZXQgaXRzIGxldmVsIHVzaW5n
CisgICAgICAgICMgbG9nZ2VyLnNldExldmVsKCkuICBUaGlzIGVuc3VyZXMgdGhhdCB3ZSBoYXZl
IG5vdCBpbnRlcmZlcmVkCisgICAgICAgICMgd2l0aCBob3cgdGhlIGNvZGUgYmVpbmcgdGVzdGVk
IG1heSBoYXZlIGNvbmZpZ3VyZWQgdGhlIHJvb3QKKyAgICAgICAgIyBsb2dnZXIuCisgICAgICAg
IGxvZ2dlciA9IExvZ1Rlc3RpbmcuX2dldExvZ2dlcigpCiAgICAgICAgIGxvZ2dlci5hZGRIYW5k
bGVyKGhhbmRsZXIpCiAKLSAgICAgICAgc2VsZi5faGFuZGxlciA9IGhhbmRsZXIKLSAgICAgICAg
c2VsZi5fbWVzc2FnZXMgPSBzdHJlYW0ubWVzc2FnZXMKLSAgICAgICAgc2VsZi5fdGVzdF9jYXNl
ID0gdGVzdF9jYXNlCi0KLSAgICBkZWYgX2xvZ2dlcihzZWxmKToKLSAgICAgICAgIiIiUmV0dXJu
IHRoZSByb290IGxvZ2dlciB1c2VkIGZvciBsb2dnaW5nLiIiIgotICAgICAgICByZXR1cm4gbG9n
Z2luZy5nZXRMb2dnZXIoKQotCi0gICAgZGVmIGFzc2VydE1lc3NhZ2VzKHNlbGYsIG1lc3NhZ2Vz
KToKLSAgICAgICAgIiIiQXNzZXJ0IHRoYXQgdGhlIGdpdmVuIG1lc3NhZ2VzIG1hdGNoIHRoZSBs
b2dnZWQgbWVzc2FnZXMuIiIiCi0gICAgICAgIHNlbGYuX3Rlc3RfY2FzZS5hc3NlcnRFcXVhbHMo
bWVzc2FnZXMsIHNlbGYuX21lc3NhZ2VzKQorICAgICAgICByZXR1cm4gTG9nVGVzdGluZyhzdHJl
YW0sIGhhbmRsZXIpCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6Ci0gICAgICAgICIiIlVuY29u
ZmlndXJlIHVuaXQgdGVzdCBsb2dnaW5nLgorICAgICAgICAiIiJSZXN0b3JlIGxvZ2dpbmcgdG8g
aXRzIG9yaWdpbmFsIHN0YXRlLgogCi0gICAgICAgIFRoaXMgc2hvdWxkIG5vcm1hbGx5IGJlIGNh
bGxlZCBpbiB0aGUgdGVhckRvd24gbWV0aG9kIG9mIGEKLSAgICAgICAgdW5pdHRlc3QuVGVzdENh
c2UKKyAgICAgICAgVGhpcyBzaG91bGQgbm9ybWFsbHkgYmUgY2FsbGVkIGluIHRoZSB0ZWFyRG93
bigpIG1ldGhvZCBvZiBhCisgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlLiAgU2VlIHRoZSBkb2Nz
dHJpbmcgb2YgdGhpcyBjbGFzcyBmb3IgbW9yZQorICAgICAgICBkZXRhaWxzLgogCiAgICAgICAg
ICIiIgotICAgICAgICBsb2dnZXIgPSBzZWxmLl9sb2dnZXIoKQorICAgICAgICBsb2dnZXIgPSBM
b2dUZXN0aW5nLl9nZXRMb2dnZXIoKQogICAgICAgICBsb2dnZXIucmVtb3ZlSGFuZGxlcihzZWxm
Ll9oYW5kbGVyKQorCisgICAgZGVmIGFzc2VydE1lc3NhZ2VzKHNlbGYsIG1lc3NhZ2VzKToKKyAg
ICAgICAgIiIiQXNzZXJ0IHRoYXQgdGhlIGdpdmVuIG1lc3NhZ2VzIG1hdGNoIHRoZSBsb2dnZWQg
bWVzc2FnZXMuCisKKyAgICAgICAgbWVzc2FnZXM6IEEgbGlzdCBvZiBsb2cgbWVzc2FnZSBzdHJp
bmdzLgorCisgICAgICAgICIiIgorICAgICAgICBzZWxmLl90ZXN0X3N0cmVhbS5hc3NlcnRNZXNz
YWdlcyhtZXNzYWdlcykKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
aW5pdC92ZXJzaW9uaW5nX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9pbml0L3ZlcnNpb25pbmdfdW5pdHRlc3QucHkKaW5kZXggNTk4NDJlYS4uNWFiMmRlZiAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9pbml0L3ZlcnNpb25pbmdfdW5p
dHRlc3QucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9pbml0L3ZlcnNpb25p
bmdfdW5pdHRlc3QucHkKQEAgLTI1LDcgKzI1LDcgQEAKIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQg
dW5pdHRlc3QKIAotZnJvbSBsb2d0ZXN0aW5nIGltcG9ydCBVbml0VGVzdExvZworZnJvbSBsb2d0
ZXN0aW5nIGltcG9ydCBMb2dUZXN0aW5nCiBmcm9tIHZlcnNpb25pbmcgaW1wb3J0IGNoZWNrX3Zl
cnNpb24KIGZyb20gdmVyc2lvbmluZyBpbXBvcnQgY29tcGFyZV92ZXJzaW9uCiAKQEAgLTEwNCw3
ICsxMDQsNyBAQCBjbGFzcyBDaGVja1ZlcnNpb25UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAg
ICAiIiJUZXN0cyBjaGVja192ZXJzaW9uKCkuIiIiCiAKICAgICBkZWYgc2V0VXAoc2VsZik6Ci0g
ICAgICAgIHNlbGYuX2xvZyA9IFVuaXRUZXN0TG9nKHNlbGYpCisgICAgICAgIHNlbGYuX2xvZyA9
IExvZ1Rlc3Rpbmcuc2V0VXAoc2VsZikKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAg
ICAgc2VsZi5fbG9nLnRlYXJEb3duKCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvc3R5bGUvY2hlY2tlci5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
c3R5bGUvY2hlY2tlci5weQppbmRleCA5MmQ2NWQzLi5mOGJhNGY1IDEwMDY0NAotLS0gYS9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHkKKysrIGIvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5CkBAIC0yMzAsMTIgKzIzMCwxMiBA
QCBkZWYgY2hlY2tfd2Via2l0X3N0eWxlX2NvbmZpZ3VyYXRpb24ob3B0aW9ucyk6CiAjICAgICAg
ICBUaGlzIGNhbiB1c2UgYSBmb3JtYXR0ZXIgbGlrZSB0aGUgZm9sbG93aW5nLCBmb3IgZXhhbXBs
ZS0tCiAjCiAjICAgICAgICBmb3JtYXR0ZXIgPSBsb2dnaW5nLkZvcm1hdHRlcigiJShuYW1lKXM6
IFslKGxldmVsbmFtZSlzXSAlKG1lc3NhZ2UpcyIpCi1kZWYgY29uZmlndXJlX2xvZ2dpbmcoc3Ry
ZWFtKToKK2RlZiBjb25maWd1cmVfbG9nZ2luZyhzdHJlYW0sIGxvZ2dlcj1Ob25lKToKICAgICAi
IiJDb25maWd1cmUgbG9nZ2luZywgYW5kIHJldHVybiB0aGUgbGlzdCBvZiBoYW5kbGVycyBhZGRl
ZC4KIAotICAgIENvbmZpZ3VyZXMgdGhlIHJvb3QgbG9nZ2VyIHRvIGxvZyBJTkZPIG1lc3NhZ2Vz
IGFuZCBoaWdoZXIuCi0gICAgRm9ybWF0cyBXQVJOSU5HIG1lc3NhZ2VzIGFuZCBhYm92ZSB0byBk
aXNwbGF5IHRoZSBsb2dnaW5nIGxldmVsCi0gICAgYW5kIG1lc3NhZ2VzIHN0cmljdGx5IGJlbG93
IFdBUk5JTkcgbm90IHRvIGRpc3BsYXkgaXQuCisgICAgQ29uZmlndXJlcyBhIGxvZ2dlciB0byBs
b2cgSU5GTyBtZXNzYWdlcyBhbmQgaGlnaGVyLiAgRm9ybWF0cyBXQVJOSU5HCisgICAgbWVzc2Fn
ZXMgYW5kIGFib3ZlIHRvIGRpc3BsYXkgdGhlIGxvZ2dpbmcgbGV2ZWwsIGFuZCBtZXNzYWdlcyBz
dHJpY3RseQorICAgIGJlbG93IFdBUk5JTkcgbm90IHRvIGRpc3BsYXkgaXQuCiAKICAgICBSZXR1
cm5zOgogICAgICAgQSBsaXN0IG9mIHJlZmVyZW5jZXMgdG8gdGhlIGxvZ2dpbmcgaGFuZGxlcnMg
YWRkZWQgdG8gdGhlIHJvb3QKQEAgLTI0OCw2ICsyNDgsOSBAQCBkZWYgY29uZmlndXJlX2xvZ2dp
bmcoc3RyZWFtKToKICAgICAgIHN0cmVhbTogQSBmaWxlLWxpa2Ugb2JqZWN0IHRvIHdoaWNoIHRv
IGxvZy4gIFRoZSBzdHJlYW0gbXVzdAogICAgICAgICAgICAgICBkZWZpbmUgYW4gImVuY29kaW5n
IiBkYXRhIGF0dHJpYnV0ZSwgb3IgZWxzZSBsb2dnaW5nCiAgICAgICAgICAgICAgIHJhaXNlcyBh
biBlcnJvci4KKyAgICAgIGxvZ2dlcjogQSBsb2dnaW5nLmxvZ2dlciBpbnN0YW5jZSB0byBjb25m
aWd1cmUuICBUaGlzIHBhcmFtZXRlcgorICAgICAgICAgICAgICBzaG91bGQgYmUgdXNlZCBvbmx5
IGluIHVuaXQgdGVzdHMuICBEZWZhdWx0cyB0byB0aGUKKyAgICAgICAgICAgICAgcm9vdCBsb2dn
ZXIuCiAKICAgICAiIiIKICAgICAjIElmIHRoZSBzdHJlYW0gZG9lcyBub3QgZGVmaW5lIGFuICJl
bmNvZGluZyIgZGF0YSBhdHRyaWJ1dGUsIHRoZQpAQCAtMjY1LDE0ICsyNjgsMTkgQEAgZGVmIGNv
bmZpZ3VyZV9sb2dnaW5nKHN0cmVhbSk6CiAgICAgZm9ybWF0dGVyID0gbG9nZ2luZy5Gb3JtYXR0
ZXIoIiUobGV2ZWxuYW1lKXM6ICUobWVzc2FnZSlzIikKICAgICBlcnJvcl9oYW5kbGVyLnNldEZv
cm1hdHRlcihmb3JtYXR0ZXIpCiAKLSAgICAjIEhhbmRsZXMgcmVjb3JkcyBzdHJpY3RseSBiZWxv
dyBsb2dnaW5nLldBUk5JTkcuCisgICAgIyBDcmVhdGUgYSBsb2dnaW5nLkZpbHRlciBpbnN0YW5j
ZSB0aGF0IG9ubHkgYWNjZXB0cyBtZXNzYWdlcworICAgICMgYmVsb3cgV0FSTklORyAoaS5lLiBm
aWx0ZXJzIG91dCBhbnl0aGluZyBXQVJOSU5HIG9yIGFib3ZlKS4KKyAgICBub25fZXJyb3JfZmls
dGVyID0gbG9nZ2luZy5GaWx0ZXIoKQorICAgICMgVGhlIGZpbHRlciBtZXRob2QgYWNjZXB0cyBh
IGxvZ2dpbmcuTG9nUmVjb3JkIGluc3RhbmNlLgorICAgIG5vbl9lcnJvcl9maWx0ZXIuZmlsdGVy
ID0gbGFtYmRhIHJlY29yZDogcmVjb3JkLmxldmVsbm8gPCBsb2dnaW5nLldBUk5JTkcKKwogICAg
IG5vbl9lcnJvcl9oYW5kbGVyID0gbG9nZ2luZy5TdHJlYW1IYW5kbGVyKHN0cmVhbSkKLSAgICBu
b25fZXJyb3JfZmlsdGVyID0gX0xldmVsTG9nZ2luZ0ZpbHRlcihsb2dnaW5nLldBUk5JTkcpCiAg
ICAgbm9uX2Vycm9yX2hhbmRsZXIuYWRkRmlsdGVyKG5vbl9lcnJvcl9maWx0ZXIpCiAgICAgZm9y
bWF0dGVyID0gbG9nZ2luZy5Gb3JtYXR0ZXIoIiUobWVzc2FnZSlzIikKICAgICBub25fZXJyb3Jf
aGFuZGxlci5zZXRGb3JtYXR0ZXIoZm9ybWF0dGVyKQogCi0gICAgbG9nZ2VyID0gbG9nZ2luZy5n
ZXRMb2dnZXIoKQorICAgIGlmIGxvZ2dlciBpcyBOb25lOgorICAgICAgICBsb2dnZXIgPSBsb2dn
aW5nLmdldExvZ2dlcigpCiAgICAgbG9nZ2VyLnNldExldmVsKGxvZ2dpbmcuSU5GTykKIAogICAg
IGhhbmRsZXJzID0gW2Vycm9yX2hhbmRsZXIsIG5vbl9lcnJvcl9oYW5kbGVyXQpAQCAtMjgzLDMx
ICsyOTEsNiBAQCBkZWYgY29uZmlndXJlX2xvZ2dpbmcoc3RyZWFtKToKICAgICByZXR1cm4gaGFu
ZGxlcnMKIAogCi0jIEZJWE1FOiBDb25zaWRlciBtb3ZpbmcgdGhpcyBjbGFzcyBpbnRvIGEgbW9k
dWxlIGluIHdlYmtpdHB5LmluaXQgYWZ0ZXIKLSMgICAgICAgIGdldHRpbmcgbW9yZSBleHBlcmll
bmNlIHdpdGggaXRzIHVzZS4gIFdlIHdhbnQgdG8gbWFrZSBzdXJlCi0jICAgICAgICB3ZSBoYXZl
IHRoZSByaWdodCBBUEkgYmVmb3JlIGRvaW5nIHNvLiAgRm9yIGV4YW1wbGUsIHdlIG1heQotIyAg
ICAgICAgd2FudCB0byBwcm92aWRlIGEgY29uc3RydWN0b3IgdGhhdCBoYXMgYm90aCB1cHBlciBh
bmQgbG93ZXIKLSMgICAgICAgIGJvdW5kcywgYW5kIG5vdCBqdXN0IGFuIHVwcGVyIGJvdW5kLgot
Y2xhc3MgX0xldmVsTG9nZ2luZ0ZpbHRlcihvYmplY3QpOgotCi0gICAgIiIiQSBsb2dnaW5nIGZp
bHRlciBmb3IgYmxvY2tpbmcgcmVjb3JkcyBhdCBvciBhYm92ZSBhIGNlcnRhaW4gbGV2ZWwuIiIi
Ci0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2luZ19sZXZlbCk6Ci0gICAgICAgICIiIkNy
ZWF0ZSBhIF9MZXZlbExvZ2dpbmdGaWx0ZXIuCi0KLSAgICAgICAgQXJnczoKLSAgICAgICAgICBs
b2dnaW5nX2xldmVsOiBUaGUgbG9nZ2luZyBsZXZlbCBjdXQtb2ZmLiAgTG9nZ2luZyBsZXZlbHMg
YXQKLSAgICAgICAgICAgICAgICAgICAgICAgICBvciBhYm92ZSB0aGlzIGxldmVsIHdpbGwgbm90
IGJlIGxvZ2dlZC4KLQotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5fbG9nZ2luZ19sZXZlbCA9
IGxvZ2dpbmdfbGV2ZWwKLQotICAgICMgVGhlIGxvZ2dpbmcgbW9kdWxlIHJlcXVpcmVzIHRoYXQg
dGhpcyBtZXRob2QgYmUgZGVmaW5lZC4KLSAgICBkZWYgZmlsdGVyKHNlbGYsIGxvZ19yZWNvcmQp
OgotICAgICAgICAiIiJSZXR1cm4gd2hldGhlciBnaXZlbiB0aGUgTG9nUmVjb3JkIHNob3VsZCBi
ZSBsb2dnZWQuIiIiCi0gICAgICAgIHJldHVybiBsb2dfcmVjb3JkLmxldmVsbm8gPCBzZWxmLl9s
b2dnaW5nX2xldmVsCi0KLQogIyBFbnVtLWxpa2UgaWRpb20KIGNsYXNzIEZpbGVUeXBlOgogCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5p
dHRlc3QucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5p
dHRlc3QucHkKaW5kZXggZDg2NjY2My4uMDZiYjE5MSAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5weQpAQCAtMzgsOCAr
MzgsOCBAQCBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IHVuaXR0ZXN0CiAKIGltcG9ydCBjaGVja2Vy
IGFzIHN0eWxlCi1mcm9tIC4uc3R5bGVfcmVmZXJlbmNlcyBpbXBvcnQgVW5pdFRlc3RMb2cKLWZy
b20gLi5zdHlsZV9yZWZlcmVuY2VzIGltcG9ydCBVbml0VGVzdExvZ1N0cmVhbQorZnJvbSB3ZWJr
aXRweS5zdHlsZV9yZWZlcmVuY2VzIGltcG9ydCBMb2dUZXN0aW5nCitmcm9tIHdlYmtpdHB5LnN0
eWxlX3JlZmVyZW5jZXMgaW1wb3J0IFVuaXRUZXN0TG9nU3RyZWFtCiBmcm9tIGNoZWNrZXIgaW1w
b3J0IF9CQVNFX0ZJTFRFUl9SVUxFUwogZnJvbSBjaGVja2VyIGltcG9ydCBfTUFYX1JFUE9SVFNf
UEVSX0NBVEVHT1JZCiBmcm9tIGNoZWNrZXIgaW1wb3J0IF9QQVRIX1JVTEVTX1NQRUNJRklFUiBh
cyBQQVRIX1JVTEVTX1NQRUNJRklFUgpAQCAtNjMsOSArNjMsMTkgQEAgY2xhc3MgQ29uZmlndXJl
TG9nZ2luZ1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICIiIlRlc3RzIHRoZSBjb25maWd1
cmVfbG9nZ2luZygpIGZ1bmN0aW9uLiIiIgogCiAgICAgZGVmIHNldFVwKHNlbGYpOgotICAgICAg
ICBsb2dfc3RyZWFtID0gVW5pdFRlc3RMb2dTdHJlYW0oKQotCi0gICAgICAgIHNlbGYuX2hhbmRs
ZXJzID0gY29uZmlndXJlX2xvZ2dpbmcobG9nX3N0cmVhbSkKKyAgICAgICAgbG9nX3N0cmVhbSA9
IFVuaXRUZXN0TG9nU3RyZWFtKHNlbGYpCisgICAgICAgICMgVXNlIGEgbG9nZ2VyIG90aGVyIHRo
YW4gdGhlIHJvb3QgbG9nZ2VyIG9yIG9uZSBwcmVmaXhlZCB3aXRoCisgICAgICAgICMgd2Via2l0
IHNvIGFzIG5vdCB0byBjb25mbGljdCB3aXRoIHRlc3Qtd2Via2l0cHkgbG9nZ2luZy4KKyAgICAg
ICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoInVuaXR0ZXN0IikKKworICAgICAgICAjIENv
bmZpZ3VyZSB0aGUgdGVzdCBsb2dnZXIgbm90IHRvIHBhc3MgbWVzc2FnZXMgYWxvbmcgdG8gdGhl
CisgICAgICAgICMgcm9vdCBsb2dnZXIuICBUaGlzIHByZXZlbnRzIHRlc3QgbWVzc2FnZXMgZnJv
bSBiZWluZworICAgICAgICAjIHByb3BhZ2F0ZWQgdG8gbG9nZ2VycyB1c2VkIGJ5IHRlc3Qtd2Vi
a2l0cHkgbG9nZ2luZyAoZS5nLgorICAgICAgICAjIHRoZSByb290IGxvZ2dlcikuCisgICAgICAg
IGxvZ2dlci5wcm9wYWdhdGUgPSBGYWxzZQorCisgICAgICAgIHNlbGYuX2hhbmRsZXJzID0gY29u
ZmlndXJlX2xvZ2dpbmcobG9nX3N0cmVhbSwgbG9nZ2VyKQorICAgICAgICBzZWxmLl9sb2cgPSBs
b2dnZXIKICAgICAgICAgc2VsZi5fbG9nX3N0cmVhbSA9IGxvZ19zdHJlYW0KIAogICAgIGRlZiB0
ZWFyRG93bihzZWxmKToKQEAgLTc1LDIxICs4NSwxNiBAQCBjbGFzcyBDb25maWd1cmVMb2dnaW5n
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGZvciBhIHVuaXQgdGVzdCBkb2VzIG5v
dCBhZmZlY3QgbG9nZ2luZyBpbiBvdGhlciB1bml0IHRlc3RzLgogCiAgICAgICAgICIiIgotICAg
ICAgICAjIFRoaXMgc2hvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSBsb2dnZXIgY29uZmlndXJlZCBp
biB0aGUKLSAgICAgICAgIyBjb25maWd1cmVfbG9nZ2luZygpIG1ldGhvZC4KLSAgICAgICAgbG9n
Z2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoKQorICAgICAgICBsb2dnZXIgPSBzZWxmLl9sb2cKICAg
ICAgICAgZm9yIGhhbmRsZXIgaW4gc2VsZi5faGFuZGxlcnM6CiAgICAgICAgICAgICBsb2dnZXIu
cmVtb3ZlSGFuZGxlcihoYW5kbGVyKQogCi0gICAgZGVmIF9sb2coc2VsZik6Ci0gICAgICAgIHJl
dHVybiBsb2dnaW5nLmdldExvZ2dlcigid2Via2l0cHkiKQotCiAgICAgZGVmIGFzc2VydF9sb2df
bWVzc2FnZXMoc2VsZiwgbWVzc2FnZXMpOgogICAgICAgICAiIiJBc3NlcnQgdGhhdCB0aGUgbG9n
Z2VkIG1lc3NhZ2VzIGVxdWFsIHRoZSBnaXZlbiBtZXNzYWdlcy4iIiIKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHMobWVzc2FnZXMsIHNlbGYuX2xvZ19zdHJlYW0ubWVzc2FnZXMpCisgICAgICAg
IHNlbGYuX2xvZ19zdHJlYW0uYXNzZXJ0TWVzc2FnZXMobWVzc2FnZXMpCiAKICAgICBkZWYgdGVz
dF93YXJuaW5nX21lc3NhZ2Uoc2VsZik6Ci0gICAgICAgIHNlbGYuX2xvZygpLndhcm4oInRlc3Qg
bWVzc2FnZSIpCisgICAgICAgIHNlbGYuX2xvZy53YXJuKCJ0ZXN0IG1lc3NhZ2UiKQogICAgICAg
ICBzZWxmLmFzc2VydF9sb2dfbWVzc2FnZXMoWyJXQVJOSU5HOiB0ZXN0IG1lc3NhZ2VcbiJdKQog
CiAgICAgZGVmIHRlc3RfYmVsb3dfd2FybmluZ19tZXNzYWdlKHNlbGYpOgpAQCAtOTcsMTYgKzEw
MiwxNiBAQCBjbGFzcyBDb25maWd1cmVMb2dnaW5nVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAg
ICAgICAgICMgSW4gcHJhY3RpY2UsIHdlIHdpbGwgcHJvYmFibHkgb25seSBiZSBjYWxsaW5nIGxv
Zy5pbmZvKCksCiAgICAgICAgICMgd2hpY2ggY29ycmVzcG9uZHMgdG8gYSBsb2dnaW5nIGxldmVs
IG9mIDIwLgogICAgICAgICBsZXZlbCA9IGxvZ2dpbmcuV0FSTklORyAtIDEgICMgRXF1YWxzIDI5
LgotICAgICAgICBzZWxmLl9sb2coKS5sb2cobGV2ZWwsICJ0ZXN0IG1lc3NhZ2UiKQorICAgICAg
ICBzZWxmLl9sb2cubG9nKGxldmVsLCAidGVzdCBtZXNzYWdlIikKICAgICAgICAgc2VsZi5hc3Nl
cnRfbG9nX21lc3NhZ2VzKFsidGVzdCBtZXNzYWdlXG4iXSkKIAogICAgIGRlZiB0ZXN0X2RlYnVn
X21lc3NhZ2Uoc2VsZik6Ci0gICAgICAgIHNlbGYuX2xvZygpLmRlYnVnKCJ0ZXN0IG1lc3NhZ2Ui
KQorICAgICAgICBzZWxmLl9sb2cuZGVidWcoInRlc3QgbWVzc2FnZSIpCiAgICAgICAgIHNlbGYu
YXNzZXJ0X2xvZ19tZXNzYWdlcyhbXSkKIAogICAgIGRlZiB0ZXN0X3R3b19tZXNzYWdlcyhzZWxm
KToKLSAgICAgICAgc2VsZi5fbG9nKCkuaW5mbygibWVzc2FnZTEiKQotICAgICAgICBzZWxmLl9s
b2coKS5pbmZvKCJtZXNzYWdlMiIpCisgICAgICAgIHNlbGYuX2xvZy5pbmZvKCJtZXNzYWdlMSIp
CisgICAgICAgIHNlbGYuX2xvZy5pbmZvKCJtZXNzYWdlMiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0
X2xvZ19tZXNzYWdlcyhbIm1lc3NhZ2UxXG4iLCAibWVzc2FnZTJcbiJdKQogCiAKQEAgLTUwMiw3
ICs1MDcsNyBAQCBjbGFzcyBTdHlsZUNoZWNrZXJDaGVja0ZpbGVUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKIAogICAgICIiIgogICAgIGRlZiBzZXRVcChzZWxmKToKLSAgICAgICAgc2VsZi5fbG9n
ID0gVW5pdFRlc3RMb2coc2VsZikKKyAgICAgICAgc2VsZi5fbG9nID0gTG9nVGVzdGluZy5zZXRV
cChzZWxmKQogICAgICAgICBzZWxmLmdvdF9maWxlX3BhdGggPSBOb25lCiAgICAgICAgIHNlbGYu
Z290X2hhbmRsZV9zdHlsZV9lcnJvciA9IE5vbmUKICAgICAgICAgc2VsZi5nb3RfcHJvY2Vzc29y
ID0gTm9uZQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZV9y
ZWZlcmVuY2VzLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZV9yZWZlcmVu
Y2VzLnB5CmluZGV4IGNiOGE5ODUuLmU1N2NkMGUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvc3R5bGVfcmVmZXJlbmNlcy5weQorKysgYi9XZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlX3JlZmVyZW5jZXMucHkKQEAgLTQxLDcgKzQxLDcgQEAKIGltcG9y
dCBvcwogCiBmcm9tIGRpZmZfcGFyc2VyIGltcG9ydCBEaWZmUGFyc2VyCi1mcm9tIGluaXQubG9n
dGVzdGluZyBpbXBvcnQgVW5pdFRlc3RMb2cKK2Zyb20gaW5pdC5sb2d0ZXN0aW5nIGltcG9ydCBM
b2dUZXN0aW5nCiBmcm9tIGluaXQubG9ndGVzdGluZyBpbXBvcnQgVW5pdFRlc3RMb2dTdHJlYW0K
IGZyb20gc2NtIGltcG9ydCBkZXRlY3Rfc2NtX3N5c3RlbQogCg==
</data>
<flag name="commit-queue"
          id="33246"
          type_id="3"
          status="-"
          setter="cjerdonek"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50393</attachid>
            <date>2010-03-10 05:00:58 -0800</date>
            <delta_ts>2010-03-10 06:38:18 -0800</delta_ts>
            <desc>Proposed patch 2</desc>
            <filename>_patch-35845-2.diff</filename>
            <type>text/plain</type>
            <size>17798</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyYjQxNjNlLi4xMTc5MDM4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTAtMDMt
MDcgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3JlZCBhbmQgY2xlYW5l
ZCB1cCB0aGUgY29kZSBmb3IgdW5pdC10ZXN0aW5nIGxvZ2dpbmcuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1ODQ1CisKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L2luaXQvbG9ndGVzdGluZy5weToKKyAgICAgICAgICAtIEFkZGVkIG1vcmUg
aW5mb3JtYXRpb24gdG8gdGhlIG1vZHVsZSBkb2NzdHJpbmcuCisgICAgICAgICAgLSBBZGRlZCBh
biBhc3NlcnRNZXNzYWdlcygpIG1ldGhvZCB0byB0aGUgVW5pdFRlc3RMb2dTdHJlYW0KKyAgICAg
ICAgICAgIGNsYXNzLiAgVGhpcyBzaW1wbGlmaWVzIHRoZSBjYWxsaW5nIGNvZGUuCisgICAgICAg
ICAgLSBSZW5hbWVkIHRoZSBVbml0VGVzdExvZyBjbGFzcyB0byBMb2dUZXN0aW5nLCBhbmQgcmVm
b3JtdWxhdGVkCisgICAgICAgICAgICBpdCBhcyBmb2xsb3dzOgorICAgICAgICAgICAgICAtIE1v
dmVkIHRoZSBsb2dnaW5nIGNvbmZpZ3VyYXRpb24gY29kZSBmcm9tIHRoZSBfX2luaXRfXworICAg
ICAgICAgICAgICAgIG1ldGhvZCB0byBhIG5ldyBzdGF0aWMgc2V0VXAoKSBtZXRob2QuCisgICAg
ICAgICAgICAgIC0gRG9jdW1lbnRlZCB0aGUgX19pbml0X18gbWV0aG9kIHRvIGJlIHByaXZhdGUu
CisgICAgICAgICAgICAgIC0gSW1wcm92ZWQgdGhlIGNvZGUgc28gdGhhdCB0aGUgcm9vdCBsb2dn
ZXIgZG9lcyBub3QgaGF2ZQorICAgICAgICAgICAgICAgIGl0cyBsb2dnaW5nIGxldmVsIGNoYW5n
ZWQuICBJbnN0ZWFkIHdlIHNldCB0aGUgaGFuZGxlcidzCisgICAgICAgICAgICAgICAgbGV2ZWwu
ICBUaGlzIG1ha2VzIHRoZSB1bml0IHRlc3RpbmcgbW9yZSB1bmludHJ1c2l2ZS4KKyAgICAgICAg
ICAgICAgLSBVcGRhdGVkIHRoZSBhc3NlcnRNZXNzYWdlcygpIG1ldGhvZCB0byBjYWxsIHRoZQor
ICAgICAgICAgICAgICAgIFVuaXRUZXN0TG9nU3RyZWFtIGNsYXNzJ3MgYXNzZXJ0TWVzc2FnZXMo
KSBtZXRob2QuCisgICAgICAgICAgICAgIC0gTW9yZSBmdWxseSBkb2N1bWVudGVkIHRoZSBjbGFz
cy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlci5weToKKyAgICAg
ICAgICAtIEFkZGVkIGEgbG9nZ2VyIHBhcmFtZXRlciB0byB0aGUgY29uZmlndXJlX2xvZ2dpbmco
KSBtZXRob2QuCisgICAgICAgICAgICBUaGlzIGFsbG93cyB1cyB0byBwcmV2ZW50IHRlc3QgbWVz
c2FnZXMgZnJvbSBiZWluZyBzZW50CisgICAgICAgICAgICB0byB0aGUgcm9vdCBsb2dnZXIgZHVy
aW5nIHVuaXQgdGVzdGluZywgd2hpY2ggbWF5IGJlCisgICAgICAgICAgICByZW5kZXJpbmcgdG8g
dGhlIHNjcmVlbiwgZXRjLgorICAgICAgICAgIC0gU2ltcGxpZmllZCB0aGUgY29kZSBieSByZW1v
dmluZyB0aGUgX0xldmVsTG9nZ2luZ0ZpbHRlciBjbGFzcy4KKyAgICAgICAgICAtIFJlcGxhY2Vk
IHRoZSBfTGV2ZWxMb2dnaW5nRmlsdGVyIGNsYXNzIHdpdGggYSBvbmUtbGluZSBsYW1iZGEKKyAg
ICAgICAgICAgIGV4cHJlc3Npb24gaW4gY29uZmlndXJlX2xvZ2dpbmcoKS4KKworICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5weToKKyAgICAgICAgICAt
IENoYW5nZWQgcmVsYXRpdmUgaW1wb3J0cyB0byBhYnNvbHV0ZSB0byBjb21wbHkgbW9yZSB3aXRo
IFBFUDguCisgICAgICAgICAgLSBJbiB0aGUgQ29uZmlndXJlTG9nZ2luZ1Rlc3QgY2xhc3M6Cisg
ICAgICAgICAgICAtIENoYW5nZWQgdGhlIHNldFVwKCkgbWV0aG9kIHRvIHByZXZlbnQgdGVzdCBt
ZXNzYWdlcyBmcm9tCisgICAgICAgICAgICAgIGJlaW5nIHByb3BhZ2F0ZWQgdG8gdGhlIHJvb3Qg
bG9nZ2VyLgorICAgICAgICAgICAgLSBDaGFuZ2VkIHRoZSBfbG9nKCkgbWV0aG9kIHRvIGEgZGF0
YSBhdHRyaWJ1dGUuCisgICAgICAgICAgICAtIFVwZGF0ZWQgdG8gYWNjb21tb2RhdGUgY2hhbmdl
cyB0byBsb2d0ZXN0aW5nLnB5LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZV9y
ZWZlcmVuY2VzLnB5OgorICAgICAgICAgIC0gVXBkYXRlZCBhbiBpbXBvcnQgc3RhdGVtZW50Lgor
CiAyMDEwLTAzLTEwICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBUb3IgQXJuZSBWZXN0YsO4LgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9pbml0L2xvZ3Rlc3RpbmcucHkgYi9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2luaXQvbG9ndGVzdGluZy5weQppbmRleCA2MzYzMTE1Li4xMGQw
MGU0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2luaXQvbG9ndGVz
dGluZy5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2luaXQvbG9ndGVzdGlu
Zy5weQpAQCAtMjAsNyArMjAsMTYgQEAKICMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KIAotIiIiU3VwcG9ydHMgdGhlIHVuaXQtdGVzdGluZyBvZiBsb2dnaW5nLiIiIgorIiIi
U3VwcG9ydHMgdGhlIHVuaXQtdGVzdGluZyBvZiBsb2dnaW5nIGNvZGUuCisKK1Byb3ZpZGVzIHN1
cHBvcnQgZm9yIHVuaXQtdGVzdGluZyBtZXNzYWdlcyBsb2dnZWQgdXNpbmcgdGhlIGJ1aWx0LWlu
Citsb2dnaW5nIG1vZHVsZS4KKworVXNlIHRoZSBMb2dUZXN0aW5nIGNsYXNzIGZvciBiYXNpYyB0
ZXN0aW5nIG5lZWRzLiAgRm9yIG1vcmUgYWR2YW5jZWQKK25lZWRzIChlLmcuIHVuaXQtdGVzdGlu
ZyBtZXRob2RzIHRoYXQgY29uZmlndXJlIGxvZ2dpbmcpLCBzZWUgdGhlCitVbml0VGVzdExvZ1N0
cmVhbSBjbGFzcy4KKworIiIiCiAKIGltcG9ydCBsb2dnaW5nCiAKQEAgLTMwLDkzICszOSwxNDEg
QEAgY2xhc3MgVW5pdFRlc3RMb2dTdHJlYW0ob2JqZWN0KToKICAgICAiIiJSZXByZXNlbnRzIGEg
ZmlsZS1saWtlIG9iamVjdCBmb3IgdW5pdC10ZXN0aW5nIGxvZ2dpbmcuCiAKICAgICBUaGlzIGlz
IG1lYW50IGZvciBwYXNzaW5nIHRvIHRoZSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIgY29uc3RydWN0
b3IuCisgICAgTG9nIG1lc3NhZ2VzIGNhcHR1cmVkIGJ5IGluc3RhbmNlcyBvZiB0aGlzIG9iamVj
dCBjYW4gYmUgdGVzdGVkCisgICAgdXNpbmcgc2VsZi5hc3NlcnRNZXNzYWdlcygpIGJlbG93Lgog
CiAgICAgIiIiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgZGVmIF9faW5pdF9fKHNl
bGYsIHRlc3RfY2FzZSk6CisgICAgICAgICIiIkNyZWF0ZSBhbiBpbnN0YW5jZS4KKworICAgICAg
ICBBcmdzOgorICAgICAgICAgIHRlc3RfY2FzZTogQSB1bml0dGVzdC5UZXN0Q2FzZSBpbnN0YW5j
ZS4KKworICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fdGVzdF9jYXNlID0gdGVzdF9jYXNlCiAg
ICAgICAgIHNlbGYubWVzc2FnZXMgPSBbXQogICAgICAgICAiIiJBIGxpc3Qgb2YgbG9nIG1lc3Nh
Z2VzIHdyaXR0ZW4gdG8gdGhlIHN0cmVhbS4iIiIKIAorICAgICMgUHl0aG9uIGRvY3VtZW50YXRp
b24gc2F5cyB0aGF0IGFueSBvYmplY3QgcGFzc2VkIHRvIHRoZSBTdHJlYW1IYW5kbGVyCisgICAg
IyBjb25zdHJ1Y3RvciBzaG91bGQgc3VwcG9ydCB3cml0ZSgpIGFuZCBmbHVzaCgpOgorICAgICMK
KyAgICAjIGh0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvbGlicmFyeS9sb2dnaW5nLmh0bWwjbW9kdWxl
LWxvZ2dpbmcuaGFuZGxlcnMKICAgICBkZWYgd3JpdGUoc2VsZiwgbWVzc2FnZSk6CiAgICAgICAg
IHNlbGYubWVzc2FnZXMuYXBwZW5kKG1lc3NhZ2UpCiAKICAgICBkZWYgZmx1c2goc2VsZik6CiAg
ICAgICAgIHBhc3MKIAorICAgIGRlZiBhc3NlcnRNZXNzYWdlcyhzZWxmLCBtZXNzYWdlcyk6Cisg
ICAgICAgICIiIkFzc2VydCB0aGF0IHRoZSBnaXZlbiBtZXNzYWdlcyBtYXRjaCB0aGUgbG9nZ2Vk
IG1lc3NhZ2VzLgogCi1jbGFzcyBVbml0VGVzdExvZyhvYmplY3QpOgorICAgICAgICBtZXNzYWdl
czogQSBsaXN0IG9mIGxvZyBtZXNzYWdlIHN0cmluZ3MuCiAKLSAgICAiIiJTdXBwb3J0cyB1bml0
LXRlc3RpbmcgbG9nZ2luZy4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYuX3Rlc3RfY2FzZS5h
c3NlcnRFcXVhbHMobWVzc2FnZXMsIHNlbGYubWVzc2FnZXMpCisKKworY2xhc3MgTG9nVGVzdGlu
ZyhvYmplY3QpOgorCisgICAgIiIiU3VwcG9ydHMgZW5kLXRvLWVuZCB1bml0LXRlc3Rpbmcgb2Yg
bG9nIG1lc3NhZ2VzLgorCisgICAgICAgIFNhbXBsZSB1c2FnZToKIAotICAgIFNhbXBsZSB1c2Fn
ZToKKyAgICAgICAgICBjbGFzcyBTYW1wbGVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAotICAg
ICMgVGhlIGZvbGxvd2luZyBsaW5lIHNob3VsZCBnbyBpbiB0aGUgc2V0VXAoKSBtZXRob2Qgb2Yg
YQotICAgICMgdW5pdHRlc3QuVGVzdENhc2UuICBJbiBwYXJ0aWN1bGFyLCBzZWxmIGlzIGEgVGVz
dENhc2UgaW5zdGFuY2UuCi0gICAgc2VsZi5fbG9nID0gVW5pdFRlc3RMb2coc2VsZikKKyAgICAg
ICAgICAgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICAgICAgICAgICAgc2VsZi5fbG9nID0g
TG9nVGVzdGluZy5zZXRVcChzZWxmKSAgIyBUdXJuIGxvZ2dpbmcgb24uCiAKLSAgICAjIENhbGwg
dGhlIGZvbGxvd2luZyBpbiBhIHRlc3QgbWV0aG9kIG9mIGEgdW5pdHRlc3QuVGVzdENhc2UuCi0g
ICAgbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoIndlYmtpdHB5IikKLSAgICBsb2cuaW5mbygibWVz
c2FnZTEiKQotICAgIGxvZy53YXJuKCJtZXNzYWdlMiIpCi0gICAgc2VsZi5fbG9nLmFzc2VydE1l
c3NhZ2VzKFsiSU5GTzogbWVzc2FnZTFcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiV0FSTjogbWVzc2FnZTJcbiJdKSAgIyBTaG91bGQgc3VjY2VlZC4KKyAgICAgICAgICAgICAg
ZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICAgICAgICAgICAgc2VsZi5fbG9nLnRlYXJEb3du
KCkgICMgVHVybiBvZmYgYW5kIHJlc2V0IGxvZ2dpbmcuCiAKLSAgICAjIFRoZSBmb2xsb3dpbmcg
bGluZSBzaG91bGQgZ28gaW4gdGhlIHRlYXJEb3duKCkgbWV0aG9kIG9mCi0gICAgIyB1bml0dGVz
dC5UZXN0Q2FzZS4KLSAgICBzZWxmLl9sb2cudGVhckRvd24oKQorICAgICAgICAgICAgICBkZWYg
dGVzdF9sb2dnaW5nX2luX3NvbWVfbWV0aG9kKHNlbGYpOgorICAgICAgICAgICAgICAgICAgY2Fs
bF9zb21lX21ldGhvZCgpICAjIENvbnRhaW5zIGNhbGxzIHRvIF9sb2cuaW5mbygpLCBldGMuCisK
KyAgICAgICAgICAgICAgICAgICMgQ2hlY2sgdGhlIHJlc3VsdGluZyBsb2cgbWVzc2FnZXMuCisg
ICAgICAgICAgICAgICAgICBzZWxmLl9sb2cuYXNzZXJ0TWVzc2FnZXMoWyJJTkZPOiBleHBlY3Rl
ZCBtZXNzYWdlICMxIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJXQVJOSU5HOiBleHBlY3RlZCBtZXNzYWdlICMyIl0pCiAKICAgICAiIiIKIAotICAgIGRlZiBf
X2luaXRfXyhzZWxmLCB0ZXN0X2Nhc2UsIGxvZ2dpbmdfbGV2ZWw9Tm9uZSk6Ci0gICAgICAgICIi
IkNvbmZpZ3VyZSB1bml0IHRlc3QgbG9nZ2luZywgYW5kIHJldHVybiBhbiBpbnN0YW5jZS4KKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgdGVzdF9zdHJlYW0sIGhhbmRsZXIpOgorICAgICAgICAiIiJD
cmVhdGUgYW4gaW5zdGFuY2UuCisKKyAgICAgICAgVGhpcyBtZXRob2Qgc2hvdWxkIG5ldmVyIGJl
IGNhbGxlZCBkaXJlY3RseS4gIEluc3RhbmNlcyBzaG91bGQKKyAgICAgICAgaW5zdGVhZCBiZSBj
cmVhdGVkIHVzaW5nIHRoZSBzdGF0aWMgc2V0VXAoKSBtZXRob2QuCisKKyAgICAgICAgQXJnczoK
KyAgICAgICAgICB0ZXN0X3N0cmVhbTogQSBVbml0VGVzdExvZ1N0cmVhbSBpbnN0YW5jZS4KKyAg
ICAgICAgICBoYW5kbGVyOiBUaGUgaGFuZGxlciBhZGRlZCB0byB0aGUgbG9nZ2VyLgorCisgICAg
ICAgICIiIgorICAgICAgICBzZWxmLl90ZXN0X3N0cmVhbSA9IHRlc3Rfc3RyZWFtCisgICAgICAg
IHNlbGYuX2hhbmRsZXIgPSBoYW5kbGVyCisKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIF9n
ZXRMb2dnZXIoKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBsb2dnZXIgYmVpbmcgdGVzdGVkLiIi
IgorICAgICAgICAjIEl0IGlzIHBvc3NpYmxlIHdlIG1pZ2h0IHdhbnQgdG8gcmV0dXJuIHNvbWV0
aGluZyBvdGhlciB0aGFuCisgICAgICAgICMgdGhlIHJvb3QgbG9nZ2VyIGluIHNvbWUgc3BlY2lh
bCBzaXR1YXRpb24uICBGb3Igbm93LCB0aGUKKyAgICAgICAgIyByb290IGxvZ2dlciBzZWVtcyB0
byBzdWZmaWNlLgorICAgICAgICByZXR1cm4gbG9nZ2luZy5nZXRMb2dnZXIoKQorCisgICAgQHN0
YXRpY21ldGhvZAorICAgIGRlZiBzZXRVcCh0ZXN0X2Nhc2UsIGxvZ2dpbmdfbGV2ZWw9bG9nZ2lu
Zy5JTkZPKToKKyAgICAgICAgIiIiQ29uZmlndXJlIGxvZ2dpbmcgZm9yIHVuaXQgdGVzdGluZy4K
IAotICAgICAgICBUaGlzIG1ldGhvZCBjb25maWd1cmVzIHRoZSByb290IGxvZ2dlciB0byBsb2cg
dG8gYSB0ZXN0aW5nCi0gICAgICAgIGxvZyBzdHJlYW0uICBPbmx5IG1lc3NhZ2VzIGxvZ2dlZCBh
dCBvciBhYm92ZSB0aGUgZ2l2ZW4gbGV2ZWwKLSAgICAgICAgYXJlIGxvZ2dlZCB0byB0aGUgc3Ry
ZWFtLiAgTWVzc2FnZXMgYXJlIGZvcm1hdHRlZCBpbiB0aGUKLSAgICAgICAgZm9sbG93aW5nIHdh
eSwgZm9yIGV4YW1wbGUtLQorICAgICAgICBDb25maWd1cmVzIHRoZSByb290IGxvZ2dlciB0byBs
b2cgdG8gYSB0ZXN0aW5nIGxvZyBzdHJlYW0uCisgICAgICAgIE9ubHkgbWVzc2FnZXMgbG9nZ2Vk
IGF0IG9yIGFib3ZlIHRoZSBnaXZlbiBsZXZlbCBhcmUgbG9nZ2VkCisgICAgICAgIHRvIHRoZSBz
dHJlYW0uICBNZXNzYWdlcyBsb2dnZWQgdG8gdGhlIHN0cmVhbSBhcmUgZm9ybWF0dGVkCisgICAg
ICAgIGluIHRoZSBmb2xsb3dpbmcgd2F5LCBmb3IgZXhhbXBsZS0tCiAKICAgICAgICAgIklORk86
IFRoaXMgaXMgYSB0ZXN0IGxvZyBtZXNzYWdlLiIKIAogICAgICAgICBUaGlzIG1ldGhvZCBzaG91
bGQgbm9ybWFsbHkgYmUgY2FsbGVkIGluIHRoZSBzZXRVcCgpIG1ldGhvZAotICAgICAgICBvZiBh
IHVuaXR0ZXN0LlRlc3RDYXNlLgorICAgICAgICBvZiBhIHVuaXR0ZXN0LlRlc3RDYXNlLiAgU2Vl
IHRoZSBkb2NzdHJpbmcgb2YgdGhpcyBjbGFzcworICAgICAgICBmb3IgbW9yZSBkZXRhaWxzLgor
CisgICAgICAgIFJldHVybnM6CisgICAgICAgICAgQSBMb2dUZXN0aW5nIGluc3RhbmNlLgogCiAg
ICAgICAgIEFyZ3M6CiAgICAgICAgICAgdGVzdF9jYXNlOiBBIHVuaXR0ZXN0LlRlc3RDYXNlIGlu
c3RhbmNlLgotICAgICAgICAgIGxvZ2dpbmdfbGV2ZWw6IEEgbG9nZ2luZyBsZXZlbC4gIE9ubHkg
bWVzc2FnZXMgbG9nZ2VkIGF0IG9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgYWJvdmUgdGhp
cyBsZXZlbCBhcmUgd3JpdHRlbiB0byB0aGUgdGVzdGluZwotICAgICAgICAgICAgICAgICAgICAg
ICAgIGxvZyBzdHJlYW0uICBEZWZhdWx0cyB0byBsb2dnaW5nLklORk8uCisgICAgICAgICAgbG9n
Z2luZ19sZXZlbDogQW4gaW50ZWdlciBsb2dnaW5nIGxldmVsIHRoYXQgaXMgdGhlIG1pbmltdW0g
bGV2ZWwKKyAgICAgICAgICAgICAgICAgICAgICAgICBvZiBsb2cgbWVzc2FnZXMgeW91IHdvdWxk
IGxpa2UgdG8gdGVzdC4KIAogICAgICAgICAiIiIKLSAgICAgICAgaWYgbG9nZ2luZ19sZXZlbCBp
cyBOb25lOgotICAgICAgICAgICAgbG9nZ2luZ19sZXZlbCA9IGxvZ2dpbmcuSU5GTwotCi0gICAg
ICAgIHN0cmVhbSA9IFVuaXRUZXN0TG9nU3RyZWFtKCkKKyAgICAgICAgc3RyZWFtID0gVW5pdFRl
c3RMb2dTdHJlYW0odGVzdF9jYXNlKQogICAgICAgICBoYW5kbGVyID0gbG9nZ2luZy5TdHJlYW1I
YW5kbGVyKHN0cmVhbSkKKyAgICAgICAgaGFuZGxlci5zZXRMZXZlbChsb2dnaW5nX2xldmVsKQog
ICAgICAgICBmb3JtYXR0ZXIgPSBsb2dnaW5nLkZvcm1hdHRlcigiJShsZXZlbG5hbWUpczogJSht
ZXNzYWdlKXMiKQogICAgICAgICBoYW5kbGVyLnNldEZvcm1hdHRlcihmb3JtYXR0ZXIpCiAKLSAg
ICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoKQotICAgICAgICBsb2dnZXIuc2V0TGV2
ZWwobG9nZ2luZ19sZXZlbCkKKyAgICAgICAgIyBOb3RpY2UgdGhhdCB3ZSBvbmx5IGNoYW5nZSB0
aGUgcm9vdCBsb2dnZXIgYnkgYWRkaW5nIGEgaGFuZGxlcgorICAgICAgICAjIHRvIGl0LiAgSW4g
cGFydGljdWxhciwgd2UgZG8gbm90IHJlc2V0IGl0cyBsZXZlbCB1c2luZworICAgICAgICAjIGxv
Z2dlci5zZXRMZXZlbCgpLiAgVGhpcyBlbnN1cmVzIHRoYXQgd2UgaGF2ZSBub3QgaW50ZXJmZXJl
ZAorICAgICAgICAjIHdpdGggaG93IHRoZSBjb2RlIGJlaW5nIHRlc3RlZCBtYXkgaGF2ZSBjb25m
aWd1cmVkIHRoZSByb290CisgICAgICAgICMgbG9nZ2VyLgorICAgICAgICBsb2dnZXIgPSBMb2dU
ZXN0aW5nLl9nZXRMb2dnZXIoKQogICAgICAgICBsb2dnZXIuYWRkSGFuZGxlcihoYW5kbGVyKQog
Ci0gICAgICAgIHNlbGYuX2hhbmRsZXIgPSBoYW5kbGVyCi0gICAgICAgIHNlbGYuX21lc3NhZ2Vz
ID0gc3RyZWFtLm1lc3NhZ2VzCi0gICAgICAgIHNlbGYuX3Rlc3RfY2FzZSA9IHRlc3RfY2FzZQot
Ci0gICAgZGVmIF9sb2dnZXIoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiB0aGUgcm9vdCBsb2dn
ZXIgdXNlZCBmb3IgbG9nZ2luZy4iIiIKLSAgICAgICAgcmV0dXJuIGxvZ2dpbmcuZ2V0TG9nZ2Vy
KCkKLQotICAgIGRlZiBhc3NlcnRNZXNzYWdlcyhzZWxmLCBtZXNzYWdlcyk6Ci0gICAgICAgICIi
IkFzc2VydCB0aGF0IHRoZSBnaXZlbiBtZXNzYWdlcyBtYXRjaCB0aGUgbG9nZ2VkIG1lc3NhZ2Vz
LiIiIgotICAgICAgICBzZWxmLl90ZXN0X2Nhc2UuYXNzZXJ0RXF1YWxzKG1lc3NhZ2VzLCBzZWxm
Ll9tZXNzYWdlcykKKyAgICAgICAgcmV0dXJuIExvZ1Rlc3Rpbmcoc3RyZWFtLCBoYW5kbGVyKQog
CiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgotICAgICAgICAiIiJVbmNvbmZpZ3VyZSB1bml0IHRl
c3QgbG9nZ2luZy4KKyAgICAgICAgIiIiUmVzdG9yZSBsb2dnaW5nIHRvIGl0cyBvcmlnaW5hbCBz
dGF0ZS4KIAotICAgICAgICBUaGlzIHNob3VsZCBub3JtYWxseSBiZSBjYWxsZWQgaW4gdGhlIHRl
YXJEb3duIG1ldGhvZCBvZiBhCi0gICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlCisgICAgICAgIFRo
aXMgc2hvdWxkIG5vcm1hbGx5IGJlIGNhbGxlZCBpbiB0aGUgdGVhckRvd24oKSBtZXRob2Qgb2Yg
YQorICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZS4gIFNlZSB0aGUgZG9jc3RyaW5nIG9mIHRoaXMg
Y2xhc3MgZm9yIG1vcmUKKyAgICAgICAgZGV0YWlscy4KIAogICAgICAgICAiIiIKLSAgICAgICAg
bG9nZ2VyID0gc2VsZi5fbG9nZ2VyKCkKKyAgICAgICAgbG9nZ2VyID0gTG9nVGVzdGluZy5fZ2V0
TG9nZ2VyKCkKICAgICAgICAgbG9nZ2VyLnJlbW92ZUhhbmRsZXIoc2VsZi5faGFuZGxlcikKKwor
ICAgIGRlZiBhc3NlcnRNZXNzYWdlcyhzZWxmLCBtZXNzYWdlcyk6CisgICAgICAgICIiIkFzc2Vy
dCB0aGF0IHRoZSBnaXZlbiBtZXNzYWdlcyBtYXRjaCB0aGUgbG9nZ2VkIG1lc3NhZ2VzLgorCisg
ICAgICAgIG1lc3NhZ2VzOiBBIGxpc3Qgb2YgbG9nIG1lc3NhZ2Ugc3RyaW5ncy4KKworICAgICAg
ICAiIiIKKyAgICAgICAgc2VsZi5fdGVzdF9zdHJlYW0uYXNzZXJ0TWVzc2FnZXMobWVzc2FnZXMp
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIu
cHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHkKaW5kZXgg
OTJkNjVkMy4uZjhiYTRmNSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9jaGVja2VyLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5
bGUvY2hlY2tlci5weQpAQCAtMjMwLDEyICsyMzAsMTIgQEAgZGVmIGNoZWNrX3dlYmtpdF9zdHls
ZV9jb25maWd1cmF0aW9uKG9wdGlvbnMpOgogIyAgICAgICAgVGhpcyBjYW4gdXNlIGEgZm9ybWF0
dGVyIGxpa2UgdGhlIGZvbGxvd2luZywgZm9yIGV4YW1wbGUtLQogIwogIyAgICAgICAgZm9ybWF0
dGVyID0gbG9nZ2luZy5Gb3JtYXR0ZXIoIiUobmFtZSlzOiBbJShsZXZlbG5hbWUpc10gJShtZXNz
YWdlKXMiKQotZGVmIGNvbmZpZ3VyZV9sb2dnaW5nKHN0cmVhbSk6CitkZWYgY29uZmlndXJlX2xv
Z2dpbmcoc3RyZWFtLCBsb2dnZXI9Tm9uZSk6CiAgICAgIiIiQ29uZmlndXJlIGxvZ2dpbmcsIGFu
ZCByZXR1cm4gdGhlIGxpc3Qgb2YgaGFuZGxlcnMgYWRkZWQuCiAKLSAgICBDb25maWd1cmVzIHRo
ZSByb290IGxvZ2dlciB0byBsb2cgSU5GTyBtZXNzYWdlcyBhbmQgaGlnaGVyLgotICAgIEZvcm1h
dHMgV0FSTklORyBtZXNzYWdlcyBhbmQgYWJvdmUgdG8gZGlzcGxheSB0aGUgbG9nZ2luZyBsZXZl
bAotICAgIGFuZCBtZXNzYWdlcyBzdHJpY3RseSBiZWxvdyBXQVJOSU5HIG5vdCB0byBkaXNwbGF5
IGl0LgorICAgIENvbmZpZ3VyZXMgYSBsb2dnZXIgdG8gbG9nIElORk8gbWVzc2FnZXMgYW5kIGhp
Z2hlci4gIEZvcm1hdHMgV0FSTklORworICAgIG1lc3NhZ2VzIGFuZCBhYm92ZSB0byBkaXNwbGF5
IHRoZSBsb2dnaW5nIGxldmVsLCBhbmQgbWVzc2FnZXMgc3RyaWN0bHkKKyAgICBiZWxvdyBXQVJO
SU5HIG5vdCB0byBkaXNwbGF5IGl0LgogCiAgICAgUmV0dXJuczoKICAgICAgIEEgbGlzdCBvZiBy
ZWZlcmVuY2VzIHRvIHRoZSBsb2dnaW5nIGhhbmRsZXJzIGFkZGVkIHRvIHRoZSByb290CkBAIC0y
NDgsNiArMjQ4LDkgQEAgZGVmIGNvbmZpZ3VyZV9sb2dnaW5nKHN0cmVhbSk6CiAgICAgICBzdHJl
YW06IEEgZmlsZS1saWtlIG9iamVjdCB0byB3aGljaCB0byBsb2cuICBUaGUgc3RyZWFtIG11c3QK
ICAgICAgICAgICAgICAgZGVmaW5lIGFuICJlbmNvZGluZyIgZGF0YSBhdHRyaWJ1dGUsIG9yIGVs
c2UgbG9nZ2luZwogICAgICAgICAgICAgICByYWlzZXMgYW4gZXJyb3IuCisgICAgICBsb2dnZXI6
IEEgbG9nZ2luZy5sb2dnZXIgaW5zdGFuY2UgdG8gY29uZmlndXJlLiAgVGhpcyBwYXJhbWV0ZXIK
KyAgICAgICAgICAgICAgc2hvdWxkIGJlIHVzZWQgb25seSBpbiB1bml0IHRlc3RzLiAgRGVmYXVs
dHMgdG8gdGhlCisgICAgICAgICAgICAgIHJvb3QgbG9nZ2VyLgogCiAgICAgIiIiCiAgICAgIyBJ
ZiB0aGUgc3RyZWFtIGRvZXMgbm90IGRlZmluZSBhbiAiZW5jb2RpbmciIGRhdGEgYXR0cmlidXRl
LCB0aGUKQEAgLTI2NSwxNCArMjY4LDE5IEBAIGRlZiBjb25maWd1cmVfbG9nZ2luZyhzdHJlYW0p
OgogICAgIGZvcm1hdHRlciA9IGxvZ2dpbmcuRm9ybWF0dGVyKCIlKGxldmVsbmFtZSlzOiAlKG1l
c3NhZ2UpcyIpCiAgICAgZXJyb3JfaGFuZGxlci5zZXRGb3JtYXR0ZXIoZm9ybWF0dGVyKQogCi0g
ICAgIyBIYW5kbGVzIHJlY29yZHMgc3RyaWN0bHkgYmVsb3cgbG9nZ2luZy5XQVJOSU5HLgorICAg
ICMgQ3JlYXRlIGEgbG9nZ2luZy5GaWx0ZXIgaW5zdGFuY2UgdGhhdCBvbmx5IGFjY2VwdHMgbWVz
c2FnZXMKKyAgICAjIGJlbG93IFdBUk5JTkcgKGkuZS4gZmlsdGVycyBvdXQgYW55dGhpbmcgV0FS
TklORyBvciBhYm92ZSkuCisgICAgbm9uX2Vycm9yX2ZpbHRlciA9IGxvZ2dpbmcuRmlsdGVyKCkK
KyAgICAjIFRoZSBmaWx0ZXIgbWV0aG9kIGFjY2VwdHMgYSBsb2dnaW5nLkxvZ1JlY29yZCBpbnN0
YW5jZS4KKyAgICBub25fZXJyb3JfZmlsdGVyLmZpbHRlciA9IGxhbWJkYSByZWNvcmQ6IHJlY29y
ZC5sZXZlbG5vIDwgbG9nZ2luZy5XQVJOSU5HCisKICAgICBub25fZXJyb3JfaGFuZGxlciA9IGxv
Z2dpbmcuU3RyZWFtSGFuZGxlcihzdHJlYW0pCi0gICAgbm9uX2Vycm9yX2ZpbHRlciA9IF9MZXZl
bExvZ2dpbmdGaWx0ZXIobG9nZ2luZy5XQVJOSU5HKQogICAgIG5vbl9lcnJvcl9oYW5kbGVyLmFk
ZEZpbHRlcihub25fZXJyb3JfZmlsdGVyKQogICAgIGZvcm1hdHRlciA9IGxvZ2dpbmcuRm9ybWF0
dGVyKCIlKG1lc3NhZ2UpcyIpCiAgICAgbm9uX2Vycm9yX2hhbmRsZXIuc2V0Rm9ybWF0dGVyKGZv
cm1hdHRlcikKIAotICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCkKKyAgICBpZiBsb2dn
ZXIgaXMgTm9uZToKKyAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoKQogICAgIGxv
Z2dlci5zZXRMZXZlbChsb2dnaW5nLklORk8pCiAKICAgICBoYW5kbGVycyA9IFtlcnJvcl9oYW5k
bGVyLCBub25fZXJyb3JfaGFuZGxlcl0KQEAgLTI4MywzMSArMjkxLDYgQEAgZGVmIGNvbmZpZ3Vy
ZV9sb2dnaW5nKHN0cmVhbSk6CiAgICAgcmV0dXJuIGhhbmRsZXJzCiAKIAotIyBGSVhNRTogQ29u
c2lkZXIgbW92aW5nIHRoaXMgY2xhc3MgaW50byBhIG1vZHVsZSBpbiB3ZWJraXRweS5pbml0IGFm
dGVyCi0jICAgICAgICBnZXR0aW5nIG1vcmUgZXhwZXJpZW5jZSB3aXRoIGl0cyB1c2UuICBXZSB3
YW50IHRvIG1ha2Ugc3VyZQotIyAgICAgICAgd2UgaGF2ZSB0aGUgcmlnaHQgQVBJIGJlZm9yZSBk
b2luZyBzby4gIEZvciBleGFtcGxlLCB3ZSBtYXkKLSMgICAgICAgIHdhbnQgdG8gcHJvdmlkZSBh
IGNvbnN0cnVjdG9yIHRoYXQgaGFzIGJvdGggdXBwZXIgYW5kIGxvd2VyCi0jICAgICAgICBib3Vu
ZHMsIGFuZCBub3QganVzdCBhbiB1cHBlciBib3VuZC4KLWNsYXNzIF9MZXZlbExvZ2dpbmdGaWx0
ZXIob2JqZWN0KToKLQotICAgICIiIkEgbG9nZ2luZyBmaWx0ZXIgZm9yIGJsb2NraW5nIHJlY29y
ZHMgYXQgb3IgYWJvdmUgYSBjZXJ0YWluIGxldmVsLiIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIGxvZ2dpbmdfbGV2ZWwpOgotICAgICAgICAiIiJDcmVhdGUgYSBfTGV2ZWxMb2dnaW5nRmls
dGVyLgotCi0gICAgICAgIEFyZ3M6Ci0gICAgICAgICAgbG9nZ2luZ19sZXZlbDogVGhlIGxvZ2dp
bmcgbGV2ZWwgY3V0LW9mZi4gIExvZ2dpbmcgbGV2ZWxzIGF0Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgb3IgYWJvdmUgdGhpcyBsZXZlbCB3aWxsIG5vdCBiZSBsb2dnZWQuCi0KLSAgICAgICAg
IiIiCi0gICAgICAgIHNlbGYuX2xvZ2dpbmdfbGV2ZWwgPSBsb2dnaW5nX2xldmVsCi0KLSAgICAj
IFRoZSBsb2dnaW5nIG1vZHVsZSByZXF1aXJlcyB0aGF0IHRoaXMgbWV0aG9kIGJlIGRlZmluZWQu
Ci0gICAgZGVmIGZpbHRlcihzZWxmLCBsb2dfcmVjb3JkKToKLSAgICAgICAgIiIiUmV0dXJuIHdo
ZXRoZXIgZ2l2ZW4gdGhlIExvZ1JlY29yZCBzaG91bGQgYmUgbG9nZ2VkLiIiIgotICAgICAgICBy
ZXR1cm4gbG9nX3JlY29yZC5sZXZlbG5vIDwgc2VsZi5fbG9nZ2luZ19sZXZlbAotCi0KICMgRW51
bS1saWtlIGlkaW9tCiBjbGFzcyBGaWxlVHlwZToKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5CmluZGV4IGQ4NjY2NjMu
LjA2YmIxOTEgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUv
Y2hlY2tlcl91bml0dGVzdC5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0
eWxlL2NoZWNrZXJfdW5pdHRlc3QucHkKQEAgLTM4LDggKzM4LDggQEAgaW1wb3J0IGxvZ2dpbmcK
IGltcG9ydCB1bml0dGVzdAogCiBpbXBvcnQgY2hlY2tlciBhcyBzdHlsZQotZnJvbSAuLnN0eWxl
X3JlZmVyZW5jZXMgaW1wb3J0IFVuaXRUZXN0TG9nCi1mcm9tIC4uc3R5bGVfcmVmZXJlbmNlcyBp
bXBvcnQgVW5pdFRlc3RMb2dTdHJlYW0KK2Zyb20gd2Via2l0cHkuc3R5bGVfcmVmZXJlbmNlcyBp
bXBvcnQgTG9nVGVzdGluZworZnJvbSB3ZWJraXRweS5zdHlsZV9yZWZlcmVuY2VzIGltcG9ydCBV
bml0VGVzdExvZ1N0cmVhbQogZnJvbSBjaGVja2VyIGltcG9ydCBfQkFTRV9GSUxURVJfUlVMRVMK
IGZyb20gY2hlY2tlciBpbXBvcnQgX01BWF9SRVBPUlRTX1BFUl9DQVRFR09SWQogZnJvbSBjaGVj
a2VyIGltcG9ydCBfUEFUSF9SVUxFU19TUEVDSUZJRVIgYXMgUEFUSF9SVUxFU19TUEVDSUZJRVIK
QEAgLTYzLDkgKzYzLDE5IEBAIGNsYXNzIENvbmZpZ3VyZUxvZ2dpbmdUZXN0KHVuaXR0ZXN0LlRl
c3RDYXNlKToKICAgICAiIiJUZXN0cyB0aGUgY29uZmlndXJlX2xvZ2dpbmcoKSBmdW5jdGlvbi4i
IiIKIAogICAgIGRlZiBzZXRVcChzZWxmKToKLSAgICAgICAgbG9nX3N0cmVhbSA9IFVuaXRUZXN0
TG9nU3RyZWFtKCkKLQotICAgICAgICBzZWxmLl9oYW5kbGVycyA9IGNvbmZpZ3VyZV9sb2dnaW5n
KGxvZ19zdHJlYW0pCisgICAgICAgIGxvZ19zdHJlYW0gPSBVbml0VGVzdExvZ1N0cmVhbShzZWxm
KQorICAgICAgICAjIFVzZSBhIGxvZ2dlciBvdGhlciB0aGFuIHRoZSByb290IGxvZ2dlciBvciBv
bmUgcHJlZml4ZWQgd2l0aAorICAgICAgICAjIHdlYmtpdCBzbyBhcyBub3QgdG8gY29uZmxpY3Qg
d2l0aCB0ZXN0LXdlYmtpdHB5IGxvZ2dpbmcuCisgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0
TG9nZ2VyKCJ1bml0dGVzdCIpCisKKyAgICAgICAgIyBDb25maWd1cmUgdGhlIHRlc3QgbG9nZ2Vy
IG5vdCB0byBwYXNzIG1lc3NhZ2VzIGFsb25nIHRvIHRoZQorICAgICAgICAjIHJvb3QgbG9nZ2Vy
LiAgVGhpcyBwcmV2ZW50cyB0ZXN0IG1lc3NhZ2VzIGZyb20gYmVpbmcKKyAgICAgICAgIyBwcm9w
YWdhdGVkIHRvIGxvZ2dlcnMgdXNlZCBieSB0ZXN0LXdlYmtpdHB5IGxvZ2dpbmcgKGUuZy4KKyAg
ICAgICAgIyB0aGUgcm9vdCBsb2dnZXIpLgorICAgICAgICBsb2dnZXIucHJvcGFnYXRlID0gRmFs
c2UKKworICAgICAgICBzZWxmLl9oYW5kbGVycyA9IGNvbmZpZ3VyZV9sb2dnaW5nKGxvZ19zdHJl
YW0sIGxvZ2dlcikKKyAgICAgICAgc2VsZi5fbG9nID0gbG9nZ2VyCiAgICAgICAgIHNlbGYuX2xv
Z19zdHJlYW0gPSBsb2dfc3RyZWFtCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CkBAIC03NSwy
MSArODUsMTYgQEAgY2xhc3MgQ29uZmlndXJlTG9nZ2luZ1Rlc3QodW5pdHRlc3QuVGVzdENhc2Up
OgogICAgICAgICBmb3IgYSB1bml0IHRlc3QgZG9lcyBub3QgYWZmZWN0IGxvZ2dpbmcgaW4gb3Ro
ZXIgdW5pdCB0ZXN0cy4KIAogICAgICAgICAiIiIKLSAgICAgICAgIyBUaGlzIHNob3VsZCBiZSB0
aGUgc2FtZSBhcyB0aGUgbG9nZ2VyIGNvbmZpZ3VyZWQgaW4gdGhlCi0gICAgICAgICMgY29uZmln
dXJlX2xvZ2dpbmcoKSBtZXRob2QuCi0gICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2Vy
KCkKKyAgICAgICAgbG9nZ2VyID0gc2VsZi5fbG9nCiAgICAgICAgIGZvciBoYW5kbGVyIGluIHNl
bGYuX2hhbmRsZXJzOgogICAgICAgICAgICAgbG9nZ2VyLnJlbW92ZUhhbmRsZXIoaGFuZGxlcikK
IAotICAgIGRlZiBfbG9nKHNlbGYpOgotICAgICAgICByZXR1cm4gbG9nZ2luZy5nZXRMb2dnZXIo
IndlYmtpdHB5IikKLQogICAgIGRlZiBhc3NlcnRfbG9nX21lc3NhZ2VzKHNlbGYsIG1lc3NhZ2Vz
KToKICAgICAgICAgIiIiQXNzZXJ0IHRoYXQgdGhlIGxvZ2dlZCBtZXNzYWdlcyBlcXVhbCB0aGUg
Z2l2ZW4gbWVzc2FnZXMuIiIiCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1lc3NhZ2VzLCBz
ZWxmLl9sb2dfc3RyZWFtLm1lc3NhZ2VzKQorICAgICAgICBzZWxmLl9sb2dfc3RyZWFtLmFzc2Vy
dE1lc3NhZ2VzKG1lc3NhZ2VzKQogCiAgICAgZGVmIHRlc3Rfd2FybmluZ19tZXNzYWdlKHNlbGYp
OgotICAgICAgICBzZWxmLl9sb2coKS53YXJuKCJ0ZXN0IG1lc3NhZ2UiKQorICAgICAgICBzZWxm
Ll9sb2cud2FybigidGVzdCBtZXNzYWdlIikKICAgICAgICAgc2VsZi5hc3NlcnRfbG9nX21lc3Nh
Z2VzKFsiV0FSTklORzogdGVzdCBtZXNzYWdlXG4iXSkKIAogICAgIGRlZiB0ZXN0X2JlbG93X3dh
cm5pbmdfbWVzc2FnZShzZWxmKToKQEAgLTk3LDE2ICsxMDIsMTYgQEAgY2xhc3MgQ29uZmlndXJl
TG9nZ2luZ1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAjIEluIHByYWN0aWNlLCB3
ZSB3aWxsIHByb2JhYmx5IG9ubHkgYmUgY2FsbGluZyBsb2cuaW5mbygpLAogICAgICAgICAjIHdo
aWNoIGNvcnJlc3BvbmRzIHRvIGEgbG9nZ2luZyBsZXZlbCBvZiAyMC4KICAgICAgICAgbGV2ZWwg
PSBsb2dnaW5nLldBUk5JTkcgLSAxICAjIEVxdWFscyAyOS4KLSAgICAgICAgc2VsZi5fbG9nKCku
bG9nKGxldmVsLCAidGVzdCBtZXNzYWdlIikKKyAgICAgICAgc2VsZi5fbG9nLmxvZyhsZXZlbCwg
InRlc3QgbWVzc2FnZSIpCiAgICAgICAgIHNlbGYuYXNzZXJ0X2xvZ19tZXNzYWdlcyhbInRlc3Qg
bWVzc2FnZVxuIl0pCiAKICAgICBkZWYgdGVzdF9kZWJ1Z19tZXNzYWdlKHNlbGYpOgotICAgICAg
ICBzZWxmLl9sb2coKS5kZWJ1ZygidGVzdCBtZXNzYWdlIikKKyAgICAgICAgc2VsZi5fbG9nLmRl
YnVnKCJ0ZXN0IG1lc3NhZ2UiKQogICAgICAgICBzZWxmLmFzc2VydF9sb2dfbWVzc2FnZXMoW10p
CiAKICAgICBkZWYgdGVzdF90d29fbWVzc2FnZXMoc2VsZik6Ci0gICAgICAgIHNlbGYuX2xvZygp
LmluZm8oIm1lc3NhZ2UxIikKLSAgICAgICAgc2VsZi5fbG9nKCkuaW5mbygibWVzc2FnZTIiKQor
ICAgICAgICBzZWxmLl9sb2cuaW5mbygibWVzc2FnZTEiKQorICAgICAgICBzZWxmLl9sb2cuaW5m
bygibWVzc2FnZTIiKQogICAgICAgICBzZWxmLmFzc2VydF9sb2dfbWVzc2FnZXMoWyJtZXNzYWdl
MVxuIiwgIm1lc3NhZ2UyXG4iXSkKIAogCkBAIC01MDIsNyArNTA3LDcgQEAgY2xhc3MgU3R5bGVD
aGVja2VyQ2hlY2tGaWxlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAiIiIKICAgICBk
ZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgIHNlbGYuX2xvZyA9IFVuaXRUZXN0TG9nKHNlbGYpCisg
ICAgICAgIHNlbGYuX2xvZyA9IExvZ1Rlc3Rpbmcuc2V0VXAoc2VsZikKICAgICAgICAgc2VsZi5n
b3RfZmlsZV9wYXRoID0gTm9uZQogICAgICAgICBzZWxmLmdvdF9oYW5kbGVfc3R5bGVfZXJyb3Ig
PSBOb25lCiAgICAgICAgIHNlbGYuZ290X3Byb2Nlc3NvciA9IE5vbmUKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGVfcmVmZXJlbmNlcy5weSBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGVfcmVmZXJlbmNlcy5weQppbmRleCBjYjhhOTg1Li5l
NTdjZDBlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlX3Jl
ZmVyZW5jZXMucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZV9yZWZl
cmVuY2VzLnB5CkBAIC00MSw3ICs0MSw3IEBACiBpbXBvcnQgb3MKIAogZnJvbSBkaWZmX3BhcnNl
ciBpbXBvcnQgRGlmZlBhcnNlcgotZnJvbSBpbml0LmxvZ3Rlc3RpbmcgaW1wb3J0IFVuaXRUZXN0
TG9nCitmcm9tIGluaXQubG9ndGVzdGluZyBpbXBvcnQgTG9nVGVzdGluZwogZnJvbSBpbml0Lmxv
Z3Rlc3RpbmcgaW1wb3J0IFVuaXRUZXN0TG9nU3RyZWFtCiBmcm9tIHNjbSBpbXBvcnQgZGV0ZWN0
X3NjbV9zeXN0ZW0KIAo=
</data>
<flag name="review"
          id="33530"
          type_id="1"
          status="+"
          setter="hamaji"
    />
    <flag name="commit-queue"
          id="33531"
          type_id="3"
          status="-"
          setter="cjerdonek"
    />
          </attachment>
      

    </bug>

</bugzilla>