<?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>108403</bug_id>
          
          <creation_ts>2013-01-30 16:35:59 -0800</creation_ts>
          <short_desc>[CSS Grid Layout] computePreferredLogicalWidths doesn&apos;t handle minmax tracks</short_desc>
          <delta_ts>2013-02-01 11:30:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>103311</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>eric</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>820791</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-01-30 16:35:59 -0800</bug_when>
    <thetext>The layout code properly accounts for minmax but computePreferredLogicalWidths wasn&apos;t updated and thus doesn&apos;t compute the min / max preferred logical widths of the grid element properly.

We should be able to see the bad sizing using fill-available on the grid element or its container. While at it, &apos;auto&apos; should also be covered by the tests now that we also support it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821936</commentid>
    <comment_count>1</comment_count>
      <attachid>185859</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-01-31 14:09:23 -0800</bug_when>
    <thetext>Created attachment 185859
Proposed fix I: Updated computePreferredLogicalWidths to handle all minmax combination.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821973</commentid>
    <comment_count>2</comment_count>
      <attachid>185859</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-31 14:38:17 -0800</bug_when>
    <thetext>Comment on attachment 185859
Proposed fix I: Updated computePreferredLogicalWidths to handle all minmax combination.

I defer computePreferredLogicalWidths to Ojan.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822051</commentid>
    <comment_count>3</comment_count>
      <attachid>185859</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-01-31 15:45:11 -0800</bug_when>
    <thetext>Comment on attachment 185859
Proposed fix I: Updated computePreferredLogicalWidths to handle all minmax combination.

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

Just a few minor issues.

&gt; Source/WebCore/rendering/RenderGrid.cpp:164
&gt; +LayoutUnit RenderGrid::resolvePreferredLogicalWidth(PreferredWidthType type, size_t trackIndex) const

Instead of passing in the type, can we just pass in the Length itself? Then we don&apos;t need the enum, which seems better to me.

&gt; Source/WebCore/rendering/RenderGrid.cpp:169
&gt; +    if (length.isFixed())
&gt; +        return length.intValue();

It&apos;s not possible to put border/padding/margin on a grid cell, right? If so, it might be worth adding a comment here about that being why it&apos;s OK to not worry about them here.

&gt; Source/WebCore/rendering/RenderGrid.cpp:178
&gt; +            // FIXME: We should include the child&apos;s fixed margins like RenderBlock.

RenderBlock does crazy with margins. You might want to point to RenderFlexibleBox as a closer example. In fact, I think we probably want to do exactly what RenderFlexibleBox does, which might involve moving marginLogicalWidthForChild up into RenderBlock so it can be shared.

&gt; Source/WebCore/rendering/RenderGrid.cpp:198
&gt; +    // FIXME: What should we do for the other values (e.g. &lt;percentage&gt; and calc())
&gt; +    return 0;

Right now, every other class treats anything other than Fixed the same a Auto. The sizing spec says to resolve &quot;definite&quot; lengths, but we don&apos;t do that anywhere currently. We should try to and see if we can get away with it without breaking the web, but I&apos;ve been putting that off until I&apos;m done reducing code duplication across computePreferredLogicalWidth overrides.

&gt; LayoutTests/fast/css-grid-layout/grid-preferred-logical-widths.html:23
&gt; +.gridMinMinContent {
&gt; +    -webkit-grid-columns: minmax(-webkit-min-content, 40px) minmax(-webkit-min-content, 40px);
&gt; +    -webkit-grid-rows: 10px;
&gt; +    font: 10px/1 Ahem;
&gt; +}
&gt; +
&gt; +.gridMinMaxContent {
&gt; +    -webkit-grid-columns: minmax(30px, -webkit-min-content) minmax(30px, -webkit-min-content);
&gt; +    -webkit-grid-rows: 10px;
&gt; +    font: 10px/1 Ahem;
&gt; +}
&gt; +
&gt; +.gridMaxContent {

Nit: these class names don&apos;t seem to use a consistent naming scheme.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822056</commentid>
    <comment_count>4</comment_count>
      <attachid>185859</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-01-31 15:48:20 -0800</bug_when>
    <thetext>Comment on attachment 185859
Proposed fix I: Updated computePreferredLogicalWidths to handle all minmax combination.

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

&gt; Source/WebCore/rendering/RenderGrid.cpp:173
&gt; +        for (RenderBox* child = firstChildBox(); child; child = child-&gt;nextSiblingBox()) {

Also, maybe add a FIXME to come up with a more efficient way of iterating over the grid items in a given track?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822148</commentid>
    <comment_count>5</comment_count>
      <attachid>185859</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-01-31 17:08:06 -0800</bug_when>
    <thetext>Comment on attachment 185859
Proposed fix I: Updated computePreferredLogicalWidths to handle all minmax combination.

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

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:164
&gt;&gt; +LayoutUnit RenderGrid::resolvePreferredLogicalWidth(PreferredWidthType type, size_t trackIndex) const
&gt; 
&gt; Instead of passing in the type, can we just pass in the Length itself? Then we don&apos;t need the enum, which seems better to me.

I started with that and came to the opposite conclusion :)

Will do the change as it&apos;s fine either way.

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:169
&gt;&gt; +        return length.intValue();
&gt; 
&gt; It&apos;s not possible to put border/padding/margin on a grid cell, right? If so, it might be worth adding a comment here about that being why it&apos;s OK to not worry about them here.

It&apos;s not possible (and the grid cell is now called grid area)

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:173
&gt;&gt; +        for (RenderBox* child = firstChildBox(); child; child = child-&gt;nextSiblingBox()) {
&gt; 
&gt; Also, maybe add a FIXME to come up with a more efficient way of iterating over the grid items in a given track?

This is at the back of my mind as we are starting to have *a lot* of grid items&apos; iterations in the code. grid-auto-flow is really the point where having a grid representation for the grid items is required to determine efficiently if a grid area is empty or not.

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:178
&gt;&gt; +            // FIXME: We should include the child&apos;s fixed margins like RenderBlock.
&gt; 
&gt; RenderBlock does crazy with margins. You might want to point to RenderFlexibleBox as a closer example. In fact, I think we probably want to do exactly what RenderFlexibleBox does, which might involve moving marginLogicalWidthForChild up into RenderBlock so it can be shared.

Sounds good.

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:198
&gt;&gt; +    return 0;
&gt; 
&gt; Right now, every other class treats anything other than Fixed the same a Auto. The sizing spec says to resolve &quot;definite&quot; lengths, but we don&apos;t do that anywhere currently. We should try to and see if we can get away with it without breaking the web, but I&apos;ve been putting that off until I&apos;m done reducing code duplication across computePreferredLogicalWidth overrides.

Sounds good, will keep the FIXME and expand it to add some of this explanation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822206</commentid>
    <comment_count>6</comment_count>
      <attachid>185910</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-01-31 18:08:51 -0800</bug_when>
    <thetext>Created attachment 185910
Proposed fix 2: Updated after Ojan&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822220</commentid>
    <comment_count>7</comment_count>
      <attachid>185910</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-01-31 18:45:35 -0800</bug_when>
    <thetext>Comment on attachment 185910
Proposed fix 2: Updated after Ojan&apos;s comments.

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

&gt; Source/WebCore/rendering/RenderGrid.cpp:164
&gt; +LayoutUnit RenderGrid::resolvePreferredLogicalWidth(const Length&amp; length, size_t trackIndex) const

Didn&apos;t notice this in the last patch. This might be a bit more consistent with RenderBox if you called this computePreferredTrackWidthUsing or something like that (e.g. see RenderBox::computeLogicalHeightUsing). resolve is a fairly overloaded verb. :)

&gt; Source/WebCore/rendering/RenderGrid.cpp:200
&gt; +    // (including &lt;percentage&gt; and calc()) but we don&apos;t it elsewhere.

Missing a word or two here. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822743</commentid>
    <comment_count>8</comment_count>
      <attachid>185910</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-01 07:18:37 -0800</bug_when>
    <thetext>Comment on attachment 185910
Proposed fix 2: Updated after Ojan&apos;s comments.

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

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:164
&gt;&gt; +LayoutUnit RenderGrid::resolvePreferredLogicalWidth(const Length&amp; length, size_t trackIndex) const
&gt; 
&gt; Didn&apos;t notice this in the last patch. This might be a bit more consistent with RenderBox if you called this computePreferredTrackWidthUsing or something like that (e.g. see RenderBox::computeLogicalHeightUsing). resolve is a fairly overloaded verb. :)

Fair enough.

My take would be computePreferredTrackWidth, dropping the Using as I don&apos;t see much value in it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822746</commentid>
    <comment_count>9</comment_count>
      <attachid>186040</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-01 07:20:40 -0800</bug_when>
    <thetext>Created attachment 186040
Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822912</commentid>
    <comment_count>10</comment_count>
      <attachid>186072</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-01 10:13:36 -0800</bug_when>
    <thetext>Created attachment 186072
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823030</commentid>
    <comment_count>11</comment_count>
      <attachid>186072</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-01 11:30:52 -0800</bug_when>
    <thetext>Comment on attachment 186072
Patch for landing

Clearing flags on attachment: 186072

Committed r141616: &lt;http://trac.webkit.org/changeset/141616&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823031</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-01 11:30:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185859</attachid>
            <date>2013-01-31 14:09:23 -0800</date>
            <delta_ts>2013-01-31 18:08:49 -0800</delta_ts>
            <desc>Proposed fix I: Updated computePreferredLogicalWidths to handle all minmax combination.</desc>
            <filename>bug-108403-20130131140607.patch</filename>
            <type>text/plain</type>
            <size>10634</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI0ZjY3MGM4MzU3N2Q3
