<?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>93295</bug_id>
          
          <creation_ts>2012-08-06 14:19:08 -0700</creation_ts>
          <short_desc>CSSParser::parseTransform() refactor to accept valueList as argument</short_desc>
          <delta_ts>2012-08-08 10:12:41 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>93495</dependson>
          <blocked>71443</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michelangelo De Simone">michelangelo</reporter>
          <assigned_to name="Michelangelo De Simone">michelangelo</assigned_to>
          <cc>achicu</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>688421</commentid>
    <comment_count>0</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-08-06 14:19:08 -0700</bug_when>
    <thetext>CSSParser::parseTransform() should be refactored to accept a valueList as argument.
This is needed for parsing the 3d-transform (see bug 71443) within the custom() function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688618</commentid>
    <comment_count>1</comment_count>
      <attachid>156813</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-08-06 17:47:54 -0700</bug_when>
    <thetext>Created attachment 156813
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689328</commentid>
    <comment_count>2</comment_count>
      <attachid>156987</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-08-07 13:22:08 -0700</bug_when>
    <thetext>Created attachment 156987
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689401</commentid>
    <comment_count>3</comment_count>
      <attachid>156987</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-08-07 14:35:49 -0700</bug_when>
    <thetext>Comment on attachment 156987
Patch

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

Seems OK.

&gt; Source/WebCore/ChangeLog:3
&gt; +        CSSParser::parseTransform() refactor to accept valueList as argument

This says “what”, but should say “why”.

&gt; Source/WebCore/ChangeLog:8
&gt; +        parseTransform now accepts a CSSParserValueList as argument instead of relying on m_valueList.

This repeats the bug title without really adding anything.

&gt; Source/WebCore/css/CSSParser.cpp:2336
&gt; -            PassRefPtr&lt;CSSValue&gt; val = parseTransform();
&gt; +            RefPtr&lt;CSSValue&gt; val = parseTransform(m_valueList.get());

If touching this code would be better to replace “val” with a word, either “value” or “transform”.

&gt; Source/WebCore/css/CSSParser.cpp:2338
&gt;                  addProperty(propId, val, important);

Should say val.release() instead of just val since this is now a RefPtr rather than a PassRefPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689419</commentid>
    <comment_count>4</comment_count>
      <attachid>156987</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-08-07 14:47:20 -0700</bug_when>
    <thetext>Comment on attachment 156987
Patch

I have a question. What is the benefit of that change? Why patching the transform only and not all other functions that uses the same pattern (parseFillShorthand...), i.e. using m_valueList? Is it for a more long term plan? If so then the ChangeLog is not explicit enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689534</commentid>
    <comment_count>5</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-08-07 15:58:06 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 156987 [details])
&gt; I have a question. What is the benefit of that change? Why patching the transform only and not all other functions that uses the same pattern (parseFillShorthand...), i.e. using m_valueList? Is it for a more long term plan? If so then the ChangeLog is not explicit enough.

Yes, the patch for the bug #71443 relies on this and I thought to tear this change from it.
I&apos;ll update the changelog accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689582</commentid>
    <comment_count>6</comment_count>
      <attachid>157038</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-08-07 16:26:52 -0700</bug_when>
    <thetext>Created attachment 157038
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689752</commentid>
    <comment_count>7</comment_count>
      <attachid>157038</attachid>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2012-08-07 19:09:34 -0700</bug_when>
    <thetext>Comment on attachment 157038
Patch for landing

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

&gt; Source/WebCore/css/CSSParser.cpp:7281
&gt; +PassRefPtr&lt;CSSValueList&gt; CSSParser::parseTransform(CSSParserValueList* valueList)

Shouldn&apos;t this function be static now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689767</commentid>
    <comment_count>8</comment_count>
      <attachid>157038</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-07 19:26:08 -0700</bug_when>
    <thetext>Comment on attachment 157038
Patch for landing

Clearing flags on attachment: 157038

Committed r124970: &lt;http://trac.webkit.org/changeset/124970&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689768</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-07 19:26:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690232</commentid>
    <comment_count>10</comment_count>
      <attachid>157038</attachid>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2012-08-08 06:01:11 -0700</bug_when>
    <thetext>Comment on attachment 157038
Patch for landing

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

&gt;&gt; Source/WebCore/css/CSSParser.cpp:7281
&gt;&gt; +PassRefPtr&lt;CSSValueList&gt; CSSParser::parseTransform(CSSParserValueList* valueList)
&gt; 
&gt; Shouldn&apos;t this function be static now?

The static change shouldn&apos;t be straight forward though, but I think that if we are going to change the pattern to pass a parameter to deal with, we no longer need it to be a member function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690247</commentid>
    <comment_count>11</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-08-08 06:17:35 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 157038 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=157038&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/css/CSSParser.cpp:7281
&gt; &gt;&gt; +PassRefPtr&lt;CSSValueList&gt; CSSParser::parseTransform(CSSParserValueList* valueList)
&gt; &gt; 
&gt; &gt; Shouldn&apos;t this function be static now?
&gt; 
&gt; The static change shouldn&apos;t be straight forward though, but I think that if we are going to change the pattern to pass a parameter to deal with, we no longer need it to be a member function.

I&apos;m very unhappy with this change. If you need to go that way then rafael is right it needs to be static at the very least. CSSParser operates on member variables (it&apos;s the pattern in the entire file). Landing this patch out of context on *why* exactly you need to go that way doesn&apos;t make any sense to me. I think you need to upload the patch on https://bugs.webkit.org/show_bug.cgi?id=71443 for us to see the big picture.

On a side note : PassRefPtr&lt;CSSValueList&gt; CSSParser::parseFilter() also do something similar, handling custom() functions for filters. You could possibly use the same pattern or even better share code (if possible).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690444</commentid>
    <comment_count>12</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-08-08 10:07:38 -0700</bug_when>
    <thetext>I&apos;ve talked with Alexis and we both agreed to roll this out. I&apos;ll merge the change in the patch for 71443.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690451</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-08 10:10:52 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 93495</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690455</commentid>
    <comment_count>14</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-08-08 10:12:41 -0700</bug_when>
    <thetext>This patch will be part of 71443.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156813</attachid>
            <date>2012-08-06 17:47:54 -0700</date>
            <delta_ts>2012-08-07 13:22:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93295-20120806174730.patch</filename>
            <type>text/plain</type>
            <size>14626</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDczYjAyODEyYzlhNDk0
