<?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>93085</bug_id>
          
          <creation_ts>2012-08-03 03:37:59 -0700</creation_ts>
          <short_desc>[Chromium-win] Use system locale for number representation</short_desc>
          <delta_ts>2012-08-05 23:40:07 -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>Platform</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>
          <dependson>92976</dependson>
    
    <dependson>93083</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>haraken</cc>
    
    <cc>morrita</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>686521</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-08-03 03:37:59 -0700</bug_when>
    <thetext>In Chromium-win, we use LocaleICU for &lt;input type=number&gt; localization. We should apply Windows locale system instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687753</commentid>
    <comment_count>1</comment_count>
      <attachid>156594</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-08-05 22:01:39 -0700</bug_when>
    <thetext>Created attachment 156594
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687758</commentid>
    <comment_count>2</comment_count>
      <attachid>156594</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-05 22:15:03 -0700</bug_when>
    <thetext>Comment on attachment 156594
Patch

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

morrita-san: I&apos;m not familiar with the implementation... Would you take a look?

&gt; Source/WebKit/chromium/tests/LocaleWinTest.cpp:385
&gt; +    testNumbers(ArabicEG);

Let&apos;s add testNumbers(FrenchFR) and testNumbers(EnglishUS).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687759</commentid>
    <comment_count>3</comment_count>
      <attachid>156594</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-08-05 22:17:06 -0700</bug_when>
    <thetext>Comment on attachment 156594
Patch

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

&gt;&gt; Source/WebKit/chromium/tests/LocaleWinTest.cpp:385
&gt;&gt; +    testNumbers(ArabicEG);
&gt; 
&gt; Let&apos;s add testNumbers(FrenchFR) and testNumbers(EnglishUS).

They are covered by the testNumberIsReversive calls with extra shouldHave argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687762</commentid>
    <comment_count>4</comment_count>
      <attachid>156594</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-08-05 22:18:47 -0700</bug_when>
    <thetext>Comment on attachment 156594
Patch

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

&gt; Source/WebCore/platform/text/LocaleWin.cpp:756
&gt; +        negativeSuffix = negativeSign;

Is this fall-through intentional? If so, please add a comment.

&gt; Source/WebCore/platform/text/LocaleWin.cpp:758
&gt; +        negativeSuffix = &quot; &quot; + negativeSign;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687765</commentid>
    <comment_count>5</comment_count>
      <attachid>156594</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-08-05 22:25:00 -0700</bug_when>
    <thetext>Comment on attachment 156594
Patch

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

&gt;&gt; Source/WebCore/platform/text/LocaleWin.cpp:756
&gt;&gt; +        negativeSuffix = negativeSign;
&gt; 
&gt; Is this fall-through intentional? If so, please add a comment.

oh, it&apos;s a real bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687767</commentid>
    <comment_count>6</comment_count>
      <attachid>156596</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-08-05 22:37:46 -0700</bug_when>
    <thetext>Created attachment 156596
Patch 2

Add breaks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687797</commentid>
    <comment_count>7</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-08-05 23:40:07 -0700</bug_when>
    <thetext>Committed r124735: &lt;http://trac.webkit.org/changeset/124735&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156594</attachid>
            <date>2012-08-05 22:01:39 -0700</date>
            <delta_ts>2012-08-05 22:37:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93085-20120806140116.patch</filename>
            <type>text/plain</type>
            <size>17070</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTAxYmQ1ZGYwM2ViZGFm