MDBiMWJiNzMwYjA2MDQ0MzYzYTcyMmI2Ny4uMjk2N2I4MDAzNjA4ODAwMzhhZTZhZmNjZmY4ZGJm
YzlhNWI2NWIwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAxLTMxICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzIGRvZXNuJ3QgaGFuZGxlIG1p
bm1heCB0cmFja3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwODQwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3Q6IGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtcHJlZmVycmVkLWxvZ2ljYWwtd2lk
dGhzLmh0bWwKKworICAgICAgICBUaGUgY29kZSBiZWZvcmUgdGhpcyBjaGFuZ2Ugd2FzIG9ubHkg
aGFuZGxpbmcgbWlubWF4KCkgd2l0aCAyIGZpeGVkIHdpZHRocy4KKyAgICAgICAgVGhlIG5ldyBj
b2RlIHdhcyB1cGRhdGVkIHRvIHJlbW92ZSB0aGlzIGFydGlmaWNpYWwgbGltaXRhdGlvbiBhbmQg
d2Ugbm93CisgICAgICAgIHN1cHBvcnQgYWxsIGNvbWJpbmF0aW9uIG9mIG1pbm1heCgpLgorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyR3JpZDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICBVcGRhdGVk
IHRvIHVzZSByZXNvbHZlUHJlZmVycmVkTG9naWNhbFdpZHRoLgorCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJHcmlkOjpyZXNvbHZlUHJlZmVycmVkTG9naWNhbFdpZHRoKToKKyAgICAgICAgQWRk
ZWQgdGhpcyBoZWxwZXIgZnVuY3Rpb24gdGhhdCBpbXBsZW1lbnRzIHRoZSBjb3JlIG9mIHRoZSBw
cmVmZXJyZWQgd2lkdGgKKyAgICAgICAgY29tcHV0YXRpb24uCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyR3JpZC5oOiBBZGRlZCByZXNvbHZlUHJlZmVycmVkTG9naWNhbFdpZHRoLgorCiAy
MDEzLTAxLTMxICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW2Nh
bnZhc10gSW1wbGVtZW50IGN1cnJlbnRQYXRoIHRvIGdldCBhbmQgc2V0IHRoZSBjdXJyZW50IHBh
dGggb2YgdGhlIGNvbnRleHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApp
bmRleCBkYjFiMDg1ZGFlMDAxMThmOGJiZTEwNThkNTUyNzE5Y2U0M2QxOWQ3Li42NmIwZDg5ZGY4
OWVmYTE1MDk3NWZiYWY5YjRjNTU0NjMzNjg5NDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckdyaWQuY3BwCkBAIC0xNDIsMTcgKzE0Miw4IEBAIHZvaWQgUmVuZGVyR3JpZDo6Y29t
cHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIGNvbnN0IFZlY3RvcjxHcmlkVHJhY2tT
aXplPiYgdHJhY2tTdHlsZXMgPSBzdHlsZSgpLT5ncmlkQ29sdW1ucygpOwogCiAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCB0cmFja1N0eWxlcy5zaXplKCk7ICsraSkgewotICAgICAgICBjb25z
dCBMZW5ndGgmIG1pblRyYWNrTGVuZ3RoID0gdHJhY2tTdHlsZXNbaV0ubWluVHJhY2tCcmVhZHRo
KCk7Ci0gICAgICAgIGNvbnN0IExlbmd0aCYgbWF4VHJhY2tMZW5ndGggPSB0cmFja1N0eWxlc1tp
XS5tYXhUcmFja0JyZWFkdGgoKTsKLSAgICAgICAgLy8gRklYTUU6IEhhbmRsZSBvbmx5IG9uZSBm
aXhlZCBsZW5ndGggcHJvcGVybHkgKGUuZyBtaW5tYXgoMTAwcHgsIG1heC1jb250ZW50KSkuCi0g
ICAgICAgIGlmICghbWluVHJhY2tMZW5ndGguaXNGaXhlZCgpIHx8ICFtYXhUcmFja0xlbmd0aC5p
c0ZpeGVkKCkpIHsKLSAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIExheW91dFVuaXQgbWluVHJhY2tCcmVhZHRo
ID0gbWluVHJhY2tMZW5ndGguaW50VmFsdWUoKTsKLSAgICAgICAgTGF5b3V0VW5pdCBtYXhUcmFj
a0JyZWFkdGggPSBtYXhUcmFja0xlbmd0aC5pbnRWYWx1ZSgpOwotCisgICAgICAgIExheW91dFVu
aXQgbWluVHJhY2tCcmVhZHRoID0gcmVzb2x2ZVByZWZlcnJlZExvZ2ljYWxXaWR0aChNaW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGgsIGkpOworICAgICAgICBMYXlvdXRVbml0IG1heFRyYWNrQnJlYWR0
aCA9IHJlc29sdmVQcmVmZXJyZWRMb2dpY2FsV2lkdGgoTWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
LCBpKTsKICAgICAgICAgbWF4VHJhY2tCcmVhZHRoID0gc3RkOjptYXgobWF4VHJhY2tCcmVhZHRo
LCBtaW5UcmFja0JyZWFkdGgpOwogCiAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
ICs9IG1pblRyYWNrQnJlYWR0aDsKQEAgLTE3MCw2ICsxNjEsNDMgQEAgdm9pZCBSZW5kZXJHcmlk
Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpCiAgICAgc2V0UHJlZmVycmVkTG9naWNh
bFdpZHRoc0RpcnR5KGZhbHNlKTsKIH0KIAorTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpyZXNvbHZl
UHJlZmVycmVkTG9naWNhbFdpZHRoKFByZWZlcnJlZFdpZHRoVHlwZSB0eXBlLCBzaXplX3QgdHJh
Y2tJbmRleCkgY29uc3QKK3sKKyAgICBjb25zdCBHcmlkVHJhY2tTaXplJiB0cmFja1N0eWxlID0g
c3R5bGUoKS0+Z3JpZENvbHVtbnMoKVt0cmFja0luZGV4XTsKKyAgICBjb25zdCBMZW5ndGgmIGxl
bmd0aCA9ICh0eXBlID09IE1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCkgPyB0cmFja1N0eWxlLm1p
blRyYWNrQnJlYWR0aCgpIDogdHJhY2tTdHlsZS5tYXhUcmFja0JyZWFkdGgoKTsKKyAgICBpZiAo
bGVuZ3RoLmlzRml4ZWQoKSkKKyAgICAgICAgcmV0dXJuIGxlbmd0aC5pbnRWYWx1ZSgpOworCisg
ICAgaWYgKGxlbmd0aC5pc01pbkNvbnRlbnQoKSkgeworICAgICAgICBMYXlvdXRVbml0IG1pbkNv
bnRlbnRTaXplID0gMDsKKyAgICAgICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGls
ZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAg
ICAgICAgc2l6ZV90IGNlbGxJbmRleCA9IHJlc29sdmVHcmlkUG9zaXRpb24oRm9yQ29sdW1ucywg
Y2hpbGQpOworICAgICAgICAgICAgaWYgKGNlbGxJbmRleCAhPSB0cmFja0luZGV4KQorICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGlu
Y2x1ZGUgdGhlIGNoaWxkJ3MgZml4ZWQgbWFyZ2lucyBsaWtlIFJlbmRlckJsb2NrLgorICAgICAg
ICAgICAgbWluQ29udGVudFNpemUgPSBzdGQ6Om1heChtaW5Db250ZW50U2l6ZSwgY2hpbGQtPm1p
blByZWZlcnJlZExvZ2ljYWxXaWR0aCgpKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gbWlu
Q29udGVudFNpemU7CisgICAgfQorICAgIAorICAgIGlmIChsZW5ndGguaXNNYXhDb250ZW50KCkp
IHsKKyAgICAgICAgTGF5b3V0VW5pdCBtYXhDb250ZW50U2l6ZSA9IDA7CisgICAgICAgIGZvciAo
UmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQt
Pm5leHRTaWJsaW5nQm94KCkpIHsKKyAgICAgICAgICAgIHNpemVfdCBjZWxsSW5kZXggPSByZXNv
bHZlR3JpZFBvc2l0aW9uKEZvckNvbHVtbnMsIGNoaWxkKTsKKyAgICAgICAgICAgIGlmIChjZWxs
SW5kZXggIT0gdHJhY2tJbmRleCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAg
ICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBpbmNsdWRlIHRoZSBjaGlsZCdzIGZpeGVkIG1hcmdp
bnMgbGlrZSBSZW5kZXJCbG9jay4KKyAgICAgICAgICAgIG1heENvbnRlbnRTaXplID0gc3RkOjpt
YXgobWF4Q29udGVudFNpemUsIGNoaWxkLT5tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSk7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1heENvbnRlbnRTaXplOworICAgIH0KKworICAgIC8v
IEZJWE1FOiBXaGF0IHNob3VsZCB3ZSBkbyBmb3IgdGhlIG90aGVyIHZhbHVlcyAoZS5nLiA8cGVy
Y2VudGFnZT4gYW5kIGNhbGMoKSkKKyAgICByZXR1cm4gMDsKK30KKwogdm9pZCBSZW5kZXJHcmlk
Ojpjb21wdXRlZFVzZWRCcmVhZHRoT2ZHcmlkVHJhY2tzKFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRp
cmVjdGlvbiwgVmVjdG9yPEdyaWRUcmFjaz4mIGNvbHVtblRyYWNrcywgVmVjdG9yPEdyaWRUcmFj
az4mIHJvd1RyYWNrcykKIHsKICAgICBjb25zdCBWZWN0b3I8R3JpZFRyYWNrU2l6ZT4mIHRyYWNr
U3R5bGVzID0gKGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zKSA/IHN0eWxlKCktPmdyaWRDb2x1bW5z
KCkgOiBzdHlsZSgpLT5ncmlkUm93cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlk
LmgKaW5kZXggMzI3YTUwOWE5NTY0YmM5OThjNDBjYmE3NzQ1OWMzNzEyZjZhYjk2MC4uZTk4Mjg5
MTMzZWY0MWQ0MmY2YWE5MzI0MzExOTA4OTk4ZTdmNTMxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyR3JpZC5oCkBAIC00OCw2ICs0OCw5IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBi
b29sIGlzUmVuZGVyR3JpZCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KICAgICB2
aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKSBPVkVSUklERTsKIAor
ICAgIGVudW0gUHJlZmVycmVkV2lkdGhUeXBlIHsgTWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBN
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggfTsKKyAgICBMYXlvdXRVbml0IHJlc29sdmVQcmVmZXJy
ZWRMb2dpY2FsV2lkdGgoUHJlZmVycmVkV2lkdGhUeXBlLCBzaXplX3QpIGNvbnN0OworCiAgICAg
ZW51bSBUcmFja1NpemluZ0RpcmVjdGlvbiB7IEZvckNvbHVtbnMsIEZvclJvd3MgfTsKICAgICB2
b2lkIGNvbXB1dGVkVXNlZEJyZWFkdGhPZkdyaWRUcmFja3MoVHJhY2tTaXppbmdEaXJlY3Rpb24s
IFZlY3RvcjxHcmlkVHJhY2s+JiBjb2x1bW5UcmFja3MsIFZlY3RvcjxHcmlkVHJhY2s+JiByb3dU
cmFja3MpOwogICAgIExheW91dFVuaXQgY29tcHV0ZVVzZWRCcmVhZHRoT2ZNaW5MZW5ndGgoVHJh
Y2tTaXppbmdEaXJlY3Rpb24sIGNvbnN0IExlbmd0aCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY0Y2E1YTE0
Y2YzOGVjNzVmOTdlOGRjNTgyZGNiZmM5OWFjNTNmMzAuLjAwMWNlYTNmOTRkMTY2YjliNGI3NjE4
NWMzYWRiZDE4NzZmYTEzOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMS0zMSAgSnVs
aWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KKworICAgICAgICBbQ1NTIEdy
aWQgTGF5b3V0XSBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyBkb2Vzbid0IGhhbmRsZSBt
aW5tYXggdHJhY2tzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDg0MDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtcHJlZmVycmVkLWxvZ2ljYWwtd2lkdGhz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3Jp
ZC1wcmVmZXJyZWQtbG9naWNhbC13aWR0aHMuaHRtbDogQWRkZWQuCisKIDIwMTMtMDEtMzEgIERp
cmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KIAogICAgICAgICBbY2FudmFzXSBJbXBsZW1l
bnQgY3VycmVudFBhdGggdG8gZ2V0IGFuZCBzZXQgdGhlIGN1cnJlbnQgcGF0aCBvZiB0aGUgY29u
dGV4dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1w
cmVmZXJyZWQtbG9naWNhbC13aWR0aHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvZ3JpZC1wcmVmZXJyZWQtbG9naWNhbC13aWR0aHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjlkMDNjNWVjZmQwZGJiZGY0YTA1MjFmNmNmYzI5OTdiOTQ5Y2RhZWEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXBy
ZWZlcnJlZC1sb2dpY2FsLXdpZHRocy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAorVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBncmlkIGVsZW1lbnQncyBwcmVmZXJyZWQgbG9naWNhbCB3
aWR0aHMgYXJlIHByb3Blcmx5IGNvbXB1dGVkIHdpdGggZGlmZmVyZW50IGNvbWJpbmF0aW9ucyBv
ZiBtaW5tYXgoKS4KKworWFggWFggWFgKK1hYIFhYIFhYCitQQVNTCitYWCBYWCBYWAorWFggWFgg
WFgKK1BBU1MKK1hYWFhYIFhYWFhYCitYWFhYWCBYWFhYWAorUEFTUworWFhYWFggWFhYWFgKK1hY
WFhYIFhYWFhYCitQQVNTCitYWCBYWCBYWAorWFggWFggWFgKK1BBU1MKK1hYIFhYIFhYCitYWCBY
WCBYWAorUEFTUworUEFTUworUEFTUworWFggWFggWFgKK1hYIFhYIFhYCitQQVNTCitYWCBYWCBY
WAorWFggWFggWFgKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQt
bGF5b3V0L2dyaWQtcHJlZmVycmVkLWxvZ2ljYWwtd2lkdGhzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXByZWZlcnJlZC1sb2dpY2FsLXdpZHRocy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjc5NGI0YWJhNjBlMzBiOTI1N2IxM2MxZDUxYjhjOGI5NzMzNzYxNjUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXByZWZl
cnJlZC1sb2dpY2FsLXdpZHRocy5odG1sCkBAIC0wLDAgKzEsODEgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NTR3JpZExheW91
dEVuYWJsZWQiLCAxKTsKKzwvc2NyaXB0PgorPGxpbmsgaHJlZj0icmVzb3VyY2VzL2dyaWQuY3Nz
IiByZWw9c3R5bGVzaGVldD4KKzxsaW5rIGhyZWY9Ii4uL2Nzcy1pbnRyaW5zaWMtZGltZW5zaW9u
cy9yZXNvdXJjZXMvd2lkdGgta2V5d29yZC1jbGFzc2VzLmNzcyIgcmVsPXN0eWxlc2hlZXQ+Cis8
c3R5bGU+CisuZ3JpZE1pbk1pbkNvbnRlbnQgeworICAgIC13ZWJraXQtZ3JpZC1jb2x1bW5zOiBt
aW5tYXgoLXdlYmtpdC1taW4tY29udGVudCwgNDBweCkgbWlubWF4KC13ZWJraXQtbWluLWNvbnRl
bnQsIDQwcHgpOworICAgIC13ZWJraXQtZ3JpZC1yb3dzOiAxMHB4OworICAgIGZvbnQ6IDEwcHgv
MSBBaGVtOworfQorCisuZ3JpZE1pbk1heENvbnRlbnQgeworICAgIC13ZWJraXQtZ3JpZC1jb2x1
bW5zOiBtaW5tYXgoMzBweCwgLXdlYmtpdC1taW4tY29udGVudCkgbWlubWF4KDMwcHgsIC13ZWJr
aXQtbWluLWNvbnRlbnQpOworICAgIC13ZWJraXQtZ3JpZC1yb3dzOiAxMHB4OworICAgIGZvbnQ6
IDEwcHgvMSBBaGVtOworfQorCisuZ3JpZE1heENvbnRlbnQgeworICAgIC13ZWJraXQtZ3JpZC1j
b2x1bW5zOiBtaW5tYXgoNDBweCwgLXdlYmtpdC1tYXgtY29udGVudCkgbWlubWF4KDQwcHgsIC13
ZWJraXQtbWF4LWNvbnRlbnQpOworICAgIC13ZWJraXQtZ3JpZC1yb3dzOiAxMHB4OworICAgIGZv
bnQ6IDEwcHgvMSBBaGVtOworfQorCisuZ3JpZEZpeGVkQ29udGVudCB7CisgICAgLXdlYmtpdC1n
cmlkLWNvbHVtbnM6IG1pbm1heCgzMHB4LCA0MHB4KSBtaW5tYXgoMzBweCwgNDBweCk7CisgICAg
LXdlYmtpdC1ncmlkLXJvd3M6IDEwcHg7Cit9CisKKy5ncmlkQXV0b0NvbnRlbnQgeworICAgIC13
ZWJraXQtZ3JpZC1jb2x1bW5zOiBhdXRvIGF1dG87CisgICAgLXdlYmtpdC1ncmlkLXJvd3M6IDEw
cHg7CisgICAgZm9udDogMTBweC8xIEFoZW07Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwvc2NyaXB0PgorPGJvZHkg
b25sb2FkPSJjaGVja0xheW91dCgnLmdyaWQnKSI+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBjaGVj
a3MgdGhhdCB0aGUgZ3JpZCBlbGVtZW50J3MgcHJlZmVycmVkIGxvZ2ljYWwgd2lkdGhzIGFyZSBw
cm9wZXJseSBjb21wdXRlZCB3aXRoIGRpZmZlcmVudCBjb21iaW5hdGlvbnMgb2YgbWlubWF4KCku
PC9wPgorPGRpdiBjbGFzcz0iZ3JpZCBncmlkTWluTWluQ29udGVudCBtaW4tY29udGVudCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjEwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI0MCI+CisgICAgPGRp
diBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFggWFggWFg8L2Rpdj4KKyAgICA8ZGl2IGNs
YXNzPSJmaXJzdFJvd1NlY29uZENvbHVtbiI+WFggWFggWFg8L2Rpdj4KKzwvZGl2PgorPGRpdiBj
bGFzcz0iZ3JpZCBncmlkTWluTWluQ29udGVudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjEwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI4MCI+CisgICAgPGRpdiBjbGFzcz0iZmly
c3RSb3dGaXJzdENvbHVtbiI+WFggWFggWFg8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJmaXJzdFJv
d1NlY29uZENvbHVtbiI+WFggWFggWFg8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCBn
cmlkTWluTWF4Q29udGVudCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSI2MCI+CisgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENv
bHVtbiI+WFhYWFggWFhYWFg8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd1NlY29uZENv
bHVtbiI+WFhYWFggWFhYWFg8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCBncmlkTWlu
TWF4Q29udGVudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIxMDAiPgorICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4i
PlhYWFhYIFhYWFhYPC9kaXY+CisgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dTZWNvbmRDb2x1bW4i
PlhYWFhYIFhYWFhYPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQgZ3JpZE1heENvbnRl
bnQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0YS1leHBlY3RlZC13
aWR0aD0iODAiPgorICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYIFhYIFhY
PC9kaXY+CisgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dTZWNvbmRDb2x1bW4iPlhYIFhYIFhYPC9k
aXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQgZ3JpZE1heENvbnRlbnQgbWF4LWNvbnRlbnQi
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTYwIj4KKyAg
ICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWCBYWCBYWDwvZGl2PgorICAgIDxk
aXYgY2xhc3M9ImZpcnN0Um93U2Vjb25kQ29sdW1uIj5YWCBYWCBYWDwvZGl2PgorPC9kaXY+Cis8
ZGl2IGNsYXNzPSJncmlkIGdyaWRGaXhlZENvbnRlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSIxMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iNjAiPjwvZGl2PgorPGRpdiBjbGFz
cz0iZ3JpZCBncmlkRml4ZWRDb250ZW50IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMTAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjgwIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQg
Z3JpZEF1dG9Db250ZW50IG1pbi1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjQwIj4KKyAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29s
dW1uIj5YWCBYWCBYWDwvZGl2PgorICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93U2Vjb25kQ29sdW1u
Ij5YWCBYWCBYWDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIGdyaWRBdXRvQ29udGVu
dCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwIiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIxNjAiPgorICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYIFhYIFhY
PC9kaXY+CisgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dTZWNvbmRDb2x1bW4iPlhYIFhYIFhYPC9k
aXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185910</attachid>
            <date>2013-01-31 18:08:51 -0800</date>
            <delta_ts>2013-02-01 07:20:38 -0800</delta_ts>
            <desc>Proposed fix 2: Updated after Ojan&apos;s comments.</desc>
            <filename>bug-108403-20130131180534.patch</filename>
            <type>text/plain</type>
            <size>10728</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI2ZDA3MzAwNThiM2Q5
