<?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>109530</bug_id>
          
          <creation_ts>2013-02-11 18:01:44 -0800</creation_ts>
          <short_desc>PagePopupController.formatMonth should support short month format</short_desc>
          <delta_ts>2013-02-19 05:18:36 -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>Forms</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>109439</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Keishi Hattori">keishi</reporter>
          <assigned_to name="Keishi Hattori">keishi</assigned_to>
          <cc>berto</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>830409</commentid>
    <comment_count>0</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2013-02-11 18:01:44 -0800</bug_when>
    <thetext>We need to support short month format for use in the calendar picker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833766</commentid>
    <comment_count>1</comment_count>
      <attachid>188497</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2013-02-15 00:28:44 -0800</bug_when>
    <thetext>Created attachment 188497
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833772</commentid>
    <comment_count>2</comment_count>
      <attachid>188497</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-02-15 00:44:13 -0800</bug_when>
    <thetext>Comment on attachment 188497
Patch

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

&gt; Source/WebCore/page/PagePopupController.idl:37
&gt; -    [Conditional=CALENDAR_PICKER] DOMString formatMonth(in long year, in long zeroBaseMonth);
&gt; +    [Conditional=CALENDAR_PICKER] DOMString formatMonth(in long year, in long zeroBaseMonth, in boolean useShortMonth);

We had better introduce a separated function like formatShortMonth(year, month).

&gt; Source/WebCore/platform/text/PlatformLocale.cpp:357
&gt; +        builder.build(formatType == FormatTypeShort ? shortMonthFormat() : monthFormat());

nit: We had better explain this behavior on the formatDateTime declaration in PlatformLocale.h.

&gt; Source/WebCore/platform/text/PlatformLocale.h:71
&gt;      // Returns a year-month format in Unicode TR35 LDML.
&gt;      virtual String monthFormat() = 0;
&gt;  
&gt; +    // Returns a year-month format in Unicode TR35 LDML.
&gt; +    virtual String shortMonthFormat() = 0;

We should mention difference between them.

&gt; Source/WebCore/platform/text/mac/LocaleMac.mm:213
&gt; +    // Gets a format for &quot;MMMM&quot; because Windows API always provides formats for
&gt; +    // &quot;MMMM&quot; in some locales.
&gt; +    m_shortMonthFormat = [NSDateFormatter dateFormatFromTemplate:@&quot;yyyyMMM&quot; options:0 locale:m_locale.get()];

incorrect comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833842</commentid>
    <comment_count>3</comment_count>
      <attachid>188524</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2013-02-15 03:19:35 -0800</bug_when>
    <thetext>Created attachment 188524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833845</commentid>
    <comment_count>4</comment_count>
      <attachid>188524</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-02-15 03:26:34 -0800</bug_when>
    <thetext>Comment on attachment 188524
Patch

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

ok

&gt; Source/WebCore/page/PagePopupController.idl:36
&gt; +    void setValue(in DOMString value);

nit: in is unnecessary</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833848</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-02-15 03:28:00 -0800</bug_when>
    <thetext>you posted a patch to a wrong bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833880</commentid>
    <comment_count>6</comment_count>
      <attachid>188533</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2013-02-15 04:12:45 -0800</bug_when>
    <thetext>Created attachment 188533
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833900</commentid>
    <comment_count>7</comment_count>
      <attachid>188533</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-02-15 04:58:02 -0800</bug_when>
    <thetext>Comment on attachment 188533
Patch

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833939</commentid>
    <comment_count>8</comment_count>
      <attachid>188533</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-15 06:06:47 -0800</bug_when>
    <thetext>Comment on attachment 188533
Patch

Clearing flags on attachment: 188533

Committed r142988: &lt;http://trac.webkit.org/changeset/142988&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833940</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-15 06:06:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836223</commentid>
    <comment_count>10</comment_count>
      <attachid>189051</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-02-19 04:25:33 -0800</bug_when>
    <thetext>Created attachment 189051
Properly add shortMonthFormat() to the LocaleNone class

The shortMonthFormat() was not correctly added to the LocaleNone class, here&apos;s the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836257</commentid>
    <comment_count>11</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2013-02-19 05:01:30 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=189051) [details]
&gt; Properly add shortMonthFormat() to the LocaleNone class
&gt; 
&gt; The shortMonthFormat() was not correctly added to the LocaleNone class, here&apos;s the fix.

Oops, sorry. I&apos;m not a reviewer but every bug should have only one patch. If this is a build fix I can land it as unreviewed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836259</commentid>
    <comment_count>12</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-02-19 05:07:49 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; Created an attachment (id=189051) [details] [details]
&gt; &gt; Properly add shortMonthFormat() to the LocaleNone class
&gt; &gt; 
&gt; &gt; The shortMonthFormat() was not correctly added to the LocaleNone class, here&apos;s the fix.
&gt; 
&gt; Oops, sorry. I&apos;m not a reviewer but every bug should have only one patch. If this is a build fix I can land it as unreviewed.

It&apos;s a build fix, and I can create a new bug if you want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836262</commentid>
    <comment_count>13</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2013-02-19 05:12:23 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; Created an attachment (id=189051) [details] [details] [details]
&gt; &gt; &gt; Properly add shortMonthFormat() to the LocaleNone class
&gt; &gt; &gt; 
&gt; &gt; &gt; The shortMonthFormat() was not correctly added to the LocaleNone class, here&apos;s the fix.
&gt; &gt; 
&gt; &gt; Oops, sorry. I&apos;m not a reviewer but every bug should have only one patch. If this is a build fix I can land it as unreviewed.
&gt; 
&gt; It&apos;s a build fix, and I can create a new bug if you want.

In that case I&apos;ll land this right now. Thanks for making it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836269</commentid>
    <comment_count>14</comment_count>
      <attachid>189051</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2013-02-19 05:18:36 -0800</bug_when>
    <thetext>Comment on attachment 189051
Properly add shortMonthFormat() to the LocaleNone class

landed. http://trac.webkit.org/changeset/143320</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188497</attachid>
            <date>2013-02-15 00:28:44 -0800</date>
            <delta_ts>2013-02-15 03:19:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109530-20130215172511.patch</filename>
            <type>text/plain</type>
            <size>14693</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyOTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTk1MTc5ZjVhMmJkMjhj
