<?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>36095</bug_id>
          
          <creation_ts>2010-03-14 04:29:04 -0700</creation_ts>
          <short_desc>REGRESSION(r53287): drop event is not fired if dataTransfer.dropEffect is not explicitly set</short_desc>
          <delta_ts>2010-03-15 17:10:27 -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="Oliver Hunt">oliver</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dbates</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>199462</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-03-14 04:29:04 -0700</bug_when>
    <thetext>REGRESSION(r53287): drop event is not fired if dataTransfer.dropEffect is not explicitly set</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199463</commentid>
    <comment_count>1</comment_count>
      <attachid>50671</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-03-14 04:39:11 -0700</bug_when>
    <thetext>Created attachment 50671
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199464</commentid>
    <comment_count>2</comment_count>
      <attachid>50671</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-03-14 04:47:05 -0700</bug_when>
    <thetext>Comment on attachment 50671
Patch

Gah! despite fixing every difference i could obviously see the testcase still fails :-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199494</commentid>
    <comment_count>3</comment_count>
      <attachid>50675</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-03-14 14:20:10 -0700</bug_when>
    <thetext>Created attachment 50675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199496</commentid>
    <comment_count>4</comment_count>
      <attachid>50675</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-03-14 14:35:52 -0700</bug_when>
    <thetext>Comment on attachment 50675
Patch

&gt; -    , m_dropEffect(&quot;none&quot;)
&gt; +    , m_dropEffect(&quot;uninitialized&quot;)

Why not use the null string instead of the string &quot;uninitialized&quot;?

&gt;  static DragOperation dragOpFromIEOp(const String&amp; op)
&gt;  {
&gt;      // yep, it&apos;s really just this fixed set
&gt; -    if (op == &quot;uninitialized&quot;)
&gt; +    if (op.isEmpty() || op == &quot;uninitialized&quot;)
&gt;          return DragOperationEvery;

What does this change accomplish?

&gt; +    if (srcOpMask &amp; DragOperationMove || srcOpMask &amp; DragOperationGeneric)
&gt; +        return (srcOpMask = DragOperationMove);

Could you write this in a more conventional fashion so the assignment statement is more obvious?

    if (srcOpMask &amp; DragOperationMove || srcOpMask &amp; DragOperationGeneric) {
        srcOpMask = DragOperationMove;
        return DragOperationMove;
    }

A function like defaultOperationForDrag, that has a side effect of changing its argument, probably needs a name with a verb rather than sounding just like a clean getter with no side effects.

I&apos;m going to say r=me, but I&apos;m puzzled by the use of a specific string for the uninitialized state and by the unexplained change to dragOpFromIEOp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199510</commentid>
    <comment_count>5</comment_count>
      <attachid>50675</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-03-14 15:38:38 -0700</bug_when>
    <thetext>Comment on attachment 50675
Patch

Looking at addressing darin&apos;s comments lead to some obvious improvements in the patch.  New one coming up</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199513</commentid>
    <comment_count>6</comment_count>
      <attachid>50679</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-03-14 16:13:52 -0700</bug_when>
    <thetext>Created attachment 50679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199514</commentid>
    <comment_count>7</comment_count>
      <attachid>50679</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-03-14 16:18:11 -0700</bug_when>
    <thetext>Comment on attachment 50679
Patch

&gt; -    , m_dropEffect(&quot;none&quot;)
&gt; +    , m_dropEffect(&quot;uninitialized&quot;)

Why not use the null string instead of &quot;uninitialized&quot;?

Both initializing to null and checking for null are more efficient than initializing to &quot;uninitialized&quot; and comparing with &quot;uninitialized&quot;. Also, I think null is a pretty clear way to represent a drop effect that has not been explicitly set; arguably clearer than the string &quot;uninitialized&quot;.

&gt; +static DragOperation defaultOperationForDrag(const DragOperation&amp; srcOpMask)

Since DragOperation is a scalar, I think typing it just DragOperation is fine; it doesn&apos;t have to be const DragOperation&amp;.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199516</commentid>
    <comment_count>8</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-03-14 16:34:13 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 50679 [details])
&gt; &gt; -    , m_dropEffect(&quot;none&quot;)
&gt; &gt; +    , m_dropEffect(&quot;uninitialized&quot;)
&gt; 
&gt; Why not use the null string instead of &quot;uninitialized&quot;?
&gt; 
&gt; Both initializing to null and checking for null are more efficient than
&gt; initializing to &quot;uninitialized&quot; and comparing with &quot;uninitialized&quot;. Also, I
&gt; think null is a pretty clear way to represent a drop effect that has not been
&gt; explicitly set; arguably clearer than the string &quot;uninitialized&quot;.

The code for converting between these strings and the actual enum is used to distinguish valid from invalid strings, and an empty string is invalid -- i would have to either add an additional empty string check in some places, or make the conversion function take a flag to indicate that should convert an empty string

&gt; 
&gt; &gt; +static DragOperation defaultOperationForDrag(const DragOperation&amp; srcOpMask)
&gt; 
&gt; Since DragOperation is a scalar, I think typing it just DragOperation is fine;
&gt; it doesn&apos;t have to be const DragOperation&amp;.
whoops

&gt; 
&gt; r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199518</commentid>
    <comment_count>9</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-03-14 17:02:08 -0700</bug_when>
    <thetext>Committed r55977: &lt;http://trac.webkit.org/changeset/55977&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50671</attachid>
            <date>2010-03-14 04:39:11 -0700</date>
            <delta_ts>2010-03-14 14:20:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36095-20100314043909.patch</filename>
            <type>text/plain</type>
            <size>11370</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxMTBjMzljLi5mNGUzMDNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDMt
MTQgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OKHI1MzI4Nyk6IGRyb3AgZXZl
bnQgaXMgbm90IGZpcmVkIGlmIGRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzIG5vdCBleHBsaWNp
dGx5IHNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzYwOTUKKworICAgICAgICBDb3JyZWN0IHRoaXMgdGVzdCB0byBjb3ZlciB0aGUgc29tZXdoYXQg
Yml6YXJyZSAiY29ycmVjdCIgaGFuZGxpbmcKKyAgICAgICAgb2YgdW5kZWZpbmVkIGRyb3BFZmZl
Y3QKKworICAgICAgICAqIGZhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AuaHRtbDoKKwogMjAxMC0wMy0xMiAg
U2h1IENoYW5nICA8Y2hhbmcuc2h1QG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXZpZCBMZXZpbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctYW5k
LWRyb3AtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJv
cC1leHBlY3RlZC50eHQKaW5kZXggN2MyZGUwNy4uZjliY2ViZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC1leHBlY3RlZC50eHQKQEAgLTExLDcgKzEx
LDcgQEAgUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCiBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJtb3ZlIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibGluayIKLVBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
Im5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJtb3ZlIgogCiBX
aGVuIGVmZmVjdEFsbG93ZWQgPT0gInVuZGVmaW5lZCIKIApAQCAtMjQsNyArMjQsNyBAQCBQQVNT
IGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJtb3ZlIgogUEFTUyBldmVudC5kYXRh
VHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAidW5pbml0aWFsaXplZCIKIFBBU1MgZXZlbnQuZGF0
YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImxpbmsiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5l
ZmZlY3RBbGxvd2VkIGlzICJ1bmluaXRpYWxpemVkIgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIu
ZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Qg
aXMgIm1vdmUiCiAKIFdoZW4gZWZmZWN0QWxsb3dlZCA9PSAibm9uZSIKIApAQCAtNDAsNyArNDAs
NyBAQCBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgogUEFTUyBl
dmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKIFBBU1MgZXZlbnQuZGF0YVRy
YW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9w
RWZmZWN0IGlzICJsaW5rIgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAi
bm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCiAKIFdo
ZW4gZWZmZWN0QWxsb3dlZCA9PSAiY29weSIKIApAQCAtNDgsNyArNDgsNyBAQCBQQVNTIGV2ZW50
LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgogUEFTUyBldmVudC5kYXRhVHJhbnNm
ZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZl
Y3QgaXMgIm5vbmUiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25l
IgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZl
bnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCiAKIFdoZW4gZWZmZWN0QWxsb3dl
ZCA9PSAibW92ZSIKIApAQCAtNTYsNyArNTYsNyBAQCBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5k
cm9wRWZmZWN0IGlzICJub25lIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBp
cyAibm9uZSIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCiBQ
QVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgotUEFTUyBldmVudC5k
YXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVy
LmRyb3BFZmZlY3QgaXMgIm1vdmUiCiAKIFdoZW4gZWZmZWN0QWxsb3dlZCA9PSAibGluayIKIApA
QCAtNjQsNyArNjQsNyBAQCBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJu
b25lIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCiBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJsaW5rIgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
ImxpbmsiCiAKIFdoZW4gZWZmZWN0QWxsb3dlZCA9PSAiY29weU1vdmUiCiAKQEAgLTcyLDcgKzcy
LDcgQEAgUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCiBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJtb3ZlIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibm9uZSIKLVBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
Im5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJtb3ZlIgogCiBX
aGVuIGVmZmVjdEFsbG93ZWQgPT0gImNvcHlMaW5rIgogCkBAIC04MCw3ICs4MCw3IEBAIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCiBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5IgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibm9uZSIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
ImxpbmsiCi1QQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgorUEFT
UyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKIAogV2hlbiBlZmZlY3RB
bGxvd2VkID09ICJsaW5rTW92ZSIKIApAQCAtODgsNyArODgsNyBAQCBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibm9uZSIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
Im1vdmUiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJsaW5rIgotUEFT
UyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0
YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCiAKIFdoZW4gZWZmZWN0QWxsb3dlZCA9PSAi
ZHVtbXkiCiAKQEAgLTEwMSw3ICsxMDEsNyBAQCBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9w
RWZmZWN0IGlzICJtb3ZlIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBp
cyAidW5pbml0aWFsaXplZCIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
ImxpbmsiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJ1bmluaXRp
YWxpemVkIgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BB
U1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCiAKIFRFU1QgQ09NUExF
VEUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC5odG1sCmluZGV4IDky
Y2JjZDMuLmEwNzllODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWct
YW5kLWRyb3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9w
Lmh0bWwKQEAgLTEwOCw5ICsxMDgsMjYgQEAKICAgICAgICAgICAgIC8vIGRvZXNuJ3QgbmVlZCBz
cGVjaWFsIGNhc2VzIGZvciB1bmRlZmluZWQuCiAgICAgICAgICAgICBjaG9zZW5FZmZlY3RBbGxv
d2VkID0gInVuaW5pdGlhbGl6ZWQiOwogICAgICAgICB9Ci0gICAgICAgIAorICAgICAgICBleHBl
Y3RlZCA9IGRyb3BFZmZlY3RFbGVtLm9wdGlvbnNbZHJvcEVmZmVjdEVsZW0uc2VsZWN0ZWRJbmRl
eF0udmFsdWU7CisgICAgICAgIGlmIChjaG9zZW5Ecm9wRWZmZWN0ID09ICJkdW1teSIpIHsKKyAg
ICAgICAgICAgIHN3aXRjaCAoY2hvc2VuRWZmZWN0QWxsb3dlZCkgeworICAgICAgICAgICAgICAg
IGNhc2UgInVuZGVmaW5lZCI6CisgICAgICAgICAgICAgICAgY2FzZSAiY29weUxpbmsiOgorICAg
ICAgICAgICAgICAgICAgICBleHBlY3RlZCA9ICJjb3B5IjsKKyAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAidW5pbml0aWFsaXplZCI6CisgICAgICAgICAg
ICAgICAgY2FzZSAiYWxsIjoKKyAgICAgICAgICAgICAgICBjYXNlICJtb3ZlIjoKKyAgICAgICAg
ICAgICAgICBjYXNlICJjb3B5TW92ZSI6CisgICAgICAgICAgICAgICAgY2FzZSAibGlua01vdmUi
OgorICAgICAgICAgICAgICAgICAgICBleHBlY3RlZCA9ICJtb3ZlIjsKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAg
ICAgZXhwZWN0ZWQgPSBjaG9zZW5FZmZlY3RBbGxvd2VkOworICAgICAgICAgICAgfQorICAgICAg
ICB9CiAgICAgICAgIGlmIChpc0Ryb3BFZmZlY3RBbGxvd2VkKGNob3NlbkRyb3BFZmZlY3QsIGNo
b3NlbkVmZmVjdEFsbG93ZWQpKQotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdl
dmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCcsIGRyb3BFZmZlY3RFbGVtLm9wdGlvbnNbZHJv
cEVmZmVjdEVsZW0uc2VsZWN0ZWRJbmRleF0udmFsdWUpOworICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCcsIGV4cGVjdGVkKTsK
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdldmVudC5k
YXRhVHJhbnNmZXIuZHJvcEVmZmVjdCcsICdub25lJyk7CiAgICAgICAgICAgICAKQEAgLTEyNiw2
ICsxNDMsOCBAQAogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGlmIChjaG9zZW5E
cm9wRWZmZWN0ID09ICJsaW5rIiAmJiBbImxpbmsiLCAiY29weUxpbmsiLCAibGlua01vdmUiLCAi
dW5pbml0aWFsaXplZCIsICJhbGwiXS5pbmRleE9mKGFsbG93ZWREcm9wRWZmZWN0KSAhPSAtMSkK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBpZiAoY2hvc2VuRHJvcEVmZmVjdCA9
PSAiZHVtbXkiICYmIFsiY29weSIsICJsaW5rIiwgIm1vdmUiLCAiY29weUxpbmsiLCAiY29weU1v
dmUiLCAibGlua01vdmUiLCAidW5pbml0aWFsaXplZCIsICJhbGwiXS5pbmRleE9mKGFsbG93ZWRE
cm9wRWZmZWN0KSAhPSAtMSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOyAKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCAyZGYwNGI1Li5mNWVkOGU4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEw
LTAzLTE0ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTihyNTMyODcpOiBkcm9w
IGV2ZW50IGlzIG5vdCBmaXJlZCBpZiBkYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyBub3QgZXhw
bGljaXRseSBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM2MDk1CisKKyAgICAgICAgVGhlIGlzc3VlIGhlcmUgaXMgdGhhdCB3aGlsZSBkcm9wRWZm
ZWN0IGlzIG1lYW50IHRvIGJlIGluaXRpYWxpemVkCisgICAgICAgIHRvICJub25lIiwgdGhlIGJl
aGF2aW91ciBvZiB0aGUgZHJhZyBpcyBkaWZmZXJzIGJldHdlZW4gZHJhZ0VmZmVjdAorICAgICAg
ICBub3QgYmVpbmcgc2V0IGFuZCBkcmFnRWZmZWN0IGJlaW5nIGV4cGxpY2l0bHkgc2V0IHRvICJu
b25lIgorCisgICAgICAgIFRoaXMgcGF0Y2ggY29ycmVjdHMgdGhpcyBiZWhhdmlvdXIgYnkgbWFr
aW5nIENsaXBib2FyZCBkaXN0aW5ndWlzaAorICAgICAgICBiZXR3ZWVuIHRoZSBpbml0aWFsICJu
b25lIiB2YWx1ZSBvZiBkcm9wRWZmZWN0IGFuZCBhbiBleHBsaWNpdCAibm9uZSIuCisgICAgICAg
IFRoaXMgYWxvbmUgaXMgaW5zdWZmaWNpZW50IGZvciBjb3JyZWN0IGJlaGF2aW91ciwgd2UgYWxz
byBuZWVkIHRvCisgICAgICAgIHJlc3VycmVjdCB0aGUgcmVtb3ZlZCBkZWZhdWx0T3BlcmF0aW9u
Rm9yRHJhZyBmdW5jdGlvbiwgYnV0IHdlIG5vdworICAgICAgICB1c2UgdGhlIGZ1bmN0aW9uIG9u
bHkgd2hlbiBkcmFnRWZmZWN0IGlzIHVuaW5pdGlhbGl6ZWQuICBUaGVyZSBhcmUgYQorICAgICAg
ICBmZXcgdHdlYWtzIHRvIHRoZSBiZWhhdmlvdXIgb2YgdGhlIGRlZmF1bHRPcGVyYXRpb25Gb3JE
cmFnIGFzIHdlbGwKKyAgICAgICAgdG8gZW5zdXJlIGV4YWN0bHkgdGhlIHNhbWUgc2V0IG9mIG91
dGNvbWVzIGZvciBhbGwgY2FzZXMgdGhhdCB3ZQorICAgICAgICBtYXkgaGl0IGl0LgorCisgICAg
ICAgICogZG9tL0NsaXBib2FyZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OkNs
aXBib2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpkcmFnT3BGcm9tSUVPcCk6CisgICAgICAgIChX
ZWJDb3JlOjpDbGlwYm9hcmQ6OmRlc3RpbmF0aW9uT3BlcmF0aW9uKToKKyAgICAgICAgKiBkb20v
Q2xpcGJvYXJkLmg6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OmRyb3BFZmZlY3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpkcm9wRWZmZWN0SXNVbmluaXRpYWxpemVkKToK
KyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRl
ZmF1bHRPcGVyYXRpb25Gb3JEcmFnKToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVy
Ojp0cnlESFRNTERyYWcpOgorCiAyMDEwLTAzLTEzICBLaW0gR3LDtm5ob2xtICA8a2ltLmdyb25o
b2xtQG5vbW92b2suY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hy
aXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmNwcCBiL1dlYkNv
cmUvZG9tL0NsaXBib2FyZC5jcHAKaW5kZXggN2YzM2FhYy4uZGIzYWZkZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vQ2xpcGJvYXJkLmNwcAorKysgYi9XZWJDb3JlL2RvbS9DbGlwYm9hcmQuY3Bw
CkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ2xpcGJvYXJkOjpDbGlw
Ym9hcmQoQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgYm9vbCBpc0ZvckRyYWdnaW5nKSAK
ICAgICA6IG1fcG9saWN5KHBvbGljeSkKLSAgICAsIG1fZHJvcEVmZmVjdCgibm9uZSIpCisgICAg
LCBtX2Ryb3BFZmZlY3QoInVuaW5pdGlhbGl6ZWQiKQogICAgICwgbV9lZmZlY3RBbGxvd2VkKCJ1
bmluaXRpYWxpemVkIikKICAgICAsIG1fZHJhZ1N0YXJ0ZWQoZmFsc2UpCiAgICAgLCBtX2ZvckRy
YWdnaW5nKGlzRm9yRHJhZ2dpbmcpCkBAIC01Nyw3ICs1Nyw3IEBAIHZvaWQgQ2xpcGJvYXJkOjpz
ZXRBY2Nlc3NQb2xpY3koQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSkKIHN0YXRpYyBEcmFn
T3BlcmF0aW9uIGRyYWdPcEZyb21JRU9wKGNvbnN0IFN0cmluZyYgb3ApCiB7CiAgICAgLy8geWVw
LCBpdCdzIHJlYWxseSBqdXN0IHRoaXMgZml4ZWQgc2V0Ci0gICAgaWYgKG9wID09ICJ1bmluaXRp
YWxpemVkIikKKyAgICBpZiAob3AuaXNFbXB0eSgpIHx8IG9wID09ICJ1bmluaXRpYWxpemVkIikK
ICAgICAgICAgcmV0dXJuIERyYWdPcGVyYXRpb25FdmVyeTsKICAgICBpZiAob3AgPT0gIm5vbmUi
KQogICAgICAgICByZXR1cm4gRHJhZ09wZXJhdGlvbk5vbmU7CkBAIC0xMTAsNyArMTEwLDcgQEAg
RHJhZ09wZXJhdGlvbiBDbGlwYm9hcmQ6OnNvdXJjZU9wZXJhdGlvbigpIGNvbnN0CiBEcmFnT3Bl
cmF0aW9uIENsaXBib2FyZDo6ZGVzdGluYXRpb25PcGVyYXRpb24oKSBjb25zdAogewogICAgIERy
YWdPcGVyYXRpb24gb3AgPSBkcmFnT3BGcm9tSUVPcChtX2Ryb3BFZmZlY3QpOwotICAgIEFTU0VS
VChvcCA9PSBEcmFnT3BlcmF0aW9uQ29weSB8fCBvcCA9PSBEcmFnT3BlcmF0aW9uTm9uZSB8fCBv
cCA9PSBEcmFnT3BlcmF0aW9uTGluayB8fCBvcCA9PSBEcmFnT3BlcmF0aW9uR2VuZXJpYyB8fCBv
cCA9PSBEcmFnT3BlcmF0aW9uTW92ZSk7CisgICAgQVNTRVJUKG9wID09IERyYWdPcGVyYXRpb25D
b3B5IHx8IG9wID09IERyYWdPcGVyYXRpb25Ob25lIHx8IG9wID09IERyYWdPcGVyYXRpb25MaW5r
IHx8IG9wID09IERyYWdPcGVyYXRpb25HZW5lcmljIHx8IG9wID09IERyYWdPcGVyYXRpb25Nb3Zl
IHx8IG9wID09IERyYWdPcGVyYXRpb25FdmVyeSk7CiAgICAgcmV0dXJuIG9wOwogfQogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9DbGlwYm9hcmQuaCBiL1dlYkNvcmUvZG9tL0NsaXBib2FyZC5o
CmluZGV4IDJmNGRjNmYuLjQwMThlNGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0NsaXBib2Fy
ZC5oCisrKyBiL1dlYkNvcmUvZG9tL0NsaXBib2FyZC5oCkBAIC00Myw4ICs0Myw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gSXMgdGhpcyBvcGVyYXRpb24gYSBkcmFnLWRyb3Ag
b3IgYSBjb3B5LXBhc3RlPwogICAgICAgICBib29sIGlzRm9yRHJhZ2dpbmcoKSBjb25zdCB7IHJl
dHVybiBtX2ZvckRyYWdnaW5nOyB9CiAKLSAgICAgICAgU3RyaW5nIGRyb3BFZmZlY3QoKSBjb25z
dCB7IHJldHVybiBtX2Ryb3BFZmZlY3Q7IH0KKyAgICAgICAgU3RyaW5nIGRyb3BFZmZlY3QoKSBj
b25zdCB7IHJldHVybiBkcm9wRWZmZWN0SXNVbmluaXRpYWxpemVkKCkgPyAibm9uZSIgOiBtX2Ry
b3BFZmZlY3Q7IH0KICAgICAgICAgdm9pZCBzZXREcm9wRWZmZWN0KGNvbnN0IFN0cmluZyYpOwor
ICAgICAgICBib29sIGRyb3BFZmZlY3RJc1VuaW5pdGlhbGl6ZWQoKSBjb25zdCB7IHJldHVybiBt
X2Ryb3BFZmZlY3QgPT0gInVuaW5pdGlhbGl6ZWQiOyB9CiAgICAgICAgIFN0cmluZyBlZmZlY3RB
bGxvd2VkKCkgY29uc3QgeyByZXR1cm4gbV9lZmZlY3RBbGxvd2VkOyB9CiAgICAgICAgIHZvaWQg
c2V0RWZmZWN0QWxsb3dlZChjb25zdCBTdHJpbmcmKTsKICAgICAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIu
Y3BwCmluZGV4IDA2ZDM2NDkuLmZkNGY0MzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9EcmFn
Q29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcApAQCAt
NDgyLDYgKzQ4MiwyMSBAQCBib29sIERyYWdDb250cm9sbGVyOjpjYW5Qcm9jZXNzRHJhZyhEcmFn
RGF0YSogZHJhZ0RhdGEpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBEcmFnT3BlcmF0
aW9uIGRlZmF1bHRPcGVyYXRpb25Gb3JEcmFnKERyYWdPcGVyYXRpb24mIHNyY09wTWFzaykKK3sK
KyAgICAvLyBUaGlzIGlzIGRlc2lnbmVkIHRvIG1hdGNoIElFJ3Mgb3BlcmF0aW9uIGZhbGxiYWNr
IGZvciB0aGUgY2FzZSB3aGVyZQorICAgIC8vIHRoZSBwYWdlIGNhbGxzIHByZXZlbnREZWZhdWx0
KCkgaW4gYSBkcmFnIGV2ZW50IGJ1dCBkb2Vzbid0IHNldCBkcm9wRWZmZWN0LgorICAgIGlmIChz
cmNPcE1hc2sgJiBEcmFnT3BlcmF0aW9uTW92ZSB8fCBzcmNPcE1hc2sgJiBEcmFnT3BlcmF0aW9u
R2VuZXJpYykKKyAgICAgICAgcmV0dXJuIChzcmNPcE1hc2sgPSBEcmFnT3BlcmF0aW9uTW92ZSk7
CisgICAgaWYgKHNyY09wTWFzayAmIERyYWdPcGVyYXRpb25Db3B5KQorICAgICAgICByZXR1cm4g
RHJhZ09wZXJhdGlvbkNvcHk7CisgICAgaWYgKHNyY09wTWFzayAmIERyYWdPcGVyYXRpb25MaW5r
KQorICAgICAgICByZXR1cm4gRHJhZ09wZXJhdGlvbkxpbms7CisgICAgCisgICAgLy8gRklYTUU6
IERvZXMgSUUgcmVhbGx5IHJldHVybiAiZ2VuZXJpYyIgZXZlbiBpZiBubyBvcGVyYXRpb25zIHdl
cmUgYWxsb3dlZCBieSB0aGUgc291cmNlPworICAgIHJldHVybiBEcmFnT3BlcmF0aW9uR2VuZXJp
YzsKK30KKwogYm9vbCBEcmFnQ29udHJvbGxlcjo6dHJ5REhUTUxEcmFnKERyYWdEYXRhKiBkcmFn
RGF0YSwgRHJhZ09wZXJhdGlvbiYgb3BlcmF0aW9uKQogewogICAgIEFTU0VSVChkcmFnRGF0YSk7
CkBAIC01MDMsNiArNTE4LDggQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6dHJ5REhUTUxEcmFnKERy
YWdEYXRhKiBkcmFnRGF0YSwgRHJhZ09wZXJhdGlvbiYgb3BlcmF0aW9uKQogICAgIH0KIAogICAg
IG9wZXJhdGlvbiA9IGNsaXBib2FyZC0+ZGVzdGluYXRpb25PcGVyYXRpb24oKTsKKyAgICBpZiAo
Y2xpcGJvYXJkLT5kcm9wRWZmZWN0SXNVbmluaXRpYWxpemVkKCkpCisgICAgICAgIG9wZXJhdGlv
biA9IGRlZmF1bHRPcGVyYXRpb25Gb3JEcmFnKHNyY09wTWFzayk7CiAgICAgaWYgKCEoc3JjT3BN
YXNrICYgb3BlcmF0aW9uKSkgewogICAgICAgICAvLyBUaGUgZWxlbWVudCBwaWNrZWQgYW4gb3Bl
cmF0aW9uIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHNvdXJjZQogICAgICAgICBvcGVy
YXRpb24gPSBEcmFnT3BlcmF0aW9uTm9uZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50675</attachid>
            <date>2010-03-14 14:20:10 -0700</date>
            <delta_ts>2010-03-14 16:13:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36095-20100314142008.patch</filename>
            <type>text/plain</type>
            <size>11447</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxMTBjMzljLi5mNGUzMDNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDMt
MTQgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OKHI1MzI4Nyk6IGRyb3AgZXZl
bnQgaXMgbm90IGZpcmVkIGlmIGRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzIG5vdCBleHBsaWNp
dGx5IHNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzYwOTUKKworICAgICAgICBDb3JyZWN0IHRoaXMgdGVzdCB0byBjb3ZlciB0aGUgc29tZXdoYXQg
Yml6YXJyZSAiY29ycmVjdCIgaGFuZGxpbmcKKyAgICAgICAgb2YgdW5kZWZpbmVkIGRyb3BFZmZl
Y3QKKworICAgICAgICAqIGZhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AuaHRtbDoKKwogMjAxMC0wMy0xMiAg
U2h1IENoYW5nICA8Y2hhbmcuc2h1QG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXZpZCBMZXZpbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctYW5k
LWRyb3AtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJv
cC1leHBlY3RlZC50eHQKaW5kZXggN2MyZGUwNy4uZjE1MmY2NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC1leHBlY3RlZC50eHQKQEAgLTExLDcgKzEx
LDcgQEAgUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCiBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJtb3ZlIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibGluayIKLVBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
Im5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5IgogCiBX
aGVuIGVmZmVjdEFsbG93ZWQgPT0gInVuZGVmaW5lZCIKIApAQCAtMjQsNyArMjQsNyBAQCBQQVNT
IGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJtb3ZlIgogUEFTUyBldmVudC5kYXRh
VHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAidW5pbml0aWFsaXplZCIKIFBBU1MgZXZlbnQuZGF0
YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImxpbmsiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5l
ZmZlY3RBbGxvd2VkIGlzICJ1bmluaXRpYWxpemVkIgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIu
ZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Qg
aXMgImNvcHkiCiAKIFdoZW4gZWZmZWN0QWxsb3dlZCA9PSAibm9uZSIKIApAQCAtNDAsNyArNDAs
NyBAQCBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgogUEFTUyBl
dmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKIFBBU1MgZXZlbnQuZGF0YVRy
YW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9w
RWZmZWN0IGlzICJsaW5rIgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAi
bm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCiAKIFdo
ZW4gZWZmZWN0QWxsb3dlZCA9PSAiY29weSIKIApAQCAtNDgsNyArNDgsNyBAQCBQQVNTIGV2ZW50
LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgogUEFTUyBldmVudC5kYXRhVHJhbnNm
ZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZl
Y3QgaXMgIm5vbmUiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25l
IgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZl
bnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCiAKIFdoZW4gZWZmZWN0QWxsb3dl
ZCA9PSAibW92ZSIKIApAQCAtNTYsNyArNTYsNyBAQCBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5k
cm9wRWZmZWN0IGlzICJub25lIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBp
cyAibm9uZSIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCiBQ
QVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgotUEFTUyBldmVudC5k
YXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVy
LmRyb3BFZmZlY3QgaXMgIm1vdmUiCiAKIFdoZW4gZWZmZWN0QWxsb3dlZCA9PSAibGluayIKIApA
QCAtNjQsNyArNjQsNyBAQCBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJu
b25lIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCiBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJsaW5rIgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
ImxpbmsiCiAKIFdoZW4gZWZmZWN0QWxsb3dlZCA9PSAiY29weU1vdmUiCiAKQEAgLTcyLDcgKzcy
LDcgQEAgUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCiBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJtb3ZlIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibm9uZSIKLVBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
Im5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJtb3ZlIgogCiBX
aGVuIGVmZmVjdEFsbG93ZWQgPT0gImNvcHlMaW5rIgogCkBAIC04MCw3ICs4MCw3IEBAIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCiBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5IgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibm9uZSIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
ImxpbmsiCi1QQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgorUEFT
UyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKIAogV2hlbiBlZmZlY3RB
bGxvd2VkID09ICJsaW5rTW92ZSIKIApAQCAtODgsNyArODgsNyBAQCBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibm9uZSIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
Im1vdmUiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJsaW5rIgotUEFT
UyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0
YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCiAKIFdoZW4gZWZmZWN0QWxsb3dlZCA9PSAi
ZHVtbXkiCiAKQEAgLTEwMSw3ICsxMDEsNyBAQCBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9w
RWZmZWN0IGlzICJtb3ZlIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBp
cyAidW5pbml0aWFsaXplZCIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
ImxpbmsiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJ1bmluaXRp
YWxpemVkIgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BB
U1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCiAKIFRFU1QgQ09NUExF
VEUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC5odG1sCmluZGV4IDky
Y2JjZDMuLmQ4ZjlmZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWct
YW5kLWRyb3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9w
Lmh0bWwKQEAgLTEwOCw5ICsxMDgsMjYgQEAKICAgICAgICAgICAgIC8vIGRvZXNuJ3QgbmVlZCBz
cGVjaWFsIGNhc2VzIGZvciB1bmRlZmluZWQuCiAgICAgICAgICAgICBjaG9zZW5FZmZlY3RBbGxv
d2VkID0gInVuaW5pdGlhbGl6ZWQiOwogICAgICAgICB9Ci0gICAgICAgIAorICAgICAgICBleHBl
Y3RlZCA9IGRyb3BFZmZlY3RFbGVtLm9wdGlvbnNbZHJvcEVmZmVjdEVsZW0uc2VsZWN0ZWRJbmRl
eF0udmFsdWU7CisgICAgICAgIGlmIChjaG9zZW5Ecm9wRWZmZWN0ID09ICJkdW1teSIpIHsKKyAg
ICAgICAgICAgIHN3aXRjaCAoY2hvc2VuRWZmZWN0QWxsb3dlZCkgeworICAgICAgICAgICAgICAg
IGNhc2UgInVuZGVmaW5lZCI6CisgICAgICAgICAgICAgICAgY2FzZSAiY29weUxpbmsiOgorICAg
ICAgICAgICAgICAgIGNhc2UgInVuaW5pdGlhbGl6ZWQiOgorICAgICAgICAgICAgICAgIGNhc2Ug
ImFsbCI6CisgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkID0gImNvcHkiOworICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlICJjb3B5TW92ZSI6CisgICAg
ICAgICAgICAgICAgY2FzZSAibW92ZSI6CisgICAgICAgICAgICAgICAgY2FzZSAibGlua01vdmUi
OgorICAgICAgICAgICAgICAgICAgICBleHBlY3RlZCA9ICJtb3ZlIjsKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAg
ICAgZXhwZWN0ZWQgPSBjaG9zZW5FZmZlY3RBbGxvd2VkOworICAgICAgICAgICAgfQorICAgICAg
ICB9CiAgICAgICAgIGlmIChpc0Ryb3BFZmZlY3RBbGxvd2VkKGNob3NlbkRyb3BFZmZlY3QsIGNo
b3NlbkVmZmVjdEFsbG93ZWQpKQotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdl
dmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCcsIGRyb3BFZmZlY3RFbGVtLm9wdGlvbnNbZHJv
cEVmZmVjdEVsZW0uc2VsZWN0ZWRJbmRleF0udmFsdWUpOworICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCcsIGV4cGVjdGVkKTsK
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdldmVudC5k
YXRhVHJhbnNmZXIuZHJvcEVmZmVjdCcsICdub25lJyk7CiAgICAgICAgICAgICAKQEAgLTEyNiw2
ICsxNDMsOCBAQAogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGlmIChjaG9zZW5E
cm9wRWZmZWN0ID09ICJsaW5rIiAmJiBbImxpbmsiLCAiY29weUxpbmsiLCAibGlua01vdmUiLCAi
dW5pbml0aWFsaXplZCIsICJhbGwiXS5pbmRleE9mKGFsbG93ZWREcm9wRWZmZWN0KSAhPSAtMSkK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBpZiAoY2hvc2VuRHJvcEVmZmVjdCA9
PSAiZHVtbXkiICYmIFsiY29weSIsICJsaW5rIiwgIm1vdmUiLCAiY29weUxpbmsiLCAiY29weU1v
dmUiLCAibGlua01vdmUiLCAidW5pbml0aWFsaXplZCIsICJhbGwiXS5pbmRleE9mKGFsbG93ZWRE
cm9wRWZmZWN0KSAhPSAtMSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOyAKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCAyZGYwNGI1Li5mNWVkOGU4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEw
LTAzLTE0ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTihyNTMyODcpOiBkcm9w
IGV2ZW50IGlzIG5vdCBmaXJlZCBpZiBkYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyBub3QgZXhw
bGljaXRseSBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM2MDk1CisKKyAgICAgICAgVGhlIGlzc3VlIGhlcmUgaXMgdGhhdCB3aGlsZSBkcm9wRWZm
ZWN0IGlzIG1lYW50IHRvIGJlIGluaXRpYWxpemVkCisgICAgICAgIHRvICJub25lIiwgdGhlIGJl
aGF2aW91ciBvZiB0aGUgZHJhZyBpcyBkaWZmZXJzIGJldHdlZW4gZHJhZ0VmZmVjdAorICAgICAg
ICBub3QgYmVpbmcgc2V0IGFuZCBkcmFnRWZmZWN0IGJlaW5nIGV4cGxpY2l0bHkgc2V0IHRvICJu
b25lIgorCisgICAgICAgIFRoaXMgcGF0Y2ggY29ycmVjdHMgdGhpcyBiZWhhdmlvdXIgYnkgbWFr
aW5nIENsaXBib2FyZCBkaXN0aW5ndWlzaAorICAgICAgICBiZXR3ZWVuIHRoZSBpbml0aWFsICJu
b25lIiB2YWx1ZSBvZiBkcm9wRWZmZWN0IGFuZCBhbiBleHBsaWNpdCAibm9uZSIuCisgICAgICAg
IFRoaXMgYWxvbmUgaXMgaW5zdWZmaWNpZW50IGZvciBjb3JyZWN0IGJlaGF2aW91ciwgd2UgYWxz
byBuZWVkIHRvCisgICAgICAgIHJlc3VycmVjdCB0aGUgcmVtb3ZlZCBkZWZhdWx0T3BlcmF0aW9u
Rm9yRHJhZyBmdW5jdGlvbiwgYnV0IHdlIG5vdworICAgICAgICB1c2UgdGhlIGZ1bmN0aW9uIG9u
bHkgd2hlbiBkcmFnRWZmZWN0IGlzIHVuaW5pdGlhbGl6ZWQuICBUaGVyZSBhcmUgYQorICAgICAg
ICBmZXcgdHdlYWtzIHRvIHRoZSBiZWhhdmlvdXIgb2YgdGhlIGRlZmF1bHRPcGVyYXRpb25Gb3JE
cmFnIGFzIHdlbGwKKyAgICAgICAgdG8gZW5zdXJlIGV4YWN0bHkgdGhlIHNhbWUgc2V0IG9mIG91
dGNvbWVzIGZvciBhbGwgY2FzZXMgdGhhdCB3ZQorICAgICAgICBtYXkgaGl0IGl0LgorCisgICAg
ICAgICogZG9tL0NsaXBib2FyZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OkNs
aXBib2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpkcmFnT3BGcm9tSUVPcCk6CisgICAgICAgIChX
ZWJDb3JlOjpDbGlwYm9hcmQ6OmRlc3RpbmF0aW9uT3BlcmF0aW9uKToKKyAgICAgICAgKiBkb20v
Q2xpcGJvYXJkLmg6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OmRyb3BFZmZlY3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpkcm9wRWZmZWN0SXNVbmluaXRpYWxpemVkKToK
KyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRl
ZmF1bHRPcGVyYXRpb25Gb3JEcmFnKToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVy
Ojp0cnlESFRNTERyYWcpOgorCiAyMDEwLTAzLTEzICBLaW0gR3LDtm5ob2xtICA8a2ltLmdyb25o
b2xtQG5vbW92b2suY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hy
aXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmNwcCBiL1dlYkNv
cmUvZG9tL0NsaXBib2FyZC5jcHAKaW5kZXggN2YzM2FhYy4uZGIzYWZkZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vQ2xpcGJvYXJkLmNwcAorKysgYi9XZWJDb3JlL2RvbS9DbGlwYm9hcmQuY3Bw
CkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ2xpcGJvYXJkOjpDbGlw
Ym9hcmQoQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgYm9vbCBpc0ZvckRyYWdnaW5nKSAK
ICAgICA6IG1fcG9saWN5KHBvbGljeSkKLSAgICAsIG1fZHJvcEVmZmVjdCgibm9uZSIpCisgICAg
LCBtX2Ryb3BFZmZlY3QoInVuaW5pdGlhbGl6ZWQiKQogICAgICwgbV9lZmZlY3RBbGxvd2VkKCJ1
bmluaXRpYWxpemVkIikKICAgICAsIG1fZHJhZ1N0YXJ0ZWQoZmFsc2UpCiAgICAgLCBtX2ZvckRy
YWdnaW5nKGlzRm9yRHJhZ2dpbmcpCkBAIC01Nyw3ICs1Nyw3IEBAIHZvaWQgQ2xpcGJvYXJkOjpz
ZXRBY2Nlc3NQb2xpY3koQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSkKIHN0YXRpYyBEcmFn
T3BlcmF0aW9uIGRyYWdPcEZyb21JRU9wKGNvbnN0IFN0cmluZyYgb3ApCiB7CiAgICAgLy8geWVw
LCBpdCdzIHJlYWxseSBqdXN0IHRoaXMgZml4ZWQgc2V0Ci0gICAgaWYgKG9wID09ICJ1bmluaXRp
YWxpemVkIikKKyAgICBpZiAob3AuaXNFbXB0eSgpIHx8IG9wID09ICJ1bmluaXRpYWxpemVkIikK
ICAgICAgICAgcmV0dXJuIERyYWdPcGVyYXRpb25FdmVyeTsKICAgICBpZiAob3AgPT0gIm5vbmUi
KQogICAgICAgICByZXR1cm4gRHJhZ09wZXJhdGlvbk5vbmU7CkBAIC0xMTAsNyArMTEwLDcgQEAg
RHJhZ09wZXJhdGlvbiBDbGlwYm9hcmQ6OnNvdXJjZU9wZXJhdGlvbigpIGNvbnN0CiBEcmFnT3Bl
cmF0aW9uIENsaXBib2FyZDo6ZGVzdGluYXRpb25PcGVyYXRpb24oKSBjb25zdAogewogICAgIERy
YWdPcGVyYXRpb24gb3AgPSBkcmFnT3BGcm9tSUVPcChtX2Ryb3BFZmZlY3QpOwotICAgIEFTU0VS
VChvcCA9PSBEcmFnT3BlcmF0aW9uQ29weSB8fCBvcCA9PSBEcmFnT3BlcmF0aW9uTm9uZSB8fCBv
cCA9PSBEcmFnT3BlcmF0aW9uTGluayB8fCBvcCA9PSBEcmFnT3BlcmF0aW9uR2VuZXJpYyB8fCBv
cCA9PSBEcmFnT3BlcmF0aW9uTW92ZSk7CisgICAgQVNTRVJUKG9wID09IERyYWdPcGVyYXRpb25D
b3B5IHx8IG9wID09IERyYWdPcGVyYXRpb25Ob25lIHx8IG9wID09IERyYWdPcGVyYXRpb25MaW5r
IHx8IG9wID09IERyYWdPcGVyYXRpb25HZW5lcmljIHx8IG9wID09IERyYWdPcGVyYXRpb25Nb3Zl
IHx8IG9wID09IERyYWdPcGVyYXRpb25FdmVyeSk7CiAgICAgcmV0dXJuIG9wOwogfQogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9DbGlwYm9hcmQuaCBiL1dlYkNvcmUvZG9tL0NsaXBib2FyZC5o
CmluZGV4IDJmNGRjNmYuLjQwMThlNGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0NsaXBib2Fy
ZC5oCisrKyBiL1dlYkNvcmUvZG9tL0NsaXBib2FyZC5oCkBAIC00Myw4ICs0Myw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gSXMgdGhpcyBvcGVyYXRpb24gYSBkcmFnLWRyb3Ag
b3IgYSBjb3B5LXBhc3RlPwogICAgICAgICBib29sIGlzRm9yRHJhZ2dpbmcoKSBjb25zdCB7IHJl
dHVybiBtX2ZvckRyYWdnaW5nOyB9CiAKLSAgICAgICAgU3RyaW5nIGRyb3BFZmZlY3QoKSBjb25z
dCB7IHJldHVybiBtX2Ryb3BFZmZlY3Q7IH0KKyAgICAgICAgU3RyaW5nIGRyb3BFZmZlY3QoKSBj
b25zdCB7IHJldHVybiBkcm9wRWZmZWN0SXNVbmluaXRpYWxpemVkKCkgPyAibm9uZSIgOiBtX2Ry
b3BFZmZlY3Q7IH0KICAgICAgICAgdm9pZCBzZXREcm9wRWZmZWN0KGNvbnN0IFN0cmluZyYpOwor
ICAgICAgICBib29sIGRyb3BFZmZlY3RJc1VuaW5pdGlhbGl6ZWQoKSBjb25zdCB7IHJldHVybiBt
X2Ryb3BFZmZlY3QgPT0gInVuaW5pdGlhbGl6ZWQiOyB9CiAgICAgICAgIFN0cmluZyBlZmZlY3RB
bGxvd2VkKCkgY29uc3QgeyByZXR1cm4gbV9lZmZlY3RBbGxvd2VkOyB9CiAgICAgICAgIHZvaWQg
c2V0RWZmZWN0QWxsb3dlZChjb25zdCBTdHJpbmcmKTsKICAgICAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIu
Y3BwCmluZGV4IDA2ZDM2NDkuLmFhNWQ0YWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9EcmFn
Q29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcApAQCAt
NDgyLDYgKzQ4MiwyMyBAQCBib29sIERyYWdDb250cm9sbGVyOjpjYW5Qcm9jZXNzRHJhZyhEcmFn
RGF0YSogZHJhZ0RhdGEpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBEcmFnT3BlcmF0
aW9uIGRlZmF1bHRPcGVyYXRpb25Gb3JEcmFnKERyYWdPcGVyYXRpb24mIHNyY09wTWFzaykKK3sK
KyAgICAvLyBUaGlzIGlzIGRlc2lnbmVkIHRvIG1hdGNoIElFJ3Mgb3BlcmF0aW9uIGZhbGxiYWNr
IGZvciB0aGUgY2FzZSB3aGVyZQorICAgIC8vIHRoZSBwYWdlIGNhbGxzIHByZXZlbnREZWZhdWx0
KCkgaW4gYSBkcmFnIGV2ZW50IGJ1dCBkb2Vzbid0IHNldCBkcm9wRWZmZWN0LgorICAgIGlmIChz
cmNPcE1hc2sgPT0gRHJhZ09wZXJhdGlvbkV2ZXJ5KQorICAgICAgICByZXR1cm4gRHJhZ09wZXJh
dGlvbkNvcHk7CisgICAgaWYgKHNyY09wTWFzayAmIERyYWdPcGVyYXRpb25Nb3ZlIHx8IHNyY09w
TWFzayAmIERyYWdPcGVyYXRpb25HZW5lcmljKQorICAgICAgICByZXR1cm4gKHNyY09wTWFzayA9
IERyYWdPcGVyYXRpb25Nb3ZlKTsKKyAgICBpZiAoc3JjT3BNYXNrICYgRHJhZ09wZXJhdGlvbkNv
cHkpCisgICAgICAgIHJldHVybiBEcmFnT3BlcmF0aW9uQ29weTsKKyAgICBpZiAoc3JjT3BNYXNr
ICYgRHJhZ09wZXJhdGlvbkxpbmspCisgICAgICAgIHJldHVybiBEcmFnT3BlcmF0aW9uTGluazsK
KyAgICAKKyAgICAvLyBGSVhNRTogRG9lcyBJRSByZWFsbHkgcmV0dXJuICJnZW5lcmljIiBldmVu
IGlmIG5vIG9wZXJhdGlvbnMgd2VyZSBhbGxvd2VkIGJ5IHRoZSBzb3VyY2U/CisgICAgcmV0dXJu
IERyYWdPcGVyYXRpb25HZW5lcmljOworfQorCiBib29sIERyYWdDb250cm9sbGVyOjp0cnlESFRN
TERyYWcoRHJhZ0RhdGEqIGRyYWdEYXRhLCBEcmFnT3BlcmF0aW9uJiBvcGVyYXRpb24pCiB7CiAg
ICAgQVNTRVJUKGRyYWdEYXRhKTsKQEAgLTUwMyw2ICs1MjAsOCBAQCBib29sIERyYWdDb250cm9s
bGVyOjp0cnlESFRNTERyYWcoRHJhZ0RhdGEqIGRyYWdEYXRhLCBEcmFnT3BlcmF0aW9uJiBvcGVy
YXRpb24pCiAgICAgfQogCiAgICAgb3BlcmF0aW9uID0gY2xpcGJvYXJkLT5kZXN0aW5hdGlvbk9w
ZXJhdGlvbigpOworICAgIGlmIChjbGlwYm9hcmQtPmRyb3BFZmZlY3RJc1VuaW5pdGlhbGl6ZWQo
KSkKKyAgICAgICAgb3BlcmF0aW9uID0gZGVmYXVsdE9wZXJhdGlvbkZvckRyYWcoc3JjT3BNYXNr
KTsKICAgICBpZiAoIShzcmNPcE1hc2sgJiBvcGVyYXRpb24pKSB7CiAgICAgICAgIC8vIFRoZSBl
bGVtZW50IHBpY2tlZCBhbiBvcGVyYXRpb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZCBieSB0aGUg
c291cmNlCiAgICAgICAgIG9wZXJhdGlvbiA9IERyYWdPcGVyYXRpb25Ob25lOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50679</attachid>
            <date>2010-03-14 16:13:52 -0700</date>
            <delta_ts>2010-03-14 16:18:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36095-20100314161350.patch</filename>
            <type>text/plain</type>
            <size>11207</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxMTBjMzljLi5mNGUzMDNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDMt
MTQgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OKHI1MzI4Nyk6IGRyb3AgZXZl
bnQgaXMgbm90IGZpcmVkIGlmIGRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzIG5vdCBleHBsaWNp
dGx5IHNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzYwOTUKKworICAgICAgICBDb3JyZWN0IHRoaXMgdGVzdCB0byBjb3ZlciB0aGUgc29tZXdoYXQg
Yml6YXJyZSAiY29ycmVjdCIgaGFuZGxpbmcKKyAgICAgICAgb2YgdW5kZWZpbmVkIGRyb3BFZmZl
Y3QKKworICAgICAgICAqIGZhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AuaHRtbDoKKwogMjAxMC0wMy0xMiAg
U2h1IENoYW5nICA8Y2hhbmcuc2h1QG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXZpZCBMZXZpbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctYW5k
LWRyb3AtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJv
cC1leHBlY3RlZC50eHQKaW5kZXggN2MyZGUwNy4uZjE1MmY2NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC1leHBlY3RlZC50eHQKQEAgLTExLDcgKzEx
LDcgQEAgUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCiBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJtb3ZlIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibGluayIKLVBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
Im5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5IgogCiBX
aGVuIGVmZmVjdEFsbG93ZWQgPT0gInVuZGVmaW5lZCIKIApAQCAtMjQsNyArMjQsNyBAQCBQQVNT
IGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJtb3ZlIgogUEFTUyBldmVudC5kYXRh
VHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAidW5pbml0aWFsaXplZCIKIFBBU1MgZXZlbnQuZGF0
YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImxpbmsiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5l
ZmZlY3RBbGxvd2VkIGlzICJ1bmluaXRpYWxpemVkIgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIu
ZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Qg
aXMgImNvcHkiCiAKIFdoZW4gZWZmZWN0QWxsb3dlZCA9PSAibm9uZSIKIApAQCAtNDAsNyArNDAs
NyBAQCBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgogUEFTUyBl
dmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKIFBBU1MgZXZlbnQuZGF0YVRy
YW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9w
RWZmZWN0IGlzICJsaW5rIgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAi
bm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCiAKIFdo
ZW4gZWZmZWN0QWxsb3dlZCA9PSAiY29weSIKIApAQCAtNDgsNyArNDgsNyBAQCBQQVNTIGV2ZW50
LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgogUEFTUyBldmVudC5kYXRhVHJhbnNm
ZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZl
Y3QgaXMgIm5vbmUiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25l
IgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZl
bnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCiAKIFdoZW4gZWZmZWN0QWxsb3dl
ZCA9PSAibW92ZSIKIApAQCAtNTYsNyArNTYsNyBAQCBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5k
cm9wRWZmZWN0IGlzICJub25lIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBp
cyAibm9uZSIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCiBQ
QVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgotUEFTUyBldmVudC5k
YXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVy
LmRyb3BFZmZlY3QgaXMgIm1vdmUiCiAKIFdoZW4gZWZmZWN0QWxsb3dlZCA9PSAibGluayIKIApA
QCAtNjQsNyArNjQsNyBAQCBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJu
b25lIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCiBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJsaW5rIgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
ImxpbmsiCiAKIFdoZW4gZWZmZWN0QWxsb3dlZCA9PSAiY29weU1vdmUiCiAKQEAgLTcyLDcgKzcy
LDcgQEAgUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCiBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJtb3ZlIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibm9uZSIKLVBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
Im5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJtb3ZlIgogCiBX
aGVuIGVmZmVjdEFsbG93ZWQgPT0gImNvcHlMaW5rIgogCkBAIC04MCw3ICs4MCw3IEBAIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCiBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5IgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibm9uZSIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
ImxpbmsiCi1QQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgorUEFT
UyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKIAogV2hlbiBlZmZlY3RB
bGxvd2VkID09ICJsaW5rTW92ZSIKIApAQCAtODgsNyArODgsNyBAQCBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibm9uZSIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
Im1vdmUiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJsaW5rIgotUEFT
UyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0
YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCiAKIFdoZW4gZWZmZWN0QWxsb3dlZCA9PSAi
ZHVtbXkiCiAKQEAgLTEwMSw3ICsxMDEsNyBAQCBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9w
RWZmZWN0IGlzICJtb3ZlIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBp
cyAidW5pbml0aWFsaXplZCIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
ImxpbmsiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJ1bmluaXRp
YWxpemVkIgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BB
U1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCiAKIFRFU1QgQ09NUExF
VEUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC5odG1sCmluZGV4IDky
Y2JjZDMuLmQ4ZjlmZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWct
YW5kLWRyb3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9w
Lmh0bWwKQEAgLTEwOCw5ICsxMDgsMjYgQEAKICAgICAgICAgICAgIC8vIGRvZXNuJ3QgbmVlZCBz
cGVjaWFsIGNhc2VzIGZvciB1bmRlZmluZWQuCiAgICAgICAgICAgICBjaG9zZW5FZmZlY3RBbGxv
d2VkID0gInVuaW5pdGlhbGl6ZWQiOwogICAgICAgICB9Ci0gICAgICAgIAorICAgICAgICBleHBl
Y3RlZCA9IGRyb3BFZmZlY3RFbGVtLm9wdGlvbnNbZHJvcEVmZmVjdEVsZW0uc2VsZWN0ZWRJbmRl
eF0udmFsdWU7CisgICAgICAgIGlmIChjaG9zZW5Ecm9wRWZmZWN0ID09ICJkdW1teSIpIHsKKyAg
ICAgICAgICAgIHN3aXRjaCAoY2hvc2VuRWZmZWN0QWxsb3dlZCkgeworICAgICAgICAgICAgICAg
IGNhc2UgInVuZGVmaW5lZCI6CisgICAgICAgICAgICAgICAgY2FzZSAiY29weUxpbmsiOgorICAg
ICAgICAgICAgICAgIGNhc2UgInVuaW5pdGlhbGl6ZWQiOgorICAgICAgICAgICAgICAgIGNhc2Ug
ImFsbCI6CisgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkID0gImNvcHkiOworICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlICJjb3B5TW92ZSI6CisgICAg
ICAgICAgICAgICAgY2FzZSAibW92ZSI6CisgICAgICAgICAgICAgICAgY2FzZSAibGlua01vdmUi
OgorICAgICAgICAgICAgICAgICAgICBleHBlY3RlZCA9ICJtb3ZlIjsKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAg
ICAgZXhwZWN0ZWQgPSBjaG9zZW5FZmZlY3RBbGxvd2VkOworICAgICAgICAgICAgfQorICAgICAg
ICB9CiAgICAgICAgIGlmIChpc0Ryb3BFZmZlY3RBbGxvd2VkKGNob3NlbkRyb3BFZmZlY3QsIGNo
b3NlbkVmZmVjdEFsbG93ZWQpKQotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdl
dmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCcsIGRyb3BFZmZlY3RFbGVtLm9wdGlvbnNbZHJv
cEVmZmVjdEVsZW0uc2VsZWN0ZWRJbmRleF0udmFsdWUpOworICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCcsIGV4cGVjdGVkKTsK
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdldmVudC5k
YXRhVHJhbnNmZXIuZHJvcEVmZmVjdCcsICdub25lJyk7CiAgICAgICAgICAgICAKQEAgLTEyNiw2
ICsxNDMsOCBAQAogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGlmIChjaG9zZW5E
cm9wRWZmZWN0ID09ICJsaW5rIiAmJiBbImxpbmsiLCAiY29weUxpbmsiLCAibGlua01vdmUiLCAi
dW5pbml0aWFsaXplZCIsICJhbGwiXS5pbmRleE9mKGFsbG93ZWREcm9wRWZmZWN0KSAhPSAtMSkK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBpZiAoY2hvc2VuRHJvcEVmZmVjdCA9
PSAiZHVtbXkiICYmIFsiY29weSIsICJsaW5rIiwgIm1vdmUiLCAiY29weUxpbmsiLCAiY29weU1v
dmUiLCAibGlua01vdmUiLCAidW5pbml0aWFsaXplZCIsICJhbGwiXS5pbmRleE9mKGFsbG93ZWRE
cm9wRWZmZWN0KSAhPSAtMSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOyAKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCAyZGYwNGI1Li5mNWVkOGU4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEw
LTAzLTE0ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTihyNTMyODcpOiBkcm9w
IGV2ZW50IGlzIG5vdCBmaXJlZCBpZiBkYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyBub3QgZXhw
bGljaXRseSBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM2MDk1CisKKyAgICAgICAgVGhlIGlzc3VlIGhlcmUgaXMgdGhhdCB3aGlsZSBkcm9wRWZm
ZWN0IGlzIG1lYW50IHRvIGJlIGluaXRpYWxpemVkCisgICAgICAgIHRvICJub25lIiwgdGhlIGJl
aGF2aW91ciBvZiB0aGUgZHJhZyBpcyBkaWZmZXJzIGJldHdlZW4gZHJhZ0VmZmVjdAorICAgICAg
ICBub3QgYmVpbmcgc2V0IGFuZCBkcmFnRWZmZWN0IGJlaW5nIGV4cGxpY2l0bHkgc2V0IHRvICJu
b25lIgorCisgICAgICAgIFRoaXMgcGF0Y2ggY29ycmVjdHMgdGhpcyBiZWhhdmlvdXIgYnkgbWFr
aW5nIENsaXBib2FyZCBkaXN0aW5ndWlzaAorICAgICAgICBiZXR3ZWVuIHRoZSBpbml0aWFsICJu
b25lIiB2YWx1ZSBvZiBkcm9wRWZmZWN0IGFuZCBhbiBleHBsaWNpdCAibm9uZSIuCisgICAgICAg
IFRoaXMgYWxvbmUgaXMgaW5zdWZmaWNpZW50IGZvciBjb3JyZWN0IGJlaGF2aW91ciwgd2UgYWxz
byBuZWVkIHRvCisgICAgICAgIHJlc3VycmVjdCB0aGUgcmVtb3ZlZCBkZWZhdWx0T3BlcmF0aW9u
Rm9yRHJhZyBmdW5jdGlvbiwgYnV0IHdlIG5vdworICAgICAgICB1c2UgdGhlIGZ1bmN0aW9uIG9u
bHkgd2hlbiBkcmFnRWZmZWN0IGlzIHVuaW5pdGlhbGl6ZWQuICBUaGVyZSBhcmUgYQorICAgICAg
ICBmZXcgdHdlYWtzIHRvIHRoZSBiZWhhdmlvdXIgb2YgdGhlIGRlZmF1bHRPcGVyYXRpb25Gb3JE
cmFnIGFzIHdlbGwKKyAgICAgICAgdG8gZW5zdXJlIGV4YWN0bHkgdGhlIHNhbWUgc2V0IG9mIG91
dGNvbWVzIGZvciBhbGwgY2FzZXMgdGhhdCB3ZQorICAgICAgICBtYXkgaGl0IGl0LgorCisgICAg
ICAgICogZG9tL0NsaXBib2FyZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OkNs
aXBib2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpkcmFnT3BGcm9tSUVPcCk6CisgICAgICAgIChX
ZWJDb3JlOjpDbGlwYm9hcmQ6OmRlc3RpbmF0aW9uT3BlcmF0aW9uKToKKyAgICAgICAgKiBkb20v
Q2xpcGJvYXJkLmg6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OmRyb3BFZmZlY3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpkcm9wRWZmZWN0SXNVbmluaXRpYWxpemVkKToK
KyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRl
ZmF1bHRPcGVyYXRpb25Gb3JEcmFnKToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVy
Ojp0cnlESFRNTERyYWcpOgorCiAyMDEwLTAzLTEzICBLaW0gR3LDtm5ob2xtICA8a2ltLmdyb25o
b2xtQG5vbW92b2suY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hy
aXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmNwcCBiL1dlYkNv
cmUvZG9tL0NsaXBib2FyZC5jcHAKaW5kZXggN2YzM2FhYy4uNDQ3M2I3NCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vQ2xpcGJvYXJkLmNwcAorKysgYi9XZWJDb3JlL2RvbS9DbGlwYm9hcmQuY3Bw
CkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ2xpcGJvYXJkOjpDbGlw
Ym9hcmQoQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgYm9vbCBpc0ZvckRyYWdnaW5nKSAK
ICAgICA6IG1fcG9saWN5KHBvbGljeSkKLSAgICAsIG1fZHJvcEVmZmVjdCgibm9uZSIpCisgICAg
LCBtX2Ryb3BFZmZlY3QoInVuaW5pdGlhbGl6ZWQiKQogICAgICwgbV9lZmZlY3RBbGxvd2VkKCJ1
bmluaXRpYWxpemVkIikKICAgICAsIG1fZHJhZ1N0YXJ0ZWQoZmFsc2UpCiAgICAgLCBtX2ZvckRy
YWdnaW5nKGlzRm9yRHJhZ2dpbmcpCkBAIC0xMTAsNyArMTEwLDcgQEAgRHJhZ09wZXJhdGlvbiBD
bGlwYm9hcmQ6OnNvdXJjZU9wZXJhdGlvbigpIGNvbnN0CiBEcmFnT3BlcmF0aW9uIENsaXBib2Fy
ZDo6ZGVzdGluYXRpb25PcGVyYXRpb24oKSBjb25zdAogewogICAgIERyYWdPcGVyYXRpb24gb3Ag
PSBkcmFnT3BGcm9tSUVPcChtX2Ryb3BFZmZlY3QpOwotICAgIEFTU0VSVChvcCA9PSBEcmFnT3Bl
cmF0aW9uQ29weSB8fCBvcCA9PSBEcmFnT3BlcmF0aW9uTm9uZSB8fCBvcCA9PSBEcmFnT3BlcmF0
aW9uTGluayB8fCBvcCA9PSBEcmFnT3BlcmF0aW9uR2VuZXJpYyB8fCBvcCA9PSBEcmFnT3BlcmF0
aW9uTW92ZSk7CisgICAgQVNTRVJUKG9wID09IERyYWdPcGVyYXRpb25Db3B5IHx8IG9wID09IERy
YWdPcGVyYXRpb25Ob25lIHx8IG9wID09IERyYWdPcGVyYXRpb25MaW5rIHx8IG9wID09IERyYWdP
cGVyYXRpb25HZW5lcmljIHx8IG9wID09IERyYWdPcGVyYXRpb25Nb3ZlIHx8IG9wID09IERyYWdP
cGVyYXRpb25FdmVyeSk7CiAgICAgcmV0dXJuIG9wOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9DbGlwYm9hcmQuaCBiL1dlYkNvcmUvZG9tL0NsaXBib2FyZC5oCmluZGV4IDJmNGRjNmYu
LjQwMThlNGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0NsaXBib2FyZC5oCisrKyBiL1dlYkNv
cmUvZG9tL0NsaXBib2FyZC5oCkBAIC00Myw4ICs0Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgLy8gSXMgdGhpcyBvcGVyYXRpb24gYSBkcmFnLWRyb3Agb3IgYSBjb3B5LXBhc3Rl
PwogICAgICAgICBib29sIGlzRm9yRHJhZ2dpbmcoKSBjb25zdCB7IHJldHVybiBtX2ZvckRyYWdn
aW5nOyB9CiAKLSAgICAgICAgU3RyaW5nIGRyb3BFZmZlY3QoKSBjb25zdCB7IHJldHVybiBtX2Ry
b3BFZmZlY3Q7IH0KKyAgICAgICAgU3RyaW5nIGRyb3BFZmZlY3QoKSBjb25zdCB7IHJldHVybiBk
cm9wRWZmZWN0SXNVbmluaXRpYWxpemVkKCkgPyAibm9uZSIgOiBtX2Ryb3BFZmZlY3Q7IH0KICAg
ICAgICAgdm9pZCBzZXREcm9wRWZmZWN0KGNvbnN0IFN0cmluZyYpOworICAgICAgICBib29sIGRy
b3BFZmZlY3RJc1VuaW5pdGlhbGl6ZWQoKSBjb25zdCB7IHJldHVybiBtX2Ryb3BFZmZlY3QgPT0g
InVuaW5pdGlhbGl6ZWQiOyB9CiAgICAgICAgIFN0cmluZyBlZmZlY3RBbGxvd2VkKCkgY29uc3Qg
eyByZXR1cm4gbV9lZmZlY3RBbGxvd2VkOyB9CiAgICAgICAgIHZvaWQgc2V0RWZmZWN0QWxsb3dl
ZChjb25zdCBTdHJpbmcmKTsKICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9EcmFnQ29u
dHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCmluZGV4IDA2ZDM2
NDkuLjRmMGFlYjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAK
KysrIGIvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcApAQCAtNDgyLDYgKzQ4MiwyNSBA
QCBib29sIERyYWdDb250cm9sbGVyOjpjYW5Qcm9jZXNzRHJhZyhEcmFnRGF0YSogZHJhZ0RhdGEp
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBEcmFnT3BlcmF0aW9uIGRlZmF1bHRPcGVy
YXRpb25Gb3JEcmFnKGNvbnN0IERyYWdPcGVyYXRpb24mIHNyY09wTWFzaykKK3sKKyAgICAvLyBU
aGlzIGlzIGRlc2lnbmVkIHRvIG1hdGNoIElFJ3Mgb3BlcmF0aW9uIGZhbGxiYWNrIGZvciB0aGUg
Y2FzZSB3aGVyZQorICAgIC8vIHRoZSBwYWdlIGNhbGxzIHByZXZlbnREZWZhdWx0KCkgaW4gYSBk
cmFnIGV2ZW50IGJ1dCBkb2Vzbid0IHNldCBkcm9wRWZmZWN0LgorICAgIGlmIChzcmNPcE1hc2sg
PT0gRHJhZ09wZXJhdGlvbkV2ZXJ5KQorICAgICAgICByZXR1cm4gRHJhZ09wZXJhdGlvbkNvcHk7
CisgICAgaWYgKHNyY09wTWFzayA9PSBEcmFnT3BlcmF0aW9uTm9uZSkKKyAgICAgICAgcmV0dXJu
IERyYWdPcGVyYXRpb25Ob25lOworICAgIGlmIChzcmNPcE1hc2sgJiBEcmFnT3BlcmF0aW9uTW92
ZSB8fCBzcmNPcE1hc2sgJiBEcmFnT3BlcmF0aW9uR2VuZXJpYykKKyAgICAgICAgcmV0dXJuIERy
YWdPcGVyYXRpb25Nb3ZlOworICAgIGlmIChzcmNPcE1hc2sgJiBEcmFnT3BlcmF0aW9uQ29weSkK
KyAgICAgICAgcmV0dXJuIERyYWdPcGVyYXRpb25Db3B5OworICAgIGlmIChzcmNPcE1hc2sgJiBE
cmFnT3BlcmF0aW9uTGluaykKKyAgICAgICAgcmV0dXJuIERyYWdPcGVyYXRpb25MaW5rOworICAg
IAorICAgIC8vIEZJWE1FOiBEb2VzIElFIHJlYWxseSByZXR1cm4gImdlbmVyaWMiIGV2ZW4gaWYg
bm8gb3BlcmF0aW9ucyB3ZXJlIGFsbG93ZWQgYnkgdGhlIHNvdXJjZT8KKyAgICByZXR1cm4gRHJh
Z09wZXJhdGlvbkdlbmVyaWM7Cit9CisKIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnRyeURIVE1MRHJh
ZyhEcmFnRGF0YSogZHJhZ0RhdGEsIERyYWdPcGVyYXRpb24mIG9wZXJhdGlvbikKIHsKICAgICBB
U1NFUlQoZHJhZ0RhdGEpOwpAQCAtNTAzLDcgKzUyMiw5IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6
OnRyeURIVE1MRHJhZyhEcmFnRGF0YSogZHJhZ0RhdGEsIERyYWdPcGVyYXRpb24mIG9wZXJhdGlv
bikKICAgICB9CiAKICAgICBvcGVyYXRpb24gPSBjbGlwYm9hcmQtPmRlc3RpbmF0aW9uT3BlcmF0
aW9uKCk7Ci0gICAgaWYgKCEoc3JjT3BNYXNrICYgb3BlcmF0aW9uKSkgeworICAgIGlmIChjbGlw
Ym9hcmQtPmRyb3BFZmZlY3RJc1VuaW5pdGlhbGl6ZWQoKSkKKyAgICAgICAgb3BlcmF0aW9uID0g
ZGVmYXVsdE9wZXJhdGlvbkZvckRyYWcoc3JjT3BNYXNrKTsKKyAgICBlbHNlIGlmICghKHNyY09w
TWFzayAmIG9wZXJhdGlvbikpIHsKICAgICAgICAgLy8gVGhlIGVsZW1lbnQgcGlja2VkIGFuIG9w
ZXJhdGlvbiB3aGljaCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBzb3VyY2UKICAgICAgICAgb3Bl
cmF0aW9uID0gRHJhZ09wZXJhdGlvbk5vbmU7CiAgICAgfQo=
</data>
<flag name="review"
          id="33846"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>