<?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>32467</bug_id>
          
          <creation_ts>2009-12-12 00:55:02 -0800</creation_ts>
          <short_desc>[bzt] Kill WebKitApplyingScripts</short_desc>
          <delta_ts>2009-12-14 21:32:16 -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>
          <dependson>32406</dependson>
    
    <dependson>32464</dependson>
          <blocked>32468</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>171075</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-12 00:55:02 -0800</bug_when>
    <thetext>The last of the static beasts falls.  All hail our new Steps overload.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171076</commentid>
    <comment_count>1</comment_count>
      <attachid>44731</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-12 00:56:16 -0800</bug_when>
    <thetext>Created attachment 44731
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171077</commentid>
    <comment_count>2</comment_count>
      <attachid>44731</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-12 00:57:03 -0800</bug_when>
    <thetext>Comment on attachment 44731
Patch

Oops.  This has two changes mushed together.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171078</commentid>
    <comment_count>3</comment_count>
      <attachid>44732</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-12 01:04:29 -0800</bug_when>
    <thetext>Created attachment 44732
hold this for a sec</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171079</commentid>
    <comment_count>4</comment_count>
      <attachid>44733</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-12 01:09:48 -0800</bug_when>
    <thetext>Created attachment 44733
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171623</commentid>
    <comment_count>5</comment_count>
      <attachid>44733</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-14 16:20:37 -0800</bug_when>
    <thetext>Comment on attachment 44733
Patch

Looks OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171700</commentid>
    <comment_count>6</comment_count>
      <attachid>44733</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-14 21:32:11 -0800</bug_when>
    <thetext>Comment on attachment 44733
Patch

Clearing flags on attachment: 44733

Committed r52131: &lt;http://trac.webkit.org/changeset/52131&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171701</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-14 21:32:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44731</attachid>
            <date>2009-12-12 00:56:16 -0800</date>
            <delta_ts>2009-12-12 00:57:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-32467-20091212005615.patch</filename>
            <type>text/plain</type>
            <size>22568</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA5NjA0YWUyLi5lN2JjYTdjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMDktMTIt
MTIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbYnp0XSBLaWxsIFdlYktpdEFwcGx5aW5nU2Ny
aXB0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI0
NjcKKworICAgICAgICBBaCEgIEkndmUgYmVlbiB3YW50aW5nIHRvIGRvIHRoaXMgZm9yIGEgbG9u
ZyB0aW1lLiAgVGhpcyBwYXRjaCBicmluZ3MKKyAgICAgICAgdGhlIGFwcGx5aW5nIGNvbW1hbmRz
IGludG8gdGhlIHBhdGNoIHByb2Nlc3NpbmcgZm9sZC4KKworICAgICAgICAqIFNjcmlwdHMvYnVn
emlsbGEtdG9vbDoKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvYnVpbGRzdGVwcy5weToKKyAg
ICAgICAgKiBTY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHk6CisgICAgICAgICog
U2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkX3VuaXR0ZXN0LnB5OgorICAgICAgICAq
IFNjcmlwdHMvbW9kdWxlcy9tb2NrX2J1Z3ppbGxhdG9vbC5weToKKworMjAwOS0xMi0xMiAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtienRdIENvbnZlcnQgcm9sbG91dCB0byBTdGVwU2VxdWVu
Y2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNDA2
CisKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvYnVpbGRzdGVwcy5weToKKyAgICAgICAgKiBT
Y3JpcHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHk6CisgICAgICAgICogU2NyaXB0cy9t
b2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMv
bW9kdWxlcy9tb2NrX2J1Z3ppbGxhdG9vbC5weToKKwogMjAwOS0xMi0xMSAgQWRhbSBCYXJ0aCAg
PGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sIGIvV2ViS2l0
VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCmluZGV4IGZkYmI3NDAuLjIzMjQ1ZjYgMTAwNzU1
Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbAorKysgYi9XZWJLaXRUb29s
cy9TY3JpcHRzL2J1Z3ppbGxhLXRvb2wKQEAgLTM0LDcgKzM0LDYgQEAgaW1wb3J0IG9zCiAKIGZy
b20gbW9kdWxlcy5idWd6aWxsYSBpbXBvcnQgQnVnemlsbGEKIGZyb20gbW9kdWxlcy5idWlsZGJv
dCBpbXBvcnQgQnVpbGRCb3QKLWZyb20gbW9kdWxlcy5idWlsZHN0ZXBzIGltcG9ydCBCdWlsZFN0
ZXBzCiBmcm9tIG1vZHVsZXMuY29tbWFuZHMuZG93bmxvYWQgaW1wb3J0ICoKIGZyb20gbW9kdWxl
cy5jb21tYW5kcy5lYXJseV93YXJuaW5nX3N5c3RlbSBpbXBvcnQgKgogZnJvbSBtb2R1bGVzLmNv
bW1hbmRzLnF1ZXJpZXMgaW1wb3J0ICoKQEAgLTU1LDcgKzU0LDYgQEAgY2xhc3MgQnVnemlsbGFU
b29sKE11bHRpQ29tbWFuZFRvb2wpOgogICAgICAgICBzZWxmLmV4ZWN1dGl2ZSA9IEV4ZWN1dGl2
ZSgpCiAgICAgICAgIHNlbGYuX3NjbSA9IE5vbmUKICAgICAgICAgc2VsZi5fc3RhdHVzID0gTm9u
ZQotICAgICAgICBzZWxmLnN0ZXBzID0gQnVpbGRTdGVwcygpCiAKICAgICBkZWYgZHJ5X3J1bl9j
YWxsYmFjayhzZWxmLCBvcHRpb24sIG9wdCwgdmFsdWUsIHBhcnNlcik6CiAgICAgICAgIHNlbGYu
c2NtKCkuZHJ5cnVuID0gVHJ1ZQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1
bGVzL2J1aWxkc3RlcHMucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvYnVpbGRzdGVw
cy5weQppbmRleCBkMDhmNjM1Li5kZDUwNzJjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3Jp
cHRzL21vZHVsZXMvYnVpbGRzdGVwcy5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVs
ZXMvYnVpbGRzdGVwcy5weQpAQCAtNDMsMTEgKzQzLDEzIEBAIGNsYXNzIENvbW1hbmRPcHRpb25z
KG9iamVjdCk6CiAgICAgbm9uX2ludGVyYWN0aXZlID0gbWFrZV9vcHRpb24oIi0tbm9uLWludGVy
YWN0aXZlIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVzdD0ibm9uX2ludGVyYWN0aXZlIiwgZGVm
YXVsdD1GYWxzZSwgaGVscD0iTmV2ZXIgcHJvbXB0IHRoZSB1c2VyLCBmYWlsIGFzIGZhc3QgYXMg
cG9zc2libGUuIikKICAgICBwYXJlbnRfY29tbWFuZCA9IG1ha2Vfb3B0aW9uKCItLXBhcmVudC1j
b21tYW5kIiwgYWN0aW9uPSJzdG9yZSIsIGRlc3Q9InBhcmVudF9jb21tYW5kIiwgZGVmYXVsdD1O
b25lLCBoZWxwPSIoSW50ZXJuYWwpIFRoZSBjb21tYW5kIHRoYXQgc3Bhd25lZCB0aGlzIGluc3Rh
bmNlLiIpCiAgICAgdXBkYXRlID0gbWFrZV9vcHRpb24oIi0tbm8tdXBkYXRlIiwgYWN0aW9uPSJz
dG9yZV9mYWxzZSIsIGRlc3Q9InVwZGF0ZSIsIGRlZmF1bHQ9VHJ1ZSwgaGVscD0iRG9uJ3QgdXBk
YXRlIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4iKQorICAgIGxvY2FsX2NvbW1pdCA9IG1ha2Vfb3B0
aW9uKCItLWxvY2FsLWNvbW1pdCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlc3Q9ImxvY2FsX2Nv
bW1pdCIsIGRlZmF1bHQ9RmFsc2UsIGhlbHA9Ik1ha2UgYSBsb2NhbCBjb21taXQgZm9yIGVhY2gg
YXBwbGllZCBwYXRjaCIpCiAgICAgYnVpbGQgPSBtYWtlX29wdGlvbigiLS1uby1idWlsZCIsIGFj
dGlvbj0ic3RvcmVfZmFsc2UiLCBkZXN0PSJidWlsZCIsIGRlZmF1bHQ9VHJ1ZSwgaGVscD0iQ29t
bWl0IHdpdGhvdXQgYnVpbGRpbmcgZmlyc3QsIGltcGxpZXMgLS1uby10ZXN0LiIpCiAgICAgdGVz
dCA9IG1ha2Vfb3B0aW9uKCItLW5vLXRlc3QiLCBhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVzdD0i
dGVzdCIsIGRlZmF1bHQ9VHJ1ZSwgaGVscD0iQ29tbWl0IHdpdGhvdXQgcnVubmluZyBydW4td2Vi
a2l0LXRlc3RzLiIpCiAgICAgY2xvc2VfYnVnID0gbWFrZV9vcHRpb24oIi0tbm8tY2xvc2UiLCBh
Y3Rpb249InN0b3JlX2ZhbHNlIiwgZGVzdD0iY2xvc2VfYnVnIiwgZGVmYXVsdD1UcnVlLCBoZWxw
PSJMZWF2ZSBidWcgb3BlbiBhZnRlciBsYW5kaW5nLiIpCiAgICAgcG9ydCA9IG1ha2Vfb3B0aW9u
KCItLXBvcnQiLCBhY3Rpb249InN0b3JlIiwgZGVzdD0icG9ydCIsIGRlZmF1bHQ9Tm9uZSwgaGVs
cD0iU3BlY2lmeSBhIHBvcnQgKGUuZy4sIG1hYywgcXQsIGd0aywgLi4uKS4iKQogICAgIHJldmll
d2VyID0gbWFrZV9vcHRpb24oIi1yIiwgIi0tcmV2aWV3ZXIiLCBhY3Rpb249InN0b3JlIiwgdHlw
ZT0ic3RyaW5nIiwgZGVzdD0icmV2aWV3ZXIiLCBoZWxwPSJVcGRhdGUgQ2hhbmdlTG9ncyB0byBz
YXkgUmV2aWV3ZWQgYnkgUkVWSUVXRVIuIikKKyAgICBjb21wbGV0ZV9yb2xsb3V0ID0gbWFrZV9v
cHRpb24oIi0tY29tcGxldGUtcm9sbG91dCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlc3Q9ImNv
bXBsZXRlX3JvbGxvdXQiLCBoZWxwPSJDb21taXQgdGhlIHJldmVydCBhbmQgcmUtb3BlbiB0aGUg
b3JpZ2luYWwgYnVnLiIpCiAKIAogY2xhc3MgQWJzdHJhY3RTdGVwKG9iamVjdCk6CkBAIC03NSwx
MSArNzcsNTAgQEAgY2xhc3MgQWJzdHJhY3RTdGVwKG9iamVjdCk6CiAgICAgICAgIHJhaXNlIE5v
dEltcGxlbWVudGVkRXJyb3IsICJzdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50IgogCiAKKyMgRklY
TUU6IFVuaWZ5IHdpdGggU3RlcFNlcXVlbmNlPyAgSSdtIG5vdCBzdXJlIHlldCB3aGljaCBpcyB0
aGUgYmV0dGVyIGRlc2lnbi4KK2NsYXNzIE1ldGFTdGVwKEFic3RyYWN0U3RlcCk6CisgICAgc3Vi
c3RlcHMgPSBbXSAjIE92ZXJyaWRlIGluIHN1YmNsYXNzZXMKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgdG9vbCwgb3B0aW9ucyk6CisgICAgICAgIEFic3RyYWN0U3RlcC5fX2luaXRfXyhzZWxmLCB0
b29sLCBvcHRpb25zKQorICAgICAgICBzZWxmLl9zdGVwX2luc3RhbmNlcyA9IFtdCisgICAgICAg
IGZvciBzdGVwX2NsYXNzIGluIHNlbGYuc3Vic3RlcHM6CisgICAgICAgICAgICBzZWxmLl9zdGVw
X2luc3RhbmNlcy5hcHBlbmQoc3RlcF9jbGFzcyh0b29sLCBvcHRpb25zKSkKKworICAgIEBzdGF0
aWNtZXRob2QKKyAgICBkZWYgX2NvbGxlY3Rfb3B0aW9uc19mcm9tX3N0ZXBzKHN0ZXBzKToKKyAg
ICAgICAgY29sbGVjdGVkX29wdGlvbnMgPSBbXQorICAgICAgICBmb3Igc3RlcCBpbiBzdGVwczoK
KyAgICAgICAgICAgIGNvbGxlY3RlZF9vcHRpb25zID0gY29sbGVjdGVkX29wdGlvbnMgKyBzdGVw
Lm9wdGlvbnMoKQorICAgICAgICByZXR1cm4gY29sbGVjdGVkX29wdGlvbnMKKworICAgIEBjbGFz
c21ldGhvZAorICAgIGRlZiBvcHRpb25zKGNscyk6CisgICAgICAgIHJldHVybiBjbHMuX2NvbGxl
Y3Rfb3B0aW9uc19mcm9tX3N0ZXBzKGNscy5zdWJzdGVwcykKKworICAgIGRlZiBydW4oc2VsZiwg
c3RhdGUpOgorICAgICAgICBmb3Igc3RlcCBpbiBzZWxmLl9zdGVwX2luc3RhbmNlczoKKyAgICAg
ICAgICAgICBzdGVwLnJ1bihzdGF0ZSkKKworCiBjbGFzcyBQcmVwYXJlQ2hhbmdlbG9nU3RlcChB
YnN0cmFjdFN0ZXApOgogICAgIGRlZiBydW4oc2VsZiwgc3RhdGUpOgogICAgICAgICBzZWxmLl9y
dW5fc2NyaXB0KCJwcmVwYXJlLUNoYW5nZUxvZyIpCiAKIAorY2xhc3MgUHJlcGFyZUNoYW5nZWxv
Z0ZvclJldmVydFN0ZXAoQWJzdHJhY3RTdGVwKToKKyAgICBkZWYgcnVuKHNlbGYsIHN0YXRlKToK
KyAgICAgICAgIyBGaXJzdCwgZGlzY2FyZCB0aGUgQ2hhbmdlTG9nIGNoYW5nZXMgZnJvbSB0aGUg
cm9sbG91dC4KKyAgICAgICAgb3MuY2hkaXIoc2VsZi5fdG9vbC5zY20oKS5jaGVja291dF9yb290
KQorICAgICAgICBjaGFuZ2Vsb2dfcGF0aHMgPSBzZWxmLl90b29sLnNjbSgpLm1vZGlmaWVkX2No
YW5nZWxvZ3MoKQorICAgICAgICBzZWxmLl90b29sLnNjbSgpLnJldmVydF9maWxlcyhjaGFuZ2Vs
b2dfcGF0aHMpCisKKyAgICAgICAgIyBTZWNvbmQsIG1ha2UgbmV3IENoYW5nZUxvZyBlbnRyaWVz
IGZvciB0aGlzIHJvbGxvdXQuCisgICAgICAgICMgVGhpcyBjb3VsZCBtb3ZlIHRvIHByZXBhcmUt
Q2hhbmdlTG9nIGJ5IGFkZGluZyBhIC0tcmV2ZXJ0PSBvcHRpb24uCisgICAgICAgIHNlbGYuX3J1
bl9zY3JpcHQoInByZXBhcmUtQ2hhbmdlTG9nIikKKyAgICAgICAgZm9yIGNoYW5nZWxvZ19wYXRo
IGluIGNoYW5nZWxvZ19wYXRoczoKKyAgICAgICAgICAgIENoYW5nZUxvZyhjaGFuZ2Vsb2dfcGF0
aCkudXBkYXRlX2Zvcl9yZXZlcnQoc3RhdGVbInJldmlzaW9uIl0pCisKKwogY2xhc3MgQ2xlYW5X
b3JraW5nRGlyZWN0b3J5U3RlcChBYnN0cmFjdFN0ZXApOgogICAgIGRlZiBfX2luaXRfXyhzZWxm
LCB0b29sLCBvcHRpb25zLCBhbGxvd19sb2NhbF9jb21taXRzPUZhbHNlKToKICAgICAgICAgQWJz
dHJhY3RTdGVwLl9faW5pdF9fKHNlbGYsIHRvb2wsIG9wdGlvbnMpCkBAIC0xMDAsNiArMTQxLDEy
IEBAIGNsYXNzIENsZWFuV29ya2luZ0RpcmVjdG9yeVN0ZXAoQWJzdHJhY3RTdGVwKToKICAgICAg
ICAgICAgIHNlbGYuX3Rvb2wuc2NtKCkuZW5zdXJlX2NsZWFuX3dvcmtpbmdfZGlyZWN0b3J5KGZv
cmNlX2NsZWFuPXNlbGYuX29wdGlvbnMuZm9yY2VfY2xlYW4pCiAKIAorY2xhc3MgQ2xlYW5Xb3Jr
aW5nRGlyZWN0b3J5V2l0aExvY2FsQ29tbWl0c1N0ZXAoQ2xlYW5Xb3JraW5nRGlyZWN0b3J5U3Rl
cCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRvb2wsIG9wdGlvbnMpOgorICAgICAgICAjIEZJ
WE1FOiBUaGlzIGEgYml0IG9mIGEgaGFjay4gIENvbnNpZGVyIGRvaW5nIHRoaXMgbW9yZSBjbGVh
bmx5LgorICAgICAgICBDbGVhbldvcmtpbmdEaXJlY3RvcnlTdGVwLl9faW5pdF9fKHNlbGYsIHRv
b2wsIG9wdGlvbnMsIGFsbG93X2xvY2FsX2NvbW1pdHM9VHJ1ZSkKKworCiBjbGFzcyBVcGRhdGVT
dGVwKEFic3RyYWN0U3RlcCk6CiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIG9wdGlvbnMoY2xz
KToKQEAgLTEyNyw2ICsxNzQsMjUgQEAgY2xhc3MgQXBwbHlQYXRjaFN0ZXAoQWJzdHJhY3RTdGVw
KToKICAgICAgICAgc2VsZi5fdG9vbC5zY20oKS5hcHBseV9wYXRjaChzdGF0ZVsicGF0Y2giXSwg
Zm9yY2U9c2VsZi5fb3B0aW9ucy5ub25faW50ZXJhY3RpdmUpCiAKIAorY2xhc3MgQXBwbHlQYXRj
aFdpdGhMb2NhbENvbW1pdFN0ZXAoQXBwbHlQYXRjaFN0ZXApOgorICAgIEBjbGFzc21ldGhvZAor
ICAgIGRlZiBvcHRpb25zKGNscyk6CisgICAgICAgIHJldHVybiBbCisgICAgICAgICAgICBDb21t
YW5kT3B0aW9ucy5sb2NhbF9jb21taXQsCisgICAgICAgIF0gKyBBcHBseVBhdGNoU3RlcC5vcHRp
b25zKCkKKyAgICAKKyAgICBkZWYgcnVuKHNlbGYsIHN0YXRlKToKKyAgICAgICAgQXBwbHlQYXRj
aFN0ZXAucnVuKHNlbGYsIHN0YXRlKQorICAgICAgICBpZiBzZWxmLl9vcHRpb25zLmxvY2FsX2Nv
bW1pdDoKKyAgICAgICAgICAgIGNvbW1pdF9tZXNzYWdlID0gc2VsZi5fdG9vbC5zY20oKS5jb21t
aXRfbWVzc2FnZV9mb3JfdGhpc19jb21taXQoKQorICAgICAgICAgICAgc2VsZi5fdG9vbC5zY20o
KS5jb21taXRfbG9jYWxseV93aXRoX21lc3NhZ2UoY29tbWl0X21lc3NhZ2UubWVzc2FnZSgpIG9y
IHN0YXRlWyJwYXRjaCJdWyJuYW1lIl0pCisKKworY2xhc3MgUmV2ZXJ0UmV2aXNpb25TdGVwKEFi
c3RyYWN0U3RlcCk6CisgICAgZGVmIHJ1bihzZWxmLCBzdGF0ZSk6CisgICAgICAgIHNlbGYuX3Rv
b2wuc2NtKCkuYXBwbHlfcmV2ZXJzZV9kaWZmKHN0YXRlWyJyZXZpc2lvbiJdKQorCisKIGNsYXNz
IEVuc3VyZUJ1aWxkZXJzQXJlR3JlZW5TdGVwKEFic3RyYWN0U3RlcCk6CiAgICAgQGNsYXNzbWV0
aG9kCiAgICAgZGVmIG9wdGlvbnMoY2xzKToKQEAgLTI4MCwzMyArMzQ2LDMxIEBAIGNsYXNzIENs
b3NlQnVnRm9yTGFuZERpZmZTdGVwKEFic3RyYWN0U3RlcCk6CiAgICAgICAgICAgICBsb2coIk5v
IGJ1ZyBpZCBwcm92aWRlZC4iKQogCiAKLSMgRklYTUU6IFRoaXMgY2xhc3MgaXMgYSBkaW5vc2F1
ciBhbmQgc2hvdWxkIGJlIGV4dGluY3Qgc29vbi4KLWNsYXNzIEJ1aWxkU3RlcHM6Ci0gICAgIyBG
SVhNRTogVGhlIG9wdGlvbnMgc2hvdWxkIHJlYWxseSBsaXZlIG9uIGVhY2ggIlN0ZXAiIG9iamVj
dC4KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIGNsZWFuaW5nX29wdGlvbnMoKToKLSAgICAg
ICAgcmV0dXJuIFsKLSAgICAgICAgICAgIENvbW1hbmRPcHRpb25zLmZvcmNlX2NsZWFuLAotICAg
ICAgICAgICAgQ29tbWFuZE9wdGlvbnMuY2xlYW4sCi0gICAgICAgIF0KK2NsYXNzIENvbXBsZXRl
Um9sbG91dChNZXRhU3RlcCk6CisgICAgc3Vic3RlcHMgPSBbCisgICAgICAgIEJ1aWxkU3RlcCwK
KyAgICAgICAgQ29tbWl0U3RlcCwKKyAgICBdCiAKLSAgICAjIEZJWE1FOiBUaGVzZSBkaXN0aW5j
dGlvbnMgYXJlIGJvZ3VzLiAgV2UgbmVlZCBhIGJldHRlciBtb2RlbCBmb3IgaGFuZGxpbmcgb3B0
aW9ucy4KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIGJ1aWxkX29wdGlvbnMoKToKLSAgICAg
ICAgcmV0dXJuIFsKLSAgICAgICAgICAgIENvbW1hbmRPcHRpb25zLmNoZWNrX2J1aWxkZXJzLAot
ICAgICAgICAgICAgQ29tbWFuZE9wdGlvbnMucXVpZXQsCi0gICAgICAgICAgICBDb21tYW5kT3B0
aW9ucy5ub25faW50ZXJhY3RpdmUsCi0gICAgICAgICAgICBDb21tYW5kT3B0aW9ucy5wYXJlbnRf
Y29tbWFuZCwKLSAgICAgICAgICAgIENvbW1hbmRPcHRpb25zLnBvcnQsCi0gICAgICAgIF0KKyAg
ICBAY2xhc3NtZXRob2QKKyAgICBkZWYgb3B0aW9ucyhjbHMpOgorICAgICAgICBjb2xsZWN0ZWRf
b3B0aW9ucyA9IGNscy5fY29sbGVjdF9vcHRpb25zX2Zyb21fc3RlcHMoY2xzLnN1YnN0ZXBzKQor
ICAgICAgICBjb2xsZWN0ZWRfb3B0aW9ucy5hcHBlbmQoQ29tbWFuZE9wdGlvbnMuY29tcGxldGVf
cm9sbG91dCkKKyAgICAgICAgcmV0dXJuIGNvbGxlY3RlZF9vcHRpb25zCiAKLSAgICBAc3RhdGlj
bWV0aG9kCi0gICAgZGVmIGxhbmRfb3B0aW9ucygpOgotICAgICAgICByZXR1cm4gWwotICAgICAg
ICAgICAgQ29tbWFuZE9wdGlvbnMudXBkYXRlLAotICAgICAgICAgICAgQ29tbWFuZE9wdGlvbnMu
YnVpbGQsCi0gICAgICAgICAgICBDb21tYW5kT3B0aW9ucy50ZXN0LAotICAgICAgICAgICAgQ29t
bWFuZE9wdGlvbnMuY2xvc2VfYnVnLAotICAgICAgICBdCisgICAgZGVmIHJ1bihzZWxmLCBzdGF0
ZSk6CisgICAgICAgIGJ1Z19pZCA9IHN0YXRlWyJidWdfaWQiXQorICAgICAgICAjIEZJWE1FOiBG
dWxseSBhdXRvbWF0ZWQgcm9sbG91dCBpcyBub3QgMTAwJSBpZGlvdC1wcm9vZiB5ZXQsIHNvIGZv
ciBub3cganVzdCBsb2cgd2l0aCBpbnN0cnVjdGlvbnMgb24gaG93IHRvIGNvbXBsZXRlIHRoZSBy
b2xsb3V0LgorICAgICAgICAjIE9uY2Ugd2UgdHJ1c3Qgcm9sbG91dCB3ZSB3aWxsIHJlbW92ZSB0
aGlzIG9wdGlvbi4KKyAgICAgICAgaWYgbm90IHNlbGYuX29wdGlvbnMuY29tcGxldGVfcm9sbG91
dDoKKyAgICAgICAgICAgIGxvZygiXG5OT1RFOiBSb2xsb3V0IHN1cHBvcnQgaXMgZXhwZXJpbWVu
dGFsLlxuUGxlYXNlIHZlcmlmeSB0aGUgcm9sbG91dCBkaWZmIGFuZCB1c2UgXCJidWd6aWxsYS10
b29sIGxhbmQtZGlmZiAlc1wiIHRvIGNvbW1pdCB0aGUgcm9sbG91dC4iICUgYnVnX2lkKQorICAg
ICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgTWV0YVN0ZXAucnVuKHNlbGYsIHN0YXRlKQogCisg
ICAgICAgIGlmIG5vdCBidWdfaWQ6CisgICAgICAgICAgICBsb2coc3RhdGVbImNvbW1pdF90ZXh0
Il0pCisgICAgICAgICAgICBsb2coIk5vIGJ1Z3Mgd2VyZSB1cGRhdGVkIG9yIHJlLW9wZW5lZCB0
byByZWZsZWN0IHRoaXMgcm9sbG91dC4iKQorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICMg
RklYTUU6IEknbSBub3Qgc3VyZSBzdGF0ZVsiY29tbWl0X3RleHQiXSBpcyBxdWl0ZSByaWdodCBo
ZXJlLgorICAgICAgICBzZWxmLl90b29sLmJ1Z3MucmVvcGVuX2J1ZyhidWdfaWQsIHN0YXRlWyJj
b21taXRfdGV4dCJdKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2Nv
bW1hbmRzL2Rvd25sb2FkLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRz
L2Rvd25sb2FkLnB5CmluZGV4IDlhODVhZWYuLjAwNDliMDQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9kb3dubG9hZC5weQorKysgYi9XZWJLaXRUb29s
cy9TY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHkKQEAgLTM0LDcgKzM0LDcgQEAg
ZnJvbSBvcHRwYXJzZSBpbXBvcnQgbWFrZV9vcHRpb24KIAogZnJvbSBtb2R1bGVzLmJ1Z3ppbGxh
IGltcG9ydCBwYXJzZV9idWdfaWQKICMgRklYTUU6IFRoaXMgbGlzdCBpcyByZWRpY3Vsb3VzLiAg
V2UgbmVlZCB0byBsZWFybiB0aGUgd2F5cyBvZiBfX2FsbF9fLgotZnJvbSBtb2R1bGVzLmJ1aWxk
c3RlcHMgaW1wb3J0IENvbW1hbmRPcHRpb25zLCBCdWlsZFN0ZXBzLCBFbnN1cmVCdWlsZGVyc0Fy
ZUdyZWVuU3RlcCwgVXBkYXRlQ2hhbmdlbG9nc1dpdGhSZXZpZXdlclN0ZXAsIENsZWFuV29ya2lu
Z0RpcmVjdG9yeVN0ZXAsIFVwZGF0ZVN0ZXAsIEFwcGx5UGF0Y2hTdGVwLCBCdWlsZFN0ZXAsIENo
ZWNrU3R5bGVTdGVwLCBSdW5UZXN0c1N0ZXAsIENvbW1pdFN0ZXAsIENsb3NlUGF0Y2hTdGVwLCBD
bG9zZUJ1Z1N0ZXAsIENsb3NlQnVnRm9yTGFuZERpZmZTdGVwLCBQcmVwYXJlQ2hhbmdlbG9nU3Rl
cAorZnJvbSBtb2R1bGVzLmJ1aWxkc3RlcHMgaW1wb3J0IEVuc3VyZUJ1aWxkZXJzQXJlR3JlZW5T
dGVwLCBVcGRhdGVDaGFuZ2Vsb2dzV2l0aFJldmlld2VyU3RlcCwgQ2xlYW5Xb3JraW5nRGlyZWN0
b3J5U3RlcCwgQ2xlYW5Xb3JraW5nRGlyZWN0b3J5V2l0aExvY2FsQ29tbWl0c1N0ZXAsIFVwZGF0
ZVN0ZXAsIEFwcGx5UGF0Y2hTdGVwLCBBcHBseVBhdGNoV2l0aExvY2FsQ29tbWl0U3RlcCwgQnVp
bGRTdGVwLCBDaGVja1N0eWxlU3RlcCwgUnVuVGVzdHNTdGVwLCBDb21taXRTdGVwLCBDbG9zZVBh
dGNoU3RlcCwgQ2xvc2VCdWdTdGVwLCBDbG9zZUJ1Z0ZvckxhbmREaWZmU3RlcCwgUHJlcGFyZUNo
YW5nZWxvZ1N0ZXAsIFByZXBhcmVDaGFuZ2Vsb2dGb3JSZXZlcnRTdGVwLCBSZXZlcnRSZXZpc2lv
blN0ZXAsIENvbXBsZXRlUm9sbG91dAogZnJvbSBtb2R1bGVzLmNoYW5nZWxvZ3MgaW1wb3J0IENo
YW5nZUxvZwogZnJvbSBtb2R1bGVzLmNvbW1lbnRzIGltcG9ydCBidWdfY29tbWVudF9mcm9tX2Nv
bW1pdF90ZXh0CiBmcm9tIG1vZHVsZXMuZXhlY3V0aXZlIGltcG9ydCBTY3JpcHRFcnJvcgpAQCAt
NTksNjUgKzU5LDYgQEAgY2xhc3MgQnVpbGQoQ29tbWFuZCk6CiAgICAgICAgIHNlbGYuX3NlcXVl
bmNlLnJ1bl9hbmRfaGFuZGxlX2Vycm9ycyh0b29sLCBvcHRpb25zKQogCiAKLWNsYXNzIEFwcGx5
QXR0YWNobWVudChDb21tYW5kKToKLSAgICBuYW1lID0gImFwcGx5LWF0dGFjaG1lbnQiCi0gICAg
c2hvd19pbl9tYWluX2hlbHAgPSBUcnVlCi0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAg
ICBvcHRpb25zID0gV2ViS2l0QXBwbHlpbmdTY3JpcHRzLmFwcGx5X29wdGlvbnMoKQotICAgICAg
ICBvcHRpb25zICs9IEJ1aWxkU3RlcHMuY2xlYW5pbmdfb3B0aW9ucygpCi0gICAgICAgIENvbW1h
bmQuX19pbml0X18oc2VsZiwgIkFwcGx5IGFuIGF0dGFjaG1lbnQgdG8gdGhlIGxvY2FsIHdvcmtp
bmcgZGlyZWN0b3J5IiwgIkFUVEFDSE1FTlRfSUQiLCBvcHRpb25zPW9wdGlvbnMpCi0KLSAgICBk
ZWYgZXhlY3V0ZShzZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKLSAgICAgICAgV2ViS2l0QXBw
bHlpbmdTY3JpcHRzLnNldHVwX2Zvcl9wYXRjaF9hcHBseSh0b29sLCBvcHRpb25zKQotICAgICAg
ICBhdHRhY2htZW50X2lkID0gYXJnc1swXQotICAgICAgICBhdHRhY2htZW50ID0gdG9vbC5idWdz
LmZldGNoX2F0dGFjaG1lbnQoYXR0YWNobWVudF9pZCkKLSAgICAgICAgV2ViS2l0QXBwbHlpbmdT
Y3JpcHRzLmFwcGx5X3BhdGNoZXNfd2l0aF9vcHRpb25zKHRvb2wuc2NtKCksIFthdHRhY2htZW50
XSwgb3B0aW9ucykKLQotCi1jbGFzcyBBcHBseVBhdGNoZXMoQ29tbWFuZCk6Ci0gICAgbmFtZSA9
ICJhcHBseS1wYXRjaGVzIgotICAgIHNob3dfaW5fbWFpbl9oZWxwID0gVHJ1ZQotICAgIGRlZiBf
X2luaXRfXyhzZWxmKToKLSAgICAgICAgb3B0aW9ucyA9IFdlYktpdEFwcGx5aW5nU2NyaXB0cy5h
cHBseV9vcHRpb25zKCkKLSAgICAgICAgb3B0aW9ucyArPSBCdWlsZFN0ZXBzLmNsZWFuaW5nX29w
dGlvbnMoKQotICAgICAgICBDb21tYW5kLl9faW5pdF9fKHNlbGYsICJBcHBseSByZXZpZXdlZCBw
YXRjaGVzIGZyb20gcHJvdmlkZWQgYnVncyB0byB0aGUgbG9jYWwgd29ya2luZyBkaXJlY3Rvcnki
LCAiQlVHSUQiLCBvcHRpb25zPW9wdGlvbnMpCi0KLSAgICBkZWYgZXhlY3V0ZShzZWxmLCBvcHRp
b25zLCBhcmdzLCB0b29sKToKLSAgICAgICAgV2ViS2l0QXBwbHlpbmdTY3JpcHRzLnNldHVwX2Zv
cl9wYXRjaF9hcHBseSh0b29sLCBvcHRpb25zKQotICAgICAgICBidWdfaWQgPSBhcmdzWzBdCi0g
ICAgICAgIHBhdGNoZXMgPSB0b29sLmJ1Z3MuZmV0Y2hfcmV2aWV3ZWRfcGF0Y2hlc19mcm9tX2J1
ZyhidWdfaWQpCi0gICAgICAgIFdlYktpdEFwcGx5aW5nU2NyaXB0cy5hcHBseV9wYXRjaGVzX3dp
dGhfb3B0aW9ucyh0b29sLnNjbSgpLCBwYXRjaGVzLCBvcHRpb25zKQotCi0KLWNsYXNzIFdlYktp
dEFwcGx5aW5nU2NyaXB0czoKLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIGFwcGx5X29wdGlv
bnMoKToKLSAgICAgICAgcmV0dXJuIFsKLSAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLW5vLXVw
ZGF0ZSIsIGFjdGlvbj0ic3RvcmVfZmFsc2UiLCBkZXN0PSJ1cGRhdGUiLCBkZWZhdWx0PVRydWUs
IGhlbHA9IkRvbid0IHVwZGF0ZSB0aGUgd29ya2luZyBkaXJlY3RvcnkgYmVmb3JlIGFwcGx5aW5n
IHBhdGNoZXMiKSwKLSAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLWxvY2FsLWNvbW1pdCIsIGFj
dGlvbj0ic3RvcmVfdHJ1ZSIsIGRlc3Q9ImxvY2FsX2NvbW1pdCIsIGRlZmF1bHQ9RmFsc2UsIGhl
bHA9Ik1ha2UgYSBsb2NhbCBjb21taXQgZm9yIGVhY2ggYXBwbGllZCBwYXRjaCIpLAotICAgICAg
ICAgICAgQ29tbWFuZE9wdGlvbnMucG9ydCwKLSAgICAgICAgXQotCi0gICAgQHN0YXRpY21ldGhv
ZAotICAgIGRlZiBzZXR1cF9mb3JfcGF0Y2hfYXBwbHkodG9vbCwgb3B0aW9ucyk6Ci0gICAgICAg
IGNsZWFuX3N0ZXAgPSBDbGVhbldvcmtpbmdEaXJlY3RvcnlTdGVwKHRvb2wsIG9wdGlvbnMsIGFs
bG93X2xvY2FsX2NvbW1pdHM9VHJ1ZSkKLSAgICAgICAgY2xlYW5fc3RlcC5ydW4oe30pCi0gICAg
ICAgIHVwZGF0ZV9zdGVwID0gVXBkYXRlU3RlcCh0b29sLCBvcHRpb25zKQotICAgICAgICB1cGRh
dGVfc3RlcC5ydW4oe30pCi0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIGFwcGx5X3BhdGNo
ZXNfd2l0aF9vcHRpb25zKHNjbSwgcGF0Y2hlcywgb3B0aW9ucyk6Ci0gICAgICAgIGlmIG9wdGlv
bnMubG9jYWxfY29tbWl0IGFuZCBub3Qgc2NtLnN1cHBvcnRzX2xvY2FsX2NvbW1pdHMoKToKLSAg
ICAgICAgICAgIGVycm9yKCItLWxvY2FsLWNvbW1pdCBwYXNzZWQsIGJ1dCAlcyBkb2VzIG5vdCBz
dXBwb3J0IGxvY2FsIGNvbW1pdHMiICUgc2NtLmRpc3BsYXlfbmFtZSgpKQotCi0gICAgICAgIGZv
ciBwYXRjaCBpbiBwYXRjaGVzOgotICAgICAgICAgICAgbG9nKCJBcHBseWluZyBhdHRhY2htZW50
ICVzIGZyb20gYnVnICVzIiAlIChwYXRjaFsiaWQiXSwgcGF0Y2hbImJ1Z19pZCJdKSkKLSAgICAg
ICAgICAgIHNjbS5hcHBseV9wYXRjaChwYXRjaCkKLSAgICAgICAgICAgIGlmIG9wdGlvbnMubG9j
YWxfY29tbWl0OgotICAgICAgICAgICAgICAgIGNvbW1pdF9tZXNzYWdlID0gc2NtLmNvbW1pdF9t
ZXNzYWdlX2Zvcl90aGlzX2NvbW1pdCgpCi0gICAgICAgICAgICAgICAgc2NtLmNvbW1pdF9sb2Nh
bGx5X3dpdGhfbWVzc2FnZShjb21taXRfbWVzc2FnZS5tZXNzYWdlKCkgb3IgcGF0Y2hbIm5hbWUi
XSkKLQotCiBjbGFzcyBMYW5kRGlmZihDb21tYW5kKToKICAgICBuYW1lID0gImxhbmQtZGlmZiIK
ICAgICBzaG93X2luX21haW5faGVscCA9IFRydWUKQEAgLTIyMSw2ICsxNjIsNTQgQEAgY2xhc3Mg
QnVpbGRBdHRhY2htZW50KEFic3RyYWN0UGF0Y2hQcm9jZXNzaW5nQ29tbWFuZCk6CiAgICAgICAg
IHNlbGYuX3NlcXVlbmNlLnJ1bl9hbmRfaGFuZGxlX2Vycm9ycyh0b29sLCBvcHRpb25zLCBzdGF0
ZSkKIAogCitjbGFzcyBBYnN0cmFjdFBhdGNoQXBwbHlpbmdDb21tYW5kKEFic3RyYWN0UGF0Y2hQ
cm9jZXNzaW5nQ29tbWFuZCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhlbHBfdGV4dCwgYXJn
c19kZXNjcmlwdGlvbik6CisgICAgICAgIHNlbGYuX3ByZXBhcmVfc2VxdWVuY2UgPSBTdGVwU2Vx
dWVuY2UoWworICAgICAgICAgICAgQ2xlYW5Xb3JraW5nRGlyZWN0b3J5V2l0aExvY2FsQ29tbWl0
c1N0ZXAsCisgICAgICAgICAgICBVcGRhdGVTdGVwLAorICAgICAgICBdKQorICAgICAgICBzZWxm
Ll9tYWluX3NlcXVlbmNlICA9IFN0ZXBTZXF1ZW5jZShbCisgICAgICAgICAgICBBcHBseVBhdGNo
V2l0aExvY2FsQ29tbWl0U3RlcCwKKyAgICAgICAgXSkKKyAgICAgICAgb3B0aW9ucyA9IHNvcnRl
ZChzZXQoc2VsZi5fcHJlcGFyZV9zZXF1ZW5jZS5vcHRpb25zKCkgKyBzZWxmLl9tYWluX3NlcXVl
bmNlLm9wdGlvbnMoKSkpCisgICAgICAgIEFic3RyYWN0UGF0Y2hQcm9jZXNzaW5nQ29tbWFuZC5f
X2luaXRfXyhzZWxmLCBoZWxwX3RleHQsIGFyZ3NfZGVzY3JpcHRpb24sIG9wdGlvbnMpCisKKyAg
ICBkZWYgX3ByZXBhcmVfdG9fcHJvY2VzcyhzZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKKyAg
ICAgICAgaWYgb3B0aW9ucy5sb2NhbF9jb21taXQgYW5kIG5vdCB0b29sLnNjbSgpLnN1cHBvcnRz
X2xvY2FsX2NvbW1pdHMoKToKKyAgICAgICAgICAgIGVycm9yKCItLWxvY2FsLWNvbW1pdCBwYXNz
ZWQsIGJ1dCAlcyBkb2VzIG5vdCBzdXBwb3J0IGxvY2FsIGNvbW1pdHMiICUgc2NtLmRpc3BsYXlf
bmFtZSgpKQorICAgICAgICBzZWxmLl9wcmVwYXJlX3NlcXVlbmNlLnJ1bl9hbmRfaGFuZGxlX2Vy
cm9ycyh0b29sLCBvcHRpb25zKQorCisgICAgIyBGSVhNRTogQWRkIGEgYmFzZSBjbGFzcyB0byBz
aGFyZSB0aGlzIGNvZGUuCisgICAgZGVmIF9wcm9jZXNzX3BhdGNoKHNlbGYsIHBhdGNoLCBvcHRp
b25zLCBhcmdzLCB0b29sKToKKyAgICAgICAgc3RhdGUgPSB7InBhdGNoIjogcGF0Y2h9CisgICAg
ICAgIHNlbGYuX21haW5fc2VxdWVuY2UucnVuX2FuZF9oYW5kbGVfZXJyb3JzKHRvb2wsIG9wdGlv
bnMsIHN0YXRlKQorCisKK2NsYXNzIEFwcGx5QXR0YWNobWVudChBYnN0cmFjdFBhdGNoQXBwbHlp
bmdDb21tYW5kKToKKyAgICBuYW1lID0gImFwcGx5LWF0dGFjaG1lbnQiCisgICAgc2hvd19pbl9t
YWluX2hlbHAgPSBUcnVlCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBBYnN0cmFj
dFBhdGNoQXBwbHlpbmdDb21tYW5kLl9faW5pdF9fKHNlbGYsICJBcHBseSBhbiBhdHRhY2htZW50
IHRvIHRoZSBsb2NhbCB3b3JraW5nIGRpcmVjdG9yeSIsICJBVFRBQ0hNRU5UX0lEIFtBVFRBQ0hN
RU5UX0lEU10iKQorCisgICAgZGVmIF9mZXRjaF9saXN0X29mX3BhdGNoZXNfdG9fcHJvY2Vzcyhz
ZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKKyAgICAgICAgcmV0dXJuIG1hcChsYW1iZGEgcGF0
Y2hfaWQ6IHRvb2wuYnVncy5mZXRjaF9hdHRhY2htZW50KHBhdGNoX2lkKSwgYXJncykKKworCitj
bGFzcyBBcHBseVBhdGNoZXMoQWJzdHJhY3RQYXRjaEFwcGx5aW5nQ29tbWFuZCk6CisgICAgbmFt
ZSA9ICJhcHBseS1wYXRjaGVzIgorICAgIHNob3dfaW5fbWFpbl9oZWxwID0gVHJ1ZQorICAgIGRl
ZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgQWJzdHJhY3RQYXRjaEFwcGx5aW5nQ29tbWFuZC5f
X2luaXRfXyhzZWxmLCAiQXBwbHkgcmV2aWV3ZWQgcGF0Y2hlcyBmcm9tIHByb3ZpZGVkIGJ1Z3Mg
dG8gdGhlIGxvY2FsIHdvcmtpbmcgZGlyZWN0b3J5IiwgIkJVR0lEIFtCVUdJRFNdIikKKworICAg
IGRlZiBfZmV0Y2hfbGlzdF9vZl9wYXRjaGVzX3RvX3Byb2Nlc3Moc2VsZiwgb3B0aW9ucywgYXJn
cywgdG9vbCk6CisgICAgICAgIGFsbF9wYXRjaGVzID0gW10KKyAgICAgICAgZm9yIGJ1Z19pZCBp
biBhcmdzOgorICAgICAgICAgICAgcGF0Y2hlcyA9IHRvb2wuYnVncy5mZXRjaF9yZXZpZXdlZF9w
YXRjaGVzX2Zyb21fYnVnKGJ1Z19pZCkKKyAgICAgICAgICAgIGxvZygiJXMgZm91bmQgb24gYnVn
ICVzLiIgJSAocGx1cmFsaXplKCJyZXZpZXdlZCBwYXRjaCIsIGxlbihwYXRjaGVzKSksIGJ1Z19p
ZCkpCisgICAgICAgICAgICBhbGxfcGF0Y2hlcyArPSBwYXRjaGVzCisgICAgICAgIHJldHVybiBh
bGxfcGF0Y2hlcworCisKIGNsYXNzIEFic3RyYWN0UGF0Y2hMYW5kaW5nQ29tbWFuZChBYnN0cmFj
dFBhdGNoUHJvY2Vzc2luZ0NvbW1hbmQpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBoZWxwX3Rl
eHQsIGFyZ3NfZGVzY3JpcHRpb24pOgogICAgICAgICBzZWxmLl9zZXF1ZW5jZSA9IFN0ZXBTZXF1
ZW5jZShbCkBAIC0yNzEsMjggKzI2MCwxOCBAQCBjbGFzcyBMYW5kUGF0Y2hlcyhBYnN0cmFjdFBh
dGNoTGFuZGluZ0NvbW1hbmQpOgogICAgICAgICByZXR1cm4gYWxsX3BhdGNoZXMKIAogCi0jIEZJ
WE1FOiBSZXF1aXJlcyB1bml0IHRlc3QuCiBjbGFzcyBSb2xsb3V0KENvbW1hbmQpOgogICAgIG5h
bWUgPSAicm9sbG91dCIKICAgICBzaG93X2luX21haW5faGVscCA9IFRydWUKICAgICBkZWYgX19p
bml0X18oc2VsZik6Ci0gICAgICAgIG9wdGlvbnMgPSBCdWlsZFN0ZXBzLmNsZWFuaW5nX29wdGlv
bnMoKQotICAgICAgICBvcHRpb25zICs9IEJ1aWxkU3RlcHMuYnVpbGRfb3B0aW9ucygpCi0gICAg
ICAgIG9wdGlvbnMgKz0gQnVpbGRTdGVwcy5sYW5kX29wdGlvbnMoKQotICAgICAgICBvcHRpb25z
LmFwcGVuZChtYWtlX29wdGlvbigiLS1jb21wbGV0ZS1yb2xsb3V0IiwgYWN0aW9uPSJzdG9yZV90
cnVlIiwgZGVzdD0iY29tcGxldGVfcm9sbG91dCIsIGhlbHA9IkNvbW1pdCB0aGUgcmV2ZXJ0IGFu
ZCByZS1vcGVuIHRoZSBvcmlnaW5hbCBidWcuIikpCi0gICAgICAgIENvbW1hbmQuX19pbml0X18o
c2VsZiwgIlJldmVydCB0aGUgZ2l2ZW4gcmV2aXNpb24gaW4gdGhlIHdvcmtpbmcgY29weSBhbmQg
b3B0aW9uYWxseSBjb21taXQgdGhlIHJldmVydCBhbmQgcmUtb3BlbiB0aGUgb3JpZ2luYWwgYnVn
IiwgIlJFVklTSU9OIFtCVUdJRF0iLCBvcHRpb25zPW9wdGlvbnMpCi0KLSAgICBAc3RhdGljbWV0
aG9kCi0gICAgZGVmIF9jcmVhdGVfY2hhbmdlbG9nc19mb3JfcmV2ZXJ0KHRvb2wsIHJldmlzaW9u
KToKLSAgICAgICAgIyBGaXJzdCwgZGlzY2FyZCB0aGUgQ2hhbmdlTG9nIGNoYW5nZXMgZnJvbSB0
aGUgcm9sbG91dC4KLSAgICAgICAgY2hhbmdlbG9nX3BhdGhzID0gdG9vbC5zY20oKS5tb2RpZmll
ZF9jaGFuZ2Vsb2dzKCkKLSAgICAgICAgdG9vbC5zY20oKS5yZXZlcnRfZmlsZXMoY2hhbmdlbG9n
X3BhdGhzKQotCi0gICAgICAgICMgU2Vjb25kLCBtYWtlIG5ldyBDaGFuZ2VMb2cgZW50cmllcyBm
b3IgdGhpcyByb2xsb3V0LgotICAgICAgICAjIFRoaXMgY291bGQgbW92ZSB0byBwcmVwYXJlLUNo
YW5nZUxvZyBieSBhZGRpbmcgYSAtLXJldmVydD0gb3B0aW9uLgotICAgICAgICBQcmVwYXJlQ2hh
bmdlbG9nU3RlcCh0b29sLCBOb25lKS5ydW4oe30pCi0gICAgICAgIGZvciBjaGFuZ2Vsb2dfcGF0
aCBpbiBjaGFuZ2Vsb2dfcGF0aHM6Ci0gICAgICAgICAgICBDaGFuZ2VMb2coY2hhbmdlbG9nX3Bh
dGgpLnVwZGF0ZV9mb3JfcmV2ZXJ0KHJldmlzaW9uKQorICAgICAgICBzZWxmLl9zZXF1ZW5jZSA9
IFN0ZXBTZXF1ZW5jZShbCisgICAgICAgICAgICBDbGVhbldvcmtpbmdEaXJlY3RvcnlTdGVwLAor
ICAgICAgICAgICAgVXBkYXRlU3RlcCwKKyAgICAgICAgICAgIFJldmVydFJldmlzaW9uU3RlcCwK
KyAgICAgICAgICAgIFByZXBhcmVDaGFuZ2Vsb2dGb3JSZXZlcnRTdGVwLAorICAgICAgICAgICAg
Q29tcGxldGVSb2xsb3V0LAorICAgICAgICBdKQorICAgICAgICBDb21tYW5kLl9faW5pdF9fKHNl
bGYsICJSZXZlcnQgdGhlIGdpdmVuIHJldmlzaW9uIGluIHRoZSB3b3JraW5nIGNvcHkgYW5kIG9w
dGlvbmFsbHkgY29tbWl0IHRoZSByZXZlcnQgYW5kIHJlLW9wZW4gdGhlIG9yaWdpbmFsIGJ1ZyIs
ICJSRVZJU0lPTiBbQlVHSURdIiwgb3B0aW9ucz1zZWxmLl9zZXF1ZW5jZS5vcHRpb25zKCkpCiAK
ICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIF9wYXJzZV9idWdfaWRfZnJvbV9yZXZpc2lvbl9k
aWZmKHRvb2wsIHJldmlzaW9uKToKQEAgLTMxNiwxNyArMjk1LDggQEAgY2xhc3MgUm9sbG91dChD
b21tYW5kKToKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgbG9nKCJGYWlsZWQg
dG8gcGFyc2UgYnVnIG51bWJlciBmcm9tIGRpZmYuICBObyBidWdzIHdpbGwgYmUgdXBkYXRlZC9y
ZW9wZW5lZCBhZnRlciB0aGUgcm9sbG91dC4iKQogCi0gICAgICAgIENsZWFuV29ya2luZ0RpcmVj
dG9yeVN0ZXAodG9vbCwgb3B0aW9ucykucnVuKHt9KQotICAgICAgICBVcGRhdGVTdGVwKHRvb2ws
IG9wdGlvbnMpLnJ1bih7fSkKLSAgICAgICAgdG9vbC5zY20oKS5hcHBseV9yZXZlcnNlX2RpZmYo
cmV2aXNpb24pCi0gICAgICAgIHNlbGYuX2NyZWF0ZV9jaGFuZ2Vsb2dzX2Zvcl9yZXZlcnQodG9v
bCwgcmV2aXNpb24pCi0KLSAgICAgICAgIyBGSVhNRTogRnVsbHkgYXV0b21hdGVkIHJvbGxvdXQg
aXMgbm90IDEwMCUgaWRpb3QtcHJvb2YgeWV0LCBzbyBmb3Igbm93IGp1c3QgbG9nIHdpdGggaW5z
dHJ1Y3Rpb25zIG9uIGhvdyB0byBjb21wbGV0ZSB0aGUgcm9sbG91dC4KLSAgICAgICAgIyBPbmNl
IHdlIHRydXN0IHJvbGxvdXQgd2Ugd2lsbCByZW1vdmUgdGhpcyBvcHRpb24uCi0gICAgICAgIGlm
IG5vdCBvcHRpb25zLmNvbXBsZXRlX3JvbGxvdXQ6Ci0gICAgICAgICAgICBsb2coIlxuTk9URTog
Um9sbG91dCBzdXBwb3J0IGlzIGV4cGVyaW1lbnRhbC5cblBsZWFzZSB2ZXJpZnkgdGhlIHJvbGxv
dXQgZGlmZiBhbmQgdXNlIFwiYnVnemlsbGEtdG9vbCBsYW5kLWRpZmYgJXNcIiB0byBjb21taXQg
dGhlIHJvbGxvdXQuIiAlIGJ1Z19pZCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgRklY
TUU6IFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgZXhpc3QhIQotICAgICAgICAgICAgIyBjb21tZW50
X3RleHQgPSBXZWJLaXRMYW5kaW5nU2NyaXB0cy5idWlsZF9hbmRfY29tbWl0KHRvb2wuc2NtKCks
IG9wdGlvbnMpCi0gICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcigiT09QUyEgVGhpcyBvcHRp
b24gaXMgbm90IGltcGxlbWVudGVkICh5ZXQpLiIpCi0gICAgICAgICAgICBzZWxmLl9yZW9wZW5f
YnVnX2FmdGVyX3JvbGxvdXQodG9vbCwgYnVnX2lkLCBjb21tZW50X3RleHQpCisgICAgICAgIHN0
YXRlID0geworICAgICAgICAgICAgInJldmlzaW9uIjogcmV2aXNpb24sCisgICAgICAgICAgICAi
YnVnX2lkIjogYnVnX2lkLAorICAgICAgICB9CisgICAgICAgIHNlbGYuX3NlcXVlbmNlLnJ1bl9h
bmRfaGFuZGxlX2Vycm9ycyh0b29sLCBvcHRpb25zLCBzdGF0ZSkKZGlmZiAtLWdpdCBhL1dlYktp
dFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9kb3dubG9hZF91bml0dGVzdC5weSBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9kb3dubG9hZF91bml0dGVzdC5weQpp
bmRleCBmZjIwOWQ5Li40MTM1NDU1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL21v
ZHVsZXMvY29tbWFuZHMvZG93bmxvYWRfdW5pdHRlc3QucHkKKysrIGIvV2ViS2l0VG9vbHMvU2Ny
aXB0cy9tb2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkX3VuaXR0ZXN0LnB5CkBAIC00NCw2ICs0NCw3
IEBAIGNsYXNzIERvd25sb2FkQ29tbWFuZHNUZXN0KENvbW1hbmRzVGVzdCk6CiAgICAgICAgIG9w
dGlvbnMuYnVpbGQgPSBUcnVlCiAgICAgICAgIG9wdGlvbnMudGVzdCA9IFRydWUKICAgICAgICAg
b3B0aW9ucy5jbG9zZV9idWcgPSBUcnVlCisgICAgICAgIG9wdGlvbnMuY29tcGxldGVfcm9sbG91
dCA9IEZhbHNlCiAgICAgICAgIHJldHVybiBvcHRpb25zCiAKICAgICBkZWYgdGVzdF9idWlsZChz
ZWxmKToKQEAgLTU0LDE0ICs1NSwxNCBAQCBjbGFzcyBEb3dubG9hZENvbW1hbmRzVGVzdChDb21t
YW5kc1Rlc3QpOgogICAgICAgICBvcHRpb25zID0gc2VsZi5fZGVmYXVsdF9vcHRpb25zKCkKICAg
ICAgICAgb3B0aW9ucy51cGRhdGUgPSBUcnVlCiAgICAgICAgIG9wdGlvbnMubG9jYWxfY29tbWl0
ID0gVHJ1ZQotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiVXBkYXRpbmcgd29ya2luZyBkaXJl
Y3RvcnlcbkFwcGx5aW5nIGF0dGFjaG1lbnQgMTk3IGZyb20gYnVnIDQyXG4iCisgICAgICAgIGV4
cGVjdGVkX3N0ZGVyciA9ICJVcGRhdGluZyB3b3JraW5nIGRpcmVjdG9yeVxuUHJvY2Vzc2luZyAx
IHBhdGNoIGZyb20gMSBidWcuXG5Qcm9jZXNzaW5nIHBhdGNoIDE5NyBmcm9tIGJ1ZyA0Mi5cbiIK
ICAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKEFwcGx5QXR0YWNobWVudCgpLCBb
MTk3XSwgb3B0aW9ucz1vcHRpb25zLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQog
CiAgICAgZGVmIHRlc3RfYXBwbHlfcGF0Y2hlcyhzZWxmKToKICAgICAgICAgb3B0aW9ucyA9IHNl
bGYuX2RlZmF1bHRfb3B0aW9ucygpCiAgICAgICAgIG9wdGlvbnMudXBkYXRlID0gVHJ1ZQogICAg
ICAgICBvcHRpb25zLmxvY2FsX2NvbW1pdCA9IFRydWUKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJy
ID0gIlVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5XG5BcHBseWluZyBhdHRhY2htZW50IDE5NyBm
cm9tIGJ1ZyA0MlxuQXBwbHlpbmcgYXR0YWNobWVudCAxMjggZnJvbSBidWcgNDJcbiIKKyAgICAg
ICAgZXhwZWN0ZWRfc3RkZXJyID0gIlVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5XG4yIHJldmll
d2VkIHBhdGNoZXMgZm91bmQgb24gYnVnIDQyLlxuUHJvY2Vzc2luZyAyIHBhdGNoZXMgZnJvbSAx
IGJ1Zy5cblByb2Nlc3NpbmcgcGF0Y2ggMTk3IGZyb20gYnVnIDQyLlxuUHJvY2Vzc2luZyBwYXRj
aCAxMjggZnJvbSBidWcgNDIuXG4iCiAgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0
cyhBcHBseVBhdGNoZXMoKSwgWzQyXSwgb3B0aW9ucz1vcHRpb25zLCBleHBlY3RlZF9zdGRlcnI9
ZXhwZWN0ZWRfc3RkZXJyKQogCiAgICAgZGVmIHRlc3RfbGFuZF9kaWZmKHNlbGYpOgpAQCAtODMs
MyArODQsMTMgQEAgY2xhc3MgRG93bmxvYWRDb21tYW5kc1Rlc3QoQ29tbWFuZHNUZXN0KToKICAg
ICBkZWYgdGVzdF9sYW5kX3BhdGNoZXMoc2VsZik6CiAgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9
ICIyIHJldmlld2VkIHBhdGNoZXMgZm91bmQgb24gYnVnIDQyLlxuUHJvY2Vzc2luZyAyIHBhdGNo
ZXMgZnJvbSAxIGJ1Zy5cblVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5XG5Qcm9jZXNzaW5nIHBh
dGNoIDE5NyBmcm9tIGJ1ZyA0Mi5cbkJ1aWxkaW5nIFdlYktpdFxuVXBkYXRpbmcgd29ya2luZyBk
aXJlY3RvcnlcblByb2Nlc3NpbmcgcGF0Y2ggMTI4IGZyb20gYnVnIDQyLlxuQnVpbGRpbmcgV2Vi
S2l0XG4iCiAgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhMYW5kUGF0Y2hlcygp
LCBbNDJdLCBvcHRpb25zPXNlbGYuX2RlZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9zdGRlcnI9
ZXhwZWN0ZWRfc3RkZXJyKQorCisgICAgZGVmIHRlc3Rfcm9sbG91dChzZWxmKToKKyAgICAgICAg
ZXhwZWN0ZWRfc3RkZXJyID0gIlVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5XG5SdW5uaW5nIHBy
ZXBhcmUtQ2hhbmdlTG9nXG5cbk5PVEU6IFJvbGxvdXQgc3VwcG9ydCBpcyBleHBlcmltZW50YWwu
XG5QbGVhc2UgdmVyaWZ5IHRoZSByb2xsb3V0IGRpZmYgYW5kIHVzZSBcImJ1Z3ppbGxhLXRvb2wg
bGFuZC1kaWZmIDEyMzQ1XCIgdG8gY29tbWl0IHRoZSByb2xsb3V0LlxuIgorICAgICAgICBzZWxm
LmFzc2VydF9leGVjdXRlX291dHB1dHMoUm9sbG91dCgpLCBbODUyXSwgb3B0aW9ucz1zZWxmLl9k
ZWZhdWx0X29wdGlvbnMoKSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKworICAg
IGRlZiB0ZXN0X2NvbXBsZXRlX3JvbGxvdXQoc2VsZik6CisgICAgICAgIG9wdGlvbnMgPSBzZWxm
Ll9kZWZhdWx0X29wdGlvbnMoKQorICAgICAgICBvcHRpb25zLmNvbXBsZXRlX3JvbGxvdXQgPSBU
cnVlCisgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJVcGRhdGluZyB3b3JraW5nIGRpcmVjdG9y
eVxuUnVubmluZyBwcmVwYXJlLUNoYW5nZUxvZ1xuXG5OT1RFOiBSb2xsb3V0IHN1cHBvcnQgaXMg
ZXhwZXJpbWVudGFsLlxuUGxlYXNlIHZlcmlmeSB0aGUgcm9sbG91dCBkaWZmIGFuZCB1c2UgXCJi
dWd6aWxsYS10b29sIGxhbmQtZGlmZiAxMjM0NVwiIHRvIGNvbW1pdCB0aGUgcm9sbG91dC5cbiIK
KyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKFJvbGxvdXQoKSwgWzg1Ml0sIG9w
dGlvbnM9c2VsZi5fZGVmYXVsdF9vcHRpb25zKCksIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9z
dGRlcnIpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvbW9ja19idWd6
aWxsYXRvb2wucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvbW9ja19idWd6aWxsYXRv
b2wucHkKaW5kZXggZTYwMDk0Ny4uNmJlYWU3MyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2Ny
aXB0cy9tb2R1bGVzL21vY2tfYnVnemlsbGF0b29sLnB5CisrKyBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvbW9kdWxlcy9tb2NrX2J1Z3ppbGxhdG9vbC5weQpAQCAtMTMzLDYgKzEzMyw5IEBAIGNsYXNz
IE1vY2tTQ00oTW9jayk6CiAgICAgICAgICAgICByZXR1cm4gIlBhdGNoMiIKICAgICAgICAgcmFp
c2UgRXhjZXB0aW9uKCJCb2d1cyBjb21taXRfaWQgaW4gY29tbWl0X21lc3NhZ2VfZm9yX2xvY2Fs
X2NvbW1pdC4iKQogCisgICAgZGVmIGRpZmZfZm9yX3JldmlzaW9uKHNlbGYsIHJldmlzaW9uKToK
KyAgICAgICAgcmV0dXJuICJEaWZmRm9yUmV2aXNpb24lc1xuaHR0cDovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTIzNDUiICUgcmV2aXNpb24KKwogICAgIGRlZiBtb2RpZmllZF9j
aGFuZ2Vsb2dzKHNlbGYpOgogICAgICAgICAjIElkZWFsbHkgd2UnZCByZXR1cm4gc29tZXRoaW5n
IG1vcmUgaW50ZXJlc3RpbmcgaGVyZS4KICAgICAgICAgIyBUaGUgcHJvYmxlbSBpcyB0aGF0IExh
bmREaWZmIHdpbGwgdHJ5IHRvIGFjdHVhbGx5IHJlYWQgdGhlIHBhdGggZnJvbSBkaXNrIQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44732</attachid>
            <date>2009-12-12 01:04:29 -0800</date>
            <delta_ts>2009-12-12 01:09:21 -0800</delta_ts>
            <desc>hold this for a sec</desc>
            <filename>kill-applying-scripts.patch</filename>
            <type>text/plain</type>
            <size>13168</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA5NjA0YWUyLi5kOTdjODc3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMTIt
MTIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbYnp0XSBLaWxsIFdlYktpdEFwcGx5aW5nU2Ny
aXB0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI0
NjcKKworICAgICAgICBBaCEgIEkndmUgYmVlbiB3YW50aW5nIHRvIGRvIHRoaXMgZm9yIGEgbG9u
ZyB0aW1lLiAgVGhpcyBwYXRjaCBicmluZ3MKKyAgICAgICAgdGhlIGFwcGx5aW5nIGNvbW1hbmRz
IGludG8gdGhlIHBhdGNoIHByb2Nlc3NpbmcgZm9sZC4KKworICAgICAgICAqIFNjcmlwdHMvYnVn
emlsbGEtdG9vbDoKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvYnVpbGRzdGVwcy5weToKKyAg
ICAgICAgKiBTY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHk6CisgICAgICAgICog
U2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkX3VuaXR0ZXN0LnB5OgorICAgICAgICAq
IFNjcmlwdHMvbW9kdWxlcy9tb2NrX2J1Z3ppbGxhdG9vbC5weToKKwogMjAwOS0xMi0xMSAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29s
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCmluZGV4IGZkYmI3NDAuLjIzMjQ1
ZjYgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbAorKysgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL2J1Z3ppbGxhLXRvb2wKQEAgLTM0LDcgKzM0LDYgQEAgaW1wb3J0
IG9zCiAKIGZyb20gbW9kdWxlcy5idWd6aWxsYSBpbXBvcnQgQnVnemlsbGEKIGZyb20gbW9kdWxl
cy5idWlsZGJvdCBpbXBvcnQgQnVpbGRCb3QKLWZyb20gbW9kdWxlcy5idWlsZHN0ZXBzIGltcG9y
dCBCdWlsZFN0ZXBzCiBmcm9tIG1vZHVsZXMuY29tbWFuZHMuZG93bmxvYWQgaW1wb3J0ICoKIGZy
b20gbW9kdWxlcy5jb21tYW5kcy5lYXJseV93YXJuaW5nX3N5c3RlbSBpbXBvcnQgKgogZnJvbSBt
b2R1bGVzLmNvbW1hbmRzLnF1ZXJpZXMgaW1wb3J0ICoKQEAgLTU1LDcgKzU0LDYgQEAgY2xhc3Mg
QnVnemlsbGFUb29sKE11bHRpQ29tbWFuZFRvb2wpOgogICAgICAgICBzZWxmLmV4ZWN1dGl2ZSA9
IEV4ZWN1dGl2ZSgpCiAgICAgICAgIHNlbGYuX3NjbSA9IE5vbmUKICAgICAgICAgc2VsZi5fc3Rh
dHVzID0gTm9uZQotICAgICAgICBzZWxmLnN0ZXBzID0gQnVpbGRTdGVwcygpCiAKICAgICBkZWYg
ZHJ5X3J1bl9jYWxsYmFjayhzZWxmLCBvcHRpb24sIG9wdCwgdmFsdWUsIHBhcnNlcik6CiAgICAg
ICAgIHNlbGYuc2NtKCkuZHJ5cnVuID0gVHJ1ZQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2Ny
aXB0cy9tb2R1bGVzL2J1aWxkc3RlcHMucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMv
YnVpbGRzdGVwcy5weQppbmRleCBkMDhmNjM1Li4yNTA1YzE1IDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9TY3JpcHRzL21vZHVsZXMvYnVpbGRzdGVwcy5weQorKysgYi9XZWJLaXRUb29scy9TY3Jp
cHRzL21vZHVsZXMvYnVpbGRzdGVwcy5weQpAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBDb21tYW5k
T3B0aW9ucyhvYmplY3QpOgogICAgIG5vbl9pbnRlcmFjdGl2ZSA9IG1ha2Vfb3B0aW9uKCItLW5v
bi1pbnRlcmFjdGl2ZSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlc3Q9Im5vbl9pbnRlcmFjdGl2
ZSIsIGRlZmF1bHQ9RmFsc2UsIGhlbHA9Ik5ldmVyIHByb21wdCB0aGUgdXNlciwgZmFpbCBhcyBm
YXN0IGFzIHBvc3NpYmxlLiIpCiAgICAgcGFyZW50X2NvbW1hbmQgPSBtYWtlX29wdGlvbigiLS1w
YXJlbnQtY29tbWFuZCIsIGFjdGlvbj0ic3RvcmUiLCBkZXN0PSJwYXJlbnRfY29tbWFuZCIsIGRl
ZmF1bHQ9Tm9uZSwgaGVscD0iKEludGVybmFsKSBUaGUgY29tbWFuZCB0aGF0IHNwYXduZWQgdGhp
cyBpbnN0YW5jZS4iKQogICAgIHVwZGF0ZSA9IG1ha2Vfb3B0aW9uKCItLW5vLXVwZGF0ZSIsIGFj
dGlvbj0ic3RvcmVfZmFsc2UiLCBkZXN0PSJ1cGRhdGUiLCBkZWZhdWx0PVRydWUsIGhlbHA9IkRv
bid0IHVwZGF0ZSB0aGUgd29ya2luZyBkaXJlY3RvcnkuIikKKyAgICBsb2NhbF9jb21taXQgPSBt
YWtlX29wdGlvbigiLS1sb2NhbC1jb21taXQiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJs
b2NhbF9jb21taXQiLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSJNYWtlIGEgbG9jYWwgY29tbWl0IGZv
ciBlYWNoIGFwcGxpZWQgcGF0Y2giKQogICAgIGJ1aWxkID0gbWFrZV9vcHRpb24oIi0tbm8tYnVp
bGQiLCBhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVzdD0iYnVpbGQiLCBkZWZhdWx0PVRydWUsIGhl
bHA9IkNvbW1pdCB3aXRob3V0IGJ1aWxkaW5nIGZpcnN0LCBpbXBsaWVzIC0tbm8tdGVzdC4iKQog
ICAgIHRlc3QgPSBtYWtlX29wdGlvbigiLS1uby10ZXN0IiwgYWN0aW9uPSJzdG9yZV9mYWxzZSIs
IGRlc3Q9InRlc3QiLCBkZWZhdWx0PVRydWUsIGhlbHA9IkNvbW1pdCB3aXRob3V0IHJ1bm5pbmcg
cnVuLXdlYmtpdC10ZXN0cy4iKQogICAgIGNsb3NlX2J1ZyA9IG1ha2Vfb3B0aW9uKCItLW5vLWNs
b3NlIiwgYWN0aW9uPSJzdG9yZV9mYWxzZSIsIGRlc3Q9ImNsb3NlX2J1ZyIsIGRlZmF1bHQ9VHJ1
ZSwgaGVscD0iTGVhdmUgYnVnIG9wZW4gYWZ0ZXIgbGFuZGluZy4iKQpAQCAtMTAwLDYgKzEwMSwx
MiBAQCBjbGFzcyBDbGVhbldvcmtpbmdEaXJlY3RvcnlTdGVwKEFic3RyYWN0U3RlcCk6CiAgICAg
ICAgICAgICBzZWxmLl90b29sLnNjbSgpLmVuc3VyZV9jbGVhbl93b3JraW5nX2RpcmVjdG9yeShm
b3JjZV9jbGVhbj1zZWxmLl9vcHRpb25zLmZvcmNlX2NsZWFuKQogCiAKK2NsYXNzIENsZWFuV29y
a2luZ0RpcmVjdG9yeVdpdGhMb2NhbENvbW1pdHNTdGVwKENsZWFuV29ya2luZ0RpcmVjdG9yeVN0
ZXApOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0b29sLCBvcHRpb25zKToKKyAgICAgICAgIyBG
SVhNRTogVGhpcyBhIGJpdCBvZiBhIGhhY2suICBDb25zaWRlciBkb2luZyB0aGlzIG1vcmUgY2xl
YW5seS4KKyAgICAgICAgQ2xlYW5Xb3JraW5nRGlyZWN0b3J5U3RlcC5fX2luaXRfXyhzZWxmLCB0
b29sLCBvcHRpb25zLCBhbGxvd19sb2NhbF9jb21taXRzPVRydWUpCisKKwogY2xhc3MgVXBkYXRl
U3RlcChBYnN0cmFjdFN0ZXApOgogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBvcHRpb25zKGNs
cyk6CkBAIC0xMjcsNiArMTM0LDIwIEBAIGNsYXNzIEFwcGx5UGF0Y2hTdGVwKEFic3RyYWN0U3Rl
cCk6CiAgICAgICAgIHNlbGYuX3Rvb2wuc2NtKCkuYXBwbHlfcGF0Y2goc3RhdGVbInBhdGNoIl0s
IGZvcmNlPXNlbGYuX29wdGlvbnMubm9uX2ludGVyYWN0aXZlKQogCiAKK2NsYXNzIEFwcGx5UGF0
Y2hXaXRoTG9jYWxDb21taXRTdGVwKEFwcGx5UGF0Y2hTdGVwKToKKyAgICBAY2xhc3NtZXRob2QK
KyAgICBkZWYgb3B0aW9ucyhjbHMpOgorICAgICAgICByZXR1cm4gWworICAgICAgICAgICAgQ29t
bWFuZE9wdGlvbnMubG9jYWxfY29tbWl0LAorICAgICAgICBdICsgQXBwbHlQYXRjaFN0ZXAub3B0
aW9ucygpCisgICAgCisgICAgZGVmIHJ1bihzZWxmLCBzdGF0ZSk6CisgICAgICAgIEFwcGx5UGF0
Y2hTdGVwLnJ1bihzZWxmLCBzdGF0ZSkKKyAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5sb2NhbF9j
b21taXQ6CisgICAgICAgICAgICBjb21taXRfbWVzc2FnZSA9IHNlbGYuX3Rvb2wuc2NtKCkuY29t
bWl0X21lc3NhZ2VfZm9yX3RoaXNfY29tbWl0KCkKKyAgICAgICAgICAgIHNlbGYuX3Rvb2wuc2Nt
KCkuY29tbWl0X2xvY2FsbHlfd2l0aF9tZXNzYWdlKGNvbW1pdF9tZXNzYWdlLm1lc3NhZ2UoKSBv
ciBzdGF0ZVsicGF0Y2giXVsibmFtZSJdKQorCisKIGNsYXNzIEVuc3VyZUJ1aWxkZXJzQXJlR3Jl
ZW5TdGVwKEFic3RyYWN0U3RlcCk6CiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIG9wdGlvbnMo
Y2xzKToKQEAgLTI3OCwzNSArMjk5LDMgQEAgY2xhc3MgQ2xvc2VCdWdGb3JMYW5kRGlmZlN0ZXAo
QWJzdHJhY3RTdGVwKToKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGxvZyhjb21tZW50X3Rl
eHQpCiAgICAgICAgICAgICBsb2coIk5vIGJ1ZyBpZCBwcm92aWRlZC4iKQotCi0KLSMgRklYTUU6
IFRoaXMgY2xhc3MgaXMgYSBkaW5vc2F1ciBhbmQgc2hvdWxkIGJlIGV4dGluY3Qgc29vbi4KLWNs
YXNzIEJ1aWxkU3RlcHM6Ci0gICAgIyBGSVhNRTogVGhlIG9wdGlvbnMgc2hvdWxkIHJlYWxseSBs
aXZlIG9uIGVhY2ggIlN0ZXAiIG9iamVjdC4KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIGNs
ZWFuaW5nX29wdGlvbnMoKToKLSAgICAgICAgcmV0dXJuIFsKLSAgICAgICAgICAgIENvbW1hbmRP
cHRpb25zLmZvcmNlX2NsZWFuLAotICAgICAgICAgICAgQ29tbWFuZE9wdGlvbnMuY2xlYW4sCi0g
ICAgICAgIF0KLQotICAgICMgRklYTUU6IFRoZXNlIGRpc3RpbmN0aW9ucyBhcmUgYm9ndXMuICBX
ZSBuZWVkIGEgYmV0dGVyIG1vZGVsIGZvciBoYW5kbGluZyBvcHRpb25zLgotICAgIEBzdGF0aWNt
ZXRob2QKLSAgICBkZWYgYnVpbGRfb3B0aW9ucygpOgotICAgICAgICByZXR1cm4gWwotICAgICAg
ICAgICAgQ29tbWFuZE9wdGlvbnMuY2hlY2tfYnVpbGRlcnMsCi0gICAgICAgICAgICBDb21tYW5k
T3B0aW9ucy5xdWlldCwKLSAgICAgICAgICAgIENvbW1hbmRPcHRpb25zLm5vbl9pbnRlcmFjdGl2
ZSwKLSAgICAgICAgICAgIENvbW1hbmRPcHRpb25zLnBhcmVudF9jb21tYW5kLAotICAgICAgICAg
ICAgQ29tbWFuZE9wdGlvbnMucG9ydCwKLSAgICAgICAgXQotCi0gICAgQHN0YXRpY21ldGhvZAot
ICAgIGRlZiBsYW5kX29wdGlvbnMoKToKLSAgICAgICAgcmV0dXJuIFsKLSAgICAgICAgICAgIENv
bW1hbmRPcHRpb25zLnVwZGF0ZSwKLSAgICAgICAgICAgIENvbW1hbmRPcHRpb25zLmJ1aWxkLAot
ICAgICAgICAgICAgQ29tbWFuZE9wdGlvbnMudGVzdCwKLSAgICAgICAgICAgIENvbW1hbmRPcHRp
b25zLmNsb3NlX2J1ZywKLSAgICAgICAgXQotCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3Jp
cHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21v
ZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHkKaW5kZXggOWE4NWFlZi4uMGIwY2FiZiAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkLnB5Cisr
KyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9kb3dubG9hZC5weQpAQCAt
MzQsNyArMzQsNyBAQCBmcm9tIG9wdHBhcnNlIGltcG9ydCBtYWtlX29wdGlvbgogCiBmcm9tIG1v
ZHVsZXMuYnVnemlsbGEgaW1wb3J0IHBhcnNlX2J1Z19pZAogIyBGSVhNRTogVGhpcyBsaXN0IGlz
IHJlZGljdWxvdXMuICBXZSBuZWVkIHRvIGxlYXJuIHRoZSB3YXlzIG9mIF9fYWxsX18uCi1mcm9t
IG1vZHVsZXMuYnVpbGRzdGVwcyBpbXBvcnQgQ29tbWFuZE9wdGlvbnMsIEJ1aWxkU3RlcHMsIEVu
c3VyZUJ1aWxkZXJzQXJlR3JlZW5TdGVwLCBVcGRhdGVDaGFuZ2Vsb2dzV2l0aFJldmlld2VyU3Rl
cCwgQ2xlYW5Xb3JraW5nRGlyZWN0b3J5U3RlcCwgVXBkYXRlU3RlcCwgQXBwbHlQYXRjaFN0ZXAs
IEJ1aWxkU3RlcCwgQ2hlY2tTdHlsZVN0ZXAsIFJ1blRlc3RzU3RlcCwgQ29tbWl0U3RlcCwgQ2xv
c2VQYXRjaFN0ZXAsIENsb3NlQnVnU3RlcCwgQ2xvc2VCdWdGb3JMYW5kRGlmZlN0ZXAsIFByZXBh
cmVDaGFuZ2Vsb2dTdGVwCitmcm9tIG1vZHVsZXMuYnVpbGRzdGVwcyBpbXBvcnQgRW5zdXJlQnVp
bGRlcnNBcmVHcmVlblN0ZXAsIFVwZGF0ZUNoYW5nZWxvZ3NXaXRoUmV2aWV3ZXJTdGVwLCBDbGVh
bldvcmtpbmdEaXJlY3RvcnlTdGVwLCBDbGVhbldvcmtpbmdEaXJlY3RvcnlXaXRoTG9jYWxDb21t
aXRzU3RlcCwgVXBkYXRlU3RlcCwgQXBwbHlQYXRjaFN0ZXAsIEFwcGx5UGF0Y2hXaXRoTG9jYWxD
b21taXRTdGVwLCBCdWlsZFN0ZXAsIENoZWNrU3R5bGVTdGVwLCBSdW5UZXN0c1N0ZXAsIENvbW1p
dFN0ZXAsIENsb3NlUGF0Y2hTdGVwLCBDbG9zZUJ1Z1N0ZXAsIENsb3NlQnVnRm9yTGFuZERpZmZT
dGVwLCBQcmVwYXJlQ2hhbmdlbG9nU3RlcAogZnJvbSBtb2R1bGVzLmNoYW5nZWxvZ3MgaW1wb3J0
IENoYW5nZUxvZwogZnJvbSBtb2R1bGVzLmNvbW1lbnRzIGltcG9ydCBidWdfY29tbWVudF9mcm9t
X2NvbW1pdF90ZXh0CiBmcm9tIG1vZHVsZXMuZXhlY3V0aXZlIGltcG9ydCBTY3JpcHRFcnJvcgpA
QCAtNTksNjUgKzU5LDYgQEAgY2xhc3MgQnVpbGQoQ29tbWFuZCk6CiAgICAgICAgIHNlbGYuX3Nl
cXVlbmNlLnJ1bl9hbmRfaGFuZGxlX2Vycm9ycyh0b29sLCBvcHRpb25zKQogCiAKLWNsYXNzIEFw
cGx5QXR0YWNobWVudChDb21tYW5kKToKLSAgICBuYW1lID0gImFwcGx5LWF0dGFjaG1lbnQiCi0g
ICAgc2hvd19pbl9tYWluX2hlbHAgPSBUcnVlCi0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAg
ICAgICBvcHRpb25zID0gV2ViS2l0QXBwbHlpbmdTY3JpcHRzLmFwcGx5X29wdGlvbnMoKQotICAg
ICAgICBvcHRpb25zICs9IEJ1aWxkU3RlcHMuY2xlYW5pbmdfb3B0aW9ucygpCi0gICAgICAgIENv
bW1hbmQuX19pbml0X18oc2VsZiwgIkFwcGx5IGFuIGF0dGFjaG1lbnQgdG8gdGhlIGxvY2FsIHdv
cmtpbmcgZGlyZWN0b3J5IiwgIkFUVEFDSE1FTlRfSUQiLCBvcHRpb25zPW9wdGlvbnMpCi0KLSAg
ICBkZWYgZXhlY3V0ZShzZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKLSAgICAgICAgV2ViS2l0
QXBwbHlpbmdTY3JpcHRzLnNldHVwX2Zvcl9wYXRjaF9hcHBseSh0b29sLCBvcHRpb25zKQotICAg
ICAgICBhdHRhY2htZW50X2lkID0gYXJnc1swXQotICAgICAgICBhdHRhY2htZW50ID0gdG9vbC5i
dWdzLmZldGNoX2F0dGFjaG1lbnQoYXR0YWNobWVudF9pZCkKLSAgICAgICAgV2ViS2l0QXBwbHlp
bmdTY3JpcHRzLmFwcGx5X3BhdGNoZXNfd2l0aF9vcHRpb25zKHRvb2wuc2NtKCksIFthdHRhY2ht
ZW50XSwgb3B0aW9ucykKLQotCi1jbGFzcyBBcHBseVBhdGNoZXMoQ29tbWFuZCk6Ci0gICAgbmFt
ZSA9ICJhcHBseS1wYXRjaGVzIgotICAgIHNob3dfaW5fbWFpbl9oZWxwID0gVHJ1ZQotICAgIGRl
ZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgb3B0aW9ucyA9IFdlYktpdEFwcGx5aW5nU2NyaXB0
cy5hcHBseV9vcHRpb25zKCkKLSAgICAgICAgb3B0aW9ucyArPSBCdWlsZFN0ZXBzLmNsZWFuaW5n
X29wdGlvbnMoKQotICAgICAgICBDb21tYW5kLl9faW5pdF9fKHNlbGYsICJBcHBseSByZXZpZXdl
ZCBwYXRjaGVzIGZyb20gcHJvdmlkZWQgYnVncyB0byB0aGUgbG9jYWwgd29ya2luZyBkaXJlY3Rv
cnkiLCAiQlVHSUQiLCBvcHRpb25zPW9wdGlvbnMpCi0KLSAgICBkZWYgZXhlY3V0ZShzZWxmLCBv
cHRpb25zLCBhcmdzLCB0b29sKToKLSAgICAgICAgV2ViS2l0QXBwbHlpbmdTY3JpcHRzLnNldHVw
X2Zvcl9wYXRjaF9hcHBseSh0b29sLCBvcHRpb25zKQotICAgICAgICBidWdfaWQgPSBhcmdzWzBd
Ci0gICAgICAgIHBhdGNoZXMgPSB0b29sLmJ1Z3MuZmV0Y2hfcmV2aWV3ZWRfcGF0Y2hlc19mcm9t
X2J1ZyhidWdfaWQpCi0gICAgICAgIFdlYktpdEFwcGx5aW5nU2NyaXB0cy5hcHBseV9wYXRjaGVz
X3dpdGhfb3B0aW9ucyh0b29sLnNjbSgpLCBwYXRjaGVzLCBvcHRpb25zKQotCi0KLWNsYXNzIFdl
YktpdEFwcGx5aW5nU2NyaXB0czoKLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIGFwcGx5X29w
dGlvbnMoKToKLSAgICAgICAgcmV0dXJuIFsKLSAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLW5v
LXVwZGF0ZSIsIGFjdGlvbj0ic3RvcmVfZmFsc2UiLCBkZXN0PSJ1cGRhdGUiLCBkZWZhdWx0PVRy
dWUsIGhlbHA9IkRvbid0IHVwZGF0ZSB0aGUgd29ya2luZyBkaXJlY3RvcnkgYmVmb3JlIGFwcGx5
aW5nIHBhdGNoZXMiKSwKLSAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLWxvY2FsLWNvbW1pdCIs
IGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlc3Q9ImxvY2FsX2NvbW1pdCIsIGRlZmF1bHQ9RmFsc2Us
IGhlbHA9Ik1ha2UgYSBsb2NhbCBjb21taXQgZm9yIGVhY2ggYXBwbGllZCBwYXRjaCIpLAotICAg
ICAgICAgICAgQ29tbWFuZE9wdGlvbnMucG9ydCwKLSAgICAgICAgXQotCi0gICAgQHN0YXRpY21l
dGhvZAotICAgIGRlZiBzZXR1cF9mb3JfcGF0Y2hfYXBwbHkodG9vbCwgb3B0aW9ucyk6Ci0gICAg
ICAgIGNsZWFuX3N0ZXAgPSBDbGVhbldvcmtpbmdEaXJlY3RvcnlTdGVwKHRvb2wsIG9wdGlvbnMs
IGFsbG93X2xvY2FsX2NvbW1pdHM9VHJ1ZSkKLSAgICAgICAgY2xlYW5fc3RlcC5ydW4oe30pCi0g
ICAgICAgIHVwZGF0ZV9zdGVwID0gVXBkYXRlU3RlcCh0b29sLCBvcHRpb25zKQotICAgICAgICB1
cGRhdGVfc3RlcC5ydW4oe30pCi0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIGFwcGx5X3Bh
dGNoZXNfd2l0aF9vcHRpb25zKHNjbSwgcGF0Y2hlcywgb3B0aW9ucyk6Ci0gICAgICAgIGlmIG9w
dGlvbnMubG9jYWxfY29tbWl0IGFuZCBub3Qgc2NtLnN1cHBvcnRzX2xvY2FsX2NvbW1pdHMoKToK
LSAgICAgICAgICAgIGVycm9yKCItLWxvY2FsLWNvbW1pdCBwYXNzZWQsIGJ1dCAlcyBkb2VzIG5v
dCBzdXBwb3J0IGxvY2FsIGNvbW1pdHMiICUgc2NtLmRpc3BsYXlfbmFtZSgpKQotCi0gICAgICAg
IGZvciBwYXRjaCBpbiBwYXRjaGVzOgotICAgICAgICAgICAgbG9nKCJBcHBseWluZyBhdHRhY2ht
ZW50ICVzIGZyb20gYnVnICVzIiAlIChwYXRjaFsiaWQiXSwgcGF0Y2hbImJ1Z19pZCJdKSkKLSAg
ICAgICAgICAgIHNjbS5hcHBseV9wYXRjaChwYXRjaCkKLSAgICAgICAgICAgIGlmIG9wdGlvbnMu
bG9jYWxfY29tbWl0OgotICAgICAgICAgICAgICAgIGNvbW1pdF9tZXNzYWdlID0gc2NtLmNvbW1p
dF9tZXNzYWdlX2Zvcl90aGlzX2NvbW1pdCgpCi0gICAgICAgICAgICAgICAgc2NtLmNvbW1pdF9s
b2NhbGx5X3dpdGhfbWVzc2FnZShjb21taXRfbWVzc2FnZS5tZXNzYWdlKCkgb3IgcGF0Y2hbIm5h
bWUiXSkKLQotCiBjbGFzcyBMYW5kRGlmZihDb21tYW5kKToKICAgICBuYW1lID0gImxhbmQtZGlm
ZiIKICAgICBzaG93X2luX21haW5faGVscCA9IFRydWUKQEAgLTIyMSw2ICsxNjIsNTQgQEAgY2xh
c3MgQnVpbGRBdHRhY2htZW50KEFic3RyYWN0UGF0Y2hQcm9jZXNzaW5nQ29tbWFuZCk6CiAgICAg
ICAgIHNlbGYuX3NlcXVlbmNlLnJ1bl9hbmRfaGFuZGxlX2Vycm9ycyh0b29sLCBvcHRpb25zLCBz
dGF0ZSkKIAogCitjbGFzcyBBYnN0cmFjdFBhdGNoQXBwbHlpbmdDb21tYW5kKEFic3RyYWN0UGF0
Y2hQcm9jZXNzaW5nQ29tbWFuZCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhlbHBfdGV4dCwg
YXJnc19kZXNjcmlwdGlvbik6CisgICAgICAgIHNlbGYuX3ByZXBhcmVfc2VxdWVuY2UgPSBTdGVw
U2VxdWVuY2UoWworICAgICAgICAgICAgQ2xlYW5Xb3JraW5nRGlyZWN0b3J5V2l0aExvY2FsQ29t
bWl0c1N0ZXAsCisgICAgICAgICAgICBVcGRhdGVTdGVwLAorICAgICAgICBdKQorICAgICAgICBz
ZWxmLl9tYWluX3NlcXVlbmNlICA9IFN0ZXBTZXF1ZW5jZShbCisgICAgICAgICAgICBBcHBseVBh
dGNoV2l0aExvY2FsQ29tbWl0U3RlcCwKKyAgICAgICAgXSkKKyAgICAgICAgb3B0aW9ucyA9IHNv
cnRlZChzZXQoc2VsZi5fcHJlcGFyZV9zZXF1ZW5jZS5vcHRpb25zKCkgKyBzZWxmLl9tYWluX3Nl
cXVlbmNlLm9wdGlvbnMoKSkpCisgICAgICAgIEFic3RyYWN0UGF0Y2hQcm9jZXNzaW5nQ29tbWFu
ZC5fX2luaXRfXyhzZWxmLCBoZWxwX3RleHQsIGFyZ3NfZGVzY3JpcHRpb24sIG9wdGlvbnMpCisK
KyAgICBkZWYgX3ByZXBhcmVfdG9fcHJvY2VzcyhzZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToK
KyAgICAgICAgaWYgb3B0aW9ucy5sb2NhbF9jb21taXQgYW5kIG5vdCB0b29sLnNjbSgpLnN1cHBv
cnRzX2xvY2FsX2NvbW1pdHMoKToKKyAgICAgICAgICAgIGVycm9yKCItLWxvY2FsLWNvbW1pdCBw
YXNzZWQsIGJ1dCAlcyBkb2VzIG5vdCBzdXBwb3J0IGxvY2FsIGNvbW1pdHMiICUgc2NtLmRpc3Bs
YXlfbmFtZSgpKQorICAgICAgICBzZWxmLl9wcmVwYXJlX3NlcXVlbmNlLnJ1bl9hbmRfaGFuZGxl
X2Vycm9ycyh0b29sLCBvcHRpb25zKQorCisgICAgIyBGSVhNRTogQWRkIGEgYmFzZSBjbGFzcyB0
byBzaGFyZSB0aGlzIGNvZGUuCisgICAgZGVmIF9wcm9jZXNzX3BhdGNoKHNlbGYsIHBhdGNoLCBv
cHRpb25zLCBhcmdzLCB0b29sKToKKyAgICAgICAgc3RhdGUgPSB7InBhdGNoIjogcGF0Y2h9Cisg
ICAgICAgIHNlbGYuX21haW5fc2VxdWVuY2UucnVuX2FuZF9oYW5kbGVfZXJyb3JzKHRvb2wsIG9w
dGlvbnMsIHN0YXRlKQorCisKK2NsYXNzIEFwcGx5QXR0YWNobWVudChBYnN0cmFjdFBhdGNoQXBw
bHlpbmdDb21tYW5kKToKKyAgICBuYW1lID0gImFwcGx5LWF0dGFjaG1lbnQiCisgICAgc2hvd19p
bl9tYWluX2hlbHAgPSBUcnVlCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBBYnN0
cmFjdFBhdGNoQXBwbHlpbmdDb21tYW5kLl9faW5pdF9fKHNlbGYsICJBcHBseSBhbiBhdHRhY2ht
ZW50IHRvIHRoZSBsb2NhbCB3b3JraW5nIGRpcmVjdG9yeSIsICJBVFRBQ0hNRU5UX0lEIFtBVFRB
Q0hNRU5UX0lEU10iKQorCisgICAgZGVmIF9mZXRjaF9saXN0X29mX3BhdGNoZXNfdG9fcHJvY2Vz
cyhzZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKKyAgICAgICAgcmV0dXJuIG1hcChsYW1iZGEg
cGF0Y2hfaWQ6IHRvb2wuYnVncy5mZXRjaF9hdHRhY2htZW50KHBhdGNoX2lkKSwgYXJncykKKwor
CitjbGFzcyBBcHBseVBhdGNoZXMoQWJzdHJhY3RQYXRjaEFwcGx5aW5nQ29tbWFuZCk6CisgICAg
bmFtZSA9ICJhcHBseS1wYXRjaGVzIgorICAgIHNob3dfaW5fbWFpbl9oZWxwID0gVHJ1ZQorICAg
IGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgQWJzdHJhY3RQYXRjaEFwcGx5aW5nQ29tbWFu
ZC5fX2luaXRfXyhzZWxmLCAiQXBwbHkgcmV2aWV3ZWQgcGF0Y2hlcyBmcm9tIHByb3ZpZGVkIGJ1
Z3MgdG8gdGhlIGxvY2FsIHdvcmtpbmcgZGlyZWN0b3J5IiwgIkJVR0lEIFtCVUdJRFNdIikKKwor
ICAgIGRlZiBfZmV0Y2hfbGlzdF9vZl9wYXRjaGVzX3RvX3Byb2Nlc3Moc2VsZiwgb3B0aW9ucywg
YXJncywgdG9vbCk6CisgICAgICAgIGFsbF9wYXRjaGVzID0gW10KKyAgICAgICAgZm9yIGJ1Z19p
ZCBpbiBhcmdzOgorICAgICAgICAgICAgcGF0Y2hlcyA9IHRvb2wuYnVncy5mZXRjaF9yZXZpZXdl
ZF9wYXRjaGVzX2Zyb21fYnVnKGJ1Z19pZCkKKyAgICAgICAgICAgIGxvZygiJXMgZm91bmQgb24g
YnVnICVzLiIgJSAocGx1cmFsaXplKCJyZXZpZXdlZCBwYXRjaCIsIGxlbihwYXRjaGVzKSksIGJ1
Z19pZCkpCisgICAgICAgICAgICBhbGxfcGF0Y2hlcyArPSBwYXRjaGVzCisgICAgICAgIHJldHVy
biBhbGxfcGF0Y2hlcworCisKIGNsYXNzIEFic3RyYWN0UGF0Y2hMYW5kaW5nQ29tbWFuZChBYnN0
cmFjdFBhdGNoUHJvY2Vzc2luZ0NvbW1hbmQpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBoZWxw
X3RleHQsIGFyZ3NfZGVzY3JpcHRpb24pOgogICAgICAgICBzZWxmLl9zZXF1ZW5jZSA9IFN0ZXBT
ZXF1ZW5jZShbCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWFu
ZHMvZG93bmxvYWRfdW5pdHRlc3QucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29t
bWFuZHMvZG93bmxvYWRfdW5pdHRlc3QucHkKaW5kZXggZmYyMDlkOS4uM2FjN2FkZSAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkX3VuaXR0
ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9kb3dubG9h
ZF91bml0dGVzdC5weQpAQCAtNTQsMTQgKzU0LDE0IEBAIGNsYXNzIERvd25sb2FkQ29tbWFuZHNU
ZXN0KENvbW1hbmRzVGVzdCk6CiAgICAgICAgIG9wdGlvbnMgPSBzZWxmLl9kZWZhdWx0X29wdGlv
bnMoKQogICAgICAgICBvcHRpb25zLnVwZGF0ZSA9IFRydWUKICAgICAgICAgb3B0aW9ucy5sb2Nh
bF9jb21taXQgPSBUcnVlCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJVcGRhdGluZyB3b3Jr
aW5nIGRpcmVjdG9yeVxuQXBwbHlpbmcgYXR0YWNobWVudCAxOTcgZnJvbSBidWcgNDJcbiIKKyAg
ICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIlVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5XG5Qcm9j
ZXNzaW5nIDEgcGF0Y2ggZnJvbSAxIGJ1Zy5cblByb2Nlc3NpbmcgcGF0Y2ggMTk3IGZyb20gYnVn
IDQyLlxuIgogICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoQXBwbHlBdHRhY2ht
ZW50KCksIFsxOTddLCBvcHRpb25zPW9wdGlvbnMsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9z
dGRlcnIpCiAKICAgICBkZWYgdGVzdF9hcHBseV9wYXRjaGVzKHNlbGYpOgogICAgICAgICBvcHRp
b25zID0gc2VsZi5fZGVmYXVsdF9vcHRpb25zKCkKICAgICAgICAgb3B0aW9ucy51cGRhdGUgPSBU
cnVlCiAgICAgICAgIG9wdGlvbnMubG9jYWxfY29tbWl0ID0gVHJ1ZQotICAgICAgICBleHBlY3Rl
ZF9zdGRlcnIgPSAiVXBkYXRpbmcgd29ya2luZyBkaXJlY3RvcnlcbkFwcGx5aW5nIGF0dGFjaG1l
bnQgMTk3IGZyb20gYnVnIDQyXG5BcHBseWluZyBhdHRhY2htZW50IDEyOCBmcm9tIGJ1ZyA0Mlxu
IgorICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiVXBkYXRpbmcgd29ya2luZyBkaXJlY3Rvcnlc
bjIgcmV2aWV3ZWQgcGF0Y2hlcyBmb3VuZCBvbiBidWcgNDIuXG5Qcm9jZXNzaW5nIDIgcGF0Y2hl
cyBmcm9tIDEgYnVnLlxuUHJvY2Vzc2luZyBwYXRjaCAxOTcgZnJvbSBidWcgNDIuXG5Qcm9jZXNz
aW5nIHBhdGNoIDEyOCBmcm9tIGJ1ZyA0Mi5cbiIKICAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0
ZV9vdXRwdXRzKEFwcGx5UGF0Y2hlcygpLCBbNDJdLCBvcHRpb25zPW9wdGlvbnMsIGV4cGVjdGVk
X3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCiAKICAgICBkZWYgdGVzdF9sYW5kX2RpZmYoc2VsZik6
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44733</attachid>
            <date>2009-12-12 01:09:48 -0800</date>
            <delta_ts>2009-12-14 21:32:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-32467-20091212010947.patch</filename>
            <type>text/plain</type>
            <size>13419</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBlNTAxOGY0Li5lN2JjYTdjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjIgQEAKIAogICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBbYnp0XSBLaWxsIFdlYktp
