<?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>31821</bug_id>
          
          <creation_ts>2009-11-23 22:34:30 -0800</creation_ts>
          <short_desc>Type=number UI part 1: pseudo classes and appearances</short_desc>
          <delta_ts>2009-12-20 22:47:07 -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>All</rep_platform>
          <op_sys>All</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>27968</blocked>
    
    <blocked>32813</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>166003</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-11-23 22:34:30 -0800</bug_when>
    <thetext>To implement &lt;input type=number&gt; UI, introduces
   - ::-webkit-inner-spin-button pseudo CSS selector
   - ::-webkit-outer-spin-button pseudo CSS selector
   - new appearance type: inner-spin-button
   - new appearance type: outer-spin-button

You can see examples in Bug#27968 .  We&apos;ll have two types; inner and outer, because Windows and Mac have different manners for such controls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166004</commentid>
    <comment_count>1</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-11-23 22:36:40 -0800</bug_when>
    <thetext>Comments on this part in Bug#27968:

■■ Comment #12 From Eric Seidel 2009-09-23 10:31:35 PST (-) [reply] 
(From update of attachment 39537 [details])
The change looks OK.  Where did the &quot;*-spin-button&quot; names come from?  What does
it have to do with spinning?  Can you post a picture of what these inputs are
going to look like?

■■ Comment #15 From Eric Seidel 2009-09-23 10:36:37 PST (-) [reply] 
Why are these called spin buttons if the Mac APIs call them steppers?  Does
windows call these &quot;Spin buttons&quot;?

■■ Comment #16 From Eric Seidel 2009-09-23 10:38:18 PST (-) [reply] 
Why are they called inner and outer spin buttons if they&apos;re really up and down
steppers?  Please cite the spec, or talk about where these names came from. 
Ideally in your ChangeLogs, since that&apos;s what reviewers read.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166008</commentid>
    <comment_count>2</comment_count>
      <attachid>43751</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-11-23 23:49:51 -0800</bug_when>
    <thetext>Created attachment 43751
Proposed patch (rev.2)

* Improve ChangeLog
* Resolve conflicts

