<?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>101913</bug_id>
          
          <creation_ts>2012-11-12 02:21:43 -0800</creation_ts>
          <short_desc>Remove HTMLInputElement dependency from PickerIndicatorElement</short_desc>
          <delta_ts>2012-11-12 04:22:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>101889</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kunihiko Sakamoto">ksakamoto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mifenton</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>764168</commentid>
    <comment_count>0</comment_count>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2012-11-12 02:21:43 -0800</bug_when>
    <thetext>Introduce PickerIndicatorOwner interface that replaces the role of hostInput() in PickerIndicatorElement. It makes easier to add interactions between picker indicator and its owner without adding functions to HTMLInputElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764177</commentid>
    <comment_count>1</comment_count>
      <attachid>173596</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2012-11-12 02:42:10 -0800</bug_when>
    <thetext>Created attachment 173596
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764185</commentid>
    <comment_count>2</comment_count>
      <attachid>173596</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-12 02:54:08 -0800</bug_when>
    <thetext>Comment on attachment 173596
Patch

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

The code looks ok.  One comment.

&gt; Source/WebCore/html/shadow/PickerIndicatorElement.h:53
&gt; +        virtual bool isPickerIndicatorOwnerDisabled() const = 0;
&gt; +        virtual bool isPickerIndicatorOwnerReadOnly() const = 0;

They are called together every time.  So we may merge them into one function like isPickerIndicatorOwnerDisabledOrReadOnly(). This pattern is used in FieldOwner in WebCore/html/shadow/DateTimeFieldElement.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764195</commentid>
    <comment_count>3</comment_count>
      <attachid>173600</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2012-11-12 03:16:21 -0800</bug_when>
    <thetext>Created attachment 173600
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764197</commentid>
    <comment_count>4</comment_count>
      <attachid>173596</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2012-11-12 03:16:41 -0800</bug_when>
    <thetext>Comment on attachment 173596
Patch

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

&gt;&gt; Source/WebCore/html/shadow/PickerIndicatorElement.h:53
&gt;&gt; +        virtual bool isPickerIndicatorOwnerReadOnly() const = 0;
&gt; 
&gt; They are called together every time.  So we may merge them into one function like isPickerIndicatorOwnerDisabledOrReadOnly(). This pattern is used in FieldOwner in WebCore/html/shadow/DateTimeFieldElement.h.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764213</commentid>
    <comment_count>5</comment_count>
      <attachid>173600</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-11-12 03:30:18 -0800</bug_when>
    <thetext>Comment on attachment 173600
Patch 2

ok, great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764248</commentid>
    <comment_count>6</comment_count>
      <attachid>173600</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-12 04:22:17 -0800</bug_when>
    <thetext>Comment on attachment 173600
Patch 2

Clearing flags on attachment: 173600

Committed r134206: &lt;http://trac.webkit.org/changeset/134206&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764249</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-12 04:22:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173596</attachid>
            <date>2012-11-12 02:42:10 -0800</date>
            <delta_ts>2012-11-12 03:16:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101913-20121112194012.patch</filename>
            <type>text/plain</type>
            <size>12807</size>
            <attacher name="Kunihiko Sakamoto">ksakamoto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI1NTRmYTAwNGI2OGUx