Mzg5ZWJkZjBhNTJiMjk2ODU4NGFhNWQ4ZS4uNTM1NTgwMWY0ZWRhMDU5NWI5NzMxNDMzMDAyN2Q0
YWQyNDU1NDkxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEzLTAyLTE1ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIFBhZ2VQb3B1cENvbnRy
b2xsZXIuZm9ybWF0TW9udGggc2hvdWxkIHN1cHBvcnQgc2hvcnQgbW9udGggZm9ybWF0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1MzAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYWdlUG9wdXBDb250
cm9sbGVyLmZvcm1hdE1vbnRoIHNob3VsZCBzdXBwb3J0IHNob3J0IG1vbnRoIGZvcm1hdCBzbyB3
ZQorICAgICAgICBjYW4gdXNlIGl0IGluIHRoZSBuZXcgY2FsZW5kYXIgcGlja2VyLgorCisgICAg
ICAgIFRlc3RlZCBieSBMb2NhbGVNYWNUZXN0Ojpmb3JtYXRNb250aC4KKworICAgICAgICAqIHBh
Z2UvUGFnZVBvcHVwQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlUG9wdXBD
b250cm9sbGVyOjpmb3JtYXRNb250aCk6IFRha2UgYW4gZXh0cmEgYm9vbCBhcmd1bWVudCB0byBz
d2l0Y2ggdG8gc2hvcnQgbW9udGggZm9ybWF0LgorICAgICAgICAqIHBhZ2UvUGFnZVBvcHVwQ29u
dHJvbGxlci5oOgorICAgICAgICAoUGFnZVBvcHVwQ29udHJvbGxlcik6CisgICAgICAgICogcGFn
ZS9QYWdlUG9wdXBDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2Fs
ZUlDVS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbGVJQ1U6OnNob3J0TW9udGhGb3JtYXQp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1Uu
aDoKKyAgICAgICAgKExvY2FsZUlDVSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVO
b25lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3J0TW9udGhGb3JtYXQpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVN0cmluZ0J1aWxkZXI6OnZpc2l0RmllbGQpOgorICAg
ICAgICAoV2ViQ29yZTo6TG9jYWxlOjpmb3JtYXREYXRlVGltZSk6CisgICAgICAgICogcGxhdGZv
cm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5oOgorICAgICAgICAoTG9jYWxlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaDoKKyAgICAgICAgKExvY2FsZU1hYyk6CisgICAg
ICAgICogcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6
TG9jYWxlTWFjOjpzaG9ydE1vbnRoRm9ybWF0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIHBsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
b2NhbGVXaW46OnNob3J0TW9udGhGb3JtYXQpOiBXaW5kb3dzIGRvZXNuJ3QgaGF2ZSBhIHNob3J0
CisgICAgICAgIG1vbnRoIGZvcm1hdCBzbyB3ZSBqdXN0IHJlcGxhY2UgTU1NTSB3aXRoIE1NTS4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdp
bi5oOgorICAgICAgICAoTG9jYWxlV2luKToKKwogMjAxMy0wMi0xNCAgQXJwaXRhIEJhaHVndW5h
ICA8YXJwaXRhYmFodWd1bmFAZ21haWwuY29tPgogCiAgICAgICAgIENhcmV0IHBvc2l0aW9uZWQg
YXQgdGhlIGVuZCBvZiBhIHRleHQgbGluZSAoZm9sbG93ZWQgYnkgYW4gZW1wdHkgYmxvY2spIGlu
IHZlcnRpY2FsIHdyaXRpbmcgbW9kZSBkaXNhcHBlYXJzIHdoZW4gcHJlc3NpbmcgdGhlIHJpZ2h0
L2Rvd24gYXJyb3cga2V5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAxZTU1YmM0ZWE2
Yzk2OGU4NzBlNzcyMjVmYjQyNTg0NTg2MTZiNGUzLi4zN2Q2OTVmMTljN2RmYmQwY2UxYjkxMzJi
ZTlhMDJmZGQ5NTU4MDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDEzLTAyLTE1ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisg
ICAgICAgIFBhZ2VQb3B1cENvbnRyb2xsZXIuZm9ybWF0TW9udGggc2hvdWxkIHN1cHBvcnQgc2hv
cnQgbW9udGggZm9ybWF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDk1MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHRlc3RzL0xvY2FsZU1hY1Rlc3QuY3BwOgorICAgICAgICAoTG9jYWxlTWFjVGVz
dDo6Zm9ybWF0TW9udGgpOgorICAgICAgICAoVEVTVF9GKToKKwogMjAxMy0wMi0xNCAgRGF2aWQg
VHJhaW5vciAgPGR0cmFpbm9yQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIE5v
IHRyaWdnZXJpbmcgYXV0b2ZpbGwgb24gdW5mb2N1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZVBvcHVwQ29udHJvbGxlci5jcHAKaW5kZXggZGJlNzUyMjRiNjJhNDQwYmQ3YmQ3N2M0MmVlNThj
MmMxMGM4NDc3Ny4uZjBkMzhjN2U1MmE3YjAzOTI5NTdmOTRjYTVmNGRjNzJjOTEwNzkxZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuY3BwCkBAIC02MywxMyAr
NjMsMTMgQEAgU3RyaW5nIFBhZ2VQb3B1cENvbnRyb2xsZXI6OmxvY2FsaXplTnVtYmVyU3RyaW5n
KGNvbnN0IFN0cmluZyYgbnVtYmVyU3RyaW5nKQogfQogCiAjaWYgRU5BQkxFKENBTEVOREFSX1BJ
Q0tFUikKLVN0cmluZyBQYWdlUG9wdXBDb250cm9sbGVyOjpmb3JtYXRNb250aChpbnQgeWVhciwg
aW50IHplcm9CYXNlTW9udGgpCitTdHJpbmcgUGFnZVBvcHVwQ29udHJvbGxlcjo6Zm9ybWF0TW9u
dGgoaW50IHllYXIsIGludCB6ZXJvQmFzZU1vbnRoLCBib29sIHVzZVNob3J0TW9udGgpCiB7CiAg
ICAgaWYgKCFtX3BvcHVwQ2xpZW50KQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKICAg
ICBEYXRlQ29tcG9uZW50cyBkYXRlOwogICAgIGRhdGUuc2V0TW9udGhzU2luY2VFcG9jaCgoeWVh
ciAtIDE5NzApICogMTIuMCArIHplcm9CYXNlTW9udGgpOwotICAgIHJldHVybiBtX3BvcHVwQ2xp
ZW50LT5sb2NhbGUoKS5mb3JtYXREYXRlVGltZShkYXRlKTsKKyAgICByZXR1cm4gbV9wb3B1cENs
aWVudC0+bG9jYWxlKCkuZm9ybWF0RGF0ZVRpbWUoZGF0ZSwgdXNlU2hvcnRNb250aCA/IExvY2Fs
ZTo6Rm9ybWF0VHlwZVNob3J0IDogTG9jYWxlOjpGb3JtYXRUeXBlTWVkaXVtKTsKIH0KICNlbmRp
ZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ29udHJvbGxlci5oCmluZGV4IDE5ZGU0
ODA0MzUyZDE5ZjRjYjJjYTJkYzRhZWE5OTk0MTUxMTFkYjUuLjRmNTFkZmNmNjA5MWQ3Y2NiMGY4
NmU4NzkxNmJlNjY2NTExY2Y2YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZVBvcHVwQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ29u
dHJvbGxlci5oCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFZhbHVlQW5k
Q2xvc2VQb3B1cChpbnQgbnVtVmFsdWUsIGNvbnN0IFN0cmluZyYgc3RyaW5nVmFsdWUpOwogICAg
IFN0cmluZyBsb2NhbGl6ZU51bWJlclN0cmluZyhjb25zdCBTdHJpbmcmKTsKICNpZiBFTkFCTEUo
Q0FMRU5EQVJfUElDS0VSKQotICAgIFN0cmluZyBmb3JtYXRNb250aChpbnQgeWVhciwgaW50IHpl
cm9CYXNlTW9udGgpOworICAgIFN0cmluZyBmb3JtYXRNb250aChpbnQgeWVhciwgaW50IHplcm9C
YXNlTW9udGgsIGJvb2wgdXNlU2hvcnRNb250aCk7CiAjZW5kaWYKICAgICB2b2lkIGNsZWFyUGFn
ZVBvcHVwQ2xpZW50KCk7CiAgICAgdm9pZCBoaXN0b2dyYW1FbnVtZXJhdGlvbihjb25zdCBTdHJp
bmcmIG5hbWUsIGludCBzYW1wbGUsIGludCBib3VuZGFyeVZhbHVlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ29udHJvbGxlci5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuaWRsCmluZGV4IDAzZjQ3Mjg2YjMxYmViMThlNTdi
M2Y5NzNiNGNlODczZmY4NTk2NmEuLjcyZTU3ZmYyZDc4NzBlMTZmMjNiMThkNWUxZmY3NzNhNzE4
MzcxMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ29udHJvbGxl
ci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmlkbApA
QCAtMzQsNiArMzQsNiBAQAogXSBpbnRlcmZhY2UgUGFnZVBvcHVwQ29udHJvbGxlciB7CiAgICAg
dm9pZCBzZXRWYWx1ZUFuZENsb3NlUG9wdXAoaW4gbG9uZyBudW1iZXJWYWx1ZSwgaW4gRE9NU3Ry
aW5nIHN0cmluZ1ZhbHVlKTsKICAgICBET01TdHJpbmcgbG9jYWxpemVOdW1iZXJTdHJpbmcoaW4g
RE9NU3RyaW5nIG51bWJlclN0cmluZyk7Ci0gICAgW0NvbmRpdGlvbmFsPUNBTEVOREFSX1BJQ0tF
Ul0gRE9NU3RyaW5nIGZvcm1hdE1vbnRoKGluIGxvbmcgeWVhciwgaW4gbG9uZyB6ZXJvQmFzZU1v
bnRoKTsKKyAgICBbQ29uZGl0aW9uYWw9Q0FMRU5EQVJfUElDS0VSXSBET01TdHJpbmcgZm9ybWF0
TW9udGgoaW4gbG9uZyB5ZWFyLCBpbiBsb25nIHplcm9CYXNlTW9udGgsIGluIGJvb2xlYW4gdXNl
U2hvcnRNb250aCk7CiAgICAgdm9pZCBoaXN0b2dyYW1FbnVtZXJhdGlvbihET01TdHJpbmcgbmFt
ZSwgbG9uZyBzYW1wbGUsIGxvbmcgYm91bmRhcnlWYWx1ZSk7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwCmluZGV4IDk5MDNiYjRiMTJhNTUwM2EyN2NhNTkx
MDcwNWM2Y2RiZDY0ZGViNDYuLjgxMTAyOTZkN2QxMDRkZWUxOTBiMmMyZDlmNTdjMGIxY2EzMWNm
NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHAKQEAgLTM1
NSw2ICszNTUsMTQgQEAgU3RyaW5nIExvY2FsZUlDVTo6bW9udGhGb3JtYXQoKQogICAgIHJldHVy
biBtX21vbnRoRm9ybWF0OwogfQogCitTdHJpbmcgTG9jYWxlSUNVOjpzaG9ydE1vbnRoRm9ybWF0
KCkKK3sKKyAgICBpZiAoIW1fc2hvcnRNb250aEZvcm1hdC5pc051bGwoKSkKKyAgICAgICAgcmV0
dXJuIG1fc2hvcnRNb250aEZvcm1hdDsKKyAgICBtX3Nob3J0TW9udGhGb3JtYXQgPSBnZXRGb3Jt
YXRGb3JTa2VsZXRvbihtX2xvY2FsZS5kYXRhKCksIEFTQ0lJTGl0ZXJhbCgieXl5eU1NTSIpKTsK
KyAgICByZXR1cm4gbV9zaG9ydE1vbnRoRm9ybWF0OworfQorCiBTdHJpbmcgTG9jYWxlSUNVOjp0
aW1lRm9ybWF0KCkKIHsKICAgICBpbml0aWFsaXplRGF0ZVRpbWVGb3JtYXQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5oCmluZGV4IDMxNzQ4NGFiZWM5MzRmNjIyMzY4
ZTE2NjkwYzJjOGNhOGQ1YjNhNDQuLjUyMGE3N2RhMmFhZTEyN2I1ZWVlZDYwOTAxY2E3NDYxMGYx
ZDRjNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNV
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaApAQCAtNTcs
NiArNTcsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMp
CiAgICAgdmlydHVhbCBTdHJpbmcgZGF0ZUZvcm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
U3RyaW5nIG1vbnRoRm9ybWF0KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTdHJpbmcgc2hvcnRN
b250aEZvcm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIHRpbWVGb3JtYXQoKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBzaG9ydFRpbWVGb3JtYXQoKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlVGltZUZvcm1hdFdpdGhTZWNvbmRzKCkgT1ZFUlJJREU7
CkBAIC0xMDMsNiArMTA0LDcgQEAgcHJpdmF0ZToKICAgICBPd25QdHI8VmVjdG9yPFN0cmluZz4g
PiBtX21vbnRoTGFiZWxzOwogICAgIFN0cmluZyBtX2RhdGVGb3JtYXQ7CiAgICAgU3RyaW5nIG1f
bW9udGhGb3JtYXQ7CisgICAgU3RyaW5nIG1fc2hvcnRNb250aEZvcm1hdDsKICAgICBTdHJpbmcg
bV90aW1lRm9ybWF0V2l0aFNlY29uZHM7CiAgICAgU3RyaW5nIG1fdGltZUZvcm1hdFdpdGhvdXRT
ZWNvbmRzOwogICAgIFN0cmluZyBtX2RhdGVUaW1lRm9ybWF0V2l0aFNlY29uZHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcAppbmRleCBiZTQ1ZTIzNDUxN2Q3
YzhmZTNhNzJiODFhZDMxYmQ3MDFlNTg3YTc3Li41Mjg1MDc3NDQzNTQyNWVjN2Q2MDY2YmEzMzE5
NTM1YWU5OGExZGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xv
Y2FsZU5vbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlTm9u
ZS5jcHAKQEAgLTk5LDYgKzk5LDExIEBAIFN0cmluZyBMb2NhbGVOb25lOjptb250aEZvcm1hdCgp
CiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgieXl5eS1NTSIpOwogfQogCitTdHJpbmcgc2hvcnRN
b250aEZvcm1hdCgpCit7CisgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgieXl5eS1NTSIpOworfQor
CiBTdHJpbmcgTG9jYWxlTm9uZTo6dGltZUZvcm1hdCgpCiB7CiAgICAgcmV0dXJuIEFTQ0lJTGl0
ZXJhbCgiSEg6bW06c3MiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvUGxhdGZvcm1Mb2NhbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0
Zm9ybUxvY2FsZS5jcHAKaW5kZXggYTYxY2Y2NTI2OWNiYTFjOWIzZDhmZTU1ZDZkNTRiNmI1ODI1
N2MwNS4uODYwNGEyYjEwODM5YTEzNzAzMzVjMzExNWEzNDFjYjczMDM1Y2JmZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5jcHAKQEAgLTk5LDcg
Kzk5LDcgQEAgdm9pZCBEYXRlVGltZVN0cmluZ0J1aWxkZXI6OnZpc2l0RmllbGQoRGF0ZVRpbWVG
b3JtYXQ6OkZpZWxkVHlwZSBmaWVsZFR5cGUsIGludAogICAgICAgICAvLyBBbHdheXMgdXNlIHBh
ZGRpbmcgd2lkdGggb2YgNCBzbyBpdCBtYXRjaGVzIERhdGVUaW1lRWRpdEVsZW1lbnQuCiAgICAg
ICAgIGFwcGVuZE51bWJlcihtX2RhdGUuZnVsbFllYXIoKSwgNCk7CiAgICAgICAgIHJldHVybjsK
LSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVNb250aDogICAgCisgICAgY2FzZSBE
YXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGg6CiAgICAgICAgIGlmIChudW1iZXJPZlBhdHRl
cm5DaGFyYWN0ZXJzID09IDMpCiAgICAgICAgICAgICBtX2J1aWxkZXIuYXBwZW5kKG1fbG9jYWxp
emVyLnNob3J0TW9udGhMYWJlbHMoKVttX2RhdGUubW9udGgoKV0pOwogICAgICAgICBlbHNlIGlm
IChudW1iZXJPZlBhdHRlcm5DaGFyYWN0ZXJzID09IDQpCkBAIC0zNTQsNyArMzU0LDcgQEAgU3Ry
aW5nIExvY2FsZTo6Zm9ybWF0RGF0ZVRpbWUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUsIEZv
cm1hdFR5cGUgZm9ybWF0VHlwZSkKICAgICAgICAgYnVpbGRlci5idWlsZChkYXRlRm9ybWF0KCkp
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIERhdGVDb21wb25lbnRzOjpNb250aDoKLSAgICAg
ICAgYnVpbGRlci5idWlsZChtb250aEZvcm1hdCgpKTsKKyAgICAgICAgYnVpbGRlci5idWlsZChm
b3JtYXRUeXBlID09IEZvcm1hdFR5cGVTaG9ydCA/IHNob3J0TW9udGhGb3JtYXQoKSA6IG1vbnRo
Rm9ybWF0KCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIERhdGVDb21wb25lbnRzOjpXZWVr
OiAgICAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9XRUVLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5oCmluZGV4IDc3NDYzZWMxNjdkZWZmZDRjZGFkNWYx
NTQ5YWNkYzQ1OTk1ZGE4ZWMuLjdhNDUzM2E3ZGI2ZTkwNWIxMGExNjczZWE2MTFkZTVmNTFiYmM1
MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2Nh
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmgK
QEAgLTY3LDYgKzY3LDkgQEAgcHVibGljOgogICAgIC8vIFJldHVybnMgYSB5ZWFyLW1vbnRoIGZv
cm1hdCBpbiBVbmljb2RlIFRSMzUgTERNTC4KICAgICB2aXJ0dWFsIFN0cmluZyBtb250aEZvcm1h
dCgpID0gMDsKIAorICAgIC8vIFJldHVybnMgYSB5ZWFyLW1vbnRoIGZvcm1hdCBpbiBVbmljb2Rl
IFRSMzUgTERNTC4KKyAgICB2aXJ0dWFsIFN0cmluZyBzaG9ydE1vbnRoRm9ybWF0KCkgPSAwOwor
CiAgICAgLy8gUmV0dXJucyB0aW1lIGZvcm1hdCBpbiBVbmljb2RlIFRSMzUgTERNTFsxXSBjb250
YWluaW5nIGhvdXIsIG1pbnV0ZSwgYW5kCiAgICAgLy8gc2Vjb25kIHdpdGggb3B0aW9uYWwgcGVy
aW9kKEFNL1BNKSwgZS5nLiAiaDptbTpzcyBhIgogICAgIC8vIFsxXSBMRE1MIGh0dHA6Ly91bmlj
b2RlLm9yZy9yZXBvcnRzL3RyMzUvI0RhdGVfRm9ybWF0X1BhdHRlcm5zCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5oCmluZGV4IGU1NjNmMjE1MDM0OGU4YTA1
MzBmY2RjMDQzNDM3N2VmNGMwNzUyZGQuLjQ0ZjIzNGZkMGY5ZGQ4ZWZjMjBjMjg1OWJiYjRmOWM3
OTg0NTM2NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xv
Y2FsZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1h
Yy5oCkBAIC02MCw2ICs2MCw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9J
TlBVVF9UWVBFUykKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlRm9ybWF0KCkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCBTdHJpbmcgbW9udGhGb3JtYXQoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFN0
cmluZyBzaG9ydE1vbnRoRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgdGlt
ZUZvcm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIHNob3J0VGltZUZvcm1hdCgp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIGRhdGVUaW1lRm9ybWF0V2l0aFNlY29uZHMo
KSBPVkVSUklERTsKQEAgLTkwLDYgKzkxLDcgQEAgcHJpdmF0ZToKIAogICAgIFN0cmluZyBtX2Rh
dGVGb3JtYXQ7CiAgICAgU3RyaW5nIG1fbW9udGhGb3JtYXQ7CisgICAgU3RyaW5nIG1fc2hvcnRN
b250aEZvcm1hdDsKICAgICBTdHJpbmcgbV90aW1lRm9ybWF0V2l0aFNlY29uZHM7CiAgICAgU3Ry
aW5nIG1fdGltZUZvcm1hdFdpdGhvdXRTZWNvbmRzOwogICAgIFN0cmluZyBtX2RhdGVUaW1lRm9y
bWF0V2l0aFNlY29uZHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L21hYy9Mb2NhbGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2Nh
bGVNYWMubW0KaW5kZXggZjExMmEwMmI2ZDliYmQ2MGU4ZTNhNTZlNDQ5NjAxMjJmZjFhYzcwZi4u
YjY5Nzg2OGNkNTNkMzA0NmI3ZTJhZWQ4NWZkNThhZGU4NWQ0YjFmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbQpAQCAtMjA0LDYgKzIwNCwxNiBA
QCBTdHJpbmcgTG9jYWxlTWFjOjptb250aEZvcm1hdCgpCiAgICAgcmV0dXJuIG1fbW9udGhGb3Jt
YXQ7CiB9CiAKK1N0cmluZyBMb2NhbGVNYWM6OnNob3J0TW9udGhGb3JtYXQoKQoreworICAgIGlm
ICghbV9zaG9ydE1vbnRoRm9ybWF0LmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbV9zaG9ydE1v
bnRoRm9ybWF0OworICAgIC8vIEdldHMgYSBmb3JtYXQgZm9yICJNTU1NIiBiZWNhdXNlIFdpbmRv
d3MgQVBJIGFsd2F5cyBwcm92aWRlcyBmb3JtYXRzIGZvcgorICAgIC8vICJNTU1NIiBpbiBzb21l
IGxvY2FsZXMuCisgICAgbV9zaG9ydE1vbnRoRm9ybWF0ID0gW05TRGF0ZUZvcm1hdHRlciBkYXRl
Rm9ybWF0RnJvbVRlbXBsYXRlOkAieXl5eU1NTSIgb3B0aW9uczowIGxvY2FsZTptX2xvY2FsZS5n
ZXQoKV07CisgICAgcmV0dXJuIG1fc2hvcnRNb250aEZvcm1hdDsKK30KKwogU3RyaW5nIExvY2Fs
ZU1hYzo6dGltZUZvcm1hdCgpCiB7CiAgICAgaWYgKCFtX3RpbWVGb3JtYXRXaXRoU2Vjb25kcy5p
c051bGwoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xv
Y2FsZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4u
Y3BwCmluZGV4IGUyZTNiZjU4MGFmOTM4ZWYwMGQxNDE5Yjk1MWQ1Y2Q1YTY4ZGIxODEuLjFmYWVl
MjY3M2I0NWU2MTJhMGIxOWU5M2JjMTg3YjRjZTZhYmI2M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmNwcApAQCAtNDI3LDYgKzQyNywxMyBAQCBT
dHJpbmcgTG9jYWxlV2luOjptb250aEZvcm1hdCgpCiAgICAgcmV0dXJuIG1fbW9udGhGb3JtYXQ7
CiB9CiAKK1N0cmluZyBMb2NhbGVXaW46OnNob3J0TW9udGhGb3JtYXQoKQoreworICAgIGlmICht
X3Nob3J0TW9udGhGb3JtYXQuaXNOdWxsKCkpCisgICAgICAgIG1fc2hvcnRNb250aEZvcm1hdCA9
IGNvbnZlcnRXaW5kb3dzRGF0ZVRpbWVGb3JtYXQoZ2V0TG9jYWxlSW5mb1N0cmluZyhMT0NBTEVf
U1lFQVJNT05USCkpLnJlcGxhY2UoIk1NTU0iLCAiTU1NIik7CisgICAgcmV0dXJuIG1fc2hvcnRN
b250aEZvcm1hdDsKK30KKwogU3RyaW5nIExvY2FsZVdpbjo6dGltZUZvcm1hdCgpCiB7CiAgICAg
aWYgKG1fdGltZUZvcm1hdFdpdGhTZWNvbmRzLmlzTnVsbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uaAppbmRleCBmNGE1M2YzMjUyMWI1YzU5Njk5YmMx
YTE3NGZkZGEwNTllZTY1YTNiLi4zY2NjM2UzOTZlNWI4NzhkNjk2MDM5OWY4NWYzMWExNzQ4MWQ1
Y2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVX
aW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uaApA
QCAtNTQsNiArNTQsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRf
VFlQRVMpCiAgICAgdmlydHVhbCBTdHJpbmcgZGF0ZUZvcm1hdCgpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgU3RyaW5nIG1vbnRoRm9ybWF0KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTdHJpbmcg
c2hvcnRNb250aEZvcm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIHRpbWVGb3Jt
YXQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBzaG9ydFRpbWVGb3JtYXQoKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlVGltZUZvcm1hdFdpdGhTZWNvbmRzKCkgT1ZF
UlJJREU7CkBAIC04NSw2ICs4Niw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFN0cmluZz4gbV9t
b250aExhYmVsczsKICAgICBTdHJpbmcgbV9kYXRlRm9ybWF0OwogICAgIFN0cmluZyBtX21vbnRo
Rm9ybWF0OworICAgIFN0cmluZyBtX3Nob3J0TW9udGhGb3JtYXQ7CiAgICAgU3RyaW5nIG1fdGlt
ZUZvcm1hdFdpdGhTZWNvbmRzOwogICAgIFN0cmluZyBtX3RpbWVGb3JtYXRXaXRob3V0U2Vjb25k
czsKICAgICBTdHJpbmcgbV9kYXRlVGltZUZvcm1hdFdpdGhTZWNvbmRzOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVNYWNUZXN0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlTWFjVGVzdC5jcHAKaW5kZXggY2IwMDEzOGI2YTQy
NTBiMzdkYWM3NTYwYjE3MmU0NmNjMTg2YzE3NS4uZjA2YjRlMTMzMTEyNDE3M2QyZjFkMjk4ZGFh
N2Y2MDQzNzNhYmYyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9M
b2NhbGVNYWNUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xvY2Fs
ZU1hY1Rlc3QuY3BwCkBAIC03OCwxMyArNzgsMTMgQEAgcHJvdGVjdGVkOgogICAgICAgICByZXR1
cm4gbG9jYWxlLT5mb3JtYXREYXRlVGltZShkYXRlKTsKICAgICB9CiAKLSAgICBTdHJpbmcgZm9y
bWF0TW9udGgoY29uc3QgU3RyaW5nJiBsb2NhbGVTdHJpbmcsIGNvbnN0IFN0cmluZyYgaXNvU3Ry
aW5nKQorICAgIFN0cmluZyBmb3JtYXRNb250aChjb25zdCBTdHJpbmcmIGxvY2FsZVN0cmluZywg
Y29uc3QgU3RyaW5nJiBpc29TdHJpbmcsIGJvb2wgdXNlU2hvcnRGb3JtYXQpCiAgICAgewogICAg
ICAgICBPd25QdHI8TG9jYWxlTWFjPiBsb2NhbGUgPSBMb2NhbGVNYWM6OmNyZWF0ZShsb2NhbGVT
dHJpbmcpOwogICAgICAgICBEYXRlQ29tcG9uZW50cyBkYXRlOwogICAgICAgICB1bnNpZ25lZCBl
bmQ7CiAgICAgICAgIGRhdGUucGFyc2VNb250aChpc29TdHJpbmcuY2hhcmFjdGVycygpLCBpc29T
dHJpbmcubGVuZ3RoKCksIDAsIGVuZCk7Ci0gICAgICAgIHJldHVybiBsb2NhbGUtPmZvcm1hdERh
dGVUaW1lKGRhdGUpOworICAgICAgICByZXR1cm4gbG9jYWxlLT5mb3JtYXREYXRlVGltZShkYXRl
LCAodXNlU2hvcnRGb3JtYXQgPyBMb2NhbGU6OkZvcm1hdFR5cGVTaG9ydCA6IExvY2FsZTo6Rm9y
bWF0VHlwZU1lZGl1bSkpOwogICAgIH0KIAogICAgIFN0cmluZyBmb3JtYXREYXRlKGNvbnN0IFN0
cmluZyYgbG9jYWxlU3RyaW5nLCBpbnQgeWVhciwgaW50IG1vbnRoLCBpbnQgZGF5KQpAQCAtMTg0
LDkgKzE4NCwxMyBAQCBURVNUX0YoTG9jYWxlTWFjVGVzdCwgZm9ybWF0V2VlaykKIAogVEVTVF9G
KExvY2FsZU1hY1Rlc3QsIGZvcm1hdE1vbnRoKQogewotICAgIEVYUEVDVF9TVFJFUSgiQXByaWwg
MjAwNSIsIGZvcm1hdE1vbnRoKCJlbl9VUyIsICIyMDA1LTA0IikudXRmOCgpLmRhdGEoKSk7Ci0g
ICAgRVhQRUNUX1NUUkVRKCJhdnJpbCAyMDA1IiwgZm9ybWF0TW9udGgoImZyX0ZSIiwgIjIwMDUt
MDQiKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIjIwMDVceEU1XHhCOVx4QjQi
ICIwNFx4RTZceDlDXHg4OCIsIGZvcm1hdE1vbnRoKCJqYV9KUCIsICIyMDA1LTA0IikudXRmOCgp
LmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCJBcHJpbCAyMDA1IiwgZm9ybWF0TW9udGgoImVu
X1VTIiwgIjIwMDUtMDQiLCBmYWxzZSkudXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVR
KCJhdnJpbCAyMDA1IiwgZm9ybWF0TW9udGgoImZyX0ZSIiwgIjIwMDUtMDQiLCBmYWxzZSkudXRm
OCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCIyMDA1XHhFNVx4QjlceEI0IiAiMDRceEU2
XHg5Q1x4ODgiLCBmb3JtYXRNb250aCgiamFfSlAiLCAiMjAwNS0wNCIsIGZhbHNlKS51dGY4KCku
ZGF0YSgpKTsKKworICAgIEVYUEVDVF9TVFJFUSgiQXByIDIwMDUiLCBmb3JtYXRNb250aCgiZW5f
VVMiLCAiMjAwNS0wNCIsIHRydWUpLnV0ZjgoKS5kYXRhKCkpOworICAgIEVYUEVDVF9TVFJFUSgi
YXZyLiAyMDA1IiwgZm9ybWF0TW9udGgoImZyX0ZSIiwgIjIwMDUtMDQiLCB0cnVlKS51dGY4KCku
ZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjIwMDVceEU1XHhCOVx4QjQiICIwNFx4RTZceDlD
XHg4OCIsIGZvcm1hdE1vbnRoKCJqYV9KUCIsICIyMDA1LTA0IiwgdHJ1ZSkudXRmOCgpLmRhdGEo
KSk7CiB9CiAKIFRFU1RfRihMb2NhbGVNYWNUZXN0LCBmb3JtYXREYXRlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188524</attachid>
            <date>2013-02-15 03:19:35 -0800</date>
            <delta_ts>2013-02-15 04:12:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109530-20130215201602.patch</filename>
            <type>text/plain</type>
            <size>17938</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyOTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTk1MTc5ZjVhMmJkMjhj