NDhjMjQ1NDgwMGMwYjVmN2Q1MjQwMzFlMS4uNWM3MDBkYTExN2NiNTI0NjU5ZWMwMDE2NTMyNjI0
MzkzODAxNzE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA4LTA2ICBNaWNo
ZWxhbmdlbG8gRGUgU2ltb25lICA8bWljaGVsYW5nZWxvQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
Q1NTUGFyc2VyOjpwYXJzZVRyYW5zZm9ybSgpIHJlZmFjdG9yaW5nOiBpdCBoYXMgdG8gYWNjZXB0
IHZhbHVlTGlzdCBhcyBhcmd1bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTMyOTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBwYXJzZVRyYW5zZm9ybSgpIG5vdyBhY2NlcHRzIGl0cyB2YWx1ZUxpc3Qg
YXMgcGFyYW1ldGVyOyB0aGUgY2hhbmdlIGlzIG5lZWRlZCB0bworICAgICAgICBjb3JyZWN0bHkg
cGFyc2UgdGhlIDNkLXRyYW5zZm9ybSBmdW5jdGlvbnMgd2l0aGluIGN1c3RvbSgpJ3MgZmlsdGVy
IChzZWUgIzcxNDQzKS4KKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OmVxdWFs
ZUZ1bmN0aW9uYWxOb3RhdGlvbik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OlRyYW5zZm9ybU9wZXJhdGlvbkluZm86OlRyYW5zZm9ybU9wZXJhdGlvbkluZm8pOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVRyYW5zZm9ybSk6CisgICAgICAgICogY3Nz
L0NTU1BhcnNlci5oOgorCiAyMDEyLTA4LTA2ICBBbm5hIENhdmVuZGVyICA8YW5uYWNjQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBNZWRpYVNvdXJjZSBzaG91bGQgdXNlIGl0J3Mgb3duIGxpc3Qg
b2Ygc291cmNlIFVSTHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggOGQyODg4M2NlZjk5
M2EzZjc4YTBkMmY4OTE3ZDNhYWExZmY3NDJhNS4uOTJiODE3ZmY5MDYzN2U2MmU3MjU0NmQ0YWI1
N2MxZjdkMjU1ZTlhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTIzMzMsNyArMjMz
Myw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBi
b29sIGltcG9ydGFudCkKICAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlTm9uZSkKICAgICAgICAg
ICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiB2YWwgPSBwYXJzZVRyYW5zZm9ybSgpOworICAgICAgICAgICAg
UmVmUHRyPENTU1ZhbHVlPiB2YWwgPSBwYXJzZVRyYW5zZm9ybShtX3ZhbHVlTGlzdC5nZXQoKSk7
CiAgICAgICAgICAgICBpZiAodmFsKSB7CiAgICAgICAgICAgICAgICAgYWRkUHJvcGVydHkocHJv
cElkLCB2YWwsIGltcG9ydGFudCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC03
MTg0LDgxICs3MTg0LDExNSBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNl
SW1hZ2VTZXQoQ1NTUGFyc2VyVmFsdWVMaXN0KiB2YWx1ZUxpc3QpCiB9CiAjZW5kaWYKIAorc3Rh
dGljIGJvb2wgZXF1YWxlRnVuY3Rpb25hbE5vdGF0aW9uKGNvbnN0IENTU1BhcnNlclN0cmluZyYg
YSwgY29uc3QgY2hhciogYiwgQ1NTUGFyc2VyTW9kZSBjc3NQYXJzZXJNb2RlKQoreworICAgIGlu
dCBpOworICAgIGZvciAoaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGlmICgh
YltpXSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgQVNTRVJUKCFpc0FTQ0lJ
VXBwZXIoYltpXSkpOworICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGEuY2hhcmFjdGVyc1tpXSkg
IT0gYltpXSkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBpbnQgaiA9IGk7CisgICAg
aWYgKGNzc1BhcnNlck1vZGUgPT0gU1ZHQXR0cmlidXRlTW9kZSkgeworICAgICAgICB3aGlsZSAo
aSA8IGEubGVuZ3RoICYmIGlzSFRNTFNwYWNlKGEuY2hhcmFjdGVyc1tpXSkpCisgICAgICAgICAg
ICBpKys7CisgICAgICAgIGlmIChpIDwgYS5sZW5ndGggJiYgYS5jaGFyYWN0ZXJzW2ldID09IGJb
al0pIHsKKyAgICAgICAgICAgIGkrKzsKKyAgICAgICAgICAgIGorKzsKKyAgICAgICAgfQorICAg
IH0KKyAgICByZXR1cm4gaSA9PSBhLmxlbmd0aCAmJiAhYltqXTsKK30KKwogY2xhc3MgVHJhbnNm
b3JtT3BlcmF0aW9uSW5mbyB7CiBwdWJsaWM6Ci0gICAgVHJhbnNmb3JtT3BlcmF0aW9uSW5mbyhj
b25zdCBDU1NQYXJzZXJTdHJpbmcmIG5hbWUpCisgICAgVHJhbnNmb3JtT3BlcmF0aW9uSW5mbyhj
b25zdCBDU1NQYXJzZXJTdHJpbmcmIG5hbWUsIENTU1BhcnNlck1vZGUgY3NzUGFyc2VyTW9kZSkK
ICAgICA6IG1fdHlwZShXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6VW5rbm93blRyYW5zZm9ybU9w
ZXJhdGlvbikKICAgICAsIG1fYXJnQ291bnQoMSkKICAgICAsIG1fYWxsb3dTaW5nbGVBcmd1bWVu
dChmYWxzZSkKICAgICAsIG1fdW5pdChDU1NQYXJzZXI6OkZVbmtub3duKQogICAgIHsKLSAgICAg
ICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJzY2FsZSgiKSB8fCBlcXVhbElnbm9yaW5n
Q2FzZShuYW1lLCAic2NhbGV4KCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJzY2FsZXko
IikgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInNjYWxleigiKSkgeworICAgICAgICBpZiAo
ZXF1YWxlRnVuY3Rpb25hbE5vdGF0aW9uKG5hbWUsICJzY2FsZSgiLCBjc3NQYXJzZXJNb2RlKQor
ICAgICAgICAgICAgfHwgZXF1YWxlRnVuY3Rpb25hbE5vdGF0aW9uKG5hbWUsICJzY2FsZXgoIiwg
Y3NzUGFyc2VyTW9kZSkKKyAgICAgICAgICAgIHx8IGVxdWFsZUZ1bmN0aW9uYWxOb3RhdGlvbihu
YW1lLCAic2NhbGV5KCIsIGNzc1BhcnNlck1vZGUpCisgICAgICAgICAgICB8fCBlcXVhbGVGdW5j
dGlvbmFsTm90YXRpb24obmFtZSwgInNjYWxleigiLCBjc3NQYXJzZXJNb2RlKSkgewogICAgICAg
ICAgICAgbV91bml0ID0gQ1NTUGFyc2VyOjpGTnVtYmVyOwotICAgICAgICAgICAgaWYgKGVxdWFs
SWdub3JpbmdDYXNlKG5hbWUsICJzY2FsZSgiKSkKKyAgICAgICAgICAgIGlmIChlcXVhbGVGdW5j
dGlvbmFsTm90YXRpb24obmFtZSwgInNjYWxlKCIsIGNzc1BhcnNlck1vZGUpKQogICAgICAgICAg
ICAgICAgIG1fdHlwZSA9IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpTY2FsZVRyYW5zZm9ybU9w
ZXJhdGlvbjsKLSAgICAgICAgICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJz
Y2FsZXgoIikpCisgICAgICAgICAgICBlbHNlIGlmIChlcXVhbGVGdW5jdGlvbmFsTm90YXRpb24o
bmFtZSwgInNjYWxleCgiLCBjc3NQYXJzZXJNb2RlKSkKICAgICAgICAgICAgICAgICBtX3R5cGUg
PSBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6U2NhbGVYVHJhbnNmb3JtT3BlcmF0aW9uOwotICAg
ICAgICAgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInNjYWxleSgiKSkKKyAg
ICAgICAgICAgIGVsc2UgaWYgKGVxdWFsZUZ1bmN0aW9uYWxOb3RhdGlvbihuYW1lLCAic2NhbGV5
KCIsIGNzc1BhcnNlck1vZGUpKQogICAgICAgICAgICAgICAgIG1fdHlwZSA9IFdlYktpdENTU1Ry
YW5zZm9ybVZhbHVlOjpTY2FsZVlUcmFuc2Zvcm1PcGVyYXRpb247CiAgICAgICAgICAgICBlbHNl
CiAgICAgICAgICAgICAgICAgbV90eXBlID0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OlNjYWxl
WlRyYW5zZm9ybU9wZXJhdGlvbjsKLSAgICAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2Fz
ZShuYW1lLCAic2NhbGUzZCgiKSkgeworICAgICAgICB9IGVsc2UgaWYgKGVxdWFsZUZ1bmN0aW9u
YWxOb3RhdGlvbihuYW1lLCAic2NhbGUzZCgiLCBjc3NQYXJzZXJNb2RlKSkgewogICAgICAgICAg
ICAgbV90eXBlID0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OlNjYWxlM0RUcmFuc2Zvcm1PcGVy
YXRpb247CiAgICAgICAgICAgICBtX2FyZ0NvdW50ID0gNTsKICAgICAgICAgICAgIG1fdW5pdCA9
IENTU1BhcnNlcjo6Rk51bWJlcjsKLSAgICAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2Fz
ZShuYW1lLCAicm90YXRlKCIpKSB7CisgICAgICAgIH0gZWxzZSBpZiAoZXF1YWxlRnVuY3Rpb25h
bE5vdGF0aW9uKG5hbWUsICJyb3RhdGUoIiwgY3NzUGFyc2VyTW9kZSkpIHsKICAgICAgICAgICAg
IG1fdHlwZSA9IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpSb3RhdGVUcmFuc2Zvcm1PcGVyYXRp
b247CisgICAgICAgICAgICBtX2FyZ0NvdW50ID0gNTsKICAgICAgICAgICAgIG1fdW5pdCA9IENT
U1BhcnNlcjo6RkFuZ2xlOwotICAgICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5h
bWUsICJyb3RhdGV4KCIpIHx8Ci0gICAgICAgICAgICAgICAgICAgZXF1YWxJZ25vcmluZ0Nhc2Uo
bmFtZSwgInJvdGF0ZXkoIikgfHwKLSAgICAgICAgICAgICAgICAgICBlcXVhbElnbm9yaW5nQ2Fz
ZShuYW1lLCAicm90YXRleigiKSkgeworICAgICAgICAgICAgbV9hbGxvd1NpbmdsZUFyZ3VtZW50
ID0gdHJ1ZTsKKyAgICAgICAgfSBlbHNlIGlmIChlcXVhbGVGdW5jdGlvbmFsTm90YXRpb24obmFt
ZSwgInJvdGF0ZXgoIiwgY3NzUGFyc2VyTW9kZSkKKyAgICAgICAgICAgICAgICAgICB8fCBlcXVh
bGVGdW5jdGlvbmFsTm90YXRpb24obmFtZSwgInJvdGF0ZXkoIiwgY3NzUGFyc2VyTW9kZSkKKyAg
ICAgICAgICAgICAgICAgICB8fCBlcXVhbGVGdW5jdGlvbmFsTm90YXRpb24obmFtZSwgInJvdGF0
ZXooIiwgY3NzUGFyc2VyTW9kZSkpIHsKICAgICAgICAgICAgIG1fdW5pdCA9IENTU1BhcnNlcjo6
RkFuZ2xlOwotICAgICAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJyb3RhdGV4
KCIpKQorICAgICAgICAgICAgaWYgKGVxdWFsZUZ1bmN0aW9uYWxOb3RhdGlvbihuYW1lLCAicm90
YXRleCgiLCBjc3NQYXJzZXJNb2RlKSkKICAgICAgICAgICAgICAgICBtX3R5cGUgPSBXZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZTo6Um90YXRlWFRyYW5zZm9ybU9wZXJhdGlvbjsKLSAgICAgICAgICAg
IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJyb3RhdGV5KCIpKQorICAgICAgICAg
ICAgZWxzZSBpZiAoZXF1YWxlRnVuY3Rpb25hbE5vdGF0aW9uKG5hbWUsICJyb3RhdGV5KCIsIGNz
c1BhcnNlck1vZGUpKQogICAgICAgICAgICAgICAgIG1fdHlwZSA9IFdlYktpdENTU1RyYW5zZm9y
bVZhbHVlOjpSb3RhdGVZVHJhbnNmb3JtT3BlcmF0aW9uOwogICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgIG1fdHlwZSA9IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpSb3RhdGVaVHJh
bnNmb3JtT3BlcmF0aW9uOwotICAgICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5h
bWUsICJyb3RhdGUzZCgiKSkgeworICAgICAgICB9IGVsc2UgaWYgKGVxdWFsZUZ1bmN0aW9uYWxO
b3RhdGlvbihuYW1lLCAicm90YXRlM2QoIiwgY3NzUGFyc2VyTW9kZSkpIHsKICAgICAgICAgICAg
IG1fdHlwZSA9IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpSb3RhdGUzRFRyYW5zZm9ybU9wZXJh
dGlvbjsKICAgICAgICAgICAgIG1fYXJnQ291bnQgPSA3OwogICAgICAgICAgICAgbV91bml0ID0g
Q1NTUGFyc2VyOjpGTnVtYmVyOwotICAgICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KG5hbWUsICJza2V3KCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJza2V3eCgiKSB8fCBl
cXVhbElnbm9yaW5nQ2FzZShuYW1lLCAic2tld3koIikpIHsKKyAgICAgICAgfSBlbHNlIGlmIChl
cXVhbGVGdW5jdGlvbmFsTm90YXRpb24obmFtZSwgInNrZXcoIiwgY3NzUGFyc2VyTW9kZSkKKyAg
ICAgICAgICAgIHx8IGVxdWFsZUZ1bmN0aW9uYWxOb3RhdGlvbihuYW1lLCAic2tld3goIiwgY3Nz
UGFyc2VyTW9kZSkKKyAgICAgICAgICAgIHx8IGVxdWFsZUZ1bmN0aW9uYWxOb3RhdGlvbihuYW1l
LCAic2tld3koIiwgY3NzUGFyc2VyTW9kZSkpIHsKICAgICAgICAgICAgIG1fdW5pdCA9IENTU1Bh
cnNlcjo6RkFuZ2xlOwotICAgICAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJz
a2V3KCIpKQorICAgICAgICAgICAgaWYgKGVxdWFsZUZ1bmN0aW9uYWxOb3RhdGlvbihuYW1lLCAi
c2tldygiLCBjc3NQYXJzZXJNb2RlKSkKICAgICAgICAgICAgICAgICBtX3R5cGUgPSBXZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZTo6U2tld1RyYW5zZm9ybU9wZXJhdGlvbjsKLSAgICAgICAgICAgIGVs
c2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJza2V3eCgiKSkKKyAgICAgICAgICAgIGVs
c2UgaWYgKGVxdWFsZUZ1bmN0aW9uYWxOb3RhdGlvbihuYW1lLCAic2tld3goIiwgY3NzUGFyc2Vy
TW9kZSkpCiAgICAgICAgICAgICAgICAgbV90eXBlID0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6
OlNrZXdYVHJhbnNmb3JtT3BlcmF0aW9uOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgIG1fdHlwZSA9IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlOjpTa2V3WVRyYW5zZm9ybU9wZXJh
dGlvbjsKLSAgICAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAidHJhbnNs
YXRlKCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJ0cmFuc2xhdGV4KCIpIHx8IGVxdWFs
SWdub3JpbmdDYXNlKG5hbWUsICJ0cmFuc2xhdGV5KCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5h
bWUsICJ0cmFuc2xhdGV6KCIpKSB7CisgICAgICAgIH0gZWxzZSBpZiAoZXF1YWxlRnVuY3Rpb25h
bE5vdGF0aW9uKG5hbWUsICJ0cmFuc2xhdGUoIiwgY3NzUGFyc2VyTW9kZSkKKyAgICAgICAgICAg
IHx8IGVxdWFsZUZ1bmN0aW9uYWxOb3RhdGlvbihuYW1lLCAidHJhbnNsYXRleCgiLCBjc3NQYXJz
ZXJNb2RlKQorICAgICAgICAgICAgfHwgZXF1YWxlRnVuY3Rpb25hbE5vdGF0aW9uKG5hbWUsICJ0
cmFuc2xhdGV5KCIsIGNzc1BhcnNlck1vZGUpCisgICAgICAgICAgICB8fCBlcXVhbGVGdW5jdGlv
bmFsTm90YXRpb24obmFtZSwgInRyYW5zbGF0ZXooIiwgY3NzUGFyc2VyTW9kZSkpIHsKICAgICAg
ICAgICAgIG1fdW5pdCA9IENTU1BhcnNlcjo6Rkxlbmd0aCB8IENTU1BhcnNlcjo6RlBlcmNlbnQ7
Ci0gICAgICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInRyYW5zbGF0ZSgiKSkK
KyAgICAgICAgICAgIGlmIChlcXVhbGVGdW5jdGlvbmFsTm90YXRpb24obmFtZSwgInRyYW5zbGF0
ZSgiLCBjc3NQYXJzZXJNb2RlKSkKICAgICAgICAgICAgICAgICBtX3R5cGUgPSBXZWJLaXRDU1NU
cmFuc2Zvcm1WYWx1ZTo6VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uOwotICAgICAgICAgICAg
ZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInRyYW5zbGF0ZXgoIikpCisgICAgICAg
ICAgICBlbHNlIGlmIChlcXVhbGVGdW5jdGlvbmFsTm90YXRpb24obmFtZSwgInRyYW5zbGF0ZXgo
IiwgY3NzUGFyc2VyTW9kZSkpCiAgICAgICAgICAgICAgICAgbV90eXBlID0gV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWU6OlRyYW5zbGF0ZVhUcmFuc2Zvcm1PcGVyYXRpb247Ci0gICAgICAgICAgICBl
bHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAidHJhbnNsYXRleSgiKSkKKyAgICAgICAg
ICAgIGVsc2UgaWYgKGVxdWFsZUZ1bmN0aW9uYWxOb3RhdGlvbihuYW1lLCAidHJhbnNsYXRleSgi
LCBjc3NQYXJzZXJNb2RlKSkKICAgICAgICAgICAgICAgICBtX3R5cGUgPSBXZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZTo6VHJhbnNsYXRlWVRyYW5zZm9ybU9wZXJhdGlvbjsKICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICBtX3R5cGUgPSBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6VHJh
bnNsYXRlWlRyYW5zZm9ybU9wZXJhdGlvbjsKLSAgICAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9y
aW5nQ2FzZShuYW1lLCAidHJhbnNsYXRlM2QoIikpIHsKKyAgICAgICAgfSBlbHNlIGlmIChlcXVh
bGVGdW5jdGlvbmFsTm90YXRpb24obmFtZSwgInRyYW5zbGF0ZTNkKCIsIGNzc1BhcnNlck1vZGUp
KSB7CiAgICAgICAgICAgICBtX3R5cGUgPSBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6VHJhbnNs
YXRlM0RUcmFuc2Zvcm1PcGVyYXRpb247CiAgICAgICAgICAgICBtX2FyZ0NvdW50ID0gNTsKICAg
ICAgICAgICAgIG1fdW5pdCA9IENTU1BhcnNlcjo6Rkxlbmd0aCB8IENTU1BhcnNlcjo6RlBlcmNl
bnQ7Ci0gICAgICAgIH0gZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIm1hdHJpeCgi
KSkgeworICAgICAgICB9IGVsc2UgaWYgKGVxdWFsZUZ1bmN0aW9uYWxOb3RhdGlvbihuYW1lLCAi
bWF0cml4KCIsIGNzc1BhcnNlck1vZGUpKSB7CiAgICAgICAgICAgICBtX3R5cGUgPSBXZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZTo6TWF0cml4VHJhbnNmb3JtT3BlcmF0aW9uOwogICAgICAgICAgICAg
bV9hcmdDb3VudCA9IDExOwogICAgICAgICAgICAgbV91bml0ID0gQ1NTUGFyc2VyOjpGTnVtYmVy
OwotICAgICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJtYXRyaXgzZCgi
KSkgeworICAgICAgICB9IGVsc2UgaWYgKGVxdWFsZUZ1bmN0aW9uYWxOb3RhdGlvbihuYW1lLCAi
bWF0cml4M2QoIiwgY3NzUGFyc2VyTW9kZSkpIHsKICAgICAgICAgICAgIG1fdHlwZSA9IFdlYktp
dENTU1RyYW5zZm9ybVZhbHVlOjpNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbjsKICAgICAgICAg
ICAgIG1fYXJnQ291bnQgPSAzMTsKICAgICAgICAgICAgIG1fdW5pdCA9IENTU1BhcnNlcjo6Rk51
bWJlcjsKLSAgICAgICAgfSBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAicGVyc3Bl
Y3RpdmUoIikpIHsKKyAgICAgICAgfSBlbHNlIGlmIChlcXVhbGVGdW5jdGlvbmFsTm90YXRpb24o
bmFtZSwgInBlcnNwZWN0aXZlKCIsIGNzc1BhcnNlck1vZGUpKSB7CiAgICAgICAgICAgICBtX3R5
cGUgPSBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6UGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRp
b247CiAgICAgICAgICAgICBtX3VuaXQgPSBDU1NQYXJzZXI6OkZOdW1iZXI7CiAgICAgICAgIH0K
IAotICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgInNjYWxlKCIpIHx8IGVxdWFs
SWdub3JpbmdDYXNlKG5hbWUsICJza2V3KCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICJ0
cmFuc2xhdGUoIikpIHsKKyAgICAgICAgaWYgKGVxdWFsZUZ1bmN0aW9uYWxOb3RhdGlvbihuYW1l
LCAic2NhbGUoIiwgY3NzUGFyc2VyTW9kZSkKKyAgICAgICAgICAgIHx8IGVxdWFsZUZ1bmN0aW9u
YWxOb3RhdGlvbihuYW1lLCAic2tldygiLCBjc3NQYXJzZXJNb2RlKQorICAgICAgICAgICAgfHwg
ZXF1YWxlRnVuY3Rpb25hbE5vdGF0aW9uKG5hbWUsICJ0cmFuc2xhdGUoIiwgY3NzUGFyc2VyTW9k
ZSkpIHsKICAgICAgICAgICAgIG1fYWxsb3dTaW5nbGVBcmd1bWVudCA9IHRydWU7CiAgICAgICAg
ICAgICBtX2FyZ0NvdW50ID0gMzsKICAgICAgICAgfQpAQCAtNzI3OCwxNSArNzMxMiwyMyBAQCBw
cml2YXRlOgogICAgIENTU1BhcnNlcjo6VW5pdHMgbV91bml0OwogfTsKIAotUGFzc1JlZlB0cjxD
U1NWYWx1ZUxpc3Q+IENTU1BhcnNlcjo6cGFyc2VUcmFuc2Zvcm0oKQorUGFzc1JlZlB0cjxDU1NW
YWx1ZUxpc3Q+IENTU1BhcnNlcjo6cGFyc2VUcmFuc2Zvcm0oQ1NTUGFyc2VyVmFsdWVMaXN0KiB2
YWx1ZUxpc3QsIGJvb2wgYWNjZXB0Q29tbWFBc1Rlcm1pbmF0b3IpCiB7Ci0gICAgaWYgKCFtX3Zh
bHVlTGlzdCkKKyAgICBpZiAoIXZhbHVlTGlzdCkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICAv
LyBUaGUgdHJhbnNmb3JtIGlzIGEgbGlzdCBvZiBmdW5jdGlvbmFsIHByaW1pdGl2ZXMgdGhhdCBz
cGVjaWZ5IHRyYW5zZm9ybSBvcGVyYXRpb25zLgogICAgIC8vIFdlIGNvbGxlY3QgYSBsaXN0IG9m
IFdlYktpdENTU1RyYW5zZm9ybVZhbHVlcywgd2hlcmUgZWFjaCB2YWx1ZSBzcGVjaWZpZXMgYSBz
aW5nbGUgb3BlcmF0aW9uLgogICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3QgPSBDU1NWYWx1
ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7Ci0gICAgZm9yIChDU1NQYXJzZXJWYWx1ZSog
dmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpOyB2YWx1ZTsgdmFsdWUgPSBtX3ZhbHVlTGlz
dC0+bmV4dCgpKSB7CisgICAgZm9yIChDU1NQYXJzZXJWYWx1ZSogdmFsdWUgPSB2YWx1ZUxpc3Qt
PmN1cnJlbnQoKTsgdmFsdWU7IHZhbHVlID0gdmFsdWVMaXN0LT5uZXh0KCkpIHsKKyAgICAgICAg
Ly8gTmVlZGVkIGZvciBDU1MgU2hhZGVycy4KKyAgICAgICAgaWYgKGFjY2VwdENvbW1hQXNUZXJt
aW5hdG9yICYgaXNDb21tYSh2YWx1ZSkpCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICAv
LyBUcmFuc2Zvcm0gZnVuY3Rpb25zIGNhbiBiZSBjb21tYSBzZXBhcmF0ZWQgb24gU1ZHIHByZXNl
bnRhdGlvbiBhdHRyaWJ1dGVzLgorICAgICAgICBpZiAobV9jb250ZXh0Lm1vZGUgPT0gU1ZHQXR0
cmlidXRlTW9kZSAmJiB2YWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgJiYg
dmFsdWUtPmlWYWx1ZSA9PSAnLCcpCisgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICBp
ZiAodmFsdWUtPnVuaXQgIT0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uIHx8ICF2YWx1ZS0+ZnVu
Y3Rpb24pCiAgICAgICAgICAgICByZXR1cm4gMDsKIApAQCAtNzI5NiwxMSArNzMzOCwxMSBAQCBQ
YXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFyc2VyOjpwYXJzZVRyYW5zZm9ybSgpCiAgICAg
ICAgICAgICByZXR1cm4gMDsKIAogICAgICAgICAvLyBTZWUgaWYgdGhlIHNwZWNpZmllZCBwcmlt
aXRpdmUgaXMgb25lIHdlIHVuZGVyc3RhbmQuCi0gICAgICAgIFRyYW5zZm9ybU9wZXJhdGlvbklu
Zm8gaW5mbyh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUpOworICAgICAgICBUcmFuc2Zvcm1PcGVyYXRp
b25JbmZvIGluZm8odmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCBtX2NvbnRleHQubW9kZSk7CiAgICAg
ICAgIGlmIChpbmZvLnVua25vd24oKSkKICAgICAgICAgICAgIHJldHVybiAwOwogCi0gICAgICAg
IGlmICghaW5mby5oYXNDb3JyZWN0QXJnQ291bnQoYXJncy0+c2l6ZSgpKSkKKyAgICAgICAgaWYg
KCFpbmZvLmhhc0NvcnJlY3RBcmdDb3VudChhcmdzLT5zaXplKCkpICYmIG1fY29udGV4dC5tb2Rl
ICE9IFNWR0F0dHJpYnV0ZU1vZGUpCiAgICAgICAgICAgICByZXR1cm4gMDsKIAogICAgICAgICAv
LyBDcmVhdGUgdGhlIG5ldyBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSBmb3IgdGhpcyBvcGVyYXRp
b24gYW5kIGFkZCBpdCB0byBvdXIgbGlzdC4KQEAgLTczMTMsMjMgKzczNTUsMjggQEAgUGFzc1Jl
ZlB0cjxDU1NWYWx1ZUxpc3Q+IENTU1BhcnNlcjo6cGFyc2VUcmFuc2Zvcm0oKQogICAgICAgICB3
aGlsZSAoYSkgewogICAgICAgICAgICAgQ1NTUGFyc2VyOjpVbml0cyB1bml0ID0gaW5mby51bml0
KCk7CiAKLSAgICAgICAgICAgIGlmIChpbmZvLnR5cGUoKSA9PSBXZWJLaXRDU1NUcmFuc2Zvcm1W
YWx1ZTo6Um90YXRlM0RUcmFuc2Zvcm1PcGVyYXRpb24gJiYgYXJnTnVtYmVyID09IDMpIHsKKyAg
ICAgICAgICAgIGlmIChpbmZvLnR5cGUoKSA9PSBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6Um90
YXRlVHJhbnNmb3JtT3BlcmF0aW9uICYmIGFyZ051bWJlciA+IDApIHsKKyAgICAgICAgICAgICAg
ICAvLyAybmQgYW5kIDNyZCBwYXJhbSBvZiByb3RhdGUoKSBpcyBlaXRoZXIgYSBsZW5ndGggb3Ig
cGVyY2VudGFnZSwgdmFsaWRhdGUgaXQgYXMgc3VjaC4KKyAgICAgICAgICAgICAgICB1bml0ID0g
Rkxlbmd0aCB8IEZQZXJjZW50OworICAgICAgICAgICAgICAgIGlmICghdmFsaWRVbml0KGEsIHVu
aXQsIG1fY29udGV4dC5tb2RlKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgICAgICB9IGVsc2UgaWYgKGluZm8udHlwZSgpID09IFdlYktpdENTU1RyYW5zZm9ybVZhbHVl
OjpSb3RhdGUzRFRyYW5zZm9ybU9wZXJhdGlvbiAmJiBhcmdOdW1iZXIgPT0gMykgewogICAgICAg
ICAgICAgICAgIC8vIDR0aCBwYXJhbSBvZiByb3RhdGUzZCgpIGlzIGFuIGFuZ2xlIHJhdGhlciB0
aGFuIGEgYmFyZSBudW1iZXIsIHZhbGlkYXRlIGl0IGFzIHN1Y2gKLSAgICAgICAgICAgICAgICBp
ZiAoIXZhbGlkVW5pdChhLCBGQW5nbGUsIENTU1N0cmljdE1vZGUpKQorICAgICAgICAgICAgICAg
IGlmICghdmFsaWRVbml0KGEsIEZBbmdsZSwgbV9jb250ZXh0Lm1vZGUpKQogICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5mby50eXBlKCkgPT0g
V2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWU6OlRyYW5zbGF0ZTNEVHJhbnNmb3JtT3BlcmF0aW9uICYm
IGFyZ051bWJlciA9PSAyKSB7CiAgICAgICAgICAgICAgICAgLy8gM3JkIHBhcmFtIG9mIHRyYW5z
bGF0ZTNkKCkgY2Fubm90IGJlIGEgcGVyY2VudGFnZQotICAgICAgICAgICAgICAgIGlmICghdmFs
aWRVbml0KGEsIEZMZW5ndGgsIENTU1N0cmljdE1vZGUpKQorICAgICAgICAgICAgICAgIGlmICgh
dmFsaWRVbml0KGEsIEZMZW5ndGgsIG1fY29udGV4dC5tb2RlKSkKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKGluZm8udHlwZSgpID09IFdlYktp
dENTU1RyYW5zZm9ybVZhbHVlOjpUcmFuc2xhdGVaVHJhbnNmb3JtT3BlcmF0aW9uICYmIGFyZ051
bWJlciA9PSAwKSB7CiAgICAgICAgICAgICAgICAgLy8gMXN0IHBhcmFtIG9mIHRyYW5zbGF0ZVoo
KSBjYW5ub3QgYmUgYSBwZXJjZW50YWdlCi0gICAgICAgICAgICAgICAgaWYgKCF2YWxpZFVuaXQo
YSwgRkxlbmd0aCwgQ1NTU3RyaWN0TW9kZSkpCisgICAgICAgICAgICAgICAgaWYgKCF2YWxpZFVu
aXQoYSwgRkxlbmd0aCwgbV9jb250ZXh0Lm1vZGUpKQogICAgICAgICAgICAgICAgICAgICByZXR1
cm4gMDsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5mby50eXBlKCkgPT0gV2ViS2l0Q1NTVHJh
bnNmb3JtVmFsdWU6OlBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uICYmIGFyZ051bWJlciA9
PSAwKSB7CiAgICAgICAgICAgICAgICAgLy8gMXN0IHBhcmFtIG9mIHBlcnNwZWN0aXZlKCkgbXVz
dCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIgKGRlcHJlY2F0ZWQpIG9yIGxlbmd0aC4KLSAgICAg
ICAgICAgICAgICBpZiAoIXZhbGlkVW5pdChhLCBGTnVtYmVyIHwgRkxlbmd0aCB8IEZOb25OZWcs
IENTU1N0cmljdE1vZGUpKQorICAgICAgICAgICAgICAgIGlmICghdmFsaWRVbml0KGEsIEZOdW1i
ZXIgfCBGTGVuZ3RoIHwgRk5vbk5lZywgbV9jb250ZXh0Lm1vZGUpKQogICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoIXZhbGlkVW5pdChhLCB1bml0
LCBDU1NTdHJpY3RNb2RlKSkKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoIXZhbGlkVW5pdChhLCB1
bml0LCBtX2NvbnRleHQubW9kZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAKICAgICAg
ICAgICAgIC8vIEFkZCB0aGUgdmFsdWUgdG8gdGhlIGN1cnJlbnQgdHJhbnNmb3JtIG9wZXJhdGlv
bi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA2YWNiYmEyNTI5MzA1NWExNjMzOTJmMThkNjc3
ZTFhOGE1NmE4NGIzLi40MTg3Y2QzNWM3MjE5NzdkOGQzY2JmMTNkZGI0ZmYwMjY3NjA4OWU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0yMTcsNyArMjE3LDcgQEAgcHVibGljOgogI2VuZGlm
CiAjZW5kaWYKIAotICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBwYXJzZVRyYW5zZm9ybSgp
OworICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBwYXJzZVRyYW5zZm9ybShDU1NQYXJzZXJW
YWx1ZUxpc3QqLCBib29sIGFjY2VwdENvbW1hVGVybWluYXRvciA9IGZhbHNlKTsKICAgICBib29s
IHBhcnNlVHJhbnNmb3JtT3JpZ2luKENTU1Byb3BlcnR5SUQgcHJvcElkLCBDU1NQcm9wZXJ0eUlE
JiBwcm9wSWQxLCBDU1NQcm9wZXJ0eUlEJiBwcm9wSWQyLCBDU1NQcm9wZXJ0eUlEJiBwcm9wSWQz
LCBSZWZQdHI8Q1NTVmFsdWU+JiwgUmVmUHRyPENTU1ZhbHVlPiYsIFJlZlB0cjxDU1NWYWx1ZT4m
KTsKICAgICBib29sIHBhcnNlUGVyc3BlY3RpdmVPcmlnaW4oQ1NTUHJvcGVydHlJRCBwcm9wSWQs
IENTU1Byb3BlcnR5SUQmIHByb3BJZDEsIENTU1Byb3BlcnR5SUQmIHByb3BJZDIsICBSZWZQdHI8
Q1NTVmFsdWU+JiwgUmVmUHRyPENTU1ZhbHVlPiYpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156987</attachid>
            <date>2012-08-07 13:22:08 -0700</date>
            <delta_ts>2012-08-07 16:26:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93295-20120807132144.patch</filename>
            <type>text/plain</type>
            <size>3102</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDczYjAyODEyYzlhNDk0
NDhjMjQ1NDgwMGMwYjVmN2Q1MjQwMzFlMS4uMzQ4OTA0ZDM3ZTg2NWU5MjMzNzA4NjY5M2FlMDc0
MjBlNmJlMDNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA4LTA3ICBNaWNo
ZWxhbmdlbG8gRGUgU2ltb25lICA8bWljaGVsYW5nZWxvQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
Q1NTUGFyc2VyOjpwYXJzZVRyYW5zZm9ybSgpIHJlZmFjdG9yIHRvIGFjY2VwdCB2YWx1ZUxpc3Qg
YXMgYXJndW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkzMjk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgcGFyc2VUcmFuc2Zvcm0gbm93IGFjY2VwdHMgYSBDU1NQYXJzZXJWYWx1ZUxpc3QgYXMgYXJn
dW1lbnQgaW5zdGVhZCBvZiByZWx5aW5nIG9uIG1fdmFsdWVMaXN0LgorCisgICAgICAgICogY3Nz
L0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVRyYW5zZm9ybSk6CisgICAgICAg
ICogY3NzL0NTU1BhcnNlci5oOgorCiAyMDEyLTA4LTA2ICBBbm5hIENhdmVuZGVyICA8YW5uYWNj
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBNZWRpYVNvdXJjZSBzaG91bGQgdXNlIGl0J3Mgb3du
IGxpc3Qgb2Ygc291cmNlIFVSTHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggOGQyODg4
M2NlZjk5M2EzZjc4YTBkMmY4OTE3ZDNhYWExZmY3NDJhNS4uOTFmMWU4ODFkZmU3ZTc0ZmQ0NDZh
OTcwMGYwYzliMzBlZjliNjlmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTIzMzMs
NyArMjMzMyw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJv
cElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgaWYgKGlkID09IENTU1ZhbHVlTm9uZSkKICAg
ICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAg
ICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWwgPSBwYXJzZVRyYW5zZm9ybSgpOworICAgICAg
ICAgICAgUmVmUHRyPENTU1ZhbHVlPiB2YWwgPSBwYXJzZVRyYW5zZm9ybShtX3ZhbHVlTGlzdC5n
ZXQoKSk7CiAgICAgICAgICAgICBpZiAodmFsKSB7CiAgICAgICAgICAgICAgICAgYWRkUHJvcGVy
dHkocHJvcElkLCB2YWwsIGltcG9ydGFudCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CkBAIC03Mjc4LDE1ICs3Mjc4LDE1IEBAIHByaXZhdGU6CiAgICAgQ1NTUGFyc2VyOjpVbml0cyBt
X3VuaXQ7CiB9OwogCi1QYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFyc2VyOjpwYXJzZVRy
YW5zZm9ybSgpCitQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFyc2VyOjpwYXJzZVRyYW5z
Zm9ybShDU1NQYXJzZXJWYWx1ZUxpc3QqIHZhbHVlTGlzdCkKIHsKLSAgICBpZiAoIW1fdmFsdWVM
aXN0KQorICAgIGlmICghdmFsdWVMaXN0KQogICAgICAgICByZXR1cm4gMDsKIAogICAgIC8vIFRo
ZSB0cmFuc2Zvcm0gaXMgYSBsaXN0IG9mIGZ1bmN0aW9uYWwgcHJpbWl0aXZlcyB0aGF0IHNwZWNp
ZnkgdHJhbnNmb3JtIG9wZXJhdGlvbnMuCiAgICAgLy8gV2UgY29sbGVjdCBhIGxpc3Qgb2YgV2Vi
S2l0Q1NTVHJhbnNmb3JtVmFsdWVzLCB3aGVyZSBlYWNoIHZhbHVlIHNwZWNpZmllcyBhIHNpbmds
ZSBvcGVyYXRpb24uCiAgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gbGlzdCA9IENTU1ZhbHVlTGlz
dDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKLSAgICBmb3IgKENTU1BhcnNlclZhbHVlKiB2YWx1
ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCk7IHZhbHVlOyB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5u
ZXh0KCkpIHsKKyAgICBmb3IgKENTU1BhcnNlclZhbHVlKiB2YWx1ZSA9IHZhbHVlTGlzdC0+Y3Vy
cmVudCgpOyB2YWx1ZTsgdmFsdWUgPSB2YWx1ZUxpc3QtPm5leHQoKSkgewogICAgICAgICBpZiAo
dmFsdWUtPnVuaXQgIT0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uIHx8ICF2YWx1ZS0+ZnVuY3Rp
b24pCiAgICAgICAgICAgICByZXR1cm4gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDZh
Y2JiYTI1MjkzMDU1YTE2MzM5MmYxOGQ2NzdlMWE4YTU2YTg0YjMuLmEyODUxMmQ4M2QyM2Y1NzA1
ZjI3YTNkNzhjYTA4ODNmMDI3NGM0YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTIxNyw3
ICsyMTcsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICNlbmRpZgogCi0gICAgUGFzc1JlZlB0cjxDU1NW
YWx1ZUxpc3Q+IHBhcnNlVHJhbnNmb3JtKCk7CisgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+
IHBhcnNlVHJhbnNmb3JtKENTU1BhcnNlclZhbHVlTGlzdCopOwogICAgIGJvb2wgcGFyc2VUcmFu
c2Zvcm1PcmlnaW4oQ1NTUHJvcGVydHlJRCBwcm9wSWQsIENTU1Byb3BlcnR5SUQmIHByb3BJZDEs
IENTU1Byb3BlcnR5SUQmIHByb3BJZDIsIENTU1Byb3BlcnR5SUQmIHByb3BJZDMsIFJlZlB0cjxD
U1NWYWx1ZT4mLCBSZWZQdHI8Q1NTVmFsdWU+JiwgUmVmUHRyPENTU1ZhbHVlPiYpOwogICAgIGJv
b2wgcGFyc2VQZXJzcGVjdGl2ZU9yaWdpbihDU1NQcm9wZXJ0eUlEIHByb3BJZCwgQ1NTUHJvcGVy
dHlJRCYgcHJvcElkMSwgQ1NTUHJvcGVydHlJRCYgcHJvcElkMiwgIFJlZlB0cjxDU1NWYWx1ZT4m
LCBSZWZQdHI8Q1NTVmFsdWU+Jik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157038</attachid>
            <date>2012-08-07 16:26:52 -0700</date>
            <delta_ts>2012-08-08 06:01:11 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-93295-20120807162627.patch</filename>
            <type>text/plain</type>
            <size>3377</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDczYjAyODEyYzlhNDk0
NDhjMjQ1NDgwMGMwYjVmN2Q1MjQwMzFlMS4uZDRjMzJiMzc5NjBiYjcwNzM5M2U0YzVmMWQ1NTJk
OTgzNTQ4MWU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTA3ICBNaWNo
ZWxhbmdlbG8gRGUgU2ltb25lICA8bWljaGVsYW5nZWxvQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
Q1NTUGFyc2VyOjpwYXJzZVRyYW5zZm9ybSgpIHJlZmFjdG9yIHRvIGFjY2VwdCB2YWx1ZUxpc3Qg
YXMgYXJndW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkzMjk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAg
Q1NTOjpwYXJzZVRyYW5mb3JtKCkgaXMgbm93IGFjY2VwdGluZyB0aGUgcmVsYXRlZCBDU1NQYXJz
ZXJWYWx1ZUxpc3QgYXMKKyAgICAgICAgYXJndW1lbnQuIFRoaXMgY2hhbmdlIHdpbGwgYmUgdXNl
ZCBieSB0aGUgY29kZSB0byBwYXJzZSB0aGUgM2QtdHJhbnNmb3JtcworICAgICAgICB3aXRoaW4g
dGhlIGN1c3RvbSgpIGZ1bmN0aW9uLCBzZWUgYnVnICM3MTQ0My4KKworICAgICAgICAqIGNzcy9D
U1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VUcmFuc2Zvcm0pOgorICAgICAgICAq
IGNzcy9DU1NQYXJzZXIuaDoKKwogMjAxMi0wOC0wNiAgQW5uYSBDYXZlbmRlciAgPGFubmFjY0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgTWVkaWFTb3VyY2Ugc2hvdWxkIHVzZSBpdCdzIG93biBs
aXN0IG9mIHNvdXJjZSBVUkxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IDhkMjg4ODNj
ZWY5OTNhM2Y3OGEwZDJmODkxN2QzYWFhMWZmNzQyYTUuLmFmNDljNzVhZWU3MmRjNmM4YjhiOGNm
MmE2ZjVhNzVmYmFmNjMwZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yMzMzLDkg
KzIzMzMsOSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJ
ZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZU5vbmUpCiAgICAg
ICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7CiAgICAgICAgIGVsc2UgewotICAgICAgICAg
ICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsID0gcGFyc2VUcmFuc2Zvcm0oKTsKLSAgICAgICAg
ICAgIGlmICh2YWwpIHsKLSAgICAgICAgICAgICAgICBhZGRQcm9wZXJ0eShwcm9wSWQsIHZhbCwg
aW1wb3J0YW50KTsKKyAgICAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gdHJhbnNmb3JtVmFsdWUg
PSBwYXJzZVRyYW5zZm9ybShtX3ZhbHVlTGlzdC5nZXQoKSk7CisgICAgICAgICAgICBpZiAodHJh
bnNmb3JtVmFsdWUpIHsKKyAgICAgICAgICAgICAgICBhZGRQcm9wZXJ0eShwcm9wSWQsIHRyYW5z
Zm9ybVZhbHVlLnJlbGVhc2UoKSwgaW1wb3J0YW50KTsKICAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTcyNzgs
MTUgKzcyNzgsMTUgQEAgcHJpdmF0ZToKICAgICBDU1NQYXJzZXI6OlVuaXRzIG1fdW5pdDsKIH07
CiAKLVBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBDU1NQYXJzZXI6OnBhcnNlVHJhbnNmb3JtKCkK
K1Bhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBDU1NQYXJzZXI6OnBhcnNlVHJhbnNmb3JtKENTU1Bh
cnNlclZhbHVlTGlzdCogdmFsdWVMaXN0KQogewotICAgIGlmICghbV92YWx1ZUxpc3QpCisgICAg
aWYgKCF2YWx1ZUxpc3QpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgLy8gVGhlIHRyYW5zZm9y
bSBpcyBhIGxpc3Qgb2YgZnVuY3Rpb25hbCBwcmltaXRpdmVzIHRoYXQgc3BlY2lmeSB0cmFuc2Zv
cm0gb3BlcmF0aW9ucy4KICAgICAvLyBXZSBjb2xsZWN0IGEgbGlzdCBvZiBXZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZXMsIHdoZXJlIGVhY2ggdmFsdWUgc3BlY2lmaWVzIGEgc2luZ2xlIG9wZXJhdGlv
bi4KICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVT
cGFjZVNlcGFyYXRlZCgpOwotICAgIGZvciAoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0gbV92YWx1
ZUxpc3QtPmN1cnJlbnQoKTsgdmFsdWU7IHZhbHVlID0gbV92YWx1ZUxpc3QtPm5leHQoKSkgewor
ICAgIGZvciAoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0gdmFsdWVMaXN0LT5jdXJyZW50KCk7IHZh
bHVlOyB2YWx1ZSA9IHZhbHVlTGlzdC0+bmV4dCgpKSB7CiAgICAgICAgIGlmICh2YWx1ZS0+dW5p
dCAhPSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24gfHwgIXZhbHVlLT5mdW5jdGlvbikKICAgICAg
ICAgICAgIHJldHVybiAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggNmFjYmJhMjUyOTMw
NTVhMTYzMzkyZjE4ZDY3N2UxYThhNTZhODRiMy4uYTI4NTEyZDgzZDIzZjU3MDVmMjdhM2Q3OGNh
MDg4M2YwMjc0YzRhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMjE3LDcgKzIxNyw3IEBA
IHB1YmxpYzoKICNlbmRpZgogI2VuZGlmCiAKLSAgICBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4g
cGFyc2VUcmFuc2Zvcm0oKTsKKyAgICBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gcGFyc2VUcmFu
c2Zvcm0oQ1NTUGFyc2VyVmFsdWVMaXN0Kik7CiAgICAgYm9vbCBwYXJzZVRyYW5zZm9ybU9yaWdp
bihDU1NQcm9wZXJ0eUlEIHByb3BJZCwgQ1NTUHJvcGVydHlJRCYgcHJvcElkMSwgQ1NTUHJvcGVy
dHlJRCYgcHJvcElkMiwgQ1NTUHJvcGVydHlJRCYgcHJvcElkMywgUmVmUHRyPENTU1ZhbHVlPiYs
IFJlZlB0cjxDU1NWYWx1ZT4mLCBSZWZQdHI8Q1NTVmFsdWU+Jik7CiAgICAgYm9vbCBwYXJzZVBl
cnNwZWN0aXZlT3JpZ2luKENTU1Byb3BlcnR5SUQgcHJvcElkLCBDU1NQcm9wZXJ0eUlEJiBwcm9w
SWQxLCBDU1NQcm9wZXJ0eUlEJiBwcm9wSWQyLCAgUmVmUHRyPENTU1ZhbHVlPiYsIFJlZlB0cjxD
U1NWYWx1ZT4mKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>