<?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>47909</bug_id>
          
          <creation_ts>2010-10-19 09:24:25 -0700</creation_ts>
          <short_desc>Make patch release explicit and not a magic part of &quot;retry&quot; status</short_desc>
          <delta_ts>2010-10-19 14:20:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>296227</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-19 09:24:25 -0700</bug_when>
    <thetext>Make patch release explicit and not a magic part of &quot;retry&quot; status</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296229</commentid>
    <comment_count>1</comment_count>
      <attachid>71177</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-19 09:28:06 -0700</bug_when>
    <thetext>Created attachment 71177
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296300</commentid>
    <comment_count>2</comment_count>
      <attachid>71177</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-19 11:25:08 -0700</bug_when>
    <thetext>Comment on attachment 71177
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=71177&amp;action=review

&gt; WebKitTools/Scripts/webkitpy/common/net/statusserver.py:116
&gt; +    def release_work_item(self, queue_name, patch):
&gt; +        _log.debug(&quot;Releasing work item %s from %s&quot; % (patch.id(), queue_name))
&gt; +        release_patch_url = &quot;%s/release-patch/%s&quot; % (self.url, queue_name)
&gt; +        self._browser.open(release_patch_url)
&gt; +        self._browser.select_form(name=&quot;release_patch&quot;)
&gt; +        self._browser[&quot;attachment_id&quot;] = patch.id()
&gt; +        self._browser.submit()

We need a network transaction for writing to appengine

&gt; WebKitTools/Scripts/webkitpy/tool/mocktool.py:551
&gt; +    def release_work_item(self, queue_name, patch):
&gt; +        pass

Should we log so we can test that this happens?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296360</commentid>
    <comment_count>3</comment_count>
      <attachid>71197</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-19 13:21:39 -0700</bug_when>
    <thetext>Created attachment 71197
Updated per Adam&apos;s suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296372</commentid>
    <comment_count>4</comment_count>
      <attachid>71197</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-19 13:39:15 -0700</bug_when>
    <thetext>Comment on attachment 71197
Updated per Adam&apos;s suggestions

View in context: https://bugs.webkit.org/attachment.cgi?id=71197&amp;action=review

&gt; WebKitTools/QueueStatusServer/handlers/nextpatch.py:39
&gt; +    # FIXME: This should probably be a post, or an explict lock_patch
&gt; +    # since GET requests shouldn&apos;t really modify the datastore.

Good point.

&gt; WebKitTools/QueueStatusServer/handlers/releasepatch.py:46
&gt; +        # FIXME: This queue lookup should be shared between handlers.
&gt; +        queue = Queue.queue_with_name(queue_name)
&gt; +        if not queue:
&gt; +            self.error(404)
&gt; +            return

Yeah, feels like a base class to me.

&gt; WebKitTools/QueueStatusServer/handlers/releasepatch.py:53
&gt; +        if not latest_status:
&gt; +            self.error(404)
&gt; +            return

When would this ever happen?

&gt; WebKitTools/QueueStatusServer/handlers/releasepatch.py:56
&gt; +        # Ideally we should use a transaction for the calls to
&gt; +        # WorkItems and ActiveWorkItems.

Yeah, I don&apos;t know if this will be a problem.  I guess we&apos;ll find out.  We could ask some AppEngine experts.  I suspect the concurrency model doesn&apos;t give you a total ordering between transactions.  I asked Mihai, but he didn&apos;t know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296373</commentid>
    <comment_count>5</comment_count>
      <attachid>71197</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-19 13:39:43 -0700</bug_when>
    <thetext>Comment on attachment 71197
Updated per Adam&apos;s suggestions

Actually, this requires a queue reboot, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296374</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-19 13:43:47 -0700</bug_when>
    <thetext>I mean, any queue change does.  If the queues don&apos;t reboot, nothing will really change except that retries will be delayed until the lock expires.  I&apos;ll land it manually and reboot my local queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296397</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-19 14:10:48 -0700</bug_when>
    <thetext>You should be able to reboot mine.  Look for a command window that&apos;s running the commit-queue.  The command I use is start-commit-queue.sh.  It should be in the bash history.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296401</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-19 14:20:20 -0700</bug_when>
    <thetext>Committed r70088: &lt;http://trac.webkit.org/changeset/70088&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71177</attachid>
            <date>2010-10-19 09:28:06 -0700</date>
            <delta_ts>2010-10-19 13:21:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47909-20101019092805.patch</filename>
            <type>text/plain</type>
            <size>13806</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBkMzk0MDU3OGRjMjIwNzc4MWNiM2UzMjJhNWNlYjA4OTMxMzI0ZDM2Li5mNDllMTRi