NDI5NmVjNThjZTI5YjVmOTJkMjhlODI3Ni4uYTc1NGExM2Q5YzVlZTVkODg4ODIzOTY4NmRlNmM1
MGQxNGYzMTkzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAxLTMxICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzIGRvZXNuJ3QgaGFuZGxlIG1p
bm1heCB0cmFja3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwODQwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3Q6IGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtcHJlZmVycmVkLWxvZ2ljYWwtd2lk
dGhzLmh0bWwKKworICAgICAgICBUaGUgY29kZSBiZWZvcmUgdGhpcyBjaGFuZ2Ugd2FzIG9ubHkg
aGFuZGxpbmcgbWlubWF4KCkgd2l0aCAyIGZpeGVkIHdpZHRocy4KKyAgICAgICAgVGhlIG5ldyBj
b2RlIHdhcyB1cGRhdGVkIHRvIHJlbW92ZSB0aGlzIGFydGlmaWNpYWwgbGltaXRhdGlvbiBhbmQg
d2Ugbm93CisgICAgICAgIHN1cHBvcnQgYWxsIGNvbWJpbmF0aW9uIG9mIG1pbm1heCgpLgorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyR3JpZDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICBVcGRhdGVk
IHRvIHVzZSByZXNvbHZlUHJlZmVycmVkTG9naWNhbFdpZHRoLgorCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJHcmlkOjpyZXNvbHZlUHJlZmVycmVkTG9naWNhbFdpZHRoKToKKyAgICAgICAgQWRk
ZWQgdGhpcyBoZWxwZXIgZnVuY3Rpb24gdGhhdCBpbXBsZW1lbnRzIHRoZSBjb3JlIG9mIHRoZSBw
cmVmZXJyZWQgd2lkdGgKKyAgICAgICAgY29tcHV0YXRpb24uCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyR3JpZC5oOiBBZGRlZCByZXNvbHZlUHJlZmVycmVkTG9naWNhbFdpZHRoLgorCiAy
MDEzLTAxLTMxICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbVjhdIENsZWFuIHVwIERpY3Rpb25hcnk6OmdldCgpIGJ5IHJlbW92aW5nIHJlZHVuZGFudCBG
aW5kSW5zdGFuY2VJblByb3RvdHlwZUNoYWluKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJHcmlkLmNwcAppbmRleCBkZjBmODdmMDE5OGY1YjBiYmI3Yzc2NDMxZDkwMThmZjEzMmEwODky
Li5mMjNkODU4OTdhNjUxOGM4YmZkMGNlMWMzYmRjZTI5ZmUyYjU3MzNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0xNDIsMTcgKzE0Miw4IEBAIHZvaWQgUmVu
ZGVyR3JpZDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIGNvbnN0IFZlY3Rv
cjxHcmlkVHJhY2tTaXplPiYgdHJhY2tTdHlsZXMgPSBzdHlsZSgpLT5ncmlkQ29sdW1ucygpOwog
CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0cmFja1N0eWxlcy5zaXplKCk7ICsraSkgewot
ICAgICAgICBjb25zdCBMZW5ndGgmIG1pblRyYWNrTGVuZ3RoID0gdHJhY2tTdHlsZXNbaV0ubWlu
VHJhY2tCcmVhZHRoKCk7Ci0gICAgICAgIGNvbnN0IExlbmd0aCYgbWF4VHJhY2tMZW5ndGggPSB0
cmFja1N0eWxlc1tpXS5tYXhUcmFja0JyZWFkdGgoKTsKLSAgICAgICAgLy8gRklYTUU6IEhhbmRs
ZSBvbmx5IG9uZSBmaXhlZCBsZW5ndGggcHJvcGVybHkgKGUuZyBtaW5tYXgoMTAwcHgsIG1heC1j
b250ZW50KSkuCi0gICAgICAgIGlmICghbWluVHJhY2tMZW5ndGguaXNGaXhlZCgpIHx8ICFtYXhU
cmFja0xlbmd0aC5pc0ZpeGVkKCkpIHsKLSAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7Ci0g
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIExheW91dFVuaXQgbWlu
VHJhY2tCcmVhZHRoID0gbWluVHJhY2tMZW5ndGguaW50VmFsdWUoKTsKLSAgICAgICAgTGF5b3V0
VW5pdCBtYXhUcmFja0JyZWFkdGggPSBtYXhUcmFja0xlbmd0aC5pbnRWYWx1ZSgpOwotCisgICAg
ICAgIExheW91dFVuaXQgbWluVHJhY2tCcmVhZHRoID0gcmVzb2x2ZVByZWZlcnJlZExvZ2ljYWxX
aWR0aCh0cmFja1N0eWxlc1tpXS5taW5UcmFja0JyZWFkdGgoKSwgaSk7CisgICAgICAgIExheW91
dFVuaXQgbWF4VHJhY2tCcmVhZHRoID0gcmVzb2x2ZVByZWZlcnJlZExvZ2ljYWxXaWR0aCh0cmFj
a1N0eWxlc1tpXS5tYXhUcmFja0JyZWFkdGgoKSwgaSk7CiAgICAgICAgIG1heFRyYWNrQnJlYWR0
aCA9IHN0ZDo6bWF4KG1heFRyYWNrQnJlYWR0aCwgbWluVHJhY2tCcmVhZHRoKTsKIAogICAgICAg
ICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCArPSBtaW5UcmFja0JyZWFkdGg7CkBAIC0xNzAs
NiArMTYxLDQ2IEBAIHZvaWQgUmVuZGVyR3JpZDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0
aHMoKQogICAgIHNldFByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eShmYWxzZSk7CiB9CiAKK0xh
eW91dFVuaXQgUmVuZGVyR3JpZDo6cmVzb2x2ZVByZWZlcnJlZExvZ2ljYWxXaWR0aChjb25zdCBM
ZW5ndGgmIGxlbmd0aCwgc2l6ZV90IHRyYWNrSW5kZXgpIGNvbnN0Cit7CisgICAgaWYgKGxlbmd0
aC5pc0ZpeGVkKCkpIHsKKyAgICAgICAgLy8gR3JpZCBhcmVhcyBkb24ndCBoYXZlIGJvcmRlcnMs
IG1hcmdpbnMgb3IgcGFkZGluZ3Mgc28gd2UgZG9uJ3QgbmVlZCB0byBhY2NvdW50IGZvciB0aGVt
LgorICAgICAgICByZXR1cm4gbGVuZ3RoLmludFZhbHVlKCk7CisgICAgfQorCisgICAgaWYgKGxl
bmd0aC5pc01pbkNvbnRlbnQoKSkgeworICAgICAgICBMYXlvdXRVbml0IG1pbkNvbnRlbnRTaXpl
ID0gMDsKKyAgICAgICAgLy8gRklYTUU6IEl0J3MgaW5lZmZpY2llbnQgdG8gaXRlcmF0ZSBvdmVy
IG91ciBncmlkIGl0ZW1zLiBXZSBzaG91bGQgYmUgYWJsZSB0bworICAgICAgICAvLyBnZXQgdGhl
IHN1YnNldCBvZiBncmlkIGl0ZW1zIGluIHRoZSBjdXJyZW50IHJvdyAvIGNvbHVtbiBmYXN0ZXIu
CisgICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7
IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKKyAgICAgICAgICAgIHNpemVfdCBj
ZWxsSW5kZXggPSByZXNvbHZlR3JpZFBvc2l0aW9uKEZvckNvbHVtbnMsIGNoaWxkKTsKKyAgICAg
ICAgICAgIGlmIChjZWxsSW5kZXggIT0gdHJhY2tJbmRleCkKKyAgICAgICAgICAgICAgICBjb250
aW51ZTsKKworICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBpbmNsdWRlIHRoZSBjaGls
ZCdzIGZpeGVkIG1hcmdpbnMgbGlrZSBSZW5kZXJGbGV4aWJsZUJveC4KKyAgICAgICAgICAgIG1p
bkNvbnRlbnRTaXplID0gc3RkOjptYXgobWluQ29udGVudFNpemUsIGNoaWxkLT5taW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGgoKSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1pbkNvbnRlbnRT
aXplOworICAgIH0KKworICAgIGlmIChsZW5ndGguaXNNYXhDb250ZW50KCkpIHsKKyAgICAgICAg
TGF5b3V0VW5pdCBtYXhDb250ZW50U2l6ZSA9IDA7CisgICAgICAgIGZvciAoUmVuZGVyQm94KiBj
aGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5n
Qm94KCkpIHsKKyAgICAgICAgICAgIHNpemVfdCBjZWxsSW5kZXggPSByZXNvbHZlR3JpZFBvc2l0
aW9uKEZvckNvbHVtbnMsIGNoaWxkKTsKKyAgICAgICAgICAgIGlmIChjZWxsSW5kZXggIT0gdHJh
Y2tJbmRleCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgLy8gRklY
TUU6IFdlIHNob3VsZCBpbmNsdWRlIHRoZSBjaGlsZCdzIGZpeGVkIG1hcmdpbnMgbGlrZSBSZW5k
ZXJGbGV4aWJsZUJveC4KKyAgICAgICAgICAgIG1heENvbnRlbnRTaXplID0gc3RkOjptYXgobWF4
Q29udGVudFNpemUsIGNoaWxkLT5tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSk7CisgICAgICAg
IH0KKyAgICAgICAgcmV0dXJuIG1heENvbnRlbnRTaXplOworICAgIH0KKworICAgIC8vIEZJWE1F
OiBjc3MzLXNpemluZyBtZW50aW9ucyB0aGF0IHdlIHNob3VsZCByZXNvbHZlICJkZWZpbml0ZSBz
aXplcyIKKyAgICAvLyAoaW5jbHVkaW5nIDxwZXJjZW50YWdlPiBhbmQgY2FsYygpKSBidXQgd2Ug
ZG9uJ3QgaXQgZWxzZXdoZXJlLgorICAgIHJldHVybiAwOworfQorCiB2b2lkIFJlbmRlckdyaWQ6
OmNvbXB1dGVkVXNlZEJyZWFkdGhPZkdyaWRUcmFja3MoVHJhY2tTaXppbmdEaXJlY3Rpb24gZGly
ZWN0aW9uLCBWZWN0b3I8R3JpZFRyYWNrPiYgY29sdW1uVHJhY2tzLCBWZWN0b3I8R3JpZFRyYWNr
PiYgcm93VHJhY2tzKQogewogICAgIGNvbnN0IFZlY3RvcjxHcmlkVHJhY2tTaXplPiYgdHJhY2tT
dHlsZXMgPSAoZGlyZWN0aW9uID09IEZvckNvbHVtbnMpID8gc3R5bGUoKS0+Z3JpZENvbHVtbnMo
KSA6IHN0eWxlKCktPmdyaWRSb3dzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyR3JpZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQu
aAppbmRleCBlMzYyZWUyOGI1NTViODMwMWQzNWRjOTZhNTBlMzU0YWU1OTQyZjMyLi41YTNlMGY5
ZGQwODZhODY2MWNjMDg5OTMxZDA2Yzk1N2Y2MTQ4NWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJHcmlkLmgKQEAgLTQ4LDYgKzQ4LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJv
b2wgaXNSZW5kZXJHcmlkKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZp
cnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpIE9WRVJSSURFOwogCisg
ICAgTGF5b3V0VW5pdCByZXNvbHZlUHJlZmVycmVkTG9naWNhbFdpZHRoKGNvbnN0IExlbmd0aCYs
IHNpemVfdCkgY29uc3Q7CisKICAgICBlbnVtIFRyYWNrU2l6aW5nRGlyZWN0aW9uIHsgRm9yQ29s
dW1ucywgRm9yUm93cyB9OwogICAgIHZvaWQgY29tcHV0ZWRVc2VkQnJlYWR0aE9mR3JpZFRyYWNr
cyhUcmFja1NpemluZ0RpcmVjdGlvbiwgVmVjdG9yPEdyaWRUcmFjaz4mIGNvbHVtblRyYWNrcywg
VmVjdG9yPEdyaWRUcmFjaz4mIHJvd1RyYWNrcyk7CiAgICAgTGF5b3V0VW5pdCBjb21wdXRlVXNl
ZEJyZWFkdGhPZk1pbkxlbmd0aChUcmFja1NpemluZ0RpcmVjdGlvbiwgY29uc3QgTGVuZ3RoJikg
Y29uc3Q7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNzEyMDM4NWVjNmNjMTVmMGEzNTRmMjI2MjZhNDE0Yjk5OTdmZDI5NC4u
N2YwMWI1MWM0ZWYyOGU4MmZlNjE1YjY2NDc5OTU4NmQ1Mzk3NGY1ZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDEzLTAxLTMxICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQu
b3JnPgorCisgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2Fs
V2lkdGhzIGRvZXNuJ3QgaGFuZGxlIG1pbm1heCB0cmFja3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODQwMworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1w
cmVmZXJyZWQtbG9naWNhbC13aWR0aHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXByZWZlcnJlZC1sb2dpY2FsLXdpZHRocy5odG1sOiBB
ZGRlZC4KKwogMjAxMy0wMS0zMSAgSmVzc2llIEJlcmxpbiAgPGpiZXJsaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFJFR1JFU1NJT04ocjE0MTEzNik6IEFwcGxlJ3MgaW50ZXJuYWwgUExUIHRlc3Qg
c3VpdGUgZG9lc24ndCBmaW5pc2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdy
aWQtbGF5b3V0L2dyaWQtcHJlZmVycmVkLWxvZ2ljYWwtd2lkdGhzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtcHJlZmVycmVkLWxvZ2ljYWwtd2lk
dGhzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZDAzYzVlY2ZkMGRiYmRmNGEwNTIxZjZjZmMy
OTk3Yjk0OWNkYWVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvZ3JpZC1wcmVmZXJyZWQtbG9naWNhbC13aWR0aHMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMjggQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgZ3JpZCBlbGVtZW50J3MgcHJl
ZmVycmVkIGxvZ2ljYWwgd2lkdGhzIGFyZSBwcm9wZXJseSBjb21wdXRlZCB3aXRoIGRpZmZlcmVu
dCBjb21iaW5hdGlvbnMgb2YgbWlubWF4KCkuCisKK1hYIFhYIFhYCitYWCBYWCBYWAorUEFTUwor
WFggWFggWFgKK1hYIFhYIFhYCitQQVNTCitYWFhYWCBYWFhYWAorWFhYWFggWFhYWFgKK1BBU1MK
K1hYWFhYIFhYWFhYCitYWFhYWCBYWFhYWAorUEFTUworWFggWFggWFgKK1hYIFhYIFhYCitQQVNT
CitYWCBYWCBYWAorWFggWFggWFgKK1BBU1MKK1BBU1MKK1BBU1MKK1hYIFhYIFhYCitYWCBYWCBY
WAorUEFTUworWFggWFggWFgKK1hYIFhYIFhYCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXByZWZlcnJlZC1sb2dpY2FsLXdpZHRocy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1wcmVmZXJyZWQtbG9naWNh
bC13aWR0aHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOTljZjMxNGE2ODJkY2RiOWVhMmQ5MzI1NjUzYzdi
NjcxMjM3YjJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvZ3JpZC1wcmVmZXJyZWQtbG9naWNhbC13aWR0aHMuaHRtbApAQCAtMCwwICsxLDgxIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdENTU0dyaWRMYXlvdXRFbmFibGVkIiwgMSk7Cis8L3NjcmlwdD4KKzxsaW5rIGhyZWY9InJl
c291cmNlcy9ncmlkLmNzcyIgcmVsPXN0eWxlc2hlZXQ+Cis8bGluayBocmVmPSIuLi9jc3MtaW50
cmluc2ljLWRpbWVuc2lvbnMvcmVzb3VyY2VzL3dpZHRoLWtleXdvcmQtY2xhc3Nlcy5jc3MiIHJl
bD1zdHlsZXNoZWV0PgorPHN0eWxlPgorLmdyaWRNaW5Db250ZW50Rml4ZWQgeworICAgIC13ZWJr
aXQtZ3JpZC1jb2x1bW5zOiBtaW5tYXgoLXdlYmtpdC1taW4tY29udGVudCwgNDBweCkgbWlubWF4
KC13ZWJraXQtbWluLWNvbnRlbnQsIDQwcHgpOworICAgIC13ZWJraXQtZ3JpZC1yb3dzOiAxMHB4
OworICAgIGZvbnQ6IDEwcHgvMSBBaGVtOworfQorCisuZ3JpZEZpeGVkTWluQ29udGVudCB7Cisg
ICAgLXdlYmtpdC1ncmlkLWNvbHVtbnM6IG1pbm1heCgzMHB4LCAtd2Via2l0LW1pbi1jb250ZW50
KSBtaW5tYXgoMzBweCwgLXdlYmtpdC1taW4tY29udGVudCk7CisgICAgLXdlYmtpdC1ncmlkLXJv
d3M6IDEwcHg7CisgICAgZm9udDogMTBweC8xIEFoZW07Cit9CisKKy5ncmlkRml4ZWRNYXhDb250
ZW50IHsKKyAgICAtd2Via2l0LWdyaWQtY29sdW1uczogbWlubWF4KDQwcHgsIC13ZWJraXQtbWF4
LWNvbnRlbnQpIG1pbm1heCg0MHB4LCAtd2Via2l0LW1heC1jb250ZW50KTsKKyAgICAtd2Via2l0
LWdyaWQtcm93czogMTBweDsKKyAgICBmb250OiAxMHB4LzEgQWhlbTsKK30KKworLmdyaWRGaXhl
ZEZpeGVkIHsKKyAgICAtd2Via2l0LWdyaWQtY29sdW1uczogbWlubWF4KDMwcHgsIDQwcHgpIG1p
bm1heCgzMHB4LCA0MHB4KTsKKyAgICAtd2Via2l0LWdyaWQtcm93czogMTBweDsKK30KKworLmdy
aWRBdXRvQ29udGVudCB7CisgICAgLXdlYmtpdC1ncmlkLWNvbHVtbnM6IGF1dG8gYXV0bzsKKyAg
ICAtd2Via2l0LWdyaWQtcm93czogMTBweDsKKyAgICBmb250OiAxMHB4LzEgQWhlbTsKK30KKzwv
c3R5bGU+Cis8L2hlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2NoZWNrLWxheW91
dC5qcyI+PC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9ImNoZWNrTGF5b3V0KCcuZ3JpZCcpIj4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBncmlkIGVsZW1lbnQncyBwcmVmZXJy
ZWQgbG9naWNhbCB3aWR0aHMgYXJlIHByb3Blcmx5IGNvbXB1dGVkIHdpdGggZGlmZmVyZW50IGNv
bWJpbmF0aW9ucyBvZiBtaW5tYXgoKS48L3A+Cis8ZGl2IGNsYXNzPSJncmlkIGdyaWRNaW5Db250
ZW50Rml4ZWQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0YS1leHBl
Y3RlZC13aWR0aD0iNDAiPgorICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhY
IFhYIFhYPC9kaXY+CisgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dTZWNvbmRDb2x1bW4iPlhYIFhY
IFhYPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQgZ3JpZE1pbkNvbnRlbnRGaXhlZCBt
YXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwIiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSI4MCI+CisgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFggWFggWFg8L2Rp
dj4KKyAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd1NlY29uZENvbHVtbiI+WFggWFggWFg8L2Rpdj4K
KzwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCBncmlkRml4ZWRNaW5Db250ZW50IG1pbi1jb250ZW50
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjYwIj4KKyAg
ICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFhYWCBYWFhYWDwvZGl2PgorICAg
IDxkaXYgY2xhc3M9ImZpcnN0Um93U2Vjb25kQ29sdW1uIj5YWFhYWCBYWFhYWDwvZGl2PgorPC9k
aXY+Cis8ZGl2IGNsYXNzPSJncmlkIGdyaWRGaXhlZE1pbkNvbnRlbnQgbWF4LWNvbnRlbnQiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIj4KKyAgICA8
ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFhYWCBYWFhYWDwvZGl2PgorICAgIDxk
aXYgY2xhc3M9ImZpcnN0Um93U2Vjb25kQ29sdW1uIj5YWFhYWCBYWFhYWDwvZGl2PgorPC9kaXY+
Cis8ZGl2IGNsYXNzPSJncmlkIGdyaWRGaXhlZE1heENvbnRlbnQgbWluLWNvbnRlbnQiIGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iODAiPgorICAgIDxkaXYg
Y2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYIFhYIFhYPC9kaXY+CisgICAgPGRpdiBjbGFz
cz0iZmlyc3RSb3dTZWNvbmRDb2x1bW4iPlhYIFhYIFhYPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xh
c3M9ImdyaWQgZ3JpZEZpeGVkTWF4Q29udGVudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjEwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxNjAiPgorICAgIDxkaXYgY2xhc3M9ImZp
cnN0Um93Rmlyc3RDb2x1bW4iPlhYIFhYIFhYPC9kaXY+CisgICAgPGRpdiBjbGFzcz0iZmlyc3RS
b3dTZWNvbmRDb2x1bW4iPlhYIFhYIFhYPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQg
Z3JpZEZpeGVkRml4ZWQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0
YS1leHBlY3RlZC13aWR0aD0iNjAiPjwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCBncmlkRml4ZWRG
aXhlZCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwIiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSI4MCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIGdyaWRBdXRvQ29udGVudCBtaW4t
Y29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI0
MCI+CisgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFggWFggWFg8L2Rpdj4K
KyAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd1NlY29uZENvbHVtbiI+WFggWFggWFg8L2Rpdj4KKzwv
ZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCBncmlkQXV0b0NvbnRlbnQgbWF4LWNvbnRlbnQiIGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTYwIj4KKyAgICA8ZGl2
IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWCBYWCBYWDwvZGl2PgorICAgIDxkaXYgY2xh
c3M9ImZpcnN0Um93U2Vjb25kQ29sdW1uIj5YWCBYWCBYWDwvZGl2PgorPC9kaXY+CisKKzwvYm9k
eT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186040</attachid>
            <date>2013-02-01 07:20:40 -0800</date>
            <delta_ts>2013-02-01 10:13:32 -0800</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>bug-108403-20130201071722.patch</filename>
            <type>text/plain</type>
            <size>10661</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmI4ZWQzOTM5MjI1MDNk
