<?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>91145</bug_id>
          
          <creation_ts>2012-07-12 13:55:21 -0700</creation_ts>
          <short_desc>webkitpy: rename manager_worker_broker to message_pool</short_desc>
          <delta_ts>2012-07-12 14:55:49 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>668183</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-12 13:55:21 -0700</bug_when>
    <thetext>webkitpy: rename manager_worker_broker to message_pool</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668187</commentid>
    <comment_count>1</comment_count>
      <attachid>152051</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-12 14:03:28 -0700</bug_when>
    <thetext>Created attachment 152051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668264</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-12 14:55:49 -0700</bug_when>
    <thetext>Committed r122513: &lt;http://trac.webkit.org/changeset/122513&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152051</attachid>
            <date>2012-07-12 14:03:28 -0700</date>
            <delta_ts>2012-07-12 14:32:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91145-20120712140327.patch</filename>
            <type>text/plain</type>
            <size>28393</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNDk3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTkwZTk2MDE5YmNhMDgxMWJjMzEzMTkzZGI3OTc3NTcx
NTg5ZDI5My4uYjM4ZTY0YmVkYmY5MzFiMzNhMzMwZjBjN2Y2ODQ2NDFjZGJkYWQ2MSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIz
IEBACiAyMDEyLTA3LTEyICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIHdlYmtpdHB5OiByZW5hbWUgbWFuYWdlcl93b3JrZXJfYnJva2VyIHRvIG1lc3NhZ2Vf
cG9vbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTEx
NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5j
ZSB0aGUgTWVzc2FnZVBvb2wgaW50ZXJmYWNlIGlzIG1vcmUgZ2VuZXJpYyAoYW5kIHNpbXBsZXIp
CisgICAgICAgIG5vdyBhbmQgd2lsbCBiZSByZXVzZWQgYnkgdGVzdC13ZWJraXRweSwgSSdtIHJl
bmFtaW5nIGl0IGFuZAorICAgICAgICBtb3ZpbmcgaXQgdG8gd2Via2l0cHkuY29tbW9uLgorCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbWVzc2FnZV9wb29sLnB5OiBSZW5hbWVk
IGZyb20gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFu
YWdlcl93b3JrZXJfYnJva2VyLnB5LgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHk6CisgICAgICAgIChUZXN0UnVuSW50ZXJydXB0
ZWRFeGNlcHRpb24uX19yZWR1Y2VfXyk6CisgICAgICAgIChNYW5hZ2VyLl9ydW5fdGVzdHMud29y
a2VyX2ZhY3RvcnkpOgorICAgICAgICAoTWFuYWdlci5fcnVuX3Rlc3RzKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9u
dGVzdC5weToKKworMjAxMi0wNy0xMiAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9y
Zz4KKwogICAgICAgICBucnd0OiByZWltcGxlbWVudCBtYW5hZ2VyX3dvcmtlcl9icm9rZXIgaW4g
YSBtdWNoIHNpbXBsZXIgZm9ybQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTA1MTMKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vbWVzc2FnZV9wb29sLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbWVz
c2FnZV9wb29sLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiYjU5ZThlOTgzNzg2YzkxOWI2ZDllMDYyNmZkOTZk
YzMxMGUwM2MKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9tZXNzYWdlX3Bvb2wucHkKQEAgLTAsMCArMSwzMTAgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisi
IiJNb2R1bGUgZm9yIGhhbmRsaW5nIG1lc3NhZ2VzIGFuZCBjb25jdXJyZW5jeSBmb3IgcnVuLXdl
YmtpdC10ZXN0cworYW5kIHRlc3Qtd2Via2l0cHkuIFRoaXMgbW9kdWxlIGZvbGxvd3MgdGhlIGRl
c2lnbiBmb3IgbXVsdGlwcm9jZXNzaW5nLlBvb2wKK2FuZCBjb25jdXJyZW5jeS5mdXR1cmVzLlBy
b2Nlc3NQb29sRXhlY3V0b3IsIHdpdGggdGhlIGZvbGxvd2luZyBkaWZmZXJlbmNlczoKKworKiBU
YXNrcyBhcmUgZXhlY3V0ZWQgaW4gc3RhdGVmdWwgc3VicHJvY2Vzc2VzIHZpYSBvYmplY3RzIHRo
YXQgaW1wbGVtZW50IHRoZQorICBXb3JrZXIgaW50ZXJmYWNlIC0gdGhpcyBhbGxvd3MgdGhlIHdv
cmtlcnMgdG8gc2hhcmUgc3RhdGUgYWNyb3NzIHRhc2tzLgorKiBUaGUgcG9vbCBwcm92aWRlcyBh
biBhc3luY2hyb25vdXMgZXZlbnQtaGFuZGxpbmcgaW50ZXJmYWNlIHNvIHRoZSBjYWxsZXIKKyAg
bWF5IHJlY2VpdmUgZXZlbnRzIGFzIHRhc2tzIGFyZSBwcm9jZXNzZWQuCisKK0lmIHlvdSBkb24n
dCBuZWVkIHRoZXNlIGZlYXR1cmVzLCB1c2UgbXVsdGlwcm9jZXNzaW5nLlBvb2wgb3IgY29uY3Vy
cmVuY3kuZnV0dXJlcworaW50ZWFkLgorCisiIiIKKworaW1wb3J0IGNQaWNrbGUKK2ltcG9ydCBs
b2dnaW5nCitpbXBvcnQgbXVsdGlwcm9jZXNzaW5nCitpbXBvcnQgUXVldWUKK2ltcG9ydCBzeXMK
K2ltcG9ydCB0aW1lCitpbXBvcnQgdHJhY2ViYWNrCisKKworZnJvbSB3ZWJraXRweS5jb21tb24u
aG9zdCBpbXBvcnQgSG9zdAorZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBzdGFj
a191dGlscworCisKK19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKKworCitkZWYg
Z2V0KGNhbGxlciwgd29ya2VyX2ZhY3RvcnksIG51bV93b3JrZXJzLCB3b3JrZXJfc3RhcnR1cF9k
ZWxheV9zZWNzPTAuMCwgaG9zdD1Ob25lKToKKyAgICAiIiJSZXR1cm5zIGFuIG9iamVjdCB0aGF0
IGV4cG9zZXMgYSBydW4oKSBtZXRob2QgdGhhdCB0YWtlcyBhIGxpc3Qgb2YgdGVzdCBzaGFyZHMg
YW5kIHJ1bnMgdGhlbSBpbiBwYXJhbGxlbC4iIiIKKyAgICByZXR1cm4gX01lc3NhZ2VQb29sKGNh
bGxlciwgd29ya2VyX2ZhY3RvcnksIG51bV93b3JrZXJzLCB3b3JrZXJfc3RhcnR1cF9kZWxheV9z
ZWNzLCBob3N0KQorCisKK2NsYXNzIF9NZXNzYWdlUG9vbChvYmplY3QpOgorICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBjYWxsZXIsIHdvcmtlcl9mYWN0b3J5LCBudW1fd29ya2Vycywgd29ya2VyX3N0
YXJ0dXBfZGVsYXlfc2Vjcz0wLjAsIGhvc3Q9Tm9uZSk6CisgICAgICAgIHNlbGYuX2NhbGxlciA9
IGNhbGxlcgorICAgICAgICBzZWxmLl93b3JrZXJfZmFjdG9yeSA9IHdvcmtlcl9mYWN0b3J5Cisg
ICAgICAgIHNlbGYuX251bV93b3JrZXJzID0gbnVtX3dvcmtlcnMKKyAgICAgICAgc2VsZi5fd29y
a2VyX3N0YXJ0dXBfZGVsYXlfc2VjcyA9IHdvcmtlcl9zdGFydHVwX2RlbGF5X3NlY3MKKyAgICAg
ICAgc2VsZi5fd29ya2VycyA9IFtdCisgICAgICAgIHNlbGYuX3dvcmtlcnNfc3RvcHBlZCA9IHNl
dCgpCisgICAgICAgIHNlbGYuX2hvc3QgPSBob3N0CisgICAgICAgIHNlbGYuX25hbWUgPSAnbWFu
YWdlcicKKyAgICAgICAgc2VsZi5fcnVubmluZ19pbmxpbmUgPSAoc2VsZi5fbnVtX3dvcmtlcnMg
PT0gMSkKKyAgICAgICAgaWYgc2VsZi5fcnVubmluZ19pbmxpbmU6CisgICAgICAgICAgICBzZWxm
Ll9tZXNzYWdlc190b193b3JrZXIgPSBRdWV1ZS5RdWV1ZSgpCisgICAgICAgICAgICBzZWxmLl9t
ZXNzYWdlc190b19tYW5hZ2VyID0gUXVldWUuUXVldWUoKQorICAgICAgICBlbHNlOgorICAgICAg
ICAgICAgc2VsZi5fbWVzc2FnZXNfdG9fd29ya2VyID0gbXVsdGlwcm9jZXNzaW5nLlF1ZXVlKCkK
KyAgICAgICAgICAgIHNlbGYuX21lc3NhZ2VzX3RvX21hbmFnZXIgPSBtdWx0aXByb2Nlc3Npbmcu
UXVldWUoKQorCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYK
KworICAgIGRlZiBfX2V4aXRfXyhzZWxmLCBleGNfdHlwZSwgZXhjX3ZhbHVlLCB0cmFjZWJhY2sp
OgorICAgICAgICBzZWxmLl9jbG9zZSgpCisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgZGVm
IHJ1bihzZWxmLCBzaGFyZHMpOgorICAgICAgICAiIiJQb3N0cyBhIGxpc3Qgb2YgbWVzc2FnZXMg
dG8gdGhlIHBvb2wgYW5kIHdhaXRzIGZvciB0aGVtIHRvIGNvbXBsZXRlLiIiIgorICAgICAgICBm
b3IgbWVzc2FnZSBpbiBzaGFyZHM6CisgICAgICAgICAgICBzZWxmLl9tZXNzYWdlc190b193b3Jr
ZXIucHV0KF9NZXNzYWdlKHNlbGYuX25hbWUsIG1lc3NhZ2VbMF0sIG1lc3NhZ2VbMTpdLCBmcm9t
X3VzZXI9VHJ1ZSwgbG9ncz0oKSkpCisKKyAgICAgICAgZm9yIF8gaW4geHJhbmdlKHNlbGYuX251
bV93b3JrZXJzKToKKyAgICAgICAgICAgIHNlbGYuX21lc3NhZ2VzX3RvX3dvcmtlci5wdXQoX01l
c3NhZ2Uoc2VsZi5fbmFtZSwgJ3N0b3AnLCBtZXNzYWdlX2FyZ3M9KCksIGZyb21fdXNlcj1GYWxz
ZSwgbG9ncz0oKSkpCisKKyAgICAgICAgc2VsZi53YWl0KCkKKworICAgIGRlZiBfc3RhcnRfd29y
a2VycyhzZWxmKToKKyAgICAgICAgYXNzZXJ0IG5vdCBzZWxmLl93b3JrZXJzCisgICAgICAgIHNl
bGYuX3dvcmtlcnNfc3RvcHBlZCA9IHNldCgpCisgICAgICAgIGhvc3QgPSBOb25lCisgICAgICAg
IGlmIHNlbGYuX3J1bm5pbmdfaW5saW5lIG9yIHNlbGYuX2Nhbl9waWNrbGUoc2VsZi5faG9zdCk6
CisgICAgICAgICAgICBob3N0ID0gc2VsZi5faG9zdAorCisgICAgICAgIGZvciB3b3JrZXJfbnVt
YmVyIGluIHhyYW5nZShzZWxmLl9udW1fd29ya2Vycyk6CisgICAgICAgICAgICB3b3JrZXIgPSBf
V29ya2VyKGhvc3QsIHNlbGYuX21lc3NhZ2VzX3RvX21hbmFnZXIsIHNlbGYuX21lc3NhZ2VzX3Rv
X3dvcmtlciwgc2VsZi5fd29ya2VyX2ZhY3RvcnksIHdvcmtlcl9udW1iZXIsIHNlbGYuX3J1bm5p
bmdfaW5saW5lLCBzZWxmIGlmIHNlbGYuX3J1bm5pbmdfaW5saW5lIGVsc2UgTm9uZSkKKyAgICAg
ICAgICAgIHNlbGYuX3dvcmtlcnMuYXBwZW5kKHdvcmtlcikKKyAgICAgICAgICAgIHdvcmtlci5z
dGFydCgpCisgICAgICAgICAgICBpZiBzZWxmLl93b3JrZXJfc3RhcnR1cF9kZWxheV9zZWNzOgor
ICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoc2VsZi5fd29ya2VyX3N0YXJ0dXBfZGVsYXlfc2Vj
cykKKworICAgIGRlZiB3YWl0KHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxm
Ll9zdGFydF93b3JrZXJzKCkKKyAgICAgICAgICAgIGlmIHNlbGYuX3J1bm5pbmdfaW5saW5lOgor
ICAgICAgICAgICAgICAgIHNlbGYuX3dvcmtlcnNbMF0ucnVuKCkKKyAgICAgICAgICAgICAgICBz
ZWxmLl9sb29wKGJsb2NrPUZhbHNlKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAg
ICBzZWxmLl9sb29wKGJsb2NrPVRydWUpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBz
ZWxmLl9jbG9zZSgpCisKKyAgICBkZWYgX2Nsb3NlKHNlbGYpOgorICAgICAgICBmb3Igd29ya2Vy
IGluIHNlbGYuX3dvcmtlcnM6CisgICAgICAgICAgICBpZiB3b3JrZXIuaXNfYWxpdmUoKToKKyAg
ICAgICAgICAgICAgICB3b3JrZXIudGVybWluYXRlKCkKKyAgICAgICAgICAgICAgICB3b3JrZXIu
am9pbigpCisgICAgICAgIHNlbGYuX3dvcmtlcnMgPSBbXQorICAgICAgICBpZiBub3Qgc2VsZi5f
cnVubmluZ19pbmxpbmU6CisgICAgICAgICAgICBpZiBzZWxmLl9tZXNzYWdlc190b193b3JrZXI6
CisgICAgICAgICAgICAgICAgc2VsZi5fbWVzc2FnZXNfdG9fd29ya2VyLmNsb3NlKCkKKyAgICAg
ICAgICAgICAgICBzZWxmLl9tZXNzYWdlc190b193b3JrZXIgPSBOb25lCisgICAgICAgICAgICBp
ZiBzZWxmLl9tZXNzYWdlc190b19tYW5hZ2VyOgorICAgICAgICAgICAgICAgIHNlbGYuX21lc3Nh
Z2VzX3RvX21hbmFnZXIuY2xvc2UoKQorICAgICAgICAgICAgICAgIHNlbGYuX21lc3NhZ2VzX3Rv
X21hbmFnZXIgPSBOb25lCisKKyAgICBkZWYgX2xvZ19tZXNzYWdlcyhzZWxmLCBtZXNzYWdlcyk6
CisgICAgICAgIGZvciBtZXNzYWdlIGluIG1lc3NhZ2VzOgorICAgICAgICAgICAgbG9nZ2luZy5y
b290LmhhbmRsZShtZXNzYWdlKQorCisgICAgZGVmIF9oYW5kbGVfZG9uZShzZWxmLCBzb3VyY2Up
OgorICAgICAgICBzZWxmLl93b3JrZXJzX3N0b3BwZWQuYWRkKHNvdXJjZSkKKworICAgIEBzdGF0
aWNtZXRob2QKKyAgICBkZWYgX2hhbmRsZV93b3JrZXJfZXhjZXB0aW9uKHNvdXJjZSwgZXhjZXB0
aW9uX3R5cGUsIGV4Y2VwdGlvbl92YWx1ZSwgc3RhY2spOgorICAgICAgICBpZiBleGNlcHRpb25f
dHlwZSA9PSBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAgIHJhaXNlIGV4Y2VwdGlvbl90
eXBlKGV4Y2VwdGlvbl92YWx1ZSkKKyAgICAgICAgX2xvZy5lcnJvcigiJXMgcmFpc2VkICVzKCcl
cycpOiIgJSAoCisgICAgICAgICAgICAgICAgICAgc291cmNlLCBleGNlcHRpb25fdmFsdWUuX19j
bGFzc19fLl9fbmFtZV9fLCBzdHIoZXhjZXB0aW9uX3ZhbHVlKSkpCisgICAgICAgIHJhaXNlIFdv
cmtlckV4Y2VwdGlvbihzdHIoZXhjZXB0aW9uX3ZhbHVlKSkKKworICAgIGRlZiBfY2FuX3BpY2ts
ZShzZWxmLCBob3N0KToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgY1BpY2tsZS5kdW1wcyho
b3N0KQorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgZXhjZXB0IFR5cGVFcnJvcjoK
KyAgICAgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgZGVmIF9sb29wKHNlbGYsIGJsb2NrKToK
KyAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICBp
ZiBsZW4oc2VsZi5fd29ya2Vyc19zdG9wcGVkKSA9PSBsZW4oc2VsZi5fd29ya2Vycyk6CisgICAg
ICAgICAgICAgICAgICAgIGJsb2NrID0gRmFsc2UKKyAgICAgICAgICAgICAgICBtZXNzYWdlID0g
c2VsZi5fbWVzc2FnZXNfdG9fbWFuYWdlci5nZXQoYmxvY2spCisgICAgICAgICAgICAgICAgc2Vs
Zi5fbG9nX21lc3NhZ2VzKG1lc3NhZ2UubG9ncykKKyAgICAgICAgICAgICAgICBpZiBtZXNzYWdl
LmZyb21fdXNlcjoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fY2FsbGVyLmhhbmRsZShtZXNz
YWdlLm5hbWUsIG1lc3NhZ2Uuc3JjLCAqbWVzc2FnZS5hcmdzKQorICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZQorICAgICAgICAgICAgICAgIG1ldGhvZCA9IGdldGF0dHIoc2VsZiwgJ19oYW5k
bGVfJyArIG1lc3NhZ2UubmFtZSkKKyAgICAgICAgICAgICAgICBhc3NlcnQgbWV0aG9kLCAnYmFk
IG1lc3NhZ2UgJXMnICUgcmVwcihtZXNzYWdlKQorICAgICAgICAgICAgICAgIG1ldGhvZChtZXNz
YWdlLnNyYywgKm1lc3NhZ2UuYXJncykKKyAgICAgICAgZXhjZXB0IFF1ZXVlLkVtcHR5OgorICAg
ICAgICAgICAgcGFzcworCisKK2NsYXNzIFdvcmtlckV4Y2VwdGlvbihFeGNlcHRpb24pOgorICAg
ICIiIlJhaXNlZCB3aGVuIHdlIHJlY2VpdmUgYW4gdW5leHBlY3RlZC91bmtub3duIGV4Y2VwdGlv
biBmcm9tIGEgd29ya2VyLiIiIgorICAgIHBhc3MKKworCitjbGFzcyBfTWVzc2FnZShvYmplY3Qp
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzcmMsIG1lc3NhZ2VfbmFtZSwgbWVzc2FnZV9hcmdz
LCBmcm9tX3VzZXIsIGxvZ3MpOgorICAgICAgICBzZWxmLnNyYyA9IHNyYworICAgICAgICBzZWxm
Lm5hbWUgPSBtZXNzYWdlX25hbWUKKyAgICAgICAgc2VsZi5hcmdzID0gbWVzc2FnZV9hcmdzCisg
ICAgICAgIHNlbGYuZnJvbV91c2VyID0gZnJvbV91c2VyCisgICAgICAgIHNlbGYubG9ncyA9IGxv
Z3MKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICdfTWVzc2FnZShz
cmM9JXMsIG5hbWU9JXMsIGFyZ3M9JXMsIGZyb21fdXNlcj0lcywgbG9ncz0lcyknICUgKHNlbGYu
c3JjLCBzZWxmLm5hbWUsIHNlbGYuYXJncywgc2VsZi5mcm9tX3VzZXIsIHNlbGYubG9ncykKKwor
CitjbGFzcyBfV29ya2VyKG11bHRpcHJvY2Vzc2luZy5Qcm9jZXNzKToKKyAgICBkZWYgX19pbml0
X18oc2VsZiwgaG9zdCwgbWVzc2FnZXNfdG9fbWFuYWdlciwgbWVzc2FnZXNfdG9fd29ya2VyLCB3
b3JrZXJfZmFjdG9yeSwgd29ya2VyX251bWJlciwgcnVubmluZ19pbmxpbmUsIG1hbmFnZXIpOgor
ICAgICAgICBzdXBlcihfV29ya2VyLCBzZWxmKS5fX2luaXRfXygpCisgICAgICAgIHNlbGYuaG9z
dCA9IGhvc3QKKyAgICAgICAgc2VsZi53b3JrZXJfbnVtYmVyID0gd29ya2VyX251bWJlcgorICAg
ICAgICBzZWxmLm5hbWUgPSAnd29ya2VyLyVkJyAlIHdvcmtlcl9udW1iZXIKKyAgICAgICAgc2Vs
Zi5sb2dfbWVzc2FnZXMgPSBbXQorICAgICAgICBzZWxmLl9ydW5uaW5nX2lubGluZSA9IHJ1bm5p
bmdfaW5saW5lCisgICAgICAgIHNlbGYuX21hbmFnZXIgPSBtYW5hZ2VyCisKKyAgICAgICAgc2Vs
Zi5fbWVzc2FnZXNfdG9fbWFuYWdlciA9IG1lc3NhZ2VzX3RvX21hbmFnZXIKKyAgICAgICAgc2Vs
Zi5fbWVzc2FnZXNfdG9fd29ya2VyID0gbWVzc2FnZXNfdG9fd29ya2VyCisgICAgICAgIHNlbGYu
X3dvcmtlciA9IHdvcmtlcl9mYWN0b3J5KHNlbGYpCisgICAgICAgIHNlbGYuX2xvZ2dlciA9IE5v
bmUKKyAgICAgICAgc2VsZi5fbG9nX2hhbmRsZXIgPSBOb25lCisKKyAgICBkZWYgdGVybWluYXRl
KHNlbGYpOgorICAgICAgICBpZiBzZWxmLl93b3JrZXI6CisgICAgICAgICAgICBzZWxmLl93b3Jr
ZXIuc3RvcCgpCisgICAgICAgICAgICBzZWxmLl93b3JrZXIgPSBOb25lCisgICAgICAgIGlmIHNl
bGYuaXNfYWxpdmUoKToKKyAgICAgICAgICAgIHN1cGVyKF9Xb3JrZXIsIHNlbGYpLnRlcm1pbmF0
ZSgpCisKKyAgICBkZWYgX2Nsb3NlKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9sb2dfaGFuZGxl
ciBhbmQgc2VsZi5fbG9nZ2VyOgorICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLnJlbW92ZUhhbmRs
ZXIoc2VsZi5fbG9nX2hhbmRsZXIpCisgICAgICAgIHNlbGYuX2xvZ19oYW5kbGVyID0gTm9uZQor
ICAgICAgICBzZWxmLl9sb2dnZXIgPSBOb25lCisKKyAgICBkZWYgc3RhcnQoc2VsZik6CisgICAg
ICAgIGlmIG5vdCBzZWxmLl9ydW5uaW5nX2lubGluZToKKyAgICAgICAgICAgIHN1cGVyKF9Xb3Jr
ZXIsIHNlbGYpLnN0YXJ0KCkKKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgIGlmIG5vdCBz
ZWxmLmhvc3Q6CisgICAgICAgICAgICBzZWxmLmhvc3QgPSBIb3N0KCkKKyAgICAgICAgaWYgbm90
IHNlbGYuX3J1bm5pbmdfaW5saW5lOgorICAgICAgICAgICAgc2VsZi5fc2V0X3VwX2xvZ2dpbmco
KQorCisgICAgICAgIHdvcmtlciA9IHNlbGYuX3dvcmtlcgorICAgICAgICBleGNlcHRpb25fbXNn
ID0gIiIKKyAgICAgICAgX2xvZy5kZWJ1ZygiJXMgc3RhcnRpbmciICUgc2VsZi5uYW1lKQorCisg
ICAgICAgIHRyeToKKyAgICAgICAgICAgIHdvcmtlci5zdGFydCgpCisgICAgICAgICAgICB3aGls
ZSBUcnVlOgorICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBzZWxmLl9tZXNzYWdlc190b193b3Jr
ZXIuZ2V0KCkKKyAgICAgICAgICAgICAgICBpZiBtZXNzYWdlLmZyb21fdXNlcjoKKyAgICAgICAg
ICAgICAgICAgICAgd29ya2VyLmhhbmRsZShtZXNzYWdlLm5hbWUsIG1lc3NhZ2Uuc3JjLCAqbWVz
c2FnZS5hcmdzKQorICAgICAgICAgICAgICAgICAgICBzZWxmLnlpZWxkX3RvX2NhbGxlcigpCisg
ICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IG1lc3NhZ2Uu
bmFtZSA9PSAnc3RvcCcsICdiYWQgbWVzc2FnZSAlcycgJSByZXByKG1lc3NhZ2UpCisgICAgICAg
ICAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgZXhjZXB0IFF1ZXVlLkVtcHR5OgorICAgICAg
ICAgICAgYXNzZXJ0IEZhbHNlLCAnJXM6IHJhbiBvdXQgb2YgbWVzc2FnZXMgaW4gd29ya2VyIHF1
ZXVlLicgJSBzZWxmLm5hbWUKKyAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0LCBlOgor
ICAgICAgICAgICAgZXhjZXB0aW9uX21zZyA9ICIsIGludGVycnVwdGVkIgorICAgICAgICAgICAg
aWYgbm90IHNlbGYuX3J1bm5pbmdfaW5saW5lOgorICAgICAgICAgICAgICAgIF9sb2cud2Fybmlu
Zygnd29ya2VyIGV4Y2VwdGlvbicpCisgICAgICAgICAgICAgICAgc2VsZi5fcmFpc2Uoc3lzLmV4
Y19pbmZvKCkpCisgICAgICAgICAgICByYWlzZQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBl
OgorICAgICAgICAgICAgZXhjZXB0aW9uX21zZyA9ICIsIGV4Y2VwdGlvbiByYWlzZWQ6ICVzIiAl
IHN0cihlKQorICAgICAgICAgICAgaWYgbm90IHNlbGYuX3J1bm5pbmdfaW5saW5lOgorICAgICAg
ICAgICAgICAgIHNlbGYuX3JhaXNlKHN5cy5leGNfaW5mbygpKQorICAgICAgICAgICAgcmFpc2UK
KyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIF9sb2cuZGVidWcoIiVzIGV4aXRpbmclcyIg
JSAoc2VsZi5uYW1lLCBleGNlcHRpb25fbXNnKSkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAg
ICAgICAgICB3b3JrZXIuc3RvcCgpCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAg
ICAgIHNlbGYuX3Bvc3QobmFtZT0nZG9uZScsIGFyZ3M9KCksIGZyb21fdXNlcj1GYWxzZSkKKyAg
ICAgICAgICAgIHNlbGYuX2Nsb3NlKCkKKworICAgIGRlZiBwb3N0KHNlbGYsIG5hbWUsICphcmdz
KToKKyAgICAgICAgc2VsZi5fcG9zdChuYW1lLCBhcmdzLCBmcm9tX3VzZXI9VHJ1ZSkKKworICAg
IGRlZiB5aWVsZF90b19jYWxsZXIoc2VsZik6CisgICAgICAgIGlmIHNlbGYuX3J1bm5pbmdfaW5s
aW5lOgorICAgICAgICAgICAgc2VsZi5fbWFuYWdlci5fbG9vcChibG9jaz1GYWxzZSkKKworICAg
IGRlZiBfcG9zdChzZWxmLCBuYW1lLCBhcmdzLCBmcm9tX3VzZXIpOgorICAgICAgICBsb2dfbWVz
c2FnZXMgPSBzZWxmLmxvZ19tZXNzYWdlcworICAgICAgICBzZWxmLmxvZ19tZXNzYWdlcyA9IFtd
CisgICAgICAgIHNlbGYuX21lc3NhZ2VzX3RvX21hbmFnZXIucHV0KF9NZXNzYWdlKHNlbGYubmFt
ZSwgbmFtZSwgYXJncywgZnJvbV91c2VyLCBsb2dfbWVzc2FnZXMpKQorCisgICAgZGVmIF9yYWlz
ZShzZWxmLCBleGNfaW5mbyk6CisgICAgICAgICMgU2luY2UgdHJhY2ViYWNrcyBhcmVuJ3QgcGlj
a2xhYmxlLCBzZW5kIHRoZSBleHRyYWN0ZWQgc3RhY2sgaW5zdGVhZC4KKyAgICAgICAgZXhjZXB0
aW9uX3R5cGUsIGV4Y2VwdGlvbl92YWx1ZSwgZXhjZXB0aW9uX3RyYWNlYmFjayA9IGV4Y19pbmZv
CisgICAgICAgIHN0YWNrX3V0aWxzLmxvZ190cmFjZWJhY2soX2xvZy5lcnJvciwgZXhjZXB0aW9u
X3RyYWNlYmFjaykKKyAgICAgICAgc3RhY2sgPSB0cmFjZWJhY2suZXh0cmFjdF90YihleGNlcHRp
b25fdHJhY2ViYWNrKQorICAgICAgICBzZWxmLl9wb3N0KG5hbWU9J3dvcmtlcl9leGNlcHRpb24n
LCBhcmdzPShleGNlcHRpb25fdHlwZSwgZXhjZXB0aW9uX3ZhbHVlLCBzdGFjayksIGZyb21fdXNl
cj1GYWxzZSkKKworICAgIGRlZiBfc2V0X3VwX2xvZ2dpbmcoc2VsZik6CisgICAgICAgIHNlbGYu
X2xvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCkKKworICAgICAgICAjIFRoZSB1bml4IG11bHRp
cHJvY2Vzc2luZyBpbXBsZW1lbnRhdGlvbiBjbG9uZXMgdGhlIE1ldGVyZWRTdHJlYW0gbG9nIGhh
bmRsZXIKKyAgICAgICAgIyBpbnRvIHRoZSBjaGlsZCBwcm9jZXNzLCBzbyB3ZSBuZWVkIHRvIHJl
bW92ZSBpdCB0byBhdm9pZCBkdXBsaWNhdGUgbG9nZ2luZy4KKyAgICAgICAgZm9yIGggaW4gc2Vs
Zi5fbG9nZ2VyLmhhbmRsZXJzOgorICAgICAgICAgICAgIyBsb2cgaGFuZGxlcnMgZG9uJ3QgaGF2
ZSBuYW1lcyB1bnRpbCBweXRob24gMi43LgorICAgICAgICAgICAgIyBGSVhNRTogbG9nIGhhbmRs
ZXIgbmFtZXMgc2hvdWxkIGJlIHBhc3NlZCBpbi4KKyAgICAgICAgICAgIGlmIGdldGF0dHIoaCwg
J25hbWUnLCAnJykgaW4gKCdNZXRlcmVkU3RyZWFtTG9nSGFuZGxlcicsICd3ZWJraXRweS50ZXN0
LnByaW50ZXInKToKKyAgICAgICAgICAgICAgICBzZWxmLl9sb2dnZXIucmVtb3ZlSGFuZGxlciho
KQorICAgICAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgc2VsZi5fbG9nX2hhbmRsZXIgPSBf
V29ya2VyTG9nSGFuZGxlcihzZWxmKQorICAgICAgICBzZWxmLl9sb2dnZXIuYWRkSGFuZGxlcihz
ZWxmLl9sb2dfaGFuZGxlcikKKworCitjbGFzcyBfV29ya2VyTG9nSGFuZGxlcihsb2dnaW5nLkhh
bmRsZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB3b3JrZXIpOgorICAgICAgICBsb2dnaW5n
LkhhbmRsZXIuX19pbml0X18oc2VsZikKKyAgICAgICAgc2VsZi5fd29ya2VyID0gd29ya2VyCisK
KyAgICBkZWYgZW1pdChzZWxmLCByZWNvcmQpOgorICAgICAgICBzZWxmLl93b3JrZXIubG9nX21l
c3NhZ2VzLmFwcGVuZChyZWNvcmQpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQppbmRleCBkZTcyYjU4ZTc4
NjdkNDEwMGZhMzQyNjdjYWZlYzBmNzhjNWY2ZmY1Li5jNmY4ZDQzNTg5NjhiYzM5ZjQ5YzRhZDBk
MmM5NDBjNzEwNTc4ODA5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKQEAgLTQ0LDcgKzQ0LDcgQEAg
aW1wb3J0IHJlCiBpbXBvcnQgc3lzCiBpbXBvcnQgdGltZQogCi1mcm9tIHdlYmtpdHB5LmxheW91
dF90ZXN0cy5jb250cm9sbGVycyBpbXBvcnQgbWFuYWdlcl93b3JrZXJfYnJva2VyCitmcm9tIHdl
YmtpdHB5LmNvbW1vbiBpbXBvcnQgbWVzc2FnZV9wb29sCiBmcm9tIHdlYmtpdHB5LmxheW91dF90
ZXN0cy5jb250cm9sbGVycyBpbXBvcnQgd29ya2VyCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0
cy5jb250cm9sbGVycy50ZXN0X3Jlc3VsdF93cml0ZXIgaW1wb3J0IFRlc3RSZXN1bHRXcml0ZXIK
IGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLmxheW91dF9wYWNrYWdlIGltcG9ydCBqc29uX2xh
eW91dF9yZXN1bHRzX2dlbmVyYXRvcgpAQCAtMjY2LDggKzI2Niw4IEBAIGNsYXNzIFRlc3RSdW5J
bnRlcnJ1cHRlZEV4Y2VwdGlvbihFeGNlcHRpb24pOgogICAgICAgICByZXR1cm4gc2VsZi5fX2Ns
YXNzX18sIChzZWxmLnJlYXNvbiwpCiAKIAotIyBFeHBvcnQgdGhpcyBzbyBjYWxsZXJzIGRvbid0
IG5lZWQgdG8ga25vdyBhYm91dCBtYW5hZ2VyX3dvcmtlcl9icm9rZXIuCi1Xb3JrZXJFeGNlcHRp
b24gPSBtYW5hZ2VyX3dvcmtlcl9icm9rZXIuV29ya2VyRXhjZXB0aW9uCisjIEV4cG9ydCB0aGlz
IHNvIGNhbGxlcnMgZG9uJ3QgbmVlZCB0byBrbm93IGFib3V0IG1lc3NhZ2UgcG9vbHMuCitXb3Jr
ZXJFeGNlcHRpb24gPSBtZXNzYWdlX3Bvb2wuV29ya2VyRXhjZXB0aW9uCiAKIAogY2xhc3MgVGVz
dFNoYXJkKG9iamVjdCk6CkBAIC03NjksMTUgKzc2OSwxMyBAQCBjbGFzcyBNYW5hZ2VyKG9iamVj
dCk6CiAgICAgICAgIGRlZiB3b3JrZXJfZmFjdG9yeSh3b3JrZXJfY29ubmVjdGlvbik6CiAgICAg
ICAgICAgICByZXR1cm4gd29ya2VyLldvcmtlcih3b3JrZXJfY29ubmVjdGlvbiwgc2VsZi5yZXN1
bHRzX2RpcmVjdG9yeSgpLCBzZWxmLl9vcHRpb25zKQogCi0gICAgICAgIG1hbmFnZXJfY29ubmVj
dGlvbiA9IG1hbmFnZXJfd29ya2VyX2Jyb2tlci5nZXQobnVtX3dvcmtlcnMsIHNlbGYsIHdvcmtl
cl9mYWN0b3J5LCBzZWxmLl9wb3J0Lmhvc3QpCi0KICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5k
cnlfcnVuOgogICAgICAgICAgICAgcmV0dXJuIChrZXlib2FyZF9pbnRlcnJ1cHRlZCwgaW50ZXJy
dXB0ZWQsIHNlbGYuX3dvcmtlcl9zdGF0cy52YWx1ZXMoKSwgc2VsZi5fZ3JvdXBfc3RhdHMsIHNl
bGYuX2FsbF9yZXN1bHRzKQogCiAgICAgICAgIHNlbGYuX3ByaW50ZXIucHJpbnRfdXBkYXRlKCdT
dGFydGluZyAlcyAuLi4nICUgZ3JhbW1hci5wbHVyYWxpemUoJ3dvcmtlcicsIG51bV93b3JrZXJz
KSkKIAogICAgICAgICB0cnk6Ci0gICAgICAgICAgICB3aXRoIG1hbmFnZXJfd29ya2VyX2Jyb2tl
ci5nZXQoc2VsZiwgd29ya2VyX2ZhY3RvcnksIG51bV93b3JrZXJzLCBzZWxmLl9wb3J0Lndvcmtl
cl9zdGFydHVwX2RlbGF5X3NlY3MoKSwgc2VsZi5fcG9ydC5ob3N0KSBhcyBwb29sOgorICAgICAg
ICAgICAgd2l0aCBtZXNzYWdlX3Bvb2wuZ2V0KHNlbGYsIHdvcmtlcl9mYWN0b3J5LCBudW1fd29y
a2Vycywgc2VsZi5fcG9ydC53b3JrZXJfc3RhcnR1cF9kZWxheV9zZWNzKCksIHNlbGYuX3BvcnQu
aG9zdCkgYXMgcG9vbDoKICAgICAgICAgICAgICAgICBwb29sLnJ1bigoJ3Rlc3RfbGlzdCcsIHNo
YXJkLm5hbWUsIHNoYXJkLnRlc3RfaW5wdXRzKSBmb3Igc2hhcmQgaW4gYWxsX3NoYXJkcykKICAg
ICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgogICAgICAgICAgICAgc2VsZi5fcHJpbnRl
ci5mbHVzaCgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9icm9rZXIucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9icm9rZXIucHkK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDRjOWJlNDUwOTZkNmY3NDAxYmU1M2EwZDI0
ZTJhZTdmYjI2Yjk4YWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFu
YWdlcl93b3JrZXJfYnJva2VyLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjk5ICswLDAgQEAKLSMg
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0j
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0jIG1ldDoKLSMKLSMgICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCi0jIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotIyBkaXN0cmlidXRpb24uCi0j
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKLSMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KLSMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotIyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotIyBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKLSMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0jIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSMgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCi0jIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
IyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotCi0iIiJNb2R1bGUgZm9yIGhhbmRsaW5nIG1lc3NhZ2VzIGFuZCBjb25j
dXJyZW5jeSBmb3IgcnVuLXdlYmtpdC10ZXN0cy4iIiIKLQotaW1wb3J0IGNQaWNrbGUKLWltcG9y
dCBsb2dnaW5nCi1pbXBvcnQgbXVsdGlwcm9jZXNzaW5nCi1pbXBvcnQgUXVldWUKLWltcG9ydCBz
eXMKLWltcG9ydCB0aW1lCi1pbXBvcnQgdHJhY2ViYWNrCi0KLQotZnJvbSB3ZWJraXRweS5jb21t
b24uaG9zdCBpbXBvcnQgSG9zdAotZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBz
dGFja191dGlscwotZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMudmlld3MgaW1wb3J0IG1ldGVy
ZWRfc3RyZWFtCi0KLQotX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQotCi0KLWRl
ZiBnZXQoY2FsbGVyLCB3b3JrZXJfZmFjdG9yeSwgbnVtX3dvcmtlcnMsIHdvcmtlcl9zdGFydHVw
X2RlbGF5X3NlY3M9MC4wLCBob3N0PU5vbmUpOgotICAgICIiIlJldHVybnMgYW4gb2JqZWN0IHRo
YXQgZXhwb3NlcyBhIHJ1bigpIG1ldGhvZCB0aGF0IHRha2VzIGEgbGlzdCBvZiB0ZXN0IHNoYXJk
cyBhbmQgcnVucyB0aGVtIGluIHBhcmFsbGVsLiIiIgotICAgIHJldHVybiBfTWVzc2FnZVBvb2wo
Y2FsbGVyLCB3b3JrZXJfZmFjdG9yeSwgbnVtX3dvcmtlcnMsIHdvcmtlcl9zdGFydHVwX2RlbGF5
X3NlY3MsIGhvc3QpCi0KLQotY2xhc3MgX01lc3NhZ2VQb29sKG9iamVjdCk6Ci0gICAgZGVmIF9f
aW5pdF9fKHNlbGYsIGNhbGxlciwgd29ya2VyX2ZhY3RvcnksIG51bV93b3JrZXJzLCB3b3JrZXJf
c3RhcnR1cF9kZWxheV9zZWNzPTAuMCwgaG9zdD1Ob25lKToKLSAgICAgICAgc2VsZi5fY2FsbGVy
ID0gY2FsbGVyCi0gICAgICAgIHNlbGYuX3dvcmtlcl9mYWN0b3J5ID0gd29ya2VyX2ZhY3RvcnkK
LSAgICAgICAgc2VsZi5fbnVtX3dvcmtlcnMgPSBudW1fd29ya2VycwotICAgICAgICBzZWxmLl93
b3JrZXJfc3RhcnR1cF9kZWxheV9zZWNzID0gd29ya2VyX3N0YXJ0dXBfZGVsYXlfc2VjcwotICAg
ICAgICBzZWxmLl93b3JrZXJzID0gW10KLSAgICAgICAgc2VsZi5fd29ya2Vyc19zdG9wcGVkID0g
c2V0KCkKLSAgICAgICAgc2VsZi5faG9zdCA9IGhvc3QKLSAgICAgICAgc2VsZi5fbmFtZSA9ICdt
YW5hZ2VyJwotICAgICAgICBzZWxmLl9ydW5uaW5nX2lubGluZSA9IChzZWxmLl9udW1fd29ya2Vy
cyA9PSAxKQotICAgICAgICBpZiBzZWxmLl9ydW5uaW5nX2lubGluZToKLSAgICAgICAgICAgIHNl
bGYuX21lc3NhZ2VzX3RvX3dvcmtlciA9IFF1ZXVlLlF1ZXVlKCkKLSAgICAgICAgICAgIHNlbGYu
X21lc3NhZ2VzX3RvX21hbmFnZXIgPSBRdWV1ZS5RdWV1ZSgpCi0gICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICBzZWxmLl9tZXNzYWdlc190b193b3JrZXIgPSBtdWx0aXByb2Nlc3NpbmcuUXVldWUo
KQotICAgICAgICAgICAgc2VsZi5fbWVzc2FnZXNfdG9fbWFuYWdlciA9IG11bHRpcHJvY2Vzc2lu
Zy5RdWV1ZSgpCi0KLSAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gc2Vs
ZgotCi0gICAgZGVmIF9fZXhpdF9fKHNlbGYsIGV4Y190eXBlLCBleGNfdmFsdWUsIHRyYWNlYmFj
ayk6Ci0gICAgICAgIHNlbGYuX2Nsb3NlKCkKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBk
ZWYgcnVuKHNlbGYsIHNoYXJkcyk6Ci0gICAgICAgICIiIlBvc3RzIGEgbGlzdCBvZiBtZXNzYWdl
cyB0byB0aGUgcG9vbCBhbmQgd2FpdHMgZm9yIHRoZW0gdG8gY29tcGxldGUuIiIiCi0gICAgICAg
IGZvciBtZXNzYWdlIGluIHNoYXJkczoKLSAgICAgICAgICAgIHNlbGYuX21lc3NhZ2VzX3RvX3dv
cmtlci5wdXQoX01lc3NhZ2Uoc2VsZi5fbmFtZSwgbWVzc2FnZVswXSwgbWVzc2FnZVsxOl0sIGZy
b21fdXNlcj1UcnVlLCBsb2dzPSgpKSkKLQotICAgICAgICBmb3IgXyBpbiB4cmFuZ2Uoc2VsZi5f
bnVtX3dvcmtlcnMpOgotICAgICAgICAgICAgc2VsZi5fbWVzc2FnZXNfdG9fd29ya2VyLnB1dChf
TWVzc2FnZShzZWxmLl9uYW1lLCAnc3RvcCcsIG1lc3NhZ2VfYXJncz0oKSwgZnJvbV91c2VyPUZh
bHNlLCBsb2dzPSgpKSkKLQotICAgICAgICBzZWxmLndhaXQoKQotCi0gICAgZGVmIF9zdGFydF93
b3JrZXJzKHNlbGYpOgotICAgICAgICBhc3NlcnQgbm90IHNlbGYuX3dvcmtlcnMKLSAgICAgICAg
c2VsZi5fd29ya2Vyc19zdG9wcGVkID0gc2V0KCkKLSAgICAgICAgaG9zdCA9IE5vbmUKLSAgICAg
ICAgaWYgc2VsZi5fcnVubmluZ19pbmxpbmUgb3Igc2VsZi5fY2FuX3BpY2tsZShzZWxmLl9ob3N0
KToKLSAgICAgICAgICAgIGhvc3QgPSBzZWxmLl9ob3N0Ci0KLSAgICAgICAgZm9yIHdvcmtlcl9u
dW1iZXIgaW4geHJhbmdlKHNlbGYuX251bV93b3JrZXJzKToKLSAgICAgICAgICAgIHdvcmtlciA9
IF9Xb3JrZXIoaG9zdCwgc2VsZi5fbWVzc2FnZXNfdG9fbWFuYWdlciwgc2VsZi5fbWVzc2FnZXNf
dG9fd29ya2VyLCBzZWxmLl93b3JrZXJfZmFjdG9yeSwgd29ya2VyX251bWJlciwgc2VsZi5fcnVu
bmluZ19pbmxpbmUsIHNlbGYgaWYgc2VsZi5fcnVubmluZ19pbmxpbmUgZWxzZSBOb25lKQotICAg
ICAgICAgICAgc2VsZi5fd29ya2Vycy5hcHBlbmQod29ya2VyKQotICAgICAgICAgICAgd29ya2Vy
LnN0YXJ0KCkKLSAgICAgICAgICAgIGlmIHNlbGYuX3dvcmtlcl9zdGFydHVwX2RlbGF5X3NlY3M6
Ci0gICAgICAgICAgICAgICAgdGltZS5zbGVlcChzZWxmLl93b3JrZXJfc3RhcnR1cF9kZWxheV9z
ZWNzKQotCi0gICAgZGVmIHdhaXQoc2VsZik6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHNl
bGYuX3N0YXJ0X3dvcmtlcnMoKQotICAgICAgICAgICAgaWYgc2VsZi5fcnVubmluZ19pbmxpbmU6
Ci0gICAgICAgICAgICAgICAgc2VsZi5fd29ya2Vyc1swXS5ydW4oKQotICAgICAgICAgICAgICAg
IHNlbGYuX2xvb3AoYmxvY2s9RmFsc2UpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAg
ICAgIHNlbGYuX2xvb3AoYmxvY2s9VHJ1ZSkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAg
IHNlbGYuX2Nsb3NlKCkKLQotICAgIGRlZiBfY2xvc2Uoc2VsZik6Ci0gICAgICAgIGZvciB3b3Jr
ZXIgaW4gc2VsZi5fd29ya2VyczoKLSAgICAgICAgICAgIGlmIHdvcmtlci5pc19hbGl2ZSgpOgot
ICAgICAgICAgICAgICAgIHdvcmtlci50ZXJtaW5hdGUoKQotICAgICAgICAgICAgICAgIHdvcmtl
ci5qb2luKCkKLSAgICAgICAgc2VsZi5fd29ya2VycyA9IFtdCi0gICAgICAgIGlmIG5vdCBzZWxm
Ll9ydW5uaW5nX2lubGluZToKLSAgICAgICAgICAgIGlmIHNlbGYuX21lc3NhZ2VzX3RvX3dvcmtl
cjoKLSAgICAgICAgICAgICAgICBzZWxmLl9tZXNzYWdlc190b193b3JrZXIuY2xvc2UoKQotICAg
ICAgICAgICAgICAgIHNlbGYuX21lc3NhZ2VzX3RvX3dvcmtlciA9IE5vbmUKLSAgICAgICAgICAg
IGlmIHNlbGYuX21lc3NhZ2VzX3RvX21hbmFnZXI6Ci0gICAgICAgICAgICAgICAgc2VsZi5fbWVz
c2FnZXNfdG9fbWFuYWdlci5jbG9zZSgpCi0gICAgICAgICAgICAgICAgc2VsZi5fbWVzc2FnZXNf
dG9fbWFuYWdlciA9IE5vbmUKLQotICAgIGRlZiBfbG9nX21lc3NhZ2VzKHNlbGYsIG1lc3NhZ2Vz
KToKLSAgICAgICAgZm9yIG1lc3NhZ2UgaW4gbWVzc2FnZXM6Ci0gICAgICAgICAgICBsb2dnaW5n
LnJvb3QuaGFuZGxlKG1lc3NhZ2UpCi0KLSAgICBkZWYgX2hhbmRsZV9kb25lKHNlbGYsIHNvdXJj
ZSk6Ci0gICAgICAgIHNlbGYuX3dvcmtlcnNfc3RvcHBlZC5hZGQoc291cmNlKQotCi0gICAgQHN0
YXRpY21ldGhvZAotICAgIGRlZiBfaGFuZGxlX3dvcmtlcl9leGNlcHRpb24oc291cmNlLCBleGNl
cHRpb25fdHlwZSwgZXhjZXB0aW9uX3ZhbHVlLCBzdGFjayk6Ci0gICAgICAgIGlmIGV4Y2VwdGlv
bl90eXBlID09IEtleWJvYXJkSW50ZXJydXB0OgotICAgICAgICAgICAgcmFpc2UgZXhjZXB0aW9u
X3R5cGUoZXhjZXB0aW9uX3ZhbHVlKQotICAgICAgICBfbG9nLmVycm9yKCIlcyByYWlzZWQgJXMo
JyVzJyk6IiAlICgKLSAgICAgICAgICAgICAgICAgICBzb3VyY2UsIGV4Y2VwdGlvbl92YWx1ZS5f
X2NsYXNzX18uX19uYW1lX18sIHN0cihleGNlcHRpb25fdmFsdWUpKSkKLSAgICAgICAgcmFpc2Ug
V29ya2VyRXhjZXB0aW9uKHN0cihleGNlcHRpb25fdmFsdWUpKQotCi0gICAgZGVmIF9jYW5fcGlj
a2xlKHNlbGYsIGhvc3QpOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBjUGlja2xlLmR1bXBz
KGhvc3QpCi0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICBleGNlcHQgVHlwZUVycm9y
OgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBkZWYgX2xvb3Aoc2VsZiwgYmxvY2sp
OgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgICAg
IGlmIGxlbihzZWxmLl93b3JrZXJzX3N0b3BwZWQpID09IGxlbihzZWxmLl93b3JrZXJzKToKLSAg
ICAgICAgICAgICAgICAgICAgYmxvY2sgPSBGYWxzZQotICAgICAgICAgICAgICAgIG1lc3NhZ2Ug
PSBzZWxmLl9tZXNzYWdlc190b19tYW5hZ2VyLmdldChibG9jaykKLSAgICAgICAgICAgICAgICBz
ZWxmLl9sb2dfbWVzc2FnZXMobWVzc2FnZS5sb2dzKQotICAgICAgICAgICAgICAgIGlmIG1lc3Nh
Z2UuZnJvbV91c2VyOgotICAgICAgICAgICAgICAgICAgICBzZWxmLl9jYWxsZXIuaGFuZGxlKG1l
c3NhZ2UubmFtZSwgbWVzc2FnZS5zcmMsICptZXNzYWdlLmFyZ3MpCi0gICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgbWV0aG9kID0gZ2V0YXR0cihzZWxmLCAnX2hh
bmRsZV8nICsgbWVzc2FnZS5uYW1lKQotICAgICAgICAgICAgICAgIGFzc2VydCBtZXRob2QsICdi
YWQgbWVzc2FnZSAlcycgJSByZXByKG1lc3NhZ2UpCi0gICAgICAgICAgICAgICAgbWV0aG9kKG1l
c3NhZ2Uuc3JjLCAqbWVzc2FnZS5hcmdzKQotICAgICAgICBleGNlcHQgUXVldWUuRW1wdHk6Ci0g
ICAgICAgICAgICBwYXNzCi0KLQotY2xhc3MgV29ya2VyRXhjZXB0aW9uKEV4Y2VwdGlvbik6Ci0g
ICAgIiIiUmFpc2VkIHdoZW4gd2UgcmVjZWl2ZSBhbiB1bmV4cGVjdGVkL3Vua25vd24gZXhjZXB0
aW9uIGZyb20gYSB3b3JrZXIuIiIiCi0gICAgcGFzcwotCi0KLWNsYXNzIF9NZXNzYWdlKG9iamVj
dCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHNyYywgbWVzc2FnZV9uYW1lLCBtZXNzYWdlX2Fy
Z3MsIGZyb21fdXNlciwgbG9ncyk6Ci0gICAgICAgIHNlbGYuc3JjID0gc3JjCi0gICAgICAgIHNl
bGYubmFtZSA9IG1lc3NhZ2VfbmFtZQotICAgICAgICBzZWxmLmFyZ3MgPSBtZXNzYWdlX2FyZ3MK
LSAgICAgICAgc2VsZi5mcm9tX3VzZXIgPSBmcm9tX3VzZXIKLSAgICAgICAgc2VsZi5sb2dzID0g
bG9ncwotCi0gICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gJ19NZXNzYWdl
KHNyYz0lcywgbmFtZT0lcywgYXJncz0lcywgZnJvbV91c2VyPSVzLCBsb2dzPSVzKScgJSAoc2Vs
Zi5zcmMsIHNlbGYubmFtZSwgc2VsZi5hcmdzLCBzZWxmLmZyb21fdXNlciwgc2VsZi5sb2dzKQot
Ci0KLWNsYXNzIF9Xb3JrZXIobXVsdGlwcm9jZXNzaW5nLlByb2Nlc3MpOgotICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBob3N0LCBtZXNzYWdlc190b19tYW5hZ2VyLCBtZXNzYWdlc190b193b3JrZXIs
IHdvcmtlcl9mYWN0b3J5LCB3b3JrZXJfbnVtYmVyLCBydW5uaW5nX2lubGluZSwgbWFuYWdlcik6
Ci0gICAgICAgIHN1cGVyKF9Xb3JrZXIsIHNlbGYpLl9faW5pdF9fKCkKLSAgICAgICAgc2VsZi5o
b3N0ID0gaG9zdAotICAgICAgICBzZWxmLndvcmtlcl9udW1iZXIgPSB3b3JrZXJfbnVtYmVyCi0g
ICAgICAgIHNlbGYubmFtZSA9ICd3b3JrZXIvJWQnICUgd29ya2VyX251bWJlcgotICAgICAgICBz
ZWxmLmxvZ19tZXNzYWdlcyA9IFtdCi0gICAgICAgIHNlbGYuX3J1bm5pbmdfaW5saW5lID0gcnVu
bmluZ19pbmxpbmUKLSAgICAgICAgc2VsZi5fbWFuYWdlciA9IG1hbmFnZXIKLQotICAgICAgICBz
ZWxmLl9tZXNzYWdlc190b19tYW5hZ2VyID0gbWVzc2FnZXNfdG9fbWFuYWdlcgotICAgICAgICBz
ZWxmLl9tZXNzYWdlc190b193b3JrZXIgPSBtZXNzYWdlc190b193b3JrZXIKLSAgICAgICAgc2Vs
Zi5fd29ya2VyID0gd29ya2VyX2ZhY3Rvcnkoc2VsZikKLSAgICAgICAgc2VsZi5fbG9nZ2VyID0g
Tm9uZQotICAgICAgICBzZWxmLl9sb2dfaGFuZGxlciA9IE5vbmUKLQotICAgIGRlZiB0ZXJtaW5h
dGUoc2VsZik6Ci0gICAgICAgIGlmIHNlbGYuX3dvcmtlcjoKLSAgICAgICAgICAgIHNlbGYuX3dv
cmtlci5zdG9wKCkKLSAgICAgICAgICAgIHNlbGYuX3dvcmtlciA9IE5vbmUKLSAgICAgICAgaWYg
c2VsZi5pc19hbGl2ZSgpOgotICAgICAgICAgICAgc3VwZXIoX1dvcmtlciwgc2VsZikudGVybWlu
YXRlKCkKLQotICAgIGRlZiBfY2xvc2Uoc2VsZik6Ci0gICAgICAgIGlmIHNlbGYuX2xvZ19oYW5k
bGVyIGFuZCBzZWxmLl9sb2dnZXI6Ci0gICAgICAgICAgICBzZWxmLl9sb2dnZXIucmVtb3ZlSGFu
ZGxlcihzZWxmLl9sb2dfaGFuZGxlcikKLSAgICAgICAgc2VsZi5fbG9nX2hhbmRsZXIgPSBOb25l
Ci0gICAgICAgIHNlbGYuX2xvZ2dlciA9IE5vbmUKLQotICAgIGRlZiBzdGFydChzZWxmKToKLSAg
ICAgICAgaWYgbm90IHNlbGYuX3J1bm5pbmdfaW5saW5lOgotICAgICAgICAgICAgc3VwZXIoX1dv
cmtlciwgc2VsZikuc3RhcnQoKQotCi0gICAgZGVmIHJ1bihzZWxmKToKLSAgICAgICAgaWYgbm90
IHNlbGYuaG9zdDoKLSAgICAgICAgICAgIHNlbGYuaG9zdCA9IEhvc3QoKQotICAgICAgICBpZiBu
b3Qgc2VsZi5fcnVubmluZ19pbmxpbmU6Ci0gICAgICAgICAgICBzZWxmLl9zZXRfdXBfbG9nZ2lu
ZygpCi0KLSAgICAgICAgd29ya2VyID0gc2VsZi5fd29ya2VyCi0gICAgICAgIGV4Y2VwdGlvbl9t
c2cgPSAiIgotICAgICAgICBfbG9nLmRlYnVnKCIlcyBzdGFydGluZyIgJSBzZWxmLm5hbWUpCi0K
LSAgICAgICAgdHJ5OgotICAgICAgICAgICAgd29ya2VyLnN0YXJ0KCkKLSAgICAgICAgICAgIHdo
aWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgbWVzc2FnZSA9IHNlbGYuX21lc3NhZ2VzX3RvX3dv
cmtlci5nZXQoKQotICAgICAgICAgICAgICAgIGlmIG1lc3NhZ2UuZnJvbV91c2VyOgotICAgICAg
ICAgICAgICAgICAgICB3b3JrZXIuaGFuZGxlKG1lc3NhZ2UubmFtZSwgbWVzc2FnZS5zcmMsICpt
ZXNzYWdlLmFyZ3MpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYueWllbGRfdG9fY2FsbGVyKCkK
LSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBhc3NlcnQgbWVzc2Fn
ZS5uYW1lID09ICdzdG9wJywgJ2JhZCBtZXNzYWdlICVzJyAlIHJlcHIobWVzc2FnZSkKLSAgICAg
ICAgICAgICAgICAgICAgYnJlYWsKLQotICAgICAgICBleGNlcHQgUXVldWUuRW1wdHk6Ci0gICAg
ICAgICAgICBhc3NlcnQgRmFsc2UsICclczogcmFuIG91dCBvZiBtZXNzYWdlcyBpbiB3b3JrZXIg
cXVldWUuJyAlIHNlbGYubmFtZQotICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQsIGU6
Ci0gICAgICAgICAgICBleGNlcHRpb25fbXNnID0gIiwgaW50ZXJydXB0ZWQiCi0gICAgICAgICAg
ICBpZiBub3Qgc2VsZi5fcnVubmluZ19pbmxpbmU6Ci0gICAgICAgICAgICAgICAgX2xvZy53YXJu
aW5nKCd3b3JrZXIgZXhjZXB0aW9uJykKLSAgICAgICAgICAgICAgICBzZWxmLl9yYWlzZShzeXMu
ZXhjX2luZm8oKSkKLSAgICAgICAgICAgIHJhaXNlCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24s
IGU6Ci0gICAgICAgICAgICBleGNlcHRpb25fbXNnID0gIiwgZXhjZXB0aW9uIHJhaXNlZDogJXMi
ICUgc3RyKGUpCi0gICAgICAgICAgICBpZiBub3Qgc2VsZi5fcnVubmluZ19pbmxpbmU6Ci0gICAg
ICAgICAgICAgICAgc2VsZi5fcmFpc2Uoc3lzLmV4Y19pbmZvKCkpCi0gICAgICAgICAgICByYWlz
ZQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgX2xvZy5kZWJ1ZygiJXMgZXhpdGluZyVz
IiAlIChzZWxmLm5hbWUsIGV4Y2VwdGlvbl9tc2cpKQotICAgICAgICAgICAgdHJ5OgotICAgICAg
ICAgICAgICAgIHdvcmtlci5zdG9wKCkKLSAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAg
ICAgICAgc2VsZi5fcG9zdChuYW1lPSdkb25lJywgYXJncz0oKSwgZnJvbV91c2VyPUZhbHNlKQot
ICAgICAgICAgICAgc2VsZi5fY2xvc2UoKQotCi0gICAgZGVmIHBvc3Qoc2VsZiwgbmFtZSwgKmFy
Z3MpOgotICAgICAgICBzZWxmLl9wb3N0KG5hbWUsIGFyZ3MsIGZyb21fdXNlcj1UcnVlKQotCi0g
ICAgZGVmIHlpZWxkX3RvX2NhbGxlcihzZWxmKToKLSAgICAgICAgaWYgc2VsZi5fcnVubmluZ19p
bmxpbmU6Ci0gICAgICAgICAgICBzZWxmLl9tYW5hZ2VyLl9sb29wKGJsb2NrPUZhbHNlKQotCi0g
ICAgZGVmIF9wb3N0KHNlbGYsIG5hbWUsIGFyZ3MsIGZyb21fdXNlcik6Ci0gICAgICAgIGxvZ19t
ZXNzYWdlcyA9IHNlbGYubG9nX21lc3NhZ2VzCi0gICAgICAgIHNlbGYubG9nX21lc3NhZ2VzID0g
W10KLSAgICAgICAgc2VsZi5fbWVzc2FnZXNfdG9fbWFuYWdlci5wdXQoX01lc3NhZ2Uoc2VsZi5u
YW1lLCBuYW1lLCBhcmdzLCBmcm9tX3VzZXIsIGxvZ19tZXNzYWdlcykpCi0KLSAgICBkZWYgX3Jh
aXNlKHNlbGYsIGV4Y19pbmZvKToKLSAgICAgICAgIyBTaW5jZSB0cmFjZWJhY2tzIGFyZW4ndCBw
aWNrbGFibGUsIHNlbmQgdGhlIGV4dHJhY3RlZCBzdGFjayBpbnN0ZWFkLgotICAgICAgICBleGNl
cHRpb25fdHlwZSwgZXhjZXB0aW9uX3ZhbHVlLCBleGNlcHRpb25fdHJhY2ViYWNrID0gZXhjX2lu
Zm8KLSAgICAgICAgc3RhY2tfdXRpbHMubG9nX3RyYWNlYmFjayhfbG9nLmVycm9yLCBleGNlcHRp
b25fdHJhY2ViYWNrKQotICAgICAgICBzdGFjayA9IHRyYWNlYmFjay5leHRyYWN0X3RiKGV4Y2Vw
dGlvbl90cmFjZWJhY2spCi0gICAgICAgIHNlbGYuX3Bvc3QobmFtZT0nd29ya2VyX2V4Y2VwdGlv
bicsIGFyZ3M9KGV4Y2VwdGlvbl90eXBlLCBleGNlcHRpb25fdmFsdWUsIHN0YWNrKSwgZnJvbV91
c2VyPUZhbHNlKQotCi0gICAgZGVmIF9zZXRfdXBfbG9nZ2luZyhzZWxmKToKLSAgICAgICAgc2Vs
Zi5fbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoKQotCi0gICAgICAgICMgVGhlIHVuaXggbXVs
dGlwcm9jZXNzaW5nIGltcGxlbWVudGF0aW9uIGNsb25lcyB0aGUgTWV0ZXJlZFN0cmVhbSBsb2cg
aGFuZGxlcgotICAgICAgICAjIGludG8gdGhlIGNoaWxkIHByb2Nlc3MsIHNvIHdlIG5lZWQgdG8g
cmVtb3ZlIGl0IHRvIGF2b2lkIGR1cGxpY2F0ZSBsb2dnaW5nLgotICAgICAgICBmb3IgaCBpbiBz
ZWxmLl9sb2dnZXIuaGFuZGxlcnM6Ci0gICAgICAgICAgICAjIGxvZyBoYW5kbGVycyBkb24ndCBo
YXZlIG5hbWVzIHVudGlsIHB5dGhvbiAyLjcuCi0gICAgICAgICAgICAjIEZJWE1FOiBnZXQgd2Vi
a2l0cHkudGVzdC5wcmludGVyIGZyb20gYSBjb25zdGFudCBhcyB3ZWxsLgotICAgICAgICAgICAg
aWYgZ2V0YXR0cihoLCAnbmFtZScsICcnKSBpbiAobWV0ZXJlZF9zdHJlYW0uTE9HX0hBTkRMRVJf
TkFNRSwgJ3dlYmtpdHB5LnRlc3QucHJpbnRlcicpOgotICAgICAgICAgICAgICAgIHNlbGYuX2xv
Z2dlci5yZW1vdmVIYW5kbGVyKGgpCi0gICAgICAgICAgICAgICAgYnJlYWsKLQotICAgICAgICBz
ZWxmLl9sb2dfaGFuZGxlciA9IF9Xb3JrZXJMb2dIYW5kbGVyKHNlbGYpCi0gICAgICAgIHNlbGYu
X2xvZ2dlci5hZGRIYW5kbGVyKHNlbGYuX2xvZ19oYW5kbGVyKQotCi0KLWNsYXNzIF9Xb3JrZXJM
b2dIYW5kbGVyKGxvZ2dpbmcuSGFuZGxlcik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHdvcmtl
cik6Ci0gICAgICAgIGxvZ2dpbmcuSGFuZGxlci5fX2luaXRfXyhzZWxmKQotICAgICAgICBzZWxm
Ll93b3JrZXIgPSB3b3JrZXIKLQotICAgIGRlZiBlbWl0KHNlbGYsIHJlY29yZCk6Ci0gICAgICAg
IHNlbGYuX3dvcmtlci5sb2dfbWVzc2FnZXMuYXBwZW5kKHJlY29yZCkKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHNfaW50ZWdy
YXRpb250ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dl
YmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKaW5kZXggYzEwNmZiZjQ3ZGNkMDk4MzE5MjJm
NTA4YWE0MDZkMmNlMTk3MTZlOS4uMGQ0MmJjNjMzYTllNDhmMmUwOTUzNTAyNzc4MDYwYmM2NmVl
ODQ5NiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVu
X3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKQEAg
LTUxLDcgKzUxLDcgQEAgZnJvbSB3ZWJraXRweS5jb21tb24uaG9zdF9tb2NrIGltcG9ydCBNb2Nr
SG9zdAogCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cyBpbXBvcnQgcG9ydAogZnJvbSB3ZWJr
aXRweS5sYXlvdXRfdGVzdHMgaW1wb3J0IHJ1bl93ZWJraXRfdGVzdHMKLWZyb20gd2Via2l0cHku
bGF5b3V0X3Rlc3RzLmNvbnRyb2xsZXJzLm1hbmFnZXJfd29ya2VyX2Jyb2tlciBpbXBvcnQgV29y
a2VyRXhjZXB0aW9uCitmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5jb250cm9sbGVycy5tYW5h
Z2VyIGltcG9ydCBXb3JrZXJFeGNlcHRpb24KIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBv
cnQgaW1wb3J0IFBvcnQKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQudGVzdCBpbXBv
cnQgVGVzdFBvcnQsIFRlc3REcml2ZXIKIGZyb20gd2Via2l0cHkudGVzdC5za2lwIGltcG9ydCBz
a2lwX2lmCg==
</data>
<flag name="review"
          id="160647"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>