ODQ4Yjc0MWRjM2EyZjY5MGNmMWRkYzkxMzk4YWJhOWRkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAK
KzIwMTAtMTAtMTkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgcGF0Y2ggcmVsZWFzZSBl
eHBsaWNpdCBhbmQgbm90IGEgbWFnaWMgcGFydCBvZiAicmV0cnkiIHN0YXR1cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc5MDkKKworICAgICAgICBU
aGlzIG1vdmVzIHVzIGFub3RoZXIgc3RlcCBjbG9zZXIgdG8gcnVubmluZyByKyBwYXRjaGVzIG9u
IHRoZSBFV1MgYm90cy4KKyAgICAgICAgQ3VycmVudGx5IGFsbCBib3RzIGp1c3Qgc3BhbSAvdXBk
YXRlLXdvcmstaXRlbXMgd2l0aCB0aGVpciBsaXN0IG9mIGN1cnJlbnQKKyAgICAgICAgd29yayBp
dGVtcy4gIHF1ZXVlcy53ZWJraXQub3JnIHVzZXMgdGhhdCBkYXRhIGZvciBkaXNwbGF5LiAgQXMg
cGFydCBvZiBtYWtpbmcKKyAgICAgICAgdGhlIEVXUyBydW4gcisgcGF0Y2hlcywgd2UncmUgbW92
aW5nIHRoZSBvZmZpY2lhbCBsaXN0IG9mIHBhdGNoZXMtdG8tcHJvY2VzcworICAgICAgICBpbnRv
IHRoZSBzZXJ2ZXIsIGFuZCBmZWVkaW5nIHRoZW0gb3V0IHRvIGJvdHMgb25lIGF0IGEgdGltZS4g
IFdlIG5lZWQgdG8gYmUKKyAgICAgICAgYWJsZSB0byByZW1vdmUgcGF0Y2hlcyBmcm9tIHRoZSBx
dWV1ZXMgb25lIGF0IGEgdGltZSBpbnN0ZWFkIG9mIGp1c3Qgc3BhbW1pbmcKKyAgICAgICAgL3Vw
ZGF0ZS13b3JrLWl0ZW1zIHdpdGggYSBuZXcgY29tcGxldGUgbGlzdC4gIFRoYXQncyB3aGF0IHRo
aXMgcGF0Y2ggYWRkcy4KKworICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL25l
eHRwYXRjaC5weToKKyAgICAgICAgKiBRdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9xdWV1ZXN0
YXR1cy5weToKKyAgICAgICAgKiBRdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9yZWxlYXNlcGF0
Y2gucHk6IEFkZGVkLgorICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3N0YXR1
c2J1YmJsZV91bml0dGVzdC5weToKKyAgICAgICAgIC0gRml4IGEgdHlwbyBjYXVzaW5nIHRlc3Qg
ZmFpbHVyZS4gIFRoaXMgd2FzIG5vdCBjYXVnaHQgYnkgdGhlIGJvdHMKKyAgICAgICAgICAgYmVj
YXVzZSB0aGV5IGRvbid0IGhhdmUgQXBwRW5naW5lTGF1bmNoZXIgaW5zdGFsbGVkIGFuZCB0aHVz
IGRvbid0IHJ1bgorICAgICAgICAgICB0aGUgUXVldWVTdGF0dXNTZXJ2ZXIgdGVzdHMuCisgICAg
ICAgICogUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvdXBkYXRlc3RhdHVzLnB5OgorICAgICAg
ICAqIFF1ZXVlU3RhdHVzU2VydmVyL21vZGVsL2FjdGl2ZXdvcmtpdGVtcy5weToKKyAgICAgICAg
KiBRdWV1ZVN0YXR1c1NlcnZlci90ZW1wbGF0ZXMvcmVsZWFzZXBhdGNoLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9zdGF0dXNzZXJ2ZXIucHk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHk6CisKIDIwMTAtMTAtMTggIEVy
aWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0g
QmFydGguCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVy
cy9uZXh0cGF0Y2gucHkgYi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9u
ZXh0cGF0Y2gucHkKaW5kZXggMDU3MWQ3ZDA5YjBhNDg4NjBkYjBkOGQwNWFjZmQyYjkzNmY1YWM3
Mi4uNWY2ZDcxZGFkZmI4OWEyMGY1NTM5OGE5N2YzY2IyNmJjZWY3ZjkyNSAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvbmV4dHBhdGNoLnB5CisrKyBi
L1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL25leHRwYXRjaC5weQpAQCAt
MzUsNiArMzUsOCBAQCBmcm9tIG1vZGVsLnF1ZXVlcyBpbXBvcnQgUXVldWUKIAogCiBjbGFzcyBO
ZXh0UGF0Y2god2ViYXBwLlJlcXVlc3RIYW5kbGVyKToKKyAgICAjIEZJWE1FOiBUaGlzIHNob3Vs
ZCBwcm9iYWJseSBiZSBhIHBvc3QsIG9yIGFuIGV4cGxpY3QgbG9ja19wYXRjaAorICAgICMgc2lu
Y2UgR0VUIHJlcXVlc3RzIHNob3VsZG4ndCByZWFsbHkgbW9kaWZ5IHRoZSBkYXRhc3RvcmUuCiAg
ICAgZGVmIGdldChzZWxmLCBxdWV1ZV9uYW1lKToKICAgICAgICAgcXVldWUgPSBRdWV1ZS5xdWV1
ZV93aXRoX25hbWUocXVldWVfbmFtZSkKICAgICAgICAgaWYgbm90IHF1ZXVlOgpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvcXVldWVzdGF0dXMucHkg
Yi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9xdWV1ZXN0YXR1cy5weQpp
bmRleCBhZTJhNDM5ZjUzOGY2MTM2MTYyMzQ3ZTdiYTQ3MmQ1YzZiOTFjNjRjLi41YzMxNTM3YTcy
YTk1OTU4ZDA3NmNhM2M3YTUxNjE2MjgwNDc4OTA1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9R
dWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9xdWV1ZXN0YXR1cy5weQorKysgYi9XZWJLaXRUb29s
cy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9xdWV1ZXN0YXR1cy5weQpAQCAtMzAsOCArMzAs
NiBAQCBmcm9tIGdvb2dsZS5hcHBlbmdpbmUuZXh0IGltcG9ydCB3ZWJhcHAKIGZyb20gZ29vZ2xl
LmFwcGVuZ2luZS5leHQud2ViYXBwIGltcG9ydCB0ZW1wbGF0ZQogCiBmcm9tIG1vZGVsLnF1ZXVl
cyBpbXBvcnQgUXVldWUKLWZyb20gbW9kZWwud29ya2l0ZW1zIGltcG9ydCBXb3JrSXRlbXMKLWZy
b20gbW9kZWwuYWN0aXZld29ya2l0ZW1zIGltcG9ydCBBY3RpdmVXb3JrSXRlbXMKIAogZnJvbSBt
b2RlbCBpbXBvcnQgcXVldWVzdGF0dXMKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXVldWVT
dGF0dXNTZXJ2ZXIvaGFuZGxlcnMvcmVsZWFzZXBhdGNoLnB5IGIvV2ViS2l0VG9vbHMvUXVldWVT
dGF0dXNTZXJ2ZXIvaGFuZGxlcnMvcmVsZWFzZXBhdGNoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRiNjFlZDlk
ZWFlMzIwZWE0NmYwYzQyNWY4OTU1YjBlZGRlMjgzZDQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJL
aXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9yZWxlYXNlcGF0Y2gucHkKQEAgLTAs
MCArMSw2MyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRp
c3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2Zyb20gZ29vZ2xlLmFwcGVuZ2luZS5leHQg
aW1wb3J0IHdlYmFwcCwgZGIKK2Zyb20gZ29vZ2xlLmFwcGVuZ2luZS5leHQud2ViYXBwIGltcG9y
dCB0ZW1wbGF0ZQorCitmcm9tIGhhbmRsZXJzLnVwZGF0ZWJhc2UgaW1wb3J0IFVwZGF0ZUJhc2UK
K2Zyb20gbW9kZWwuYXR0YWNobWVudCBpbXBvcnQgQXR0YWNobWVudAorZnJvbSBtb2RlbC5xdWV1
ZXMgaW1wb3J0IFF1ZXVlCisKKworY2xhc3MgUmVsZWFzZVBhdGNoKFVwZGF0ZUJhc2UpOgorICAg
IGRlZiBnZXQoc2VsZik6CisgICAgICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKHRlbXBsYXRl
LnJlbmRlcigidGVtcGxhdGVzL3JlbGVhc2VwYXRjaC5odG1sIiwgTm9uZSkpCisKKyAgICBkZWYg
cG9zdChzZWxmLCBxdWV1ZV9uYW1lKToKKyAgICAgICAgIyBGSVhNRTogVGhpcyBxdWV1ZSBsb29r
dXAgc2hvdWxkIGJlIHNoYXJlZCBiZXR3ZWVuIGhhbmRsZXJzLgorICAgICAgICBxdWV1ZSA9IFF1
ZXVlLnF1ZXVlX3dpdGhfbmFtZShxdWV1ZV9uYW1lKQorICAgICAgICBpZiBub3QgcXVldWU6Cisg
ICAgICAgICAgICBzZWxmLmVycm9yKDQwNCkKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAg
IGF0dGFjaG1lbnRfaWQgPSBzZWxmLl9pbnRfZnJvbV9yZXF1ZXN0KCJhdHRhY2htZW50X2lkIikK
KyAgICAgICAgYXR0YWNobWVudCA9IEF0dGFjaG1lbnQoYXR0YWNobWVudF9pZCkKKyAgICAgICAg
bGF0ZXN0X3N0YXR1cyA9IGF0dGFjaG1lbnQuc3RhdHVzX2Zvcl9xdWV1ZShxdWV1ZSkKKyAgICAg
ICAgaWYgbm90IGxhdGVzdF9zdGF0dXM6CisgICAgICAgICAgICBzZWxmLmVycm9yKDQwNCkKKyAg
ICAgICAgICAgIHJldHVybgorCisgICAgICAgICMgSWRlYWxseSB3ZSBzaG91bGQgdXNlIGEgdHJh
bnNhY3Rpb24gZm9yIHRoZSBjYWxscyB0bworICAgICAgICAjIFdvcmtJdGVtcyBhbmQgQWN0aXZl
V29ya0l0ZW1zLgorCisgICAgICAgICMgT25seSByZW1vdmUgaXQgZnJvbSB0aGUgcXVldWUgaWYg
dGhlIGxhc3QgbWVzc2FnZSBpcyBub3QgYSByZXRyeSByZXF1ZXN0LgorICAgICAgICBpZiBub3Qg
bGFzdF9zdGF0dXMuaXNfcmV0cnlfcmVxdWVzdCgpOgorICAgICAgICAgICAgcXVldWVzLndvcmtf
aXRlbXMoKS5yZW1vdmVfaXRlbShhdHRhY2htZW50X2lkKQorCisgICAgICAgICMgQWx3YXlzIHJl
bGVhc2UgdGhlIGxvY2sgb24gdGhlIGl0ZW0uCisgICAgICAgIHF1ZXVlcy5hY3RpdmVfd29ya19p
dGVtcygpLmV4cGlyZV9pdGVtKGF0dGFjaG1lbnRfaWQpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9zdGF0dXNidWJibGVfdW5pdHRlc3QucHkgYi9X
ZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9zdGF0dXNidWJibGVfdW5pdHRl
c3QucHkKaW5kZXggODFhOTQ1ZjkxYzBjMmU0NTdhMDU1OGQyNGViMWM1NWE1ZjllMjFiMy4uM2Zm
YmRhZjlkYjEyZjNlZmI0YzNmNGFkMTBiZTI1MmIxM2QxMDllYyAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvc3RhdHVzYnViYmxlX3VuaXR0ZXN0LnB5
CisrKyBiL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3N0YXR1c2J1YmJs
ZV91bml0dGVzdC5weQpAQCAtNTMsNyArNTMsNyBAQCBjbGFzcyBTdGF0dXNCdWJibGVUZXN0KHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBGSVhNRTogYXNzZXJ0RGljdEVxdWFsIChpbiBQ
eXRob24gMi43KSB3b3VsZCBiZSBiZXR0ZXIgdG8gdXNlIGhlcmUuCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoYnViYmxlX2RpY3RbIm5hbWUiXSwgIm1hYyIpCiAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoYnViYmxlX2RpY3RbImF0dGFjaG1lbnRfaWQiXSwgMSkKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChidWJibGVfZGljdFsicXVldWVfcG9zaXRpb24iXSwgIjEiKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGJ1YmJsZV9kaWN0WyJxdWV1ZV9wb3NpdGlvbiJdLCAxKQogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGJ1YmJsZV9kaWN0WyJzdGF0ZSJdLCAibm9uZSIpCiAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoYnViYmxlX2RpY3RbInN0YXR1cyJdLCBOb25lKQogCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy91cGRhdGVzdGF0dXMucHkg
Yi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy91cGRhdGVzdGF0dXMucHkK
aW5kZXggNDA4ZmVhOTUyYmRjYTEwNTEwNjZlMmMxODVmYmY1Y2E1MmZiNTMyNS4uNzMwMTEwMWU0
MmE0OWQ2MTUwN2U4ZDAwMjBiNjFmYjYzM2RjYWNmYiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
UXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvdXBkYXRlc3RhdHVzLnB5CisrKyBiL1dlYktpdFRv
b2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3VwZGF0ZXN0YXR1cy5weQpAQCAtMzEsMTAg
KzMxLDEwIEBAIGZyb20gZ29vZ2xlLmFwcGVuZ2luZS5leHQgaW1wb3J0IHdlYmFwcCwgZGIKIGZy
b20gZ29vZ2xlLmFwcGVuZ2luZS5leHQud2ViYXBwIGltcG9ydCB0ZW1wbGF0ZQogCiBmcm9tIGhh
bmRsZXJzLnVwZGF0ZWJhc2UgaW1wb3J0IFVwZGF0ZUJhc2UKLWZyb20gbW9kZWwuYWN0aXZld29y
a2l0ZW1zIGltcG9ydCBBY3RpdmVXb3JrSXRlbXMKIGZyb20gbW9kZWwuYXR0YWNobWVudCBpbXBv
cnQgQXR0YWNobWVudAogZnJvbSBtb2RlbC5xdWV1ZXN0YXR1cyBpbXBvcnQgUXVldWVTdGF0dXMK
IAorCiBjbGFzcyBVcGRhdGVTdGF0dXMoVXBkYXRlQmFzZSk6CiAgICAgZGVmIGdldChzZWxmKToK
ICAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQud3JpdGUodGVtcGxhdGUucmVuZGVyKCJ0ZW1wbGF0
ZXMvdXBkYXRlc3RhdHVzLmh0bWwiLCBOb25lKSkKQEAgLTU5LDIzICs1OSw4IEBAIGNsYXNzIFVw
ZGF0ZVN0YXR1cyhVcGRhdGVCYXNlKToKICAgICAgICAgcXVldWVfc3RhdHVzLnJlc3VsdHNfZmls
ZSA9IGRiLkJsb2Ioc3RyKHJlc3VsdHNfZmlsZSkpCiAgICAgICAgIHJldHVybiBxdWV1ZV9zdGF0
dXMKIAotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX2V4cGlyZV9pdGVtKGtleSwgaXRlbV9p
ZCk6Ci0gICAgICAgIGFjdGl2ZV93b3JrX2l0ZW1zID0gZGIuZ2V0KGtleSkKLSAgICAgICAgYWN0
aXZlX3dvcmtfaXRlbXMuZXhwaXJlX2l0ZW0oaXRlbV9pZCkKLSAgICAgICAgYWN0aXZlX3dvcmtf
aXRlbXMucHV0KCkKLQotICAgICMgRklYTUU6IEFuIGV4cGxpY2l0IGxvY2tfcmVsZWFzZSByZXF1
ZXN0IHdvdWxkIGJlIGNsZWFuZXIgdGhhbiB0aGlzIG1hZ2ljYWwgIlJldHJ5IiBzdGF0dXMuCi0g
ICAgZGVmIF91cGRhdGVfYWN0aXZlX3dvcmtfaXRlbXMoc2VsZiwgcXVldWVfc3RhdHVzKToKLSAg
ICAgICAgaWYgbm90IHF1ZXVlX3N0YXR1cy5pc19yZXRyeV9yZXF1ZXN0KCk6Ci0gICAgICAgICAg
ICByZXR1cm4KLSAgICAgICAgYWN0aXZlX2l0ZW1zID0gcXVldWVfc3RhdHVzLnF1ZXVlLmFjdGl2
ZV93b3JrX2l0ZW1zKCkKLSAgICAgICAgIyBGSVhNRTogVGhpcyBzaG91bGQgbW92ZSBvbnRvIHRo
ZSBBY3RpdmVXb3JrSXRlbXMgY2xhc3MuCi0gICAgICAgIHJldHVybiBkYi5ydW5faW5fdHJhbnNh
Y3Rpb24oc2VsZi5fZXhwaXJlX2l0ZW0sIGFjdGl2ZV9pdGVtcy5rZXkoKSwgcXVldWVfc3RhdHVz
LmFjdGl2ZV9wYXRjaF9pZCkKLQogICAgIGRlZiBwb3N0KHNlbGYpOgogICAgICAgICBxdWV1ZV9z
dGF0dXMgPSBzZWxmLl9xdWV1ZV9zdGF0dXNfZnJvbV9yZXF1ZXN0KCkKICAgICAgICAgcXVldWVf
c3RhdHVzLnB1dCgpCi0gICAgICAgIHNlbGYuX3VwZGF0ZV9hY3RpdmVfd29ya19pdGVtcyhxdWV1
ZV9zdGF0dXMpCiAgICAgICAgIEF0dGFjaG1lbnQuZGlydHkocXVldWVfc3RhdHVzLmFjdGl2ZV9w
YXRjaF9pZCkKICAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQud3JpdGUocXVldWVfc3RhdHVzLmtl
eSgpLmlkKCkpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9tb2Rl
bC9hY3RpdmV3b3JraXRlbXMucHkgYi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9tb2Rl
bC9hY3RpdmV3b3JraXRlbXMucHkKaW5kZXggYjIxOGU2M2ZjYjBhMTJkYzBkY2RkMjVmODFjNTNj
YjgyNzc1NGU0Mi4uZWY0MjA1YWI4MGI3YmViZjIxMTIwODViNjEwNDQyYzUwOTA2YjQ1MiAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYWN0aXZld29ya2l0
ZW1zLnB5CisrKyBiL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21vZGVsL2FjdGl2ZXdv
cmtpdGVtcy5weQpAQCAtNTcsMTAgKzU3LDE5IEBAIGNsYXNzIEFjdGl2ZVdvcmtJdGVtcyhkYi5N
b2RlbCwgUXVldWVQcm9wZXJ0eU1peGluKToKICAgICAgICAgc2VsZi5pdGVtX2lkcy5hcHBlbmQo
cGFpclswXSkKICAgICAgICAgc2VsZi5pdGVtX2RhdGVzLmFwcGVuZChwYWlyWzFdKQogCi0gICAg
ZGVmIGV4cGlyZV9pdGVtKHNlbGYsIGl0ZW1faWQpOgorICAgIGRlZiBfcmVtb3ZlX2l0ZW0oc2Vs
ZiwgaXRlbV9pZCk6CiAgICAgICAgIG5vbmV4cGlyZWRfcGFpcnMgPSBbcGFpciBmb3IgcGFpciBp
biBzZWxmLl9pdGVtX3RpbWVfcGFpcnMoKSBpZiBwYWlyWzBdICE9IGl0ZW1faWRdCiAgICAgICAg
IHNlbGYuX3NldF9pdGVtX3RpbWVfcGFpcnMobm9uZXhwaXJlZF9wYWlycykKIAorICAgIEBzdGF0
aWNtZXRob2QKKyAgICBkZWYgX2V4cGlyZV9pdGVtKGtleSwgaXRlbV9pZCk6CisgICAgICAgIGFj
dGl2ZV93b3JrX2l0ZW1zID0gZGIuZ2V0KGtleSkKKyAgICAgICAgYWN0aXZlX3dvcmtfaXRlbXMu
X3JlbW92ZV9pdGVtKGl0ZW1faWQpCisgICAgICAgIGFjdGl2ZV93b3JrX2l0ZW1zLnB1dCgpCisK
KyAgICBkZWYgZXhwaXJlX2l0ZW0oc2VsZiwgaXRlbV9pZCk6CisgICAgICAgIHJldHVybiBkYi5y
dW5faW5fdHJhbnNhY3Rpb24oc2VsZi5fZXhwaXJlX2l0ZW0sIGFjdGl2ZV9pdGVtcy5rZXkoKSwg
cXVldWVfc3RhdHVzLmFjdGl2ZV9wYXRjaF9pZCkKKwogICAgIGRlZiBkZWFjdGl2YXRlX2V4cGly
ZWQoc2VsZiwgbm93KToKICAgICAgICAgb25lX2hvdXJfYWdvID0gdGltZS5ta3RpbWUoKG5vdyAt
IHRpbWVkZWx0YShtaW51dGVzPTYwKSkudGltZXR1cGxlKCkpCiAgICAgICAgIG5vbmV4cGlyZWRf
cGFpcnMgPSBbcGFpciBmb3IgcGFpciBpbiBzZWxmLl9pdGVtX3RpbWVfcGFpcnMoKSBpZiBwYWly
WzFdID4gb25lX2hvdXJfYWdvXQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNT
ZXJ2ZXIvdGVtcGxhdGVzL3JlbGVhc2VwYXRjaC5odG1sIGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0
dXNTZXJ2ZXIvdGVtcGxhdGVzL3JlbGVhc2VwYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4MGQyYzJk
ZmQ4OWM4ZmFiNzJhNDMwNDE3MDliNzVlODQ1Yzg3N2YKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJL
aXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci90ZW1wbGF0ZXMvcmVsZWFzZXBhdGNoLmh0bWwKQEAg
LTAsMCArMSwzIEBACis8Zm9ybSBuYW1lPSJyZWxlYXNlX3BhdGNoIiBlbmN0eXBlPSJtdWx0aXBh
cnQvZm9ybS1kYXRhIiBtZXRob2Q9InBvc3QiPgorUGF0Y2ggdG8gcmVsZWFzZTogPGlucHV0IG5h
bWU9ImF0dGFjaG1lbnRfaWQiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJSZWxlYXNlIGxv
Y2tzIGFuZCByZW1vdmUgZnJvbSBxdWV1ZSI+PC9kaXY+Cis8L2Zvcm0+CmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvc3RhdHVzc2VydmVyLnB5IGIv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5weQpp
bmRleCA5NWQyZjE2MmU1OGZmYmExYjQ4ODg4ZmI4Njg2N2RhNzI5YWI2MjlmLi4wMDMxYjIxMTQy
MTc1MTAwMDRkMjA1MTg3MTZjN2I3OTU3NDkyNjc3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvc3RhdHVzc2VydmVyLnB5CisrKyBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9zdGF0dXNzZXJ2ZXIucHkKQEAgLTEwNyw2
ICsxMDcsMTQgQEAgY2xhc3MgU3RhdHVzU2VydmVyOgogICAgICAgICBwYXRjaF9zdGF0dXNfdXJs
ID0gIiVzL25leHQtcGF0Y2gvJXMiICUgKHNlbGYudXJsLCBxdWV1ZV9uYW1lKQogICAgICAgICBy
ZXR1cm4gc2VsZi5fZmV0Y2hfdXJsKHBhdGNoX3N0YXR1c191cmwpCiAKKyAgICBkZWYgcmVsZWFz
ZV93b3JrX2l0ZW0oc2VsZiwgcXVldWVfbmFtZSwgcGF0Y2gpOgorICAgICAgICBfbG9nLmRlYnVn
KCJSZWxlYXNpbmcgd29yayBpdGVtICVzIGZyb20gJXMiICUgKHBhdGNoLmlkKCksIHF1ZXVlX25h
bWUpKQorICAgICAgICByZWxlYXNlX3BhdGNoX3VybCA9ICIlcy9yZWxlYXNlLXBhdGNoLyVzIiAl
IChzZWxmLnVybCwgcXVldWVfbmFtZSkKKyAgICAgICAgc2VsZi5fYnJvd3Nlci5vcGVuKHJlbGVh
c2VfcGF0Y2hfdXJsKQorICAgICAgICBzZWxmLl9icm93c2VyLnNlbGVjdF9mb3JtKG5hbWU9InJl
bGVhc2VfcGF0Y2giKQorICAgICAgICBzZWxmLl9icm93c2VyWyJhdHRhY2htZW50X2lkIl0gPSBw
YXRjaC5pZCgpCisgICAgICAgIHNlbGYuX2Jyb3dzZXIuc3VibWl0KCkKKwogICAgIGRlZiB1cGRh
dGVfd29ya19pdGVtcyhzZWxmLCBxdWV1ZV9uYW1lLCB3b3JrX2l0ZW1zKToKICAgICAgICAgX2xv
Zy5kZWJ1ZygiUmVjb3JkaW5nIHdvcmsgaXRlbXM6ICVzIGZvciAlcyIgJSAod29ya19pdGVtcywg
cXVldWVfbmFtZSkpCiAgICAgICAgIHJldHVybiBOZXR3b3JrVHJhbnNhY3Rpb24oKS5ydW4obGFt
YmRhOiBzZWxmLl9wb3N0X3dvcmtfaXRlbXNfdG9fc2VydmVyKHF1ZXVlX25hbWUsIHdvcmtfaXRl
bXMpKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1h
bmRzL3F1ZXVlcy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5k
cy9xdWV1ZXMucHkKaW5kZXggYzc4NjZkY2ZmNjk2ZmVhNmY1ZTA0ZWYxNjY4MzQ2YjU0MmZlMDJl
OC4uOTAwY2JhZDA5OGZiMzQ1M2M4MGRlYjc2NTA5MmZjYzMyZDQ1YzZiZSAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weQorKysg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5CkBA
IC0xOTgsNiArMTk4LDkgQEAgY2xhc3MgQWJzdHJhY3RQYXRjaFF1ZXVlKEFic3RyYWN0UXVldWUp
OgogICAgIGRlZiBfZmV0Y2hfbmV4dF93b3JrX2l0ZW0oc2VsZik6CiAgICAgICAgIHJldHVybiBz
ZWxmLl90b29sLnN0YXR1c19zZXJ2ZXIubmV4dF93b3JrX2l0ZW0oc2VsZi5uYW1lKQogCisgICAg
ZGVmIF9yZWxlYXNlX3dvcmtfaXRlbShzZWxmLCBwYXRjaCk6CisgICAgICAgIHNlbGYuX3Rvb2wu
c3RhdHVzX3NlcnZlci5yZWxlYXNlX3dvcmtfaXRlbShzZWxmLm5hbWUsIHBhdGNoKQorCiAgICAg
ZGVmIF9kaWRfcGFzcyhzZWxmLCBwYXRjaCk6CiAgICAgICAgIHNlbGYuX3VwZGF0ZV9zdGF0dXMo
c2VsZi5fcGFzc19zdGF0dXMsIHBhdGNoKQogCkBAIC0yNDcsNiArMjUwLDcgQEAgY2xhc3MgQ29t
bWl0UXVldWUoQWJzdHJhY3RQYXRjaFF1ZXVlLCBTdGVwU2VxdWVuY2VFcnJvckhhbmRsZXIsIENv
bW1pdFF1ZXVlVGFza0QKICAgICAgICAgICAgIHZhbGlkYXRvciA9IENvbW1pdHRlclZhbGlkYXRv
cihzZWxmLl90b29sLmJ1Z3MpCiAgICAgICAgICAgICB2YWxpZGF0b3IucmVqZWN0X3BhdGNoX2Zy
b21fY29tbWl0X3F1ZXVlKHBhdGNoLmlkKCksIHNlbGYuX2Vycm9yX21lc3NhZ2VfZm9yX2J1Zyh0
YXNrLmZhaWx1cmVfc3RhdHVzX2lkLCBlKSkKICAgICAgICAgICAgIHNlbGYuX2RpZF9mYWlsKHBh
dGNoKQorICAgICAgICBzZWxmLl9yZWxlYXNlX3dvcmtfaXRlbShwYXRjaCkKIAogICAgIGRlZiBf
ZXJyb3JfbWVzc2FnZV9mb3JfYnVnKHNlbGYsIHN0YXR1c19pZCwgc2NyaXB0X2Vycm9yKToKICAg
ICAgICAgaWYgbm90IHNjcmlwdF9lcnJvci5vdXRwdXQ6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkgYi9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkKaW5kZXggY2U1ZmEwMjM5MGM2Yjk2N2JlOTc5ZWVk
NzRiM2U3MDRjNGM0M2MyNy4uOGU2MjU5MGUwNmE2MTZkMTQwNzA5ZWExN2QzMTVlNzU3NWZmMTZj
ZCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21vY2t0b29s
LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weQpA
QCAtNTQ3LDYgKzU0Nyw5IEBAIGNsYXNzIE1vY2tTdGF0dXNTZXJ2ZXIob2JqZWN0KToKICAgICAg
ICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIHJldHVybiBzZWxmLl93b3JrX2l0ZW1zWzBdCiAK
KyAgICBkZWYgcmVsZWFzZV93b3JrX2l0ZW0oc2VsZiwgcXVldWVfbmFtZSwgcGF0Y2gpOgorICAg
ICAgICBwYXNzCisKICAgICBkZWYgdXBkYXRlX3dvcmtfaXRlbXMoc2VsZiwgcXVldWVfbmFtZSwg
d29ya19pdGVtcyk6CiAgICAgICAgIHNlbGYuX3dvcmtfaXRlbXMgPSB3b3JrX2l0ZW1zCiAgICAg
ICAgIGxvZygiTU9DSzogdXBkYXRlX3dvcmtfaXRlbXM6ICVzICVzIiAlIChxdWV1ZV9uYW1lLCB3
b3JrX2l0ZW1zKSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71197</attachid>
            <date>2010-10-19 13:21:39 -0700</date>
            <delta_ts>2010-10-19 13:39:43 -0700</delta_ts>
            <desc>Updated per Adam&apos;s suggestions</desc>
            <filename>bug-47909-20101019132137.patch</filename>
            <type>text/plain</type>
            <size>15420</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAzNjA5NWUxNDhiODc3ZTQ0ZmZmNDYwOWJlMDdkODQxMmQ5ZTk1NWYxLi5lZTAyOTIz