OTI4YjQ2Yzg3OTgwNzFmMTJlYmJmZjI5Mi4uNTBkYTg2MWIzZTE4MjQ5OWU3NmY2NTkwODFjMGVi
MjkwNDdmZWI5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAyLTAxICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzIGRvZXNuJ3QgaGFuZGxlIG1p
bm1heCB0cmFja3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwODQwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3Q6IGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtcHJlZmVycmVkLWxvZ2ljYWwtd2lk
dGhzLmh0bWwKKworICAgICAgICBUaGUgY29kZSBiZWZvcmUgdGhpcyBjaGFuZ2Ugd2FzIG9ubHkg
aGFuZGxpbmcgbWlubWF4KCkgd2l0aCAyIGZpeGVkIHdpZHRocy4KKyAgICAgICAgVGhlIG5ldyBj
b2RlIHdhcyB1cGRhdGVkIHRvIHJlbW92ZSB0aGlzIGFydGlmaWNpYWwgbGltaXRhdGlvbiBhbmQg
d2Ugbm93CisgICAgICAgIHN1cHBvcnQgYWxsIGNvbWJpbmF0aW9uIG9mIG1pbm1heCgpLgorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyR3JpZDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICBVcGRhdGVk
IHRvIHVzZSBjb21wdXRlUHJlZmVycmVkVHJhY2tXaWR0aC4uCisKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckdyaWQ6OmNvbXB1dGVQcmVmZXJyZWRUcmFja1dpZHRoKToKKyAgICAgICAgQWRkZWQg
dGhpcyBoZWxwZXIgZnVuY3Rpb24gdGhhdCBpbXBsZW1lbnRzIHRoZSBjb3JlIG9mIHRoZSBwcmVm
ZXJyZWQgd2lkdGgKKyAgICAgICAgY29tcHV0YXRpb24uCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyR3JpZC5oOiBBZGRlZCBjb21wdXRlUHJlZmVycmVkVHJhY2tXaWR0aC4KKwogMjAxMy0w
Mi0wMSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZGVk
IFRyaVN0YXRlIHRvIFdURiBhbmQgc3RhcnRlZCB1c2luZyBpdCBpbiBvbmUgcGxhY2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCBkZjBmODdmMDE5OGY1YjBiYmI3
Yzc2NDMxZDkwMThmZjEzMmEwODkyLi45ZjNjOWM3YWE5OWZmNzU3NWJmNTEwZWQ4YTM4NmE2ZmNl
MDZjODlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0xNDIs
MTcgKzE0Miw4IEBAIHZvaWQgUmVuZGVyR3JpZDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0
aHMoKQogICAgIGNvbnN0IFZlY3RvcjxHcmlkVHJhY2tTaXplPiYgdHJhY2tTdHlsZXMgPSBzdHls
ZSgpLT5ncmlkQ29sdW1ucygpOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0cmFja1N0
eWxlcy5zaXplKCk7ICsraSkgewotICAgICAgICBjb25zdCBMZW5ndGgmIG1pblRyYWNrTGVuZ3Ro
ID0gdHJhY2tTdHlsZXNbaV0ubWluVHJhY2tCcmVhZHRoKCk7Ci0gICAgICAgIGNvbnN0IExlbmd0
aCYgbWF4VHJhY2tMZW5ndGggPSB0cmFja1N0eWxlc1tpXS5tYXhUcmFja0JyZWFkdGgoKTsKLSAg
ICAgICAgLy8gRklYTUU6IEhhbmRsZSBvbmx5IG9uZSBmaXhlZCBsZW5ndGggcHJvcGVybHkgKGUu
ZyBtaW5tYXgoMTAwcHgsIG1heC1jb250ZW50KSkuCi0gICAgICAgIGlmICghbWluVHJhY2tMZW5n
dGguaXNGaXhlZCgpIHx8ICFtYXhUcmFja0xlbmd0aC5pc0ZpeGVkKCkpIHsKLSAgICAgICAgICAg
IG5vdEltcGxlbWVudGVkKCk7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0g
ICAgICAgIExheW91dFVuaXQgbWluVHJhY2tCcmVhZHRoID0gbWluVHJhY2tMZW5ndGguaW50VmFs
dWUoKTsKLSAgICAgICAgTGF5b3V0VW5pdCBtYXhUcmFja0JyZWFkdGggPSBtYXhUcmFja0xlbmd0
aC5pbnRWYWx1ZSgpOwotCisgICAgICAgIExheW91dFVuaXQgbWluVHJhY2tCcmVhZHRoID0gY29t
cHV0ZVByZWZlcnJlZFRyYWNrV2lkdGgodHJhY2tTdHlsZXNbaV0ubWluVHJhY2tCcmVhZHRoKCks
IGkpOworICAgICAgICBMYXlvdXRVbml0IG1heFRyYWNrQnJlYWR0aCA9IGNvbXB1dGVQcmVmZXJy
ZWRUcmFja1dpZHRoKHRyYWNrU3R5bGVzW2ldLm1heFRyYWNrQnJlYWR0aCgpLCBpKTsKICAgICAg
ICAgbWF4VHJhY2tCcmVhZHRoID0gc3RkOjptYXgobWF4VHJhY2tCcmVhZHRoLCBtaW5UcmFja0Jy
ZWFkdGgpOwogCiAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoICs9IG1pblRyYWNr
QnJlYWR0aDsKQEAgLTE3MCw2ICsxNjEsNDYgQEAgdm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlUHJl
ZmVycmVkTG9naWNhbFdpZHRocygpCiAgICAgc2V0UHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5
KGZhbHNlKTsKIH0KIAorTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpjb21wdXRlUHJlZmVycmVkVHJh
Y2tXaWR0aChjb25zdCBMZW5ndGgmIGxlbmd0aCwgc2l6ZV90IHRyYWNrSW5kZXgpIGNvbnN0Cit7
CisgICAgaWYgKGxlbmd0aC5pc0ZpeGVkKCkpIHsKKyAgICAgICAgLy8gR3JpZCBhcmVhcyBkb24n
dCBoYXZlIGJvcmRlcnMsIG1hcmdpbnMgb3IgcGFkZGluZ3Mgc28gd2UgZG9uJ3QgbmVlZCB0byBh
Y2NvdW50IGZvciB0aGVtLgorICAgICAgICByZXR1cm4gbGVuZ3RoLmludFZhbHVlKCk7CisgICAg
fQorCisgICAgaWYgKGxlbmd0aC5pc01pbkNvbnRlbnQoKSkgeworICAgICAgICBMYXlvdXRVbml0
IG1pbkNvbnRlbnRTaXplID0gMDsKKyAgICAgICAgLy8gRklYTUU6IEl0J3MgaW5lZmZpY2llbnQg
dG8gaXRlcmF0ZSBvdmVyIG91ciBncmlkIGl0ZW1zLiBXZSBzaG91bGQgYmUgYWJsZSB0bworICAg
ICAgICAvLyBnZXQgdGhlIHN1YnNldCBvZiBncmlkIGl0ZW1zIGluIHRoZSBjdXJyZW50IHJvdyAv
IGNvbHVtbiBmYXN0ZXIuCisgICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hp
bGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKKyAgICAg
ICAgICAgIHNpemVfdCBjZWxsSW5kZXggPSByZXNvbHZlR3JpZFBvc2l0aW9uKEZvckNvbHVtbnMs
IGNoaWxkKTsKKyAgICAgICAgICAgIGlmIChjZWxsSW5kZXggIT0gdHJhY2tJbmRleCkKKyAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBp
bmNsdWRlIHRoZSBjaGlsZCdzIGZpeGVkIG1hcmdpbnMgbGlrZSBSZW5kZXJGbGV4aWJsZUJveC4K
KyAgICAgICAgICAgIG1pbkNvbnRlbnRTaXplID0gc3RkOjptYXgobWluQ29udGVudFNpemUsIGNo
aWxkLT5taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0
dXJuIG1pbkNvbnRlbnRTaXplOworICAgIH0KKworICAgIGlmIChsZW5ndGguaXNNYXhDb250ZW50
KCkpIHsKKyAgICAgICAgTGF5b3V0VW5pdCBtYXhDb250ZW50U2l6ZSA9IDA7CisgICAgICAgIGZv
ciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hp
bGQtPm5leHRTaWJsaW5nQm94KCkpIHsKKyAgICAgICAgICAgIHNpemVfdCBjZWxsSW5kZXggPSBy
ZXNvbHZlR3JpZFBvc2l0aW9uKEZvckNvbHVtbnMsIGNoaWxkKTsKKyAgICAgICAgICAgIGlmIChj
ZWxsSW5kZXggIT0gdHJhY2tJbmRleCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAg
ICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBpbmNsdWRlIHRoZSBjaGlsZCdzIGZpeGVkIG1h
cmdpbnMgbGlrZSBSZW5kZXJGbGV4aWJsZUJveC4KKyAgICAgICAgICAgIG1heENvbnRlbnRTaXpl
ID0gc3RkOjptYXgobWF4Q29udGVudFNpemUsIGNoaWxkLT5tYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGgoKSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1heENvbnRlbnRTaXplOworICAgIH0K
KworICAgIC8vIEZJWE1FOiBjc3MzLXNpemluZyBtZW50aW9ucyB0aGF0IHdlIHNob3VsZCByZXNv
bHZlICJkZWZpbml0ZSBzaXplcyIKKyAgICAvLyAoaW5jbHVkaW5nIDxwZXJjZW50YWdlPiBhbmQg
Y2FsYygpKSBidXQgd2UgZG9uJ3QgZG8gaXQgZWxzZXdoZXJlLgorICAgIHJldHVybiAwOworfQor
CiB2b2lkIFJlbmRlckdyaWQ6OmNvbXB1dGVkVXNlZEJyZWFkdGhPZkdyaWRUcmFja3MoVHJhY2tT
aXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uLCBWZWN0b3I8R3JpZFRyYWNrPiYgY29sdW1uVHJhY2tz
LCBWZWN0b3I8R3JpZFRyYWNrPiYgcm93VHJhY2tzKQogewogICAgIGNvbnN0IFZlY3RvcjxHcmlk
VHJhY2tTaXplPiYgdHJhY2tTdHlsZXMgPSAoZGlyZWN0aW9uID09IEZvckNvbHVtbnMpID8gc3R5
bGUoKS0+Z3JpZENvbHVtbnMoKSA6IHN0eWxlKCktPmdyaWRSb3dzKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckdyaWQuaAppbmRleCBlMzYyZWUyOGI1NTViODMwMWQzNWRjOTZhNTBlMzU0
YWU1OTQyZjMyLi45NmU2YTQ5MjMxMDcxZDliYzljOWU5OTlmMTdlMmFkY2U0YjZiZTBlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKQEAgLTQ4LDYgKzQ4LDggQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJHcmlkKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1
cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRo
cygpIE9WRVJSSURFOwogCisgICAgTGF5b3V0VW5pdCBjb21wdXRlUHJlZmVycmVkVHJhY2tXaWR0
aChjb25zdCBMZW5ndGgmLCBzaXplX3QpIGNvbnN0OworCiAgICAgZW51bSBUcmFja1NpemluZ0Rp
cmVjdGlvbiB7IEZvckNvbHVtbnMsIEZvclJvd3MgfTsKICAgICB2b2lkIGNvbXB1dGVkVXNlZEJy
ZWFkdGhPZkdyaWRUcmFja3MoVHJhY2tTaXppbmdEaXJlY3Rpb24sIFZlY3RvcjxHcmlkVHJhY2s+
JiBjb2x1bW5UcmFja3MsIFZlY3RvcjxHcmlkVHJhY2s+JiByb3dUcmFja3MpOwogICAgIExheW91
dFVuaXQgY29tcHV0ZVVzZWRCcmVhZHRoT2ZNaW5MZW5ndGgoVHJhY2tTaXppbmdEaXJlY3Rpb24s
IGNvbnN0IExlbmd0aCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgyODEwZjM3YTU3ZTY4OWRkOWY1NmYzYzk0
NjQxNmYwYTQ0NmUxMGMuLmEzMmZmMTUzNzVlYTRmNTM5NDdhMGMwM2IyOTU4MmY1YjA0ZWQ3N2Ig
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMi0wMSAgSnVsaWVuIENoYWZmcmFpeCAgPGpj
aGFmZnJhaXhAd2Via2l0Lm9yZz4KKworICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBjb21wdXRl
UHJlZmVycmVkTG9naWNhbFdpZHRocyBkb2Vzbid0IGhhbmRsZSBtaW5tYXggdHJhY2tzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDg0MDMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzLWdy
aWQtbGF5b3V0L2dyaWQtcHJlZmVycmVkLWxvZ2ljYWwtd2lkdGhzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1wcmVmZXJyZWQtbG9naWNh
bC13aWR0aHMuaHRtbDogQWRkZWQuCisKIDIwMTMtMDItMDEgIFN1ZGFyc2FuYSBOYWdpbmVuaSAg
PHN1ZGFyc2FuYS5uYWdpbmVuaUBpbnRlbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBFRkwg
Z2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQv
Z3JpZC1wcmVmZXJyZWQtbG9naWNhbC13aWR0aHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1wcmVmZXJyZWQtbG9naWNhbC13aWR0aHMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjlkMDNjNWVjZmQwZGJiZGY0YTA1MjFmNmNmYzI5OTdiOTQ5Y2Rh
ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9n
cmlkLXByZWZlcnJlZC1sb2dpY2FsLXdpZHRocy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBncmlkIGVsZW1lbnQncyBwcmVmZXJyZWQgbG9n
aWNhbCB3aWR0aHMgYXJlIHByb3Blcmx5IGNvbXB1dGVkIHdpdGggZGlmZmVyZW50IGNvbWJpbmF0
aW9ucyBvZiBtaW5tYXgoKS4KKworWFggWFggWFgKK1hYIFhYIFhYCitQQVNTCitYWCBYWCBYWAor
WFggWFggWFgKK1BBU1MKK1hYWFhYIFhYWFhYCitYWFhYWCBYWFhYWAorUEFTUworWFhYWFggWFhY
WFgKK1hYWFhYIFhYWFhYCitQQVNTCitYWCBYWCBYWAorWFggWFggWFgKK1BBU1MKK1hYIFhYIFhY
CitYWCBYWCBYWAorUEFTUworUEFTUworUEFTUworWFggWFggWFgKK1hYIFhYIFhYCitQQVNTCitY
WCBYWCBYWAorWFggWFggWFgKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3Nz
LWdyaWQtbGF5b3V0L2dyaWQtcHJlZmVycmVkLWxvZ2ljYWwtd2lkdGhzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXByZWZlcnJlZC1sb2dpY2FsLXdpZHRocy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM5OWNmMzE0YTY4MmRjZGI5ZWEyZDkzMjU2NTNjN2I2NzEyMzdiMmQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlk
LXByZWZlcnJlZC1sb2dpY2FsLXdpZHRocy5odG1sCkBAIC0wLDAgKzEsODEgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NTR3Jp
ZExheW91dEVuYWJsZWQiLCAxKTsKKzwvc2NyaXB0PgorPGxpbmsgaHJlZj0icmVzb3VyY2VzL2dy
aWQuY3NzIiByZWw9c3R5bGVzaGVldD4KKzxsaW5rIGhyZWY9Ii4uL2Nzcy1pbnRyaW5zaWMtZGlt
ZW5zaW9ucy9yZXNvdXJjZXMvd2lkdGgta2V5d29yZC1jbGFzc2VzLmNzcyIgcmVsPXN0eWxlc2hl
ZXQ+Cis8c3R5bGU+CisuZ3JpZE1pbkNvbnRlbnRGaXhlZCB7CisgICAgLXdlYmtpdC1ncmlkLWNv
bHVtbnM6IG1pbm1heCgtd2Via2l0LW1pbi1jb250ZW50LCA0MHB4KSBtaW5tYXgoLXdlYmtpdC1t
aW4tY29udGVudCwgNDBweCk7CisgICAgLXdlYmtpdC1ncmlkLXJvd3M6IDEwcHg7CisgICAgZm9u
dDogMTBweC8xIEFoZW07Cit9CisKKy5ncmlkRml4ZWRNaW5Db250ZW50IHsKKyAgICAtd2Via2l0
LWdyaWQtY29sdW1uczogbWlubWF4KDMwcHgsIC13ZWJraXQtbWluLWNvbnRlbnQpIG1pbm1heCgz
MHB4LCAtd2Via2l0LW1pbi1jb250ZW50KTsKKyAgICAtd2Via2l0LWdyaWQtcm93czogMTBweDsK
KyAgICBmb250OiAxMHB4LzEgQWhlbTsKK30KKworLmdyaWRGaXhlZE1heENvbnRlbnQgeworICAg
IC13ZWJraXQtZ3JpZC1jb2x1bW5zOiBtaW5tYXgoNDBweCwgLXdlYmtpdC1tYXgtY29udGVudCkg
bWlubWF4KDQwcHgsIC13ZWJraXQtbWF4LWNvbnRlbnQpOworICAgIC13ZWJraXQtZ3JpZC1yb3dz
OiAxMHB4OworICAgIGZvbnQ6IDEwcHgvMSBBaGVtOworfQorCisuZ3JpZEZpeGVkRml4ZWQgewor
ICAgIC13ZWJraXQtZ3JpZC1jb2x1bW5zOiBtaW5tYXgoMzBweCwgNDBweCkgbWlubWF4KDMwcHgs
IDQwcHgpOworICAgIC13ZWJraXQtZ3JpZC1yb3dzOiAxMHB4OworfQorCisuZ3JpZEF1dG9Db250
ZW50IHsKKyAgICAtd2Via2l0LWdyaWQtY29sdW1uczogYXV0byBhdXRvOworICAgIC13ZWJraXQt
Z3JpZC1yb3dzOiAxMHB4OworICAgIGZvbnQ6IDEwcHgvMSBBaGVtOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48L3Nj
cmlwdD4KKzxib2R5IG9ubG9hZD0iY2hlY2tMYXlvdXQoJy5ncmlkJykiPgorPGJvZHk+Cis8cD5U
aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGdyaWQgZWxlbWVudCdzIHByZWZlcnJlZCBsb2dpY2Fs
IHdpZHRocyBhcmUgcHJvcGVybHkgY29tcHV0ZWQgd2l0aCBkaWZmZXJlbnQgY29tYmluYXRpb25z
IG9mIG1pbm1heCgpLjwvcD4KKzxkaXYgY2xhc3M9ImdyaWQgZ3JpZE1pbkNvbnRlbnRGaXhlZCBt
aW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwIiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSI0MCI+CisgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFggWFggWFg8L2Rp
dj4KKyAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd1NlY29uZENvbHVtbiI+WFggWFggWFg8L2Rpdj4K
KzwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCBncmlkTWluQ29udGVudEZpeGVkIG1heC1jb250ZW50
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjgwIj4KKyAg
ICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWCBYWCBYWDwvZGl2PgorICAgIDxk
aXYgY2xhc3M9ImZpcnN0Um93U2Vjb25kQ29sdW1uIj5YWCBYWCBYWDwvZGl2PgorPC9kaXY+Cis8
ZGl2IGNsYXNzPSJncmlkIGdyaWRGaXhlZE1pbkNvbnRlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iNjAiPgorICAgIDxkaXYgY2xh
c3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWFhYIFhYWFhYPC9kaXY+CisgICAgPGRpdiBjbGFz
cz0iZmlyc3RSb3dTZWNvbmRDb2x1bW4iPlhYWFhYIFhYWFhYPC9kaXY+Cis8L2Rpdj4KKzxkaXYg
Y2xhc3M9ImdyaWQgZ3JpZEZpeGVkTWluQ29udGVudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9IjEwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPgorICAgIDxkaXYgY2xhc3M9
ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWFhYIFhYWFhYPC9kaXY+CisgICAgPGRpdiBjbGFzcz0i
Zmlyc3RSb3dTZWNvbmRDb2x1bW4iPlhYWFhYIFhYWFhYPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xh
c3M9ImdyaWQgZ3JpZEZpeGVkTWF4Q29udGVudCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjEwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI4MCI+CisgICAgPGRpdiBjbGFzcz0iZmly
c3RSb3dGaXJzdENvbHVtbiI+WFggWFggWFg8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJmaXJzdFJv
d1NlY29uZENvbHVtbiI+WFggWFggWFg8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCBn
cmlkRml4ZWRNYXhDb250ZW50IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAi
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjE2MCI+CisgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJz
dENvbHVtbiI+WFggWFggWFg8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd1NlY29uZENv
bHVtbiI+WFggWFggWFg8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCBncmlkRml4ZWRG
aXhlZCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwIiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSI2MCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIGdyaWRGaXhlZEZpeGVkIG1heC1j
b250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9Ijgw
Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQgZ3JpZEF1dG9Db250ZW50IG1pbi1jb250ZW50IiBk
YXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjQwIj4KKyAgICA8
ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWCBYWCBYWDwvZGl2PgorICAgIDxkaXYg
Y2xhc3M9ImZpcnN0Um93U2Vjb25kQ29sdW1uIj5YWCBYWCBYWDwvZGl2PgorPC9kaXY+Cis8ZGl2
IGNsYXNzPSJncmlkIGdyaWRBdXRvQ29udGVudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjEwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxNjAiPgorICAgIDxkaXYgY2xhc3M9ImZp
cnN0Um93Rmlyc3RDb2x1bW4iPlhYIFhYIFhYPC9kaXY+CisgICAgPGRpdiBjbGFzcz0iZmlyc3RS
b3dTZWNvbmRDb2x1bW4iPlhYIFhYIFhYPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186072</attachid>
            <date>2013-02-01 10:13:36 -0800</date>
            <delta_ts>2013-02-01 11:30:52 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-108403-20130201101018.patch</filename>
            <type>text/plain</type>
            <size>10657</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU4ZWZiOGMyYjcyNDZi
