<?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>35852</bug_id>
          
          <creation_ts>2010-03-07 21:41:21 -0800</creation_ts>
          <short_desc>[DRT/Chromium] Add PlainTextController and TextInputController</short_desc>
          <delta_ts>2010-03-09 03:56:01 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>35902</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>hamaji</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>197064</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-03-07 21:41:21 -0800</bug_when>
    <thetext>[DRT/Chromium] Add PlainTextController and TextInputController</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197065</commentid>
    <comment_count>1</comment_count>
      <attachid>50188</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-03-07 21:44:48 -0800</bug_when>
    <thetext>Created attachment 50188
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197066</commentid>
    <comment_count>2</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-03-07 21:51:39 -0800</bug_when>
    <thetext>Note:
- NOTIMPELMENTED() macros in the original code was replaced with notImplemented(). notImplemented() is not one in WebCore/platform/NotImplemented.h, and is defined as empty in config.h for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197191</commentid>
    <comment_count>3</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-03-08 09:16:08 -0800</bug_when>
    <thetext>I think we can just remove notImplemented and replace it with a FIXME: Implement this -- this is what other ports are doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197440</commentid>
    <comment_count>4</comment_count>
      <attachid>50188</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-03-08 20:52:48 -0800</bug_when>
    <thetext>Comment on attachment 50188
Proposed patch

ok, except replace notImplemented with FIXMEs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197465</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-03-08 22:39:48 -0800</bug_when>
    <thetext>Committed r55712: &lt;http://trac.webkit.org/changeset/55712&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197466</commentid>
    <comment_count>6</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-03-08 22:40:44 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 50188 [details])
&gt; ok, except replace notImplemented with FIXMEs.

I replaced notImplemented() with FIXME, and landed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50188</attachid>
            <date>2010-03-07 21:44:48 -0800</date>
            <delta_ts>2010-03-08 20:52:48 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-35852-20100308144446.patch</filename>
            <type>text/plain</type>
            <size>17870</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA4Y2FlNzA1Li4xNGMwNGFkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMDMt
MDggIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtEUlQvQ2hyb21pdW1dIEFkZCBQbGFpblRl
eHRDb250cm9sbGVyIGFuZCBUZXh0SW5wdXRDb250cm9sbGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTg1MgorCisgICAgICAgIEFkZCBQbGFpblRl
eHRDb250cm9sbGVyIGFuZCBUZXh0SW5wdXRDb250cm9sbGVyIGNsYXNzZXMsIHdoaWNoIGFyZSBn
b2luZworICAgICAgICB0byBiZSB1c2VkIGJ5IER1bXBSZW5kZXJUcmVlIENocm9taXVtIHBvcnQu
IFRoZXNlIGZpbGVzIGFyZSBiYXNlZCBvbjoKKyAgICAgICAgLSBzcmMvd2Via2l0L3Rvb2xzL3Rl
c3Rfc2hlbGwvcGxhaW5fdGV4dF9jb250cm9sbGVyLntjYyxofSBhbmQKKyAgICAgICAgLSBzcmMv
d2Via2l0L3Rvb2xzL3Rlc3Rfc2hlbGwvdGV4dF9pbnB1dF9jb250cm9sbGVyLntjYyxofQorICAg
ICAgICBvZiBDaHJvbWl1bSByZXYuNDA0OTIuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9QbGFpblRleHRDb250cm9sbGVyLmNwcDogQWRkZWQuCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vUGxhaW5UZXh0Q29udHJvbGxlci5oOiBBZGRlZC4KKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXh0SW5wdXRDb250cm9sbGVyLmNwcDogQWRkZWQu
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGV4dElucHV0Q29udHJvbGxlci5o
OiBBZGRlZC4KKwogMjAxMC0wMy0wNyAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vUGxhaW5UZXh0Q29udHJvbGxlci5jcHAg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9QbGFpblRleHRDb250cm9sbGVy
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTZjZjExCi0tLSAvZGV2
L251bGwKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vUGxhaW5UZXh0
Q29udHJvbGxlci5jcHAKQEAgLTAsMCArMSw3OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5
IFBhd2VsIEhhamRhbiAocGhhamRhbi5qckBjaHJvbWl1bS5vcmcpCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIlBsYWluVGV4dENvbnRyb2xsZXIuaCIKKworI2luY2x1ZGUgIlRlc3RTaGVsbC5o
IgorI2luY2x1ZGUgInB1YmxpYy9XZWJCaW5kaW5ncy5oIgorI2luY2x1ZGUgInB1YmxpYy9XZWJS
YW5nZS5oIgorI2luY2x1ZGUgInB1YmxpYy9XZWJTdHJpbmcuaCIKKwordXNpbmcgbmFtZXNwYWNl
IFdlYktpdDsKKworUGxhaW5UZXh0Q29udHJvbGxlcjo6UGxhaW5UZXh0Q29udHJvbGxlcigpCit7
CisgICAgLy8gSW5pdGlhbGl6ZSB0aGUgbWFwIHRoYXQgYXNzb2NpYXRlcyBtZXRob2RzIG9mIHRo
aXMgY2xhc3Mgd2l0aCB0aGUgbmFtZXMKKyAgICAvLyB0aGV5IHdpbGwgdXNlIHdoZW4gY2FsbGVk
IGJ5IEphdmFTY3JpcHQuIFRoZSBhY3R1YWwgYmluZGluZyBvZiB0aG9zZQorICAgIC8vIG5hbWVz
IHRvIHRoZWlyIG1ldGhvZHMgd2lsbCBiZSBkb25lIGJ5IGNhbGxpbmcgYmluZFRvSmF2YVNjcmlw
dCgpIChkZWZpbmVkCisgICAgLy8gYnkgQ3BwQm91bmRDbGFzcywgdGhlIHBhcmVudCB0byBQbGFp
blRleHRDb250cm9sbGVyKS4KKyAgICBiaW5kTWV0aG9kKCJwbGFpblRleHQiLCAmUGxhaW5UZXh0
Q29udHJvbGxlcjo6cGxhaW5UZXh0KTsKKworICAgIC8vIFRoZSBmYWxsYmFjayBtZXRob2QgaXMg
Y2FsbGVkIHdoZW4gYW4gdW5rbm93biBtZXRob2QgaXMgaW52b2tlZC4KKyAgICBiaW5kRmFsbGJh
Y2tNZXRob2QoJlBsYWluVGV4dENvbnRyb2xsZXI6OmZhbGxiYWNrTWV0aG9kKTsKK30KKwordm9p
ZCBQbGFpblRleHRDb250cm9sbGVyOjpwbGFpblRleHQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBh
cmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICByZXN1bHQtPnNldE51bGwoKTsK
KworICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpIDwgMSB8fCAhYXJndW1lbnRzWzBdLmlzT2JqZWN0
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIENoZWNrIHRoYXQgcGFzc2VkLWluIG9iamVj
dCBpcywgaW4gZmFjdCwgYSByYW5nZS4KKyAgICBOUE9iamVjdCogbnBvYmplY3QgPSBOUFZBUklB
TlRfVE9fT0JKRUNUKGFyZ3VtZW50c1swXSk7CisgICAgaWYgKCFucG9iamVjdCkKKyAgICAgICAg
cmV0dXJuOworICAgIFdlYlJhbmdlIHJhbmdlOworICAgIGlmICghV2ViQmluZGluZ3M6OmdldFJh
bmdlKG5wb2JqZWN0LCAmcmFuZ2UpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBFeHRyYWN0
IHRoZSB0ZXh0IHVzaW5nIHRoZSBSYW5nZSdzIHRleHQoKSBtZXRob2QKKyAgICBXZWJTdHJpbmcg
dGV4dCA9IHJhbmdlLnRvUGxhaW5UZXh0KCk7CisgICAgcmVzdWx0LT5zZXQodGV4dC51dGY4KCkp
OworfQorCit2b2lkIFBsYWluVGV4dENvbnRyb2xsZXI6OmZhbGxiYWNrTWV0aG9kKGNvbnN0IENw
cEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICBwcmludGYoIkNPTlNP
TEUgTUVTU0FHRTogSmF2YVNjcmlwdCBFUlJPUjogdW5rbm93biBtZXRob2QgY2FsbGVkIG9uIFBs
YWluVGV4dENvbnRyb2xsZXJcbiIpOworICAgIHJlc3VsdC0+c2V0TnVsbCgpOworfQorCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9QbGFpblRleHRDb250
cm9sbGVyLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9QbGFpblRleHRD
b250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2QzYTA0Ywot
LS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Bs
YWluVGV4dENvbnRyb2xsZXIuaApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQbGFpblRleHRDb250
cm9sbGVyX2gKKyNkZWZpbmUgUGxhaW5UZXh0Q29udHJvbGxlcl9oCisKKyNpbmNsdWRlICJDcHBC
b3VuZENsYXNzLmgiCisKK2NsYXNzIFRlc3RTaGVsbDsKKworY2xhc3MgUGxhaW5UZXh0Q29udHJv
bGxlciA6IHB1YmxpYyBDcHBCb3VuZENsYXNzIHsKK3B1YmxpYzoKKyAgICAvLyBCdWlsZHMgdGhl
IHByb3BlcnR5IGFuZCBtZXRob2QgbGlzdHMgbmVlZGVkIHRvIGJpbmQgdGhpcyBjbGFzcyB0byBh
IEpTCisgICAgLy8gb2JqZWN0LgorICAgIGV4cGxpY2l0IFBsYWluVGV4dENvbnRyb2xsZXIoKTsK
KworICAgIC8vIEpTIGNhbGxiYWNrIG1ldGhvZHMuCisgICAgdm9pZCBwbGFpblRleHQoY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworCisgICAgLy8gRmFsbC1iYWNrIG1ldGhv
ZDogY2FsbGVkIGlmIGFuIHVua25vd24gbWV0aG9kIGlzIGludm9rZWQuCisgICAgdm9pZCBmYWxs
YmFja01ldGhvZChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7Cit9OworCisj
ZW5kaWYgLy8gUGxhaW5UZXh0Q29udHJvbGxlcl9oCisKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1RleHRJbnB1dENvbnRyb2xsZXIuY3BwIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGV4dElucHV0Q29udHJvbGxlci5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQ1NWQxMQotLS0gL2Rldi9udWxsCisr
KyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1RleHRJbnB1dENvbnRyb2xs
ZXIuY3BwCkBAIC0wLDAgKzEsMjEwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlRl
eHRJbnB1dENvbnRyb2xsZXIuaCIKKworI2luY2x1ZGUgIlRlc3RTaGVsbC5oIgorI2luY2x1ZGUg
ImJhc2Uvc3RyaW5nX3V0aWwuaCIKKyNpbmNsdWRlICJwdWJsaWMvV2ViRnJhbWUuaCIKKyNpbmNs
dWRlICJwdWJsaWMvV2ViUmFuZ2UuaCIKKyNpbmNsdWRlICJwdWJsaWMvV2ViU3RyaW5nLmgiCisj
aW5jbHVkZSAicHVibGljL1dlYlZpZXcuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKKwor
VGVzdFNoZWxsKiBUZXh0SW5wdXRDb250cm9sbGVyOjp0ZXN0U2hlbGwgPSAwOworCitUZXh0SW5w
dXRDb250cm9sbGVyOjpUZXh0SW5wdXRDb250cm9sbGVyKFRlc3RTaGVsbCogc2hlbGwpCit7Cisg
ICAgLy8gU2V0IHN0YXRpYyB0ZXN0U2hlbGwgdmFyaWFibGUuIEJlIGNhcmVmdWwgbm90IHRvIGFz
c2lnbiB0ZXN0U2hlbGwgdG8gbmV3CisgICAgLy8gd2luZG93cyB3aGljaCBhcmUgdGVtcG9yYXJ5
LgorICAgIGlmICghdGVzdFNoZWxsKQorICAgICAgICB0ZXN0U2hlbGwgPSBzaGVsbDsKKworICAg
IGJpbmRNZXRob2QoImluc2VydFRleHQiLCAmVGV4dElucHV0Q29udHJvbGxlcjo6aW5zZXJ0VGV4
dCk7CisgICAgYmluZE1ldGhvZCgiZG9Db21tYW5kIiwgJlRleHRJbnB1dENvbnRyb2xsZXI6OmRv
Q29tbWFuZCk7CisgICAgYmluZE1ldGhvZCgic2V0TWFya2VkVGV4dCIsICZUZXh0SW5wdXRDb250
cm9sbGVyOjpzZXRNYXJrZWRUZXh0KTsKKyAgICBiaW5kTWV0aG9kKCJ1bm1hcmtUZXh0IiwgJlRl
eHRJbnB1dENvbnRyb2xsZXI6OnVubWFya1RleHQpOworICAgIGJpbmRNZXRob2QoImhhc01hcmtl
ZFRleHQiLCAmVGV4dElucHV0Q29udHJvbGxlcjo6aGFzTWFya2VkVGV4dCk7CisgICAgYmluZE1l
dGhvZCgiY29udmVyc2F0aW9uSWRlbnRpZmllciIsICZUZXh0SW5wdXRDb250cm9sbGVyOjpjb252
ZXJzYXRpb25JZGVudGlmaWVyKTsKKyAgICBiaW5kTWV0aG9kKCJzdWJzdHJpbmdGcm9tUmFuZ2Ui
LCAmVGV4dElucHV0Q29udHJvbGxlcjo6c3Vic3RyaW5nRnJvbVJhbmdlKTsKKyAgICBiaW5kTWV0
aG9kKCJhdHRyaWJ1dGVkU3Vic3RyaW5nRnJvbVJhbmdlIiwgJlRleHRJbnB1dENvbnRyb2xsZXI6
OmF0dHJpYnV0ZWRTdWJzdHJpbmdGcm9tUmFuZ2UpOworICAgIGJpbmRNZXRob2QoIm1hcmtlZFJh
bmdlIiwgJlRleHRJbnB1dENvbnRyb2xsZXI6Om1hcmtlZFJhbmdlKTsKKyAgICBiaW5kTWV0aG9k
KCJzZWxlY3RlZFJhbmdlIiwgJlRleHRJbnB1dENvbnRyb2xsZXI6OnNlbGVjdGVkUmFuZ2UpOwor
ICAgIGJpbmRNZXRob2QoImZpcnN0UmVjdEZvckNoYXJhY3RlclJhbmdlIiwgJlRleHRJbnB1dENv
bnRyb2xsZXI6OmZpcnN0UmVjdEZvckNoYXJhY3RlclJhbmdlKTsKKyAgICBiaW5kTWV0aG9kKCJj
aGFyYWN0ZXJJbmRleEZvclBvaW50IiwgJlRleHRJbnB1dENvbnRyb2xsZXI6OmNoYXJhY3Rlcklu
ZGV4Rm9yUG9pbnQpOworICAgIGJpbmRNZXRob2QoInZhbGlkQXR0cmlidXRlc0Zvck1hcmtlZFRl
eHQiLCAmVGV4dElucHV0Q29udHJvbGxlcjo6dmFsaWRBdHRyaWJ1dGVzRm9yTWFya2VkVGV4dCk7
CisgICAgYmluZE1ldGhvZCgibWFrZUF0dHJpYnV0ZWRTdHJpbmciLCAmVGV4dElucHV0Q29udHJv
bGxlcjo6bWFrZUF0dHJpYnV0ZWRTdHJpbmcpOworfQorCitXZWJGcmFtZSogVGV4dElucHV0Q29u
dHJvbGxlcjo6Z2V0TWFpbkZyYW1lKCkKK3sKKyAgICByZXR1cm4gdGVzdFNoZWxsLT53ZWJWaWV3
KCktPm1haW5GcmFtZSgpOworfQorCit2b2lkIFRleHRJbnB1dENvbnRyb2xsZXI6Omluc2VydFRl
eHQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkK
K3sKKyAgICByZXN1bHQtPnNldE51bGwoKTsKKworICAgIFdlYkZyYW1lKiBtYWluRnJhbWUgPSBn
ZXRNYWluRnJhbWUoKTsKKyAgICBpZiAoIW1haW5GcmFtZSkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmIChhcmd1bWVudHMuc2l6ZSgpIDwgMSB8fCAhYXJndW1lbnRzWzBdLmlzU3RyaW5nKCkpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmIChtYWluRnJhbWUtPmhhc01hcmtlZFRleHQoKSkgewor
ICAgICAgICBtYWluRnJhbWUtPnVubWFya1RleHQoKTsKKyAgICAgICAgbWFpbkZyYW1lLT5yZXBs
YWNlU2VsZWN0aW9uKFdlYlN0cmluZygpKTsKKyAgICB9CisgICAgbWFpbkZyYW1lLT5pbnNlcnRU
ZXh0KFdlYlN0cmluZzo6ZnJvbVVURjgoYXJndW1lbnRzWzBdLnRvU3RyaW5nKCkpKTsKK30KKwor
dm9pZCBUZXh0SW5wdXRDb250cm9sbGVyOjpkb0NvbW1hbmQoY29uc3QgQ3BwQXJndW1lbnRMaXN0
JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICByZXN1bHQtPnNldE51bGwo
KTsKKworICAgIFdlYkZyYW1lKiBtYWluRnJhbWUgPSBnZXRNYWluRnJhbWUoKTsKKyAgICBpZiAo
IW1haW5GcmFtZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGFyZ3VtZW50cy5zaXplKCkg
Pj0gMSAmJiBhcmd1bWVudHNbMF0uaXNTdHJpbmcoKSkKKyAgICAgICAgbWFpbkZyYW1lLT5leGVj
dXRlQ29tbWFuZChXZWJTdHJpbmc6OmZyb21VVEY4KGFyZ3VtZW50c1swXS50b1N0cmluZygpKSk7
Cit9CisKK3ZvaWQgVGV4dElucHV0Q29udHJvbGxlcjo6c2V0TWFya2VkVGV4dChjb25zdCBDcHBB
cmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIHJlc3Vs
dC0+c2V0TnVsbCgpOworCisgICAgV2ViRnJhbWUqIG1haW5GcmFtZSA9IGdldE1haW5GcmFtZSgp
OworICAgIGlmICghbWFpbkZyYW1lKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoYXJndW1l
bnRzLnNpemUoKSA+PSAzICYmIGFyZ3VtZW50c1swXS5pc1N0cmluZygpCisgICAgICAgICYmIGFy
Z3VtZW50c1sxXS5pc051bWJlcigpICYmIGFyZ3VtZW50c1syXS5pc051bWJlcigpKSB7CisgICAg
ICAgIG1haW5GcmFtZS0+c2V0TWFya2VkVGV4dChXZWJTdHJpbmc6OmZyb21VVEY4KGFyZ3VtZW50
c1swXS50b1N0cmluZygpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3Vt
ZW50c1sxXS50b0ludDMyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1
bWVudHNbMl0udG9JbnQzMigpKTsKKyAgICB9Cit9CisKK3ZvaWQgVGV4dElucHV0Q29udHJvbGxl
cjo6dW5tYXJrVGV4dChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQp
Cit7CisgICAgcmVzdWx0LT5zZXROdWxsKCk7CisKKyAgICBXZWJGcmFtZSogbWFpbkZyYW1lID0g
Z2V0TWFpbkZyYW1lKCk7CisgICAgaWYgKCFtYWluRnJhbWUpCisgICAgICAgIHJldHVybjsKKwor
ICAgIG1haW5GcmFtZS0+dW5tYXJrVGV4dCgpOworfQorCit2b2lkIFRleHRJbnB1dENvbnRyb2xs
ZXI6Omhhc01hcmtlZFRleHQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVz
dWx0KQoreworICAgIHJlc3VsdC0+c2V0TnVsbCgpOworCisgICAgV2ViRnJhbWUqIG1haW5GcmFt
ZSA9IGdldE1haW5GcmFtZSgpOworICAgIGlmICghbWFpbkZyYW1lKQorICAgICAgICByZXR1cm47
CisKKyAgICByZXN1bHQtPnNldChtYWluRnJhbWUtPmhhc01hcmtlZFRleHQoKSk7Cit9CisKK3Zv
aWQgVGV4dElucHV0Q29udHJvbGxlcjo6Y29udmVyc2F0aW9uSWRlbnRpZmllcihjb25zdCBDcHBB
cmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXN1bHQtPnNldE51bGwoKTsKK30KKwordm9pZCBUZXh0SW5wdXRDb250cm9sbGVy
OjpzdWJzdHJpbmdGcm9tUmFuZ2UoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCog
cmVzdWx0KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmVzdWx0LT5zZXROdWxsKCk7
Cit9CisKK3ZvaWQgVGV4dElucHV0Q29udHJvbGxlcjo6YXR0cmlidXRlZFN1YnN0cmluZ0Zyb21S
YW5nZShjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXN1bHQtPnNldE51bGwoKTsKK30KKwordm9pZCBUZXh0
SW5wdXRDb250cm9sbGVyOjptYXJrZWRSYW5nZShjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBW
YXJpYW50KiByZXN1bHQpCit7CisgICAgcmVzdWx0LT5zZXROdWxsKCk7CisKKyAgICBXZWJGcmFt
ZSogbWFpbkZyYW1lID0gZ2V0TWFpbkZyYW1lKCk7CisgICAgaWYgKCFtYWluRnJhbWUpCisgICAg
ICAgIHJldHVybjsKKworICAgIFdlYlJhbmdlIHJhbmdlID0gbWFpbkZyYW1lLT5tYXJrZWRSYW5n
ZSgpOworICAgIHJlc3VsdC0+c2V0KFN0cmluZ1ByaW50ZigiJWQsJWQiLCByYW5nZS5zdGFydE9m
ZnNldCgpLCByYW5nZS5lbmRPZmZzZXQoKSkpOworfQorCit2b2lkIFRleHRJbnB1dENvbnRyb2xs
ZXI6OnNlbGVjdGVkUmFuZ2UoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVz
dWx0KQoreworICAgIHJlc3VsdC0+c2V0TnVsbCgpOworCisgICAgV2ViRnJhbWUqIG1haW5GcmFt
ZSA9IGdldE1haW5GcmFtZSgpOworICAgIGlmICghbWFpbkZyYW1lKQorICAgICAgICByZXR1cm47
CisKKyAgICBXZWJSYW5nZSByYW5nZSA9IG1haW5GcmFtZS0+c2VsZWN0aW9uUmFuZ2UoKTsKKyAg
ICByZXN1bHQtPnNldChTdHJpbmdQcmludGYoIiVkLCVkIiwgcmFuZ2Uuc3RhcnRPZmZzZXQoKSwg
cmFuZ2UuZW5kT2Zmc2V0KCkpKTsKK30KKwordm9pZCBUZXh0SW5wdXRDb250cm9sbGVyOjpmaXJz
dFJlY3RGb3JDaGFyYWN0ZXJSYW5nZShjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50
KiByZXN1bHQpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXN1bHQtPnNldE51bGwo
KTsKK30KKwordm9pZCBUZXh0SW5wdXRDb250cm9sbGVyOjpjaGFyYWN0ZXJJbmRleEZvclBvaW50
KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICBub3RJ
bXBsZW1lbnRlZCgpOworICAgIHJlc3VsdC0+c2V0TnVsbCgpOworfQorCit2b2lkIFRleHRJbnB1
dENvbnRyb2xsZXI6OnZhbGlkQXR0cmlidXRlc0Zvck1hcmtlZFRleHQoY29uc3QgQ3BwQXJndW1l
bnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIHJlc3VsdC0+c2V0TnVsbCgpOwor
CisgICAgV2ViRnJhbWUqIG1haW5GcmFtZSA9IGdldE1haW5GcmFtZSgpOworICAgIGlmICghbWFp
bkZyYW1lKQorICAgICAgICByZXR1cm47CisKKyAgICByZXN1bHQtPnNldCgiTlNVbmRlcmxpbmUs
TlNVbmRlcmxpbmVDb2xvcixOU01hcmtlZENsYXVzZVNlZ21lbnQsIgorICAgICAgICAgICAgICAg
ICJOU1RleHRJbnB1dFJlcGxhY2VtZW50UmFuZ2VBdHRyaWJ1dGVOYW1lIik7Cit9CisKK3ZvaWQg
VGV4dElucHV0Q29udHJvbGxlcjo6bWFrZUF0dHJpYnV0ZWRTdHJpbmcoY29uc3QgQ3BwQXJndW1l
bnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgcmVzdWx0LT5zZXROdWxsKCk7Cit9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXh0SW5wdXRDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXh0SW5wdXRDb250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uOTg5NmJlNQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1RleHRJbnB1dENvbnRyb2xsZXIuaApAQCAtMCww
ICsxLDczIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworLy8gVGV4dElucHV0Q29udHJvbGxlciBpcyBib3VuZCB0byB3aW5kb3cudGV4dElu
cHV0Q29udHJvbGxlciBpbiBKYXZhc2NyaXB0CisvLyB3aGVuIERSVCBpcyBydW5uaW5nLiBMYXlv
dXQgdGVzdHMgdXNlIGl0IHRvIGV4ZXJjaXNlIHZhcmlvdXMgY29ybmVycyBvZgorLy8gdGV4dCBp
bnB1dC4KKworI2lmbmRlZiBUZXh0SW5wdXRDb250cm9sbGVyX2gKKyNkZWZpbmUgVGV4dElucHV0
Q29udHJvbGxlcl9oCisKKyNpbmNsdWRlICJDcHBCb3VuZENsYXNzLmgiCisKK2NsYXNzIFRlc3RT
aGVsbDsKKworbmFtZXNwYWNlIFdlYktpdCB7CitjbGFzcyBXZWJGcmFtZTsKK30KKworY2xhc3Mg
VGV4dElucHV0Q29udHJvbGxlciA6IHB1YmxpYyBDcHBCb3VuZENsYXNzIHsKK3B1YmxpYzoKKyAg
ICBUZXh0SW5wdXRDb250cm9sbGVyKFRlc3RTaGVsbCopOworCisgICAgdm9pZCBpbnNlcnRUZXh0
KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKKyAgICB2b2lkIGRvQ29tbWFu
ZChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CisgICAgdm9pZCBzZXRNYXJr
ZWRUZXh0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKKyAgICB2b2lkIHVu
bWFya1RleHQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworICAgIHZvaWQg
aGFzTWFya2VkVGV4dChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CisgICAg
dm9pZCBjb252ZXJzYXRpb25JZGVudGlmaWVyKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZh
cmlhbnQqKTsKKyAgICB2b2lkIHN1YnN0cmluZ0Zyb21SYW5nZShjb25zdCBDcHBBcmd1bWVudExp
c3QmLCBDcHBWYXJpYW50Kik7CisgICAgdm9pZCBhdHRyaWJ1dGVkU3Vic3RyaW5nRnJvbVJhbmdl
KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKKyAgICB2b2lkIG1hcmtlZFJh
bmdlKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKKyAgICB2b2lkIHNlbGVj
dGVkUmFuZ2UoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworICAgIHZvaWQg
Zmlyc3RSZWN0Rm9yQ2hhcmFjdGVyUmFuZ2UoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFy
aWFudCopOworICAgIHZvaWQgY2hhcmFjdGVySW5kZXhGb3JQb2ludChjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50Kik7CisgICAgdm9pZCB2YWxpZEF0dHJpYnV0ZXNGb3JNYXJrZWRU
ZXh0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKKyAgICB2b2lkIG1ha2VB
dHRyaWJ1dGVkU3RyaW5nKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKKwor
cHJpdmF0ZToKKyAgICAvLyBSZXR1cm5zIHRoZSB0ZXN0IHNoZWxsJ3MgbWFpbiBXZWJGcmFtZS4K
KyAgICBzdGF0aWMgV2ViS2l0OjpXZWJGcmFtZSogZ2V0TWFpbkZyYW1lKCk7CisKKyAgICAvLyBO
b24tb3duaW5nIHBvaW50ZXIuIFRoZSBUZXh0SW5wdXRDb250cm9sbGVyIGlzIG93bmVkIGJ5IHRo
ZSBUZXN0U2hlbGwuCisgICAgc3RhdGljIFRlc3RTaGVsbCogdGVzdFNoZWxsOworfTsKKworI2Vu
ZGlmIC8vIFRleHRJbnB1dENvbnRyb2xsZXJfaAo=
</data>
<flag name="review"
          id="33256"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
          </attachment>
      

    </bug>

</bugzilla>