<?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>72247</bug_id>
          
          <creation_ts>2011-11-13 23:59:29 -0800</creation_ts>
          <short_desc>Add SCMDetector object to make scm detection mockable</short_desc>
          <delta_ts>2012-01-19 07:14:35 -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>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>
          <dependson>76630</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>ojan</cc>
    
    <cc>pnormand</cc>
    
    <cc>tonyg</cc>
    
    <cc>vanuan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>501681</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-13 23:59:29 -0800</bug_when>
    <thetext>Add SCMDetector object to make scm detection mockable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501683</commentid>
    <comment_count>1</comment_count>
      <attachid>114893</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-14 00:02:02 -0800</bug_when>
    <thetext>Created attachment 114893
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501687</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-14 00:08:05 -0800</bug_when>
    <thetext>Committed r100104: &lt;http://trac.webkit.org/changeset/100104&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501696</commentid>
    <comment_count>3</comment_count>
      <attachid>114893</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-11-14 00:29:40 -0800</bug_when>
    <thetext>Comment on attachment 114893
Patch

Clearing the commit-queue flag since the patch for this bug was landed as per comment 2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501751</commentid>
    <comment_count>4</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2011-11-14 02:46:36 -0800</bug_when>
    <thetext>This patch appears to have broken windows builds. Rolling back shortly.

Example log:
https://bugs.webkit.org/show_bug.cgi?id=72247

Philn informs me I&apos;ll also need to roll back r100116, so I assume that should be part of the patch when it rolls forward again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501754</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2011-11-14 02:48:48 -0800</bug_when>
    <thetext>Reverted r100104 for reason:

broke windows builds

Committed r100118: &lt;http://trac.webkit.org/changeset/100118&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501758</commentid>
    <comment_count>6</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2011-11-14 02:57:17 -0800</bug_when>
    <thetext>&gt; Example log:
&gt; https://bugs.webkit.org/show_bug.cgi?id=72247

Copy/paste fail. Log is:
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Vista/builds/8621/steps/webkit_tests/logs/stdio

This showed up on XP, Vista and Win 7.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502228</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-14 13:01:23 -0800</bug_when>
    <thetext>Yeah, that&apos;s fallout from adding _initialize_scm() before _engage_awesome_windows_hacks are called.  Very easy to fix.  Will re-land shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503690</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-16 00:46:51 -0800</bug_when>
    <thetext>We&apos;re now engaging windows hacks harder: http://trac.webkit.org/changeset/100421  I&apos;ll roll this back in tomorrow when I&apos;m more awake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504535</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-16 21:09:07 -0800</bug_when>
    <thetext>Committed r100558: &lt;http://trac.webkit.org/changeset/100558&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>505820</commentid>
    <comment_count>10</comment_count>
    <who name="">vanuan</who>
    <bug_when>2011-11-18 08:40:45 -0800</bug_when>
    <thetext>Seems like this patch has broken tests for me. &apos;svn info&apos; is locale dependent, so it always returns &quot;ScriptError: svn info did not contain a Repository UUID.&quot;

Obvious fix would be running svn info in clean environment. I can prepare a patch for this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114893</attachid>
            <date>2011-11-14 00:02:02 -0800</date>
            <delta_ts>2011-11-14 00:29:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72247-20111114000200.patch</filename>
            <type>text/plain</type>
            <size>23735</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk3OTEKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2NzY3ODNjMzI3YWI2NTdiMmUzNGVlODgzY2FmY2ZjZWVi