Mzg5ZWJkZjBhNTJiMjk2ODU4NGFhNWQ4ZS4uZGIzNTNiY2FlNzM2MTYyYmY3MTYxMmFjOWU0ZjZl
M2U0NmUxZTZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAyLTE0ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBzZXRWYWx1ZSBh
bmQgY2xvc2VQb3B1cCBtZXRob2RzIHRvIFBhZ2VQb3B1cENvbnRyb2xsZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTg5NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBuZXcgY2FsZW5kYXIgcGlj
a2VyIChCdWcgMTA5NDM5KSBuZWVkcyB0byBzZXQgYSB2YWx1ZSB3aXRob3V0CisgICAgICAgIGNs
b3NpbmcgdGhlIHBvcHVwLiBXZSBjYW4ndCBkbyB0aGF0IHdpdGggdGhlIGV4aXN0aW5nCisgICAg
ICAgIHNldFZhbHVlQW5kQ2xvc2VQb3B1cC4KKworICAgICAgICBObyBuZXcgdGVzdHMuIEV4aXN0
aW5nIGNhbGVuZGFyIHBpY2tlciBhbmQgY29sb3Igc3VnZ2VzdGlvbiBwaWNrZXIgdGVzdHMKKyAg
ICAgICAgdGhhdCBjbG9zaW5nIGFuZCBzZXR0aW5nIHZhbHVlcyB3b3JrIHByb3Blcmx5LgorCisg
ICAgICAgICogUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvcGlja2VyQ29tbW9uLmpzOgorICAgICAgICAo
UGlja2VyLnByb3RvdHlwZS5zdWJtaXRWYWx1ZSk6IFN0b3AgdXNpbmcgc2V0VmFsdWVBbmRDbG9z
ZVBvcHVwLgorICAgICAgICAoUGlja2VyLnByb3RvdHlwZS5oYW5kbGVDYW5jZWwpOiBEaXR0by4K
KyAgICAgICAgKiBwYWdlL1BhZ2VQb3B1cENsaWVudC5oOgorICAgICAgICAoUGFnZVBvcHVwQ2xp
ZW50KToKKyAgICAgICAgKiBwYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZVBvcHVwQ29udHJvbGxlcjo6c2V0VmFsdWUpOiBTZXRzIHZhbHVlIHRvIGVs
ZW1lbnQgd2l0aG91dCBjbG9zaW5nIHBvcHVwLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlUG9wdXBDb250cm9sbGVyOjpjbG9zZVBvcHVwKTogSnVzdCBjbG9zZXMg
cG9wdXAuCisgICAgICAgICogcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmg6CisgICAgICAgIChQ
YWdlUG9wdXBDb250cm9sbGVyKToKKyAgICAgICAgKiBwYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIu
aWRsOgorCiAyMDEzLTAyLTE0ICBBcnBpdGEgQmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFp
bC5jb20+CiAKICAgICAgICAgQ2FyZXQgcG9zaXRpb25lZCBhdCB0aGUgZW5kIG9mIGEgdGV4dCBs
aW5lIChmb2xsb3dlZCBieSBhbiBlbXB0eSBibG9jaykgaW4gdmVydGljYWwgd3JpdGluZyBtb2Rl
IGRpc2FwcGVhcnMgd2hlbiBwcmVzc2luZyB0aGUgcmlnaHQvZG93biBhcnJvdyBrZXkuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCA2ZjI2YTdiMzgzMjFiNmVjM2Q5MzljMWJlNDNk
MDc0YzhhZGIxMTE0Li40M2E1ZjVmYTQ2OGFiOTBhZTFkZTU0NmRmOGU2MWMwODgwZWRjZDFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMy0wMi0x
NCAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgc2V0
VmFsdWUgYW5kIGNsb3NlUG9wdXAgbWV0aG9kcyB0byBQYWdlUG9wdXBDb250cm9sbGVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk4OTcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0NvbG9yUGlja2VyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbG9yUGlja2Vy
Q2xpZW50OjpzZXRWYWx1ZSk6IEFkZGVkIGVtcHR5IGltcGxlbWVudGF0aW9uLgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ29sb3JQaWNrZXJDbGllbnQuaDoK
KyAgICAgICAgKENvbG9yUGlja2VyQ2xpZW50KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9E
YXRlUGlja2VyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVQaWNrZXJDbGllbnQ6
OnNldFZhbHVlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9EYXRlUGlja2VyQ2xpZW50Lmg6CisgICAgICAgIChEYXRlUGlja2VyQ2xpZW50KToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZWxlY3RQb3B1cENsaWVudDo6c2V0VmFsdWUpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1NlbGVjdFBvcHVwQ2xpZW50Lmg6
CisgICAgICAgIChTZWxlY3RQb3B1cENsaWVudCk6CisKIDIwMTMtMDItMTQgIE1pa2UgRmVudG9u
ICA8bWlmZW50b25AcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gVXBkYXRlIGtleWJv
YXJkIGV2ZW50IGRldGFpbHMgdG8gbWF0Y2ggcGxhdGZvcm0gZGV0YWlscy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggMWU1NWJjNGVhNmM5NjhlODcwZTc3MjI1ZmI0MjU4NDU4NjE2YjRl
My4uMTdkYTkxOTYxZTBiYzhkNzRhODc1ZWRlZWEyM2QwYWY1OGM4ZDk2MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMy0wMi0xNCAgS2Vpc2hpIEhhdHRv
cmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgc2V0VmFsdWUgYW5kIGNsb3Nl
UG9wdXAgbWV0aG9kcyB0byBQYWdlUG9wdXBDb250cm9sbGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk4OTcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9Db2xvckNob29zZXJQb3B1cFVJQ29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvbG9yQ2hvb3NlclBvcHVwVUlDb250cm9s
bGVyOjpzZXRWYWx1ZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHNyYy9Db2xvckNo
b29zZXJQb3B1cFVJQ29udHJvbGxlci5oOgorICAgICAgICAoQ29sb3JDaG9vc2VyUG9wdXBVSUNv
bnRyb2xsZXIpOgorICAgICAgICAqIHNyYy9EYXRlVGltZUNob29zZXJJbXBsLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6RGF0ZVRpbWVDaG9vc2VySW1wbDo6c2V0VmFsdWVBbmRDbG9zZVBvcHVwKTog
VXNlIHNldFZhbHVlIGFuZCBjbG9zZVBvcHVwLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAg
KFdlYktpdDo6RGF0ZVRpbWVDaG9vc2VySW1wbDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViS2l0
OjpEYXRlVGltZUNob29zZXJJbXBsOjpjbG9zZVBvcHVwKToKKyAgICAgICAgKiBzcmMvRGF0ZVRp
bWVDaG9vc2VySW1wbC5oOgorICAgICAgICAoRGF0ZVRpbWVDaG9vc2VySW1wbCk6CisKIDIwMTMt
MDItMTQgIERhdmlkIFRyYWlub3IgIDxkdHJhaW5vckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W2Nocm9taXVtXSBObyB0cmlnZ2VyaW5nIGF1dG9maWxsIG9uIHVuZm9jdXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL3BpY2tlckNvbW1vbi5qcyBiL1Nv
dXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL3BpY2tlckNvbW1vbi5qcwppbmRleCAx
NzBlY2IxNWIzZDMyNTYzY2QxN2ZmYTNlZGZjODNlNzRjNTY0NmNhLi43MDM0MzI5ZjgzMGY3NWVl
ZTRhNWVhM2ZkMzcwOTkzMzczZTFmNDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9SZXNv
dXJjZXMvcGFnZXBvcHVwcy9waWNrZXJDb21tb24uanMKKysrIGIvU291cmNlL1dlYkNvcmUvUmVz
b3VyY2VzL3BhZ2Vwb3B1cHMvcGlja2VyQ29tbW9uLmpzCkBAIC0yNDIsMTEgKzI0MiwxMiBAQCBQ
aWNrZXIuQWN0aW9ucyA9IHsKICAqIEBwYXJhbSB7IXN0cmluZ30gdmFsdWUKICAqLwogUGlja2Vy
LnByb3RvdHlwZS5zdWJtaXRWYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7Ci0gICAgd2luZG93LnBh
Z2VQb3B1cENvbnRyb2xsZXIuc2V0VmFsdWVBbmRDbG9zZVBvcHVwKFBpY2tlci5BY3Rpb25zLlNl
dFZhbHVlLCB2YWx1ZSk7CisgICAgd2luZG93LnBhZ2VQb3B1cENvbnRyb2xsZXIuc2V0VmFsdWUo
dmFsdWUpOworICAgIHdpbmRvdy5wYWdlUG9wdXBDb250cm9sbGVyLmNsb3NlUG9wdXAoKTsKIH0K
IAogUGlja2VyLnByb3RvdHlwZS5oYW5kbGVDYW5jZWwgPSBmdW5jdGlvbigpIHsKLSAgICB3aW5k
b3cucGFnZVBvcHVwQ29udHJvbGxlci5zZXRWYWx1ZUFuZENsb3NlUG9wdXAoUGlja2VyLkFjdGlv
bnMuQ2FuY2VsLCAiIik7CisgICAgd2luZG93LnBhZ2VQb3B1cENvbnRyb2xsZXIuY2xvc2VQb3B1
cCgpOwogfQogCiBQaWNrZXIucHJvdG90eXBlLmNob29zZU90aGVyQ29sb3IgPSBmdW5jdGlvbigp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ2xpZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENsaWVudC5oCmluZGV4IDM5MWM4ZjgzZTdjYmFm
NTI4YTA1MDIyNDcyNmU4ZjMzMjA0MTlmNjkuLmIzMjRjZmJkYmU5ZDI3YWE5ZTk0ZWI0MjFiZWRh
ZjdhNzYwYjg0ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDbGllbnQuaApAQCAtNjAs
NiArNjAsMTIgQEAgcHVibGljOgogICAgIC8vIEFuIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVu
Y3Rpb24gc2hvdWxkIGNhbGwgQ2hyb21lQ2xpZW50OjpjbG9zZVBhZ2VQb3B1cCgpLgogICAgIHZp
cnR1YWwgdm9pZCBzZXRWYWx1ZUFuZENsb3NlUG9wdXAoaW50IG51bVZhbHVlLCBjb25zdCBTdHJp
bmcmIHN0cmluZ1ZhbHVlKSA9IDA7CiAKKyAgICAvLyBUaGlzIGlzIGNhbGxlZCBieSB0aGUgY29u
dGVudCBIVE1MIG9mIGEgUGFnZVBvcHVwLgorICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZShjb25z
dCBTdHJpbmcmKSA9IDA7CisKKyAgICAvLyBUaGlzIGlzIGNhbGxlZCBieSB0aGUgY29udGVudCBI
VE1MIG9mIGEgUGFnZVBvcHVwLgorICAgIHZpcnR1YWwgdm9pZCBjbG9zZVBvcHVwKCkgPSAwOwor
CiAgICAgLy8gVGhpcyBpcyBjYWxsZWQgd2hlbmV2ZXIgYSBQYWdlUG9wdXAgd2FzIGNsb3NlZC4K
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2VQb3B1cCgpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZVBvcHVwQ29udHJvbGxlci5jcHAKaW5kZXggZGJlNzUyMjRiNjJhNDQwYmQ3YmQ3
N2M0MmVlNThjMmMxMGM4NDc3Ny4uMWNiYTZiMTA1NWU1MDYyODRiMmUwYjI0NDdiMjllYjg0YjI4
ZmNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuY3BwCkBA
IC01NSw2ICs1NSwxOCBAQCB2b2lkIFBhZ2VQb3B1cENvbnRyb2xsZXI6OnNldFZhbHVlQW5kQ2xv
c2VQb3B1cChpbnQgbnVtVmFsdWUsIGNvbnN0IFN0cmluZyYgc3RyaQogICAgICAgICBtX3BvcHVw
Q2xpZW50LT5zZXRWYWx1ZUFuZENsb3NlUG9wdXAobnVtVmFsdWUsIHN0cmluZ1ZhbHVlKTsKIH0K
IAordm9pZCBQYWdlUG9wdXBDb250cm9sbGVyOjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVl
KQoreworICAgIGlmIChtX3BvcHVwQ2xpZW50KQorICAgICAgICBtX3BvcHVwQ2xpZW50LT5zZXRW
YWx1ZSh2YWx1ZSk7Cit9CisKK3ZvaWQgUGFnZVBvcHVwQ29udHJvbGxlcjo6Y2xvc2VQb3B1cCgp
Cit7CisgICAgaWYgKG1fcG9wdXBDbGllbnQpCisgICAgICAgIG1fcG9wdXBDbGllbnQtPmNsb3Nl
UG9wdXAoKTsKK30KKwogU3RyaW5nIFBhZ2VQb3B1cENvbnRyb2xsZXI6OmxvY2FsaXplTnVtYmVy
U3RyaW5nKGNvbnN0IFN0cmluZyYgbnVtYmVyU3RyaW5nKQogewogICAgIGlmIChtX3BvcHVwQ2xp
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuaAppbmRleCAxOWRl
NDgwNDM1MmQxOWY0Y2IyY2EyZGM0YWVhOTk5NDE1MTExZGI1Li4xNTA3YTRkNTMzMzE2NDZmMmE1
MzllYWQ1NTY3YWE0NDhjM2QwZWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VQb3B1cENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENv
bnRyb2xsZXIuaApAQCAtNDQsNiArNDQsOCBAQCBjbGFzcyBQYWdlUG9wdXBDb250cm9sbGVyIDog
cHVibGljIFJlZkNvdW50ZWQ8UGFnZVBvcHVwQ29udHJvbGxlcj4gewogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFBhZ2VQb3B1cENvbnRyb2xsZXI+IGNyZWF0ZShQYWdlUG9wdXBDbGll
bnQqKTsKICAgICB2b2lkIHNldFZhbHVlQW5kQ2xvc2VQb3B1cChpbnQgbnVtVmFsdWUsIGNvbnN0
IFN0cmluZyYgc3RyaW5nVmFsdWUpOworICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJik7
CisgICAgdm9pZCBjbG9zZVBvcHVwKCk7CiAgICAgU3RyaW5nIGxvY2FsaXplTnVtYmVyU3RyaW5n
KGNvbnN0IFN0cmluZyYpOwogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAgU3RyaW5n
IGZvcm1hdE1vbnRoKGludCB5ZWFyLCBpbnQgemVyb0Jhc2VNb250aCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuaWRsIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmlkbAppbmRleCAwM2Y0NzI4NmIzMWJlYjE4ZTU3
YjNmOTczYjRjZTg3M2ZmODU5NjZhLi5jZmRhMjk1NDdiOTI4NjgzYjY4Mjg4ZTQxMzgzZmJhYjFi
NzliYzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xs
ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ29udHJvbGxlci5pZGwK
QEAgLTMzLDYgKzMzLDggQEAKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVy
ZmFjZSBQYWdlUG9wdXBDb250cm9sbGVyIHsKICAgICB2b2lkIHNldFZhbHVlQW5kQ2xvc2VQb3B1
cChpbiBsb25nIG51bWJlclZhbHVlLCBpbiBET01TdHJpbmcgc3RyaW5nVmFsdWUpOworICAgIHZv
aWQgc2V0VmFsdWUoaW4gRE9NU3RyaW5nIHZhbHVlKTsKKyAgICB2b2lkIGNsb3NlUG9wdXAoKTsK
ICAgICBET01TdHJpbmcgbG9jYWxpemVOdW1iZXJTdHJpbmcoaW4gRE9NU3RyaW5nIG51bWJlclN0
cmluZyk7CiAgICAgW0NvbmRpdGlvbmFsPUNBTEVOREFSX1BJQ0tFUl0gRE9NU3RyaW5nIGZvcm1h
dE1vbnRoKGluIGxvbmcgeWVhciwgaW4gbG9uZyB6ZXJvQmFzZU1vbnRoKTsKICAgICB2b2lkIGhp
c3RvZ3JhbUVudW1lcmF0aW9uKERPTVN0cmluZyBuYW1lLCBsb25nIHNhbXBsZSwgbG9uZyBib3Vu
ZGFyeVZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9Db2xvclBpY2tlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
V2ViQ29yZVN1cHBvcnQvQ29sb3JQaWNrZXJDbGllbnQuY3BwCmluZGV4IGRmYzg5M2ZkMjU5MzMz
ZTNlYjQ3YTQxM2ZhMDBmNTE3YzViZTMyNTQuLjhiZTA2NjRkNWQ3ZTFjY2RjZjYxZGIxODdmOWJm
NWVmZTcyOTczZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9Db2xvclBpY2tlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L1dlYkNvcmVTdXBwb3J0L0NvbG9yUGlja2VyQ2xpZW50LmNwcApAQCAtMjQsNiArMjQsNyBA
QAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRXcml0ZXIuaCIKICNp
bmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIK
ICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZVBvcHVwLmgiCiAjaW5jbHVkZSAiUG9w
dXBQaWNrZXIuaCIKQEAgLTk4LDYgKzk5LDExIEBAIHZvaWQgQ29sb3JQaWNrZXJDbGllbnQ6OnNl
dFZhbHVlQW5kQ2xvc2VQb3B1cChpbnQsIGNvbnN0IFN0cmluZyYgdmFsdWUpCiAgICAgY2xvc2VQ
b3B1cCgpOwogfQogCit2b2lkIENvbG9yUGlja2VyQ2xpZW50OjpzZXRWYWx1ZShjb25zdCBTdHJp
bmcmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQgQ29sb3JQaWNrZXJDbGll
bnQ6OmRpZENsb3NlUG9wdXAoKQogewogICAgIG1fd2ViUGFnZSA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ29sb3JQaWNrZXJDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9Db2xvclBpY2tlckNs
aWVudC5oCmluZGV4IDJlNmZiYmU3NzkxMGJlODM2MjVhMTUwZDZkZTdjOTE4YjNhYmI1NDYuLjA0
ZjA2ODcwZDg3ZmE5M2FlYTNkNGVmMzdkYTY1OWMyYjQ2ZDBkNmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9Db2xvclBpY2tlckNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9Db2xvclBpY2tlckNs
aWVudC5oCkBAIC00NiwxMSArNDYsMTEgQEAgcHVibGljOgogICAgIFN0cmluZyBodG1sU291cmNl
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBMb2NhbGl6ZXImIGxvY2FsaXplcigpOwogICAgIHZvaWQg
c2V0VmFsdWVBbmRDbG9zZVBvcHVwKGludCwgY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRW
YWx1ZShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIGNsb3NlUG9wdXAoKTsKICAgICB2b2lkIGRp
ZENsb3NlUG9wdXAoKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGNsb3NlUG9wdXAoKTsKLQogICAg
IFN0cmluZyBtX3NvdXJjZTsKICAgICBCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRl
KiBtX3dlYlBhZ2U7CiAgICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fZWxlbWVudDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9EYXRlUGlj
a2VyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9E
YXRlUGlja2VyQ2xpZW50LmNwcAppbmRleCBkNzNkODRlZTZlYWEzMDZjNDc2MmM3Mzg5MWUxNzc5
NGZjN2IzOGZkLi4wYjM4ZGYwNDY1NWYwMjQwYmRkNzJkNzAzYWI0NzY5NzNjZTcwYTEwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRGF0ZVBpY2tl
ckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0
L0RhdGVQaWNrZXJDbGllbnQuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiRG9jdW1l
bnRXcml0ZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1l
bnQuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNp
bmNsdWRlICJQYWdlUG9wdXAuaCIKICNpbmNsdWRlICJQb3B1cFBpY2tlci5oIgpAQCAtMTM3LDYg
KzEzOCwxMSBAQCB2b2lkIERhdGVQaWNrZXJDbGllbnQ6OnNldFZhbHVlQW5kQ2xvc2VQb3B1cChp
bnQsIGNvbnN0IFN0cmluZyYgdmFsdWUpCiAgICAgY2xvc2VQb3B1cCgpOwogfQogCit2b2lkIERh
dGVQaWNrZXJDbGllbnQ6OnNldFZhbHVlKGludCwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIERhdGVQaWNrZXJDbGllbnQ6OmRpZENsb3Nl
UG9wdXAoKQogewogICAgIG1fd2ViUGFnZSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRGF0ZVBpY2tlckNsaWVudC5oIGIvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0RhdGVQaWNrZXJDbGllbnQuaAppbmRleCA2
NmIyMGM5YzhiZTg5YTk5ZDRlZWNjZTg4MmZjNzVkMmMwMWIxYTc5Li4wZTIxNTQxNjc0MGIwZjE3
Y2FhNDQzMmYwNjY4ZTU4YTFhYmFmNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvV2ViQ29yZVN1cHBvcnQvRGF0ZVBpY2tlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9EYXRlUGlja2VyQ2xpZW50LmgKQEAgLTQ4LDYg
KzQ4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGh0bWxTb3VyY2UoKTsKICAgICB2
aXJ0dWFsIExvY2FsaXplciYgbG9jYWxpemVyKCk7CiAgICAgdm9pZCBzZXRWYWx1ZUFuZENsb3Nl
UG9wdXAoaW50LCBjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmlu
ZyYpOwogICAgIHZvaWQgZGlkQ2xvc2VQb3B1cCgpOwogICAgIHZvaWQgY2xvc2VQb3B1cCgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvU2Vs
ZWN0UG9wdXBDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L1NlbGVjdFBvcHVwQ2xpZW50LmNwcAppbmRleCBiMWFmNmZhNjM4ZDM3NTdkYmE1MzZhNzc3
NjBlYzJjNDBkNGM1NGMzLi4zZmQ5MmY3ZmI4ZjcyZTBiNWJkNzNmNmJkYzlmN2I5ZGFhNDQwOTY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvU2Vs
ZWN0UG9wdXBDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRl
ICJEb2N1bWVudFdyaXRlci5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5j
bHVkZSAiSFRNTFNlbGVjdEVsZW1lbnQuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgog
I2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlUG9wdXAuaCIKICNpbmNsdWRlICJQb3B1
cFBpY2tlci5oIgpAQCAtMTk1LDYgKzE5NiwxMSBAQCB2b2lkIFNlbGVjdFBvcHVwQ2xpZW50Ojpz
ZXRWYWx1ZUFuZENsb3NlUG9wdXAoaW50LCBjb25zdCBTdHJpbmcmIHN0cmluZ1ZhbHVlKQogICAg
IG1fbm90aWZ5Q2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCit2b2lkIFNlbGVjdFBv
cHVwQ2xpZW50OjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmKQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKIHZvaWQgU2VsZWN0UG9wdXBDbGllbnQ6OmRpZENsb3NlUG9wdXAoKQogewogICAg
IG1fd2ViUGFnZSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvU2VsZWN0UG9wdXBDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9XZWJDb3JlU3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5oCmluZGV4IGIxMzlhZWVkM2NkNmQx
NTY0ZDNmYmZjMWVlZWU5ODU2NWUyNTE0N2IuLmY5MGY2NTM1NDAzNmJhMDVjZWFhNWJiZjgyZTI0
MWE3MDBmODNhNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9XZWJDb3JlU3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5oCkBAIC01NSw4ICs1NSw5IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBodG1sU291cmNlKCk7CiAgICAgdmlydHVhbCBMb2Nh
bGl6ZXImIGxvY2FsaXplcigpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZUFuZENsb3NlUG9w
dXAoaW50LCBjb25zdCBTdHJpbmcmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWUoY29uc3Qg
U3RyaW5nJik7CisgICAgdmlydHVhbCB2b2lkIGNsb3NlUG9wdXAoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkQ2xvc2VQb3B1cCgpOwotICAgIHZvaWQgY2xvc2VQb3B1cCgpOwogCiAgICAgYm9vbCBt
X211bHRpcGxlOwogICAgIHVuc2lnbmVkIG1fc2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0NvbG9yQ2hvb3NlclBvcHVwVUlDb250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbG9yQ2hvb3NlclBvcHVwVUlDb250cm9sbGVyLmNwcApp
bmRleCA2OTQ0ZWFlNjljYzQ1Y2JjNjVlMTBiN2I1ZGYzZDM3NTNiZDU5OGNiLi5jNDlmYjk1YWM5
MjA2MThmNDVlYmI1OGE1MDBjZjkxZGJmNzg2NzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9Db2xvckNob29zZXJQb3B1cFVJQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ29sb3JDaG9vc2VyUG9wdXBVSUNvbnRyb2xsZXIuY3Bw
CkBAIC0xMjIsNiArMTIyLDEyIEBAIHZvaWQgQ29sb3JDaG9vc2VyUG9wdXBVSUNvbnRyb2xsZXI6
OnNldFZhbHVlQW5kQ2xvc2VQb3B1cChpbnQgbnVtVmFsdWUsIGNvbnN0IFN0CiAgICAgY2xvc2VQ
b3B1cCgpOwogfQogCit2b2lkIENvbG9yQ2hvb3NlclBvcHVwVUlDb250cm9sbGVyOjpzZXRWYWx1
ZShjb25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIEFTU0VSVChtX2NsaWVudCk7CisgICAgbV9j
bGllbnQtPmRpZENob29zZUNvbG9yKENvbG9yKHZhbHVlKSk7Cit9CisKIHZvaWQgQ29sb3JDaG9v
c2VyUG9wdXBVSUNvbnRyb2xsZXI6OmRpZENsb3NlUG9wdXAoKQogewogICAgIG1fcG9wdXAgPSAw
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ29sb3JDaG9vc2VyUG9w
dXBVSUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbG9yQ2hvb3Nl
clBvcHVwVUlDb250cm9sbGVyLmgKaW5kZXggYzRkNTg0OGM0YjkxMDhjZWVhMjJlN2I3YjgxYzcz
Nzg5MDljYTY5ZC4uNGVhZjhmOTY3OTc0NDFlYTg3NmI3ZTRkODA4NDk3ZDg3ZDVkZTNhYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ29sb3JDaG9vc2VyUG9wdXBVSUNv
bnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Db2xvckNob29zZXJQ
b3B1cFVJQ29udHJvbGxlci5oCkBAIC01NCwxMSArNTQsMTIgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCB3cml0ZURvY3VtZW50KFdlYkNvcmU6OkRvY3VtZW50V3JpdGVyJikgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBXZWJDb3JlOjpMb2NhbGUmIGxvY2FsZSgpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCBzZXRWYWx1ZUFuZENsb3NlUG9wdXAoaW50LCBjb25zdCBTdHJpbmcmKSBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJikgT1ZFUlJJREU7
CisgICAgdmlydHVhbCB2b2lkIGNsb3NlUG9wdXAoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkQ2xvc2VQb3B1cCgpIE9WRVJSSURFOwogCiBwcml2YXRlOgogICAgIHZvaWQgb3BlblBv
cHVwKCk7Ci0gICAgdm9pZCBjbG9zZVBvcHVwKCk7CiAKICAgICBDaHJvbWVDbGllbnRJbXBsKiBt
X2Nocm9tZUNsaWVudDsKICAgICBXZWJDb3JlOjpDb2xvckNob29zZXJDbGllbnQqIG1fY2xpZW50
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGF0ZVRpbWVDaG9vc2Vy
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBs
LmNwcAppbmRleCA3Y2U1ZjBhOGNmMzFiMzdkNWJlYzYzODMyZDM5MGZjNTViNjUyOTM1Li42ZTVh
YWQyMTk5NWEzMGZiYTY3ZDY1OTc1ZDcwN2Y0ZTdmZDE4ZTFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmNwcApAQCAtMTY5LDcgKzE2
OSwxNyBAQCB2b2lkIERhdGVUaW1lQ2hvb3NlckltcGw6OnNldFZhbHVlQW5kQ2xvc2VQb3B1cChp
bnQgbnVtVmFsdWUsIGNvbnN0IFN0cmluZyYgc3RyaQogewogICAgIFJlZlB0cjxEYXRlVGltZUNo
b29zZXJJbXBsPiBwcm90ZWN0b3IodGhpcyk7CiAgICAgaWYgKG51bVZhbHVlID49IDApCi0gICAg
ICAgIG1fY2xpZW50LT5kaWRDaG9vc2VWYWx1ZShzdHJpbmdWYWx1ZSk7CisgICAgICAgIHNldFZh
bHVlKHN0cmluZ1ZhbHVlKTsKKyAgICBlbmRDaG9vc2VyKCk7Cit9CisKK3ZvaWQgRGF0ZVRpbWVD
aG9vc2VySW1wbDo6c2V0VmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBtX2NsaWVu
dC0+ZGlkQ2hvb3NlVmFsdWUodmFsdWUpOworfQorCit2b2lkIERhdGVUaW1lQ2hvb3NlckltcGw6
OmNsb3NlUG9wdXAoKQorewogICAgIGVuZENob29zZXIoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGF0ZVRpbWVDaG9vc2VySW1wbC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvRGF0ZVRpbWVDaG9vc2VySW1wbC5oCmluZGV4IDIyNDM1ODYyM2E4
YWFhNWFiZTEzZDJjMWM4MTJmNzhhZjA2ZDRlNzcuLjAzMDc4OTM2MjU3OGU3N2JkOGI0MTI2NDg3
NjYwZGFhZTVjZjI1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Rh
dGVUaW1lQ2hvb3NlckltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRl
VGltZUNob29zZXJJbXBsLmgKQEAgLTU5LDYgKzU5LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IHZvaWQgd3JpdGVEb2N1bWVudChXZWJDb3JlOjpEb2N1bWVudFdyaXRlciYpIE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgV2ViQ29yZTo6TG9jYWxlJiBsb2NhbGUoKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0VmFsdWVBbmRDbG9zZVBvcHVwKGludCwgY29uc3QgU3RyaW5nJikgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmluZyYpIE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgdm9pZCBjbG9zZVBvcHVwKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lk
IGRpZENsb3NlUG9wdXAoKSBPVkVSUklERTsKIAogICAgIENocm9tZUNsaWVudEltcGwqIG1fY2hy
b21lQ2xpZW50OwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGVjNTQ0
NWVkMzJlZjA1NzM0MjM1YWYzOWNkNGNjYWE3Nzg5Zjg0ODAuLmNkODc1ZjgwZWE5ZDdkZWY5YTE4
MmI0NzY2ZTgzOGVhMTg4MGY3ODIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMi0xNCAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlA
d2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgc2V0VmFsdWUgYW5kIGNsb3NlUG9wdXAgbWV0aG9k
cyB0byBQYWdlUG9wdXBDb250cm9sbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDk4OTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIE1hbnVhbFRlc3RzL2Zvcm1zL2NhbGVuZGFyLXBpY2tlci5odG1s
OiBBZGRlZCBtb2NrIHNldFZhbHVlIGFuZCBjbG9zZVBvcHVwIGltcGxlbWVudGF0aW9uLgorICAg
ICAgICAqIE1hbnVhbFRlc3RzL2Zvcm1zL2NvbG9yLXN1Z2dlc3Rpb24tcGlja2VyLmh0bWw6IERp
dHRvLgorCiAyMDEzLTAyLTA4ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogZXhwb3NlIGRpZHtCZWdpbixDYW5jZWx9RnJhbWUo
KSBhbmQge3dpbGwsZGlkfUNvbXBvc2l0ZSgpIG9uIFdlYkRlYlRvb2xzQWdlbnQKZGlmZiAtLWdp
dCBhL01hbnVhbFRlc3RzL2Zvcm1zL2NhbGVuZGFyLXBpY2tlci5odG1sIGIvTWFudWFsVGVzdHMv
Zm9ybXMvY2FsZW5kYXItcGlja2VyLmh0bWwKaW5kZXggMjBlMTRhODExOTJlMWUzYTNlNDQ2Mjhj
OTFlZDkyNjk2NTc5ODlmZi4uMmRkNWYxNzc0OWMxODNkNzIyYjAzM2U2M2ZkZWU1YzVhNDM3ZWQ2
YiAxMDA2NDQKLS0tIGEvTWFudWFsVGVzdHMvZm9ybXMvY2FsZW5kYXItcGlja2VyLmh0bWwKKysr
IGIvTWFudWFsVGVzdHMvZm9ybXMvY2FsZW5kYXItcGlja2VyLmh0bWwKQEAgLTI5NCw2ICsyOTQs
MTIgQEAgZnVuY3Rpb24gb3BlbkNhbGVuZGFyKGFyZ3MpIHsKICAgICAgICAgICAgIGlmIChudW1W
YWx1ZSA9PSAwKQogICAgICAgICAgICAgICAgIHdpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnZGF0ZScpLnZhbHVlID0gc3RyaW5nVmFsdWU7CiAgICAgICAgIH0sCisgICAgICAgIHNldFZh
bHVlOiBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgICAgICAgd2luZG93LmxvZygndmFsdWU9Iicg
KyB2YWx1ZSArICciJyk7CisgICAgICAgICAgICB3aW5kb3cuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2RhdGUnKS52YWx1ZSA9IHZhbHVlOworICAgICAgICB9LAorICAgICAgICBjbG9zZVBvcHVw
OiBmdW5jdGlvbigpIHsKKyAgICAgICAgfSwKICAgICAgICAgbG9jYWxpemVOdW1iZXJTdHJpbmc6
IGZ1bmN0aW9uKG51bVN0cmluZykgewogICAgICAgICAgICAgaWYgKHR5cGVvZiBudW1TdHJpbmcg
PT0gIm51bWJlciIpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bVN0cmluZy50b0xvY2FsZVN0
cmluZygpOwpkaWZmIC0tZ2l0IGEvTWFudWFsVGVzdHMvZm9ybXMvY29sb3Itc3VnZ2VzdGlvbi1w
aWNrZXIuaHRtbCBiL01hbnVhbFRlc3RzL2Zvcm1zL2NvbG9yLXN1Z2dlc3Rpb24tcGlja2VyLmh0
bWwKaW5kZXggZGVkNGU3Y2I3Y2Y4Y2QxOWIxODVhYWIzZGRhNzRjZGZlMTM1MDk2YS4uODkzNGFl
MTExOTU5YjM1MmU4MDM4YTg3YzA2MjdjNmNjYTQ4OTJkZCAxMDA2NDQKLS0tIGEvTWFudWFsVGVz
dHMvZm9ybXMvY29sb3Itc3VnZ2VzdGlvbi1waWNrZXIuaHRtbAorKysgYi9NYW51YWxUZXN0cy9m
b3Jtcy9jb2xvci1zdWdnZXN0aW9uLXBpY2tlci5odG1sCkBAIC01Niw3ICs1NiwxMyBAQCBmdW5j
dGlvbiBvcGVuQ29sb3JQaWNrZXIoYXJncykgewogICAgICAgICAgICAgd2luZG93LmxvZygnbnVt
YmVyPScgKyBudW1WYWx1ZSArICcsIHN0cmluZz0iJyArIHN0cmluZ1ZhbHVlICsgJyInKTsKICAg
ICAgICAgICAgIGlmIChudW1WYWx1ZSA9PT0gMCkKICAgICAgICAgICAgICAgICB3aW5kb3cuZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbG9yJykudmFsdWUgPSBzdHJpbmdWYWx1ZTsKLSAgICAg
ICAgfQorICAgICAgICB9LAorICAgICAgICBzZXRWYWx1ZTogZnVuY3Rpb24odmFsdWUpIHsKKyAg
ICAgICAgICAgIHdpbmRvdy5sb2coJ3ZhbHVlPSInICsgdmFsdWUgKyAnIicpOworICAgICAgICAg
ICAgd2luZG93LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb2xvcicpLnZhbHVlID0gdmFsdWU7
CisgICAgICAgIH0sCisgICAgICAgIGNsb3NlUG9wdXA6IGZ1bmN0aW9uKCkgeworICAgICAgICB9
LAogICAgIH0KIAogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188533</attachid>
            <date>2013-02-15 04:12:45 -0800</date>
            <delta_ts>2013-02-15 06:06:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109530-20130215210911.patch</filename>
            <type>text/plain</type>
            <size>14905</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyOTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTk1MTc5ZjVhMmJkMjhj