ZDM3NTM1MzRjYWVhNzUwY2JkM2VjZGQ1Yy4uZjkzNWE0M2M0NmRkZWVlN2Y1MWMwMGM3NjQ1NDdj
NjBlMTY3MmVlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAyLTAxICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzIGRvZXNuJ3QgaGFuZGxlIG1p
bm1heCB0cmFja3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwODQwMworCisgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCisKKyAgICAgICAg
VGVzdDogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1wcmVmZXJyZWQtbG9naWNhbC13aWR0aHMu
aHRtbAorCisgICAgICAgIFRoZSBjb2RlIGJlZm9yZSB0aGlzIGNoYW5nZSB3YXMgb25seSBoYW5k
bGluZyBtaW5tYXgoKSB3aXRoIDIgZml4ZWQgd2lkdGhzLgorICAgICAgICBUaGUgbmV3IGNvZGUg
d2FzIHVwZGF0ZWQgdG8gcmVtb3ZlIHRoaXMgYXJ0aWZpY2lhbCBsaW1pdGF0aW9uIGFuZCB3ZSBu
b3cKKyAgICAgICAgc3VwcG9ydCBhbGwgY29tYmluYXRpb24gb2YgbWlubWF4KCkuCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJH
cmlkOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6CisgICAgICAgIFVwZGF0ZWQgdG8g
dXNlIGNvbXB1dGVQcmVmZXJyZWRUcmFja1dpZHRoLi4KKworICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyR3JpZDo6Y29tcHV0ZVByZWZlcnJlZFRyYWNrV2lkdGgpOgorICAgICAgICBBZGRlZCB0aGlz
IGhlbHBlciBmdW5jdGlvbiB0aGF0IGltcGxlbWVudHMgdGhlIGNvcmUgb2YgdGhlIHByZWZlcnJl
ZCB3aWR0aAorICAgICAgICBjb21wdXRhdGlvbi4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJHcmlkLmg6IEFkZGVkIGNvbXB1dGVQcmVmZXJyZWRUcmFja1dpZHRoLgorCiAyMDEzLTAyLTAx
ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IHJlbGF4IGdvdG8gZmlsZSBtYXRjaGluZyBhZ2Fpbi4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCBkZjBmODdmMDE5OGY1YjBiYmI3Yzc2NDMxZDkw
MThmZjEzMmEwODkyLi45ZjNjOWM3YWE5OWZmNzU3NWJmNTEwZWQ4YTM4NmE2ZmNlMDZjODlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0xNDIsMTcgKzE0Miw4
IEBAIHZvaWQgUmVuZGVyR3JpZDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAg
IGNvbnN0IFZlY3RvcjxHcmlkVHJhY2tTaXplPiYgdHJhY2tTdHlsZXMgPSBzdHlsZSgpLT5ncmlk
Q29sdW1ucygpOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0cmFja1N0eWxlcy5zaXpl
KCk7ICsraSkgewotICAgICAgICBjb25zdCBMZW5ndGgmIG1pblRyYWNrTGVuZ3RoID0gdHJhY2tT
dHlsZXNbaV0ubWluVHJhY2tCcmVhZHRoKCk7Ci0gICAgICAgIGNvbnN0IExlbmd0aCYgbWF4VHJh
Y2tMZW5ndGggPSB0cmFja1N0eWxlc1tpXS5tYXhUcmFja0JyZWFkdGgoKTsKLSAgICAgICAgLy8g
RklYTUU6IEhhbmRsZSBvbmx5IG9uZSBmaXhlZCBsZW5ndGggcHJvcGVybHkgKGUuZyBtaW5tYXgo
MTAwcHgsIG1heC1jb250ZW50KSkuCi0gICAgICAgIGlmICghbWluVHJhY2tMZW5ndGguaXNGaXhl
ZCgpIHx8ICFtYXhUcmFja0xlbmd0aC5pc0ZpeGVkKCkpIHsKLSAgICAgICAgICAgIG5vdEltcGxl
bWVudGVkKCk7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIExh
eW91dFVuaXQgbWluVHJhY2tCcmVhZHRoID0gbWluVHJhY2tMZW5ndGguaW50VmFsdWUoKTsKLSAg
ICAgICAgTGF5b3V0VW5pdCBtYXhUcmFja0JyZWFkdGggPSBtYXhUcmFja0xlbmd0aC5pbnRWYWx1
ZSgpOwotCisgICAgICAgIExheW91dFVuaXQgbWluVHJhY2tCcmVhZHRoID0gY29tcHV0ZVByZWZl
cnJlZFRyYWNrV2lkdGgodHJhY2tTdHlsZXNbaV0ubWluVHJhY2tCcmVhZHRoKCksIGkpOworICAg
ICAgICBMYXlvdXRVbml0IG1heFRyYWNrQnJlYWR0aCA9IGNvbXB1dGVQcmVmZXJyZWRUcmFja1dp
ZHRoKHRyYWNrU3R5bGVzW2ldLm1heFRyYWNrQnJlYWR0aCgpLCBpKTsKICAgICAgICAgbWF4VHJh
Y2tCcmVhZHRoID0gc3RkOjptYXgobWF4VHJhY2tCcmVhZHRoLCBtaW5UcmFja0JyZWFkdGgpOwog
CiAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoICs9IG1pblRyYWNrQnJlYWR0aDsK
QEAgLTE3MCw2ICsxNjEsNDYgQEAgdm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlUHJlZmVycmVkTG9n
aWNhbFdpZHRocygpCiAgICAgc2V0UHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5KGZhbHNlKTsK
IH0KIAorTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpjb21wdXRlUHJlZmVycmVkVHJhY2tXaWR0aChj
b25zdCBMZW5ndGgmIGxlbmd0aCwgc2l6ZV90IHRyYWNrSW5kZXgpIGNvbnN0Cit7CisgICAgaWYg
KGxlbmd0aC5pc0ZpeGVkKCkpIHsKKyAgICAgICAgLy8gR3JpZCBhcmVhcyBkb24ndCBoYXZlIGJv
cmRlcnMsIG1hcmdpbnMgb3IgcGFkZGluZ3Mgc28gd2UgZG9uJ3QgbmVlZCB0byBhY2NvdW50IGZv
ciB0aGVtLgorICAgICAgICByZXR1cm4gbGVuZ3RoLmludFZhbHVlKCk7CisgICAgfQorCisgICAg
aWYgKGxlbmd0aC5pc01pbkNvbnRlbnQoKSkgeworICAgICAgICBMYXlvdXRVbml0IG1pbkNvbnRl
bnRTaXplID0gMDsKKyAgICAgICAgLy8gRklYTUU6IEl0J3MgaW5lZmZpY2llbnQgdG8gaXRlcmF0
ZSBvdmVyIG91ciBncmlkIGl0ZW1zLiBXZSBzaG91bGQgYmUgYWJsZSB0bworICAgICAgICAvLyBn
ZXQgdGhlIHN1YnNldCBvZiBncmlkIGl0ZW1zIGluIHRoZSBjdXJyZW50IHJvdyAvIGNvbHVtbiBm
YXN0ZXIuCisgICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsg
Y2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKKyAgICAgICAgICAgIHNp
emVfdCBjZWxsSW5kZXggPSByZXNvbHZlR3JpZFBvc2l0aW9uKEZvckNvbHVtbnMsIGNoaWxkKTsK
KyAgICAgICAgICAgIGlmIChjZWxsSW5kZXggIT0gdHJhY2tJbmRleCkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKworICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBpbmNsdWRlIHRo
ZSBjaGlsZCdzIGZpeGVkIG1hcmdpbnMgbGlrZSBSZW5kZXJGbGV4aWJsZUJveC4KKyAgICAgICAg
ICAgIG1pbkNvbnRlbnRTaXplID0gc3RkOjptYXgobWluQ29udGVudFNpemUsIGNoaWxkLT5taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgoKSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1pbkNv
bnRlbnRTaXplOworICAgIH0KKworICAgIGlmIChsZW5ndGguaXNNYXhDb250ZW50KCkpIHsKKyAg
ICAgICAgTGF5b3V0VW5pdCBtYXhDb250ZW50U2l6ZSA9IDA7CisgICAgICAgIGZvciAoUmVuZGVy
Qm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRT
aWJsaW5nQm94KCkpIHsKKyAgICAgICAgICAgIHNpemVfdCBjZWxsSW5kZXggPSByZXNvbHZlR3Jp
ZFBvc2l0aW9uKEZvckNvbHVtbnMsIGNoaWxkKTsKKyAgICAgICAgICAgIGlmIChjZWxsSW5kZXgg
IT0gdHJhY2tJbmRleCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
Ly8gRklYTUU6IFdlIHNob3VsZCBpbmNsdWRlIHRoZSBjaGlsZCdzIGZpeGVkIG1hcmdpbnMgbGlr
ZSBSZW5kZXJGbGV4aWJsZUJveC4KKyAgICAgICAgICAgIG1heENvbnRlbnRTaXplID0gc3RkOjpt
YXgobWF4Q29udGVudFNpemUsIGNoaWxkLT5tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSk7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1heENvbnRlbnRTaXplOworICAgIH0KKworICAgIC8v
IEZJWE1FOiBjc3MzLXNpemluZyBtZW50aW9ucyB0aGF0IHdlIHNob3VsZCByZXNvbHZlICJkZWZp
bml0ZSBzaXplcyIKKyAgICAvLyAoaW5jbHVkaW5nIDxwZXJjZW50YWdlPiBhbmQgY2FsYygpKSBi
dXQgd2UgZG9uJ3QgZG8gaXQgZWxzZXdoZXJlLgorICAgIHJldHVybiAwOworfQorCiB2b2lkIFJl
bmRlckdyaWQ6OmNvbXB1dGVkVXNlZEJyZWFkdGhPZkdyaWRUcmFja3MoVHJhY2tTaXppbmdEaXJl
Y3Rpb24gZGlyZWN0aW9uLCBWZWN0b3I8R3JpZFRyYWNrPiYgY29sdW1uVHJhY2tzLCBWZWN0b3I8
R3JpZFRyYWNrPiYgcm93VHJhY2tzKQogewogICAgIGNvbnN0IFZlY3RvcjxHcmlkVHJhY2tTaXpl
PiYgdHJhY2tTdHlsZXMgPSAoZGlyZWN0aW9uID09IEZvckNvbHVtbnMpID8gc3R5bGUoKS0+Z3Jp
ZENvbHVtbnMoKSA6IHN0eWxlKCktPmdyaWRSb3dzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuaAppbmRleCBlMzYyZWUyOGI1NTViODMwMWQzNWRjOTZhNTBlMzU0YWU1OTQyZjMy
Li45NmU2YTQ5MjMxMDcxZDliYzljOWU5OTlmMTdlMmFkY2U0YjZiZTBlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKQEAgLTQ4LDYgKzQ4LDggQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIGJvb2wgaXNSZW5kZXJHcmlkKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsg
fQogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpIE9WRVJS
SURFOwogCisgICAgTGF5b3V0VW5pdCBjb21wdXRlUHJlZmVycmVkVHJhY2tXaWR0aChjb25zdCBM
ZW5ndGgmLCBzaXplX3QpIGNvbnN0OworCiAgICAgZW51bSBUcmFja1NpemluZ0RpcmVjdGlvbiB7
IEZvckNvbHVtbnMsIEZvclJvd3MgfTsKICAgICB2b2lkIGNvbXB1dGVkVXNlZEJyZWFkdGhPZkdy
aWRUcmFja3MoVHJhY2tTaXppbmdEaXJlY3Rpb24sIFZlY3RvcjxHcmlkVHJhY2s+JiBjb2x1bW5U
cmFja3MsIFZlY3RvcjxHcmlkVHJhY2s+JiByb3dUcmFja3MpOwogICAgIExheW91dFVuaXQgY29t
cHV0ZVVzZWRCcmVhZHRoT2ZNaW5MZW5ndGgoVHJhY2tTaXppbmdEaXJlY3Rpb24sIGNvbnN0IExl
bmd0aCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVjNjk3ODkwNWViMTdhZGM4ZjIwMTc0ODM4ODhhZTRmZjM0
YzcyNmMuLjBhMDY4NDdhYmU4NzY2MjczYmQyNjNiNTA0YjBhN2JkYTQxMzdiZjAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxMy0wMi0wMSAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhA
d2Via2l0Lm9yZz4KKworICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBjb21wdXRlUHJlZmVycmVk
TG9naWNhbFdpZHRocyBkb2Vzbid0IGhhbmRsZSBtaW5tYXggdHJhY2tzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDg0MDMKKworICAgICAgICBSZXZp
ZXdlZCBieSBPamFuIFZhZmFpLgorCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3Jp
ZC1wcmVmZXJyZWQtbG9naWNhbC13aWR0aHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXByZWZlcnJlZC1sb2dpY2FsLXdpZHRocy5odG1s
OiBBZGRlZC4KKwogMjAxMy0wMi0wMSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZWxheCBnb3RvIGZpbGUgbWF0Y2hpbmcg
YWdhaW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlk
LXByZWZlcnJlZC1sb2dpY2FsLXdpZHRocy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy1ncmlkLWxheW91dC9ncmlkLXByZWZlcnJlZC1sb2dpY2FsLXdpZHRocy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOWQwM2M1ZWNmZDBkYmJkZjRhMDUyMWY2Y2ZjMjk5N2I5NDljZGFlYQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQt
cHJlZmVycmVkLWxvZ2ljYWwtd2lkdGhzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4IEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGdyaWQgZWxlbWVudCdzIHByZWZlcnJlZCBsb2dpY2Fs
IHdpZHRocyBhcmUgcHJvcGVybHkgY29tcHV0ZWQgd2l0aCBkaWZmZXJlbnQgY29tYmluYXRpb25z
IG9mIG1pbm1heCgpLgorCitYWCBYWCBYWAorWFggWFggWFgKK1BBU1MKK1hYIFhYIFhYCitYWCBY
WCBYWAorUEFTUworWFhYWFggWFhYWFgKK1hYWFhYIFhYWFhYCitQQVNTCitYWFhYWCBYWFhYWAor
WFhYWFggWFhYWFgKK1BBU1MKK1hYIFhYIFhYCitYWCBYWCBYWAorUEFTUworWFggWFggWFgKK1hY
IFhYIFhYCitQQVNTCitQQVNTCitQQVNTCitYWCBYWCBYWAorWFggWFggWFgKK1BBU1MKK1hYIFhY
IFhYCitYWCBYWCBYWAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvZ3JpZC1wcmVmZXJyZWQtbG9naWNhbC13aWR0aHMuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtcHJlZmVycmVkLWxvZ2ljYWwtd2lkdGhzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzk5Y2YzMTRhNjgyZGNkYjllYTJkOTMyNTY1M2M3YjY3MTIzN2IyZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtcHJl
ZmVycmVkLWxvZ2ljYWwtd2lkdGhzLmh0bWwKQEAgLTAsMCArMSw4MSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRDU1NHcmlkTGF5
b3V0RW5hYmxlZCIsIDEpOworPC9zY3JpcHQ+Cis8bGluayBocmVmPSJyZXNvdXJjZXMvZ3JpZC5j
c3MiIHJlbD1zdHlsZXNoZWV0PgorPGxpbmsgaHJlZj0iLi4vY3NzLWludHJpbnNpYy1kaW1lbnNp
b25zL3Jlc291cmNlcy93aWR0aC1rZXl3b3JkLWNsYXNzZXMuY3NzIiByZWw9c3R5bGVzaGVldD4K
KzxzdHlsZT4KKy5ncmlkTWluQ29udGVudEZpeGVkIHsKKyAgICAtd2Via2l0LWdyaWQtY29sdW1u
czogbWlubWF4KC13ZWJraXQtbWluLWNvbnRlbnQsIDQwcHgpIG1pbm1heCgtd2Via2l0LW1pbi1j
b250ZW50LCA0MHB4KTsKKyAgICAtd2Via2l0LWdyaWQtcm93czogMTBweDsKKyAgICBmb250OiAx
MHB4LzEgQWhlbTsKK30KKworLmdyaWRGaXhlZE1pbkNvbnRlbnQgeworICAgIC13ZWJraXQtZ3Jp
ZC1jb2x1bW5zOiBtaW5tYXgoMzBweCwgLXdlYmtpdC1taW4tY29udGVudCkgbWlubWF4KDMwcHgs
IC13ZWJraXQtbWluLWNvbnRlbnQpOworICAgIC13ZWJraXQtZ3JpZC1yb3dzOiAxMHB4OworICAg
IGZvbnQ6IDEwcHgvMSBBaGVtOworfQorCisuZ3JpZEZpeGVkTWF4Q29udGVudCB7CisgICAgLXdl
YmtpdC1ncmlkLWNvbHVtbnM6IG1pbm1heCg0MHB4LCAtd2Via2l0LW1heC1jb250ZW50KSBtaW5t
YXgoNDBweCwgLXdlYmtpdC1tYXgtY29udGVudCk7CisgICAgLXdlYmtpdC1ncmlkLXJvd3M6IDEw
cHg7CisgICAgZm9udDogMTBweC8xIEFoZW07Cit9CisKKy5ncmlkRml4ZWRGaXhlZCB7CisgICAg
LXdlYmtpdC1ncmlkLWNvbHVtbnM6IG1pbm1heCgzMHB4LCA0MHB4KSBtaW5tYXgoMzBweCwgNDBw
eCk7CisgICAgLXdlYmtpdC1ncmlkLXJvd3M6IDEwcHg7Cit9CisKKy5ncmlkQXV0b0NvbnRlbnQg
eworICAgIC13ZWJraXQtZ3JpZC1jb2x1bW5zOiBhdXRvIGF1dG87CisgICAgLXdlYmtpdC1ncmlk
LXJvd3M6IDEwcHg7CisgICAgZm9udDogMTBweC8xIEFoZW07Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwvc2NyaXB0
PgorPGJvZHkgb25sb2FkPSJjaGVja0xheW91dCgnLmdyaWQnKSI+Cis8Ym9keT4KKzxwPlRoaXMg
dGVzdCBjaGVja3MgdGhhdCB0aGUgZ3JpZCBlbGVtZW50J3MgcHJlZmVycmVkIGxvZ2ljYWwgd2lk
dGhzIGFyZSBwcm9wZXJseSBjb21wdXRlZCB3aXRoIGRpZmZlcmVudCBjb21iaW5hdGlvbnMgb2Yg
bWlubWF4KCkuPC9wPgorPGRpdiBjbGFzcz0iZ3JpZCBncmlkTWluQ29udGVudEZpeGVkIG1pbi1j
b250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjQw
Ij4KKyAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWCBYWCBYWDwvZGl2Pgor
ICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93U2Vjb25kQ29sdW1uIj5YWCBYWCBYWDwvZGl2PgorPC9k
aXY+Cis8ZGl2IGNsYXNzPSJncmlkIGdyaWRNaW5Db250ZW50Rml4ZWQgbWF4LWNvbnRlbnQiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iODAiPgorICAgIDxk
aXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYIFhYIFhYPC9kaXY+CisgICAgPGRpdiBj
bGFzcz0iZmlyc3RSb3dTZWNvbmRDb2x1bW4iPlhYIFhYIFhYPC9kaXY+Cis8L2Rpdj4KKzxkaXYg
Y2xhc3M9ImdyaWQgZ3JpZEZpeGVkTWluQ29udGVudCBtaW4tY29udGVudCIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9IjEwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI2MCI+CisgICAgPGRpdiBjbGFzcz0i
Zmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYWFggWFhYWFg8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJm
aXJzdFJvd1NlY29uZENvbHVtbiI+WFhYWFggWFhYWFg8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFz
cz0iZ3JpZCBncmlkRml4ZWRNaW5Db250ZW50IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhl
aWdodD0iMTAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCI+CisgICAgPGRpdiBjbGFzcz0iZmly
c3RSb3dGaXJzdENvbHVtbiI+WFhYWFggWFhYWFg8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJmaXJz
dFJvd1NlY29uZENvbHVtbiI+WFhYWFggWFhYWFg8L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0i
Z3JpZCBncmlkRml4ZWRNYXhDb250ZW50IG1pbi1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMTAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjgwIj4KKyAgICA8ZGl2IGNsYXNzPSJmaXJzdFJv
d0ZpcnN0Q29sdW1uIj5YWCBYWCBYWDwvZGl2PgorICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93U2Vj
b25kQ29sdW1uIj5YWCBYWCBYWDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIGdyaWRG
aXhlZE1heENvbnRlbnQgbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0
YS1leHBlY3RlZC13aWR0aD0iMTYwIj4KKyAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29s
dW1uIj5YWCBYWCBYWDwvZGl2PgorICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93U2Vjb25kQ29sdW1u
Ij5YWCBYWCBYWDwvZGl2PgorPC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIGdyaWRGaXhlZEZpeGVk
IG1pbi1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjYwIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQgZ3JpZEZpeGVkRml4ZWQgbWF4LWNvbnRl
bnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iODAiPjwv
ZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCBncmlkQXV0b0NvbnRlbnQgbWluLWNvbnRlbnQiIGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iNDAiPgorICAgIDxkaXYg
Y2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYIFhYIFhYPC9kaXY+CisgICAgPGRpdiBjbGFz
cz0iZmlyc3RSb3dTZWNvbmRDb2x1bW4iPlhYIFhYIFhYPC9kaXY+Cis8L2Rpdj4KKzxkaXYgY2xh
c3M9ImdyaWQgZ3JpZEF1dG9Db250ZW50IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMTAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjE2MCI+CisgICAgPGRpdiBjbGFzcz0iZmlyc3RS
b3dGaXJzdENvbHVtbiI+WFggWFggWFg8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd1Nl
Y29uZENvbHVtbiI+WFggWFggWFg8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>