dEFwcGx5aW5nU2NyaXB0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzI0NjcKKworICAgICAgICBBaCEgIEkndmUgYmVlbiB3YW50aW5nIHRvIGRvIHRo
aXMgZm9yIGEgbG9uZyB0aW1lLiAgVGhpcyBwYXRjaCBicmluZ3MKKyAgICAgICAgdGhlIGFwcGx5
aW5nIGNvbW1hbmRzIGludG8gdGhlIHBhdGNoIHByb2Nlc3NpbmcgZm9sZC4KKworICAgICAgICAq
IFNjcmlwdHMvYnVnemlsbGEtdG9vbDoKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvYnVpbGRz
dGVwcy5weToKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHk6
CisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkX3VuaXR0ZXN0LnB5
OgorICAgICAgICAqIFNjcmlwdHMvbW9kdWxlcy9tb2NrX2J1Z3ppbGxhdG9vbC5weToKKworMjAw
OS0xMi0xMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIFtienRdIENvbnZlcnQgcm9sbG91dCB0
byBTdGVwU2VxdWVuY2UKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTMyNDA2CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEt
dG9vbCBiL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbAppbmRleCBmZGJiNzQwLi4y
MzI0NWY2IDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1Z3ppbGxhLXRvb2wKKysr
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCkBAIC0zNCw3ICszNCw2IEBAIGlt
cG9ydCBvcwogCiBmcm9tIG1vZHVsZXMuYnVnemlsbGEgaW1wb3J0IEJ1Z3ppbGxhCiBmcm9tIG1v
ZHVsZXMuYnVpbGRib3QgaW1wb3J0IEJ1aWxkQm90Ci1mcm9tIG1vZHVsZXMuYnVpbGRzdGVwcyBp
bXBvcnQgQnVpbGRTdGVwcwogZnJvbSBtb2R1bGVzLmNvbW1hbmRzLmRvd25sb2FkIGltcG9ydCAq
CiBmcm9tIG1vZHVsZXMuY29tbWFuZHMuZWFybHlfd2FybmluZ19zeXN0ZW0gaW1wb3J0ICoKIGZy
b20gbW9kdWxlcy5jb21tYW5kcy5xdWVyaWVzIGltcG9ydCAqCkBAIC01NSw3ICs1NCw2IEBAIGNs
YXNzIEJ1Z3ppbGxhVG9vbChNdWx0aUNvbW1hbmRUb29sKToKICAgICAgICAgc2VsZi5leGVjdXRp
dmUgPSBFeGVjdXRpdmUoKQogICAgICAgICBzZWxmLl9zY20gPSBOb25lCiAgICAgICAgIHNlbGYu
X3N0YXR1cyA9IE5vbmUKLSAgICAgICAgc2VsZi5zdGVwcyA9IEJ1aWxkU3RlcHMoKQogCiAgICAg
ZGVmIGRyeV9ydW5fY2FsbGJhY2soc2VsZiwgb3B0aW9uLCBvcHQsIHZhbHVlLCBwYXJzZXIpOgog
ICAgICAgICBzZWxmLnNjbSgpLmRyeXJ1biA9IFRydWUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1
bGVzL2J1aWxkc3RlcHMucHkKaW5kZXggZTllNmU1Yi4uYTAzMmUxZiAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2J1aWxkc3RlcHMucHkKKysrIGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy9tb2R1bGVzL2J1aWxkc3RlcHMucHkKQEAgLTQzLDYgKzQzLDcgQEAgY2xhc3MgQ29t
bWFuZE9wdGlvbnMob2JqZWN0KToKICAgICBub25faW50ZXJhY3RpdmUgPSBtYWtlX29wdGlvbigi
LS1ub24taW50ZXJhY3RpdmUiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJub25faW50ZXJh
Y3RpdmUiLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSJOZXZlciBwcm9tcHQgdGhlIHVzZXIsIGZhaWwg
YXMgZmFzdCBhcyBwb3NzaWJsZS4iKQogICAgIHBhcmVudF9jb21tYW5kID0gbWFrZV9vcHRpb24o
Ii0tcGFyZW50LWNvbW1hbmQiLCBhY3Rpb249InN0b3JlIiwgZGVzdD0icGFyZW50X2NvbW1hbmQi
LCBkZWZhdWx0PU5vbmUsIGhlbHA9IihJbnRlcm5hbCkgVGhlIGNvbW1hbmQgdGhhdCBzcGF3bmVk
IHRoaXMgaW5zdGFuY2UuIikKICAgICB1cGRhdGUgPSBtYWtlX29wdGlvbigiLS1uby11cGRhdGUi
LCBhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVzdD0idXBkYXRlIiwgZGVmYXVsdD1UcnVlLCBoZWxw
PSJEb24ndCB1cGRhdGUgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LiIpCisgICAgbG9jYWxfY29tbWl0
ID0gbWFrZV9vcHRpb24oIi0tbG9jYWwtY29tbWl0IiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVz
dD0ibG9jYWxfY29tbWl0IiwgZGVmYXVsdD1GYWxzZSwgaGVscD0iTWFrZSBhIGxvY2FsIGNvbW1p
dCBmb3IgZWFjaCBhcHBsaWVkIHBhdGNoIikKICAgICBidWlsZCA9IG1ha2Vfb3B0aW9uKCItLW5v
LWJ1aWxkIiwgYWN0aW9uPSJzdG9yZV9mYWxzZSIsIGRlc3Q9ImJ1aWxkIiwgZGVmYXVsdD1UcnVl
LCBoZWxwPSJDb21taXQgd2l0aG91dCBidWlsZGluZyBmaXJzdCwgaW1wbGllcyAtLW5vLXRlc3Qu
IikKICAgICB0ZXN0ID0gbWFrZV9vcHRpb24oIi0tbm8tdGVzdCIsIGFjdGlvbj0ic3RvcmVfZmFs
c2UiLCBkZXN0PSJ0ZXN0IiwgZGVmYXVsdD1UcnVlLCBoZWxwPSJDb21taXQgd2l0aG91dCBydW5u
aW5nIHJ1bi13ZWJraXQtdGVzdHMuIikKICAgICBjbG9zZV9idWcgPSBtYWtlX29wdGlvbigiLS1u
by1jbG9zZSIsIGFjdGlvbj0ic3RvcmVfZmFsc2UiLCBkZXN0PSJjbG9zZV9idWciLCBkZWZhdWx0
PVRydWUsIGhlbHA9IkxlYXZlIGJ1ZyBvcGVuIGFmdGVyIGxhbmRpbmcuIikKQEAgLTE0MCw2ICsx
NDEsMTIgQEAgY2xhc3MgQ2xlYW5Xb3JraW5nRGlyZWN0b3J5U3RlcChBYnN0cmFjdFN0ZXApOgog
ICAgICAgICAgICAgc2VsZi5fdG9vbC5zY20oKS5lbnN1cmVfY2xlYW5fd29ya2luZ19kaXJlY3Rv
cnkoZm9yY2VfY2xlYW49c2VsZi5fb3B0aW9ucy5mb3JjZV9jbGVhbikKIAogCitjbGFzcyBDbGVh
bldvcmtpbmdEaXJlY3RvcnlXaXRoTG9jYWxDb21taXRzU3RlcChDbGVhbldvcmtpbmdEaXJlY3Rv
cnlTdGVwKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdG9vbCwgb3B0aW9ucyk6CisgICAgICAg
ICMgRklYTUU6IFRoaXMgYSBiaXQgb2YgYSBoYWNrLiAgQ29uc2lkZXIgZG9pbmcgdGhpcyBtb3Jl
IGNsZWFubHkuCisgICAgICAgIENsZWFuV29ya2luZ0RpcmVjdG9yeVN0ZXAuX19pbml0X18oc2Vs
ZiwgdG9vbCwgb3B0aW9ucywgYWxsb3dfbG9jYWxfY29tbWl0cz1UcnVlKQorCisKIGNsYXNzIFVw
ZGF0ZVN0ZXAoQWJzdHJhY3RTdGVwKToKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgb3B0aW9u
cyhjbHMpOgpAQCAtMTcyLDYgKzE3OSwyMCBAQCBjbGFzcyBSZXZlcnRSZXZpc2lvblN0ZXAoQWJz
dHJhY3RTdGVwKToKICAgICAgICAgc2VsZi5fdG9vbC5zY20oKS5hcHBseV9yZXZlcnNlX2RpZmYo
c3RhdGVbInJldmlzaW9uIl0pCiAKIAorY2xhc3MgQXBwbHlQYXRjaFdpdGhMb2NhbENvbW1pdFN0
ZXAoQXBwbHlQYXRjaFN0ZXApOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBvcHRpb25zKGNs
cyk6CisgICAgICAgIHJldHVybiBbCisgICAgICAgICAgICBDb21tYW5kT3B0aW9ucy5sb2NhbF9j
b21taXQsCisgICAgICAgIF0gKyBBcHBseVBhdGNoU3RlcC5vcHRpb25zKCkKKyAgICAKKyAgICBk
ZWYgcnVuKHNlbGYsIHN0YXRlKToKKyAgICAgICAgQXBwbHlQYXRjaFN0ZXAucnVuKHNlbGYsIHN0
YXRlKQorICAgICAgICBpZiBzZWxmLl9vcHRpb25zLmxvY2FsX2NvbW1pdDoKKyAgICAgICAgICAg
IGNvbW1pdF9tZXNzYWdlID0gc2VsZi5fdG9vbC5zY20oKS5jb21taXRfbWVzc2FnZV9mb3JfdGhp
c19jb21taXQoKQorICAgICAgICAgICAgc2VsZi5fdG9vbC5zY20oKS5jb21taXRfbG9jYWxseV93
aXRoX21lc3NhZ2UoY29tbWl0X21lc3NhZ2UubWVzc2FnZSgpIG9yIHN0YXRlWyJwYXRjaCJdWyJu
YW1lIl0pCisKKwogY2xhc3MgRW5zdXJlQnVpbGRlcnNBcmVHcmVlblN0ZXAoQWJzdHJhY3RTdGVw
KToKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgb3B0aW9ucyhjbHMpOgpAQCAtMzUzLDM1ICsz
NzQsMyBAQCBjbGFzcyBDb21wbGV0ZVJvbGxvdXQoTWV0YVN0ZXApOgogICAgICAgICAgICAgcmV0
dXJuCiAgICAgICAgICMgRklYTUU6IEknbSBub3Qgc3VyZSBzdGF0ZVsiY29tbWl0X3RleHQiXSBp
cyBxdWl0ZSByaWdodCBoZXJlLgogICAgICAgICBzZWxmLl90b29sLmJ1Z3MucmVvcGVuX2J1Zyhi
dWdfaWQsIHN0YXRlWyJjb21taXRfdGV4dCJdKQotCi0KLSMgRklYTUU6IFRoaXMgY2xhc3MgaXMg
YSBkaW5vc2F1ciBhbmQgc2hvdWxkIGJlIGV4dGluY3Qgc29vbi4KLWNsYXNzIEJ1aWxkU3RlcHM6
Ci0gICAgIyBGSVhNRTogVGhlIG9wdGlvbnMgc2hvdWxkIHJlYWxseSBsaXZlIG9uIGVhY2ggIlN0
ZXAiIG9iamVjdC4KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIGNsZWFuaW5nX29wdGlvbnMo
KToKLSAgICAgICAgcmV0dXJuIFsKLSAgICAgICAgICAgIENvbW1hbmRPcHRpb25zLmZvcmNlX2Ns
ZWFuLAotICAgICAgICAgICAgQ29tbWFuZE9wdGlvbnMuY2xlYW4sCi0gICAgICAgIF0KLQotICAg
ICMgRklYTUU6IFRoZXNlIGRpc3RpbmN0aW9ucyBhcmUgYm9ndXMuICBXZSBuZWVkIGEgYmV0dGVy
IG1vZGVsIGZvciBoYW5kbGluZyBvcHRpb25zLgotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYg
YnVpbGRfb3B0aW9ucygpOgotICAgICAgICByZXR1cm4gWwotICAgICAgICAgICAgQ29tbWFuZE9w
dGlvbnMuY2hlY2tfYnVpbGRlcnMsCi0gICAgICAgICAgICBDb21tYW5kT3B0aW9ucy5xdWlldCwK
LSAgICAgICAgICAgIENvbW1hbmRPcHRpb25zLm5vbl9pbnRlcmFjdGl2ZSwKLSAgICAgICAgICAg
IENvbW1hbmRPcHRpb25zLnBhcmVudF9jb21tYW5kLAotICAgICAgICAgICAgQ29tbWFuZE9wdGlv
bnMucG9ydCwKLSAgICAgICAgXQotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBsYW5kX29w
dGlvbnMoKToKLSAgICAgICAgcmV0dXJuIFsKLSAgICAgICAgICAgIENvbW1hbmRPcHRpb25zLnVw
ZGF0ZSwKLSAgICAgICAgICAgIENvbW1hbmRPcHRpb25zLmJ1aWxkLAotICAgICAgICAgICAgQ29t
bWFuZE9wdGlvbnMudGVzdCwKLSAgICAgICAgICAgIENvbW1hbmRPcHRpb25zLmNsb3NlX2J1ZywK
LSAgICAgICAgXQotCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29t
bWFuZHMvZG93bmxvYWQucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWFuZHMv
ZG93bmxvYWQucHkKaW5kZXggMGI2ZTNhYS4uNzc5YTE1OSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkLnB5CisrKyBiL1dlYktpdFRvb2xz
L1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9kb3dubG9hZC5weQpAQCAtMzQsNyArMzQsNyBAQCBm
cm9tIG9wdHBhcnNlIGltcG9ydCBtYWtlX29wdGlvbgogCiBmcm9tIG1vZHVsZXMuYnVnemlsbGEg
aW1wb3J0IHBhcnNlX2J1Z19pZAogIyBGSVhNRTogVGhpcyBsaXN0IGlzIHJlZGljdWxvdXMuICBX
ZSBuZWVkIHRvIGxlYXJuIHRoZSB3YXlzIG9mIF9fYWxsX18uCi1mcm9tIG1vZHVsZXMuYnVpbGRz
dGVwcyBpbXBvcnQgQ29tbWFuZE9wdGlvbnMsIEJ1aWxkU3RlcHMsIEVuc3VyZUJ1aWxkZXJzQXJl
R3JlZW5TdGVwLCBVcGRhdGVDaGFuZ2Vsb2dzV2l0aFJldmlld2VyU3RlcCwgQ2xlYW5Xb3JraW5n
RGlyZWN0b3J5U3RlcCwgVXBkYXRlU3RlcCwgQXBwbHlQYXRjaFN0ZXAsIEJ1aWxkU3RlcCwgQ2hl
Y2tTdHlsZVN0ZXAsIFJ1blRlc3RzU3RlcCwgQ29tbWl0U3RlcCwgQ2xvc2VQYXRjaFN0ZXAsIENs
b3NlQnVnU3RlcCwgQ2xvc2VCdWdGb3JMYW5kRGlmZlN0ZXAsIFByZXBhcmVDaGFuZ2Vsb2dTdGVw
LCBQcmVwYXJlQ2hhbmdlbG9nRm9yUmV2ZXJ0U3RlcCwgUmV2ZXJ0UmV2aXNpb25TdGVwLCBDb21w
bGV0ZVJvbGxvdXQKK2Zyb20gbW9kdWxlcy5idWlsZHN0ZXBzIGltcG9ydCBDb21tYW5kT3B0aW9u
cywgRW5zdXJlQnVpbGRlcnNBcmVHcmVlblN0ZXAsIFVwZGF0ZUNoYW5nZWxvZ3NXaXRoUmV2aWV3
ZXJTdGVwLCBDbGVhbldvcmtpbmdEaXJlY3RvcnlTdGVwLCBDbGVhbldvcmtpbmdEaXJlY3RvcnlX
aXRoTG9jYWxDb21taXRzU3RlcCwgVXBkYXRlU3RlcCwgQXBwbHlQYXRjaFN0ZXAsIEFwcGx5UGF0
Y2hXaXRoTG9jYWxDb21taXRTdGVwLCBCdWlsZFN0ZXAsIENoZWNrU3R5bGVTdGVwLCBSdW5UZXN0
c1N0ZXAsIENvbW1pdFN0ZXAsIENsb3NlUGF0Y2hTdGVwLCBDbG9zZUJ1Z1N0ZXAsIENsb3NlQnVn
Rm9yTGFuZERpZmZTdGVwLCBQcmVwYXJlQ2hhbmdlbG9nU3RlcCwgUHJlcGFyZUNoYW5nZWxvZ0Zv
clJldmVydFN0ZXAsIFJldmVydFJldmlzaW9uU3RlcCwgQ29tcGxldGVSb2xsb3V0CiBmcm9tIG1v
ZHVsZXMuY2hhbmdlbG9ncyBpbXBvcnQgQ2hhbmdlTG9nCiBmcm9tIG1vZHVsZXMuY29tbWVudHMg
aW1wb3J0IGJ1Z19jb21tZW50X2Zyb21fY29tbWl0X3RleHQKIGZyb20gbW9kdWxlcy5leGVjdXRp
dmUgaW1wb3J0IFNjcmlwdEVycm9yCkBAIC01OSw2NSArNTksNiBAQCBjbGFzcyBCdWlsZChDb21t
YW5kKToKICAgICAgICAgc2VsZi5fc2VxdWVuY2UucnVuX2FuZF9oYW5kbGVfZXJyb3JzKHRvb2ws
IG9wdGlvbnMpCiAKIAotY2xhc3MgQXBwbHlBdHRhY2htZW50KENvbW1hbmQpOgotICAgIG5hbWUg
PSAiYXBwbHktYXR0YWNobWVudCIKLSAgICBzaG93X2luX21haW5faGVscCA9IFRydWUKLSAgICBk
ZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIG9wdGlvbnMgPSBXZWJLaXRBcHBseWluZ1Njcmlw
dHMuYXBwbHlfb3B0aW9ucygpCi0gICAgICAgIG9wdGlvbnMgKz0gQnVpbGRTdGVwcy5jbGVhbmlu
Z19vcHRpb25zKCkKLSAgICAgICAgQ29tbWFuZC5fX2luaXRfXyhzZWxmLCAiQXBwbHkgYW4gYXR0
YWNobWVudCB0byB0aGUgbG9jYWwgd29ya2luZyBkaXJlY3RvcnkiLCAiQVRUQUNITUVOVF9JRCIs
IG9wdGlvbnM9b3B0aW9ucykKLQotICAgIGRlZiBleGVjdXRlKHNlbGYsIG9wdGlvbnMsIGFyZ3Ms
IHRvb2wpOgotICAgICAgICBXZWJLaXRBcHBseWluZ1NjcmlwdHMuc2V0dXBfZm9yX3BhdGNoX2Fw
cGx5KHRvb2wsIG9wdGlvbnMpCi0gICAgICAgIGF0dGFjaG1lbnRfaWQgPSBhcmdzWzBdCi0gICAg
ICAgIGF0dGFjaG1lbnQgPSB0b29sLmJ1Z3MuZmV0Y2hfYXR0YWNobWVudChhdHRhY2htZW50X2lk
KQotICAgICAgICBXZWJLaXRBcHBseWluZ1NjcmlwdHMuYXBwbHlfcGF0Y2hlc193aXRoX29wdGlv
bnModG9vbC5zY20oKSwgW2F0dGFjaG1lbnRdLCBvcHRpb25zKQotCi0KLWNsYXNzIEFwcGx5UGF0
Y2hlcyhDb21tYW5kKToKLSAgICBuYW1lID0gImFwcGx5LXBhdGNoZXMiCi0gICAgc2hvd19pbl9t
YWluX2hlbHAgPSBUcnVlCi0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICBvcHRpb25z
ID0gV2ViS2l0QXBwbHlpbmdTY3JpcHRzLmFwcGx5X29wdGlvbnMoKQotICAgICAgICBvcHRpb25z
ICs9IEJ1aWxkU3RlcHMuY2xlYW5pbmdfb3B0aW9ucygpCi0gICAgICAgIENvbW1hbmQuX19pbml0
X18oc2VsZiwgIkFwcGx5IHJldmlld2VkIHBhdGNoZXMgZnJvbSBwcm92aWRlZCBidWdzIHRvIHRo
ZSBsb2NhbCB3b3JraW5nIGRpcmVjdG9yeSIsICJCVUdJRCIsIG9wdGlvbnM9b3B0aW9ucykKLQot
ICAgIGRlZiBleGVjdXRlKHNlbGYsIG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgotICAgICAgICBXZWJL
aXRBcHBseWluZ1NjcmlwdHMuc2V0dXBfZm9yX3BhdGNoX2FwcGx5KHRvb2wsIG9wdGlvbnMpCi0g
ICAgICAgIGJ1Z19pZCA9IGFyZ3NbMF0KLSAgICAgICAgcGF0Y2hlcyA9IHRvb2wuYnVncy5mZXRj
aF9yZXZpZXdlZF9wYXRjaGVzX2Zyb21fYnVnKGJ1Z19pZCkKLSAgICAgICAgV2ViS2l0QXBwbHlp
bmdTY3JpcHRzLmFwcGx5X3BhdGNoZXNfd2l0aF9vcHRpb25zKHRvb2wuc2NtKCksIHBhdGNoZXMs
IG9wdGlvbnMpCi0KLQotY2xhc3MgV2ViS2l0QXBwbHlpbmdTY3JpcHRzOgotICAgIEBzdGF0aWNt
ZXRob2QKLSAgICBkZWYgYXBwbHlfb3B0aW9ucygpOgotICAgICAgICByZXR1cm4gWwotICAgICAg
ICAgICAgbWFrZV9vcHRpb24oIi0tbm8tdXBkYXRlIiwgYWN0aW9uPSJzdG9yZV9mYWxzZSIsIGRl
c3Q9InVwZGF0ZSIsIGRlZmF1bHQ9VHJ1ZSwgaGVscD0iRG9uJ3QgdXBkYXRlIHRoZSB3b3JraW5n
IGRpcmVjdG9yeSBiZWZvcmUgYXBwbHlpbmcgcGF0Y2hlcyIpLAotICAgICAgICAgICAgbWFrZV9v
cHRpb24oIi0tbG9jYWwtY29tbWl0IiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVzdD0ibG9jYWxf
Y29tbWl0IiwgZGVmYXVsdD1GYWxzZSwgaGVscD0iTWFrZSBhIGxvY2FsIGNvbW1pdCBmb3IgZWFj
aCBhcHBsaWVkIHBhdGNoIiksCi0gICAgICAgICAgICBDb21tYW5kT3B0aW9ucy5wb3J0LAotICAg
ICAgICBdCi0KLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIHNldHVwX2Zvcl9wYXRjaF9hcHBs
eSh0b29sLCBvcHRpb25zKToKLSAgICAgICAgY2xlYW5fc3RlcCA9IENsZWFuV29ya2luZ0RpcmVj
dG9yeVN0ZXAodG9vbCwgb3B0aW9ucywgYWxsb3dfbG9jYWxfY29tbWl0cz1UcnVlKQotICAgICAg
ICBjbGVhbl9zdGVwLnJ1bih7fSkKLSAgICAgICAgdXBkYXRlX3N0ZXAgPSBVcGRhdGVTdGVwKHRv
b2wsIG9wdGlvbnMpCi0gICAgICAgIHVwZGF0ZV9zdGVwLnJ1bih7fSkKLQotICAgIEBzdGF0aWNt
ZXRob2QKLSAgICBkZWYgYXBwbHlfcGF0Y2hlc193aXRoX29wdGlvbnMoc2NtLCBwYXRjaGVzLCBv
cHRpb25zKToKLSAgICAgICAgaWYgb3B0aW9ucy5sb2NhbF9jb21taXQgYW5kIG5vdCBzY20uc3Vw
cG9ydHNfbG9jYWxfY29tbWl0cygpOgotICAgICAgICAgICAgZXJyb3IoIi0tbG9jYWwtY29tbWl0
IHBhc3NlZCwgYnV0ICVzIGRvZXMgbm90IHN1cHBvcnQgbG9jYWwgY29tbWl0cyIgJSBzY20uZGlz
cGxheV9uYW1lKCkpCi0KLSAgICAgICAgZm9yIHBhdGNoIGluIHBhdGNoZXM6Ci0gICAgICAgICAg
ICBsb2coIkFwcGx5aW5nIGF0dGFjaG1lbnQgJXMgZnJvbSBidWcgJXMiICUgKHBhdGNoWyJpZCJd
LCBwYXRjaFsiYnVnX2lkIl0pKQotICAgICAgICAgICAgc2NtLmFwcGx5X3BhdGNoKHBhdGNoKQot
ICAgICAgICAgICAgaWYgb3B0aW9ucy5sb2NhbF9jb21taXQ6Ci0gICAgICAgICAgICAgICAgY29t
bWl0X21lc3NhZ2UgPSBzY20uY29tbWl0X21lc3NhZ2VfZm9yX3RoaXNfY29tbWl0KCkKLSAgICAg
ICAgICAgICAgICBzY20uY29tbWl0X2xvY2FsbHlfd2l0aF9tZXNzYWdlKGNvbW1pdF9tZXNzYWdl
Lm1lc3NhZ2UoKSBvciBwYXRjaFsibmFtZSJdKQotCi0KIGNsYXNzIExhbmREaWZmKENvbW1hbmQp
OgogICAgIG5hbWUgPSAibGFuZC1kaWZmIgogICAgIHNob3dfaW5fbWFpbl9oZWxwID0gVHJ1ZQpA
QCAtMjIxLDYgKzE2Miw1NCBAQCBjbGFzcyBCdWlsZEF0dGFjaG1lbnQoQWJzdHJhY3RQYXRjaFBy
b2Nlc3NpbmdDb21tYW5kKToKICAgICAgICAgc2VsZi5fc2VxdWVuY2UucnVuX2FuZF9oYW5kbGVf
ZXJyb3JzKHRvb2wsIG9wdGlvbnMsIHN0YXRlKQogCiAKK2NsYXNzIEFic3RyYWN0UGF0Y2hBcHBs
eWluZ0NvbW1hbmQoQWJzdHJhY3RQYXRjaFByb2Nlc3NpbmdDb21tYW5kKToKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgaGVscF90ZXh0LCBhcmdzX2Rlc2NyaXB0aW9uKToKKyAgICAgICAgc2VsZi5f
cHJlcGFyZV9zZXF1ZW5jZSA9IFN0ZXBTZXF1ZW5jZShbCisgICAgICAgICAgICBDbGVhbldvcmtp
bmdEaXJlY3RvcnlXaXRoTG9jYWxDb21taXRzU3RlcCwKKyAgICAgICAgICAgIFVwZGF0ZVN0ZXAs
CisgICAgICAgIF0pCisgICAgICAgIHNlbGYuX21haW5fc2VxdWVuY2UgID0gU3RlcFNlcXVlbmNl
KFsKKyAgICAgICAgICAgIEFwcGx5UGF0Y2hXaXRoTG9jYWxDb21taXRTdGVwLAorICAgICAgICBd
KQorICAgICAgICBvcHRpb25zID0gc29ydGVkKHNldChzZWxmLl9wcmVwYXJlX3NlcXVlbmNlLm9w
dGlvbnMoKSArIHNlbGYuX21haW5fc2VxdWVuY2Uub3B0aW9ucygpKSkKKyAgICAgICAgQWJzdHJh
Y3RQYXRjaFByb2Nlc3NpbmdDb21tYW5kLl9faW5pdF9fKHNlbGYsIGhlbHBfdGV4dCwgYXJnc19k
ZXNjcmlwdGlvbiwgb3B0aW9ucykKKworICAgIGRlZiBfcHJlcGFyZV90b19wcm9jZXNzKHNlbGYs
IG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgorICAgICAgICBpZiBvcHRpb25zLmxvY2FsX2NvbW1pdCBh
bmQgbm90IHRvb2wuc2NtKCkuc3VwcG9ydHNfbG9jYWxfY29tbWl0cygpOgorICAgICAgICAgICAg
ZXJyb3IoIi0tbG9jYWwtY29tbWl0IHBhc3NlZCwgYnV0ICVzIGRvZXMgbm90IHN1cHBvcnQgbG9j
YWwgY29tbWl0cyIgJSBzY20uZGlzcGxheV9uYW1lKCkpCisgICAgICAgIHNlbGYuX3ByZXBhcmVf
c2VxdWVuY2UucnVuX2FuZF9oYW5kbGVfZXJyb3JzKHRvb2wsIG9wdGlvbnMpCisKKyAgICAjIEZJ
WE1FOiBBZGQgYSBiYXNlIGNsYXNzIHRvIHNoYXJlIHRoaXMgY29kZS4KKyAgICBkZWYgX3Byb2Nl
c3NfcGF0Y2goc2VsZiwgcGF0Y2gsIG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgorICAgICAgICBzdGF0
ZSA9IHsicGF0Y2giOiBwYXRjaH0KKyAgICAgICAgc2VsZi5fbWFpbl9zZXF1ZW5jZS5ydW5fYW5k
X2hhbmRsZV9lcnJvcnModG9vbCwgb3B0aW9ucywgc3RhdGUpCisKKworY2xhc3MgQXBwbHlBdHRh
Y2htZW50KEFic3RyYWN0UGF0Y2hBcHBseWluZ0NvbW1hbmQpOgorICAgIG5hbWUgPSAiYXBwbHkt
YXR0YWNobWVudCIKKyAgICBzaG93X2luX21haW5faGVscCA9IFRydWUKKyAgICBkZWYgX19pbml0
X18oc2VsZik6CisgICAgICAgIEFic3RyYWN0UGF0Y2hBcHBseWluZ0NvbW1hbmQuX19pbml0X18o
c2VsZiwgIkFwcGx5IGFuIGF0dGFjaG1lbnQgdG8gdGhlIGxvY2FsIHdvcmtpbmcgZGlyZWN0b3J5
IiwgIkFUVEFDSE1FTlRfSUQgW0FUVEFDSE1FTlRfSURTXSIpCisKKyAgICBkZWYgX2ZldGNoX2xp
c3Rfb2ZfcGF0Y2hlc190b19wcm9jZXNzKHNlbGYsIG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgorICAg
ICAgICByZXR1cm4gbWFwKGxhbWJkYSBwYXRjaF9pZDogdG9vbC5idWdzLmZldGNoX2F0dGFjaG1l
bnQocGF0Y2hfaWQpLCBhcmdzKQorCisKK2NsYXNzIEFwcGx5UGF0Y2hlcyhBYnN0cmFjdFBhdGNo
QXBwbHlpbmdDb21tYW5kKToKKyAgICBuYW1lID0gImFwcGx5LXBhdGNoZXMiCisgICAgc2hvd19p
bl9tYWluX2hlbHAgPSBUcnVlCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBBYnN0
cmFjdFBhdGNoQXBwbHlpbmdDb21tYW5kLl9faW5pdF9fKHNlbGYsICJBcHBseSByZXZpZXdlZCBw
YXRjaGVzIGZyb20gcHJvdmlkZWQgYnVncyB0byB0aGUgbG9jYWwgd29ya2luZyBkaXJlY3Rvcnki
LCAiQlVHSUQgW0JVR0lEU10iKQorCisgICAgZGVmIF9mZXRjaF9saXN0X29mX3BhdGNoZXNfdG9f
cHJvY2VzcyhzZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKKyAgICAgICAgYWxsX3BhdGNoZXMg
PSBbXQorICAgICAgICBmb3IgYnVnX2lkIGluIGFyZ3M6CisgICAgICAgICAgICBwYXRjaGVzID0g
dG9vbC5idWdzLmZldGNoX3Jldmlld2VkX3BhdGNoZXNfZnJvbV9idWcoYnVnX2lkKQorICAgICAg
ICAgICAgbG9nKCIlcyBmb3VuZCBvbiBidWcgJXMuIiAlIChwbHVyYWxpemUoInJldmlld2VkIHBh
dGNoIiwgbGVuKHBhdGNoZXMpKSwgYnVnX2lkKSkKKyAgICAgICAgICAgIGFsbF9wYXRjaGVzICs9
IHBhdGNoZXMKKyAgICAgICAgcmV0dXJuIGFsbF9wYXRjaGVzCisKKwogY2xhc3MgQWJzdHJhY3RQ
YXRjaExhbmRpbmdDb21tYW5kKEFic3RyYWN0UGF0Y2hQcm9jZXNzaW5nQ29tbWFuZCk6CiAgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGhlbHBfdGV4dCwgYXJnc19kZXNjcmlwdGlvbik6CiAgICAgICAg
IHNlbGYuX3NlcXVlbmNlID0gU3RlcFNlcXVlbmNlKFsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9kb3dubG9hZF91bml0dGVzdC5weSBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9kb3dubG9hZF91bml0dGVzdC5weQppbmRleCBl
ZTE3Mjk2Li40MTM1NDU1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMv
Y29tbWFuZHMvZG93bmxvYWRfdW5pdHRlc3QucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9t
b2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkX3VuaXR0ZXN0LnB5CkBAIC01NSwxNCArNTUsMTQgQEAg
Y2xhc3MgRG93bmxvYWRDb21tYW5kc1Rlc3QoQ29tbWFuZHNUZXN0KToKICAgICAgICAgb3B0aW9u
cyA9IHNlbGYuX2RlZmF1bHRfb3B0aW9ucygpCiAgICAgICAgIG9wdGlvbnMudXBkYXRlID0gVHJ1
ZQogICAgICAgICBvcHRpb25zLmxvY2FsX2NvbW1pdCA9IFRydWUKLSAgICAgICAgZXhwZWN0ZWRf
c3RkZXJyID0gIlVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5XG5BcHBseWluZyBhdHRhY2htZW50
IDE5NyBmcm9tIGJ1ZyA0MlxuIgorICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiVXBkYXRpbmcg
d29ya2luZyBkaXJlY3RvcnlcblByb2Nlc3NpbmcgMSBwYXRjaCBmcm9tIDEgYnVnLlxuUHJvY2Vz
c2luZyBwYXRjaCAxOTcgZnJvbSBidWcgNDIuXG4iCiAgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1
dGVfb3V0cHV0cyhBcHBseUF0dGFjaG1lbnQoKSwgWzE5N10sIG9wdGlvbnM9b3B0aW9ucywgZXhw
ZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKIAogICAgIGRlZiB0ZXN0X2FwcGx5X3BhdGNo
ZXMoc2VsZik6CiAgICAgICAgIG9wdGlvbnMgPSBzZWxmLl9kZWZhdWx0X29wdGlvbnMoKQogICAg
ICAgICBvcHRpb25zLnVwZGF0ZSA9IFRydWUKICAgICAgICAgb3B0aW9ucy5sb2NhbF9jb21taXQg
PSBUcnVlCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJVcGRhdGluZyB3b3JraW5nIGRpcmVj
dG9yeVxuQXBwbHlpbmcgYXR0YWNobWVudCAxOTcgZnJvbSBidWcgNDJcbkFwcGx5aW5nIGF0dGFj
aG1lbnQgMTI4IGZyb20gYnVnIDQyXG4iCisgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJVcGRh
dGluZyB3b3JraW5nIGRpcmVjdG9yeVxuMiByZXZpZXdlZCBwYXRjaGVzIGZvdW5kIG9uIGJ1ZyA0
Mi5cblByb2Nlc3NpbmcgMiBwYXRjaGVzIGZyb20gMSBidWcuXG5Qcm9jZXNzaW5nIHBhdGNoIDE5
NyBmcm9tIGJ1ZyA0Mi5cblByb2Nlc3NpbmcgcGF0Y2ggMTI4IGZyb20gYnVnIDQyLlxuIgogICAg
ICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoQXBwbHlQYXRjaGVzKCksIFs0Ml0sIG9w
dGlvbnM9b3B0aW9ucywgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKIAogICAgIGRl
ZiB0ZXN0X2xhbmRfZGlmZihzZWxmKToK
</data>

          </attachment>
      

    </bug>

</bugzilla>