YmQ5Y2QxOTA3NjA2NGU0ZWZkZWM4MzYyNS4uODM3ZjYyMzNhYjg3Y2RlMDY2ZTE4MjY0NmI0OGEy
MTM0NjMwNzU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA4LTA1ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW0td2luXSBV
c2Ugc3lzdGVtIGxvY2FsZSBmb3IgbnVtYmVyIHJlcHJlc2VudGF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzA4NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGhhdmUgdXNlZCBMb2NhbGVJQ1Ug
Zm9yIG51bWJlciBsb2NhbGl6YXRpb24gKHByZXNlbnRhdGlvbiBvZiA8aW5wdXQKKyAgICAgICAg
dHlwZT1udW1iZXI+KSBldmVuIG9uIFdpbmRvd3MuIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBudW1i
ZXIgbG9jYWxpemF0aW9uCisgICAgICAgIGZlYXR1cmUgd2l0aCBXaW5kb3dzIEFQSSB0byBMb2Nh
bGVXaW4sIGFuZCB3ZSBzdG9wIHVzaW5nIExvY2FsZUlDVSBvbgorICAgICAgICBXaW5kb3dzLgor
CisgICAgICAgIFRlc3RzOiBBZGQgbmV3IHRlc3QgY2FzZXMgdG8gV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL0xvY2FsZVdpblRlc3QuY3BwLgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXA6CisgICAgICAgIC0gU3RvcCB1c2luZyBMb2NhbGVJQ1Uue2NwcCxofSBhbmQgTG9jYWxpemVk
TnVtYmVySUNVLmNwcC4KKyAgICAgICAgLSBBZGQgTG9jYWxpemVkTnVtYmVyV2luLmNwcC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
b2NhbGVXaW46OkxvY2FsZVdpbik6CisgICAgICAgICAtIEluaXRpYWxpemUgbV9kaWRJbml0aWFs
aXplTnVtYmVyRGF0YS4KKyAgICAgICAgIC0gVXNlIGdldExvY2FsZUluZm8oKSB0byBvYnRhaW4g
TE9DQUxFX0lGSVJTVERBWU9GV0VFSy4KKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsZVdpbjo6Z2V0
TG9jYWxlSW5mbyk6CisgICAgICAgIEFkZGVkLiBBIGhlbHBlciB0byBvYnRhaW4gaW50ZWdlciBs
b2NhbGUgdmFsdWUuCisgICAgICAgIChXZWJDb3JlOjpMb2NhbGVXaW46OmluaXRpYWxpemVOdW1i
ZXJMb2NhbGl6ZXJEYXRhKToKKyAgICAgICAgQWRkZWQuIFByZXBhcmUgZGF0YSBmb3IgbnVtYmVy
IGxvY2FsaXphdGlvbiwgYW5kIHBhc3MgaXQgdG8gTnVtYmVyTG9jYWxpemVyLgorICAgICAgICAq
IHBsYXRmb3JtL3RleHQvTG9jYWxlV2luLmg6CisgICAgICAgIChMb2NhbGVXaW4pOiBJbmhlcml0
IE51bWJlckxvY2FsaXplciwgYW5kIGRlY2xhcmUgc29tZSBuZXcgbWVtYmVycy4KKyAgICAgICAg
KiBwbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGl6ZWROdW1iZXJXaW4uY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OmNvbnZlcnRUb0xvY2FsaXplZE51bWJlcik6CisgICAgICAgIEZvcndhcmQg
dG8gdGhlIGNvcnJlc3BvbmRpbmcgZnVuY3Rpb24gb2YgTG9jYWxlV2luLgorICAgICAgICAoV2Vi
Q29yZTo6Y29udmVydEZyb21Mb2NhbGl6ZWROdW1iZXIpOiBkaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OmxvY2FsaXplZERlY2ltYWxTZXBhcmF0b3IpOiBkaXR0by4KKwogMjAxMi0wOC0wMyAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtLXdpbl0g
VXNlIHRoZSBkZWZhdWx0IGxvY2FsZSBvbmx5IGlmIHRoZSBicm93c2VyIGxvY2FsZSBtYXRjaGVz
IHRvIGl0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDIyN2RmM2I5YWQ1NjhjZTgyYjQz
MzVkY2EzMTA3NTVlOGNlYjg4ZWQuLjJjNzc4MjZiOWVlOTgxMGRjMTg5Nzg4MzBlMjAwZDI2OTM5
YWNjZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTIt
MDgtMDUgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJv
bWl1bS13aW5dIFVzZSBzeXN0ZW0gbG9jYWxlIGZvciBudW1iZXIgcmVwcmVzZW50YXRpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzMDg1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lw
aToKKyAgICAgICAgRG9uJ3QgaW5jbHVkZSBMb2NhbGl6ZWQqSUNVVGVzdC5jcHAgaW4gV2luZG93
cyBhbmQgT1NYLiBUaGV5IGFyZSB1bm5lY2Vzc2FyeS4KKyAgICAgICAgKiB0ZXN0cy9Mb2NhbGVX
aW5UZXN0LmNwcDoKKyAgICAgICAgKExvY2FsZVdpblRlc3QpOiBBZGQgc29tZSBMQ0lEIHN5bWJv
bHMuCisgICAgICAgIChMb2NhbGVXaW5UZXN0OjpkZWNpbWFsU2VwYXJhdG9yKToKKyAgICAgICAg
QSBoZWxwZXIgZm9yIExvY2FsZVdpblRlc3QuZGVjaW1hbFNlcGFyYXRvci4KKyAgICAgICAgKFRF
U1RfRihMb2NhbGVXaW5UZXN0LCBkZWNpbWFsU2VwYXJhdG9yKSk6CisgICAgICAgIEEgdGVzdCBm
b3IgTG9jYWxlV2luOjpsb2NhbGl6ZWREZWNpbWFsU2VwYXJhdG9yKCkuIFRoaXMgaXMgYSBjb3B5
IG9mIHRoZQorICAgICAgICBjb3JyZXNwb25kaW5nIHRlc3QgaW4gTG9jYWxpemVkTnVtYmVySUNV
VGVzdC5jcHAuCisgICAgICAgICh0ZXN0TnVtYmVySXNSZXZlcnNpYmxlKToKKyAgICAgICAgQSB0
ZXN0IGhlbHBlciBMb2NhbGVXaW5UZXN0LmxvY2FsaXplZE51bWJlclJvdW5kVHJpcC4gVGhpcyBp
cyBhIGNvcHkgb2YKKyAgICAgICAgdGhlIGNvcnJlc3BvbmRpbmcgdGVzdCBpbiBMb2NhbGl6ZWRO
dW1iZXJJQ1VUZXN0LmNwcC4KKyAgICAgICAgKHRlc3ROdW1iZXJzKTogZGl0dG8uCisgICAgICAg
IChURVNUX0YoTG9jYWxlV2luVGVzdCwgbG9jYWxpemVkTnVtYmVyUm91bmRUcmlwKSk6CisgICAg
ICAgIFRlc3RzIGZvciBMb2NhbGVXaW4gY2hhbmdlcy4gVGhpcyBpcyBhIGNvcHkgb2YgdGhlIGNv
cnJlc3BvbmRpbmcgdGVzdHMKKyAgICAgICAgaW4gTG9jYWxpemVkTnVtYmVySUNVVGVzdC5jcHAu
CisKIDIwMTItMDgtMDQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBSb2xsZWQgREVQUy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXAvV2ViQ29yZS5neXAKaW5kZXggOTdlYWFmNDY0YjA5Zjk2MDdlMThjZDY0YTkzNGFkYzQx
YzEyMWFiMi4uMTNhYjYxOTBjM2U0NTdkZTM0ZDg2MDkzMDg1YjczN2ZiMzNkZWE0NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTE3OTQsMTAgKzE3OTQsMTQgQEAK
ICAgICAgICAgICAgICMgU3lzdGVtSW5mby5jcHAgaXMgdXNlZnVsIGFuZCB3ZSBkb24ndCB3YW50
IHRvIGNvcHkgaXQuCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vd2luL1N5c3Rl
bUluZm9cXC5jcHAkJ10sCiAKKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS90ZXh0
L0xvY2FsZUlDVVxcLmNwcCQnXSwKKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS90
ZXh0L0xvY2FsZUlDVVxcLmgkJ10sCiAgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0v
dGV4dC9Mb2NhbGl6ZWREYXRlSUNVXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAn
cGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJJQ1VcLmNwcCQnXSwKICAgICAgICAgICAgIFsn
aW5jbHVkZScsICdwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGVXaW5cLmNwcCQnXSwKICAgICAg
ICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS90ZXh0L0xvY2FsZVdpblwuY3BwJCddLAogICAg
ICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3JtL3RleHQvTG9jYWxlV2luXC5oJCddLAorICAg
ICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3JtL3RleHQvd2luL0xvY2FsaXplZE51bWJlcldp
blxcLmNwcCQnXSwKICAgICAgICAgICBdLAogICAgICAgICB9LHsgIyBPUyE9IndpbiIKICAgICAg
ICAgICAnc291cmNlcy8nOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMWJmZmNmYTk5MzkwOTQxZGZm
ODFiNjE5ZTcwNjcwYmQ4YjRkOWY3ZC4uNWNjYWViNGIxMDRmYTFiNmE3OTg1ZDZkYjQxMDJlODJh
OGJmNTY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNDQ4NSw2ICs0NDg1LDcgQEAKICAgICAgICAg
ICAgICdwbGF0Zm9ybS90ZXh0L3F0L1RleHRDb2RlY1F0LmgnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5jcHAnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oJywKKyAgICAgICAgICAgICdw
bGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGl6ZWROdW1iZXJXaW4uY3BwJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS90ZXh0L3dpbi9UZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVV2luLmNwcCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vdGV4dC93aW4vVGV4dENvZGVjV2luLmNwcCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vdGV4dC93aW4vVGV4dENvZGVjV2luLmgnLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3BwCmluZGV4IDhiZDM3MDNmZWFhZDFhOGE5YTNhZmYz
NmViMDIzMThmODhiNmVkNjYuLmYxYTJkNDkwYTQwMDdlN2JiZmQ5NjgzMWNiOGQ2ZDY2NWM4ZGMz
NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2luLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHAKQEAgLTU3
LDYgKzU3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBpbmxpbmUgTG9jYWxlV2luOjpMb2Nh
bGVXaW4oTENJRCBsY2lkKQogICAgIDogbV9sY2lkKGxjaWQpCisgICAgLCBtX2RpZEluaXRpYWxp
emVOdW1iZXJEYXRhKGZhbHNlKQogewogICAgIFNZU1RFTVRJTUUgc3lzdGVtVGltZTsKICAgICBH
ZXRMb2NhbFRpbWUoJnN5c3RlbVRpbWUpOwpAQCAtNjQsNyArNjUsNyBAQCBpbmxpbmUgTG9jYWxl
V2luOjpMb2NhbGVXaW4oTENJRCBsY2lkKQogCiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikK
ICAgICBEV09SRCB2YWx1ZSA9IDA7Ci0gICAgOjpHZXRMb2NhbGVJbmZvKG1fbGNpZCwgTE9DQUxF
X0lGSVJTVERBWU9GV0VFSyB8IExPQ0FMRV9SRVRVUk5fTlVNQkVSLCByZWludGVycHJldF9jYXN0
PExQV1NUUj4oJnZhbHVlKSwgc2l6ZW9mKHZhbHVlKSAvIHNpemVvZihUQ0hBUikpOworICAgIGdl
dExvY2FsZUluZm8oTE9DQUxFX0lGSVJTVERBWU9GV0VFSywgdmFsdWUpOwogICAgIC8vIDA6TW9u
ZGF5LCAuLi4sIDY6U3VuZGF5LgogICAgIC8vIFdlIG5lZWQgMSBmb3IgTW9uZGF5LCAwIGZvciBT
dW5kYXkuCiAgICAgbV9maXJzdERheU9mV2VlayA9ICh2YWx1ZSArIDEpICUgNzsKQEAgLTExOCw2
ICsxMTksMTEgQEAgU3RyaW5nIExvY2FsZVdpbjo6Z2V0TG9jYWxlSW5mb1N0cmluZyhMQ1RZUEUg
dHlwZSkKICAgICByZXR1cm4gU3RyaW5nOjphZG9wdChidWZmZXIpOwogfQogCit2b2lkIExvY2Fs
ZVdpbjo6Z2V0TG9jYWxlSW5mbyhMQ1RZUEUgdHlwZSwgRFdPUkQmIHJlc3VsdCkKK3sKKyAgICA6
OkdldExvY2FsZUluZm8obV9sY2lkLCB0eXBlIHwgTE9DQUxFX1JFVFVSTl9OVU1CRVIsIHJlaW50
ZXJwcmV0X2Nhc3Q8TFBXU1RSPigmcmVzdWx0KSwgc2l6ZW9mKERXT1JEKSAvIHNpemVvZihUQ0hB
UikpOworfQorCiB2b2lkIExvY2FsZVdpbjo6ZW5zdXJlU2hvcnRNb250aExhYmVscygpCiB7CiAg
ICAgaWYgKCFtX3Nob3J0TW9udGhMYWJlbHMuaXNFbXB0eSgpKQpAQCAtNjkwLDQgKzY5Niw3MyBA
QCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgTG9jYWxlV2luOjp0aW1lQU1QTUxhYmVscygpCiB9CiAj
ZW5kaWYKIAordm9pZCBMb2NhbGVXaW46OmluaXRpYWxpemVOdW1iZXJMb2NhbGl6ZXJEYXRhKCkK
K3sKKyAgICBpZiAobV9kaWRJbml0aWFsaXplTnVtYmVyRGF0YSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgVmVjdG9yPFN0cmluZywgRGVjaW1hbFN5bWJvbHNTaXplPiBzeW1ib2xzOworICAgIGVu
dW0gRGlnaXRTdWJzdGl0dXRpb24geworICAgICAgICBEaWdpdFN1YnN0aXR1dGlvbkNvbnRleHQg
PSAwLAorICAgICAgICBEaWdpdFN1YnN0aXR1dGlvbjB0bzkgPSAxLAorICAgICAgICBEaWdpdFN1
YnN0aXR1dGlvbk5hdGl2ZSA9IDIsCisgICAgfTsKKyAgICBEV09SRCBkaWdpdFN1YnN0aXR1dGlv
biA9IERpZ2l0U3Vic3RpdHV0aW9uMHRvOTsKKyAgICBnZXRMb2NhbGVJbmZvKExPQ0FMRV9JRElH
SVRTVUJTVElUVVRJT04sIGRpZ2l0U3Vic3RpdHV0aW9uKTsKKyAgICBpZiAoZGlnaXRTdWJzdGl0
dXRpb24gIT0gRGlnaXRTdWJzdGl0dXRpb25OYXRpdmUpIHsKKyAgICAgICAgc3ltYm9scy5hcHBl
bmQoIjAiKTsKKyAgICAgICAgc3ltYm9scy5hcHBlbmQoIjEiKTsKKyAgICAgICAgc3ltYm9scy5h
cHBlbmQoIjIiKTsKKyAgICAgICAgc3ltYm9scy5hcHBlbmQoIjMiKTsKKyAgICAgICAgc3ltYm9s
cy5hcHBlbmQoIjQiKTsKKyAgICAgICAgc3ltYm9scy5hcHBlbmQoIjUiKTsKKyAgICAgICAgc3lt
Ym9scy5hcHBlbmQoIjYiKTsKKyAgICAgICAgc3ltYm9scy5hcHBlbmQoIjciKTsKKyAgICAgICAg
c3ltYm9scy5hcHBlbmQoIjgiKTsKKyAgICAgICAgc3ltYm9scy5hcHBlbmQoIjkiKTsKKyAgICB9
IGVsc2UgeworICAgICAgICBTdHJpbmcgZGlnaXRzID0gZ2V0TG9jYWxlSW5mb1N0cmluZyhMT0NB
TEVfU05BVElWRURJR0lUUyk7CisgICAgICAgIEFTU0VSVChkaWdpdHMubGVuZ3RoKCkgPj0gMTAp
OworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgMTA7ICsraSkKKyAgICAgICAgICAg
IHN5bWJvbHMuYXBwZW5kKGRpZ2l0cy5zdWJzdHJpbmcoaSwgMSkpOworICAgIH0KKyAgICBBU1NF
UlQoc3ltYm9scy5zaXplKCkgPT0gRGVjaW1hbFNlcGFyYXRvckluZGV4KTsKKyAgICBzeW1ib2xz
LmFwcGVuZChnZXRMb2NhbGVJbmZvU3RyaW5nKExPQ0FMRV9TREVDSU1BTCkpOworICAgIEFTU0VS
VChzeW1ib2xzLnNpemUoKSA9PSBHcm91cFNlcGFyYXRvckluZGV4KTsKKyAgICBzeW1ib2xzLmFw
cGVuZChnZXRMb2NhbGVJbmZvU3RyaW5nKExPQ0FMRV9TVEhPVVNBTkQpKTsKKyAgICBBU1NFUlQo
c3ltYm9scy5zaXplKCkgPT0gRGVjaW1hbFN5bWJvbHNTaXplKTsKKworICAgIFN0cmluZyBuZWdh
dGl2ZVNpZ24gPSBnZXRMb2NhbGVJbmZvU3RyaW5nKExPQ0FMRV9TTkVHQVRJVkVTSUdOKTsKKyAg
ICBlbnVtIE5lZ2F0aXZlRm9ybWF0IHsKKyAgICAgICAgTmVnYXRpdmVGb3JtYXRQYXJlbnRoZXNp
cyA9IDAsCisgICAgICAgIE5lZ2F0aXZlRm9ybWF0U2lnblByZWZpeCA9IDEsCisgICAgICAgIE5l
Z2F0aXZlRm9ybWF0U2lnblNwYWNlUHJlZml4ID0gMiwKKyAgICAgICAgTmVnYXRpdmVGb3JtYXRT
aWduU3VmZml4ID0gMywKKyAgICAgICAgTmVnYXRpdmVGb3JtYXRTcGFjZVNpZ25TdWZmaXggPSA0
LAorICAgIH07CisgICAgRFdPUkQgbmVnYXRpdmVGb3JtYXQgPSBOZWdhdGl2ZUZvcm1hdFNpZ25Q
cmVmaXg7CisgICAgZ2V0TG9jYWxlSW5mbyhMT0NBTEVfSU5FR05VTUJFUiwgbmVnYXRpdmVGb3Jt
YXQpOworICAgIFN0cmluZyBuZWdhdGl2ZVByZWZpeCA9IGVtcHR5U3RyaW5nKCk7CisgICAgU3Ry
aW5nIG5lZ2F0aXZlU3VmZml4ID0gZW1wdHlTdHJpbmcoKTsKKyAgICBzd2l0Y2ggKG5lZ2F0aXZl
Rm9ybWF0KSB7CisgICAgY2FzZSBOZWdhdGl2ZUZvcm1hdFBhcmVudGhlc2lzOgorICAgICAgICBu
ZWdhdGl2ZVByZWZpeCA9ICIoIjsKKyAgICAgICAgbmVnYXRpdmVTdWZmaXggPSAiKSI7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgTmVnYXRpdmVGb3JtYXRTaWduU3BhY2VQcmVmaXg6CisgICAg
ICAgIG5lZ2F0aXZlUHJlZml4ID0gbmVnYXRpdmVTaWduICsgIiAiOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIE5lZ2F0aXZlRm9ybWF0U2lnblN1ZmZpeDoKKyAgICAgICAgbmVnYXRpdmVTdWZm
aXggPSBuZWdhdGl2ZVNpZ247CisgICAgY2FzZSBOZWdhdGl2ZUZvcm1hdFNwYWNlU2lnblN1ZmZp
eDoKKyAgICAgICAgbmVnYXRpdmVTdWZmaXggPSAiICIgKyBuZWdhdGl2ZVNpZ247CisgICAgY2Fz
ZSBOZWdhdGl2ZUZvcm1hdFNpZ25QcmVmaXg6CisgICAgZGVmYXVsdDoKKyAgICAgICAgbmVnYXRp
dmVQcmVmaXggPSBuZWdhdGl2ZVNpZ247CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBtX2Rp
ZEluaXRpYWxpemVOdW1iZXJEYXRhID0gdHJ1ZTsKKyAgICBzZXROdW1iZXJMb2NhbGl6ZXJEYXRh
KHN5bWJvbHMsIGVtcHR5U3RyaW5nKCksIGVtcHR5U3RyaW5nKCksIG5lZ2F0aXZlUHJlZml4LCBu
ZWdhdGl2ZVN1ZmZpeCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvTG9jYWxlV2luLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2Fs
ZVdpbi5oCmluZGV4IDkyNzBmMTY5ZjRiMzU5NWUyOWMzYWQwZDc0Y2U4NzQ5MGZiYjRmODMuLmY4
MjQ4YWE0Y2Q3MzA4ZDhhOTkzMzMyOTIwNTBlNjI0MTg4ODI1OTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uaApAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBMb2Nh
bGVXaW5faAogI2RlZmluZSBMb2NhbGVXaW5faAogCisjaW5jbHVkZSAiTnVtYmVyTG9jYWxpemVy
LmgiCiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNDEsNyArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBEYXRlQ29tcG9uZW50czsKIHN0cnVjdCBEYXRlRm9ybWF0VG9rZW47CiAKLWNsYXNz
IExvY2FsZVdpbiB7CitjbGFzcyBMb2NhbGVXaW4gOiBwdWJsaWMgTnVtYmVyTG9jYWxpemVyIHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxMb2NhbGVXaW4+IGNyZWF0ZShMQ0lEKTsK
ICAgICBzdGF0aWMgTG9jYWxlV2luKiBjdXJyZW50TG9jYWxlKCk7CkBAIC02OSw2ICs3MCw3IEBA
IHB1YmxpYzoKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgTG9jYWxlV2luKExDSUQpOwogICAgIFN0
cmluZyBnZXRMb2NhbGVJbmZvU3RyaW5nKExDVFlQRSk7CisgICAgdm9pZCBnZXRMb2NhbGVJbmZv
KExDVFlQRSwgRFdPUkQmKTsKICAgICB2b2lkIGVuc3VyZVNob3J0TW9udGhMYWJlbHMoKTsKICAg
ICB2b2lkIGVuc3VyZU1vbnRoTGFiZWxzKCk7CiAgICAgdm9pZCBlbnN1cmVTaG9ydERhdGVUb2tl
bnMoKTsKQEAgLTc4LDYgKzgwLDggQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElD
S0VSKQogICAgIHZvaWQgZW5zdXJlV2Vla0RheVNob3J0TGFiZWxzKCk7CiAjZW5kaWYKKyAgICAv
LyBOdW1iZXJMb2NhbGl6ZXIgZnVuY3Rpb246CisgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVO
dW1iZXJMb2NhbGl6ZXJEYXRhKCkgT1ZFUlJJREU7CiAKICAgICBMQ0lEIG1fbGNpZDsKICAgICBp
bnQgbV9iYXNlWWVhcjsKQEAgLTkyLDYgKzk2LDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV90
aW1lRm9ybWF0VGV4dDsKICAgICBWZWN0b3I8U3RyaW5nPiBtX3RpbWVBTVBNTGFiZWxzOwogI2Vu
ZGlmCisgICAgYm9vbCBtX2RpZEluaXRpYWxpemVOdW1iZXJEYXRhOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC93
aW4vTG9jYWxpemVkTnVtYmVyV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
d2luL0xvY2FsaXplZE51bWJlcldpbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIzZTY1MDJlNDc0NDAzNjg2
YjhlZGEyNWUyMzcxMWVhN2U0YjhkMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvd2luL0xvY2FsaXplZE51bWJlcldpbi5jcHAKQEAgLTAsMCArMSw0OSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyAqIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
CisgKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SAorICogREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMb2Nh
bGl6ZWROdW1iZXIuaCIKKworI2luY2x1ZGUgIkxvY2FsZVdpbi5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1N0cmluZyBjb252ZXJ0VG9Mb2NhbGl6ZWROdW1iZXIoY29uc3QgU3RyaW5nJiBj
YW5vbmljYWxOdW1iZXJTdHJpbmcsIHVuc2lnbmVkIGZyYWN0aW9uRGlnaXRzKQoreworICAgIHJl
dHVybiBMb2NhbGVXaW46OmN1cnJlbnRMb2NhbGUoKS0+Y29udmVydFRvTG9jYWxpemVkTnVtYmVy
KGNhbm9uaWNhbE51bWJlclN0cmluZyk7Cit9CisKK1N0cmluZyBjb252ZXJ0RnJvbUxvY2FsaXpl
ZE51bWJlcihjb25zdCBTdHJpbmcmIGxvY2FsaXplZE51bWJlclN0cmluZykKK3sKKyAgICByZXR1
cm4gTG9jYWxlV2luOjpjdXJyZW50TG9jYWxlKCktPmNvbnZlcnRGcm9tTG9jYWxpemVkTnVtYmVy
KGxvY2FsaXplZE51bWJlclN0cmluZyk7Cit9CisKKyNpZiBFTkFCTEUoSU5QVVRfVFlQRV9USU1F
X01VTFRJUExFX0ZJRUxEUykKK1N0cmluZyBsb2NhbGl6ZWREZWNpbWFsU2VwYXJhdG9yKCkKK3sK
KyAgICByZXR1cm4gTG9jYWxlV2luOjpjdXJyZW50TG9jYWxlKCktPmxvY2FsaXplZERlY2ltYWxT
ZXBhcmF0b3IoKTsKK30KKyNlbmRpZgorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vV2ViS2l0Lmd5cGkKaW5kZXggMGY4MzhiZGQzNGIzMmIwN2RkMmY3NzQyZTQ1ZDM0ZmM0
ZjZjNmVhMi4uNWVkZWZkMjY5MTQ0NTkxOWVlYmIxYmVmNjk4ZjI0YTYxMWE1ODE3ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL1dlYktpdC5neXBpCkBAIC0xMjUsOCArMTI1LDYgQEAKICAgICAgICAgICAg
ICd0ZXN0cy9MZXZlbERCVGVzdC5jcHAnLAogICAgICAgICAgICAgJ3Rlc3RzL0xpbmtIaWdobGln
aHRUZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvTGlzdGVuZXJMZWFrVGVzdC5jcHAnLAot
ICAgICAgICAgICAgJ3Rlc3RzL0xvY2FsaXplZERhdGVJQ1VUZXN0LmNwcCcsCi0gICAgICAgICAg
ICAndGVzdHMvTG9jYWxpemVkTnVtYmVySUNVVGVzdC5jcHAnLAogICAgICAgICAgICAgJ3Rlc3Rz
L01lbW9yeUluZm8uY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9NZW1vcnlJbnN0cnVtZW50YXRp
b25UZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvTW9ja0NDUXVhZEN1bGxlci5oJywKQEAg
LTE5NSw2ICsxOTMsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1Njcm9sbEFuaW1h
dG9yTm9uZVRlc3QuY3BwJywKICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgfV0sCisg
ICAgICAgICAgICBbJ29zX3Bvc2l4PT0xIGFuZCBPUyE9Im1hYyInLCB7CisgICAgICAgICAgICAg
ICAgJ3dlYmtpdF91bml0dGVzdF9maWxlcyc6IFsKKyAgICAgICAgICAgICAgICAgICAgJ3Rlc3Rz
L0xvY2FsaXplZERhdGVJQ1VUZXN0LmNwcCcsCisgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9M
b2NhbGl6ZWROdW1iZXJJQ1VUZXN0LmNwcCcsCisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAg
ICAgIH1dLAogICAgICAgICAgICAgWyd0b29sa2l0X3VzZXNfZ3RrID09IDEnLCB7CiAgICAgICAg
ICAgICAgICAgJ3dlYmtpdF91bml0dGVzdF9maWxlcyc6IFsKICAgICAgICAgICAgICAgICAgICAg
J3Rlc3RzL1dlYklucHV0RXZlbnRGYWN0b3J5VGVzdEd0ay5jcHAnLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVXaW5UZXN0LmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlV2luVGVzdC5jcHAKaW5kZXggOGRhMmY0NDYxMjUxMzYx
MTJkN2E3NTExZTc3OWJjODhmMjkwY2NlZS4uNWY1NjQyZTkxZTY1ZWI4NDJhNjZkYmYwMGRhODhm
ZDI2OGYwODYxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Mb2Nh
bGVXaW5UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xvY2FsZVdp
blRlc3QuY3BwCkBAIC01NywxMCArNTcsMTkgQEAgcHJvdGVjdGVkOgogICAgIH07CiAKICAgICAv
LyBTZWUgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9nb2dsb2JhbC9iYjk2NDY2NC5h
c3B4CisgICAgLy8gTm90ZSB0aGF0IHNvbWUgbG9jYWxlcyBhcmUgY291bnRyeS1uZXV0cmFsLgog
ICAgIGVudW0gewotICAgICAgICBFbmdsaXNoVVMgPSAweDQwOSwKLSAgICAgICAgRnJlbmNoRlIg
PSAweDQwQywKLSAgICAgICAgSmFwYW5lc2VKUCA9IDB4NDExLAorICAgICAgICBBcmFiaWNFRyA9
IDB4MEMwMSwgLy8gYXItZWcKKyAgICAgICAgQ2hpbmVzZUNOID0gMHgwODA0LCAvLyB6aC1jbgor
ICAgICAgICBDaGluZXNlSEsgPSAweDBDMDQsIC8vIHpoLWhrCisgICAgICAgIENoaW5lc2VUVyA9
IDB4MDQwNCwgLy8gemgtdHcKKyAgICAgICAgR2VybWFuID0gMHgwNDA3LCAvLyBkZQorICAgICAg
ICBFbmdsaXNoVVMgPSAweDQwOSwgLy8gZW4tdXMKKyAgICAgICAgRnJlbmNoRlIgPSAweDQwQywg
Ly8gZnIKKyAgICAgICAgSmFwYW5lc2VKUCA9IDB4NDExLCAvLyBqYQorICAgICAgICBLb3JlYW5L
UiA9IDB4MDQxMiwgLy8ga28KKyAgICAgICAgUGVyc2lhbiA9IDB4MDQyOSwgLy8gZmEKKyAgICAg
ICAgU3BhbmlzaCA9IDB4MDQwQSwgLy8gZXMKICAgICB9OwogCiAgICAgRGF0ZUNvbXBvbmVudHMg
ZGF0ZUNvbXBvbmVudHMoaW50IHllYXIsIGludCBtb250aCwgaW50IGRheSkKQEAgLTEzMSw2ICsx
NDAsMTIgQEAgcHJvdGVjdGVkOgogICAgICAgICBPd25QdHI8TG9jYWxlV2luPiBsb2NhbGUgPSBM
b2NhbGVXaW46OmNyZWF0ZShsY2lkKTsKICAgICAgICAgcmV0dXJuIGxvY2FsZS0+dGltZUFNUE1M
YWJlbHMoKVtpbmRleF07CiAgICAgfQorCisgICAgU3RyaW5nIGRlY2ltYWxTZXBhcmF0b3IoTENJ
RCBsY2lkKQorICAgIHsKKyAgICAgICAgT3duUHRyPExvY2FsZVdpbj4gbG9jYWxlID0gTG9jYWxl
V2luOjpjcmVhdGUobGNpZCk7CisgICAgICAgIHJldHVybiBsb2NhbGUtPmxvY2FsaXplZERlY2lt
YWxTZXBhcmF0b3IoKTsKKyAgICB9CiAjZW5kaWYKIH07CiAKQEAgLTMyOCw0ICszNDMsNTIgQEAg
VEVTVF9GKExvY2FsZVdpblRlc3QsIHRpbWVBTVBNTGFiZWxzKQogICAgIEVYUEVDVF9TVFJFUSgi
XHhFNVx4OERceDg4XHhFNVx4ODlceDhEIiwgdGltZUFNUE1MYWJlbChKYXBhbmVzZUpQLCAwKS51
dGY4KCkuZGF0YSgpKTsKICAgICBFWFBFQ1RfU1RSRVEoIlx4RTVceDhEXHg4OFx4RTVceEJFXHg4
QyIsIHRpbWVBTVBNTGFiZWwoSmFwYW5lc2VKUCwgMSkudXRmOCgpLmRhdGEoKSk7CiB9CisKK1RF
U1RfRihMb2NhbGVXaW5UZXN0LCBkZWNpbWFsU2VwYXJhdG9yKQoreworICAgIEVYUEVDVF9TVFJF
USgiLiIsIGRlY2ltYWxTZXBhcmF0b3IoRW5nbGlzaFVTKS51dGY4KCkuZGF0YSgpKTsKKyAgICBF
WFBFQ1RfU1RSRVEoIiwiLCBkZWNpbWFsU2VwYXJhdG9yKEZyZW5jaEZSKS51dGY4KCkuZGF0YSgp
KTsKK30KICNlbmRpZgorCitzdGF0aWMgdm9pZCB0ZXN0TnVtYmVySXNSZXZlcnNpYmxlKExDSUQg
bGNpZCwgY29uc3QgY2hhciogb3JpZ2luYWwsIGNvbnN0IGNoYXIqIHNob3VsZEhhdmUgPSAwKQor
eworICAgIE93blB0cjxMb2NhbGVXaW4+IGxvY2FsZSA9IExvY2FsZVdpbjo6Y3JlYXRlKGxjaWQp
OworICAgIFN0cmluZyBsb2NhbGl6ZWQgPSBsb2NhbGUtPmNvbnZlcnRUb0xvY2FsaXplZE51bWJl
cihvcmlnaW5hbCk7CisgICAgaWYgKHNob3VsZEhhdmUpCisgICAgICAgIEVYUEVDVF9UUlVFKGxv
Y2FsaXplZC5jb250YWlucyhzaG91bGRIYXZlKSk7CisgICAgU3RyaW5nIGNvbnZlcnRlZCA9IGxv
Y2FsZS0+Y29udmVydEZyb21Mb2NhbGl6ZWROdW1iZXIobG9jYWxpemVkKTsKKyAgICBFWFBFQ1Rf
U1RSRVEob3JpZ2luYWwsIGNvbnZlcnRlZC51dGY4KCkuZGF0YSgpKTsKK30KKwordm9pZCB0ZXN0
TnVtYmVycyhMQ0lEIGxjaWQpCit7CisgICAgdGVzdE51bWJlcklzUmV2ZXJzaWJsZShsY2lkLCAi
MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIik7CisgICAgdGVzdE51bWJlcklzUmV2ZXJz
aWJsZShsY2lkLCAiLTEyMy40NTYiKTsKKyAgICB0ZXN0TnVtYmVySXNSZXZlcnNpYmxlKGxjaWQs
ICIuNDU2Iik7CisgICAgdGVzdE51bWJlcklzUmV2ZXJzaWJsZShsY2lkLCAiLTAuNDU2Iik7Cit9
CisKK1RFU1RfRihMb2NhbGVXaW5UZXN0LCBsb2NhbGl6ZWROdW1iZXJSb3VuZFRyaXApCit7Cisg
ICAgdGVzdE51bWJlcklzUmV2ZXJzaWJsZShFbmdsaXNoVVMsICIxMjM0NTY3ODkwMTIzNDU2Nzg5
MDEyMzQ1Njc4OTAiKTsKKyAgICB0ZXN0TnVtYmVySXNSZXZlcnNpYmxlKEVuZ2xpc2hVUywgIi0x
MjMuNDU2IiwgIi4iKTsKKyAgICB0ZXN0TnVtYmVySXNSZXZlcnNpYmxlKEVuZ2xpc2hVUywgIi40
NTYiLCAiLiIpOworICAgIHRlc3ROdW1iZXJJc1JldmVyc2libGUoRW5nbGlzaFVTLCAiLTAuNDU2
IiwgIi4iKTsKKworICAgIHRlc3ROdW1iZXJJc1JldmVyc2libGUoRnJlbmNoRlIsICIxMjM0NTY3
ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKTsKKyAgICB0ZXN0TnVtYmVySXNSZXZlcnNpYmxlKEZy
ZW5jaEZSLCAiLTEyMy40NTYiLCAiLCIpOworICAgIHRlc3ROdW1iZXJJc1JldmVyc2libGUoRnJl
bmNoRlIsICIuNDU2IiwgIiwiKTsKKyAgICB0ZXN0TnVtYmVySXNSZXZlcnNpYmxlKEZyZW5jaEZS
LCAiLTAuNDU2IiwgIiwiKTsKKworICAgIC8vIFRlc3Qgc29tZSBvZiBtYWpvciBsb2NhbGVzLgor
ICAgIHRlc3ROdW1iZXJzKEFyYWJpY0VHKTsKKyAgICB0ZXN0TnVtYmVycyhHZXJtYW4pOworICAg
IHRlc3ROdW1iZXJzKFNwYW5pc2gpOworICAgIHRlc3ROdW1iZXJzKFBlcnNpYW4pOworICAgIHRl
c3ROdW1iZXJzKEphcGFuZXNlSlApOworICAgIHRlc3ROdW1iZXJzKEtvcmVhbktSKTsKKyAgICB0
ZXN0TnVtYmVycyhDaGluZXNlQ04pOworICAgIHRlc3ROdW1iZXJzKENoaW5lc2VISyk7CisgICAg
dGVzdE51bWJlcnMoQ2hpbmVzZVRXKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156596</attachid>
            <date>2012-08-05 22:37:46 -0700</date>
            <delta_ts>2012-08-05 23:34:32 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-93085-20120806143722.patch</filename>
            <type>text/plain</type>
            <size>17119</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTAxYmQ1ZGYwM2ViZGFm