YTVmNDZhYzVmMGRkZDAyMTFiYjc2ZDk5MDhjYmNlZWMwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAK
KzIwMTAtMTAtMTkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgcGF0Y2ggcmVsZWFzZSBl
eHBsaWNpdCBhbmQgbm90IGEgbWFnaWMgcGFydCBvZiAicmV0cnkiIHN0YXR1cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc5MDkKKworICAgICAgICBU
aGlzIG1vdmVzIHVzIGFub3RoZXIgc3RlcCBjbG9zZXIgdG8gcnVubmluZyByKyBwYXRjaGVzIG9u
IHRoZSBFV1MgYm90cy4KKyAgICAgICAgQ3VycmVudGx5IGFsbCBib3RzIGp1c3Qgc3BhbSAvdXBk
YXRlLXdvcmstaXRlbXMgd2l0aCB0aGVpciBsaXN0IG9mIGN1cnJlbnQKKyAgICAgICAgd29yayBp
dGVtcy4gIHF1ZXVlcy53ZWJraXQub3JnIHVzZXMgdGhhdCBkYXRhIGZvciBkaXNwbGF5LiAgQXMg
cGFydCBvZiBtYWtpbmcKKyAgICAgICAgdGhlIEVXUyBydW4gcisgcGF0Y2hlcywgd2UncmUgbW92
aW5nIHRoZSBvZmZpY2lhbCBsaXN0IG9mIHBhdGNoZXMtdG8tcHJvY2VzcworICAgICAgICBpbnRv
IHRoZSBzZXJ2ZXIsIGFuZCBmZWVkaW5nIHRoZW0gb3V0IHRvIGJvdHMgb25lIGF0IGEgdGltZS4g
IFdlIG5lZWQgdG8gYmUKKyAgICAgICAgYWJsZSB0byByZW1vdmUgcGF0Y2hlcyBmcm9tIHRoZSBx
dWV1ZXMgb25lIGF0IGEgdGltZSBpbnN0ZWFkIG9mIGp1c3Qgc3BhbW1pbmcKKyAgICAgICAgL3Vw
ZGF0ZS13b3JrLWl0ZW1zIHdpdGggYSBuZXcgY29tcGxldGUgbGlzdC4gIFRoYXQncyB3aGF0IHRo
aXMgcGF0Y2ggYWRkcy4KKworICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL25l
eHRwYXRjaC5weToKKyAgICAgICAgKiBRdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9xdWV1ZXN0
YXR1cy5weToKKyAgICAgICAgKiBRdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9yZWxlYXNlcGF0
Y2gucHk6IEFkZGVkLgorICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3N0YXR1
c2J1YmJsZV91bml0dGVzdC5weToKKyAgICAgICAgIC0gRml4IGEgdHlwbyBjYXVzaW5nIHRlc3Qg
ZmFpbHVyZS4gIFRoaXMgd2FzIG5vdCBjYXVnaHQgYnkgdGhlIGJvdHMKKyAgICAgICAgICAgYmVj
YXVzZSB0aGV5IGRvbid0IGhhdmUgQXBwRW5naW5lTGF1bmNoZXIgaW5zdGFsbGVkIGFuZCB0aHVz
IGRvbid0IHJ1bgorICAgICAgICAgICB0aGUgUXVldWVTdGF0dXNTZXJ2ZXIgdGVzdHMuCisgICAg
ICAgICogUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvdXBkYXRlc3RhdHVzLnB5OgorICAgICAg
ICAqIFF1ZXVlU3RhdHVzU2VydmVyL21vZGVsL2FjdGl2ZXdvcmtpdGVtcy5weToKKyAgICAgICAg
KiBRdWV1ZVN0YXR1c1NlcnZlci90ZW1wbGF0ZXMvcmVsZWFzZXBhdGNoLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9zdGF0dXNzZXJ2ZXIucHk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHk6CisKIDIwMTAtMTAtMTkgIEtl
bm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
dmlkIExldmluLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFu
ZGxlcnMvbmV4dHBhdGNoLnB5IGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxl
cnMvbmV4dHBhdGNoLnB5CmluZGV4IDA1NzFkN2QwOWIwYTQ4ODYwZGIwZDhkMDVhY2ZkMmI5MzZm
NWFjNzIuLjVmNmQ3MWRhZGZiODlhMjBmNTUzOThhOTdmM2NiMjZiY2VmN2Y5MjUgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL25leHRwYXRjaC5weQor
KysgYi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9uZXh0cGF0Y2gucHkK
QEAgLTM1LDYgKzM1LDggQEAgZnJvbSBtb2RlbC5xdWV1ZXMgaW1wb3J0IFF1ZXVlCiAKIAogY2xh
c3MgTmV4dFBhdGNoKHdlYmFwcC5SZXF1ZXN0SGFuZGxlcik6CisgICAgIyBGSVhNRTogVGhpcyBz
aG91bGQgcHJvYmFibHkgYmUgYSBwb3N0LCBvciBhbiBleHBsaWN0IGxvY2tfcGF0Y2gKKyAgICAj
IHNpbmNlIEdFVCByZXF1ZXN0cyBzaG91bGRuJ3QgcmVhbGx5IG1vZGlmeSB0aGUgZGF0YXN0b3Jl
LgogICAgIGRlZiBnZXQoc2VsZiwgcXVldWVfbmFtZSk6CiAgICAgICAgIHF1ZXVlID0gUXVldWUu
cXVldWVfd2l0aF9uYW1lKHF1ZXVlX25hbWUpCiAgICAgICAgIGlmIG5vdCBxdWV1ZToKZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3F1ZXVlc3RhdHVz
LnB5IGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvcXVldWVzdGF0dXMu
cHkKaW5kZXggYWUyYTQzOWY1MzhmNjEzNjE2MjM0N2U3YmE0NzJkNWM2YjkxYzY0Yy4uNWMzMTUz
N2E3MmE5NTk1OGQwNzZjYTNjN2E1MTYxNjI4MDQ3ODkwNSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvcXVldWVzdGF0dXMucHkKKysrIGIvV2ViS2l0
VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvcXVldWVzdGF0dXMucHkKQEAgLTMwLDgg
KzMwLDYgQEAgZnJvbSBnb29nbGUuYXBwZW5naW5lLmV4dCBpbXBvcnQgd2ViYXBwCiBmcm9tIGdv
b2dsZS5hcHBlbmdpbmUuZXh0LndlYmFwcCBpbXBvcnQgdGVtcGxhdGUKIAogZnJvbSBtb2RlbC5x
dWV1ZXMgaW1wb3J0IFF1ZXVlCi1mcm9tIG1vZGVsLndvcmtpdGVtcyBpbXBvcnQgV29ya0l0ZW1z
Ci1mcm9tIG1vZGVsLmFjdGl2ZXdvcmtpdGVtcyBpbXBvcnQgQWN0aXZlV29ya0l0ZW1zCiAKIGZy
b20gbW9kZWwgaW1wb3J0IHF1ZXVlc3RhdHVzCiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1F1
ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3JlbGVhc2VwYXRjaC5weSBiL1dlYktpdFRvb2xzL1F1
ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3JlbGVhc2VwYXRjaC5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YjYx
ZWQ5ZGVhZTMyMGVhNDZmMGM0MjVmODk1NWIwZWRkZTI4M2Q0Ci0tLSAvZGV2L251bGwKKysrIGIv
V2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvcmVsZWFzZXBhdGNoLnB5CkBA
IC0wLDAgKzEsNjMgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMK
KyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
IyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
IyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitmcm9tIGdvb2dsZS5hcHBlbmdpbmUu
ZXh0IGltcG9ydCB3ZWJhcHAsIGRiCitmcm9tIGdvb2dsZS5hcHBlbmdpbmUuZXh0LndlYmFwcCBp
bXBvcnQgdGVtcGxhdGUKKworZnJvbSBoYW5kbGVycy51cGRhdGViYXNlIGltcG9ydCBVcGRhdGVC
YXNlCitmcm9tIG1vZGVsLmF0dGFjaG1lbnQgaW1wb3J0IEF0dGFjaG1lbnQKK2Zyb20gbW9kZWwu
cXVldWVzIGltcG9ydCBRdWV1ZQorCisKK2NsYXNzIFJlbGVhc2VQYXRjaChVcGRhdGVCYXNlKToK
KyAgICBkZWYgZ2V0KHNlbGYpOgorICAgICAgICBzZWxmLnJlc3BvbnNlLm91dC53cml0ZSh0ZW1w
bGF0ZS5yZW5kZXIoInRlbXBsYXRlcy9yZWxlYXNlcGF0Y2guaHRtbCIsIE5vbmUpKQorCisgICAg
ZGVmIHBvc3Qoc2VsZiwgcXVldWVfbmFtZSk6CisgICAgICAgICMgRklYTUU6IFRoaXMgcXVldWUg
bG9va3VwIHNob3VsZCBiZSBzaGFyZWQgYmV0d2VlbiBoYW5kbGVycy4KKyAgICAgICAgcXVldWUg
PSBRdWV1ZS5xdWV1ZV93aXRoX25hbWUocXVldWVfbmFtZSkKKyAgICAgICAgaWYgbm90IHF1ZXVl
OgorICAgICAgICAgICAgc2VsZi5lcnJvcig0MDQpCisgICAgICAgICAgICByZXR1cm4KKworICAg
ICAgICBhdHRhY2htZW50X2lkID0gc2VsZi5faW50X2Zyb21fcmVxdWVzdCgiYXR0YWNobWVudF9p
ZCIpCisgICAgICAgIGF0dGFjaG1lbnQgPSBBdHRhY2htZW50KGF0dGFjaG1lbnRfaWQpCisgICAg
ICAgIGxhdGVzdF9zdGF0dXMgPSBhdHRhY2htZW50LnN0YXR1c19mb3JfcXVldWUocXVldWUpCisg
ICAgICAgIGlmIG5vdCBsYXRlc3Rfc3RhdHVzOgorICAgICAgICAgICAgc2VsZi5lcnJvcig0MDQp
CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICAjIElkZWFsbHkgd2Ugc2hvdWxkIHVzZSBh
IHRyYW5zYWN0aW9uIGZvciB0aGUgY2FsbHMgdG8KKyAgICAgICAgIyBXb3JrSXRlbXMgYW5kIEFj
dGl2ZVdvcmtJdGVtcy4KKworICAgICAgICAjIE9ubHkgcmVtb3ZlIGl0IGZyb20gdGhlIHF1ZXVl
IGlmIHRoZSBsYXN0IG1lc3NhZ2UgaXMgbm90IGEgcmV0cnkgcmVxdWVzdC4KKyAgICAgICAgaWYg
bm90IGxhc3Rfc3RhdHVzLmlzX3JldHJ5X3JlcXVlc3QoKToKKyAgICAgICAgICAgIHF1ZXVlcy53
b3JrX2l0ZW1zKCkucmVtb3ZlX2l0ZW0oYXR0YWNobWVudF9pZCkKKworICAgICAgICAjIEFsd2F5
cyByZWxlYXNlIHRoZSBsb2NrIG9uIHRoZSBpdGVtLgorICAgICAgICBxdWV1ZXMuYWN0aXZlX3dv
cmtfaXRlbXMoKS5leHBpcmVfaXRlbShhdHRhY2htZW50X2lkKQpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvc3RhdHVzYnViYmxlX3VuaXR0ZXN0LnB5
IGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvc3RhdHVzYnViYmxlX3Vu
aXR0ZXN0LnB5CmluZGV4IDgxYTk0NWY5MWMwYzJlNDU3YTA1NThkMjRlYjFjNTVhNWY5ZTIxYjMu
LjNmZmJkYWY5ZGIxMmYzZWZiNGMzZjRhZDEwYmUyNTJiMTNkMTA5ZWMgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3N0YXR1c2J1YmJsZV91bml0dGVz
dC5weQorKysgYi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9zdGF0dXNi
dWJibGVfdW5pdHRlc3QucHkKQEAgLTUzLDcgKzUzLDcgQEAgY2xhc3MgU3RhdHVzQnViYmxlVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICMgRklYTUU6IGFzc2VydERpY3RFcXVhbCAo
aW4gUHl0aG9uIDIuNykgd291bGQgYmUgYmV0dGVyIHRvIHVzZSBoZXJlLgogICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGJ1YmJsZV9kaWN0WyJuYW1lIl0sICJtYWMiKQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGJ1YmJsZV9kaWN0WyJhdHRhY2htZW50X2lkIl0sIDEpCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoYnViYmxlX2RpY3RbInF1ZXVlX3Bvc2l0aW9uIl0sICIxIikKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChidWJibGVfZGljdFsicXVldWVfcG9zaXRpb24iXSwgMSkKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChidWJibGVfZGljdFsic3RhdGUiXSwgIm5vbmUiKQogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGJ1YmJsZV9kaWN0WyJzdGF0dXMiXSwgTm9uZSkKIApkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvdXBkYXRlc3RhdHVz
LnB5IGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvdXBkYXRlc3RhdHVz
LnB5CmluZGV4IDQwOGZlYTk1MmJkY2ExMDUxMDY2ZTJjMTg1ZmJmNWNhNTJmYjUzMjUuLjczMDEx
MDFlNDJhNDlkNjE1MDdlOGQwMDIwYjYxZmI2MzNkY2FjZmIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3VwZGF0ZXN0YXR1cy5weQorKysgYi9XZWJL
aXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy91cGRhdGVzdGF0dXMucHkKQEAgLTMx
LDEwICszMSwxMCBAQCBmcm9tIGdvb2dsZS5hcHBlbmdpbmUuZXh0IGltcG9ydCB3ZWJhcHAsIGRi
CiBmcm9tIGdvb2dsZS5hcHBlbmdpbmUuZXh0LndlYmFwcCBpbXBvcnQgdGVtcGxhdGUKIAogZnJv
bSBoYW5kbGVycy51cGRhdGViYXNlIGltcG9ydCBVcGRhdGVCYXNlCi1mcm9tIG1vZGVsLmFjdGl2
ZXdvcmtpdGVtcyBpbXBvcnQgQWN0aXZlV29ya0l0ZW1zCiBmcm9tIG1vZGVsLmF0dGFjaG1lbnQg
aW1wb3J0IEF0dGFjaG1lbnQKIGZyb20gbW9kZWwucXVldWVzdGF0dXMgaW1wb3J0IFF1ZXVlU3Rh
dHVzCiAKKwogY2xhc3MgVXBkYXRlU3RhdHVzKFVwZGF0ZUJhc2UpOgogICAgIGRlZiBnZXQoc2Vs
Zik6CiAgICAgICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKHRlbXBsYXRlLnJlbmRlcigidGVt
cGxhdGVzL3VwZGF0ZXN0YXR1cy5odG1sIiwgTm9uZSkpCkBAIC01OSwyMyArNTksOCBAQCBjbGFz
cyBVcGRhdGVTdGF0dXMoVXBkYXRlQmFzZSk6CiAgICAgICAgIHF1ZXVlX3N0YXR1cy5yZXN1bHRz
X2ZpbGUgPSBkYi5CbG9iKHN0cihyZXN1bHRzX2ZpbGUpKQogICAgICAgICByZXR1cm4gcXVldWVf
c3RhdHVzCiAKLSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9leHBpcmVfaXRlbShrZXksIGl0
ZW1faWQpOgotICAgICAgICBhY3RpdmVfd29ya19pdGVtcyA9IGRiLmdldChrZXkpCi0gICAgICAg
IGFjdGl2ZV93b3JrX2l0ZW1zLmV4cGlyZV9pdGVtKGl0ZW1faWQpCi0gICAgICAgIGFjdGl2ZV93
b3JrX2l0ZW1zLnB1dCgpCi0KLSAgICAjIEZJWE1FOiBBbiBleHBsaWNpdCBsb2NrX3JlbGVhc2Ug
cmVxdWVzdCB3b3VsZCBiZSBjbGVhbmVyIHRoYW4gdGhpcyBtYWdpY2FsICJSZXRyeSIgc3RhdHVz
LgotICAgIGRlZiBfdXBkYXRlX2FjdGl2ZV93b3JrX2l0ZW1zKHNlbGYsIHF1ZXVlX3N0YXR1cyk6
Ci0gICAgICAgIGlmIG5vdCBxdWV1ZV9zdGF0dXMuaXNfcmV0cnlfcmVxdWVzdCgpOgotICAgICAg
ICAgICAgcmV0dXJuCi0gICAgICAgIGFjdGl2ZV9pdGVtcyA9IHF1ZXVlX3N0YXR1cy5xdWV1ZS5h
Y3RpdmVfd29ya19pdGVtcygpCi0gICAgICAgICMgRklYTUU6IFRoaXMgc2hvdWxkIG1vdmUgb250
byB0aGUgQWN0aXZlV29ya0l0ZW1zIGNsYXNzLgotICAgICAgICByZXR1cm4gZGIucnVuX2luX3Ry
YW5zYWN0aW9uKHNlbGYuX2V4cGlyZV9pdGVtLCBhY3RpdmVfaXRlbXMua2V5KCksIHF1ZXVlX3N0
YXR1cy5hY3RpdmVfcGF0Y2hfaWQpCi0KICAgICBkZWYgcG9zdChzZWxmKToKICAgICAgICAgcXVl
dWVfc3RhdHVzID0gc2VsZi5fcXVldWVfc3RhdHVzX2Zyb21fcmVxdWVzdCgpCiAgICAgICAgIHF1
ZXVlX3N0YXR1cy5wdXQoKQotICAgICAgICBzZWxmLl91cGRhdGVfYWN0aXZlX3dvcmtfaXRlbXMo
cXVldWVfc3RhdHVzKQogICAgICAgICBBdHRhY2htZW50LmRpcnR5KHF1ZXVlX3N0YXR1cy5hY3Rp
dmVfcGF0Y2hfaWQpCiAgICAgICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKHF1ZXVlX3N0YXR1
cy5rZXkoKS5pZCgpKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIv
bW9kZWwvYWN0aXZld29ya2l0ZW1zLnB5IGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIv
bW9kZWwvYWN0aXZld29ya2l0ZW1zLnB5CmluZGV4IGIyMThlNjNmY2IwYTEyZGMwZGNkZDI1Zjgx
YzUzY2I4Mjc3NTRlNDIuLmVmNDIwNWFiODBiN2JlYmYyMTEyMDg1YjYxMDQ0MmM1MDkwNmI0NTIg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21vZGVsL2FjdGl2ZXdv
cmtpdGVtcy5weQorKysgYi9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9tb2RlbC9hY3Rp
dmV3b3JraXRlbXMucHkKQEAgLTU3LDEwICs1NywxOSBAQCBjbGFzcyBBY3RpdmVXb3JrSXRlbXMo
ZGIuTW9kZWwsIFF1ZXVlUHJvcGVydHlNaXhpbik6CiAgICAgICAgIHNlbGYuaXRlbV9pZHMuYXBw
ZW5kKHBhaXJbMF0pCiAgICAgICAgIHNlbGYuaXRlbV9kYXRlcy5hcHBlbmQocGFpclsxXSkKIAot
ICAgIGRlZiBleHBpcmVfaXRlbShzZWxmLCBpdGVtX2lkKToKKyAgICBkZWYgX3JlbW92ZV9pdGVt
KHNlbGYsIGl0ZW1faWQpOgogICAgICAgICBub25leHBpcmVkX3BhaXJzID0gW3BhaXIgZm9yIHBh
aXIgaW4gc2VsZi5faXRlbV90aW1lX3BhaXJzKCkgaWYgcGFpclswXSAhPSBpdGVtX2lkXQogICAg
ICAgICBzZWxmLl9zZXRfaXRlbV90aW1lX3BhaXJzKG5vbmV4cGlyZWRfcGFpcnMpCiAKKyAgICBA
c3RhdGljbWV0aG9kCisgICAgZGVmIF9leHBpcmVfaXRlbShrZXksIGl0ZW1faWQpOgorICAgICAg
ICBhY3RpdmVfd29ya19pdGVtcyA9IGRiLmdldChrZXkpCisgICAgICAgIGFjdGl2ZV93b3JrX2l0
ZW1zLl9yZW1vdmVfaXRlbShpdGVtX2lkKQorICAgICAgICBhY3RpdmVfd29ya19pdGVtcy5wdXQo
KQorCisgICAgZGVmIGV4cGlyZV9pdGVtKHNlbGYsIGl0ZW1faWQpOgorICAgICAgICByZXR1cm4g
ZGIucnVuX2luX3RyYW5zYWN0aW9uKHNlbGYuX2V4cGlyZV9pdGVtLCBhY3RpdmVfaXRlbXMua2V5
KCksIHF1ZXVlX3N0YXR1cy5hY3RpdmVfcGF0Y2hfaWQpCisKICAgICBkZWYgZGVhY3RpdmF0ZV9l
eHBpcmVkKHNlbGYsIG5vdyk6CiAgICAgICAgIG9uZV9ob3VyX2FnbyA9IHRpbWUubWt0aW1lKChu
b3cgLSB0aW1lZGVsdGEobWludXRlcz02MCkpLnRpbWV0dXBsZSgpKQogICAgICAgICBub25leHBp
cmVkX3BhaXJzID0gW3BhaXIgZm9yIHBhaXIgaW4gc2VsZi5faXRlbV90aW1lX3BhaXJzKCkgaWYg
cGFpclsxXSA+IG9uZV9ob3VyX2Fnb10KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1F1ZXVlU3Rh
dHVzU2VydmVyL3RlbXBsYXRlcy9yZWxlYXNlcGF0Y2guaHRtbCBiL1dlYktpdFRvb2xzL1F1ZXVl
U3RhdHVzU2VydmVyL3RlbXBsYXRlcy9yZWxlYXNlcGF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODBk
MmMyZGZkODljOGZhYjcyYTQzMDQxNzA5Yjc1ZTg0NWM4NzdmCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvdGVtcGxhdGVzL3JlbGVhc2VwYXRjaC5odG1s
CkBAIC0wLDAgKzEsMyBAQAorPGZvcm0gbmFtZT0icmVsZWFzZV9wYXRjaCIgZW5jdHlwZT0ibXVs
dGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJwb3N0Ij4KK1BhdGNoIHRvIHJlbGVhc2U6IDxpbnB1
dCBuYW1lPSJhdHRhY2htZW50X2lkIj48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iUmVsZWFz
ZSBsb2NrcyBhbmQgcmVtb3ZlIGZyb20gcXVldWUiPjwvZGl2PgorPC9mb3JtPgpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5w
eSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9zdGF0dXNzZXJ2ZXIu
cHkKaW5kZXggOTVkMmYxNjJlNThmZmJhMWI0ODg4OGZiODY4NjdkYTcyOWFiNjI5Zi4uMDFiNjVl
OTU4MDAxYWM4YTcxMDE0MDhiYzliMzNiYTg4MzUzZjlkYSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5weQorKysgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvc3RhdHVzc2VydmVyLnB5CkBAIC0x
MDcsNiArMTA3LDE3IEBAIGNsYXNzIFN0YXR1c1NlcnZlcjoKICAgICAgICAgcGF0Y2hfc3RhdHVz
X3VybCA9ICIlcy9uZXh0LXBhdGNoLyVzIiAlIChzZWxmLnVybCwgcXVldWVfbmFtZSkKICAgICAg
ICAgcmV0dXJuIHNlbGYuX2ZldGNoX3VybChwYXRjaF9zdGF0dXNfdXJsKQogCisgICAgZGVmIF9w
b3N0X3JlbGVhc2Vfd29ya19pdGVtKHNlbGYsIHBhdGNoKToKKyAgICAgICAgcmVsZWFzZV9wYXRj
aF91cmwgPSAiJXMvcmVsZWFzZS1wYXRjaC8lcyIgJSAoc2VsZi51cmwsIHF1ZXVlX25hbWUpCisg
ICAgICAgIHNlbGYuX2Jyb3dzZXIub3BlbihyZWxlYXNlX3BhdGNoX3VybCkKKyAgICAgICAgc2Vs
Zi5fYnJvd3Nlci5zZWxlY3RfZm9ybShuYW1lPSJyZWxlYXNlX3BhdGNoIikKKyAgICAgICAgc2Vs
Zi5fYnJvd3NlclsiYXR0YWNobWVudF9pZCJdID0gcGF0Y2guaWQoKQorICAgICAgICBzZWxmLl9i
cm93c2VyLnN1Ym1pdCgpCisKKyAgICBkZWYgcmVsZWFzZV93b3JrX2l0ZW0oc2VsZiwgcXVldWVf
bmFtZSwgcGF0Y2gpOgorICAgICAgICBfbG9nLmRlYnVnKCJSZWxlYXNpbmcgd29yayBpdGVtICVz
IGZyb20gJXMiICUgKHBhdGNoLmlkKCksIHF1ZXVlX25hbWUpKQorICAgICAgICByZXR1cm4gTmV0
d29ya1RyYW5zYWN0aW9uKCkucnVuKGxhbWJkYTogc2VsZi5fcG9zdF9yZWxlYXNlX3dvcmtfaXRl
bShxdWV1ZV9uYW1lLCBwYXRjaCkpCisKICAgICBkZWYgdXBkYXRlX3dvcmtfaXRlbXMoc2VsZiwg
cXVldWVfbmFtZSwgd29ya19pdGVtcyk6CiAgICAgICAgIF9sb2cuZGVidWcoIlJlY29yZGluZyB3
b3JrIGl0ZW1zOiAlcyBmb3IgJXMiICUgKHdvcmtfaXRlbXMsIHF1ZXVlX25hbWUpKQogICAgICAg
ICByZXR1cm4gTmV0d29ya1RyYW5zYWN0aW9uKCkucnVuKGxhbWJkYTogc2VsZi5fcG9zdF93b3Jr
X2l0ZW1zX3RvX3NlcnZlcihxdWV1ZV9uYW1lLCB3b3JrX2l0ZW1zKSkKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHkgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5CmluZGV4IGM3
ODY2ZGNmZjY5NmZlYTZmNWUwNGVmMTY2ODM0NmI1NDJmZTAyZTguLjkwMGNiYWQwOThmYjM0NTNj
ODBkZWI3NjUwOTJmY2MzMmQ0NWM2YmUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weQpAQCAtMTk4LDYgKzE5OCw5IEBAIGNs
YXNzIEFic3RyYWN0UGF0Y2hRdWV1ZShBYnN0cmFjdFF1ZXVlKToKICAgICBkZWYgX2ZldGNoX25l
eHRfd29ya19pdGVtKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fdG9vbC5zdGF0dXNfc2Vy
dmVyLm5leHRfd29ya19pdGVtKHNlbGYubmFtZSkKIAorICAgIGRlZiBfcmVsZWFzZV93b3JrX2l0
ZW0oc2VsZiwgcGF0Y2gpOgorICAgICAgICBzZWxmLl90b29sLnN0YXR1c19zZXJ2ZXIucmVsZWFz
ZV93b3JrX2l0ZW0oc2VsZi5uYW1lLCBwYXRjaCkKKwogICAgIGRlZiBfZGlkX3Bhc3Moc2VsZiwg
cGF0Y2gpOgogICAgICAgICBzZWxmLl91cGRhdGVfc3RhdHVzKHNlbGYuX3Bhc3Nfc3RhdHVzLCBw
YXRjaCkKIApAQCAtMjQ3LDYgKzI1MCw3IEBAIGNsYXNzIENvbW1pdFF1ZXVlKEFic3RyYWN0UGF0
Y2hRdWV1ZSwgU3RlcFNlcXVlbmNlRXJyb3JIYW5kbGVyLCBDb21taXRRdWV1ZVRhc2tECiAgICAg
ICAgICAgICB2YWxpZGF0b3IgPSBDb21taXR0ZXJWYWxpZGF0b3Ioc2VsZi5fdG9vbC5idWdzKQog
ICAgICAgICAgICAgdmFsaWRhdG9yLnJlamVjdF9wYXRjaF9mcm9tX2NvbW1pdF9xdWV1ZShwYXRj
aC5pZCgpLCBzZWxmLl9lcnJvcl9tZXNzYWdlX2Zvcl9idWcodGFzay5mYWlsdXJlX3N0YXR1c19p
ZCwgZSkpCiAgICAgICAgICAgICBzZWxmLl9kaWRfZmFpbChwYXRjaCkKKyAgICAgICAgc2VsZi5f
cmVsZWFzZV93b3JrX2l0ZW0ocGF0Y2gpCiAKICAgICBkZWYgX2Vycm9yX21lc3NhZ2VfZm9yX2J1
ZyhzZWxmLCBzdGF0dXNfaWQsIHNjcmlwdF9lcnJvcik6CiAgICAgICAgIGlmIG5vdCBzY3JpcHRf
ZXJyb3Iub3V0cHV0OgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL3F1ZXVlc191bml0dGVzdC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXNfdW5pdHRlc3QucHkKaW5kZXggMGQwZGI0ZDgyNTkz
YWMwM2ZkODA0OGRlZjdjOWEyZGJiYzNiNmVjZC4uYzNjM2E0MmM0NWMzZmU5ZjBjYjhjZDA1ZWMy
NWQ0ZTk5ZjZjYzdmYSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL3F1ZXVlc191bml0dGVzdC5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzX3VuaXR0ZXN0LnB5CkBAIC0yMzcsNiArMjM3
LDcgQEAgTU9DSzogdXBkYXRlX3N0YXR1czogY29tbWl0LXF1ZXVlIFBhc3MKICAgICAgICAgICAg
ICJwcm9jZXNzX3dvcmtfaXRlbSI6ICIiIk1PQ0s6IHVwZGF0ZV9zdGF0dXM6IGNvbW1pdC1xdWV1
ZSBQYXRjaCBkb2VzIG5vdCBhcHBseQogTU9DSyBzZXR0aW5nIGZsYWcgJ2NvbW1pdC1xdWV1ZScg
dG8gJy0nIG9uIGF0dGFjaG1lbnQgJzE5Nycgd2l0aCBjb21tZW50ICdSZWplY3RpbmcgcGF0Y2gg
MTk3IGZyb20gY29tbWl0LXF1ZXVlLicgYW5kIGFkZGl0aW9uYWwgY29tbWVudCAnTU9DSyBzY3Jp
cHQgZXJyb3InCiBNT0NLOiB1cGRhdGVfc3RhdHVzOiBjb21taXQtcXVldWUgRmFpbAorTU9DSzog
cmVsZWFzZV93b3JrX2l0ZW06IGNvbW1pdC1xdWV1ZSAxOTcKICIiIiwKICAgICAgICAgICAgICJo
YW5kbGVfdW5leHBlY3RlZF9lcnJvciI6ICJNT0NLIHNldHRpbmcgZmxhZyAnY29tbWl0LXF1ZXVl
JyB0byAnLScgb24gYXR0YWNobWVudCAnMTk3JyB3aXRoIGNvbW1lbnQgJ1JlamVjdGluZyBwYXRj
aCAxOTcgZnJvbSBjb21taXQtcXVldWUuJyBhbmQgYWRkaXRpb25hbCBjb21tZW50ICdNb2NrIGVy
cm9yIG1lc3NhZ2UnXG4iLAogICAgICAgICAgICAgImhhbmRsZV9zY3JpcHRfZXJyb3IiOiAiU2Ny
aXB0RXJyb3IgZXJyb3IgbWVzc2FnZVxuIiwKQEAgLTMxOCw2ICszMTksNyBAQCBNT0NLOiB1cGRh
dGVfc3RhdHVzOiBjb21taXQtcXVldWUgUGFzcwogTU9DSzogdXBkYXRlX3N0YXR1czogY29tbWl0
LXF1ZXVlIEJ1aWx0IHBhdGNoCiBNT0NLOiB1cGRhdGVfc3RhdHVzOiBjb21taXQtcXVldWUgUGFz
c2VkIHRlc3RzCiBNT0NLOiB1cGRhdGVfc3RhdHVzOiBjb21taXQtcXVldWUgUmV0cnkKK01PQ0s6
IHJlbGVhc2Vfd29ya19pdGVtOiBjb21taXQtcXVldWUgMTk3CiAiIiIKICAgICAgICAgT3V0cHV0
Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHF1ZXVlLnByb2Nlc3Nfd29ya19pdGVtLCBb
TW9ja1BhdGNoKCldLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQogCmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkKaW5kZXggMTFiOWNhZGQ3
Y2Y3NDNmMDBiZWNjZDM2MGY4NWZjYmRlM2Y3YjdkMC4uZGQ2N2ZmOGFhMzU5NjM5OGFhNDdkYTcz
ODVjY2NhNzIyNWEyMmRkMiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL21vY2t0b29sLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9v
bC9tb2NrdG9vbC5weQpAQCAtNTQ3LDYgKzU0Nyw5IEBAIGNsYXNzIE1vY2tTdGF0dXNTZXJ2ZXIo
b2JqZWN0KToKICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIHJldHVybiBzZWxmLl93
b3JrX2l0ZW1zWzBdCiAKKyAgICBkZWYgcmVsZWFzZV93b3JrX2l0ZW0oc2VsZiwgcXVldWVfbmFt
ZSwgcGF0Y2gpOgorICAgICAgICBsb2coIk1PQ0s6IHJlbGVhc2Vfd29ya19pdGVtOiAlcyAlcyIg
JSAocXVldWVfbmFtZSwgcGF0Y2guaWQoKSkpCisKICAgICBkZWYgdXBkYXRlX3dvcmtfaXRlbXMo
c2VsZiwgcXVldWVfbmFtZSwgd29ya19pdGVtcyk6CiAgICAgICAgIHNlbGYuX3dvcmtfaXRlbXMg
PSB3b3JrX2l0ZW1zCiAgICAgICAgIGxvZygiTU9DSzogdXBkYXRlX3dvcmtfaXRlbXM6ICVzICVz
IiAlIChxdWV1ZV9uYW1lLCB3b3JrX2l0ZW1zKSkK
</data>
<flag name="review"
          id="61197"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="61198"
          type_id="3"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>