YzdjY2RkMmM5MGFlZTMzYTRhYTEwYzVhYS4uYWJmYTk3YWU3ZGMxMzI0NzVkMWNiODhjMDcxZDQ0
ODFkOTJhN2I0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTExLTEyICBLdW5p
aGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3Zl
IEhUTUxJbnB1dEVsZW1lbnQgZGVwZW5kZW5jeSBmcm9tIFBpY2tlckluZGljYXRvckVsZW1lbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTkxMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVj
ZWQgUGlja2VySW5kaWNhdG9yT3duZXIgaW50ZXJmYWNlIHRoYXQgcmVwbGFjZXMgdGhlIHJvbGUg
b2YgaG9zdElucHV0KCkgaW4KKyAgICAgICAgUGlja2VySW5kaWNhdG9yRWxlbWVudC4gSXQgbWFr
ZXMgZWFzaWVyIHRvIGFkZCBpbnRlcmFjdGlvbnMgYmV0d2VlbiBwaWNrZXIgaW5kaWNhdG9yCisg
ICAgICAgIGFuZCBpdHMgb3duZXIgd2l0aG91dCBoYXZpbmcgdG8gYWRkIGZ1bmN0aW9ucyB0byBI
VE1MSW5wdXRFbGVtZW50LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBpcyBqdXN0IGEg
cmVmYWN0b3IuCisKKyAgICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlOjppc1BpY2tlckluZGljYXRvck93bmVyRGlzYWJsZWQpOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6QmFzZU11bHRpcGxlRmllbGRz
RGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmlzUGlja2VySW5kaWNhdG9yT3duZXJSZWFkT25seSk6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1
dFR5cGU6OnBpY2tlckluZGljYXRvckNob29zZVZhbHVlKTogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6c2V0dXBEYXRlVGlt
ZUNob29zZXJQYXJhbWV0ZXJzKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpCYXNlTXVsdGlw
bGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6fkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6
OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpkZXN0cm95U2hhZG93U3Vi
dHJlZSk6CisgICAgICAgICogaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0
VHlwZS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChCYXNlTXVsdGlwbGVGaWVsZHNE
YXRlQW5kVGltZUlucHV0VHlwZSk6IEltcGxlbWVudHMgUGlja2VySW5kaWNhdG9yT3duZXIuCisg
ICAgICAgICogaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5jcHA6IFJlcGxhY2Vk
IGFsbCB0aGUgdXNlIG9mIGhvc3RJbnB1dCgpIGJ5IHVzaW5nIFBpY2tlckluZGljYXRvck93bmVy
LgorICAgICAgICAoV2ViQ29yZTo6UGlja2VySW5kaWNhdG9yRWxlbWVudDo6UGlja2VySW5kaWNh
dG9yRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpQaWNrZXJJbmRpY2F0b3JFbGVtZW50Ojpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGlja2VySW5kaWNhdG9yRWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpQaWNrZXJJbmRpY2F0b3JFbGVtZW50
Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpQaWNr
ZXJJbmRpY2F0b3JFbGVtZW50OjpkaWRDaG9vc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpQ
aWNrZXJJbmRpY2F0b3JFbGVtZW50OjpvcGVuUG9wdXApOgorICAgICAgICAqIGh0bWwvc2hhZG93
L1BpY2tlckluZGljYXRvckVsZW1lbnQuaDoKKyAgICAgICAgKFBpY2tlckluZGljYXRvckVsZW1l
bnQpOiBBZGRlZCBhIFBpY2tlckluZGljYXRvck93bmVyIG1lbWJlci4KKyAgICAgICAgKFBpY2tl
ckluZGljYXRvck93bmVyKTogQW4gaW50ZXJmYWNlIGNsYXNzIGZvciBjb21tdW5pY2F0aW5nIHBp
Y2tlciBpbmRpY2F0b3IgYW5kIGl0cyBvd25lci4KKyAgICAgICAgKFdlYkNvcmU6OlBpY2tlcklu
ZGljYXRvckVsZW1lbnQ6OlBpY2tlckluZGljYXRvck93bmVyOjp+UGlja2VySW5kaWNhdG9yT3du
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGlja2VySW5kaWNhdG9yRWxlbWVudDo6cmVtb3ZlUGlj
a2VySW5kaWNhdG9yT3duZXIpOgorCiAyMDEyLTExLTA5ICBUaWVuLVJlbiBDaGVuICA8dHJjaGVu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBDb3JyZWN0IGhpdC10ZXN0IHBvaW50IHNjYWxpbmcg
Zm9yIGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAK
aW5kZXggZTcwZDAwYTgxYWY1YjE5OWMwYTI4MGY4NjllYWI4ZmU0NDZjNzQ4Ny4uOGNiYjBhNDg2
YzVmYTY5NDYyZWNhMTM2NDVhNDM3NzkxMjg1NGI5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZS5jcHAKQEAgLTEyMyw2ICsxMjMsMjYgQEAgdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5k
VGltZUlucHV0VHlwZTo6c3BpbkJ1dHRvblN0ZXBVcCgpCiAgICAgICAgIG1fZGF0ZVRpbWVFZGl0
RWxlbWVudC0+c3RlcFVwKCk7CiB9CiAKK2Jvb2wgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRp
bWVJbnB1dFR5cGU6OmlzUGlja2VySW5kaWNhdG9yT3duZXJEaXNhYmxlZCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIGVsZW1lbnQoKS0+ZGlzYWJsZWQoKTsKK30KKworYm9vbCBCYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6aXNQaWNrZXJJbmRpY2F0b3JPd25lclJlYWRPbmx5
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZWxlbWVudCgpLT5yZWFkT25seSgpOworfQorCit2b2lk
IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpwaWNrZXJJbmRpY2F0b3JD
aG9vc2VWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIGVsZW1lbnQoKS0+c2V0VmFs
dWUodmFsdWUsIERpc3BhdGNoQ2hhbmdlRXZlbnQpOworfQorCitib29sIEJhc2VNdWx0aXBsZUZp
ZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpzZXR1cERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMo
RGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYgcGFyYW1ldGVycykKK3sKKyAgICByZXR1cm4gZWxl
bWVudCgpLT5zZXR1cERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMocGFyYW1ldGVycyk7Cit9CisK
IEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpCYXNlTXVsdGlwbGVGaWVs
ZHNEYXRlQW5kVGltZUlucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQogICAgIDog
QmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlKGVsZW1lbnQpCiAgICAgLCBtX2RhdGVUaW1lRWRpdEVs
ZW1lbnQoMCkKQEAgLTEzOSw2ICsxNTksOCBAQCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGlt
ZUlucHV0VHlwZTo6fkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlKAogICAg
ICAgICBtX3NwaW5CdXR0b25FbGVtZW50LT5yZW1vdmVTcGluQnV0dG9uT3duZXIoKTsKICAgICBp
ZiAobV9kYXRlVGltZUVkaXRFbGVtZW50KQogICAgICAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQt
PnJlbW92ZUVkaXRDb250cm9sT3duZXIoKTsKKyAgICBpZiAobV9waWNrZXJJbmRpY2F0b3JFbGVt
ZW50KQorICAgICAgICBtX3BpY2tlckluZGljYXRvckVsZW1lbnQtPnJlbW92ZVBpY2tlckluZGlj
YXRvck93bmVyKCk7CiB9CiAKIHZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1
dFR5cGU6OmJsdXIoKQpAQCAtMTgzLDcgKzIwNSw3IEBAIHZvaWQgQmFzZU11bHRpcGxlRmllbGRz
RGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQogICAgICAgICBtX3Bp
Y2tlckluZGljYXRvcklzQWx3YXlzVmlzaWJsZSA9IHRydWU7CiAgICAgfQogICAgIGlmIChzaG91
bGRBZGRQaWNrZXJJbmRpY2F0b3IpIHsKLSAgICAgICAgUmVmUHRyPFBpY2tlckluZGljYXRvckVs
ZW1lbnQ+IHBpY2tlckVsZW1lbnQgPSBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpjcmVhdGUoZG9j
dW1lbnQpOworICAgICAgICBSZWZQdHI8UGlja2VySW5kaWNhdG9yRWxlbWVudD4gcGlja2VyRWxl
bWVudCA9IFBpY2tlckluZGljYXRvckVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgKnRoaXMpOwog
ICAgICAgICBtX3BpY2tlckluZGljYXRvckVsZW1lbnQgPSBwaWNrZXJFbGVtZW50LmdldCgpOwog
ICAgICAgICBjb250YWluZXItPmFwcGVuZENoaWxkKG1fcGlja2VySW5kaWNhdG9yRWxlbWVudCk7
CiAgICAgICAgIG1fcGlja2VySW5kaWNhdG9ySXNWaXNpYmxlID0gdHJ1ZTsKQEAgLTIwMSw2ICsy
MjMsMTAgQEAgdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6ZGVz
dHJveVNoYWRvd1N1YnRyZWUoKQogICAgICAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPnJlbW92
ZUVkaXRDb250cm9sT3duZXIoKTsKICAgICAgICAgbV9kYXRlVGltZUVkaXRFbGVtZW50ID0gMDsK
ICAgICB9CisgICAgaWYgKG1fcGlja2VySW5kaWNhdG9yRWxlbWVudCkgeworICAgICAgICBtX3Bp
Y2tlckluZGljYXRvckVsZW1lbnQtPnJlbW92ZVBpY2tlckluZGljYXRvck93bmVyKCk7CisgICAg
ICAgIG1fcGlja2VySW5kaWNhdG9yRWxlbWVudCA9IDA7CisgICAgfQogICAgIEJhc2VEYXRlQW5k
VGltZUlucHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUoKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZS5oCmluZGV4IDljNzViYjJjNTJlZWE2MDc0ODJjZjE0N2Q2MzdlZDM2ZTM1YTY1YmUu
LmYwYWU5ZjliOTdlM2EwYWQxMmRkNWFmNTE4MmVjM2Y2NjQ0ZDBiMDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlLmgKQEAgLTM1LDEzICszNSwxNCBAQAogCiAjaWYgRU5BQkxFKElOUFVUX01VTFRJ
UExFX0ZJRUxEU19VSSkKICNpbmNsdWRlICJEYXRlVGltZUVkaXRFbGVtZW50LmgiCisjaW5jbHVk
ZSAiUGlja2VySW5kaWNhdG9yRWxlbWVudC5oIgogI2luY2x1ZGUgIlNwaW5CdXR0b25FbGVtZW50
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGlja2VySW5kaWNhdG9yRWxlbWVu
dDsKK3N0cnVjdCBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzOwogCi1jbGFzcyBCYXNlTXVsdGlw
bGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSA6IHB1YmxpYyBCYXNlRGF0ZUFuZFRpbWVJbnB1
dFR5cGUsIHByb3RlY3RlZCBEYXRlVGltZUVkaXRFbGVtZW50OjpFZGl0Q29udHJvbE93bmVyIHsK
K2NsYXNzIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlIDogcHVibGljIEJh
c2VEYXRlQW5kVGltZUlucHV0VHlwZSwgcHJvdGVjdGVkIERhdGVUaW1lRWRpdEVsZW1lbnQ6OkVk
aXRDb250cm9sT3duZXIsIHByb3RlY3RlZCBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpQaWNrZXJJ
bmRpY2F0b3JPd25lciB7CiBwcm90ZWN0ZWQ6CiAgICAgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFu
ZFRpbWVJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCopOwogICAgIHZpcnR1YWwgfkJhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlKCk7CkBAIC02Niw2ICs2NywxMiBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzcGluQnV0dG9uU3RlcERvd24oKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIHZvaWQgc3BpbkJ1dHRvblN0ZXBVcCgpIE9WRVJSSURFOwogCisgICAgLy8gUGlj
a2VySW5kaWNhdG9yRWxlbWVudDo6UGlja2VySW5kaWNhdG9yT3duZXIgZnVuY3Rpb25zCisgICAg
dmlydHVhbCBib29sIGlzUGlja2VySW5kaWNhdG9yT3duZXJEaXNhYmxlZCgpIGNvbnN0IE9WRVJS
SURFIEZJTkFMOworICAgIHZpcnR1YWwgYm9vbCBpc1BpY2tlckluZGljYXRvck93bmVyUmVhZE9u
bHkoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKKyAgICB2aXJ0dWFsIHZvaWQgcGlja2VySW5kaWNh
dG9yQ2hvb3NlVmFsdWUoY29uc3QgU3RyaW5nJikgT1ZFUlJJREUgRklOQUw7CisgICAgdmlydHVh
bCBib29sIHNldHVwRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyhEYXRlVGltZUNob29zZXJQYXJh
bWV0ZXJzJikgT1ZFUlJJREUgRklOQUw7CisKICAgICAvLyBJbnB1dFR5cGUgZnVuY3Rpb25zCiAg
ICAgdmlydHVhbCB2b2lkIGJsdXIoKSBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFsIFJlbmRl
ck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopIGNvbnN0
IE9WRVJSSURFIEZJTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
UGlja2VySW5kaWNhdG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Q
aWNrZXJJbmRpY2F0b3JFbGVtZW50LmNwcAppbmRleCBiNjY4M2E1MzU4ZDM5YjE1MzZmOWY1MjU0
ZDNjNjRkOGUwNzQxYTg5Li42ZmI4Nzk4ZjU0OGFjNmNkMDYxOWZhZDY4ZGRlZDJmZjU2MTNhYjNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0
b3JFbGVtZW50LmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIkNocm9tZS5oIgogI2lu
Y2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCi0jaW5jbHVkZSAiSFRN
TElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJEZXRh
aWxzTWFya2VyLmgiCiAKQEAgLTQ1LDE1ICs0NCwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWlubGluZSBQaWNrZXJJbmRpY2F0b3JFbGVt
ZW50OjpQaWNrZXJJbmRpY2F0b3JFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCkKK2lubGluZSBQ
aWNrZXJJbmRpY2F0b3JFbGVtZW50OjpQaWNrZXJJbmRpY2F0b3JFbGVtZW50KERvY3VtZW50KiBk
b2N1bWVudCwgUGlja2VySW5kaWNhdG9yT3duZXImIHBpY2tlckluZGljYXRvck93bmVyKQogICAg
IDogSFRNTERpdkVsZW1lbnQoZGl2VGFnLCBkb2N1bWVudCkKKyAgICAsIG1fcGlja2VySW5kaWNh
dG9yT3duZXIoJnBpY2tlckluZGljYXRvck93bmVyKQogewogICAgIHNldFBzZXVkbyhBdG9taWNT
dHJpbmcoIi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciIsIEF0b21pY1N0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKIH0KIAotUGFzc1JlZlB0cjxQaWNrZXJJbmRpY2F0b3JF
bGVtZW50PiBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50
KQorUGFzc1JlZlB0cjxQaWNrZXJJbmRpY2F0b3JFbGVtZW50PiBQaWNrZXJJbmRpY2F0b3JFbGVt
ZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBQaWNrZXJJbmRpY2F0b3JPd25lciYgcGlj
a2VySW5kaWNhdG9yT3duZXIpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQaWNrZXJJbmRp
Y2F0b3JFbGVtZW50KGRvY3VtZW50KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQaWNrZXJJ
bmRpY2F0b3JFbGVtZW50KGRvY3VtZW50LCBwaWNrZXJJbmRpY2F0b3JPd25lcikpOwogfQogCiBQ
aWNrZXJJbmRpY2F0b3JFbGVtZW50Ojp+UGlja2VySW5kaWNhdG9yRWxlbWVudCgpCkBAIC02Nywy
MSArNjcsMTMgQEAgUmVuZGVyT2JqZWN0KiBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpjcmVhdGVS
ZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclMKICAgICByZXR1cm4gbmV3IChhcmVu
YSkgUmVuZGVyRGV0YWlsc01hcmtlcih0aGlzKTsKIH0KIAotaW5saW5lIEhUTUxJbnB1dEVsZW1l
bnQqIFBpY2tlckluZGljYXRvckVsZW1lbnQ6Omhvc3RJbnB1dCgpCi17Ci0gICAgLy8gSmF2YVNj
cmlwdCBjb2RlIGNhbid0IGNyZWF0ZSBQaWNrZXJJbmRpY2F0b3JFbGVtZW50IG9iamVjdHMuIFRo
aXMgaXMKLSAgICAvLyBhbHdheXMgaW4gc2hhZG93IG9mIDxpbnB1dD4uCi0gICAgQVNTRVJUKHNo
YWRvd0hvc3QoKSk7Ci0gICAgQVNTRVJUKHNoYWRvd0hvc3QoKS0+aGFzVGFnTmFtZShpbnB1dFRh
ZykpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oc2hhZG93SG9z
dCgpKTsKLX0KLQogdm9pZCBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5k
bGVyKEV2ZW50KiBldmVudCkKIHsKICAgICBpZiAoIXJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVy
bjsKLSAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IGhvc3RJbnB1dCgpOwotICAgIGlmIChp
bnB1dC0+cmVhZE9ubHkoKSB8fCBpbnB1dC0+ZGlzYWJsZWQoKSkKKyAgICBpZiAoIW1fcGlja2Vy
SW5kaWNhdG9yT3duZXIKKyAgICAgICAgfHwgbV9waWNrZXJJbmRpY2F0b3JPd25lci0+aXNQaWNr
ZXJJbmRpY2F0b3JPd25lclJlYWRPbmx5KCkKKyAgICAgICAgfHwgbV9waWNrZXJJbmRpY2F0b3JP
d25lci0+aXNQaWNrZXJJbmRpY2F0b3JPd25lckRpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsK
IAogICAgIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50KSB7CkBA
IC05NSw4ICs4NywxMCBAQCB2b2lkIFBpY2tlckluZGljYXRvckVsZW1lbnQ6OmRlZmF1bHRFdmVu
dEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogCiBib29sIFBpY2tlckluZGljYXRvckVsZW1lbnQ6Ondp
bGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCkKIHsKLSAgICBjb25zdCBIVE1MSW5wdXRFbGVt
ZW50KiBpbnB1dCA9IGhvc3RJbnB1dCgpOwotICAgIGlmIChyZW5kZXJlcigpICYmICFpbnB1dC0+
cmVhZE9ubHkoKSAmJiAhaW5wdXQtPmRpc2FibGVkKCkpCisgICAgaWYgKHJlbmRlcmVyKCkKKyAg
ICAgICAgJiYgbV9waWNrZXJJbmRpY2F0b3JPd25lcgorICAgICAgICAmJiAhbV9waWNrZXJJbmRp
Y2F0b3JPd25lci0+aXNQaWNrZXJJbmRpY2F0b3JPd25lclJlYWRPbmx5KCkKKyAgICAgICAgJiYg
IW1fcGlja2VySW5kaWNhdG9yT3duZXItPmlzUGlja2VySW5kaWNhdG9yT3duZXJEaXNhYmxlZCgp
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIHJldHVybiBIVE1MRGl2RWxlbWVudDo6d2ls
bFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKTsKQEAgLTEwNCw3ICs5OCw5IEBAIGJvb2wgUGlj
a2VySW5kaWNhdG9yRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKQogCiB2
b2lkIFBpY2tlckluZGljYXRvckVsZW1lbnQ6OmRpZENob29zZVZhbHVlKGNvbnN0IFN0cmluZyYg
dmFsdWUpCiB7Ci0gICAgaG9zdElucHV0KCktPnNldFZhbHVlKHZhbHVlLCBEaXNwYXRjaENoYW5n
ZUV2ZW50KTsKKyAgICBpZiAoIW1fcGlja2VySW5kaWNhdG9yT3duZXIpCisgICAgICAgIHJldHVy
bjsKKyAgICBtX3BpY2tlckluZGljYXRvck93bmVyLT5waWNrZXJJbmRpY2F0b3JDaG9vc2VWYWx1
ZSh2YWx1ZSk7CiB9CiAKIHZvaWQgUGlja2VySW5kaWNhdG9yRWxlbWVudDo6ZGlkRW5kQ2hvb3Nl
cigpCkBAIC0xMTgsMTEgKzExNCwxMyBAQCB2b2lkIFBpY2tlckluZGljYXRvckVsZW1lbnQ6Om9w
ZW5Qb3B1cCgpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoIWRvY3VtZW50KCktPnBhZ2UoKSkK
ICAgICAgICAgcmV0dXJuOworICAgIGlmICghbV9waWNrZXJJbmRpY2F0b3JPd25lcikKKyAgICAg
ICAgcmV0dXJuOwogICAgIENocm9tZSogY2hyb21lID0gZG9jdW1lbnQoKS0+cGFnZSgpLT5jaHJv
bWUoKTsKICAgICBpZiAoIWNocm9tZSkKICAgICAgICAgcmV0dXJuOwogICAgIERhdGVUaW1lQ2hv
b3NlclBhcmFtZXRlcnMgcGFyYW1ldGVyczsKLSAgICBpZiAoIWhvc3RJbnB1dCgpLT5zZXR1cERh
dGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMocGFyYW1ldGVycykpCisgICAgaWYgKCFtX3BpY2tlcklu
ZGljYXRvck93bmVyLT5zZXR1cERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMocGFyYW1ldGVycykp
CiAgICAgICAgIHJldHVybjsKICAgICBtX2Nob29zZXIgPSBjaHJvbWUtPmNsaWVudCgpLT5vcGVu
RGF0ZVRpbWVDaG9vc2VyKHRoaXMsIHBhcmFtZXRlcnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5oCmluZGV4IGNiNzU1Njcx
NzQ5YmY5YzIwMDM4N2YwMWIyM2Q0OTg2N2E0YjNmMzcuLmVhMGI5ZWJiNjk5YTE1NzhlZWM3NmU4
YmEzODY4ZWMzOTIyZjE3ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L1BpY2tlckluZGljYXRvckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmgKQEAgLTQ0LDI0ICs0NCwzNyBAQCBjbGFzcyBQYWdl
UG9wdXA7CiAKIGNsYXNzIFBpY2tlckluZGljYXRvckVsZW1lbnQgOiBwdWJsaWMgSFRNTERpdkVs
ZW1lbnQsIHB1YmxpYyBEYXRlVGltZUNob29zZXJDbGllbnQgewogcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFBpY2tlckluZGljYXRvckVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCopOwor
ICAgIC8vIFBpY2tlckluZGljYXRvck93bmVyIGltcGxlbWVudGVyIG11c3QgY2FsbCByZW1vdmVQ
aWNrZXJJbmRpY2F0b3JPd25lciB3aGVuCisgICAgLy8gaXQgZG9lc24ndCBoYW5kbGUgZXZlbnQs
IGUuZy4gYXQgZGVzdHJ1Y3Rpb24uCisgICAgY2xhc3MgUGlja2VySW5kaWNhdG9yT3duZXIgewor
ICAgIHB1YmxpYzoKKyAgICAgICAgdmlydHVhbCB+UGlja2VySW5kaWNhdG9yT3duZXIoKSB7IH0K
KyAgICAgICAgdmlydHVhbCBib29sIGlzUGlja2VySW5kaWNhdG9yT3duZXJEaXNhYmxlZCgpIGNv
bnN0ID0gMDsKKyAgICAgICAgdmlydHVhbCBib29sIGlzUGlja2VySW5kaWNhdG9yT3duZXJSZWFk
T25seSgpIGNvbnN0ID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHBpY2tlckluZGljYXRvckNo
b29zZVZhbHVlKGNvbnN0IFN0cmluZyYpID0gMDsKKyAgICAgICAgdmlydHVhbCBib29sIHNldHVw
RGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyhEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzJikgPSAw
OworICAgIH07CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxQaWNrZXJJbmRpY2F0b3JFbGVtZW50
PiBjcmVhdGUoRG9jdW1lbnQqLCBQaWNrZXJJbmRpY2F0b3JPd25lciYpOwogICAgIHZpcnR1YWwg
flBpY2tlckluZGljYXRvckVsZW1lbnQoKTsKICAgICB2b2lkIG9wZW5Qb3B1cCgpOwogICAgIHZv
aWQgY2xvc2VQb3B1cCgpOwogICAgIHZpcnR1YWwgYm9vbCB3aWxsUmVzcG9uZFRvTW91c2VDbGlj
a0V2ZW50cygpIE9WRVJSSURFOworICAgIHZvaWQgcmVtb3ZlUGlja2VySW5kaWNhdG9yT3duZXIo
KSB7IG1fcGlja2VySW5kaWNhdG9yT3duZXIgPSAwOyB9CiAKICAgICAvLyBEYXRlVGltZUNob29z
ZXJDbGllbnQgaW1wbGVtZW50YXRpb24uCiAgICAgdmlydHVhbCB2b2lkIGRpZENob29zZVZhbHVl
KGNvbnN0IFN0cmluZyYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRFbmRDaG9vc2Vy
KCkgT1ZFUlJJREU7CiAKIHByaXZhdGU6Ci0gICAgUGlja2VySW5kaWNhdG9yRWxlbWVudChEb2N1
bWVudCopOworICAgIFBpY2tlckluZGljYXRvckVsZW1lbnQoRG9jdW1lbnQqLCBQaWNrZXJJbmRp
Y2F0b3JPd25lciYpOwogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihS
ZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRl
ZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGV0
YWNoKCkgT1ZFUlJJREU7CiAKICAgICBIVE1MSW5wdXRFbGVtZW50KiBob3N0SW5wdXQoKTsKIAor
ICAgIFBpY2tlckluZGljYXRvck93bmVyKiBtX3BpY2tlckluZGljYXRvck93bmVyOwogICAgIFJl
ZlB0cjxEYXRlVGltZUNob29zZXI+IG1fY2hvb3NlcjsKIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173600</attachid>
            <date>2012-11-12 03:16:21 -0800</date>
            <delta_ts>2012-11-12 04:22:17 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-101913-20121112201423.patch</filename>
            <type>text/plain</type>
            <size>12359</size>
            <attacher name="Kunihiko Sakamoto">ksakamoto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI1NTRmYTAwNGI2OGUx