YmQ5Y2QxOTA3NjA2NGU0ZWZkZWM4MzYyNS4uODM3ZjYyMzNhYjg3Y2RlMDY2ZTE4MjY0NmI0OGEy
MTM0NjMwNzU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA4LTA1ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW0td2luXSBV
c2Ugc3lzdGVtIGxvY2FsZSBmb3IgbnVtYmVyIHJlcHJlc2VudGF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzA4NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGhhdmUgdXNlZCBMb2NhbGVJQ1Ug
Zm9yIG51bWJlciBsb2NhbGl6YXRpb24gKHByZXNlbnRhdGlvbiBvZiA8aW5wdXQKKyAgICAgICAg
dHlwZT1udW1iZXI+KSBldmVuIG9uIFdpbmRvd3MuIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBudW1i
ZXIgbG9jYWxpemF0aW9uCisgICAgICAgIGZlYXR1cmUgd2l0aCBXaW5kb3dzIEFQSSB0byBMb2Nh
bGVXaW4sIGFuZCB3ZSBzdG9wIHVzaW5nIExvY2FsZUlDVSBvbgorICAgICAgICBXaW5kb3dzLgor
CisgICAgICAgIFRlc3RzOiBBZGQgbmV3IHRlc3QgY2FzZXMgdG8gV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL0xvY2FsZVdpblRlc3QuY3BwLgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXA6CisgICAgICAgIC0gU3RvcCB1c2luZyBMb2NhbGVJQ1Uue2NwcCxofSBhbmQgTG9jYWxpemVk
TnVtYmVySUNVLmNwcC4KKyAgICAgICAgLSBBZGQgTG9jYWxpemVkTnVtYmVyV2luLmNwcC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
b2NhbGVXaW46OkxvY2FsZVdpbik6CisgICAgICAgICAtIEluaXRpYWxpemUgbV9kaWRJbml0aWFs
aXplTnVtYmVyRGF0YS4KKyAgICAgICAgIC0gVXNlIGdldExvY2FsZUluZm8oKSB0byBvYnRhaW4g
TE9DQUxFX0lGSVJTVERBWU9GV0VFSy4KKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsZVdpbjo6Z2V0
TG9jYWxlSW5mbyk6CisgICAgICAgIEFkZGVkLiBBIGhlbHBlciB0byBvYnRhaW4gaW50ZWdlciBs
b2NhbGUgdmFsdWUuCisgICAgICAgIChXZWJDb3JlOjpMb2NhbGVXaW46OmluaXRpYWxpemVOdW1i
ZXJMb2NhbGl6ZXJEYXRhKToKKyAgICAgICAgQWRkZWQuIFByZXBhcmUgZGF0YSBmb3IgbnVtYmVy
IGxvY2FsaXphdGlvbiwgYW5kIHBhc3MgaXQgdG8gTnVtYmVyTG9jYWxpemVyLgorICAgICAgICAq
IHBsYXRmb3JtL3RleHQvTG9jYWxlV2luLmg6CisgICAgICAgIChMb2NhbGVXaW4pOiBJbmhlcml0
IE51bWJlckxvY2FsaXplciwgYW5kIGRlY2xhcmUgc29tZSBuZXcgbWVtYmVycy4KKyAgICAgICAg
KiBwbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGl6ZWROdW1iZXJXaW4uY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OmNvbnZlcnRUb0xvY2FsaXplZE51bWJlcik6CisgICAgICAgIEZvcndhcmQg
dG8gdGhlIGNvcnJlc3BvbmRpbmcgZnVuY3Rpb24gb2YgTG9jYWxlV2luLgorICAgICAgICAoV2Vi
Q29yZTo6Y29udmVydEZyb21Mb2NhbGl6ZWROdW1iZXIpOiBkaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OmxvY2FsaXplZERlY2ltYWxTZXBhcmF0b3IpOiBkaXR0by4KKwogMjAxMi0wOC0wMyAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtLXdpbl0g
VXNlIHRoZSBkZWZhdWx0IGxvY2FsZSBvbmx5IGlmIHRoZSBicm93c2VyIGxvY2FsZSBtYXRjaGVz
IHRvIGl0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDIyN2RmM2I5YWQ1NjhjZTgyYjQz
MzVkY2EzMTA3NTVlOGNlYjg4ZWQuLjJjNzc4MjZiOWVlOTgxMGRjMTg5Nzg4MzBlMjAwZDI2OTM5
YWNjZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTIt
MDgtMDUgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJv
bWl1bS13aW5dIFVzZSBzeXN0ZW0gbG9jYWxlIGZvciBudW1iZXIgcmVwcmVzZW50YXRpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzMDg1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lw
aToKKyAgICAgICAgRG9uJ3QgaW5jbHVkZSBMb2NhbGl6ZWQqSUNVVGVzdC5jcHAgaW4gV2luZG93
cyBhbmQgT1NYLiBUaGV5IGFyZSB1bm5lY2Vzc2FyeS4KKyAgICAgICAgKiB0ZXN0cy9Mb2NhbGVX
aW5UZXN0LmNwcDoKKyAgICAgICAgKExvY2FsZVdpblRlc3QpOiBBZGQgc29tZSBMQ0lEIHN5bWJv
bHMuCisgICAgICAgIChMb2NhbGVXaW5UZXN0OjpkZWNpbWFsU2VwYXJhdG9yKToKKyAgICAgICAg
QSBoZWxwZXIgZm9yIExvY2FsZVdpblRlc3QuZGVjaW1hbFNlcGFyYXRvci4KKyAgICAgICAgKFRF
U1RfRihMb2NhbGVXaW5UZXN0LCBkZWNpbWFsU2VwYXJhdG9yKSk6CisgICAgICAgIEEgdGVzdCBm
b3IgTG9jYWxlV2luOjpsb2NhbGl6ZWREZWNpbWFsU2VwYXJhdG9yKCkuIFRoaXMgaXMgYSBjb3B5
IG9mIHRoZQorICAgICAgICBjb3JyZXNwb25kaW5nIHRlc3QgaW4gTG9jYWxpemVkTnVtYmVySUNV
VGVzdC5jcHAuCisgICAgICAgICh0ZXN0TnVtYmVySXNSZXZlcnNpYmxlKToKKyAgICAgICAgQSB0
ZXN0IGhlbHBlciBMb2NhbGVXaW5UZXN0LmxvY2FsaXplZE51bWJlclJvdW5kVHJpcC4gVGhpcyBp
cyBhIGNvcHkgb2YKKyAgICAgICAgdGhlIGNvcnJlc3BvbmRpbmcgdGVzdCBpbiBMb2NhbGl6ZWRO
dW1iZXJJQ1VUZXN0LmNwcC4KKyAgICAgICAgKHRlc3ROdW1iZXJzKTogZGl0dG8uCisgICAgICAg
IChURVNUX0YoTG9jYWxlV2luVGVzdCwgbG9jYWxpemVkTnVtYmVyUm91bmRUcmlwKSk6CisgICAg
ICAgIFRlc3RzIGZvciBMb2NhbGVXaW4gY2hhbmdlcy4gVGhpcyBpcyBhIGNvcHkgb2YgdGhlIGNv
cnJlc3BvbmRpbmcgdGVzdHMKKyAgICAgICAgaW4gTG9jYWxpemVkTnVtYmVySUNVVGVzdC5jcHAu
CisKIDIwMTItMDgtMDQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBSb2xsZWQgREVQUy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXAvV2ViQ29yZS5neXAKaW5kZXggOTdlYWFmNDY0YjA5Zjk2MDdlMThjZDY0YTkzNGFkYzQx
YzEyMWFiMi4uMTNhYjYxOTBjM2U0NTdkZTM0ZDg2MDkzMDg1YjczN2ZiMzNkZWE0NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTE3OTQsMTAgKzE3OTQsMTQgQEAK
ICAgICAgICAgICAgICMgU3lzdGVtSW5mby5jcHAgaXMgdXNlZnVsIGFuZCB3ZSBkb24ndCB3YW50
IHRvIGNvcHkgaXQuCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAncGxhdGZvcm0vd2luL1N5c3Rl
bUluZm9cXC5jcHAkJ10sCiAKKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS90ZXh0
L0xvY2FsZUlDVVxcLmNwcCQnXSwKKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS90
ZXh0L0xvY2FsZUlDVVxcLmgkJ10sCiAgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0v
dGV4dC9Mb2NhbGl6ZWREYXRlSUNVXC5jcHAkJ10sCisgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAn
cGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJJQ1VcLmNwcCQnXSwKICAgICAgICAgICAgIFsn
aW5jbHVkZScsICdwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGVXaW5cLmNwcCQnXSwKICAgICAg
ICAgICAgIFsnaW5jbHVkZScsICdwbGF0Zm9ybS90ZXh0L0xvY2FsZVdpblwuY3BwJCddLAogICAg
ICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3JtL3RleHQvTG9jYWxlV2luXC5oJCddLAorICAg
ICAgICAgICAgWydpbmNsdWRlJywgJ3BsYXRmb3JtL3RleHQvd2luL0xvY2FsaXplZE51bWJlcldp
blxcLmNwcCQnXSwKICAgICAgICAgICBdLAogICAgICAgICB9LHsgIyBPUyE9IndpbiIKICAgICAg
ICAgICAnc291cmNlcy8nOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMWJmZmNmYTk5MzkwOTQxZGZm
ODFiNjE5ZTcwNjcwYmQ4YjRkOWY3ZC4uNWNjYWViNGIxMDRmYTFiNmE3OTg1ZDZkYjQxMDJlODJh
OGJmNTY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNDQ4NSw2ICs0NDg1LDcgQEAKICAgICAgICAg
ICAgICdwbGF0Zm9ybS90ZXh0L3F0L1RleHRDb2RlY1F0LmgnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5jcHAnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oJywKKyAgICAgICAgICAgICdw
bGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGl6ZWROdW1iZXJXaW4uY3BwJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS90ZXh0L3dpbi9UZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVV2luLmNwcCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vdGV4dC93aW4vVGV4dENvZGVjV2luLmNwcCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vdGV4dC93aW4vVGV4dENvZGVjV2luLmgnLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3BwCmluZGV4IDhiZDM3MDNmZWFhZDFhOGE5YTNhZmYz
NmViMDIzMThmODhiNmVkNjYuLjY4YjYzNjdkOGUyMDQ5MjUzNTUyNDlkMWI4MWE0OTY4OTZmMzFi
NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2luLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHAKQEAgLTU3
LDYgKzU3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBpbmxpbmUgTG9jYWxlV2luOjpMb2Nh
bGVXaW4oTENJRCBsY2lkKQogICAgIDogbV9sY2lkKGxjaWQpCisgICAgLCBtX2RpZEluaXRpYWxp
emVOdW1iZXJEYXRhKGZhbHNlKQogewogICAgIFNZU1RFTVRJTUUgc3lzdGVtVGltZTsKICAgICBH
ZXRMb2NhbFRpbWUoJnN5c3RlbVRpbWUpOwpAQCAtNjQsNyArNjUsNyBAQCBpbmxpbmUgTG9jYWxl
V2luOjpMb2NhbGVXaW4oTENJRCBsY2lkKQogCiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikK
ICAgICBEV09SRCB2YWx1ZSA9IDA7Ci0gICAgOjpHZXRMb2NhbGVJbmZvKG1fbGNpZCwgTE9DQUxF
X0lGSVJTVERBWU9GV0VFSyB8IExPQ0FMRV9SRVRVUk5fTlVNQkVSLCByZWludGVycHJldF9jYXN0
PExQV1NUUj4oJnZhbHVlKSwgc2l6ZW9mKHZhbHVlKSAvIHNpemVvZihUQ0hBUikpOworICAgIGdl
dExvY2FsZUluZm8oTE9DQUxFX0lGSVJTVERBWU9GV0VFSywgdmFsdWUpOwogICAgIC8vIDA6TW9u
ZGF5LCAuLi4sIDY6U3VuZGF5LgogICAgIC8vIFdlIG5lZWQgMSBmb3IgTW9uZGF5LCAwIGZvciBT
dW5kYXkuCiAgICAgbV9maXJzdERheU9mV2VlayA9ICh2YWx1ZSArIDEpICUgNzsKQEAgLTExOCw2
ICsxMTksMTEgQEAgU3RyaW5nIExvY2FsZVdpbjo6Z2V0TG9jYWxlSW5mb1N0cmluZyhMQ1RZUEUg
dHlwZSkKICAgICByZXR1cm4gU3RyaW5nOjphZG9wdChidWZmZXIpOwogfQogCit2b2lkIExvY2Fs
ZVdpbjo6Z2V0TG9jYWxlSW5mbyhMQ1RZUEUgdHlwZSwgRFdPUkQmIHJlc3VsdCkKK3sKKyAgICA6
OkdldExvY2FsZUluZm8obV9sY2lkLCB0eXBlIHwgTE9DQUxFX1JFVFVSTl9OVU1CRVIsIHJlaW50
ZXJwcmV0X2Nhc3Q8TFBXU1RSPigmcmVzdWx0KSwgc2l6ZW9mKERXT1JEKSAvIHNpemVvZihUQ0hB
UikpOworfQorCiB2b2lkIExvY2FsZVdpbjo6ZW5zdXJlU2hvcnRNb250aExhYmVscygpCiB7CiAg
ICAgaWYgKCFtX3Nob3J0TW9udGhMYWJlbHMuaXNFbXB0eSgpKQpAQCAtNjkwLDQgKzY5Niw3NSBA
QCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgTG9jYWxlV2luOjp0aW1lQU1QTUxhYmVscygpCiB9CiAj
ZW5kaWYKIAordm9pZCBMb2NhbGVXaW46OmluaXRpYWxpemVOdW1iZXJMb2NhbGl6ZXJEYXRhKCkK
K3sKKyAgICBpZiAobV9kaWRJbml0aWFsaXplTnVtYmVyRGF0YSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgVmVjdG9yPFN0cmluZywgRGVjaW1hbFN5bWJvbHNTaXplPiBzeW1ib2xzOworICAgIGVu
dW0gRGlnaXRTdWJzdGl0dXRpb24geworICAgICAgICBEaWdpdFN1YnN0aXR1dGlvbkNvbnRleHQg
PSAwLAorICAgICAgICBEaWdpdFN1YnN0aXR1dGlvbjB0bzkgPSAxLAorICAgICAgICBEaWdpdFN1
YnN0aXR1dGlvbk5hdGl2ZSA9IDIsCisgICAgfTsKKyAgICBEV09SRCBkaWdpdFN1YnN0aXR1dGlv
biA9IERpZ2l0U3Vic3RpdHV0aW9uMHRvOTsKKyAgICBnZXRMb2NhbGVJbmZvKExPQ0FMRV9JRElH
SVRTVUJTVElUVVRJT04sIGRpZ2l0U3Vic3RpdHV0aW9uKTsKKyAgICBpZiAoZGlnaXRTdWJzdGl0
dXRpb24gIT0gRGlnaXRTdWJzdGl0dXRpb25OYXRpdmUpIHsKKyAgICAgICAgc3ltYm9scy5hcHBl
bmQoIjAiKTsKKyAgICAgICAgc3ltYm9scy5hcHBlbmQoIjEiKTsKKyAgICAgICAgc3ltYm9scy5h
cHBlbmQoIjIiKTsKKyAgICAgICAgc3ltYm9scy5hcHBlbmQoIjMiKTsKKyAgICAgICAgc3ltYm9s
cy5hcHBlbmQoIjQiKTsKKyAgICAgICAgc3ltYm9scy5hcHBlbmQoIjUiKTsKKyAgICAgICAgc3lt
Ym9scy5hcHBlbmQoIjYiKTsKKyAgICAgICAgc3ltYm9scy5hcHBlbmQoIjciKTsKKyAgICAgICAg
c3ltYm9scy5hcHBlbmQoIjgiKTsKKyAgICAgICAgc3ltYm9scy5hcHBlbmQoIjkiKTsKKyAgICB9
IGVsc2UgeworICAgICAgICBTdHJpbmcgZGlnaXRzID0gZ2V0TG9jYWxlSW5mb1N0cmluZyhMT0NB
TEVfU05BVElWRURJR0lUUyk7CisgICAgICAgIEFTU0VSVChkaWdpdHMubGVuZ3RoKCkgPj0gMTAp
OworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgMTA7ICsraSkKKyAgICAgICAgICAg
IHN5bWJvbHMuYXBwZW5kKGRpZ2l0cy5zdWJzdHJpbmcoaSwgMSkpOworICAgIH0KKyAgICBBU1NF
UlQoc3ltYm9scy5zaXplKCkgPT0gRGVjaW1hbFNlcGFyYXRvckluZGV4KTsKKyAgICBzeW1ib2xz
LmFwcGVuZChnZXRMb2NhbGVJbmZvU3RyaW5nKExPQ0FMRV9TREVDSU1BTCkpOworICAgIEFTU0VS
VChzeW1ib2xzLnNpemUoKSA9PSBHcm91cFNlcGFyYXRvckluZGV4KTsKKyAgICBzeW1ib2xzLmFw
cGVuZChnZXRMb2NhbGVJbmZvU3RyaW5nKExPQ0FMRV9TVEhPVVNBTkQpKTsKKyAgICBBU1NFUlQo
c3ltYm9scy5zaXplKCkgPT0gRGVjaW1hbFN5bWJvbHNTaXplKTsKKworICAgIFN0cmluZyBuZWdh
dGl2ZVNpZ24gPSBnZXRMb2NhbGVJbmZvU3RyaW5nKExPQ0FMRV9TTkVHQVRJVkVTSUdOKTsKKyAg
ICBlbnVtIE5lZ2F0aXZlRm9ybWF0IHsKKyAgICAgICAgTmVnYXRpdmVGb3JtYXRQYXJlbnRoZXNp
cyA9IDAsCisgICAgICAgIE5lZ2F0aXZlRm9ybWF0U2lnblByZWZpeCA9IDEsCisgICAgICAgIE5l
Z2F0aXZlRm9ybWF0U2lnblNwYWNlUHJlZml4ID0gMiwKKyAgICAgICAgTmVnYXRpdmVGb3JtYXRT
aWduU3VmZml4ID0gMywKKyAgICAgICAgTmVnYXRpdmVGb3JtYXRTcGFjZVNpZ25TdWZmaXggPSA0
LAorICAgIH07CisgICAgRFdPUkQgbmVnYXRpdmVGb3JtYXQgPSBOZWdhdGl2ZUZvcm1hdFNpZ25Q
cmVmaXg7CisgICAgZ2V0TG9jYWxlSW5mbyhMT0NBTEVfSU5FR05VTUJFUiwgbmVnYXRpdmVGb3Jt
YXQpOworICAgIFN0cmluZyBuZWdhdGl2ZVByZWZpeCA9IGVtcHR5U3RyaW5nKCk7CisgICAgU3Ry
aW5nIG5lZ2F0aXZlU3VmZml4ID0gZW1wdHlTdHJpbmcoKTsKKyAgICBzd2l0Y2ggKG5lZ2F0aXZl
Rm9ybWF0KSB7CisgICAgY2FzZSBOZWdhdGl2ZUZvcm1hdFBhcmVudGhlc2lzOgorICAgICAgICBu
ZWdhdGl2ZVByZWZpeCA9ICIoIjsKKyAgICAgICAgbmVnYXRpdmVTdWZmaXggPSAiKSI7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgTmVnYXRpdmVGb3JtYXRTaWduU3BhY2VQcmVmaXg6CisgICAg
ICAgIG5lZ2F0aXZlUHJlZml4ID0gbmVnYXRpdmVTaWduICsgIiAiOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIE5lZ2F0aXZlRm9ybWF0U2lnblN1ZmZpeDoKKyAgICAgICAgbmVnYXRpdmVTdWZm
aXggPSBuZWdhdGl2ZVNpZ247CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTmVnYXRpdmVGb3Jt
YXRTcGFjZVNpZ25TdWZmaXg6CisgICAgICAgIG5lZ2F0aXZlU3VmZml4ID0gIiAiICsgbmVnYXRp
dmVTaWduOworICAgICAgICBicmVhazsKKyAgICBjYXNlIE5lZ2F0aXZlRm9ybWF0U2lnblByZWZp
eDogLy8gRmFsbCB0aHJvdWdoLgorICAgIGRlZmF1bHQ6CisgICAgICAgIG5lZ2F0aXZlUHJlZml4
ID0gbmVnYXRpdmVTaWduOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgbV9kaWRJbml0aWFs
aXplTnVtYmVyRGF0YSA9IHRydWU7CisgICAgc2V0TnVtYmVyTG9jYWxpemVyRGF0YShzeW1ib2xz
LCBlbXB0eVN0cmluZygpLCBlbXB0eVN0cmluZygpLCBuZWdhdGl2ZVByZWZpeCwgbmVnYXRpdmVT
dWZmaXgpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0xvY2FsZVdpbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uaApp
bmRleCA5MjcwZjE2OWY0YjM1OTVlMjljM2FkMGQ3NGNlODc0OTBmYmI0ZjgzLi5mODI0OGFhNGNk
NzMwOGQ4YTk5MzMzMjkyMDUwZTYyNDE4ODgyNTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvTG9jYWxlV2luLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpZm5kZWYgTG9jYWxlV2luX2gK
ICNkZWZpbmUgTG9jYWxlV2luX2gKIAorI2luY2x1ZGUgIk51bWJlckxvY2FsaXplci5oIgogI2lu
Y2x1ZGUgPHdpbmRvd3MuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KQEAgLTQxLDcgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
RGF0ZUNvbXBvbmVudHM7CiBzdHJ1Y3QgRGF0ZUZvcm1hdFRva2VuOwogCi1jbGFzcyBMb2NhbGVX
aW4geworY2xhc3MgTG9jYWxlV2luIDogcHVibGljIE51bWJlckxvY2FsaXplciB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxlV2luPiBjcmVhdGUoTENJRCk7CiAgICAgc3Rh
dGljIExvY2FsZVdpbiogY3VycmVudExvY2FsZSgpOwpAQCAtNjksNiArNzAsNyBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IExvY2FsZVdpbihMQ0lEKTsKICAgICBTdHJpbmcgZ2V0
TG9jYWxlSW5mb1N0cmluZyhMQ1RZUEUpOworICAgIHZvaWQgZ2V0TG9jYWxlSW5mbyhMQ1RZUEUs
IERXT1JEJik7CiAgICAgdm9pZCBlbnN1cmVTaG9ydE1vbnRoTGFiZWxzKCk7CiAgICAgdm9pZCBl
bnN1cmVNb250aExhYmVscygpOwogICAgIHZvaWQgZW5zdXJlU2hvcnREYXRlVG9rZW5zKCk7CkBA
IC03OCw2ICs4MCw4IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKICAg
ICB2b2lkIGVuc3VyZVdlZWtEYXlTaG9ydExhYmVscygpOwogI2VuZGlmCisgICAgLy8gTnVtYmVy
TG9jYWxpemVyIGZ1bmN0aW9uOgorICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplTnVtYmVyTG9j
YWxpemVyRGF0YSgpIE9WRVJSSURFOwogCiAgICAgTENJRCBtX2xjaWQ7CiAgICAgaW50IG1fYmFz
ZVllYXI7CkBAIC05Miw2ICs5Niw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fdGltZUZvcm1h
dFRleHQ7CiAgICAgVmVjdG9yPFN0cmluZz4gbV90aW1lQU1QTUxhYmVsczsKICNlbmRpZgorICAg
IGJvb2wgbV9kaWRJbml0aWFsaXplTnVtYmVyRGF0YTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2Fs
aXplZE51bWJlcldpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2Nh
bGl6ZWROdW1iZXJXaW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyM2U2NTAyZTQ3NDQwMzY4NmI4ZWRhMjVl
MjM3MTFlYTdlNGI4ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L3dpbi9Mb2NhbGl6ZWROdW1iZXJXaW4uY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorICogQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKyAqIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTG9jYWxpemVkTnVt
YmVyLmgiCisKKyNpbmNsdWRlICJMb2NhbGVXaW4uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitTdHJpbmcgY29udmVydFRvTG9jYWxpemVkTnVtYmVyKGNvbnN0IFN0cmluZyYgY2Fub25pY2Fs
TnVtYmVyU3RyaW5nLCB1bnNpZ25lZCBmcmFjdGlvbkRpZ2l0cykKK3sKKyAgICByZXR1cm4gTG9j
YWxlV2luOjpjdXJyZW50TG9jYWxlKCktPmNvbnZlcnRUb0xvY2FsaXplZE51bWJlcihjYW5vbmlj
YWxOdW1iZXJTdHJpbmcpOworfQorCitTdHJpbmcgY29udmVydEZyb21Mb2NhbGl6ZWROdW1iZXIo
Y29uc3QgU3RyaW5nJiBsb2NhbGl6ZWROdW1iZXJTdHJpbmcpCit7CisgICAgcmV0dXJuIExvY2Fs
ZVdpbjo6Y3VycmVudExvY2FsZSgpLT5jb252ZXJ0RnJvbUxvY2FsaXplZE51bWJlcihsb2NhbGl6
ZWROdW1iZXJTdHJpbmcpOworfQorCisjaWYgRU5BQkxFKElOUFVUX1RZUEVfVElNRV9NVUxUSVBM
RV9GSUVMRFMpCitTdHJpbmcgbG9jYWxpemVkRGVjaW1hbFNlcGFyYXRvcigpCit7CisgICAgcmV0
dXJuIExvY2FsZVdpbjo6Y3VycmVudExvY2FsZSgpLT5sb2NhbGl6ZWREZWNpbWFsU2VwYXJhdG9y
KCk7Cit9CisjZW5kaWYKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dl
YktpdC5neXBpCmluZGV4IDBmODM4YmRkMzRiMzJiMDdkZDJmNzc0MmU0NWQzNGZjNGY2YzZlYTIu
LjVlZGVmZDI2OTE0NDU5MTllZWJiMWJlZjY5OGYyNGE2MTFhNTgxN2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9XZWJLaXQuZ3lwaQpAQCAtMTI1LDggKzEyNSw2IEBACiAgICAgICAgICAgICAndGVzdHMv
TGV2ZWxEQlRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9MaW5rSGlnaGxpZ2h0VGVzdC5j
cHAnLAogICAgICAgICAgICAgJ3Rlc3RzL0xpc3RlbmVyTGVha1Rlc3QuY3BwJywKLSAgICAgICAg
ICAgICd0ZXN0cy9Mb2NhbGl6ZWREYXRlSUNVVGVzdC5jcHAnLAotICAgICAgICAgICAgJ3Rlc3Rz
L0xvY2FsaXplZE51bWJlcklDVVRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9NZW1vcnlJ
bmZvLmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvTWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdC5j
cHAnLAogICAgICAgICAgICAgJ3Rlc3RzL01vY2tDQ1F1YWRDdWxsZXIuaCcsCkBAIC0xOTUsNiAr
MTkzLDEyIEBACiAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9TY3JvbGxBbmltYXRvck5vbmVU
ZXN0LmNwcCcsCiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgIH1dLAorICAgICAgICAg
ICAgWydvc19wb3NpeD09MSBhbmQgT1MhPSJtYWMiJywgeworICAgICAgICAgICAgICAgICd3ZWJr
aXRfdW5pdHRlc3RfZmlsZXMnOiBbCisgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9Mb2NhbGl6
ZWREYXRlSUNVVGVzdC5jcHAnLAorICAgICAgICAgICAgICAgICAgICAndGVzdHMvTG9jYWxpemVk
TnVtYmVySUNVVGVzdC5jcHAnLAorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICB9XSwK
ICAgICAgICAgICAgIFsndG9vbGtpdF91c2VzX2d0ayA9PSAxJywgewogICAgICAgICAgICAgICAg
ICd3ZWJraXRfdW5pdHRlc3RfZmlsZXMnOiBbCiAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9X
ZWJJbnB1dEV2ZW50RmFjdG9yeVRlc3RHdGsuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlV2luVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0xvY2FsZVdpblRlc3QuY3BwCmluZGV4IDhkYTJmNDQ2MTI1MTM2MTEyZDdhNzUx
MWU3NzliYzg4ZjI5MGNjZWUuLjVmNTY0MmU5MWU2NWViODQyYTY2ZGJmMDBkYTg4ZmQyNjhmMDg2
MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlV2luVGVz
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVXaW5UZXN0LmNw
cApAQCAtNTcsMTAgKzU3LDE5IEBAIHByb3RlY3RlZDoKICAgICB9OwogCiAgICAgLy8gU2VlIGh0
dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvZ29nbG9iYWwvYmI5NjQ2NjQuYXNweAorICAg
IC8vIE5vdGUgdGhhdCBzb21lIGxvY2FsZXMgYXJlIGNvdW50cnktbmV1dHJhbC4KICAgICBlbnVt
IHsKLSAgICAgICAgRW5nbGlzaFVTID0gMHg0MDksCi0gICAgICAgIEZyZW5jaEZSID0gMHg0MEMs
Ci0gICAgICAgIEphcGFuZXNlSlAgPSAweDQxMSwKKyAgICAgICAgQXJhYmljRUcgPSAweDBDMDEs
IC8vIGFyLWVnCisgICAgICAgIENoaW5lc2VDTiA9IDB4MDgwNCwgLy8gemgtY24KKyAgICAgICAg
Q2hpbmVzZUhLID0gMHgwQzA0LCAvLyB6aC1oaworICAgICAgICBDaGluZXNlVFcgPSAweDA0MDQs
IC8vIHpoLXR3CisgICAgICAgIEdlcm1hbiA9IDB4MDQwNywgLy8gZGUKKyAgICAgICAgRW5nbGlz
aFVTID0gMHg0MDksIC8vIGVuLXVzCisgICAgICAgIEZyZW5jaEZSID0gMHg0MEMsIC8vIGZyCisg
ICAgICAgIEphcGFuZXNlSlAgPSAweDQxMSwgLy8gamEKKyAgICAgICAgS29yZWFuS1IgPSAweDA0
MTIsIC8vIGtvCisgICAgICAgIFBlcnNpYW4gPSAweDA0MjksIC8vIGZhCisgICAgICAgIFNwYW5p
c2ggPSAweDA0MEEsIC8vIGVzCiAgICAgfTsKIAogICAgIERhdGVDb21wb25lbnRzIGRhdGVDb21w
b25lbnRzKGludCB5ZWFyLCBpbnQgbW9udGgsIGludCBkYXkpCkBAIC0xMzEsNiArMTQwLDEyIEBA
IHByb3RlY3RlZDoKICAgICAgICAgT3duUHRyPExvY2FsZVdpbj4gbG9jYWxlID0gTG9jYWxlV2lu
OjpjcmVhdGUobGNpZCk7CiAgICAgICAgIHJldHVybiBsb2NhbGUtPnRpbWVBTVBNTGFiZWxzKClb
aW5kZXhdOwogICAgIH0KKworICAgIFN0cmluZyBkZWNpbWFsU2VwYXJhdG9yKExDSUQgbGNpZCkK
KyAgICB7CisgICAgICAgIE93blB0cjxMb2NhbGVXaW4+IGxvY2FsZSA9IExvY2FsZVdpbjo6Y3Jl
YXRlKGxjaWQpOworICAgICAgICByZXR1cm4gbG9jYWxlLT5sb2NhbGl6ZWREZWNpbWFsU2VwYXJh
dG9yKCk7CisgICAgfQogI2VuZGlmCiB9OwogCkBAIC0zMjgsNCArMzQzLDUyIEBAIFRFU1RfRihM
b2NhbGVXaW5UZXN0LCB0aW1lQU1QTUxhYmVscykKICAgICBFWFBFQ1RfU1RSRVEoIlx4RTVceDhE
XHg4OFx4RTVceDg5XHg4RCIsIHRpbWVBTVBNTGFiZWwoSmFwYW5lc2VKUCwgMCkudXRmOCgpLmRh
dGEoKSk7CiAgICAgRVhQRUNUX1NUUkVRKCJceEU1XHg4RFx4ODhceEU1XHhCRVx4OEMiLCB0aW1l
QU1QTUxhYmVsKEphcGFuZXNlSlAsIDEpLnV0ZjgoKS5kYXRhKCkpOwogfQorCitURVNUX0YoTG9j
YWxlV2luVGVzdCwgZGVjaW1hbFNlcGFyYXRvcikKK3sKKyAgICBFWFBFQ1RfU1RSRVEoIi4iLCBk
ZWNpbWFsU2VwYXJhdG9yKEVuZ2xpc2hVUykudXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NU
UkVRKCIsIiwgZGVjaW1hbFNlcGFyYXRvcihGcmVuY2hGUikudXRmOCgpLmRhdGEoKSk7Cit9CiAj
ZW5kaWYKKworc3RhdGljIHZvaWQgdGVzdE51bWJlcklzUmV2ZXJzaWJsZShMQ0lEIGxjaWQsIGNv
bnN0IGNoYXIqIG9yaWdpbmFsLCBjb25zdCBjaGFyKiBzaG91bGRIYXZlID0gMCkKK3sKKyAgICBP
d25QdHI8TG9jYWxlV2luPiBsb2NhbGUgPSBMb2NhbGVXaW46OmNyZWF0ZShsY2lkKTsKKyAgICBT
dHJpbmcgbG9jYWxpemVkID0gbG9jYWxlLT5jb252ZXJ0VG9Mb2NhbGl6ZWROdW1iZXIob3JpZ2lu
YWwpOworICAgIGlmIChzaG91bGRIYXZlKQorICAgICAgICBFWFBFQ1RfVFJVRShsb2NhbGl6ZWQu
Y29udGFpbnMoc2hvdWxkSGF2ZSkpOworICAgIFN0cmluZyBjb252ZXJ0ZWQgPSBsb2NhbGUtPmNv
bnZlcnRGcm9tTG9jYWxpemVkTnVtYmVyKGxvY2FsaXplZCk7CisgICAgRVhQRUNUX1NUUkVRKG9y
aWdpbmFsLCBjb252ZXJ0ZWQudXRmOCgpLmRhdGEoKSk7Cit9CisKK3ZvaWQgdGVzdE51bWJlcnMo
TENJRCBsY2lkKQoreworICAgIHRlc3ROdW1iZXJJc1JldmVyc2libGUobGNpZCwgIjEyMzQ1Njc4
OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpOworICAgIHRlc3ROdW1iZXJJc1JldmVyc2libGUobGNp
ZCwgIi0xMjMuNDU2Iik7CisgICAgdGVzdE51bWJlcklzUmV2ZXJzaWJsZShsY2lkLCAiLjQ1NiIp
OworICAgIHRlc3ROdW1iZXJJc1JldmVyc2libGUobGNpZCwgIi0wLjQ1NiIpOworfQorCitURVNU
X0YoTG9jYWxlV2luVGVzdCwgbG9jYWxpemVkTnVtYmVyUm91bmRUcmlwKQoreworICAgIHRlc3RO
dW1iZXJJc1JldmVyc2libGUoRW5nbGlzaFVTLCAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3
ODkwIik7CisgICAgdGVzdE51bWJlcklzUmV2ZXJzaWJsZShFbmdsaXNoVVMsICItMTIzLjQ1NiIs
ICIuIik7CisgICAgdGVzdE51bWJlcklzUmV2ZXJzaWJsZShFbmdsaXNoVVMsICIuNDU2IiwgIi4i
KTsKKyAgICB0ZXN0TnVtYmVySXNSZXZlcnNpYmxlKEVuZ2xpc2hVUywgIi0wLjQ1NiIsICIuIik7
CisKKyAgICB0ZXN0TnVtYmVySXNSZXZlcnNpYmxlKEZyZW5jaEZSLCAiMTIzNDU2Nzg5MDEyMzQ1
Njc4OTAxMjM0NTY3ODkwIik7CisgICAgdGVzdE51bWJlcklzUmV2ZXJzaWJsZShGcmVuY2hGUiwg
Ii0xMjMuNDU2IiwgIiwiKTsKKyAgICB0ZXN0TnVtYmVySXNSZXZlcnNpYmxlKEZyZW5jaEZSLCAi
LjQ1NiIsICIsIik7CisgICAgdGVzdE51bWJlcklzUmV2ZXJzaWJsZShGcmVuY2hGUiwgIi0wLjQ1
NiIsICIsIik7CisKKyAgICAvLyBUZXN0IHNvbWUgb2YgbWFqb3IgbG9jYWxlcy4KKyAgICB0ZXN0
TnVtYmVycyhBcmFiaWNFRyk7CisgICAgdGVzdE51bWJlcnMoR2VybWFuKTsKKyAgICB0ZXN0TnVt
YmVycyhTcGFuaXNoKTsKKyAgICB0ZXN0TnVtYmVycyhQZXJzaWFuKTsKKyAgICB0ZXN0TnVtYmVy
cyhKYXBhbmVzZUpQKTsKKyAgICB0ZXN0TnVtYmVycyhLb3JlYW5LUik7CisgICAgdGVzdE51bWJl
cnMoQ2hpbmVzZUNOKTsKKyAgICB0ZXN0TnVtYmVycyhDaGluZXNlSEspOworICAgIHRlc3ROdW1i
ZXJzKENoaW5lc2VUVyk7Cit9Cg==
</data>
<flag name="review"
          id="166321"
          type_id="1"
          status="+"
          setter="morrita"
    />
          </attachment>
      

    </bug>

</bugzilla>