Mzg5ZWJkZjBhNTJiMjk2ODU4NGFhNWQ4ZS4uNTM1NTgwMWY0ZWRhMDU5NWI5NzMxNDMzMDAyN2Q0
YWQyNDU1NDkxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEzLTAyLTE1ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIFBhZ2VQb3B1cENvbnRy
b2xsZXIuZm9ybWF0TW9udGggc2hvdWxkIHN1cHBvcnQgc2hvcnQgbW9udGggZm9ybWF0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1MzAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYWdlUG9wdXBDb250
cm9sbGVyLmZvcm1hdE1vbnRoIHNob3VsZCBzdXBwb3J0IHNob3J0IG1vbnRoIGZvcm1hdCBzbyB3
ZQorICAgICAgICBjYW4gdXNlIGl0IGluIHRoZSBuZXcgY2FsZW5kYXIgcGlja2VyLgorCisgICAg
ICAgIFRlc3RlZCBieSBMb2NhbGVNYWNUZXN0Ojpmb3JtYXRNb250aC4KKworICAgICAgICAqIHBh
Z2UvUGFnZVBvcHVwQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlUG9wdXBD
b250cm9sbGVyOjpmb3JtYXRNb250aCk6IFRha2UgYW4gZXh0cmEgYm9vbCBhcmd1bWVudCB0byBz
d2l0Y2ggdG8gc2hvcnQgbW9udGggZm9ybWF0LgorICAgICAgICAqIHBhZ2UvUGFnZVBvcHVwQ29u
dHJvbGxlci5oOgorICAgICAgICAoUGFnZVBvcHVwQ29udHJvbGxlcik6CisgICAgICAgICogcGFn
ZS9QYWdlUG9wdXBDb250cm9sbGVyLmlkbDoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2Fs
ZUlDVS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbGVJQ1U6OnNob3J0TW9udGhGb3JtYXQp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1Uu
aDoKKyAgICAgICAgKExvY2FsZUlDVSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVO
b25lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3J0TW9udGhGb3JtYXQpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVN0cmluZ0J1aWxkZXI6OnZpc2l0RmllbGQpOgorICAg
ICAgICAoV2ViQ29yZTo6TG9jYWxlOjpmb3JtYXREYXRlVGltZSk6CisgICAgICAgICogcGxhdGZv
cm0vdGV4dC9QbGF0Zm9ybUxvY2FsZS5oOgorICAgICAgICAoTG9jYWxlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaDoKKyAgICAgICAgKExvY2FsZU1hYyk6CisgICAg
ICAgICogcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6
TG9jYWxlTWFjOjpzaG9ydE1vbnRoRm9ybWF0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIHBsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
b2NhbGVXaW46OnNob3J0TW9udGhGb3JtYXQpOiBXaW5kb3dzIGRvZXNuJ3QgaGF2ZSBhIHNob3J0
CisgICAgICAgIG1vbnRoIGZvcm1hdCBzbyB3ZSBqdXN0IHJlcGxhY2UgTU1NTSB3aXRoIE1NTS4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdp
bi5oOgorICAgICAgICAoTG9jYWxlV2luKToKKwogMjAxMy0wMi0xNCAgQXJwaXRhIEJhaHVndW5h
ICA8YXJwaXRhYmFodWd1bmFAZ21haWwuY29tPgogCiAgICAgICAgIENhcmV0IHBvc2l0aW9uZWQg
YXQgdGhlIGVuZCBvZiBhIHRleHQgbGluZSAoZm9sbG93ZWQgYnkgYW4gZW1wdHkgYmxvY2spIGlu
IHZlcnRpY2FsIHdyaXRpbmcgbW9kZSBkaXNhcHBlYXJzIHdoZW4gcHJlc3NpbmcgdGhlIHJpZ2h0
L2Rvd24gYXJyb3cga2V5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAxZTU1YmM0ZWE2
Yzk2OGU4NzBlNzcyMjVmYjQyNTg0NTg2MTZiNGUzLi4zN2Q2OTVmMTljN2RmYmQwY2UxYjkxMzJi
ZTlhMDJmZGQ5NTU4MDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDEzLTAyLTE1ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisg
ICAgICAgIFBhZ2VQb3B1cENvbnRyb2xsZXIuZm9ybWF0TW9udGggc2hvdWxkIHN1cHBvcnQgc2hv
cnQgbW9udGggZm9ybWF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDk1MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHRlc3RzL0xvY2FsZU1hY1Rlc3QuY3BwOgorICAgICAgICAoTG9jYWxlTWFjVGVz
dDo6Zm9ybWF0TW9udGgpOgorICAgICAgICAoVEVTVF9GKToKKwogMjAxMy0wMi0xNCAgRGF2aWQg
VHJhaW5vciAgPGR0cmFpbm9yQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIE5v
IHRyaWdnZXJpbmcgYXV0b2ZpbGwgb24gdW5mb2N1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZVBvcHVwQ29udHJvbGxlci5jcHAKaW5kZXggZGJlNzUyMjRiNjJhNDQwYmQ3YmQ3N2M0MmVlNThj
MmMxMGM4NDc3Ny4uOTcyOTk2YzlhMjQ4MWI0ZjJlM2VjNjVjODkxMWI3YjA2ZDg3MDRiMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuY3BwCkBAIC02OSw3ICs2
OSwxNiBAQCBTdHJpbmcgUGFnZVBvcHVwQ29udHJvbGxlcjo6Zm9ybWF0TW9udGgoaW50IHllYXIs
IGludCB6ZXJvQmFzZU1vbnRoKQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKICAgICBE
YXRlQ29tcG9uZW50cyBkYXRlOwogICAgIGRhdGUuc2V0TW9udGhzU2luY2VFcG9jaCgoeWVhciAt
IDE5NzApICogMTIuMCArIHplcm9CYXNlTW9udGgpOwotICAgIHJldHVybiBtX3BvcHVwQ2xpZW50
LT5sb2NhbGUoKS5mb3JtYXREYXRlVGltZShkYXRlKTsKKyAgICByZXR1cm4gbV9wb3B1cENsaWVu
dC0+bG9jYWxlKCkuZm9ybWF0RGF0ZVRpbWUoZGF0ZSwgTG9jYWxlOjpGb3JtYXRUeXBlTWVkaXVt
KTsKK30KKworU3RyaW5nIFBhZ2VQb3B1cENvbnRyb2xsZXI6OmZvcm1hdFNob3J0TW9udGgoaW50
IHllYXIsIGludCB6ZXJvQmFzZU1vbnRoKQoreworICAgIGlmICghbV9wb3B1cENsaWVudCkKKyAg
ICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgRGF0ZUNvbXBvbmVudHMgZGF0ZTsKKyAg
ICBkYXRlLnNldE1vbnRoc1NpbmNlRXBvY2goKHllYXIgLSAxOTcwKSAqIDEyLjAgKyB6ZXJvQmFz
ZU1vbnRoKTsKKyAgICByZXR1cm4gbV9wb3B1cENsaWVudC0+bG9jYWxlKCkuZm9ybWF0RGF0ZVRp
bWUoZGF0ZSwgTG9jYWxlOjpGb3JtYXRUeXBlU2hvcnQpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ29udHJvbGxlci5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmgKaW5kZXggMTlkZTQ4MDQzNTJkMTlmNGNi
MmNhMmRjNGFlYTk5OTQxNTExMWRiNS4uNDgxYzViYWI5OWJkY2ExYTc0MjdmOTk4MWNhZTM5ZDBk
YmQzMDk2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9s
bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250cm9sbGVyLmgKQEAg
LTQ3LDYgKzQ3LDcgQEAgcHVibGljOgogICAgIFN0cmluZyBsb2NhbGl6ZU51bWJlclN0cmluZyhj
b25zdCBTdHJpbmcmKTsKICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogICAgIFN0cmluZyBm
b3JtYXRNb250aChpbnQgeWVhciwgaW50IHplcm9CYXNlTW9udGgpOworICAgIFN0cmluZyBmb3Jt
YXRTaG9ydE1vbnRoKGludCB5ZWFyLCBpbnQgemVyb0Jhc2VNb250aCk7CiAjZW5kaWYKICAgICB2
b2lkIGNsZWFyUGFnZVBvcHVwQ2xpZW50KCk7CiAgICAgdm9pZCBoaXN0b2dyYW1FbnVtZXJhdGlv
bihjb25zdCBTdHJpbmcmIG5hbWUsIGludCBzYW1wbGUsIGludCBib3VuZGFyeVZhbHVlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBvcHVwQ29udHJvbGxlci5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VQb3B1cENvbnRyb2xsZXIuaWRsCmluZGV4IDAzZjQ3Mjg2
YjMxYmViMThlNTdiM2Y5NzNiNGNlODczZmY4NTk2NmEuLmQ2YzdmYzBkZmQ3ZjdhYTIzYmI3Nzhh
NWI3YzUyNmM3OTgzN2RkMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVBv
cHVwQ29udHJvbGxlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlUG9wdXBDb250
cm9sbGVyLmlkbApAQCAtMzUsNSArMzUsNiBAQAogICAgIHZvaWQgc2V0VmFsdWVBbmRDbG9zZVBv
cHVwKGluIGxvbmcgbnVtYmVyVmFsdWUsIGluIERPTVN0cmluZyBzdHJpbmdWYWx1ZSk7CiAgICAg
RE9NU3RyaW5nIGxvY2FsaXplTnVtYmVyU3RyaW5nKGluIERPTVN0cmluZyBudW1iZXJTdHJpbmcp
OwogICAgIFtDb25kaXRpb25hbD1DQUxFTkRBUl9QSUNLRVJdIERPTVN0cmluZyBmb3JtYXRNb250
aChpbiBsb25nIHllYXIsIGluIGxvbmcgemVyb0Jhc2VNb250aCk7CisgICAgW0NvbmRpdGlvbmFs
PUNBTEVOREFSX1BJQ0tFUl0gRE9NU3RyaW5nIGZvcm1hdFNob3J0TW9udGgoaW4gbG9uZyB5ZWFy
LCBpbiBsb25nIHplcm9CYXNlTW9udGgpOwogICAgIHZvaWQgaGlzdG9ncmFtRW51bWVyYXRpb24o
RE9NU3RyaW5nIG5hbWUsIGxvbmcgc2FtcGxlLCBsb25nIGJvdW5kYXJ5VmFsdWUpOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmNwcAppbmRleCA5OTAzYmI0YjEy
YTU1MDNhMjdjYTU5MTA3MDVjNmNkYmQ2NGRlYjQ2Li44MTEwMjk2ZDdkMTA0ZGVlMTkwYjJjMmQ5
ZjU3YzBiMWNhMzFjZjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0xvY2FsZUlDVS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJ
Q1UuY3BwCkBAIC0zNTUsNiArMzU1LDE0IEBAIFN0cmluZyBMb2NhbGVJQ1U6Om1vbnRoRm9ybWF0
KCkKICAgICByZXR1cm4gbV9tb250aEZvcm1hdDsKIH0KIAorU3RyaW5nIExvY2FsZUlDVTo6c2hv
cnRNb250aEZvcm1hdCgpCit7CisgICAgaWYgKCFtX3Nob3J0TW9udGhGb3JtYXQuaXNOdWxsKCkp
CisgICAgICAgIHJldHVybiBtX3Nob3J0TW9udGhGb3JtYXQ7CisgICAgbV9zaG9ydE1vbnRoRm9y
bWF0ID0gZ2V0Rm9ybWF0Rm9yU2tlbGV0b24obV9sb2NhbGUuZGF0YSgpLCBBU0NJSUxpdGVyYWwo
Inl5eXlNTU0iKSk7CisgICAgcmV0dXJuIG1fc2hvcnRNb250aEZvcm1hdDsKK30KKwogU3RyaW5n
IExvY2FsZUlDVTo6dGltZUZvcm1hdCgpCiB7CiAgICAgaW5pdGlhbGl6ZURhdGVUaW1lRm9ybWF0
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaAppbmRleCAzMTc0ODRh
YmVjOTM0ZjYyMjM2OGUxNjY5MGMyYzhjYThkNWIzYTQ0Li41MjBhNzdkYTJhYWUxMjdiNWVlZWQ2
MDkwMWNhNzQ2MTBmMWQ0YzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L0xvY2FsZUlDVS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxl
SUNVLmgKQEAgLTU3LDYgKzU3LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShEQVRFX0FORF9USU1F
X0lOUFVUX1RZUEVTKQogICAgIHZpcnR1YWwgU3RyaW5nIGRhdGVGb3JtYXQoKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIFN0cmluZyBtb250aEZvcm1hdCgpIE9WRVJSSURFOworICAgIHZpcnR1YWwg
U3RyaW5nIHNob3J0TW9udGhGb3JtYXQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFN0cmluZyB0
aW1lRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgc2hvcnRUaW1lRm9ybWF0
KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgZGF0ZVRpbWVGb3JtYXRXaXRoU2Vjb25k
cygpIE9WRVJSSURFOwpAQCAtMTAzLDYgKzEwNCw3IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFZl
Y3RvcjxTdHJpbmc+ID4gbV9tb250aExhYmVsczsKICAgICBTdHJpbmcgbV9kYXRlRm9ybWF0Owog
ICAgIFN0cmluZyBtX21vbnRoRm9ybWF0OworICAgIFN0cmluZyBtX3Nob3J0TW9udGhGb3JtYXQ7
CiAgICAgU3RyaW5nIG1fdGltZUZvcm1hdFdpdGhTZWNvbmRzOwogICAgIFN0cmluZyBtX3RpbWVG
b3JtYXRXaXRob3V0U2Vjb25kczsKICAgICBTdHJpbmcgbV9kYXRlVGltZUZvcm1hdFdpdGhTZWNv
bmRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25l
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlTm9uZS5jcHAKaW5kZXgg
YmU0NWUyMzQ1MTdkN2M4ZmUzYTcyYjgxYWQzMWJkNzAxZTU4N2E3Ny4uNTI4NTA3NzQ0MzU0MjVl
YzdkNjA2NmJhMzMxOTUzNWFlOThhMWRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L0xvY2FsZU5vbmUuY3BwCkBAIC05OSw2ICs5OSwxMSBAQCBTdHJpbmcgTG9jYWxlTm9uZTo6
bW9udGhGb3JtYXQoKQogICAgIHJldHVybiBBU0NJSUxpdGVyYWwoInl5eXktTU0iKTsKIH0KIAor
U3RyaW5nIHNob3J0TW9udGhGb3JtYXQoKQoreworICAgIHJldHVybiBBU0NJSUxpdGVyYWwoInl5
eXktTU0iKTsKK30KKwogU3RyaW5nIExvY2FsZU5vbmU6OnRpbWVGb3JtYXQoKQogewogICAgIHJl
dHVybiBBU0NJSUxpdGVyYWwoIkhIOm1tOnNzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1BsYXRmb3JtTG9jYWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuY3BwCmluZGV4IGE2MWNmNjUyNjljYmExYzliM2Q4ZmU1
NWQ2ZDU0YjZiNTgyNTdjMDUuLjg2MDRhMmIxMDgzOWExMzcwMzM1YzMxMTVhMzQxY2I3MzAzNWNi
ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2Nh
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUu
Y3BwCkBAIC05OSw3ICs5OSw3IEBAIHZvaWQgRGF0ZVRpbWVTdHJpbmdCdWlsZGVyOjp2aXNpdEZp
ZWxkKERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGUgZmllbGRUeXBlLCBpbnQKICAgICAgICAgLy8g
QWx3YXlzIHVzZSBwYWRkaW5nIHdpZHRoIG9mIDQgc28gaXQgbWF0Y2hlcyBEYXRlVGltZUVkaXRF
bGVtZW50LgogICAgICAgICBhcHBlbmROdW1iZXIobV9kYXRlLmZ1bGxZZWFyKCksIDQpOwogICAg
ICAgICByZXR1cm47Ci0gICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlTW9udGg6ICAg
IAorICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1vbnRoOgogICAgICAgICBpZiAo
bnVtYmVyT2ZQYXR0ZXJuQ2hhcmFjdGVycyA9PSAzKQogICAgICAgICAgICAgbV9idWlsZGVyLmFw
cGVuZChtX2xvY2FsaXplci5zaG9ydE1vbnRoTGFiZWxzKClbbV9kYXRlLm1vbnRoKCldKTsKICAg
ICAgICAgZWxzZSBpZiAobnVtYmVyT2ZQYXR0ZXJuQ2hhcmFjdGVycyA9PSA0KQpAQCAtMzU0LDcg
KzM1NCw3IEBAIFN0cmluZyBMb2NhbGU6OmZvcm1hdERhdGVUaW1lKGNvbnN0IERhdGVDb21wb25l
bnRzJiBkYXRlLCBGb3JtYXRUeXBlIGZvcm1hdFR5cGUpCiAgICAgICAgIGJ1aWxkZXIuYnVpbGQo
ZGF0ZUZvcm1hdCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBEYXRlQ29tcG9uZW50czo6
TW9udGg6Ci0gICAgICAgIGJ1aWxkZXIuYnVpbGQobW9udGhGb3JtYXQoKSk7CisgICAgICAgIGJ1
aWxkZXIuYnVpbGQoZm9ybWF0VHlwZSA9PSBGb3JtYXRUeXBlU2hvcnQgPyBzaG9ydE1vbnRoRm9y
bWF0KCkgOiBtb250aEZvcm1hdCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBEYXRlQ29t
cG9uZW50czo6V2VlazogICAgCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfV0VFSykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUGxhdGZvcm1Mb2NhbGUuaAppbmRleCA3NzQ2M2VjMTY3
ZGVmZmQ0Y2RhZDVmMTU0OWFjZGM0NTk5NWRhOGVjLi5iOGVhMzBkODg1MWY1OWM4MjE4ODY3NmRi
ZTk1OTQ1MmQxNDdmZTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1BsYXRmb3JtTG9jYWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9QbGF0
Zm9ybUxvY2FsZS5oCkBAIC02Nyw2ICs2Nyw5IEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEg
eWVhci1tb250aCBmb3JtYXQgaW4gVW5pY29kZSBUUjM1IExETUwuCiAgICAgdmlydHVhbCBTdHJp
bmcgbW9udGhGb3JtYXQoKSA9IDA7CiAKKyAgICAvLyBSZXR1cm5zIGEgeWVhci1tb250aCBmb3Jt
YXQgdXNpbmcgc2hvcnQgbW9udGggbGFuZWwgaW4gVW5pY29kZSBUUjM1IExETUwuCisgICAgdmly
dHVhbCBTdHJpbmcgc2hvcnRNb250aEZvcm1hdCgpID0gMDsKKwogICAgIC8vIFJldHVybnMgdGlt
ZSBmb3JtYXQgaW4gVW5pY29kZSBUUjM1IExETUxbMV0gY29udGFpbmluZyBob3VyLCBtaW51dGUs
IGFuZAogICAgIC8vIHNlY29uZCB3aXRoIG9wdGlvbmFsIHBlcmlvZChBTS9QTSksIGUuZy4gImg6
bW06c3MgYSIKICAgICAvLyBbMV0gTERNTCBodHRwOi8vdW5pY29kZS5vcmcvcmVwb3J0cy90cjM1
LyNEYXRlX0Zvcm1hdF9QYXR0ZXJucwpAQCAtMTI4LDYgKzEzMSw3IEBAIHB1YmxpYzoKICAgICAv
LyBTZXJpYWxpemVzIHRoZSBzcGVjaWZpZWQgZGF0ZSBpbnRvIGEgZm9ybWF0dGVkIGRhdGUgc3Ry
aW5nIHRvCiAgICAgLy8gZGlzcGxheSB0byB0aGUgdXNlci4gSWYgYW4gaW1wbGVtZW50YXRpb24g
ZG9lc24ndCBzdXBwb3J0CiAgICAgLy8gbG9jYWxpemVkIGRhdGVzIHRoZSBmdW5jdGlvbiBzaG91
bGQgcmV0dXJuIGFuIGVtcHR5IHN0cmluZy4KKyAgICAvLyBGb3JtYXRUeXBlIGNhbiBiZSB1c2Vk
IHRvIHNwZWNpZnkgaWYgeW91IHdhbnQgdGhlIHNob3J0IGZvcm1hdC4gCiAgICAgU3RyaW5nIGZv
cm1hdERhdGVUaW1lKGNvbnN0IERhdGVDb21wb25lbnRzJiwgRm9ybWF0VHlwZSA9IEZvcm1hdFR5
cGVVbnNwZWNpZmllZCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L21hYy9Mb2NhbGVNYWMuaAppbmRleCBlNTYzZjIxNTAzNDhlOGEwNTMwZmNkYzA0MzQzNzdlZjRj
MDc1MmRkLi40NGYyMzRmZDBmOWRkOGVmYzIwYzI4NTliYmI0ZjljNzk4NDUzNjU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaApAQCAtNjAsNiArNjAs
NyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAgICAg
dmlydHVhbCBTdHJpbmcgZGF0ZUZvcm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5n
IG1vbnRoRm9ybWF0KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTdHJpbmcgc2hvcnRNb250aEZv
cm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIHRpbWVGb3JtYXQoKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIFN0cmluZyBzaG9ydFRpbWVGb3JtYXQoKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIFN0cmluZyBkYXRlVGltZUZvcm1hdFdpdGhTZWNvbmRzKCkgT1ZFUlJJREU7CkBAIC05
MCw2ICs5MSw3IEBAIHByaXZhdGU6CiAKICAgICBTdHJpbmcgbV9kYXRlRm9ybWF0OwogICAgIFN0
cmluZyBtX21vbnRoRm9ybWF0OworICAgIFN0cmluZyBtX3Nob3J0TW9udGhGb3JtYXQ7CiAgICAg
U3RyaW5nIG1fdGltZUZvcm1hdFdpdGhTZWNvbmRzOwogICAgIFN0cmluZyBtX3RpbWVGb3JtYXRX
aXRob3V0U2Vjb25kczsKICAgICBTdHJpbmcgbV9kYXRlVGltZUZvcm1hdFdpdGhTZWNvbmRzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tCmluZGV4IGYx
MTJhMDJiNmQ5YmJkNjBlOGUzYTU2ZTQ0OTYwMTIyZmYxYWM3MGYuLjg3ZTU4NmQ2MzUyODE5ZWJk
YzVjYzk1NDFhMjk3MWU1ODYyMWJiMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L21hYy9Mb2NhbGVNYWMubW0KQEAgLTIwNCw2ICsyMDQsMTQgQEAgU3RyaW5nIExvY2FsZU1h
Yzo6bW9udGhGb3JtYXQoKQogICAgIHJldHVybiBtX21vbnRoRm9ybWF0OwogfQogCitTdHJpbmcg
TG9jYWxlTWFjOjpzaG9ydE1vbnRoRm9ybWF0KCkKK3sKKyAgICBpZiAoIW1fc2hvcnRNb250aEZv
cm1hdC5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIG1fc2hvcnRNb250aEZvcm1hdDsKKyAgICBt
X3Nob3J0TW9udGhGb3JtYXQgPSBbTlNEYXRlRm9ybWF0dGVyIGRhdGVGb3JtYXRGcm9tVGVtcGxh
dGU6QCJ5eXl5TU1NIiBvcHRpb25zOjAgbG9jYWxlOm1fbG9jYWxlLmdldCgpXTsKKyAgICByZXR1
cm4gbV9zaG9ydE1vbnRoRm9ybWF0OworfQorCiBTdHJpbmcgTG9jYWxlTWFjOjp0aW1lRm9ybWF0
KCkKIHsKICAgICBpZiAoIW1fdGltZUZvcm1hdFdpdGhTZWNvbmRzLmlzTnVsbCgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93aW4vTG9jYWxlV2luLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5jcHAKaW5kZXggZTJlM2Jm
NTgwYWY5MzhlZjAwZDE0MTliOTUxZDVjZDVhNjhkYjE4MS4uMWZhZWUyNjczYjQ1ZTYxMmEwYjE5
ZTkzYmMxODdiNGNlNmFiYjYzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC93aW4vTG9jYWxlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L3dpbi9Mb2NhbGVXaW4uY3BwCkBAIC00MjcsNiArNDI3LDEzIEBAIFN0cmluZyBMb2NhbGVXaW46
Om1vbnRoRm9ybWF0KCkKICAgICByZXR1cm4gbV9tb250aEZvcm1hdDsKIH0KIAorU3RyaW5nIExv
Y2FsZVdpbjo6c2hvcnRNb250aEZvcm1hdCgpCit7CisgICAgaWYgKG1fc2hvcnRNb250aEZvcm1h
dC5pc051bGwoKSkKKyAgICAgICAgbV9zaG9ydE1vbnRoRm9ybWF0ID0gY29udmVydFdpbmRvd3NE
YXRlVGltZUZvcm1hdChnZXRMb2NhbGVJbmZvU3RyaW5nKExPQ0FMRV9TWUVBUk1PTlRIKSkucmVw
bGFjZSgiTU1NTSIsICJNTU0iKTsKKyAgICByZXR1cm4gbV9zaG9ydE1vbnRoRm9ybWF0OworfQor
CiBTdHJpbmcgTG9jYWxlV2luOjp0aW1lRm9ybWF0KCkKIHsKICAgICBpZiAobV90aW1lRm9ybWF0
V2l0aFNlY29uZHMuaXNOdWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L3dpbi9Mb2NhbGVXaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2lu
L0xvY2FsZVdpbi5oCmluZGV4IGY0YTUzZjMyNTIxYjVjNTk2OTliYzFhMTc0ZmRkYTA1OWVlNjVh
M2IuLjNjY2MzZTM5NmU1Yjg3OGQ2OTYwMzk5Zjg1ZjMxYTE3NDgxZDVjYmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5oCkBAIC01NCw2ICs1NCw3IEBA
IHB1YmxpYzoKICNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKICAgICB2aXJ0
dWFsIFN0cmluZyBkYXRlRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgbW9u
dGhGb3JtYXQoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFN0cmluZyBzaG9ydE1vbnRoRm9ybWF0
KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgdGltZUZvcm1hdCgpIE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgU3RyaW5nIHNob3J0VGltZUZvcm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1
YWwgU3RyaW5nIGRhdGVUaW1lRm9ybWF0V2l0aFNlY29uZHMoKSBPVkVSUklERTsKQEAgLTg1LDYg
Kzg2LDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8U3RyaW5nPiBtX21vbnRoTGFiZWxzOwogICAg
IFN0cmluZyBtX2RhdGVGb3JtYXQ7CiAgICAgU3RyaW5nIG1fbW9udGhGb3JtYXQ7CisgICAgU3Ry
aW5nIG1fc2hvcnRNb250aEZvcm1hdDsKICAgICBTdHJpbmcgbV90aW1lRm9ybWF0V2l0aFNlY29u
ZHM7CiAgICAgU3RyaW5nIG1fdGltZUZvcm1hdFdpdGhvdXRTZWNvbmRzOwogICAgIFN0cmluZyBt
X2RhdGVUaW1lRm9ybWF0V2l0aFNlY29uZHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL0xvY2FsZU1hY1Rlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9Mb2NhbGVNYWNUZXN0LmNwcAppbmRleCBjYjAwMTM4YjZhNDI1MGIzN2RhYzc1NjBiMTcy
ZTQ2Y2MxODZjMTc1Li5mMDZiNGUxMzMxMTI0MTczZDJmMWQyOThkYWE3ZjYwNDM3M2FiZjIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xvY2FsZU1hY1Rlc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlTWFjVGVzdC5jcHAKQEAg
LTc4LDEzICs3OCwxMyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHJldHVybiBsb2NhbGUtPmZvcm1h
dERhdGVUaW1lKGRhdGUpOwogICAgIH0KIAotICAgIFN0cmluZyBmb3JtYXRNb250aChjb25zdCBT
dHJpbmcmIGxvY2FsZVN0cmluZywgY29uc3QgU3RyaW5nJiBpc29TdHJpbmcpCisgICAgU3RyaW5n
IGZvcm1hdE1vbnRoKGNvbnN0IFN0cmluZyYgbG9jYWxlU3RyaW5nLCBjb25zdCBTdHJpbmcmIGlz
b1N0cmluZywgYm9vbCB1c2VTaG9ydEZvcm1hdCkKICAgICB7CiAgICAgICAgIE93blB0cjxMb2Nh
bGVNYWM+IGxvY2FsZSA9IExvY2FsZU1hYzo6Y3JlYXRlKGxvY2FsZVN0cmluZyk7CiAgICAgICAg
IERhdGVDb21wb25lbnRzIGRhdGU7CiAgICAgICAgIHVuc2lnbmVkIGVuZDsKICAgICAgICAgZGF0
ZS5wYXJzZU1vbnRoKGlzb1N0cmluZy5jaGFyYWN0ZXJzKCksIGlzb1N0cmluZy5sZW5ndGgoKSwg
MCwgZW5kKTsKLSAgICAgICAgcmV0dXJuIGxvY2FsZS0+Zm9ybWF0RGF0ZVRpbWUoZGF0ZSk7Cisg
ICAgICAgIHJldHVybiBsb2NhbGUtPmZvcm1hdERhdGVUaW1lKGRhdGUsICh1c2VTaG9ydEZvcm1h
dCA/IExvY2FsZTo6Rm9ybWF0VHlwZVNob3J0IDogTG9jYWxlOjpGb3JtYXRUeXBlTWVkaXVtKSk7
CiAgICAgfQogCiAgICAgU3RyaW5nIGZvcm1hdERhdGUoY29uc3QgU3RyaW5nJiBsb2NhbGVTdHJp
bmcsIGludCB5ZWFyLCBpbnQgbW9udGgsIGludCBkYXkpCkBAIC0xODQsOSArMTg0LDEzIEBAIFRF
U1RfRihMb2NhbGVNYWNUZXN0LCBmb3JtYXRXZWVrKQogCiBURVNUX0YoTG9jYWxlTWFjVGVzdCwg
Zm9ybWF0TW9udGgpCiB7Ci0gICAgRVhQRUNUX1NUUkVRKCJBcHJpbCAyMDA1IiwgZm9ybWF0TW9u
dGgoImVuX1VTIiwgIjIwMDUtMDQiKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEo
ImF2cmlsIDIwMDUiLCBmb3JtYXRNb250aCgiZnJfRlIiLCAiMjAwNS0wNCIpLnV0ZjgoKS5kYXRh
KCkpOwotICAgIEVYUEVDVF9TVFJFUSgiMjAwNVx4RTVceEI5XHhCNCIgIjA0XHhFNlx4OUNceDg4
IiwgZm9ybWF0TW9udGgoImphX0pQIiwgIjIwMDUtMDQiKS51dGY4KCkuZGF0YSgpKTsKKyAgICBF
WFBFQ1RfU1RSRVEoIkFwcmlsIDIwMDUiLCBmb3JtYXRNb250aCgiZW5fVVMiLCAiMjAwNS0wNCIs
IGZhbHNlKS51dGY4KCkuZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoImF2cmlsIDIwMDUiLCBm
b3JtYXRNb250aCgiZnJfRlIiLCAiMjAwNS0wNCIsIGZhbHNlKS51dGY4KCkuZGF0YSgpKTsKKyAg
ICBFWFBFQ1RfU1RSRVEoIjIwMDVceEU1XHhCOVx4QjQiICIwNFx4RTZceDlDXHg4OCIsIGZvcm1h
dE1vbnRoKCJqYV9KUCIsICIyMDA1LTA0IiwgZmFsc2UpLnV0ZjgoKS5kYXRhKCkpOworCisgICAg
RVhQRUNUX1NUUkVRKCJBcHIgMjAwNSIsIGZvcm1hdE1vbnRoKCJlbl9VUyIsICIyMDA1LTA0Iiwg
dHJ1ZSkudXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCJhdnIuIDIwMDUiLCBmb3Jt
YXRNb250aCgiZnJfRlIiLCAiMjAwNS0wNCIsIHRydWUpLnV0ZjgoKS5kYXRhKCkpOworICAgIEVY
UEVDVF9TVFJFUSgiMjAwNVx4RTVceEI5XHhCNCIgIjA0XHhFNlx4OUNceDg4IiwgZm9ybWF0TW9u
dGgoImphX0pQIiwgIjIwMDUtMDQiLCB0cnVlKS51dGY4KCkuZGF0YSgpKTsKIH0KIAogVEVTVF9G
KExvY2FsZU1hY1Rlc3QsIGZvcm1hdERhdGUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189051</attachid>
            <date>2013-02-19 04:25:33 -0800</date>
            <delta_ts>2013-02-19 05:18:35 -0800</delta_ts>
            <desc>Properly add shortMonthFormat() to the LocaleNone class</desc>
            <filename>locale.diff</filename>
            <type>text/plain</type>
            <size>1466</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwNTUwNzQ2Li44NTFiMjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTMtMDItMTkgIEFsYmVydG8gR2FyY2lhICA8YWdhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFBhZ2VQb3B1cENvbnRyb2xsZXIuZm9ybWF0TW9udGggc2hvdWxkIHN1cHBvcnQgc2hv