YzdjY2RkMmM5MGFlZTMzYTRhYTEwYzVhYS4uYjFjYWVkY2ZjYWEyZjdkYjZmMTc4NjZjZjI5ZjAx
ZTU4ZGMwNjA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTExLTEyICBLdW5p
aGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3Zl
IEhUTUxJbnB1dEVsZW1lbnQgZGVwZW5kZW5jeSBmcm9tIFBpY2tlckluZGljYXRvckVsZW1lbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTkxMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVj
ZWQgUGlja2VySW5kaWNhdG9yT3duZXIgaW50ZXJmYWNlIHRoYXQgcmVwbGFjZXMgdGhlIHJvbGUg
b2YgaG9zdElucHV0KCkgaW4KKyAgICAgICAgUGlja2VySW5kaWNhdG9yRWxlbWVudC4gSXQgbWFr
ZXMgZWFzaWVyIHRvIGFkZCBpbnRlcmFjdGlvbnMgYmV0d2VlbiBwaWNrZXIgaW5kaWNhdG9yCisg
ICAgICAgIGFuZCBpdHMgb3duZXIgd2l0aG91dCBoYXZpbmcgdG8gYWRkIGZ1bmN0aW9ucyB0byBI
VE1MSW5wdXRFbGVtZW50LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBpcyBqdXN0IGEg
cmVmYWN0b3IuCisKKyAgICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VNdWx0aXBsZUZpZWxkc0RhdGVB
bmRUaW1lSW5wdXRUeXBlOjppc1BpY2tlckluZGljYXRvck93bmVyRGlzYWJsZWRPclJlYWRPbmx5
KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpwaWNrZXJJbmRpY2F0b3JDaG9vc2VWYWx1
ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRp
bWVJbnB1dFR5cGU6OnNldHVwRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyk6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6On5C
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSk6CisgICAgICAgIChXZWJDb3Jl
OjpCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6Y3JlYXRlU2hhZG93U3Vi
dHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUpOgorICAgICAgICAqIGh0bWwvQmFzZU11bHRp
cGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUpOiBJbXBsZW1lbnRz
IFBpY2tlckluZGljYXRvck93bmVyLgorICAgICAgICAqIGh0bWwvc2hhZG93L1BpY2tlckluZGlj
YXRvckVsZW1lbnQuY3BwOiBSZXBsYWNlZCBhbGwgdGhlIHVzZSBvZiBob3N0SW5wdXQoKSBieSB1
c2luZyBQaWNrZXJJbmRpY2F0b3JPd25lci4KKyAgICAgICAgKFdlYkNvcmU6OlBpY2tlckluZGlj
YXRvckVsZW1lbnQ6OlBpY2tlckluZGljYXRvckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6
UGlja2VySW5kaWNhdG9yRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBpY2tl
ckluZGljYXRvckVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6UGlja2VySW5kaWNhdG9yRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMp
OgorICAgICAgICAoV2ViQ29yZTo6UGlja2VySW5kaWNhdG9yRWxlbWVudDo6ZGlkQ2hvb3NlVmFs
dWUpOgorICAgICAgICAoV2ViQ29yZTo6UGlja2VySW5kaWNhdG9yRWxlbWVudDo6b3BlblBvcHVw
KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50Lmg6CisgICAg
ICAgIChQaWNrZXJJbmRpY2F0b3JFbGVtZW50KTogQWRkZWQgYSBQaWNrZXJJbmRpY2F0b3JPd25l
ciBtZW1iZXIuCisgICAgICAgIChQaWNrZXJJbmRpY2F0b3JPd25lcik6IEFuIGludGVyZmFjZSBj
bGFzcyBmb3IgY29tbXVuaWNhdGluZyBwaWNrZXIgaW5kaWNhdG9yIGFuZCBpdHMgb3duZXIuCisg
ICAgICAgIChXZWJDb3JlOjpQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpQaWNrZXJJbmRpY2F0b3JP
d25lcjo6flBpY2tlckluZGljYXRvck93bmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBpY2tlcklu
ZGljYXRvckVsZW1lbnQ6OnJlbW92ZVBpY2tlckluZGljYXRvck93bmVyKToKKwogMjAxMi0xMS0w
OSAgVGllbi1SZW4gQ2hlbiAgPHRyY2hlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ29ycmVj
dCBoaXQtdGVzdCBwb2ludCBzY2FsaW5nIGZvciBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRU
aW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRz
RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmluZGV4IGU3MGQwMGE4MWFmNWIxOTljMGEyODBmODY5
ZWFiOGZlNDQ2Yzc0ODcuLmRmMGRmOTZjN2E1NzMxMzY2NGI0MTljYzM4YWI5MWJhNjMxZDE3MDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFu
ZFRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxl
RmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0xMjMsNiArMTIzLDIxIEBAIHZvaWQg
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNwaW5CdXR0b25TdGVwVXAo
KQogICAgICAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPnN0ZXBVcCgpOwogfQogCitib29sIEJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjppc1BpY2tlckluZGljYXRvck93
bmVyRGlzYWJsZWRPclJlYWRPbmx5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZWxlbWVudCgpLT5k
aXNhYmxlZCgpIHx8IGVsZW1lbnQoKS0+cmVhZE9ubHkoKTsKK30KKwordm9pZCBCYXNlTXVsdGlw
bGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6cGlja2VySW5kaWNhdG9yQ2hvb3NlVmFsdWUo
Y29uc3QgU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBlbGVtZW50KCktPnNldFZhbHVlKHZhbHVlLCBE
aXNwYXRjaENoYW5nZUV2ZW50KTsKK30KKworYm9vbCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5k
VGltZUlucHV0VHlwZTo6c2V0dXBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzKERhdGVUaW1lQ2hv
b3NlclBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit7CisgICAgcmV0dXJuIGVsZW1lbnQoKS0+c2V0
dXBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpOworfQorCiBCYXNlTXVsdGlw
bGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRp
bWVJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkKICAgICA6IEJhc2VEYXRlQW5k
VGltZUlucHV0VHlwZShlbGVtZW50KQogICAgICwgbV9kYXRlVGltZUVkaXRFbGVtZW50KDApCkBA
IC0xMzksNiArMTU0LDggQEAgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6
On5CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSgKICAgICAgICAgbV9zcGlu
QnV0dG9uRWxlbWVudC0+cmVtb3ZlU3BpbkJ1dHRvbk93bmVyKCk7CiAgICAgaWYgKG1fZGF0ZVRp
bWVFZGl0RWxlbWVudCkKICAgICAgICAgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5yZW1vdmVFZGl0
Q29udHJvbE93bmVyKCk7CisgICAgaWYgKG1fcGlja2VySW5kaWNhdG9yRWxlbWVudCkKKyAgICAg
ICAgbV9waWNrZXJJbmRpY2F0b3JFbGVtZW50LT5yZW1vdmVQaWNrZXJJbmRpY2F0b3JPd25lcigp
OwogfQogCiB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpibHVy
KCkKQEAgLTE4Myw3ICsyMDAsNyBAQCB2b2lkIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlOjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKICAgICAgICAgbV9waWNrZXJJbmRpY2F0
b3JJc0Fsd2F5c1Zpc2libGUgPSB0cnVlOwogICAgIH0KICAgICBpZiAoc2hvdWxkQWRkUGlja2Vy
SW5kaWNhdG9yKSB7Ci0gICAgICAgIFJlZlB0cjxQaWNrZXJJbmRpY2F0b3JFbGVtZW50PiBwaWNr
ZXJFbGVtZW50ID0gUGlja2VySW5kaWNhdG9yRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKKyAg
ICAgICAgUmVmUHRyPFBpY2tlckluZGljYXRvckVsZW1lbnQ+IHBpY2tlckVsZW1lbnQgPSBQaWNr
ZXJJbmRpY2F0b3JFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsICp0aGlzKTsKICAgICAgICAgbV9w
aWNrZXJJbmRpY2F0b3JFbGVtZW50ID0gcGlja2VyRWxlbWVudC5nZXQoKTsKICAgICAgICAgY29u
dGFpbmVyLT5hcHBlbmRDaGlsZChtX3BpY2tlckluZGljYXRvckVsZW1lbnQpOwogICAgICAgICBt
X3BpY2tlckluZGljYXRvcklzVmlzaWJsZSA9IHRydWU7CkBAIC0yMDEsNiArMjE4LDEwIEBAIHZv
aWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmRlc3Ryb3lTaGFkb3dT
dWJ0cmVlKCkKICAgICAgICAgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5yZW1vdmVFZGl0Q29udHJv
bE93bmVyKCk7CiAgICAgICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudCA9IDA7CiAgICAgfQorICAg
IGlmIChtX3BpY2tlckluZGljYXRvckVsZW1lbnQpIHsKKyAgICAgICAgbV9waWNrZXJJbmRpY2F0
b3JFbGVtZW50LT5yZW1vdmVQaWNrZXJJbmRpY2F0b3JPd25lcigpOworICAgICAgICBtX3BpY2tl
ckluZGljYXRvckVsZW1lbnQgPSAwOworICAgIH0KICAgICBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5
cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApp
bmRleCA5Yzc1YmIyYzUyZWVhNjA3NDgyY2YxNDdkNjM3ZWQzNmUzNWE2NWJlLi5iNWFjYzllNmI5
MzFkNDI4MzFmMWNhM2UyZTkwOGI2MWE3ZDY2MmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5o
CkBAIC0zNSwxMyArMzUsMTQgQEAKIAogI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNf
VUkpCiAjaW5jbHVkZSAiRGF0ZVRpbWVFZGl0RWxlbWVudC5oIgorI2luY2x1ZGUgIlBpY2tlcklu
ZGljYXRvckVsZW1lbnQuaCIKICNpbmNsdWRlICJTcGluQnV0dG9uRWxlbWVudC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBpY2tlckluZGljYXRvckVsZW1lbnQ7CitzdHJ1Y3Qg
RGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVyczsKIAotY2xhc3MgQmFzZU11bHRpcGxlRmllbGRzRGF0
ZUFuZFRpbWVJbnB1dFR5cGUgOiBwdWJsaWMgQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLCBwcm90
ZWN0ZWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6RWRpdENvbnRyb2xPd25lciB7CitjbGFzcyBCYXNl
TXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSA6IHB1YmxpYyBCYXNlRGF0ZUFuZFRp
bWVJbnB1dFR5cGUsIHByb3RlY3RlZCBEYXRlVGltZUVkaXRFbGVtZW50OjpFZGl0Q29udHJvbE93
bmVyLCBwcm90ZWN0ZWQgUGlja2VySW5kaWNhdG9yRWxlbWVudDo6UGlja2VySW5kaWNhdG9yT3du
ZXIgewogcHJvdGVjdGVkOgogICAgIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRU
eXBlKEhUTUxJbnB1dEVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5CYXNlTXVsdGlwbGVGaWVsZHNE
YXRlQW5kVGltZUlucHV0VHlwZSgpOwpAQCAtNjYsNiArNjcsMTEgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgc3BpbkJ1dHRvblN0ZXBEb3duKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2
b2lkIHNwaW5CdXR0b25TdGVwVXAoKSBPVkVSUklERTsKIAorICAgIC8vIFBpY2tlckluZGljYXRv
ckVsZW1lbnQ6OlBpY2tlckluZGljYXRvck93bmVyIGZ1bmN0aW9ucworICAgIHZpcnR1YWwgYm9v
bCBpc1BpY2tlckluZGljYXRvck93bmVyRGlzYWJsZWRPclJlYWRPbmx5KCkgY29uc3QgT1ZFUlJJ
REUgRklOQUw7CisgICAgdmlydHVhbCB2b2lkIHBpY2tlckluZGljYXRvckNob29zZVZhbHVlKGNv
bnN0IFN0cmluZyYpIE9WRVJSSURFIEZJTkFMOworICAgIHZpcnR1YWwgYm9vbCBzZXR1cERhdGVU
aW1lQ2hvb3NlclBhcmFtZXRlcnMoRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYpIE9WRVJSSURF
IEZJTkFMOworCiAgICAgLy8gSW5wdXRUeXBlIGZ1bmN0aW9ucwogICAgIHZpcnR1YWwgdm9pZCBi
bHVyKCkgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJl
bmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKSBjb25zdCBPVkVSUklERSBGSU5BTDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxl
bWVudC5jcHAKaW5kZXggYjY2ODNhNTM1OGQzOWIxNTM2ZjlmNTI1NGQzYzY0ZDhlMDc0MWE4OS4u
YWMwMzkxNzI2ZWEzMDU4ZDMzOWU0N2E0ZmY2Mzg4NGExYTM1NWU2YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5jcHAKQEAg
LTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGll
bnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgotI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyRGV0YWlsc01hcmtlci5oIgogCkBA
IC00NSwxNSArNDQsMTYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOwogCi1pbmxpbmUgUGlja2VySW5kaWNhdG9yRWxlbWVudDo6UGlja2VySW5kaWNh
dG9yRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQpCitpbmxpbmUgUGlja2VySW5kaWNhdG9yRWxl
bWVudDo6UGlja2VySW5kaWNhdG9yRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIFBpY2tlcklu
ZGljYXRvck93bmVyJiBwaWNrZXJJbmRpY2F0b3JPd25lcikKICAgICA6IEhUTUxEaXZFbGVtZW50
KGRpdlRhZywgZG9jdW1lbnQpCisgICAgLCBtX3BpY2tlckluZGljYXRvck93bmVyKCZwaWNrZXJJ
bmRpY2F0b3JPd25lcikKIHsKICAgICBzZXRQc2V1ZG8oQXRvbWljU3RyaW5nKCItd2Via2l0LWNh
bGVuZGFyLXBpY2tlci1pbmRpY2F0b3IiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRl
cmFsKSk7CiB9CiAKLVBhc3NSZWZQdHI8UGlja2VySW5kaWNhdG9yRWxlbWVudD4gUGlja2VySW5k
aWNhdG9yRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKK1Bhc3NSZWZQdHI8UGlj
a2VySW5kaWNhdG9yRWxlbWVudD4gUGlja2VySW5kaWNhdG9yRWxlbWVudDo6Y3JlYXRlKERvY3Vt
ZW50KiBkb2N1bWVudCwgUGlja2VySW5kaWNhdG9yT3duZXImIHBpY2tlckluZGljYXRvck93bmVy
KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGlja2VySW5kaWNhdG9yRWxlbWVudChkb2N1
bWVudCkpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGlja2VySW5kaWNhdG9yRWxlbWVudChk
b2N1bWVudCwgcGlja2VySW5kaWNhdG9yT3duZXIpKTsKIH0KIAogUGlja2VySW5kaWNhdG9yRWxl
bWVudDo6flBpY2tlckluZGljYXRvckVsZW1lbnQoKQpAQCAtNjcsMjEgKzY3LDExIEBAIFJlbmRl
ck9iamVjdCogUGlja2VySW5kaWNhdG9yRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJl
bmEqIGFyZW5hLCBSZW5kZXJTCiAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlckRldGFpbHNN
YXJrZXIodGhpcyk7CiB9CiAKLWlubGluZSBIVE1MSW5wdXRFbGVtZW50KiBQaWNrZXJJbmRpY2F0
b3JFbGVtZW50Ojpob3N0SW5wdXQoKQotewotICAgIC8vIEphdmFTY3JpcHQgY29kZSBjYW4ndCBj
cmVhdGUgUGlja2VySW5kaWNhdG9yRWxlbWVudCBvYmplY3RzLiBUaGlzIGlzCi0gICAgLy8gYWx3
YXlzIGluIHNoYWRvdyBvZiA8aW5wdXQ+LgotICAgIEFTU0VSVChzaGFkb3dIb3N0KCkpOwotICAg
IEFTU0VSVChzaGFkb3dIb3N0KCktPmhhc1RhZ05hbWUoaW5wdXRUYWcpKTsKLSAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KHNoYWRvd0hvc3QoKSk7Ci19Ci0KIHZvaWQg
UGlja2VySW5kaWNhdG9yRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQp
CiB7CiAgICAgaWYgKCFyZW5kZXJlcigpKQogICAgICAgICByZXR1cm47Ci0gICAgSFRNTElucHV0
RWxlbWVudCogaW5wdXQgPSBob3N0SW5wdXQoKTsKLSAgICBpZiAoaW5wdXQtPnJlYWRPbmx5KCkg
fHwgaW5wdXQtPmRpc2FibGVkKCkpCisgICAgaWYgKCFtX3BpY2tlckluZGljYXRvck93bmVyIHx8
IG1fcGlja2VySW5kaWNhdG9yT3duZXItPmlzUGlja2VySW5kaWNhdG9yT3duZXJEaXNhYmxlZE9y
UmVhZE9ubHkoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0g
ZXZlbnROYW1lcygpLmNsaWNrRXZlbnQpIHsKQEAgLTk1LDggKzg1LDcgQEAgdm9pZCBQaWNrZXJJ
bmRpY2F0b3JFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIAogYm9v
bCBQaWNrZXJJbmRpY2F0b3JFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygp
CiB7Ci0gICAgY29uc3QgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBob3N0SW5wdXQoKTsKLSAg
ICBpZiAocmVuZGVyZXIoKSAmJiAhaW5wdXQtPnJlYWRPbmx5KCkgJiYgIWlucHV0LT5kaXNhYmxl
ZCgpKQorICAgIGlmIChyZW5kZXJlcigpICYmIG1fcGlja2VySW5kaWNhdG9yT3duZXIgJiYgIW1f
cGlja2VySW5kaWNhdG9yT3duZXItPmlzUGlja2VySW5kaWNhdG9yT3duZXJEaXNhYmxlZE9yUmVh
ZE9ubHkoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4gSFRNTERpdkVsZW1l
bnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCk7CkBAIC0xMDQsNyArOTMsOSBAQCBi
b29sIFBpY2tlckluZGljYXRvckVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRz
KCkKIAogdm9pZCBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpkaWRDaG9vc2VWYWx1ZShjb25zdCBT
dHJpbmcmIHZhbHVlKQogewotICAgIGhvc3RJbnB1dCgpLT5zZXRWYWx1ZSh2YWx1ZSwgRGlzcGF0
Y2hDaGFuZ2VFdmVudCk7CisgICAgaWYgKCFtX3BpY2tlckluZGljYXRvck93bmVyKQorICAgICAg
ICByZXR1cm47CisgICAgbV9waWNrZXJJbmRpY2F0b3JPd25lci0+cGlja2VySW5kaWNhdG9yQ2hv
b3NlVmFsdWUodmFsdWUpOwogfQogCiB2b2lkIFBpY2tlckluZGljYXRvckVsZW1lbnQ6OmRpZEVu
ZENob29zZXIoKQpAQCAtMTE4LDExICsxMDksMTMgQEAgdm9pZCBQaWNrZXJJbmRpY2F0b3JFbGVt
ZW50OjpvcGVuUG9wdXAoKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCFkb2N1bWVudCgpLT5w
YWdlKCkpCiAgICAgICAgIHJldHVybjsKKyAgICBpZiAoIW1fcGlja2VySW5kaWNhdG9yT3duZXIp
CisgICAgICAgIHJldHVybjsKICAgICBDaHJvbWUqIGNocm9tZSA9IGRvY3VtZW50KCktPnBhZ2Uo
KS0+Y2hyb21lKCk7CiAgICAgaWYgKCFjaHJvbWUpCiAgICAgICAgIHJldHVybjsKICAgICBEYXRl
VGltZUNob29zZXJQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7Ci0gICAgaWYgKCFob3N0SW5wdXQoKS0+
c2V0dXBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpKQorICAgIGlmICghbV9w
aWNrZXJJbmRpY2F0b3JPd25lci0+c2V0dXBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzKHBhcmFt
ZXRlcnMpKQogICAgICAgICByZXR1cm47CiAgICAgbV9jaG9vc2VyID0gY2hyb21lLT5jbGllbnQo
KS0+b3BlbkRhdGVUaW1lQ2hvb3Nlcih0aGlzLCBwYXJhbWV0ZXJzKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuaAppbmRleCBj
Yjc1NTY3MTc0OWJmOWMyMDAzODdmMDFiMjNkNDk4NjdhNGIzZjM3Li40ZGM3ZGIyNjMxZjRiMjEy
ODJmZDI3MTRkZGQ1N2ZlNTViNGUyYzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5oCkBAIC00NCwyNCArNDQsMzYgQEAgY2xh
c3MgUGFnZVBvcHVwOwogCiBjbGFzcyBQaWNrZXJJbmRpY2F0b3JFbGVtZW50IDogcHVibGljIEhU
TUxEaXZFbGVtZW50LCBwdWJsaWMgRGF0ZVRpbWVDaG9vc2VyQ2xpZW50IHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxQaWNrZXJJbmRpY2F0b3JFbGVtZW50PiBjcmVhdGUoRG9jdW1l
bnQqKTsKKyAgICAvLyBQaWNrZXJJbmRpY2F0b3JPd25lciBpbXBsZW1lbnRlciBtdXN0IGNhbGwg
cmVtb3ZlUGlja2VySW5kaWNhdG9yT3duZXIgd2hlbgorICAgIC8vIGl0IGRvZXNuJ3QgaGFuZGxl
IGV2ZW50LCBlLmcuIGF0IGRlc3RydWN0aW9uLgorICAgIGNsYXNzIFBpY2tlckluZGljYXRvck93
bmVyIHsKKyAgICBwdWJsaWM6CisgICAgICAgIHZpcnR1YWwgflBpY2tlckluZGljYXRvck93bmVy
KCkgeyB9CisgICAgICAgIHZpcnR1YWwgYm9vbCBpc1BpY2tlckluZGljYXRvck93bmVyRGlzYWJs
ZWRPclJlYWRPbmx5KCkgY29uc3QgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgcGlja2VySW5k
aWNhdG9yQ2hvb3NlVmFsdWUoY29uc3QgU3RyaW5nJikgPSAwOworICAgICAgICB2aXJ0dWFsIGJv
b2wgc2V0dXBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzKERhdGVUaW1lQ2hvb3NlclBhcmFtZXRl
cnMmKSA9IDA7CisgICAgfTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBpY2tlckluZGljYXRv
ckVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIFBpY2tlckluZGljYXRvck93bmVyJik7CiAgICAg
dmlydHVhbCB+UGlja2VySW5kaWNhdG9yRWxlbWVudCgpOwogICAgIHZvaWQgb3BlblBvcHVwKCk7
CiAgICAgdm9pZCBjbG9zZVBvcHVwKCk7CiAgICAgdmlydHVhbCBib29sIHdpbGxSZXNwb25kVG9N
b3VzZUNsaWNrRXZlbnRzKCkgT1ZFUlJJREU7CisgICAgdm9pZCByZW1vdmVQaWNrZXJJbmRpY2F0
b3JPd25lcigpIHsgbV9waWNrZXJJbmRpY2F0b3JPd25lciA9IDA7IH0KIAogICAgIC8vIERhdGVU
aW1lQ2hvb3NlckNsaWVudCBpbXBsZW1lbnRhdGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hv
b3NlVmFsdWUoY29uc3QgU3RyaW5nJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRpZEVu
ZENob29zZXIoKSBPVkVSUklERTsKIAogcHJpdmF0ZToKLSAgICBQaWNrZXJJbmRpY2F0b3JFbGVt
ZW50KERvY3VtZW50Kik7CisgICAgUGlja2VySW5kaWNhdG9yRWxlbWVudChEb2N1bWVudCosIFBp
Y2tlckluZGljYXRvck93bmVyJik7CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJl
bmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBkZXRhY2goKSBPVkVSUklERTsKIAogICAgIEhUTUxJbnB1dEVsZW1lbnQqIGhvc3RJbnB1
dCgpOwogCisgICAgUGlja2VySW5kaWNhdG9yT3duZXIqIG1fcGlja2VySW5kaWNhdG9yT3duZXI7
CiAgICAgUmVmUHRyPERhdGVUaW1lQ2hvb3Nlcj4gbV9jaG9vc2VyOwogfTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>