(In reply to comment #1)
&gt; Comments on this part in Bug#27968:
&gt; 
&gt; ■■ Comment #12 From Eric Seidel 2009-09-23 10:31:35 PST (-) [reply] 
&gt; (From update of attachment 39537 [details] [details])
&gt; The change looks OK.  Where did the &quot;*-spin-button&quot; names come from?  What does
&gt; it have to do with spinning?  Can you post a picture of what these inputs are
&gt; going to look like?
&gt; 
&gt; ■■ Comment #15 From Eric Seidel 2009-09-23 10:36:37 PST (-) [reply] 
&gt; Why are these called spin buttons if the Mac APIs call them steppers?  Does
&gt; windows call these &quot;Spin buttons&quot;?

Right.  Windows and GTK call such controls &quot;spin buttons.&quot;
I don&apos;t have strong preference about the name.  However &quot;Stepper&quot; is Mac-only uncommon.

&gt; ■■ Comment #16 From Eric Seidel 2009-09-23 10:38:18 PST (-) [reply] 
&gt; Why are they called inner and outer spin buttons if they&apos;re really up and down
&gt; steppers?  Please cite the spec, or talk about where these names came from. 
&gt; Ideally in your ChangeLogs, since that&apos;s what reviewers read.

An inner or outer spin button represents a pair of a upper arrow button and a lower arrow button.
An inner-spin-button will be placed at the inside of a text field (Windows&apos; standard style), and
an outer-spin-button will be placed at the outside of a text field (Mac&apos;s standard style).

I added some sentences about this to ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166129</commentid>
    <comment_count>3</comment_count>
      <attachid>43751</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-24 10:03:07 -0800</bug_when>
    <thetext>Comment on attachment 43751
Proposed patch (rev.2)

It&apos;s not at all clear from the code that &quot;inner&quot; means linux/win and &quot;outer&quot; means mac.  Can we clear this up some how?  I&apos;m really not sure I understand why the implementations need separate CSS styles like this.

I&apos;m just still confused why this patch does what it does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167350</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-30 12:37:03 -0800</bug_when>
    <thetext>style-queue successfully ran check-webkit-style on attachment 43751 without any errors</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172222</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-16 01:46:19 -0800</bug_when>
    <thetext>Attachment 43751 did not pass chromium-ews:
Full output: http://webkit-commit-queue.appspot.com/results/128468</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172290</commentid>
    <comment_count>6</comment_count>
      <attachid>43751</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-16 07:43:11 -0800</bug_when>
    <thetext>Comment on attachment 43751
Proposed patch (rev.2)

This patch has been in the review queue for a while and does not appear to build.  If you&apos;re still interested in this patch, please post an updated version that compiles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172645</commentid>
    <comment_count>7</comment_count>
      <attachid>45038</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-12-16 23:08:48 -0800</bug_when>
    <thetext>Created attachment 45038
A figure explaining spin button layout

(In reply to comment #3)
&gt; (From update of attachment 43751 [details])
&gt; It&apos;s not at all clear from the code that &quot;inner&quot; means linux/win and &quot;outer&quot;
&gt; means mac.  Can we clear this up some how?  I&apos;m really not sure I understand
&gt; why the implementations need separate CSS styles like this.
&gt; 
&gt; I&apos;m just still confused why this patch does what it does.

&quot;Inner&quot; means that it will be laid on the inside of text field border, and &quot;outer&quot; means it will be laid on the outside of text field border. Please see the figure I attach.
If we introduced just one spin-button class, we would need to implement two different layout and switch them by any way [1]. I thought introducing two classes, doing layout for both, 0x0 size for either, was much simpler than switching.

[1] may be
 * A renderer has &quot;#if PLATFORM(...)&quot;
  This seems inappropriate.  I don&apos;t know which layout is suitable for platforms other than mac and win. 
 * A platform code provides a flag representing inner or outer, a renderer switches layout by the flag.
  This may be another reasonable solution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172646</commentid>
    <comment_count>8</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-12-16 23:10:28 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Attachment 43751 [details] did not pass chromium-ews:
&gt; Full output: http://webkit-commit-queue.appspot.com/results/128468

Ah, the patch had a typo for !NEW_THEME code path.
Good catch by EWS!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172663</commentid>
    <comment_count>9</comment_count>
      <attachid>45042</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-12-17 00:28:34 -0800</bug_when>
    <thetext>Created attachment 45042
Proposed patch (rev.3)

- Fix build error without NEW_THEME</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172664</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-17 00:31:38 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45042 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173560</commentid>
    <comment_count>11</comment_count>
      <attachid>45042</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-19 11:21:14 -0800</bug_when>
    <thetext>Comment on attachment 45042
Proposed patch (rev.3)

I didn&apos;t carefully review the names of the appearance values, but this all seems OK. r=me on landing this next step.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173858</commentid>
    <comment_count>12</comment_count>
      <attachid>45042</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-20 20:58:07 -0800</bug_when>
    <thetext>Comment on attachment 45042
Proposed patch (rev.3)

Clearing flags on attachment: 45042

Committed r52432: &lt;http://trac.webkit.org/changeset/52432&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173859</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-20 20:58:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43751</attachid>
            <date>2009-11-23 23:49:51 -0800</date>
            <delta_ts>2009-12-17 00:28:34 -0800</delta_ts>
            <desc>Proposed patch (rev.2)</desc>
            <filename>0001-number-ui-definitions-2.patch</filename>
            <type>text/plain</type>
            <size>14967</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSAyMjhiNTc4Nzk0ZDU5OGRlMjM0ZjEwN2I5OGEyZDk2MDMyNDUyMDFhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBUdWUsIDI0IE5vdiAyMDA5IDE2OjAxOjUzICswOTAwClN1YmplY3Q6IFtQQVRDSF0gbnVtYmVy
LXVpLWRlZmluaXRpb25zLTIKCi0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgNDggKysrKysrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmggICAgICAgIHwgICAgNiArKysKIFdlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yLmNwcCAgICAgICAgICAgICAgICAgICAgfCAgIDEyICsrKysrLQogV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3IuaCAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIFdl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwICAgICAgICAgICAgICAgfCAgICA2ICsrKwog
V2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiAgICAgICAgICAgICAgICB8ICAgIDIgKwog
V2ViQ29yZS9jc3MvaHRtbC5jc3MgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysr
KysKIFdlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oICAgICAgICAgICAgICAgICAgfCAgICA1
ICstCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAgICAgICAgICAgICAgIHwgICAy
MCArKysrKysrKysrCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oICAgICAgICAgICAg
ICAgIHwgICAgNSArKwogV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFu
dHMuaCB8ICAgIDIgKy0KIDExIGZpbGVzIGNoYW5nZWQsIDExNSBpbnNlcnRpb25zKCspLCA2IGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggY2ZmYmExZC4uZjE1NDc1ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MSBAQAorMjAwOS0wOS0wMSAg
S2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIHRoZSBmb2xsb3dpbmdzOgorICAg
ICAgICAgIC0gOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHBzZXVkbyBDU1Mgc2VsZWN0b3IK
KyAgICAgICAgICAtIDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiBwc2V1ZG8gQ1NTIHNlbGVj
dG9yCisgICAgICAgICAgLSBuZXcgYXBwZWFyYW5jZSB0eXBlOiBpbm5lci1zcGluLWJ1dHRvbgor
ICAgICAgICAgIC0gbmV3IGFwcGVhcmFuY2UgdHlwZTogb3V0ZXItc3Bpbi1idXR0b24KKyAgICAg
ICAgVGhleSdyZSBnb2luZyB0byBiZSB1c2VkIGZvciA8aW5wdXQgdHlwZT1udW1iZXI+IFVJLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg5MzQKKyAg
ICAgICAgCisgICAgICAgIElubmVyLXNwaW4tYnV0dG9uIHdpbGwgYmUgdXNlZCBmb3IgV2luZG93
cywgYW5kIG91dGVyLXNwaW4tYnV0dG9uCisgICAgICAgIHdpbGwgYmUgdXNlZCBmb3IgTWFjLiBB
IHNwaW4tYnV0dG9uIHdpbGwgcmVwcmVzZW50IGEgcGFpciBvZiBhbgorICAgICAgICBpbmNyZWFz
aW5nIGJ1dHRvbiBwYXJ0IGFuZCBhIGRlY3JlYXNpbmcgYnV0dG9uIHBhcnQuIFNwaW5VcFN0YXRl
LAorICAgICAgICB3aGljaCBpcyBkZWZpbmVkIGluIFRoZW1lVHlwZXMuaCwgd2lsbCBiZSB1c2Vk
IHRvIGRpc3Rpbmd1aXNoCisgICAgICAgIHRoZXNlIHR3byBwYXJ0cy4KKyAgICAgICAgCisgICAg
ICAgIFRoZSBvdXRlci1zcGluLWJ1dHRvbiBpbXBsZW1lbnRhdGlvbiB3aWxsIHVzZSBOU1N0ZXBw
ZXJDZWxsLgorICAgICAgICBOU1N0ZXBwZXJDZWxsIHJlcHJlc2VudHMgdGhlIHBhaXIgb2YgdGhl
IHBhcnRzIGFuZCB3ZSBjYW4ndCBkcmF3IHRoZW0KKyAgICAgICAgaW5kZXBlbmRlbnRseS4gU28g
YSBzcGluLWJ1dHRvbiBhbHNvIHJlcHJlc2VudHMgdGhlIHBhaXIgb2YgdGhlIHBhcnRzLgorICAg
ICAgICAKKyAgICAgICAgVGhpcyBjaGFuZ2UgaGFzIG5vIHRlc3RzLiAgVGhlIGZvbGxvd2luZyBj
aGFuZ2VzIHdpdGggdGVzdHMgd2lsbCBjb3Zlci4KKworICAgICAgICAqIGNzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6ZXh0cmFjdFBzZXVkb1R5cGUpOgorICAgICAgICAq
IGNzcy9DU1NTZWxlY3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6Oik6Cisg
ICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
U3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9yKToKKyAgICAg
ICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAgKiBjc3MvaHRtbC5jc3M6Cisg
ICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udHJv
bFN0YXRlKTogQWRkIFNwaW5VcFN0YXRlLgorICAgICAgICAoV2ViQ29yZTo6Q29udHJvbFBhcnQp
OiBBZGQgSW5uZXJTcGluQnV0dG9uUGFydCBhbmQgT3V0ZXJTcGluQnV0dG9uUGFydC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWU6OmFkanVzdFN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpwYWlu
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0SW5uZXJTcGluQnV0dG9u
U3R5bGUpOiBBZGQgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZTo6YWRqdXN0T3V0ZXJTcGluQnV0dG9uU3R5bGUpOiBBZGQgYW4gZW1wdHkgaW1w
bGVtZW50YXRpb24uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnRJbm5lclNwaW5CdXR0b24pOiBBZGQgYW4gZW1w
dHkgaW1wbGVtZW50YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnRP
dXRlclNwaW5CdXR0b24pOiBBZGQgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24uCisgICAgICAgICog
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmg6CisgICAgICAgIChXZWJDb3Jl
OjpQc2V1ZG9JZCk6IEFkZCBJTk5FUl9TUElOX0JVVFRPTiBhbmQgT1VURVJfU1BJTl9CVVRUT04u
CisKIDIwMDktMTEtMjMgIEFhcm9uIEdvbGRlbiAgPGFnb2xkZW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmggYi9XZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggM2M2MDk3Yi4uYjljYzA2ZiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtMTk4LDYgKzE5OCw5IEBAIHRlbXBsYXRlPD4g
aW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBl
KQogICAgICAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgogICAgICAgICAgICAgbV92YWx1ZS5p
ZGVudCA9IENTU1ZhbHVlRGVmYXVsdEJ1dHRvbjsKICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIElubmVyU3BpbkJ1dHRvblBhcnQ6CisgICAgICAgICAgICBtX3ZhbHVlLmlkZW50ID0g
Q1NTVmFsdWVJbm5lclNwaW5CdXR0b247CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBMaXN0Ym94UGFydDoKICAgICAgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZUxpc3Ri
b3g7CiAgICAgICAgICAgICBicmVhazsKQEAgLTI2OSw2ICsyNzIsOSBAQCB0ZW1wbGF0ZTw+IGlu
bGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoQ29udHJvbFBhcnQgZSkK
ICAgICAgICAgY2FzZSBNZW51bGlzdFRleHRGaWVsZFBhcnQ6CiAgICAgICAgICAgICBtX3ZhbHVl
LmlkZW50ID0gQ1NTVmFsdWVNZW51bGlzdFRleHRmaWVsZDsKICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIE91dGVyU3BpbkJ1dHRvblBhcnQ6CisgICAgICAgICAgICBtX3ZhbHVlLmlk
ZW50ID0gQ1NTVmFsdWVPdXRlclNwaW5CdXR0b247CisgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBTbGlkZXJIb3Jpem9udGFsUGFydDoKICAgICAgICAgICAgIG1fdmFsdWUuaWRlbnQg
PSBDU1NWYWx1ZVNsaWRlckhvcml6b250YWw7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9y
LmNwcAppbmRleCBhYjJkMjJiLi45YWU5YjlmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NT
ZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBAIC05OSw2ICs5
OSw3IEBAIHZvaWQgQ1NTU2VsZWN0b3I6OmV4dHJhY3RQc2V1ZG9UeXBlKCkgY29uc3QKICAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgZm9jdXMsICgiZm9jdXMiKSk7CiAgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGhvdmVyLCAoImhvdmVyIikpOwogICAg
IERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBpbmRldGVybWluYXRlLCAoImluZGV0
ZXJtaW5hdGUiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIGlubmVy
U3BpbkJ1dHRvbiwgKCItd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIikpOwogI2lmIEVOQUJMRShE
QVRBTElTVCkKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgaW5wdXRMaXN0
QnV0dG9uLCAoIi13ZWJraXQtaW5wdXQtbGlzdC1idXR0b24iKSk7CiAjZW5kaWYKQEAgLTEyNyw2
ICsxMjgsNyBAQCB2b2lkIENTU1NlbGVjdG9yOjpleHRyYWN0UHNldWRvVHlwZSgpIGNvbnN0CiAg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG9ubHlDaGlsZCwgKCJvbmx5LWNo
aWxkIikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBvbmx5T2ZUeXBl
LCAoIm9ubHktb2YtdHlwZSIpKTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmlu
Zywgb3B0aW9uYWwsICgib3B0aW9uYWwiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9t
aWNTdHJpbmcsIG91dGVyU3BpbkJ1dHRvbiwgKCItd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIikp
OwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCByZXF1aXJlZCwgKCJyZXF1
aXJlZCIpKTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgcmVzaXplciwg
KCItd2Via2l0LXJlc2l6ZXIiKSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJp
bmcsIHJvb3QsICgicm9vdCIpKTsKQEAgLTIzNSw3ICsyMzcsMTAgQEAgdm9pZCBDU1NTZWxlY3Rv
cjo6ZXh0cmFjdFBzZXVkb1R5cGUoKSBjb25zdAogICAgICAgICBtX3BzZXVkb1R5cGUgPSBQc2V1
ZG9Ib3ZlcjsKICAgICBlbHNlIGlmIChtX3ZhbHVlID09IGluZGV0ZXJtaW5hdGUpCiAgICAgICAg
IG1fcHNldWRvVHlwZSA9IFBzZXVkb0luZGV0ZXJtaW5hdGU7Ci0gICAgZWxzZSBpZiAobV92YWx1
ZSA9PSBsaW5rKQorICAgIGVsc2UgaWYgKG1fdmFsdWUgPT0gaW5uZXJTcGluQnV0dG9uKSB7Cisg
ICAgICAgIG1fcHNldWRvVHlwZSA9IFBzZXVkb0lubmVyU3BpbkJ1dHRvbjsKKyAgICAgICAgZWxl
bWVudCA9IHRydWU7CisgICAgfSBlbHNlIGlmIChtX3ZhbHVlID09IGxpbmspCiAgICAgICAgIG1f
cHNldWRvVHlwZSA9IFBzZXVkb0xpbms7CiAgICAgZWxzZSBpZiAobV92YWx1ZSA9PSBsYW5nKQog
ICAgICAgICBtX3BzZXVkb1R5cGUgPSBQc2V1ZG9MYW5nOwpAQCAtMjk3LDcgKzMwMiwxMCBAQCB2
b2lkIENTU1NlbGVjdG9yOjpleHRyYWN0UHNldWRvVHlwZSgpIGNvbnN0CiAgICAgICAgIG1fcHNl
dWRvVHlwZSA9IFBzZXVkb050aExhc3RDaGlsZDsKICAgICBlbHNlIGlmIChtX3ZhbHVlID09IG50
aExhc3RPZlR5cGUpCiAgICAgICAgIG1fcHNldWRvVHlwZSA9IFBzZXVkb050aExhc3RPZlR5cGU7
Ci0gICAgZWxzZSBpZiAobV92YWx1ZSA9PSByb290KQorICAgIGVsc2UgaWYgKG1fdmFsdWUgPT0g
b3V0ZXJTcGluQnV0dG9uKSB7CisgICAgICAgIG1fcHNldWRvVHlwZSA9IFBzZXVkb091dGVyU3Bp
bkJ1dHRvbjsKKyAgICAgICAgZWxlbWVudCA9IHRydWU7CisgICAgfSBlbHNlIGlmIChtX3ZhbHVl
ID09IHJvb3QpCiAgICAgICAgIG1fcHNldWRvVHlwZSA9IFBzZXVkb1Jvb3Q7CiAgICAgZWxzZSBp
ZiAobV92YWx1ZSA9PSB3aW5kb3dJbmFjdGl2ZSkKICAgICAgICAgbV9wc2V1ZG9UeXBlID0gUHNl
dWRvV2luZG93SW5hY3RpdmU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5o
IGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCA5NWE3MmU0Li43MGYyNTc0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmgKQEAgLTE4Myw3ICsxODMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
ICAgICBQc2V1ZG9NZWRpYUNvbnRyb2xzUmV0dXJuVG9SZWFsdGltZUJ1dHRvbiwKICAgICAgICAg
ICAgIFBzZXVkb01lZGlhQ29udHJvbHNTdGF0dXNEaXNwbGF5LAogICAgICAgICAgICAgUHNldWRv
TWVkaWFDb250cm9sc0Z1bGxzY3JlZW5CdXR0b24sCi0gICAgICAgICAgICBQc2V1ZG9JbnB1dExp
c3RCdXR0b24KKyAgICAgICAgICAgIFBzZXVkb0lucHV0TGlzdEJ1dHRvbiwKKyAgICAgICAgICAg
IFBzZXVkb0lubmVyU3BpbkJ1dHRvbiwKKyAgICAgICAgICAgIFBzZXVkb091dGVyU3BpbkJ1dHRv
biwKICAgICAgICAgfTsKIAogICAgICAgICBQc2V1ZG9UeXBlIHBzZXVkb1R5cGUoKSBjb25zdApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCA1NWFjYTk2Li42MmY2MWU1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcApAQCAtMjU4Niw2ICsyNTg2LDEyIEBAIGJvb2wgQ1NTU3R5bGVTZWxl
Y3Rvcjo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9yKENTU1NlbGVjdG9yKiBzZWws
IEVsZW1lCiAgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9SZXNpemVyOgogICAg
ICAgICAgICAgICAgIGR5bmFtaWNQc2V1ZG8gPSBSRVNJWkVSOwogICAgICAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvSW5uZXJTcGlu
QnV0dG9uOgorICAgICAgICAgICAgICAgIGR5bmFtaWNQc2V1ZG8gPSBJTk5FUl9TUElOX0JVVFRP
TjsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb091dGVyU3BpbkJ1dHRvbjoKKyAgICAgICAgICAgICAgICBkeW5hbWljUHNl
dWRvID0gT1VURVJfU1BJTl9CVVRUT047CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9Vbmtub3duOgogICAgICAgICAgICAg
Y2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvTm90UGFyc2VkOgogICAgICAgICAgICAgZGVmYXVsdDoK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDFjMzViMjMuLjM1MTgxODAgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbgpAQCAtNTAxLDYgKzUwMSw3IEBAIHNxdWFyZS1idXR0b24KIGJ1dHRvbgog
YnV0dG9uLWJldmVsCiBkZWZhdWx0LWJ1dHRvbgoraW5uZXItc3Bpbi1idXR0b24KIGxpc3QtYnV0
dG9uCiBsaXN0Ym94CiBsaXN0aXRlbQpAQCAtNTI0LDYgKzUyNSw3IEBAIG1lbnVsaXN0CiBtZW51
bGlzdC1idXR0b24KIG1lbnVsaXN0LXRleHQKIG1lbnVsaXN0LXRleHRmaWVsZAorb3V0ZXItc3Bp
bi1idXR0b24KIHNsaWRlci1ob3Jpem9udGFsCiBzbGlkZXItdmVydGljYWwKIHNsaWRlcnRodW1i
LWhvcml6b250YWwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL2h0bWwuY3NzIGIvV2ViQ29yZS9j
c3MvaHRtbC5jc3MKaW5kZXggMTEzMmQyNC4uYzBlNzVjYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9j
c3MvaHRtbC5jc3MKKysrIGIvV2ViQ29yZS9jc3MvaHRtbC5jc3MKQEAgLTM1OSw2ICszNTksMTcg
QEAgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtbGlzdC1idXR0b24gewogICAgIGRpc3BsYXk6IGlubGlu
ZS1ibG9jazsKIH0KIAoraW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24geworICAgIC13
ZWJraXQtYXBwZWFyYW5jZTogaW5uZXItc3Bpbi1idXR0b247CisgICAgZGlzcGxheTogaW5saW5l
LWJsb2NrOworfQorCitpbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7CisgICAgLXdl
YmtpdC1hcHBlYXJhbmNlOiBvdXRlci1zcGluLWJ1dHRvbjsKKyAgICBkaXNwbGF5OiBpbmxpbmUt
YmxvY2s7CisgICAgbWFyZ2luLWxlZnQ6IDJweDsKK30KKwogdGV4dGFyZWEgewogICAgIC13ZWJr
aXQtYXBwZWFyYW5jZTogdGV4dGFyZWE7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vVGhlbWVUeXBlcy5oCmluZGV4IDQzOWEzYjEuLjljMjM2NmUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBl
cy5oCkBAIC0zOCw2ICszOCw3IEBAIGVudW0gQ29udHJvbFN0YXRlIHsKICAgICBEZWZhdWx0U3Rh
dGUgPSAxIDw8IDYsCiAgICAgV2luZG93SW5hY3RpdmVTdGF0ZSA9IDEgPDwgNywKICAgICBJbmRl
dGVybWluYXRlU3RhdGUgPSAxIDw8IDgsCisgICAgU3BpblVwU3RhdGUgPSAxIDw8IDksIC8vIFN1
Yi1zdGF0ZSBmb3IgSG92ZXJTdGF0ZSBhbmQgUHJlc3NlZFN0YXRlLgogICAgIEFsbFN0YXRlcyA9
IDB4ZmZmZmZmZmYKIH07CiAKQEAgLTQ2LDEyICs0NywxMiBAQCB0eXBlZGVmIHVuc2lnbmVkIENv
bnRyb2xTdGF0ZXM7CiAvLyBNdXN0IGZvbGxvdyBDU1NWYWx1ZUtleXdvcmRzLmluIG9yZGVyCiBl
bnVtIENvbnRyb2xQYXJ0IHsKICAgICBOb0NvbnRyb2xQYXJ0LCBDaGVja2JveFBhcnQsIFJhZGlv
UGFydCwgUHVzaEJ1dHRvblBhcnQsIFNxdWFyZUJ1dHRvblBhcnQsIEJ1dHRvblBhcnQsCi0gICAg
QnV0dG9uQmV2ZWxQYXJ0LCBEZWZhdWx0QnV0dG9uUGFydCwgTGlzdEJ1dHRvblBhcnQsIExpc3Ri
b3hQYXJ0LCBMaXN0SXRlbVBhcnQsCisgICAgQnV0dG9uQmV2ZWxQYXJ0LCBEZWZhdWx0QnV0dG9u
UGFydCwgSW5uZXJTcGluQnV0dG9uUGFydCwgTGlzdEJ1dHRvblBhcnQsIExpc3Rib3hQYXJ0LCBM
aXN0SXRlbVBhcnQsCiAgICAgTWVkaWFGdWxsc2NyZWVuQnV0dG9uUGFydCwgTWVkaWFNdXRlQnV0
dG9uUGFydCwgTWVkaWFQbGF5QnV0dG9uUGFydCwgTWVkaWFTZWVrQmFja0J1dHRvblBhcnQsIAog
ICAgIE1lZGlhU2Vla0ZvcndhcmRCdXR0b25QYXJ0LCBNZWRpYVJld2luZEJ1dHRvblBhcnQsIE1l
ZGlhUmV0dXJuVG9SZWFsdGltZUJ1dHRvblBhcnQsIE1lZGlhVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNC
dXR0b25QYXJ0LAogICAgIE1lZGlhU2xpZGVyUGFydCwgTWVkaWFTbGlkZXJUaHVtYlBhcnQsIE1l
ZGlhVm9sdW1lU2xpZGVyQ29udGFpbmVyUGFydCwgTWVkaWFWb2x1bWVTbGlkZXJQYXJ0LCBNZWRp
YVZvbHVtZVNsaWRlclRodW1iUGFydCwKICAgICBNZWRpYUNvbnRyb2xzQmFja2dyb3VuZFBhcnQs
IE1lZGlhQ3VycmVudFRpbWVQYXJ0LCBNZWRpYVRpbWVSZW1haW5pbmdQYXJ0LAotICAgIE1lbnVs
aXN0UGFydCwgTWVudWxpc3RCdXR0b25QYXJ0LCBNZW51bGlzdFRleHRQYXJ0LCBNZW51bGlzdFRl
eHRGaWVsZFBhcnQsCisgICAgTWVudWxpc3RQYXJ0LCBNZW51bGlzdEJ1dHRvblBhcnQsIE1lbnVs
aXN0VGV4dFBhcnQsIE1lbnVsaXN0VGV4dEZpZWxkUGFydCwgT3V0ZXJTcGluQnV0dG9uUGFydCwK
ICAgICBTbGlkZXJIb3Jpem9udGFsUGFydCwgU2xpZGVyVmVydGljYWxQYXJ0LCBTbGlkZXJUaHVt
Ykhvcml6b250YWxQYXJ0LAogICAgIFNsaWRlclRodW1iVmVydGljYWxQYXJ0LCBDYXJldFBhcnQs
IFNlYXJjaEZpZWxkUGFydCwgU2VhcmNoRmllbGREZWNvcmF0aW9uUGFydCwKICAgICBTZWFyY2hG
aWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydCwgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydCwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCBlMzM0ZTlkLi4zZjkzMGM1IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWUuY3BwCkBAIC04Nyw2ICs4Nyw4IEBAIHZvaWQgUmVuZGVyVGhlbWU6
OmFkanVzdFN0eWxlKENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBSZW5kZXJTdHlsZSogc3R5
bGUsIEVsCiAgICAgc3dpdGNoIChwYXJ0KSB7CiAgICAgICAgIGNhc2UgTGlzdEJ1dHRvblBhcnQ6
CiAgICAgICAgIGNhc2UgQ2hlY2tib3hQYXJ0OgorICAgICAgICBjYXNlIElubmVyU3BpbkJ1dHRv
blBhcnQ6CisgICAgICAgIGNhc2UgT3V0ZXJTcGluQnV0dG9uUGFydDoKICAgICAgICAgY2FzZSBS
YWRpb1BhcnQ6CiAgICAgICAgIGNhc2UgUHVzaEJ1dHRvblBhcnQ6CiAgICAgICAgIGNhc2UgU3F1
YXJlQnV0dG9uUGFydDoKQEAgLTE3Niw2ICsxNzgsMTAgQEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRq
dXN0U3R5bGUoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0b3IsIFJlbmRlclN0eWxlKiBzdHlsZSwg
RWwKICAgICAgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKICAgICAgICAgY2FzZSBCdXR0b25Q
YXJ0OgogICAgICAgICAgICAgcmV0dXJuIGFkanVzdEJ1dHRvblN0eWxlKHNlbGVjdG9yLCBzdHls
ZSwgZSk7CisgICAgICAgIGNhc2UgSW5uZXJTcGluQnV0dG9uUGFydDoKKyAgICAgICAgICAgIHJl
dHVybiBhZGp1c3RJbm5lclNwaW5CdXR0b25TdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOworICAg
ICAgICBjYXNlIE91dGVyU3BpbkJ1dHRvblBhcnQ6CisgICAgICAgICAgICByZXR1cm4gYWRqdXN0
T3V0ZXJTcGluQnV0dG9uU3R5bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKICNlbmRpZgogICAgICAg
ICBjYXNlIFRleHRGaWVsZFBhcnQ6CiAgICAgICAgICAgICByZXR1cm4gYWRqdXN0VGV4dEZpZWxk
U3R5bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKQEAgLTIzMiw2ICsyMzgsOCBAQCBib29sIFJlbmRl
clRoZW1lOjpwYWludChSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJ
bmZvJiBwYWludEluZgogICAgICAgICBjYXNlIExpc3RCdXR0b25QYXJ0OgogICAgICAgICBjYXNl
IERlZmF1bHRCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIEJ1dHRvblBhcnQ6CisgICAgICAgIGNh
c2UgSW5uZXJTcGluQnV0dG9uUGFydDoKKyAgICAgICAgY2FzZSBPdXRlclNwaW5CdXR0b25QYXJ0
OgogICAgICAgICAgICAgbV90aGVtZS0+cGFpbnQocGFydCwgY29udHJvbFN0YXRlc0ZvclJlbmRl
cmVyKG8pLCBjb25zdF9jYXN0PEdyYXBoaWNzQ29udGV4dCo+KHBhaW50SW5mby5jb250ZXh0KSwg
ciwgby0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpLCBvLT52aWV3KCktPmZyYW1lVmlldygpKTsK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgZGVmYXVsdDoKQEAgLTI1Miw2ICsy
NjAsMTAgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBS
ZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmYKICAgICAgICAgY2FzZSBEZWZhdWx0QnV0
dG9uUGFydDoKICAgICAgICAgY2FzZSBCdXR0b25QYXJ0OgogICAgICAgICAgICAgcmV0dXJuIHBh
aW50QnV0dG9uKG8sIHBhaW50SW5mbywgcik7CisgICAgICAgIGNhc2UgSW5uZXJTcGluQnV0dG9u
UGFydDoKKyAgICAgICAgICAgIHJldHVybiBwYWludElubmVyU3BpbkJ1dHRvbihvLCBwYWludElu
Zm8sIHIpOworICAgICAgICBjYXNlIE91dGVyU3BpbkJ1dHRvblBhcnQ6CisgICAgICAgICAgICBy
ZXR1cm4gcGFpbnRPdXRlclNwaW5CdXR0b24obywgcGFpbnRJbmZvLCByKTsKICNlbmRpZgogICAg
ICAgICBjYXNlIE1lbnVsaXN0UGFydDoKICAgICAgICAgICAgIHJldHVybiBwYWludE1lbnVMaXN0
KG8sIHBhaW50SW5mbywgcik7CkBAIC03NjIsNiArNzc0LDE0IEBAIHZvaWQgUmVuZGVyVGhlbWU6
OmFkanVzdEJ1dHRvblN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSogc3R5bGUs
IEVsZW1lCiAgICAgc2V0QnV0dG9uU2l6ZShzdHlsZSk7CiB9CiAKK3ZvaWQgUmVuZGVyVGhlbWU6
OmFkanVzdElubmVyU3BpbkJ1dHRvblN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHls
ZSosIEVsZW1lbnQqKSBjb25zdAoreworfQorCit2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RPdXRl
clNwaW5CdXR0b25TdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50
KikgY29uc3QKK3sKK30KKwogI2VuZGlmCiAKIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFRleHRG
aWVsZFN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25z
dApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggYTA4MDY3MC4uODFjMWE3MSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5oCkBAIC0yMDMsNiArMjAzLDExIEBAIHByb3RlY3RlZDoKICAgICB2aXJ0
dWFsIHZvaWQgYWRqdXN0QnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxl
KiwgRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBwYWludEJ1dHRvbihSZW5kZXJP
YmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7
IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldEJ1dHRvblNpemUoUmVuZGVyU3R5
bGUqKSBjb25zdCB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RJbm5lclNwaW5CdXR0b25T
dHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7Cisg
ICAgdmlydHVhbCBib29sIHBhaW50SW5uZXJTcGluQnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0
IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0T3V0ZXJCdXR0b25TdHlsZShDU1NTdHlsZVNlbGVj
dG9yKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHBh
aW50T3V0ZXJTcGluQnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFp
bnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KICNlbmRpZgogCiAgICAg
dmlydHVhbCB2b2lkIGFkanVzdFRleHRGaWVsZFN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5k
ZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IDkyY2QzZDUuLjdiNjMyZjcgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtNzMsNyArNzMs
NyBAQCBlbnVtIFBzZXVkb0lkIHsKICAgICBNRURJQV9DT05UUk9MU19TRUVLX0JBQ0tfQlVUVE9O
LCBNRURJQV9DT05UUk9MU19TRUVLX0ZPUldBUkRfQlVUVE9OLCBNRURJQV9DT05UUk9MU19GVUxM
U0NSRUVOX0JVVFRPTiwgTUVESUFfQ09OVFJPTFNfUkVXSU5EX0JVVFRPTiwgCiAgICAgTUVESUFf
Q09OVFJPTFNfUkVUVVJOX1RPX1JFQUxUSU1FX0JVVFRPTiwgTUVESUFfQ09OVFJPTFNfVE9HR0xF
X0NMT1NFRF9DQVBUSU9OU19CVVRUT04sCiAgICAgTUVESUFfQ09OVFJPTFNfU1RBVFVTX0RJU1BM
QVksIFNDUk9MTEJBUl9USFVNQiwgU0NST0xMQkFSX0JVVFRPTiwgU0NST0xMQkFSX1RSQUNLLCBT
Q1JPTExCQVJfVFJBQ0tfUElFQ0UsIFNDUk9MTEJBUl9DT1JORVIsIFJFU0laRVIsCi0gICAgSU5Q
VVRfTElTVF9CVVRUT04sCisgICAgSU5QVVRfTElTVF9CVVRUT04sIElOTkVSX1NQSU5fQlVUVE9O
LCBPVVRFUl9TUElOX0JVVFRPTiwKIAogICAgIEZJUlNUX0lOVEVSTkFMX1BTRVVET0lEID0gRklM
RV9VUExPQURfQlVUVE9OCiB9OwotLSAKMS42LjMuMwoK
</data>
<flag name="review"
          id="25482"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>45038</attachid>
            <date>2009-12-16 23:08:48 -0800</date>
            <delta_ts>2009-12-16 23:08:48 -0800</delta_ts>
            <desc>A figure explaining spin button layout</desc>
            <filename>spin-button-layout.png</filename>
            <type>image/png</type>
            <size>19650</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45042</attachid>
            <date>2009-12-17 00:28:34 -0800</date>
            <delta_ts>2009-12-20 20:58:06 -0800</delta_ts>
            <desc>Proposed patch (rev.3)</desc>
            <filename>0001-number-ui-definitions-3.patch</filename>
            <type>text/plain</type>
            <size>14942</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">RnJvbSA5ZjdjM2Q1MDc1ZjY1NjA1Y2MyZTkzMTZmMWNlNWExMDA1NTY4NzY4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW50IFRhbXVyYSA8dGtlbnRAY2hyb21pdW0ub3JnPgpEYXRl
OiBUdWUsIDI0IE5vdiAyMDA5IDE2OjAxOjUzICswOTAwClN1YmplY3Q6IFtQQVRDSF0gbnVtYmVy
LXVpLWRlZmluaXRpb25zLTMKCi0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgNDggKysrKysrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmggICAgICAgIHwgICAgNiArKysKIFdlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yLmNwcCAgICAgICAgICAgICAgICAgICAgfCAgIDEyICsrKysrLQogV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3IuaCAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIFdl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwICAgICAgICAgICAgICAgfCAgICA2ICsrKwog
V2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiAgICAgICAgICAgICAgICB8ICAgIDIgKwog
V2ViQ29yZS9jc3MvaHRtbC5jc3MgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysr
KysKIFdlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oICAgICAgICAgICAgICAgICAgfCAgICA1
ICstCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAgICAgICAgICAgICAgIHwgICAy
MCArKysrKysrKysrCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oICAgICAgICAgICAg
ICAgIHwgICAgNSArKwogV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFu
dHMuaCB8ICAgIDIgKy0KIDExIGZpbGVzIGNoYW5nZWQsIDExNSBpbnNlcnRpb25zKCspLCA2IGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggNzFlNmE0YS4uNGE4Y2E1ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MSBAQAorMjAwOS0wOS0wMSAg
S2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIHRoZSBmb2xsb3dpbmdzOgorICAg
ICAgICAgIC0gOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHBzZXVkbyBDU1Mgc2VsZWN0b3IK
KyAgICAgICAgICAtIDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiBwc2V1ZG8gQ1NTIHNlbGVj
dG9yCisgICAgICAgICAgLSBuZXcgYXBwZWFyYW5jZSB0eXBlOiBpbm5lci1zcGluLWJ1dHRvbgor
ICAgICAgICAgIC0gbmV3IGFwcGVhcmFuY2UgdHlwZTogb3V0ZXItc3Bpbi1idXR0b24KKyAgICAg
ICAgVGhleSdyZSBnb2luZyB0byBiZSB1c2VkIGZvciA8aW5wdXQgdHlwZT1udW1iZXI+IFVJLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE4MjEKKwor
ICAgICAgICBJbm5lci1zcGluLWJ1dHRvbiB3aWxsIGJlIHVzZWQgZm9yIFdpbmRvd3MsIGFuZCBv
dXRlci1zcGluLWJ1dHRvbgorICAgICAgICB3aWxsIGJlIHVzZWQgZm9yIE1hYy4gQSBzcGluLWJ1
dHRvbiB3aWxsIHJlcHJlc2VudCBhIHBhaXIgb2YgYW4KKyAgICAgICAgaW5jcmVhc2luZyBidXR0
b24gcGFydCBhbmQgYSBkZWNyZWFzaW5nIGJ1dHRvbiBwYXJ0LiBTcGluVXBTdGF0ZSwKKyAgICAg
ICAgd2hpY2ggaXMgZGVmaW5lZCBpbiBUaGVtZVR5cGVzLmgsIHdpbGwgYmUgdXNlZCB0byBkaXN0
aW5ndWlzaAorICAgICAgICB0aGVzZSB0d28gcGFydHMuCisKKyAgICAgICAgVGhlIG91dGVyLXNw
aW4tYnV0dG9uIGltcGxlbWVudGF0aW9uIHdpbGwgdXNlIE5TU3RlcHBlckNlbGwuCisgICAgICAg
IE5TU3RlcHBlckNlbGwgcmVwcmVzZW50cyB0aGUgcGFpciBvZiB0aGUgcGFydHMgYW5kIHdlIGNh
bid0IGRyYXcgdGhlbQorICAgICAgICBpbmRlcGVuZGVudGx5LiBTbyBhIHNwaW4tYnV0dG9uIGFs
c28gcmVwcmVzZW50cyB0aGUgcGFpciBvZiB0aGUgcGFydHMuCisKKyAgICAgICAgVGhpcyBjaGFu
Z2UgaGFzIG5vIHRlc3RzLiAgVGhlIGZvbGxvd2luZyBjaGFuZ2VzIHdpdGggdGVzdHMgd2lsbCBj
b3Zlci4KKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAg
ICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rv
cjo6ZXh0cmFjdFBzZXVkb1R5cGUpOgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6Oik6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JD
aGVja2VyOjpjaGVja09uZVNlbGVjdG9yKToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvaHRtbC5jc3M6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVU
eXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udHJvbFN0YXRlKTogQWRkIFNwaW5VcFN0YXRl
LgorICAgICAgICAoV2ViQ29yZTo6Q29udHJvbFBhcnQpOiBBZGQgSW5uZXJTcGluQnV0dG9uUGFy
dCBhbmQgT3V0ZXJTcGluQnV0dG9uUGFydC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhl
bWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdFN0eWxlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZTo6YWRqdXN0SW5uZXJTcGluQnV0dG9uU3R5bGUpOiBBZGQgYW4gZW1wdHkgaW1w
bGVtZW50YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0T3V0ZXJT
cGluQnV0dG9uU3R5bGUpOiBBZGQgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24uCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6
cGFpbnRJbm5lclNwaW5CdXR0b24pOiBBZGQgYW4gZW1wdHkgaW1wbGVtZW50YXRpb24uCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnRPdXRlclNwaW5CdXR0b24pOiBBZGQgYW4g
ZW1wdHkgaW1wbGVtZW50YXRpb24uCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlQ29uc3RhbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpQc2V1ZG9JZCk6IEFkZCBJTk5FUl9T
UElOX0JVVFRPTiBhbmQgT1VURVJfU1BJTl9CVVRUT04uCisKIDIwMDktMTItMTYgIEVyaWMgU2Vp
ZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIE5vIHJldmlldywgcm9sbGluZyBvdXQg
cjUyMjA2LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5n
cy5oIGIvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmluZGV4IDNjNjA5
N2IuLmI5Y2MwNmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFw
cGluZ3MuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAg
LTE5OCw2ICsxOTgsOSBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
UHJpbWl0aXZlVmFsdWUoQ29udHJvbFBhcnQgZSkKICAgICAgICAgY2FzZSBEZWZhdWx0QnV0dG9u
UGFydDoKICAgICAgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZURlZmF1bHRCdXR0b247
CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBJbm5lclNwaW5CdXR0b25QYXJ0Ogor
ICAgICAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlSW5uZXJTcGluQnV0dG9uOworICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTGlzdGJveFBhcnQ6CiAgICAgICAgICAgICBt
X3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVMaXN0Ym94OwogICAgICAgICAgICAgYnJlYWs7CkBAIC0y
NjksNiArMjcyLDkgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1By
aW1pdGl2ZVZhbHVlKENvbnRyb2xQYXJ0IGUpCiAgICAgICAgIGNhc2UgTWVudWxpc3RUZXh0Rmll
bGRQYXJ0OgogICAgICAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlTWVudWxpc3RUZXh0
ZmllbGQ7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBPdXRlclNwaW5CdXR0b25Q
YXJ0OgorICAgICAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlT3V0ZXJTcGluQnV0dG9u
OworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgU2xpZGVySG9yaXpvbnRhbFBhcnQ6
CiAgICAgICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVTbGlkZXJIb3Jpem9udGFsOwog
ICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5j
cHAgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKaW5kZXggYWIyZDIyYi4uOWFlOWI5ZiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yLmNwcApAQCAtOTksNiArOTksNyBAQCB2b2lkIENTU1NlbGVjdG9yOjpleHRy
YWN0UHNldWRvVHlwZSgpIGNvbnN0CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJp
bmcsIGZvY3VzLCAoImZvY3VzIikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCBob3ZlciwgKCJob3ZlciIpKTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0
cmluZywgaW5kZXRlcm1pbmF0ZSwgKCJpbmRldGVybWluYXRlIikpOworICAgIERFRklORV9TVEFU
SUNfTE9DQUwoQXRvbWljU3RyaW5nLCBpbm5lclNwaW5CdXR0b24sICgiLXdlYmtpdC1pbm5lci1z
cGluLWJ1dHRvbiIpKTsKICNpZiBFTkFCTEUoREFUQUxJU1QpCiAgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChBdG9taWNTdHJpbmcsIGlucHV0TGlzdEJ1dHRvbiwgKCItd2Via2l0LWlucHV0LWxpc3Qt
YnV0dG9uIikpOwogI2VuZGlmCkBAIC0xMjcsNiArMTI4LDcgQEAgdm9pZCBDU1NTZWxlY3Rvcjo6
ZXh0cmFjdFBzZXVkb1R5cGUoKSBjb25zdAogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWlj
U3RyaW5nLCBvbmx5Q2hpbGQsICgib25seS1jaGlsZCIpKTsKICAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKEF0b21pY1N0cmluZywgb25seU9mVHlwZSwgKCJvbmx5LW9mLXR5cGUiKSk7CiAgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG9wdGlvbmFsLCAoIm9wdGlvbmFsIikpOwor
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBvdXRlclNwaW5CdXR0b24sICgi
LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiIpKTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0
b21pY1N0cmluZywgcmVxdWlyZWQsICgicmVxdWlyZWQiKSk7CiAgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChBdG9taWNTdHJpbmcsIHJlc2l6ZXIsICgiLXdlYmtpdC1yZXNpemVyIikpOwogICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCByb290LCAoInJvb3QiKSk7CkBAIC0yMzUs
NyArMjM3LDEwIEBAIHZvaWQgQ1NTU2VsZWN0b3I6OmV4dHJhY3RQc2V1ZG9UeXBlKCkgY29uc3QK
ICAgICAgICAgbV9wc2V1ZG9UeXBlID0gUHNldWRvSG92ZXI7CiAgICAgZWxzZSBpZiAobV92YWx1
ZSA9PSBpbmRldGVybWluYXRlKQogICAgICAgICBtX3BzZXVkb1R5cGUgPSBQc2V1ZG9JbmRldGVy
bWluYXRlOwotICAgIGVsc2UgaWYgKG1fdmFsdWUgPT0gbGluaykKKyAgICBlbHNlIGlmIChtX3Zh
bHVlID09IGlubmVyU3BpbkJ1dHRvbikgeworICAgICAgICBtX3BzZXVkb1R5cGUgPSBQc2V1ZG9J
bm5lclNwaW5CdXR0b247CisgICAgICAgIGVsZW1lbnQgPSB0cnVlOworICAgIH0gZWxzZSBpZiAo
bV92YWx1ZSA9PSBsaW5rKQogICAgICAgICBtX3BzZXVkb1R5cGUgPSBQc2V1ZG9MaW5rOwogICAg
IGVsc2UgaWYgKG1fdmFsdWUgPT0gbGFuZykKICAgICAgICAgbV9wc2V1ZG9UeXBlID0gUHNldWRv
TGFuZzsKQEAgLTI5Nyw3ICszMDIsMTAgQEAgdm9pZCBDU1NTZWxlY3Rvcjo6ZXh0cmFjdFBzZXVk
b1R5cGUoKSBjb25zdAogICAgICAgICBtX3BzZXVkb1R5cGUgPSBQc2V1ZG9OdGhMYXN0Q2hpbGQ7
CiAgICAgZWxzZSBpZiAobV92YWx1ZSA9PSBudGhMYXN0T2ZUeXBlKQogICAgICAgICBtX3BzZXVk
b1R5cGUgPSBQc2V1ZG9OdGhMYXN0T2ZUeXBlOwotICAgIGVsc2UgaWYgKG1fdmFsdWUgPT0gcm9v
dCkKKyAgICBlbHNlIGlmIChtX3ZhbHVlID09IG91dGVyU3BpbkJ1dHRvbikgeworICAgICAgICBt
X3BzZXVkb1R5cGUgPSBQc2V1ZG9PdXRlclNwaW5CdXR0b247CisgICAgICAgIGVsZW1lbnQgPSB0
cnVlOworICAgIH0gZWxzZSBpZiAobV92YWx1ZSA9PSByb290KQogICAgICAgICBtX3BzZXVkb1R5
cGUgPSBQc2V1ZG9Sb290OwogICAgIGVsc2UgaWYgKG1fdmFsdWUgPT0gd2luZG93SW5hY3RpdmUp
CiAgICAgICAgIG1fcHNldWRvVHlwZSA9IFBzZXVkb1dpbmRvd0luYWN0aXZlOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgK
aW5kZXggOTVhNzJlNC4uNzBmMjU3NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0
b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCkBAIC0xODMsNyArMTgzLDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgUHNldWRvTWVkaWFDb250cm9sc1JldHVy
blRvUmVhbHRpbWVCdXR0b24sCiAgICAgICAgICAgICBQc2V1ZG9NZWRpYUNvbnRyb2xzU3RhdHVz
RGlzcGxheSwKICAgICAgICAgICAgIFBzZXVkb01lZGlhQ29udHJvbHNGdWxsc2NyZWVuQnV0dG9u
LAotICAgICAgICAgICAgUHNldWRvSW5wdXRMaXN0QnV0dG9uCisgICAgICAgICAgICBQc2V1ZG9J
bnB1dExpc3RCdXR0b24sCisgICAgICAgICAgICBQc2V1ZG9Jbm5lclNwaW5CdXR0b24sCisgICAg
ICAgICAgICBQc2V1ZG9PdXRlclNwaW5CdXR0b24sCiAgICAgICAgIH07CiAKICAgICAgICAgUHNl
dWRvVHlwZSBwc2V1ZG9UeXBlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXgg
MGFkZjljNC4uNmM4Zjg1NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rv
ci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTI1ODQsNiAr
MjU4NCwxMiBAQCBib29sIENTU1N0eWxlU2VsZWN0b3I6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tP
bmVTZWxlY3RvcihDU1NTZWxlY3Rvciogc2VsLCBFbGVtZQogICAgICAgICAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvUmVzaXplcjoKICAgICAgICAgICAgICAgICBkeW5hbWljUHNldWRvID0g
UkVTSVpFUjsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OlBzZXVkb0lubmVyU3BpbkJ1dHRvbjoKKyAgICAgICAgICAgICAgICBkeW5h
bWljUHNldWRvID0gSU5ORVJfU1BJTl9CVVRUT047CisgICAgICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9PdXRlclNwaW5CdXR0b246
CisgICAgICAgICAgICAgICAgZHluYW1pY1BzZXVkbyA9IE9VVEVSX1NQSU5fQlVUVE9OOworICAg
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
UHNldWRvVW5rbm93bjoKICAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb05vdFBh
cnNlZDoKICAgICAgICAgICAgIGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZUtleXdvcmRzLmluIGIvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCAx
YzM1YjIzLi4zNTE4MTgwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRz
LmluCisrKyBiL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTUwMSw2ICs1MDEs
NyBAQCBzcXVhcmUtYnV0dG9uCiBidXR0b24KIGJ1dHRvbi1iZXZlbAogZGVmYXVsdC1idXR0b24K
K2lubmVyLXNwaW4tYnV0dG9uCiBsaXN0LWJ1dHRvbgogbGlzdGJveAogbGlzdGl0ZW0KQEAgLTUy
NCw2ICs1MjUsNyBAQCBtZW51bGlzdAogbWVudWxpc3QtYnV0dG9uCiBtZW51bGlzdC10ZXh0CiBt
ZW51bGlzdC10ZXh0ZmllbGQKK291dGVyLXNwaW4tYnV0dG9uCiBzbGlkZXItaG9yaXpvbnRhbAog
c2xpZGVyLXZlcnRpY2FsCiBzbGlkZXJ0aHVtYi1ob3Jpem9udGFsCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2Nzcy9odG1sLmNzcyBiL1dlYkNvcmUvY3NzL2h0bWwuY3NzCmluZGV4IDExMzJkMjQuLmMw
ZTc1Y2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL2h0bWwuY3NzCisrKyBiL1dlYkNvcmUvY3Nz
L2h0bWwuY3NzCkBAIC0zNTksNiArMzU5LDE3IEBAIGlucHV0Ojotd2Via2l0LWlucHV0LWxpc3Qt
YnV0dG9uIHsKICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiB9CiAKK2lucHV0Ojotd2Via2l0
LWlubmVyLXNwaW4tYnV0dG9uIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGlubmVyLXNwaW4t
YnV0dG9uOworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKK30KKworaW5wdXQ6Oi13ZWJraXQt
b3V0ZXItc3Bpbi1idXR0b24geworICAgIC13ZWJraXQtYXBwZWFyYW5jZTogb3V0ZXItc3Bpbi1i
dXR0b247CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIG1hcmdpbi1sZWZ0OiAycHg7
Cit9CisKIHRleHRhcmVhIHsKICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRhcmVhOwogICAg
IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9U
aGVtZVR5cGVzLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAppbmRleCA0MzlhM2Ix
Li45YzIzNjZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaApAQCAtMzgsNiArMzgsNyBAQCBlbnVtIENv
bnRyb2xTdGF0ZSB7CiAgICAgRGVmYXVsdFN0YXRlID0gMSA8PCA2LAogICAgIFdpbmRvd0luYWN0
aXZlU3RhdGUgPSAxIDw8IDcsCiAgICAgSW5kZXRlcm1pbmF0ZVN0YXRlID0gMSA8PCA4LAorICAg
IFNwaW5VcFN0YXRlID0gMSA8PCA5LCAvLyBTdWItc3RhdGUgZm9yIEhvdmVyU3RhdGUgYW5kIFBy
ZXNzZWRTdGF0ZS4KICAgICBBbGxTdGF0ZXMgPSAweGZmZmZmZmZmCiB9OwogCkBAIC00NiwxMiAr
NDcsMTIgQEAgdHlwZWRlZiB1bnNpZ25lZCBDb250cm9sU3RhdGVzOwogLy8gTXVzdCBmb2xsb3cg
Q1NTVmFsdWVLZXl3b3Jkcy5pbiBvcmRlcgogZW51bSBDb250cm9sUGFydCB7CiAgICAgTm9Db250
cm9sUGFydCwgQ2hlY2tib3hQYXJ0LCBSYWRpb1BhcnQsIFB1c2hCdXR0b25QYXJ0LCBTcXVhcmVC
dXR0b25QYXJ0LCBCdXR0b25QYXJ0LAotICAgIEJ1dHRvbkJldmVsUGFydCwgRGVmYXVsdEJ1dHRv
blBhcnQsIExpc3RCdXR0b25QYXJ0LCBMaXN0Ym94UGFydCwgTGlzdEl0ZW1QYXJ0LAorICAgIEJ1
dHRvbkJldmVsUGFydCwgRGVmYXVsdEJ1dHRvblBhcnQsIElubmVyU3BpbkJ1dHRvblBhcnQsIExp
c3RCdXR0b25QYXJ0LCBMaXN0Ym94UGFydCwgTGlzdEl0ZW1QYXJ0LAogICAgIE1lZGlhRnVsbHNj
cmVlbkJ1dHRvblBhcnQsIE1lZGlhTXV0ZUJ1dHRvblBhcnQsIE1lZGlhUGxheUJ1dHRvblBhcnQs
IE1lZGlhU2Vla0JhY2tCdXR0b25QYXJ0LCAKICAgICBNZWRpYVNlZWtGb3J3YXJkQnV0dG9uUGFy
dCwgTWVkaWFSZXdpbmRCdXR0b25QYXJ0LCBNZWRpYVJldHVyblRvUmVhbHRpbWVCdXR0b25QYXJ0
LCBNZWRpYVRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uUGFydCwKICAgICBNZWRpYVNsaWRlclBh
cnQsIE1lZGlhU2xpZGVyVGh1bWJQYXJ0LCBNZWRpYVZvbHVtZVNsaWRlckNvbnRhaW5lclBhcnQs
IE1lZGlhVm9sdW1lU2xpZGVyUGFydCwgTWVkaWFWb2x1bWVTbGlkZXJUaHVtYlBhcnQsCiAgICAg
TWVkaWFDb250cm9sc0JhY2tncm91bmRQYXJ0LCBNZWRpYUN1cnJlbnRUaW1lUGFydCwgTWVkaWFU
aW1lUmVtYWluaW5nUGFydCwKLSAgICBNZW51bGlzdFBhcnQsIE1lbnVsaXN0QnV0dG9uUGFydCwg
TWVudWxpc3RUZXh0UGFydCwgTWVudWxpc3RUZXh0RmllbGRQYXJ0LAorICAgIE1lbnVsaXN0UGFy
dCwgTWVudWxpc3RCdXR0b25QYXJ0LCBNZW51bGlzdFRleHRQYXJ0LCBNZW51bGlzdFRleHRGaWVs
ZFBhcnQsIE91dGVyU3BpbkJ1dHRvblBhcnQsCiAgICAgU2xpZGVySG9yaXpvbnRhbFBhcnQsIFNs
aWRlclZlcnRpY2FsUGFydCwgU2xpZGVyVGh1bWJIb3Jpem9udGFsUGFydCwKICAgICBTbGlkZXJU
aHVtYlZlcnRpY2FsUGFydCwgQ2FyZXRQYXJ0LCBTZWFyY2hGaWVsZFBhcnQsIFNlYXJjaEZpZWxk
RGVjb3JhdGlvblBhcnQsCiAgICAgU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQsIFNl
YXJjaEZpZWxkUmVzdWx0c0J1dHRvblBhcnQsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5k
ZXggZTMzNGU5ZC4uM2Y5MzBjNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWUuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcApAQCAtODcs
NiArODcsOCBAQCB2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RTdHlsZShDU1NTdHlsZVNlbGVjdG9y
KiBzZWxlY3RvciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBFbAogICAgIHN3aXRjaCAocGFydCkgewog
ICAgICAgICBjYXNlIExpc3RCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIENoZWNrYm94UGFydDoK
KyAgICAgICAgY2FzZSBJbm5lclNwaW5CdXR0b25QYXJ0OgorICAgICAgICBjYXNlIE91dGVyU3Bp
bkJ1dHRvblBhcnQ6CiAgICAgICAgIGNhc2UgUmFkaW9QYXJ0OgogICAgICAgICBjYXNlIFB1c2hC
dXR0b25QYXJ0OgogICAgICAgICBjYXNlIFNxdWFyZUJ1dHRvblBhcnQ6CkBAIC0xNzYsNiArMTc4
LDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0eWxlKENTU1N0eWxlU2VsZWN0b3IqIHNl
bGVjdG9yLCBSZW5kZXJTdHlsZSogc3R5bGUsIEVsCiAgICAgICAgIGNhc2UgRGVmYXVsdEJ1dHRv
blBhcnQ6CiAgICAgICAgIGNhc2UgQnV0dG9uUGFydDoKICAgICAgICAgICAgIHJldHVybiBhZGp1
c3RCdXR0b25TdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOworICAgICAgICBjYXNlIElubmVyU3Bp
bkJ1dHRvblBhcnQ6CisgICAgICAgICAgICByZXR1cm4gYWRqdXN0SW5uZXJTcGluQnV0dG9uU3R5
bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKKyAgICAgICAgY2FzZSBPdXRlclNwaW5CdXR0b25QYXJ0
OgorICAgICAgICAgICAgcmV0dXJuIGFkanVzdE91dGVyU3BpbkJ1dHRvblN0eWxlKHNlbGVjdG9y
LCBzdHlsZSwgZSk7CiAjZW5kaWYKICAgICAgICAgY2FzZSBUZXh0RmllbGRQYXJ0OgogICAgICAg
ICAgICAgcmV0dXJuIGFkanVzdFRleHRGaWVsZFN0eWxlKHNlbGVjdG9yLCBzdHlsZSwgZSk7CkBA
IC0yMzIsNiArMjM4LDggQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoUmVuZGVyT2JqZWN0KiBv
LCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFpbnRJbmYKICAgICAgICAgY2FzZSBM
aXN0QnV0dG9uUGFydDoKICAgICAgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKICAgICAgICAg
Y2FzZSBCdXR0b25QYXJ0OgorICAgICAgICBjYXNlIElubmVyU3BpbkJ1dHRvblBhcnQ6CisgICAg
ICAgIGNhc2UgT3V0ZXJTcGluQnV0dG9uUGFydDoKICAgICAgICAgICAgIG1fdGhlbWUtPnBhaW50
KHBhcnQsIGNvbnRyb2xTdGF0ZXNGb3JSZW5kZXJlcihvKSwgY29uc3RfY2FzdDxHcmFwaGljc0Nv
bnRleHQqPihwYWludEluZm8uY29udGV4dCksIHIsIG8tPnN0eWxlKCktPmVmZmVjdGl2ZVpvb20o
KSwgby0+dmlldygpLT5mcmFtZVZpZXcoKSk7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgICAgIGRlZmF1bHQ6CkBAIC0yNTIsNiArMjYwLDEwIEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBh
aW50KFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50
SW5mCiAgICAgICAgIGNhc2UgRGVmYXVsdEJ1dHRvblBhcnQ6CiAgICAgICAgIGNhc2UgQnV0dG9u
UGFydDoKICAgICAgICAgICAgIHJldHVybiBwYWludEJ1dHRvbihvLCBwYWludEluZm8sIHIpOwor
ICAgICAgICBjYXNlIElubmVyU3BpbkJ1dHRvblBhcnQ6CisgICAgICAgICAgICByZXR1cm4gcGFp
bnRJbm5lclNwaW5CdXR0b24obywgcGFpbnRJbmZvLCByKTsKKyAgICAgICAgY2FzZSBPdXRlclNw
aW5CdXR0b25QYXJ0OgorICAgICAgICAgICAgcmV0dXJuIHBhaW50T3V0ZXJTcGluQnV0dG9uKG8s
IHBhaW50SW5mbywgcik7CiAjZW5kaWYKICAgICAgICAgY2FzZSBNZW51bGlzdFBhcnQ6CiAgICAg
ICAgICAgICByZXR1cm4gcGFpbnRNZW51TGlzdChvLCBwYWludEluZm8sIHIpOwpAQCAtNzYyLDYg
Kzc3NCwxNCBAQCB2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RCdXR0b25TdHlsZShDU1NTdHlsZVNl
bGVjdG9yKiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBFbGVtZQogICAgIHNldEJ1dHRvblNpemUoc3R5
bGUpOwogfQogCit2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RJbm5lclNwaW5CdXR0b25TdHlsZShD
U1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3QKK3sKK30KKwor
dm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0T3V0ZXJTcGluQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxl
Y3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0Cit7Cit9CisKICNlbmRpZgogCiB2
b2lkIFJlbmRlclRoZW1lOjphZGp1c3RUZXh0RmllbGRTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwg
UmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4
IGEwODA2NzAuLmFjNTNjOTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMjAzLDYgKzIw
MywxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdEJ1dHRvblN0eWxlKENT
U1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0
dWFsIGJvb2wgcGFpbnRCdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQ
YWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwg
dm9pZCBzZXRCdXR0b25TaXplKFJlbmRlclN0eWxlKikgY29uc3QgeyB9CisKKyAgICB2aXJ0dWFs
IHZvaWQgYWRqdXN0SW5uZXJTcGluQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRl
clN0eWxlKiwgRWxlbWVudCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYWludElubmVyU3Bp
bkJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNv
bnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCB2b2lkIGFkanVzdE91
dGVyU3BpbkJ1dHRvblN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1l
bnQqKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRPdXRlclNwaW5CdXR0b24oUmVuZGVy
T2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jikg
eyByZXR1cm4gdHJ1ZTsgfQogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0VGV4dEZp
ZWxkU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFu
dHMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKaW5k
ZXggOTJjZDNkNS4uN2I2MzJmNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZUNvbnN0YW50cy5oCkBAIC03Myw3ICs3Myw3IEBAIGVudW0gUHNldWRvSWQgewogICAg
IE1FRElBX0NPTlRST0xTX1NFRUtfQkFDS19CVVRUT04sIE1FRElBX0NPTlRST0xTX1NFRUtfRk9S
V0FSRF9CVVRUT04sIE1FRElBX0NPTlRST0xTX0ZVTExTQ1JFRU5fQlVUVE9OLCBNRURJQV9DT05U
Uk9MU19SRVdJTkRfQlVUVE9OLCAKICAgICBNRURJQV9DT05UUk9MU19SRVRVUk5fVE9fUkVBTFRJ
TUVfQlVUVE9OLCBNRURJQV9DT05UUk9MU19UT0dHTEVfQ0xPU0VEX0NBUFRJT05TX0JVVFRPTiwK
ICAgICBNRURJQV9DT05UUk9MU19TVEFUVVNfRElTUExBWSwgU0NST0xMQkFSX1RIVU1CLCBTQ1JP
TExCQVJfQlVUVE9OLCBTQ1JPTExCQVJfVFJBQ0ssIFNDUk9MTEJBUl9UUkFDS19QSUVDRSwgU0NS
T0xMQkFSX0NPUk5FUiwgUkVTSVpFUiwKLSAgICBJTlBVVF9MSVNUX0JVVFRPTiwKKyAgICBJTlBV
VF9MSVNUX0JVVFRPTiwgSU5ORVJfU1BJTl9CVVRUT04sIE9VVEVSX1NQSU5fQlVUVE9OLAogCiAg
ICAgRklSU1RfSU5URVJOQUxfUFNFVURPSUQgPSBGSUxFX1VQTE9BRF9CVVRUT04KIH07Ci0tIAox
LjYuMy4zCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>