cnQgbW9udGggZm9ybWF0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDk1MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBQcm9wZXJseSBhZGQgc2hvcnRNb250aEZvcm1hdCgpIHRvIHRoZSBMb2NhbGVOb25l
IGNsYXNzLgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcDoKKyAgICAg
ICAgKExvY2FsZU5vbmUpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxlTm9uZTo6c2hvcnRNb250
aEZvcm1hdCk6CisKIDIwMTMtMDItMTkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgWWV0IGFudGhlciBKU0MgYnVpbGQgZml4IGFmdGVyIHIxNDMzMDQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcAppbmRleCA1Mjg1MDc3Li5h
ZWY3YzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZU5v
bmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlTm9uZS5jcHAK
QEAgLTQyLDYgKzQyLDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBV
VF9UWVBFUykKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBTdHJpbmcgbW9udGhGb3JtYXQoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFN0cmlu
ZyBzaG9ydE1vbnRoRm9ybWF0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgdGltZUZv
cm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIHNob3J0VGltZUZvcm1hdCgpIE9W
RVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIGRhdGVUaW1lRm9ybWF0V2l0aFNlY29uZHMoKSBP
VkVSUklERTsKQEAgLTk5LDcgKzEwMCw3IEBAIFN0cmluZyBMb2NhbGVOb25lOjptb250aEZvcm1h
dCgpCiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgieXl5eS1NTSIpOwogfQogCi1TdHJpbmcgc2hv
cnRNb250aEZvcm1hdCgpCitTdHJpbmcgTG9jYWxlTm9uZTo6c2hvcnRNb250aEZvcm1hdCgpCiB7
CiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgieXl5eS1NTSIpOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>