MmMxYTdkLi5lMTcwMmExNDI4NTFkNzZiYTgwMWQ0N2U2YjU5YjBhMzZhOGYyOGM2IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzgg
QEAKKzIwMTEtMTEtMTMgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAg
IEFkZCBTQ01EZXRlY3RvciBvYmplY3QgdG8gbWFrZSBzY20gZGV0ZWN0aW9uIG1vY2thYmxlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI0NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEkgdGhpbmsgU0NN
IGRldGVjdGlvbiBtYXkgZXZlbnR1YWxseSBiZSByb2xsZWQgaW50byBDaGVja291dCwKKyAgICAg
ICAgYnV0IHRoaXMgcGF0Y2ggYXQgbGVhc3QgbWFrZXMgaXQgcG9zc2libGUgdG8gbW9jayBjb2Rl
LXBhdGhzCisgICAgICAgIHdoaWNoIHJlbHkgb24gc2NtIGRldGVjdGlvbi4KKyAgICAgICAgSW4g
dGhlIHByb2Nlc3Mgb2YgcmVwbGFjaW5nIGNhbGxlcnMgb2YgdGhlc2UgZnJlZS1mdW5jdGlvbnMK
KyAgICAgICAgSSBmb3VuZCB0aGF0IG9uZSBvZiB0aGUgZnVuY3Rpb25zIHdhcyBubyBsb25nZXIg
dXNlZCwKKyAgICAgICAgYW5kIHRoYXQgb25lIG9mIHRoZSBjYWxsZXJzIGNvdWxkIGluc3RlYWQg
anVzdCB1c2UgdGhlIFNDTQorICAgICAgICBvYmplY3QgaXQgYWxyZWFkeSBoYWQgYWNjZXNzIHRv
IHRocm91Z2ggcG9ydC5ob3N0LnNjbSgpLgorICAgICAgICBJIGFsc28gZGlzY292ZXJlZCB0aGF0
IEkgd2FzIG5vdCBjYWxsaW5nIEhvc3QuX2luaXRpYWxpemVfc2NtKCkKKyAgICAgICAgYW5kIHRo
dXMgaG9zdC5zY20oKSB3YXMgYWx3YXlzIHJldHVybmluZyBOb25lIQorCisgICAgICAgICogU2Ny
aXB0cy9jaGVjay13ZWJraXQtc3R5bGU6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vY2hlY2tvdXQvY2hlY2tvdXRfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vY2hlY2tvdXQvZGVwcy5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jaGVja291dC9zY20vX19pbml0X18ucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vY2hlY2tvdXQvc2NtL2RldGVjdGlvbi5weToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vZ2l0LnB5OgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zY21fdW5pdHRlc3QucHk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3N2bi5weToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9ob3N0LnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvY29tbW9uL2hvc3RfbW9jay5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlci5weToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tb2NrX2RydC5weToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9fYmVfbW92ZWQvcmViYXNlbGluZV9jaHJv
bWl1bV93ZWJraXRfdGVzdHMucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3Nl
cnZlcnMvcmViYXNlbGluZXNlcnZlci5weToKKwogMjAxMS0xMS0wOSAgRXJpYyBTZWlkZWwgIDxl
cmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHRoZSBjb25jZXB0IG9mIHBsYXRmb3Jt
LWRlcGVuZGVudCB1bml0dGVzdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvY2hlY2std2Vi
a2l0LXN0eWxlIGIvVG9vbHMvU2NyaXB0cy9jaGVjay13ZWJraXQtc3R5bGUKaW5kZXggZDZkYWMw
MWU5NDdlMGQ4MTRhNWUwMmM1MmZiZmZhNTk1ZDlmNjljYy4uZmJhYzE4NTc0MmZlOWIzMmI0NjRm
MTkxZmQ5YWVmZWQwZTAxNWYxNCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9jaGVjay13ZWJr
aXQtc3R5bGUKKysrIGIvVG9vbHMvU2NyaXB0cy9jaGVjay13ZWJraXQtc3R5bGUKQEAgLTQ4LDcg
KzQ4LDcgQEAgaW1wb3J0IG9zCiBpbXBvcnQgb3MucGF0aAogaW1wb3J0IHN5cwogCi1mcm9tIHdl
YmtpdHB5LmNvbW1vbi5jaGVja291dC5zY20gaW1wb3J0IGRldGVjdF9zY21fc3lzdGVtCitmcm9t
IHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5zY20uZGV0ZWN0aW9uIGltcG9ydCBkZXRlY3Rfc2Nt
X3N5c3RlbQogaW1wb3J0IHdlYmtpdHB5LnN0eWxlLmNoZWNrZXIgYXMgY2hlY2tlcgogZnJvbSB3
ZWJraXRweS5zdHlsZS5wYXRjaHJlYWRlciBpbXBvcnQgUGF0Y2hSZWFkZXIKIGZyb20gd2Via2l0
cHkuc3R5bGUuY2hlY2tlciBpbXBvcnQgU3R5bGVQcm9jZXNzb3IKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0X3VuaXR0ZXN0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXRfdW5pdHRlc3Qu
cHkKaW5kZXggMzY2YTQ0MjM1Y2IwMTMyNWNiZjVlN2MwOWRmMzlmZjNhYWY3ODgyYy4uYTUwYjFi
NDQ5ZjE0ZjVkOTZhOWMzMTBhMGI5ZGY2Mzg0OGEzNzE4MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXRfdW5pdHRlc3QucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXRfdW5pdHRlc3Qu
cHkKQEAgLTM2LDIxICszNiwxNSBAQCBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSAuY2hlY2tvdXQg
aW1wb3J0IENoZWNrb3V0CiBmcm9tIC5jaGFuZ2Vsb2cgaW1wb3J0IENoYW5nZUxvZ0VudHJ5Ci1m
cm9tIC5zY20gaW1wb3J0IGRldGVjdF9zY21fc3lzdGVtLCBDb21taXRNZXNzYWdlCitmcm9tIC5z
Y20gaW1wb3J0IENvbW1pdE1lc3NhZ2UsIFNDTURldGVjdG9yCiBmcm9tIC5zY20uc2NtX21vY2sg
aW1wb3J0IE1vY2tTQ00KIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1w
b3J0IEV4ZWN1dGl2ZSwgU2NyaXB0RXJyb3IKK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5m
aWxlc3lzdGVtIGltcG9ydCBGaWxlU3lzdGVtICAjIEZJWE1FOiBUaGlzIHNob3VsZCBub3QgYmUg
bmVlZGVkLgogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW1fbW9jayBpbXBv
cnQgTW9ja0ZpbGVTeXN0ZW0KIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmVf
bW9jayBpbXBvcnQgTW9ja0V4ZWN1dGl2ZQogZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5Lm1vY2sg
aW1wb3J0IE1vY2sKIAogCi0KLSMgRklYTUU6IENvcGllZCBmcm9tIHNjbV91bml0dGVzdC5weQot
ZGVmIHdyaXRlX2ludG9fZmlsZV9hdF9wYXRoKGZpbGVfcGF0aCwgY29udGVudHMsIGVuY29kaW5n
PSJ1dGYtOCIpOgotICAgIHdpdGggY29kZWNzLm9wZW4oZmlsZV9wYXRoLCAidyIsIGVuY29kaW5n
KSBhcyBmaWxlOgotICAgICAgICBmaWxlLndyaXRlKGNvbnRlbnRzKQotCi0KIF9jaGFuZ2Vsb2cx
ZW50cnkxID0gdSIiIjIwMTAtMDMtMjUgIFRvciBBcm5lIFZlc3RiXHUwMGY4ICA8dmVzdGJvQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggdG8gdW4tYnJlYWsgd2Vi
a2l0LXBhdGNoIGxhbmQuCkBAIC0xMDMsMzUgKzk3LDM5IEBAIFNlY29uZCBwYXJ0IG9mIHRoaXMg
Y29tcGxpY2F0ZWQgY2hhbmdlIGJ5IG1lLCBUb3IgQXJuZSBWZXN0Ylx1MDBmOCEKICIiIgogCiAg
ICAgZGVmIHNldFVwKHNlbGYpOgotICAgICAgICBzZWxmLnRlbXBfZGlyID0gdGVtcGZpbGUubWtk
dGVtcChzdWZmaXg9ImNoYW5nZWxvZ3MiKQotICAgICAgICBzZWxmLm9sZF9jd2QgPSBvcy5nZXRj
d2QoKQotICAgICAgICBvcy5jaGRpcihzZWxmLnRlbXBfZGlyKQorICAgICAgICAjIEZJWE1FOiBU
aGlzIHNob3VsZCBub3QgbmVlZCB0byB0b3VjaCB0aGUgZmlsZXN5c3RlbSwgaG93ZXZlcgorICAg
ICAgICAjIENoYW5nZUxvZyBpcyBkaWZmaWN1bHQgdG8gbW9jayBhdCBjdXJyZW50LgorICAgICAg
ICBzZWxmLmZpbGVzeXN0ZW0gPSBGaWxlU3lzdGVtKCkKKyAgICAgICAgc2VsZi50ZW1wX2RpciA9
IHN0cihzZWxmLmZpbGVzeXN0ZW0ubWtkdGVtcChzdWZmaXg9ImNoYW5nZWxvZ3MiKSkKKyAgICAg
ICAgc2VsZi5vbGRfY3dkID0gc2VsZi5maWxlc3lzdGVtLmdldGN3ZCgpCisgICAgICAgIHNlbGYu
ZmlsZXN5c3RlbS5jaGRpcihzZWxmLnRlbXBfZGlyKQogCiAgICAgICAgICMgVHJpY2sgY29tbWl0
LWxvZy1lZGl0b3IgaW50byB0aGlua2luZyB3ZSdyZSBpbiBhIFN1YnZlcnNpb24gd29ya2luZyBj
b3B5IHNvIGl0IHdvbid0CiAgICAgICAgICMgY29tcGxhaW4gYWJvdXQgbm90IGJlaW5nIGFibGUg
dG8gZmlndXJlIG91dCB3aGF0IFNDTSBpcyBpbiB1c2UuCi0gICAgICAgIG9zLm1rZGlyKCIuc3Zu
IikKKyAgICAgICAgc2VsZi5maWxlc3lzdGVtLm1heWJlX21ha2VfZGlyZWN0b3J5KCIuc3ZuIikK
IAotICAgICAgICBzZWxmLmNoYW5nZWxvZ3MgPSBtYXAob3MucGF0aC5hYnNwYXRoLCAob3MucGF0
aC5qb2luKCJUb29scyIsICJDaGFuZ2VMb2ciKSwgb3MucGF0aC5qb2luKCJMYXlvdXRUZXN0cyIs
ICJDaGFuZ2VMb2ciKSkpCisgICAgICAgIHNlbGYuY2hhbmdlbG9ncyA9IG1hcChzZWxmLmZpbGVz
eXN0ZW0uYWJzcGF0aCwgKHNlbGYuZmlsZXN5c3RlbS5qb2luKCJUb29scyIsICJDaGFuZ2VMb2ci
KSwgc2VsZi5maWxlc3lzdGVtLmpvaW4oIkxheW91dFRlc3RzIiwgIkNoYW5nZUxvZyIpKSkKICAg
ICAgICAgZm9yIHBhdGgsIGNvbnRlbnRzIGluIHppcChzZWxmLmNoYW5nZWxvZ3MsIChfY2hhbmdl
bG9nMSwgX2NoYW5nZWxvZzIpKToKLSAgICAgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguZGly
bmFtZShwYXRoKSkKLSAgICAgICAgICAgIHdyaXRlX2ludG9fZmlsZV9hdF9wYXRoKHBhdGgsIGNv
bnRlbnRzKQorICAgICAgICAgICAgc2VsZi5maWxlc3lzdGVtLm1heWJlX21ha2VfZGlyZWN0b3J5
KHNlbGYuZmlsZXN5c3RlbS5kaXJuYW1lKHBhdGgpKQorICAgICAgICAgICAgc2VsZi5maWxlc3lz
dGVtLndyaXRlX3RleHRfZmlsZShwYXRoLCBjb250ZW50cykKIAogICAgIGRlZiB0ZWFyRG93bihz
ZWxmKToKLSAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLnRlbXBfZGlyLCBpZ25vcmVfZXJyb3Jz
PVRydWUpCi0gICAgICAgIG9zLmNoZGlyKHNlbGYub2xkX2N3ZCkKKyAgICAgICAgc2VsZi5maWxl
c3lzdGVtLnJtdHJlZShzZWxmLnRlbXBfZGlyKQorICAgICAgICBzZWxmLmZpbGVzeXN0ZW0uY2hk
aXIoc2VsZi5vbGRfY3dkKQogCi0gICAgIyBGSVhNRTogVGhpcyBzaG91bGQgbm90IG5lZWQgdG8g
dG91Y2ggdGhlIGZpbGUgc3lzdGVtLCBob3dldmVyCi0gICAgIyBDaGFuZ2VMb2cgaXMgZGlmZmlj
dWx0IHRvIG1vY2sgYXQgY3VycmVudC4KICAgICBkZWYgdGVzdF9jb21taXRfbWVzc2FnZV9mb3Jf
dGhpc19jb21taXQoc2VsZik6CisgICAgICAgIGV4ZWN1dGl2ZSA9IEV4ZWN1dGl2ZSgpCisKICAg
ICAgICAgZGVmIG1vY2tfcnVuKCphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgICAgICAjIE5vdGUg
dGhhdCB3ZSB1c2UgYSByZWFsIEV4ZWN1dGl2ZSBoZXJlLCBub3QgYSBNb2NrRXhlY3V0aXZlLCBz
byB3ZSBjYW4gdGVzdCB0aGF0IHdlJ3JlCiAgICAgICAgICAgICAjIGludm9raW5nIGNvbW1pdC1s
b2ctZWRpdG9yIGNvcnJlY3RseS4KICAgICAgICAgICAgIGVudiA9IG9zLmVudmlyb24uY29weSgp
CiAgICAgICAgICAgICBlbnZbJ0NIQU5HRV9MT0dfRU1BSUxfQUREUkVTUyddID0gJ3Zlc3Rib0B3
ZWJraXQub3JnJwogICAgICAgICAgICAga3dhcmdzWydlbnYnXSA9IGVudgotICAgICAgICAgICAg
cmV0dXJuIEV4ZWN1dGl2ZSgpLnJ1bl9jb21tYW5kKCphcmdzLCAqKmt3YXJncykKKyAgICAgICAg
ICAgIHJldHVybiBleGVjdXRpdmUucnVuX2NvbW1hbmQoKmFyZ3MsICoqa3dhcmdzKQogCi0gICAg
ICAgIHJlYWxfc2NtID0gZGV0ZWN0X3NjbV9zeXN0ZW0oc2VsZi5vbGRfY3dkKQorICAgICAgICBk
ZXRlY3RvciA9IFNDTURldGVjdG9yKHNlbGYuZmlsZXN5c3RlbSwgZXhlY3V0aXZlKQorICAgICAg
ICByZWFsX3NjbSA9IGRldGVjdG9yLmRldGVjdF9zY21fc3lzdGVtKHNlbGYub2xkX2N3ZCkKIAog
ICAgICAgICBtb2NrX3NjbSA9IE1vY2tTQ00oKQogICAgICAgICBtb2NrX3NjbS5ydW4gPSBtb2Nr
X3J1bgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQv
ZGVwcy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2RlcHMucHkK
aW5kZXggNmI4N2ZmMWNmZjlhMmQwYzJlZDNlOGZmNWQyMmJjNTM1Njk5ZDVhMy4uMmYzYTg3MzFl
MjBlMTRiMDBjYWVkN2I0MjU5ZWNkZWQ0YzgzNGI4ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvZGVwcy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9jaGVja291dC9kZXBzLnB5CkBAIC0zMCw3ICszMCw2IEBACiAKIGltcG9y
dCBjb2RlY3MKIGltcG9ydCBmaWxlaW5wdXQKLWltcG9ydCBvcy5wYXRoCiBpbXBvcnQgcmUKIGlt
cG9ydCB0ZXh0d3JhcAogCkBAIC00MCw2ICszOSw3IEBAIGNsYXNzIERFUFMob2JqZWN0KToKICAg
ICBfdmFyaWFibGVfcmVnZXhwID0gciJccysnJXMnOlxzKycoP1A8dmFsdWU+XGQrKSciCiAKICAg
ICBkZWYgX19pbml0X18oc2VsZiwgcGF0aCk6CisgICAgICAgICMgRklYTUU6IFRoaXMgc2hvdWxk
IHRha2UgYSBGaWxlU3lzdGVtIG9iamVjdC4KICAgICAgICAgc2VsZi5fcGF0aCA9IHBhdGgKIAog
ICAgIGRlZiByZWFkX3ZhcmlhYmxlKHNlbGYsIG5hbWUpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL19faW5pdF9fLnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL19faW5pdF9fLnB5CmluZGV4IGNlNDA3
YmU4MzQyOTcyMmM0MTFlOTVlNTE2OTdjNjQxMTQ2YTZmZmEuLmY2OTFmNThlMTdiMmQyZDU5OGYz
NDBjNGIyOTU0YzZkZTY0NDYxNzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NoZWNrb3V0L3NjbS9fX2luaXRfXy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jaGVja291dC9zY20vX19pbml0X18ucHkKQEAgLTIsNyArMiw3IEBACiAKICMg
V2Ugb25seSBleHBvcnQgcHVibGljIEFQSSBoZXJlLgogZnJvbSAuY29tbWl0bWVzc2FnZSBpbXBv
cnQgQ29tbWl0TWVzc2FnZQotZnJvbSAuZGV0ZWN0aW9uIGltcG9ydCBmaW5kX2NoZWNrb3V0X3Jv
b3QsIGRlZmF1bHRfc2NtLCBkZXRlY3Rfc2NtX3N5c3RlbQorZnJvbSAuZGV0ZWN0aW9uIGltcG9y
dCBTQ01EZXRlY3RvcgogZnJvbSAuZ2l0IGltcG9ydCBHaXQsIEFtYmlndW91c0NvbW1pdEVycm9y
CiBmcm9tIC5zY20gaW1wb3J0IFNDTSwgQXV0aGVudGljYXRpb25FcnJvciwgQ2hlY2tvdXROZWVk
c1VwZGF0ZQogZnJvbSAuc3ZuIGltcG9ydCBTVk4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9kZXRlY3Rpb24ucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vZGV0ZWN0aW9uLnB5CmluZGV4IDJiM2YxNjE2
Mjc3OTA5MTFmZWFhN2NjMTg2YzUwNjUwODJiMmIwZWQuLjk5MWZiYzkxYTI3YzkzN2YxYjU3YTI3
ZTk1MTE1YTdjMzk4YWI1MWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NoZWNrb3V0L3NjbS9kZXRlY3Rpb24ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vY2hlY2tvdXQvc2NtL2RldGVjdGlvbi5weQpAQCAtMjcsNTggKzI3LDU2IEBACiAj
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCi1pbXBvcnQgb3MKK2Zyb20gd2Via2l0cHku
Y29tbW9uLnN5c3RlbS5maWxlc3lzdGVtIGltcG9ydCBGaWxlU3lzdGVtCitmcm9tIHdlYmtpdHB5
LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVjdXRpdmUKIAotZnJvbSB3ZWJraXRw
eS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9nZ2luZyBpbXBvcnQgZXJyb3IsIGxvZworZnJv
bSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9nZ2luZyBpbXBvcnQgbG9nCiAK
IGZyb20gLnN2biBpbXBvcnQgU1ZOCiBmcm9tIC5naXQgaW1wb3J0IEdpdAogCiAKLWRlZiBmaW5k
X2NoZWNrb3V0X3Jvb3QoKToKLSAgICAiIiJSZXR1cm5zIHRoZSBjdXJyZW50IGNoZWNrb3V0IHJv
b3QgKGFzIGRldGVybWluZWQgYnkgZGVmYXVsdF9zY20oKS4KK2NsYXNzIFNDTURldGVjdG9yKG9i
amVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVzeXN0ZW0sIGV4ZWN1dGl2ZSk6Cisg
ICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0gPSBmaWxlc3lzdGVtCisgICAgICAgIHNlbGYuX2V4ZWN1
dGl2ZSA9IGV4ZWN1dGl2ZQogCi0gICAgUmV0dXJucyB0aGUgYWJzb2x1dGUgcGF0aCB0byB0aGUg
dG9wIG9mIHRoZSBXZWJLaXQgY2hlY2tvdXQsIG9yIE5vbmUKLSAgICBpZiBpdCBjYW5ub3QgYmUg
ZGV0ZXJtaW5lZC4KKyAgICBkZWYgZGVmYXVsdF9zY20oc2VsZiwgcGF0Y2hfZGlyZWN0b3JpZXM9
Tm9uZSk6CisgICAgICAgICIiIlJldHVybiB0aGUgZGVmYXVsdCBTQ00gb2JqZWN0IGFzIGRldGVy
bWluZWQgYnkgdGhlIENXRCBhbmQgcnVubmluZyBjb2RlLgogCi0gICAgIiIiCi0gICAgc2NtX3N5
c3RlbSA9IGRlZmF1bHRfc2NtKCkKLSAgICBpZiBzY21fc3lzdGVtOgotICAgICAgICByZXR1cm4g
c2NtX3N5c3RlbS5jaGVja291dF9yb290Ci0gICAgcmV0dXJuIE5vbmUKKyAgICAgICAgUmV0dXJu
cyB0aGUgZGVmYXVsdCBTQ00gb2JqZWN0IGZvciB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9y
eTsgaWYgdGhlCisgICAgICAgIENXRCBpcyBub3QgaW4gYSBjaGVja291dCwgdGhlbiB3ZSBhdHRl
bXB0IHRvIGZpZ3VyZSBvdXQgaWYgdGhlIFNDTSBtb2R1bGUKKyAgICAgICAgaXRzZWxmIGlzIHBh
cnQgb2YgYSBjaGVja291dCwgYW5kIHJldHVybiB0aGF0IG9uZS4gSWYgbmVpdGhlciBpcyBwYXJ0
IG9mCisgICAgICAgIGEgY2hlY2tvdXQsIE5vbmUgaXMgcmV0dXJuZWQuCiAKKyAgICAgICAgIiIi
CisgICAgICAgIGN3ZCA9IHNlbGYuX2ZpbGVzeXN0ZW0uZ2V0Y3dkKCkKKyAgICAgICAgc2NtX3N5
c3RlbSA9IHNlbGYuZGV0ZWN0X3NjbV9zeXN0ZW0oY3dkLCBwYXRjaF9kaXJlY3RvcmllcykKKyAg
ICAgICAgaWYgbm90IHNjbV9zeXN0ZW06CisgICAgICAgICAgICBzY3JpcHRfZGlyZWN0b3J5ID0g
c2VsZi5fZmlsZXN5c3RlbS5kaXJuYW1lKHNlbGYuX2ZpbGVzeXN0ZW0ucGF0aF90b19tb2R1bGUo
c2VsZi5fX21vZHVsZV9fKSkKKyAgICAgICAgICAgIHNjbV9zeXN0ZW0gPSBzZWxmLmRldGVjdF9z
Y21fc3lzdGVtKHNjcmlwdF9kaXJlY3RvcnksIHBhdGNoX2RpcmVjdG9yaWVzKQorICAgICAgICAg
ICAgaWYgc2NtX3N5c3RlbToKKyAgICAgICAgICAgICAgICBsb2coIlRoZSBjdXJyZW50IGRpcmVj
dG9yeSAoJXMpIGlzIG5vdCBhIFdlYktpdCBjaGVja291dCwgdXNpbmcgJXMiICUgKGN3ZCwgc2Nt
X3N5c3RlbS5jaGVja291dF9yb290KSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAg
ICAgcmFpc2UgRXhjZXB0aW9uKCJGQVRBTDogRmFpbGVkIHRvIGRldGVybWluZSB0aGUgU0NNIHN5
c3RlbSBmb3IgZWl0aGVyICVzIG9yICVzIiAlIChjd2QsIHNjcmlwdF9kaXJlY3RvcnkpKQorICAg
ICAgICByZXR1cm4gc2NtX3N5c3RlbQogCi1kZWYgZGVmYXVsdF9zY20ocGF0Y2hfZGlyZWN0b3Jp
ZXM9Tm9uZSk6Ci0gICAgIiIiUmV0dXJuIHRoZSBkZWZhdWx0IFNDTSBvYmplY3QgYXMgZGV0ZXJt
aW5lZCBieSB0aGUgQ1dEIGFuZCBydW5uaW5nIGNvZGUuCisgICAgZGVmIGRldGVjdF9zY21fc3lz
dGVtKHNlbGYsIHBhdGgsIHBhdGNoX2RpcmVjdG9yaWVzPU5vbmUpOgorICAgICAgICBhYnNvbHV0
ZV9wYXRoID0gc2VsZi5fZmlsZXN5c3RlbS5hYnNwYXRoKHBhdGgpCiAKLSAgICBSZXR1cm5zIHRo
ZSBkZWZhdWx0IFNDTSBvYmplY3QgZm9yIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5OyBp
ZiB0aGUKLSAgICBDV0QgaXMgbm90IGluIGEgY2hlY2tvdXQsIHRoZW4gd2UgYXR0ZW1wdCB0byBm
aWd1cmUgb3V0IGlmIHRoZSBTQ00gbW9kdWxlCi0gICAgaXRzZWxmIGlzIHBhcnQgb2YgYSBjaGVj
a291dCwgYW5kIHJldHVybiB0aGF0IG9uZS4gSWYgbmVpdGhlciBpcyBwYXJ0IG9mCi0gICAgYSBj
aGVja291dCwgTm9uZSBpcyByZXR1cm5lZC4KKyAgICAgICAgaWYgcGF0Y2hfZGlyZWN0b3JpZXMg
PT0gW106CisgICAgICAgICAgICBwYXRjaF9kaXJlY3RvcmllcyA9IE5vbmUKIAotICAgICIiIgot
ICAgIGN3ZCA9IG9zLmdldGN3ZCgpCi0gICAgc2NtX3N5c3RlbSA9IGRldGVjdF9zY21fc3lzdGVt
KGN3ZCwgcGF0Y2hfZGlyZWN0b3JpZXMpCi0gICAgaWYgbm90IHNjbV9zeXN0ZW06Ci0gICAgICAg
IHNjcmlwdF9kaXJlY3RvcnkgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmls
ZV9fKSkKLSAgICAgICAgc2NtX3N5c3RlbSA9IGRldGVjdF9zY21fc3lzdGVtKHNjcmlwdF9kaXJl
Y3RvcnksIHBhdGNoX2RpcmVjdG9yaWVzKQotICAgICAgICBpZiBzY21fc3lzdGVtOgotICAgICAg
ICAgICAgbG9nKCJUaGUgY3VycmVudCBkaXJlY3RvcnkgKCVzKSBpcyBub3QgYSBXZWJLaXQgY2hl
Y2tvdXQsIHVzaW5nICVzIiAlIChjd2QsIHNjbV9zeXN0ZW0uY2hlY2tvdXRfcm9vdCkpCi0gICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICBlcnJvcigiRkFUQUw6IEZhaWxlZCB0byBkZXRlcm1pbmUg
dGhlIFNDTSBzeXN0ZW0gZm9yIGVpdGhlciAlcyBvciAlcyIgJSAoY3dkLCBzY3JpcHRfZGlyZWN0
b3J5KSkKLSAgICByZXR1cm4gc2NtX3N5c3RlbQorICAgICAgICBpZiBTVk4uaW5fd29ya2luZ19k
aXJlY3RvcnkoYWJzb2x1dGVfcGF0aCk6CisgICAgICAgICAgICByZXR1cm4gU1ZOKGN3ZD1hYnNv
bHV0ZV9wYXRoLCBwYXRjaF9kaXJlY3Rvcmllcz1wYXRjaF9kaXJlY3RvcmllcywgZmlsZXN5c3Rl
bT1zZWxmLl9maWxlc3lzdGVtLCBleGVjdXRpdmU9c2VsZi5fZXhlY3V0aXZlKQogCisgICAgICAg
IGlmIEdpdC5pbl93b3JraW5nX2RpcmVjdG9yeShhYnNvbHV0ZV9wYXRoKToKKyAgICAgICAgICAg
IHJldHVybiBHaXQoY3dkPWFic29sdXRlX3BhdGgsIGZpbGVzeXN0ZW09c2VsZi5fZmlsZXN5c3Rl
bSwgZXhlY3V0aXZlPXNlbGYuX2V4ZWN1dGl2ZSkKIAotZGVmIGRldGVjdF9zY21fc3lzdGVtKHBh
dGgsIHBhdGNoX2RpcmVjdG9yaWVzPU5vbmUpOgotICAgIGFic29sdXRlX3BhdGggPSBvcy5wYXRo
LmFic3BhdGgocGF0aCkKLQotICAgIGlmIHBhdGNoX2RpcmVjdG9yaWVzID09IFtdOgotICAgICAg
ICBwYXRjaF9kaXJlY3RvcmllcyA9IE5vbmUKKyAgICAgICAgcmV0dXJuIE5vbmUKIAotICAgIGlm
IFNWTi5pbl93b3JraW5nX2RpcmVjdG9yeShhYnNvbHV0ZV9wYXRoKToKLSAgICAgICAgcmV0dXJu
IFNWTihjd2Q9YWJzb2x1dGVfcGF0aCwgcGF0Y2hfZGlyZWN0b3JpZXM9cGF0Y2hfZGlyZWN0b3Jp
ZXMpCiAKLSAgICBpZiBHaXQuaW5fd29ya2luZ19kaXJlY3RvcnkoYWJzb2x1dGVfcGF0aCk6Ci0g
ICAgICAgIHJldHVybiBHaXQoY3dkPWFic29sdXRlX3BhdGgpCisjIEZJWE1FOiBUaGVzZSBmcmVl
IGZ1bmN0aW9ucyBhcmUgYWxsIGRlcHJlY2F0ZWQ6CiAKLSAgICByZXR1cm4gTm9uZQorZGVmIGRl
dGVjdF9zY21fc3lzdGVtKHBhdGgsIHBhdGNoX2RpcmVjdG9yaWVzPU5vbmUpOgorICAgIHJldHVy
biBTQ01EZXRlY3RvcihGaWxlU3lzdGVtKCksIEV4ZWN1dGl2ZSgpKS5kZXRlY3Rfc2NtX3N5c3Rl
bShwYXRoLCBwYXRjaF9kaXJlY3RvcmllcykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9naXQucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jaGVja291dC9zY20vZ2l0LnB5CmluZGV4IDkzNGE1YzYxMjA5ZDlhYzU2OTg4ZDlh
MzI3MWY0YWJhNWE2OTZmZWEuLmQ0ODU1NzRlMDk4MWJhMjkzZmQ1NDI1YTg4MzczOWNiNDc1NWRm
ZDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3Nj
bS9naXQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2Nt
L2dpdC5weQpAQCAtNjIsOCArNjIsOCBAQCBjbGFzcyBHaXQoU0NNLCBTVk5SZXBvc2l0b3J5KToK
ICAgICAjIDEgb3IgMTI4LCBtb3N0bHkuCiAgICAgRVJST1JfRklMRV9JU19NSVNTSU5HID0gMTI4
CiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgY3dkLCBleGVjdXRpdmU9Tm9uZSk6Ci0gICAgICAg
IFNDTS5fX2luaXRfXyhzZWxmLCBjd2QsIGV4ZWN1dGl2ZSkKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgY3dkLCAqKmt3YXJncyk6CisgICAgICAgIFNDTS5fX2luaXRfXyhzZWxmLCBjd2QsICoqa3dh
cmdzKQogICAgICAgICBzZWxmLl9jaGVja19naXRfYXJjaGl0ZWN0dXJlKCkKIAogICAgIGRlZiBf
bWFjaGluZV9pc182NGJpdChzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zY21fdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc2NtX3VuaXR0ZXN0LnB5CmluZGV4IGViMGFiNTY1
NzAzNThhNDIyNDkwNjgyZjU1Y2RkM2ZlYzc4YTA1YTYuLmY5MGFiYzM4YzMxZjE4NzBlOTY0NWU1
ODI1ZTVmY2E3Y2NhMmE0NjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NoZWNrb3V0L3NjbS9zY21fdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3NjbV91bml0dGVzdC5weQpAQCAtMjMzLDYgKzIzMyw3
IEBAIGNsYXNzIFNWTlRlc3RSZXBvc2l0b3J5OgogICAgICAgICBvcy5jaGRpcihkZXRlY3Rfc2Nt
X3N5c3RlbShwYXRoKS5jaGVja291dF9yb290KQogCiAKKyMgRklYTUU6IFRoaXMgc2hvdWxkIG1v
dmUgdG8gdGVzdGluZyBTQ01EZXRlY3RvciBpbnN0ZWFkLgogY2xhc3MgU3RhbmRhbG9uZUZ1bmN0
aW9uc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICIiIlRoaXMgY2xhc3MgdGVzdHMgYW55
IHN0YW5kYWxvbmUvdG9wLWxldmVsIGZ1bmN0aW9ucyBpbiB0aGUgcGFja2FnZS4iIiIKICAgICBk
ZWYgc2V0VXAoc2VsZik6CkBAIC0yODMsNiArMjg0LDcgQEAgY2xhc3MgU3RhbmRhbG9uZUZ1bmN0
aW9uc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhT
eXN0ZW1FeGl0LCBkZWZhdWx0X3NjbSkKICAgICAgICAgb3MucGF0aC5hYnNwYXRoID0gc2VsZi5v
cmlnX2Fic3BhdGgKIAorCiAjIEZvciB0ZXN0aW5nIHRoZSBTQ00gYmFzZWNsYXNzIGRpcmVjdGx5
LgogY2xhc3MgU0NNQ2xhc3NUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVw
KHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tv
dXQvc2NtL3N2bi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3Nj
bS9zdm4ucHkKaW5kZXggNmNkYjZmN2NlOGMzYjBmY2I5ZWI0ZmYxYjE1NGU3ODkyN2RhNDE5Ny4u
NTU4NzNjM2VkZTk1MGM4ZGQ5ZWQ3NWQ0ZTRhOWMzZjRhNzNhMDIxOCAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3N2bi5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc3ZuLnB5CkBAIC03MiwxNCAr
NzIsMTQgQEAgY2xhc3MgU1ZOKFNDTSwgU1ZOUmVwb3NpdG9yeSk6CiAKICAgICBfc3ZuX21ldGFk
YXRhX2ZpbGVzID0gZnJvemVuc2V0KFsnLnN2bicsICdfc3ZuJ10pCiAKLSAgICBkZWYgX19pbml0
X18oc2VsZiwgY3dkLCBwYXRjaF9kaXJlY3RvcmllcywgZXhlY3V0aXZlPU5vbmUpOgotICAgICAg
ICBTQ00uX19pbml0X18oc2VsZiwgY3dkLCBleGVjdXRpdmUpCisgICAgZGVmIF9faW5pdF9fKHNl
bGYsIGN3ZCwgcGF0Y2hfZGlyZWN0b3JpZXMsICoqa3dhcmdzKToKKyAgICAgICAgU0NNLl9faW5p
dF9fKHNlbGYsIGN3ZCwgKiprd2FyZ3MpCiAgICAgICAgIHNlbGYuX2JvZ3VzX2RpciA9IE5vbmUK
ICAgICAgICAgaWYgcGF0Y2hfZGlyZWN0b3JpZXMgPT0gW106CiAgICAgICAgICAgICAjIEZJWE1F
OiBTY3JpcHRFcnJvciBpcyBmb3IgRXhlY3V0aXZlLCB0aGlzIHNob3VsZCBwcm9iYWJseSBiZSBh
IG5vcm1hbCBFeGNlcHRpb24uCiAgICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcihzY3JpcHRf
YXJncz1zdm5faW5mb19hcmdzLCBtZXNzYWdlPSdFbXB0eSBsaXN0IG9mIHBhdGNoIGRpcmVjdG9y
aWVzIHBhc3NlZCB0byBTQ00uX19pbml0X18nKQogICAgICAgICBlbGlmIHBhdGNoX2RpcmVjdG9y
aWVzID09IE5vbmU6Ci0gICAgICAgICAgICBzZWxmLl9wYXRjaF9kaXJlY3RvcmllcyA9IFtvc3Bh
dGgucmVscGF0aChjd2QsIHNlbGYuY2hlY2tvdXRfcm9vdCldCisgICAgICAgICAgICBzZWxmLl9w
YXRjaF9kaXJlY3RvcmllcyA9IFtzZWxmLl9maWxlc3lzdGVtLnJlbHBhdGgoY3dkLCBzZWxmLmNo
ZWNrb3V0X3Jvb3QpXQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5fcGF0Y2hfZGly
ZWN0b3JpZXMgPSBwYXRjaF9kaXJlY3RvcmllcwogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9ob3N0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
aG9zdC5weQppbmRleCBjYWRhNGY5ZmEyNzkyODlkNmFmNTljMzExYjYyNzM1ZWZkYWE1NTJiLi5h
Y2EyM2U4ODc3NGM4ZTI2ODhmMWM2ZWYyZmNlY2ExZmY0ZGZhN2UwIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9ob3N0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL2hvc3QucHkKQEAgLTI5LDcgKzI5LDcgQEAKIAogCiBmcm9tIHdlYmtpdHB5
LmNvbW1vbi5jaGVja291dCBpbXBvcnQgQ2hlY2tvdXQKLWZyb20gd2Via2l0cHkuY29tbW9uLmNo
ZWNrb3V0LnNjbSBpbXBvcnQgZGVmYXVsdF9zY20KK2Zyb20gd2Via2l0cHkuY29tbW9uLmNoZWNr
b3V0LnNjbS5kZXRlY3Rpb24gaW1wb3J0IFNDTURldGVjdG9yCiBmcm9tIHdlYmtpdHB5LmNvbW1v
bi5tZW1vaXplZCBpbXBvcnQgbWVtb2l6ZWQKIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldCBpbXBv
cnQgYnVnemlsbGEsIGJ1aWxkYm90LCB3ZWIKIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5idWls
ZGJvdC5jaHJvbWl1bWJ1aWxkYm90IGltcG9ydCBDaHJvbWl1bUJ1aWxkQm90CkBAIC02NCw3ICs2
NCw4IEBAIGNsYXNzIEhvc3Qob2JqZWN0KToKICAgICAgICAgc2VsZi5wb3J0X2ZhY3RvcnkgPSBQ
b3J0RmFjdG9yeShzZWxmKQogCiAgICAgZGVmIF9pbml0aWFsaXplX3NjbShzZWxmLCBwYXRjaF9k
aXJlY3Rvcmllcz1Ob25lKToKLSAgICAgICAgc2VsZi5fc2NtID0gZGVmYXVsdF9zY20ocGF0Y2hf
ZGlyZWN0b3JpZXMpCisgICAgICAgIGRldGVjdG9yID0gU0NNRGV0ZWN0b3Ioc2VsZi5maWxlc3lz
dGVtLCBzZWxmLmV4ZWN1dGl2ZSkKKyAgICAgICAgc2VsZi5fc2NtID0gZGV0ZWN0b3IuZGVmYXVs
dF9zY20ocGF0Y2hfZGlyZWN0b3JpZXMpCiAgICAgICAgIHNlbGYuX2NoZWNrb3V0ID0gQ2hlY2tv
dXQoc2VsZi5zY20oKSkKIAogICAgIGRlZiBzY20oc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9ob3N0X21vY2sucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9ob3N0X21vY2sucHkKaW5kZXggZDM1NDVjYmNiZTMzMTVkYjhmOTliZGEzZDk3
NGJkOTkwMjI1ODU5Ni4uYzIyOTk5ZjIzMzllODE0ZjE0ZmRjNjdjN2NhYzg2YWNmOGMxMTRhYyAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vaG9zdF9tb2NrLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2hvc3RfbW9jay5weQpAQCAtNjYsNiAr
NjYsOSBAQCBjbGFzcyBNb2NrSG9zdChvYmplY3QpOgogCiAgICAgICAgIHNlbGYuX3dhdGNoX2xp
c3QgPSBNb2NrV2F0Y2hMaXN0KCkKIAorICAgIGRlZiBfaW5pdGlhbGl6ZV9zY20oc2VsZiwgcGF0
Y2hfZGlyZWN0b3JpZXM9Tm9uZSk6CisgICAgICAgIHBhc3MKKwogICAgIGRlZiBzY20oc2VsZik6
CiAgICAgICAgIHJldHVybiBzZWxmLl9zY20KIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKaW5kZXggZDM5
MTIyNDYxZmU1NDk5ODU2YTA0YzA0NTU0NGUwODBmMGQxM2FjNS4uYmE5MzZhN2YxNTg5Y2NhNTcx
OTE2Nzc2ODdjZmI4MTMzMmE0OGFmOSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CkBAIC00Niw3ICs0
Niw2IEBAIGltcG9ydCByZQogaW1wb3J0IHN5cwogaW1wb3J0IHRpbWUKIAotZnJvbSB3ZWJraXRw
eS5jb21tb24uY2hlY2tvdXQuc2NtIGltcG9ydCBkZWZhdWx0X3NjbQogZnJvbSB3ZWJraXRweS5s
YXlvdXRfdGVzdHMuY29udHJvbGxlcnMgaW1wb3J0IG1hbmFnZXJfd29ya2VyX2Jyb2tlcgogZnJv
bSB3ZWJraXRweS5sYXlvdXRfdGVzdHMuY29udHJvbGxlcnMgaW1wb3J0IHdvcmtlcgogZnJvbSB3
ZWJraXRweS5sYXlvdXRfdGVzdHMubGF5b3V0X3BhY2thZ2UgaW1wb3J0IGpzb25fbGF5b3V0X3Jl
c3VsdHNfZ2VuZXJhdG9yCkBAIC0yMTYsMTQgKzIxNSw5IEBAIGRlZiBzdW1tYXJpemVfcmVzdWx0
cyhwb3J0X29iaiwgZXhwZWN0YXRpb25zLCByZXN1bHRfc3VtbWFyeSwgcmV0cnlfc3VtbWFyeSwg
dGVzCiAgICAgcmVzdWx0c1snaGFzX3dkaWZmJ10gPSBwb3J0X29iai53ZGlmZl9hdmFpbGFibGUo
KQogICAgIHJlc3VsdHNbJ2hhc19wcmV0dHlfcGF0Y2gnXSA9IHBvcnRfb2JqLnByZXR0eV9wYXRj
aF9hdmFpbGFibGUoKQogICAgIHRyeToKLSAgICAgICAgcmVzdWx0c1sncmV2aXNpb24nXSA9IGRl
ZmF1bHRfc2NtKCkuaGVhZF9zdm5fcmV2aXNpb24oKQorICAgICAgICByZXN1bHRzWydyZXZpc2lv
biddID0gcG9ydF9vYmouaG9zdC5zY20oKS5oZWFkX3N2bl9yZXZpc2lvbigpCiAgICAgZXhjZXB0
IEV4Y2VwdGlvbiwgZToKLSAgICAgICAgIyBGSVhNRTogV2Ugd291bGQgbGlrZSB0byB3YXJuIGhl
cmUsIGJ1dCB0aGF0IHdvdWxkIGNhdXNlIGFsbCBwYXNzaW5nX3J1biBpbnRlZ3JhdGlvbiB0ZXN0
cwotICAgICAgICAjIHRvIGZhaWwsIHNpbmNlIHRoZXkgYXNzZXJ0IHRoYXQgd2UgaGF2ZSBubyBs
b2dnaW5nIG91dHB1dC4KLSAgICAgICAgIyBUaGUgcmV2aXNpb24gbG9va3VwIGFsd2F5cyBmYWls
cyB3aGVuIHJ1bm5pbmcgdGhlIHRlc3RzIHNpbmNlIGl0IHRyaWVzIHRvIHJlYWQgZnJvbQotICAg
ICAgICAjICIvbW9jay1jaGVja291dCIgdXNpbmcgdGhlIHJlYWwgZmlsZSBzeXN0ZW0gKHNpbmNl
IHRoZXJlIGlzIG5vIHdheSB0byBtb2NrIG91dCBkZXRlY3Rfc2NtX3N5c3RlbSBhdCBjdXJyZW50
KS4KLSAgICAgICAgIyBPbmNlIHdlIGZpeCBkZXRlY3Rfc2NtX3N5c3RlbSB0byB1c2UgdGhlIG1v
Y2sgZmlsZSBzeXN0ZW0gd2UgY2FuIGFkZCB0aGlzIGxvZyBiYWNrLgotICAgICAgICAjX2xvZy53
YXJuKCJGYWlsZWQgdG8gZGV0ZXJtaW5lIHN2biByZXZpc2lvbiBmb3IgY2hlY2tvdXQgKGN3ZDog
JXMsIHdlYmtpdF9iYXNlOiAlcyksIGxlYXZpbmcgJ3JldmlzaW9uJyBrZXkgYmxhbmsgaW4gZnVs
bF9yZXN1bHRzLmpzb24uXG4lcyIgJSAocG9ydF9vYmouX2ZpbGVzeXN0ZW0uZ2V0Y3dkKCksIHBv
cnRfb2JqLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgpLCBlKSkKKyAgICAgICAgX2xvZy53YXJuKCJG
YWlsZWQgdG8gZGV0ZXJtaW5lIHN2biByZXZpc2lvbiBmb3IgY2hlY2tvdXQgKGN3ZDogJXMsIHdl
YmtpdF9iYXNlOiAlcyksIGxlYXZpbmcgJ3JldmlzaW9uJyBrZXkgYmxhbmsgaW4gZnVsbF9yZXN1
bHRzLmpzb24uXG4lcyIgJSAocG9ydF9vYmouX2ZpbGVzeXN0ZW0uZ2V0Y3dkKCksIHBvcnRfb2Jq
LnBhdGhfZnJvbV93ZWJraXRfYmFzZSgpLCBlKSkKICAgICAgICAgIyBIYW5kbGUgY2FzZXMgd2hl
cmUgd2UncmUgcnVubmluZyBvdXRzaWRlIG9mIHZlcnNpb24gY29udHJvbC4KICAgICAgICAgaW1w
b3J0IHRyYWNlYmFjawogICAgICAgICBfbG9nLmRlYnVnKCdGYWlsZWQgdG8gbGVhcm4gaGVhZCBz
dm4gcmV2aXNpb246JykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlci5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tl
ci5weQppbmRleCAxZTNhOWEzMDFmM2ZjZDgyNmVmYzlkNmZiNzA2NmZmZTQ5N2FjMzRhLi5kNWQw
ODlhMDEyYzhkN2VmYWIwYTdjOTA3ZmU5MzljZGFiYjMwMDVlIDEwMDc1NQotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9i
cm9rZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJv
bGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5CkBAIC0yNTUsNiArMjU1LDcgQEAgaWYgbXVs
dGlwcm9jZXNzaW5nOgogICAgICAgICAgICAgIyBGSVhNRTogVGhpcyBzaG91bGQgZ2V0IHRoZSBI
b3N0IGZyb20gdGhlIG93bmVyIG9mIHRoaXMgb2JqZWN0CiAgICAgICAgICAgICAjIHNvIHRoaXMg
ZnVuY3Rpb24gY2FuIGJlIHByb3Blcmx5IG1vY2tlZCEKICAgICAgICAgICAgIGhvc3QgPSBIb3N0
KCkKKyAgICAgICAgICAgIGhvc3QuX2luaXRpYWxpemVfc2NtKCkKICAgICAgICAgICAgIHBvcnRf
b2JqID0gaG9zdC5wb3J0X2ZhY3RvcnkuZ2V0KHNlbGYuX3BsYXRmb3JtX25hbWUsIG9wdGlvbnMp
CiAKICAgICAgICAgICAgICMgVGhlIHVuaXggbXVsdGlwcm9jZXNzaW5nIGltcGxlbWVudGF0aW9u
IGNsb25lcyB0aGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvYmFzZS5weQppbmRleCBlNzQ0Y2QwYTFjMmEzMjhmNWNmZDIwNjE5YzU4MjMwOGI4YjZjNjEy
Li5lYmQxNzBlOWIwYjk2MDk5NTM3YjhiMmY5MWE0M2FiMzYyYjRiMDIzIDEwMDc1NQotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CkBAIC0zNyw3ICsz
Nyw2IEBAIGltcG9ydCBkaWZmbGliCiBpbXBvcnQgZXJybm8KIGltcG9ydCBvcwogCi1mcm9tIHdl
YmtpdHB5LmNvbW1vbi5jaGVja291dC5zY20gaW1wb3J0IGRldGVjdF9zY21fc3lzdGVtCiBmcm9t
IHdlYmtpdHB5LmNvbW1vbi5tZW1vaXplZCBpbXBvcnQgbWVtb2l6ZWQKIAogCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21vY2tfZHJ0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tb2NrX2RydC5weQppbmRl
eCA5YmZmODE1YWEyNTkzNDMxM2E1ZjVjNDBhYWUwNDY3YThlZjIyZmYzLi4xYmE1YTZkOTQ2ZTg5
OTEzN2QzN2FmYWU0YTZlN2FlYzM0YzMzZGY5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21vY2tfZHJ0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbW9ja19kcnQucHkKQEAgLTI3OSw0ICsyNzksNSBA
QCBjbGFzcyBNb2NrQ2hyb21pdW1EUlQoTW9ja0RSVCk6CiBpZiBfX25hbWVfXyA9PSAnX19tYWlu
X18nOgogICAgICMgRklYTUU6IFdoeSBpcyB0aGlzIHVzaW5nIGEgcmVhbCBIb3N0IG9iamVjdCBp
bnN0ZWFkIG9mIE1vY2tIb3N0PwogICAgIGhvc3QgPSBIb3N0KCkKKyAgICBob3N0Ll9pbml0aWFs
aXplX3NjbSgpCiAgICAgc3lzLmV4aXQobWFpbihzeXMuYXJndlsxOl0sIGhvc3QsIHN5cy5zdGRp
biwgc3lzLnN0ZG91dCwgc3lzLnN0ZGVycikpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQppbmRleCA2ZDYyN2I2NDhi
N2EyZDJmYTFkZmNhMzlhNGRjMjlmN2VlYWUwOGQwLi4wYzIzMDUyNGZlNGZlZWNhYjlkYmZkZjI2
ZmU2NmE0YzFmMzE2YjAwIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKQEAgLTQzMCw2ICs0MzAsNyBAQCBkZWYg
cGFyc2VfYXJncyhhcmdzPU5vbmUpOgogZGVmIG1haW4oKToKICAgICBvcHRpb25zLCBhcmdzID0g
cGFyc2VfYXJncygpCiAgICAgaG9zdCA9IEhvc3QoKQorICAgIGhvc3QuX2luaXRpYWxpemVfc2Nt
KCkKICAgICBwb3J0ID0gaG9zdC5wb3J0X2ZhY3RvcnkuZ2V0KG9wdGlvbnMucGxhdGZvcm0sIG9w
dGlvbnMpCiAgICAgcmV0dXJuIHJ1bihwb3J0LCBvcHRpb25zLCBhcmdzKQogCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3RvX2JlX21vdmVkL3JlYmFzZWxpbmVfY2hyb21pdW1f
d2Via2l0X3Rlc3RzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b19iZV9tb3ZlZC9yZWJh
c2VsaW5lX2Nocm9taXVtX3dlYmtpdF90ZXN0cy5weQppbmRleCA3OTdlNThmNmIwYTZlZDc2ZDE3
Mzg1YjBiMTE2MzIwMmJkN2UxOGE3Li4wZTc0NjRiMjdiMTc0ODRkOTQwODZkMzdhY2Q5MzMyNjg0
NzFkZDU5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3RvX2JlX21vdmVkL3Jl
YmFzZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9fYmVfbW92ZWQvcmViYXNlbGluZV9jaHJvbWl1bV93ZWJraXRfdGVzdHMucHkKQEAg
LTk0NCw2ICs5NDQsNyBAQCBkZWYgbWFpbihhcmdzKToKICAgICBsb2dnZXIuYWRkSGFuZGxlcihs
b2dfaGFuZGxlcikKIAogICAgIGhvc3QgPSBIb3N0KCkKKyAgICBob3N0Ll9pbml0aWFsaXplX3Nj
bSgpCiAgICAgdGFyZ2V0X3BvcnRfb2JqID0gaG9zdC5wb3J0X2ZhY3RvcnkuZ2V0KE5vbmUsIHRh
cmdldF9vcHRpb25zKQogICAgIGhvc3RfcG9ydF9vYmogPSBnZXRfaG9zdF9wb3J0X29iamVjdCho
b3N0LnBvcnRfZmFjdG9yeSwgb3B0aW9ucykKICAgICBpZiBub3QgaG9zdF9wb3J0X29iaiBvciBu
b3QgdGFyZ2V0X3BvcnRfb2JqOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL3NlcnZlcnMvcmViYXNlbGluZXNlcnZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9zZXJ2ZXJzL3JlYmFzZWxpbmVzZXJ2ZXIucHkKaW5kZXggYzNjZDgyYzIzZTE2ZjUwMzA2
Y2YzZThjYWYwMWU5MTQwZDliMDI1Ni4uMzljNWI5ZTU1MWRhMWVmMGVhOTA2ODFjNDk0Yzk1NTU5
YWM4YTM1YSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMv
cmViYXNlbGluZXNlcnZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2Vy
dmVycy9yZWJhc2VsaW5lc2VydmVyLnB5CkBAIC0xNjQsOSArMTY0LDggQEAgZGVmIF9tb3ZlX3Rl
c3RfYmFzZWxpbmVzKHRlc3RfZmlsZSwgZXh0ZW5zaW9uc190b19tb3ZlLCBzb3VyY2VfcGxhdGZv
cm0sIGRlc3RpbmEKIGRlZiBnZXRfdGVzdF9iYXNlbGluZXModGVzdF9maWxlLCB0ZXN0X2NvbmZp
Zyk6CiAgICAgIyBGSVhNRTogVGhpcyBzZWVtcyBsaWtlIGEgaGFjay4gVGhpcyBvbmx5IHNlZW1z
IHVzZWQgdG8gYWNjZXNzIHRoZSBQb3J0LmV4cGVjdGVkX2Jhc2VsaW5lcyBsb2dpYy4KICAgICBj
bGFzcyBBbGxQbGF0Zm9ybXNQb3J0KFdlYktpdFBvcnQpOgotICAgICAgICBkZWYgX19pbml0X18o
c2VsZik6Ci0gICAgICAgICAgICAjIEZJWE1FOiBUaGlzIHNob3VsZCBnZXQgdGhlIEhvc3QgZnJv
bSB0aGUgdGVzdF9jb25maWcgdG8gYmUgbW9ja2FibGUhCi0gICAgICAgICAgICBXZWJLaXRQb3J0
Ll9faW5pdF9fKHNlbGYsIEhvc3QoKSwgZmlsZXN5c3RlbT10ZXN0X2NvbmZpZy5maWxlc3lzdGVt
KQorICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCk6CisgICAgICAgICAgICBXZWJLaXRQ
b3J0Ll9faW5pdF9fKHNlbGYsIGhvc3QpCiAgICAgICAgICAgICBzZWxmLl9wbGF0Zm9ybXNfYnlf
ZGlyZWN0b3J5ID0gZGljdChbKHNlbGYuX3dlYmtpdF9iYXNlbGluZV9wYXRoKHApLCBwKSBmb3Ig
cCBpbiB0ZXN0X2NvbmZpZy5wbGF0Zm9ybXNdKQogCiAgICAgICAgIGRlZiBiYXNlbGluZV9zZWFy
Y2hfcGF0aChzZWxmKToKQEAgLTE3Nyw3ICsxNzYsMTEgQEAgZGVmIGdldF90ZXN0X2Jhc2VsaW5l
cyh0ZXN0X2ZpbGUsIHRlc3RfY29uZmlnKToKIAogICAgIHRlc3RfcGF0aCA9IHRlc3RfY29uZmln
LmZpbGVzeXN0ZW0uam9pbih0ZXN0X2NvbmZpZy5sYXlvdXRfdGVzdHNfZGlyZWN0b3J5LCB0ZXN0
X2ZpbGUpCiAKLSAgICBhbGxfcGxhdGZvcm1zX3BvcnQgPSBBbGxQbGF0Zm9ybXNQb3J0KCkKKyAg
ICAjIEZJWE1FOiBUaGlzIHNob3VsZCBnZXQgdGhlIEhvc3QgZnJvbSB0aGUgdGVzdF9jb25maWcg
dG8gYmUgbW9ja2FibGUhCisgICAgaG9zdCA9IEhvc3QoKQorICAgIGhvc3QuX2luaXRpYWxpemVf
c2NtKCkKKyAgICBob3N0LmZpbGVzeXN0ZW0gPSB0ZXN0X2NvbmZpZy5maWxlc3lzdGVtCisgICAg
YWxsX3BsYXRmb3Jtc19wb3J0ID0gQWxsUGxhdGZvcm1zUG9ydChob3N0KQogCiAgICAgYWxsX3Rl
c3RfYmFzZWxpbmVzID0ge30KICAgICBmb3IgYmFzZWxpbmVfZXh0ZW5zaW9uIGluICgnLnR4dCcs
ICcuY2hlY2tzdW0nLCAnLnBuZycpOgo=
</data>
<flag name="review"
          id="113665"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>