<?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>80125</bug_id>
          
          <creation_ts>2012-03-02 01:21:49 -0800</creation_ts>
          <short_desc>[BlackBerry] Upstream two helper files from platform/graphics/blackberry</short_desc>
          <delta_ts>2012-03-04 13:35:58 -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>WebKit BlackBerry</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Other</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>73119</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Robin Cao">robin.webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>arvid2.nilsson</cc>
    
    <cc>charles.wei</cc>
    
    <cc>leo.yang</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>569412</commentid>
    <comment_count>0</comment_count>
    <who name="Robin Cao">robin.webkit</who>
    <bug_when>2012-03-02 01:21:49 -0800</bug_when>
    <thetext>Upstream two helper files from platform/graphics/blackberry:

InstrumentedPlatformCanvas.h
LayerMessage.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569450</commentid>
    <comment_count>1</comment_count>
      <attachid>129855</attachid>
    <who name="Robin Cao">robin.webkit</who>
    <bug_when>2012-03-02 02:08:15 -0800</bug_when>
    <thetext>Created attachment 129855
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570275</commentid>
    <comment_count>2</comment_count>
      <attachid>129855</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-04 12:17:19 -0800</bug_when>
    <thetext>Comment on attachment 129855
patch

Rejecting attachment 129855 from commit-queue.

New failing tests:
editing/selection/select-line-break-with-opposite-directionality.html
Full output: http://queues.webkit.org/results/11800664</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570294</commentid>
    <comment_count>3</comment_count>
      <attachid>129855</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-04 13:35:54 -0800</bug_when>
    <thetext>Comment on attachment 129855
patch

Clearing flags on attachment: 129855

Committed r109682: &lt;http://trac.webkit.org/changeset/109682&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570295</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-04 13:35:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129855</attachid>
            <date>2012-03-02 02:08:15 -0800</date>
            <delta_ts>2012-03-04 13:35:54 -0800</delta_ts>
            <desc>patch</desc>
            <filename>bug-80125-20120302180808.patch</filename>
            <type>text/plain</type>
            <size>15921</size>
            <attacher name="Robin Cao">robin.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2IyN2RhMTNkYzc0ODhh
NDc2OThiOTIwMTdhOTA4MjU1ODEzYjVlOS4uNWFiZTJmMDcxMTU3ZjU1MWY0ZmE3ODJiZjBhZTEy
NmM1Y2Q1YzNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEyLTAzLTAyICBSb2Jp
biBDYW8gIDxyb2Jpbi5jYW9AdG9yY2htb2JpbGUuY29tLmNuPgorCisgICAgICAgIFtCbGFja0Jl
cnJ5XSBVcHN0cmVhbSB0d28gaGVscGVyIGZpbGVzIGZyb20gcGxhdGZvcm0vZ3JhcGhpY3MvYmxh
Y2tiZXJyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODAxMjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bml0aWFsIHVwc3RyZWFtLCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9ibGFja2JlcnJ5L0luc3RydW1lbnRlZFBsYXRmb3JtQ2FudmFzLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChJbnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhczo6SW5zdHJ1bWVudGVk
UGxhdGZvcm1DYW52YXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGVkUGxhdGZvcm1D
YW52YXM6On5JbnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhcyk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhczo6aXNTb2xpZENvbG9yKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3RydW1lbnRlZFBsYXRmb3JtQ2FudmFzOjpzb2xpZENvbG9yKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3RydW1lbnRlZFBsYXRmb3JtQ2FudmFzOjpzYXZlKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3RydW1lbnRlZFBsYXRmb3JtQ2FudmFzOjpzYXZlTGF5ZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zdHJ1bWVudGVkUGxhdGZvcm1DYW52YXM6OnJlc3RvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zdHJ1bWVudGVkUGxhdGZvcm1DYW52YXM6OnRyYW5zbGF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhczo6c2NhbGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zdHJ1bWVudGVkUGxhdGZvcm1DYW52YXM6OnJvdGF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhczo6c2tldyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhczo6Y29uY2F0KToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3RydW1lbnRlZFBsYXRmb3JtQ2FudmFzOjpzZXRNYXRyaXgpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zdHJ1bWVudGVkUGxhdGZvcm1DYW52YXM6OmNsaXBSZWN0KToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3RydW1lbnRlZFBsYXRmb3JtQ2FudmFzOjpjbGlwUGF0aCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhczo6Y2xpcFJlZ2lvbik6CisgICAgICAgIChX
ZWJDb3JlOjpJbnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhczo6Y2xlYXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zdHJ1bWVudGVkUGxhdGZvcm1DYW52YXM6OmRyYXdQYWludCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhczo6ZHJhd1BvaW50cyk6CisgICAgICAg
IChXZWJDb3JlOjpJbnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhczo6ZHJhd1JlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zdHJ1bWVudGVkUGxhdGZvcm1DYW52YXM6OmRyYXdQYXRoKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3RydW1lbnRlZFBsYXRmb3JtQ2FudmFzOjpkcmF3Qml0bWFwKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRlZFBsYXRmb3JtQ2FudmFzOjpkcmF3Qml0bWFwUmVj
dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhczo6ZHJhd0Jp
dG1hcE1hdHJpeCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZh
czo6ZHJhd1Nwcml0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50ZWRQbGF0Zm9ybUNh
bnZhczo6ZHJhd1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGVkUGxhdGZvcm1D
YW52YXM6OmRyYXdQb3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRlZFBsYXRm
b3JtQ2FudmFzOjpkcmF3UG9zVGV4dEgpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGVk
UGxhdGZvcm1DYW52YXM6OmRyYXdUZXh0T25QYXRoKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Ry
dW1lbnRlZFBsYXRmb3JtQ2FudmFzOjpkcmF3UGljdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhczo6ZHJhd1ZlcnRpY2VzKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3RydW1lbnRlZFBsYXRmb3JtQ2FudmFzOjpkcmF3RGF0YSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9MYXllck1lc3NhZ2UuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmlzQ29tcG9zaXRpbmdUaHJlYWQpOgorICAg
ICAgICAoV2ViQ29yZTo6Y29tcG9zaXRpbmdUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6aXNX
ZWJLaXRUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6d2ViS2l0VGhyZWFkKToKKyAgICAgICAg
KFdlYkNvcmU6OmRpc3BhdGNoQ29tcG9zaXRpbmdNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OmRpc3BhdGNoU3luY0NvbXBvc2l0aW5nTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpkaXNw
YXRjaFdlYktpdE1lc3NhZ2UpOgorCiAyMDEyLTAzLTAyICBMdWtlIE1hY3BoZXJzb24gICA8bWFj
cGhlcnNvbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSGFuZGxlIENTU1Byb3BlcnR5V2Via2l0
UmVnaW9uQnJlYWtBZnRlciwgQ1NTUHJvcGVydHlXZWJraXRSZWdpb25CcmVha0JlZm9yZSBhbmQg
Q1NTUHJvcGVydHlXZWJraXRSZWdpb25CcmVha0luc2lkZSBpbiBDU1NTdHlsZUFwcGx5UHJvcGVy
dHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2Jl
cnJ5L0luc3RydW1lbnRlZFBsYXRmb3JtQ2FudmFzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ibGFja2JlcnJ5L0luc3RydW1lbnRlZFBsYXRmb3JtQ2FudmFzLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTYyOWZmMTA3ZGM1NjFiMWNlOWFlMjg3OWIzOTk2ZDU5MDhlODE4NgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvSW5z
dHJ1bWVudGVkUGxhdGZvcm1DYW52YXMuaApAQCAtMCwwICsxLDI5MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24s
IE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaWZuZGVmIEluc3RydW1lbnRlZFBsYXRmb3Jt
Q2FudmFzX2gKKyNkZWZpbmUgSW5zdHJ1bWVudGVkUGxhdGZvcm1DYW52YXNfaAorCisjaW5jbHVk
ZSA8c2tpYS9leHQvcGxhdGZvcm1fY2FudmFzLmg+CisKKyNkZWZpbmUgREVCVUdfU0tJQV9EUkFX
SU5HIDAKKyNpZiBERUJVR19TS0lBX0RSQVdJTkcKKyNkZWZpbmUgV1JBUENBTlZBU19MT0dfRU5U
UlkoLi4uKSBkbyB7IFwKKyAgICBmcHJpbnRmKHN0ZGVyciwgIiVzICIsIF9fRlVOQ1RJT05fXyk7
IFwKKyAgICBmcHJpbnRmKHN0ZGVyciwgX19WQV9BUkdTX18pOyBcCisgICAgZnByaW50ZihzdGRl
cnIsICJcbiIpOyBcCit9IHdoaWxlICgwKQorI2Vsc2UKKyNkZWZpbmUgV1JBUENBTlZBU19MT0df
RU5UUlkoLi4uKSAoKHZvaWQpMCkKKyNlbmRpZgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIEluc3RydW1lbnRlZFBsYXRmb3JtQ2FudmFzIDogcHVibGljIHNraWE6OlBsYXRmb3JtQ2Fu
dmFzIHsKK3B1YmxpYzoKKyAgICBJbnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhcyhpbnQgd2lkdGgs
IGludCBoZWlnaHQsIGJvb2wgaXNfb3BhcXVlLCBTa0RldmljZUZhY3RvcnkqIGZhY3RvcnkpCisg
ICAgICAgIDogc2tpYTo6UGxhdGZvcm1DYW52YXMod2lkdGgsIGhlaWdodCwgaXNfb3BhcXVlLCBm
YWN0b3J5KQorICAgICAgICAsIG1fc2l6ZSh3aWR0aCwgaGVpZ2h0KQorICAgICAgICAsIG1faXNT
b2xpZENvbG9yKHRydWUpCisgICAgICAgICwgbV9zb2xpZENvbG9yKDAsIDAsIDAsIDApCisgICAg
eworICAgIH0KKworICAgIHZpcnR1YWwgfkluc3RydW1lbnRlZFBsYXRmb3JtQ2FudmFzKCkgeyB9
CisKKyAgICBib29sIGlzU29saWRDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1faXNTb2xpZENvbG9y
OyB9CisgICAgQ29sb3Igc29saWRDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1fc29saWRDb2xvcjsg
fQorCisgICAgLy8gb3ZlcnJpZGVzIGZyb20gU2tDYW52YXMKKyAgICB2aXJ0dWFsIGludCBzYXZl
KFNhdmVGbGFncyBmbGFncykKKyAgICB7CisgICAgICAgIFdSQVBDQU5WQVNfTE9HX0VOVFJZKCIi
KTsKKyAgICAgICAgcmV0dXJuIHNraWE6OlBsYXRmb3JtQ2FudmFzOjpzYXZlKGZsYWdzKTsKKyAg
ICB9CisKKyAgICB2aXJ0dWFsIGludCBzYXZlTGF5ZXIoY29uc3QgU2tSZWN0KiBib3VuZHMsIGNv
bnN0IFNrUGFpbnQqIHBhaW50LCBTYXZlRmxhZ3MgZmxhZ3MpCisgICAgeworICAgICAgICBXUkFQ
Q0FOVkFTX0xPR19FTlRSWSgiIik7CisgICAgICAgIG1faXNTb2xpZENvbG9yID0gZmFsc2U7Cisg
ICAgICAgIHJldHVybiBza2lhOjpQbGF0Zm9ybUNhbnZhczo6c2F2ZUxheWVyKGJvdW5kcywgcGFp
bnQsIGZsYWdzKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVzdG9yZSgpCisgICAgewor
ICAgICAgICBXUkFQQ0FOVkFTX0xPR19FTlRSWSgiIik7CisgICAgICAgIHNraWE6OlBsYXRmb3Jt
Q2FudmFzOjpyZXN0b3JlKCk7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIHRyYW5zbGF0ZShT
a1NjYWxhciBkeCwgU2tTY2FsYXIgZHkpCisgICAgeworICAgICAgICBXUkFQQ0FOVkFTX0xPR19F
TlRSWSgiIik7CisgICAgICAgIHJldHVybiBza2lhOjpQbGF0Zm9ybUNhbnZhczo6dHJhbnNsYXRl
KGR4LCBkeSk7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIHNjYWxlKFNrU2NhbGFyIHN4LCBT
a1NjYWxhciBzeSkKKyAgICB7CisgICAgICAgIFdSQVBDQU5WQVNfTE9HX0VOVFJZKCIiKTsKKyAg
ICAgICAgcmV0dXJuIHNraWE6OlBsYXRmb3JtQ2FudmFzOjpzY2FsZShzeCwgc3kpOworICAgIH0K
KworICAgIHZpcnR1YWwgYm9vbCByb3RhdGUoU2tTY2FsYXIgZGVncmVlcykKKyAgICB7CisgICAg
ICAgIFdSQVBDQU5WQVNfTE9HX0VOVFJZKCIiKTsKKyAgICAgICAgcmV0dXJuIHNraWE6OlBsYXRm
b3JtQ2FudmFzOjpyb3RhdGUoZGVncmVlcyk7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIHNr
ZXcoU2tTY2FsYXIgc3gsIFNrU2NhbGFyIHN5KQorICAgIHsKKyAgICAgICAgV1JBUENBTlZBU19M
T0dfRU5UUlkoIiIpOworICAgICAgICByZXR1cm4gc2tpYTo6UGxhdGZvcm1DYW52YXM6OnNrZXco
c3gsIHN5KTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgY29uY2F0KGNvbnN0IFNrTWF0cml4
JiBtYXRyaXgpCisgICAgeworICAgICAgICBXUkFQQ0FOVkFTX0xPR19FTlRSWSgiIik7CisgICAg
ICAgIHJldHVybiBza2lhOjpQbGF0Zm9ybUNhbnZhczo6Y29uY2F0KG1hdHJpeCk7CisgICAgfQor
CisgICAgdmlydHVhbCB2b2lkIHNldE1hdHJpeChjb25zdCBTa01hdHJpeCYgbWF0cml4KQorICAg
IHsKKyAgICAgICAgV1JBUENBTlZBU19MT0dfRU5UUlkoIiIpOworICAgICAgICBza2lhOjpQbGF0
Zm9ybUNhbnZhczo6c2V0TWF0cml4KG1hdHJpeCk7CisgICAgfQorCisgICAgdmlydHVhbCBib29s
IGNsaXBSZWN0KGNvbnN0IFNrUmVjdCYgcmVjdCwgU2tSZWdpb246Ok9wIG9wKQorICAgIHsKKyAg
ICAgICAgV1JBUENBTlZBU19MT0dfRU5UUlkoIiIpOworICAgICAgICByZXR1cm4gc2tpYTo6UGxh
dGZvcm1DYW52YXM6OmNsaXBSZWN0KHJlY3QsIG9wKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJv
b2wgY2xpcFBhdGgoY29uc3QgU2tQYXRoJiBwYXRoLCBTa1JlZ2lvbjo6T3Agb3ApIAorICAgIHsK
KyAgICAgICAgV1JBUENBTlZBU19MT0dfRU5UUlkoIiIpOworICAgICAgICBtX2lzU29saWRDb2xv
ciA9IGZhbHNlOworICAgICAgICByZXR1cm4gc2tpYTo6UGxhdGZvcm1DYW52YXM6OmNsaXBQYXRo
KHBhdGgsIG9wKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgY2xpcFJlZ2lvbihjb25zdCBT
a1JlZ2lvbiYgcmVnaW9uLCBTa1JlZ2lvbjo6T3Agb3ApCisgICAgeworICAgICAgICBXUkFQQ0FO
VkFTX0xPR19FTlRSWSgiIik7CisgICAgICAgIG1faXNTb2xpZENvbG9yID0gZmFsc2U7CisgICAg
ICAgIHJldHVybiBza2lhOjpQbGF0Zm9ybUNhbnZhczo6Y2xpcFJlZ2lvbihyZWdpb24sIG9wKTsK
KyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgY2xlYXIoU2tDb2xvciBjb2xvcikKKyAgICB7Cisg
ICAgICAgIFdSQVBDQU5WQVNfTE9HX0VOVFJZKCIiKTsKKyAgICAgICAgbV9pc1NvbGlkQ29sb3Ig
PSB0cnVlOworICAgICAgICBtX3NvbGlkQ29sb3IgPSBDb2xvcihjb2xvcik7CisgICAgICAgIHNr
aWE6OlBsYXRmb3JtQ2FudmFzOjpjbGVhcihjb2xvcik7CisgICAgfQorCisgICAgdmlydHVhbCB2
b2lkIGRyYXdQYWludChjb25zdCBTa1BhaW50JiBwYWludCkKKyAgICB7CisgICAgICAgIFdSQVBD
QU5WQVNfTE9HX0VOVFJZKCIiKTsKKyAgICAgICAgbV9pc1NvbGlkQ29sb3IgPSBmYWxzZTsKKyAg
ICAgICAgc2tpYTo6UGxhdGZvcm1DYW52YXM6OmRyYXdQYWludChwYWludCk7CisgICAgfQorCisg
ICAgdmlydHVhbCB2b2lkIGRyYXdQb2ludHMoUG9pbnRNb2RlIG1vZGUsIHNpemVfdCBjb3VudCwg
Y29uc3QgU2tQb2ludCBwdHNbXSwKKyAgICAgICAgICAgIGNvbnN0IFNrUGFpbnQmIHBhaW50KQor
ICAgIHsKKyAgICAgICAgV1JBUENBTlZBU19MT0dfRU5UUlkoIiIpOworICAgICAgICBtX2lzU29s
aWRDb2xvciA9IGZhbHNlOworICAgICAgICBza2lhOjpQbGF0Zm9ybUNhbnZhczo6ZHJhd1BvaW50
cyhtb2RlLCBjb3VudCwgcHRzLCBwYWludCk7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIGRy
YXdSZWN0KGNvbnN0IFNrUmVjdCYgcmVjdCwgY29uc3QgU2tQYWludCYgcGFpbnQpCisgICAgewor
ICAgICAgICBJbnRSZWN0IHJlY3RUb0RyYXcocmVjdCk7CisgICAgICAgIFdSQVBDQU5WQVNfTE9H
X0VOVFJZKCJyZWN0ID0gKHg9JWQseT0lZCx3aWR0aD0lZCxoZWlnaHQ9JWQpIiwgcmVjdFRvRHJh
dy54KCksIHJlY3RUb0RyYXcueSgpLCByZWN0VG9EcmF3LndpZHRoKCksIHJlY3RUb0RyYXcuaGVp
Z2h0KCkpOworICAgICAgICBJbnRSZWN0IGNhbnZhc1JlY3QoSW50UG9pbnQoKSwgbV9zaXplKTsK
KyAgICAgICAgaWYgKG1faXNTb2xpZENvbG9yICYmIGdldFRvdGFsTWF0cml4KCkucmVjdFN0YXlz
UmVjdCgpICYmIGdldFRvdGFsQ2xpcCgpLmNvbnRhaW5zKGNhbnZhc1JlY3QpKSB7CisgICAgICAg
ICAgICBjb25zdCBTa01hdHJpeCYgbWF0cml4ID0gZ2V0VG90YWxNYXRyaXgoKTsKKyAgICAgICAg
ICAgIFNrUmVjdCBtYXBwZWQ7CisgICAgICAgICAgICBtYXRyaXgubWFwUmVjdCgmbWFwcGVkLCBy
ZWN0KTsKKyAgICAgICAgICAgIGlmIChtYXBwZWQuY29udGFpbnMoY2FudmFzUmVjdCkpIHsKKyAg
ICAgICAgICAgICAgICBDb2xvciBjb2xvciA9IHNvbGlkQ29sb3IocGFpbnQpOworICAgICAgICAg
ICAgICAgIG1faXNTb2xpZENvbG9yID0gY29sb3IuaXNWYWxpZCgpOworICAgICAgICAgICAgICAg
IG1fc29saWRDb2xvciA9IGNvbG9yOworICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAg
ICAgICBtX2lzU29saWRDb2xvciA9IGZhbHNlOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAg
IG1faXNTb2xpZENvbG9yID0gZmFsc2U7CisgICAgICAgIHNraWE6OlBsYXRmb3JtQ2FudmFzOjpk
cmF3UmVjdChyZWN0LCBwYWludCk7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIGRyYXdQYXRo
KGNvbnN0IFNrUGF0aCYgcGF0aCwgY29uc3QgU2tQYWludCYgcGFpbnQpCisgICAgeworICAgICAg
ICBXUkFQQ0FOVkFTX0xPR19FTlRSWSgiIik7CisgICAgICAgIG1faXNTb2xpZENvbG9yID0gZmFs
c2U7CisgICAgICAgIHNraWE6OlBsYXRmb3JtQ2FudmFzOjpkcmF3UGF0aChwYXRoLCBwYWludCk7
CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIGRyYXdCaXRtYXAoY29uc3QgU2tCaXRtYXAmIGJp
dG1hcCwgU2tTY2FsYXIgbGVmdCwKKyAgICAgICAgICAgIFNrU2NhbGFyIHRvcCwgY29uc3QgU2tQ
YWludCogcGFpbnQpCisgICAgeworICAgICAgICBXUkFQQ0FOVkFTX0xPR19FTlRSWSgiIik7Cisg
ICAgICAgIG1faXNTb2xpZENvbG9yID0gZmFsc2U7CisgICAgICAgIHNraWE6OlBsYXRmb3JtQ2Fu
dmFzOjpkcmF3Qml0bWFwKGJpdG1hcCwgbGVmdCwgdG9wLCBwYWludCk7CisgICAgfQorCisgICAg
dmlydHVhbCB2b2lkIGRyYXdCaXRtYXBSZWN0KGNvbnN0IFNrQml0bWFwJiBiaXRtYXAsIGNvbnN0
IFNrSVJlY3QqIHNyYywKKyAgICAgICAgICAgIGNvbnN0IFNrUmVjdCYgZHN0LCBjb25zdCBTa1Bh
aW50KiBwYWludCkKKyAgICB7CisgICAgICAgIFdSQVBDQU5WQVNfTE9HX0VOVFJZKCIiKTsKKyAg
ICAgICAgbV9pc1NvbGlkQ29sb3IgPSBmYWxzZTsKKyAgICAgICAgc2tpYTo6UGxhdGZvcm1DYW52
YXM6OmRyYXdCaXRtYXBSZWN0KGJpdG1hcCwgc3JjLCBkc3QsIHBhaW50KTsKKyAgICB9CisKKyAg
ICB2aXJ0dWFsIHZvaWQgZHJhd0JpdG1hcE1hdHJpeChjb25zdCBTa0JpdG1hcCYgYml0bWFwLAor
ICAgICAgICAgICAgY29uc3QgU2tNYXRyaXgmIG1hdHJpeCwgY29uc3QgU2tQYWludCogcGFpbnQp
CisgICAgeworICAgICAgICBXUkFQQ0FOVkFTX0xPR19FTlRSWSgiIik7CisgICAgICAgIG1faXNT
b2xpZENvbG9yID0gZmFsc2U7CisgICAgICAgIHNraWE6OlBsYXRmb3JtQ2FudmFzOjpkcmF3Qml0
bWFwTWF0cml4KGJpdG1hcCwgbWF0cml4LCBwYWludCk7CisgICAgfQorCisgICAgdmlydHVhbCB2
b2lkIGRyYXdTcHJpdGUoY29uc3QgU2tCaXRtYXAmIGJpdG1hcCwgaW50IGxlZnQsIGludCB0b3As
CisgICAgICAgICAgICBjb25zdCBTa1BhaW50KiBwYWludCkKKyAgICB7CisgICAgICAgIFdSQVBD
QU5WQVNfTE9HX0VOVFJZKCIiKTsKKyAgICAgICAgbV9pc1NvbGlkQ29sb3IgPSBmYWxzZTsKKyAg
ICAgICAgc2tpYTo6UGxhdGZvcm1DYW52YXM6OmRyYXdTcHJpdGUoYml0bWFwLCBsZWZ0LCB0b3As
IHBhaW50KTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd1RleHQoY29uc3Qgdm9pZCog
dGV4dCwgc2l6ZV90IGJ5dGVMZW5ndGgsIFNrU2NhbGFyIHgsCisgICAgICAgICAgICBTa1NjYWxh
ciB5LCBjb25zdCBTa1BhaW50JiBwYWludCkKKyAgICB7CisgICAgICAgIFdSQVBDQU5WQVNfTE9H
X0VOVFJZKCIiKTsKKyAgICAgICAgbV9pc1NvbGlkQ29sb3IgPSBmYWxzZTsKKyAgICAgICAgc2tp
YTo6UGxhdGZvcm1DYW52YXM6OmRyYXdUZXh0KHRleHQsIGJ5dGVMZW5ndGgsIHgsIHksIHBhaW50
KTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd1Bvc1RleHQoY29uc3Qgdm9pZCogdGV4
dCwgc2l6ZV90IGJ5dGVMZW5ndGgsCisgICAgICAgICAgICBjb25zdCBTa1BvaW50IHBvc1tdLCBj
b25zdCBTa1BhaW50JiBwYWludCkKKyAgICB7CisgICAgICAgIFdSQVBDQU5WQVNfTE9HX0VOVFJZ
KCIiKTsKKyAgICAgICAgbV9pc1NvbGlkQ29sb3IgPSBmYWxzZTsKKyAgICAgICAgc2tpYTo6UGxh
dGZvcm1DYW52YXM6OmRyYXdQb3NUZXh0KHRleHQsIGJ5dGVMZW5ndGgsIHBvcywgcGFpbnQpOwor
ICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBkcmF3UG9zVGV4dEgoY29uc3Qgdm9pZCogdGV4dCwg
c2l6ZV90IGJ5dGVMZW5ndGgsCisgICAgICAgICAgICBjb25zdCBTa1NjYWxhciB4cG9zW10sIFNr
U2NhbGFyIGNvbnN0WSwgY29uc3QgU2tQYWludCYgcGFpbnQpCisgICAgeworICAgICAgICBXUkFQ
Q0FOVkFTX0xPR19FTlRSWSgiIik7CisgICAgICAgIG1faXNTb2xpZENvbG9yID0gZmFsc2U7Cisg
ICAgICAgIHNraWE6OlBsYXRmb3JtQ2FudmFzOjpkcmF3UG9zVGV4dEgodGV4dCwgYnl0ZUxlbmd0
aCwgeHBvcywgY29uc3RZLCBwYWludCk7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIGRyYXdU
ZXh0T25QYXRoKGNvbnN0IHZvaWQqIHRleHQsIHNpemVfdCBieXRlTGVuZ3RoLAorICAgICAgICAg
ICAgY29uc3QgU2tQYXRoJiBwYXRoLCBjb25zdCBTa01hdHJpeCogbWF0cml4LCBjb25zdCBTa1Bh
aW50JiBwYWludCkKKyAgICB7CisgICAgICAgIFdSQVBDQU5WQVNfTE9HX0VOVFJZKCIiKTsKKyAg
ICAgICAgbV9pc1NvbGlkQ29sb3IgPSBmYWxzZTsKKyAgICAgICAgc2tpYTo6UGxhdGZvcm1DYW52
YXM6OmRyYXdUZXh0T25QYXRoKHRleHQsIGJ5dGVMZW5ndGgsIHBhdGgsIG1hdHJpeCwgcGFpbnQp
OworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBkcmF3UGljdHVyZShTa1BpY3R1cmUmIHBpY3R1
cmUpCisgICAgeworICAgICAgICBXUkFQQ0FOVkFTX0xPR19FTlRSWSgiIik7CisgICAgICAgIG1f
aXNTb2xpZENvbG9yID0gZmFsc2U7CisgICAgICAgIHNraWE6OlBsYXRmb3JtQ2FudmFzOjpkcmF3
UGljdHVyZShwaWN0dXJlKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd1ZlcnRpY2Vz
KFZlcnRleE1vZGUgbW9kZSwgaW50IHZlcnRleENvdW50LAorICAgICAgICAgICAgY29uc3QgU2tQ
b2ludCB2ZXJ0aWNlc1tdLCBjb25zdCBTa1BvaW50IHRleHNbXSwKKyAgICAgICAgICAgIGNvbnN0
IFNrQ29sb3IgY29sb3JzW10sIFNrWGZlcm1vZGUqIHhmZXJtb2RlLAorICAgICAgICAgICAgY29u
c3QgdWludDE2X3QgaW5kaWNlc1tdLCBpbnQgaW5kZXhDb3VudCwgY29uc3QgU2tQYWludCYgcGFp
bnQpCisgICAgeworICAgICAgICBXUkFQQ0FOVkFTX0xPR19FTlRSWSgiIik7CisgICAgICAgIG1f
aXNTb2xpZENvbG9yID0gZmFsc2U7CisgICAgICAgIHNraWE6OlBsYXRmb3JtQ2FudmFzOjpkcmF3
VmVydGljZXMobW9kZSwgdmVydGV4Q291bnQsIHZlcnRpY2VzLCB0ZXhzLCBjb2xvcnMsIHhmZXJt
b2RlLCBpbmRpY2VzLCBpbmRleENvdW50LCBwYWludCk7CisgICAgfQorCisgICAgdmlydHVhbCB2
b2lkIGRyYXdEYXRhKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBzaXplKQorICAgIHsKKyAgICAg
ICAgV1JBUENBTlZBU19MT0dfRU5UUlkoIiIpOworICAgICAgICBtX2lzU29saWRDb2xvciA9IGZh
bHNlOworICAgICAgICBza2lhOjpQbGF0Zm9ybUNhbnZhczo6ZHJhd0RhdGEoZGF0YSwgc2l6ZSk7
CisgICAgfQorCitwcml2YXRlOgorICAgIENvbG9yIHNvbGlkQ29sb3IoY29uc3QgU2tQYWludCYg
cGFpbnQpCisgICAgeworICAgICAgICBpZiAocGFpbnQuZ2V0U3R5bGUoKSAhPSBTa1BhaW50Ojpr
RmlsbF9TdHlsZSkKKyAgICAgICAgICAgIHJldHVybiBDb2xvcigpOworICAgICAgICBpZiAocGFp
bnQuZ2V0TG9vcGVyKCkgfHwgcGFpbnQuZ2V0U2hhZGVyKCkpCisgICAgICAgICAgICByZXR1cm4g
Q29sb3IoKTsKKworICAgICAgICBTa1hmZXJtb2RlOjpNb2RlIG1vZGU7CisgICAgICAgIFNrWGZl
cm1vZGU6OkFzTW9kZShwYWludC5nZXRYZmVybW9kZSgpLCAmbW9kZSk7CisgICAgICAgIGlmICht
b2RlID09IFNrWGZlcm1vZGU6OmtDbGVhcl9Nb2RlKQorICAgICAgICAgICAgcmV0dXJuIENvbG9y
KDAsIDAsIDAsIDApOworCisgICAgICAgIGlmICgobW9kZSA9PSBTa1hmZXJtb2RlOjprU3JjT3Zl
cl9Nb2RlICYmIHBhaW50LmdldEFscGhhKCkgPT0gMjU1KSB8fCBtb2RlID09IFNrWGZlcm1vZGU6
OmtTcmNfTW9kZSkKKyAgICAgICAgICAgIHJldHVybiBDb2xvcihwYWludC5nZXRDb2xvcigpKTsK
KyAgICAgICAgcmV0dXJuIENvbG9yKCk7CisgICAgfQorCisgICAgSW50U2l6ZSBtX3NpemU7Cisg
ICAgYm9vbCBtX2lzU29saWRDb2xvcjsKKyAgICBDb2xvciBtX3NvbGlkQ29sb3I7CisgICAgU2tQ
YWludCBtX3NvbGlkUGFpbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBJbnN0cnVtZW50ZWRQbGF0Zm9ybUNhbnZhc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L0xheWVyTWVzc2FnZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9MYXllck1lc3NhZ2UuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xNjg3YTFmMDI3ODUyNGQ0MWI1YmI2NWUzYjIyMDllNmM0NzNlYWRlCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9M
YXllck1lc3NhZ2UuaApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEx
IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEz
MDEgIFVTQQorICovCisKKyNpZm5kZWYgTGF5ZXJNZXNzYWdlX2gKKyNkZWZpbmUgTGF5ZXJNZXNz
YWdlX2gKKworI2luY2x1ZGUgPEJsYWNrQmVycnlQbGF0Zm9ybUV4ZWN1dGFibGVNZXNzYWdlLmg+
CisjaW5jbHVkZSA8QmxhY2tCZXJyeVBsYXRmb3JtTWVzc2FnZS5oPgorI2luY2x1ZGUgPEJsYWNr
QmVycnlQbGF0Zm9ybU1lc3NhZ2VDbGllbnQuaD4KKwordHlwZWRlZiBCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6TWVzc2FnZSBQbGF0Zm9ybU1lc3NhZ2U7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
aW5saW5lIGJvb2wgaXNDb21wb3NpdGluZ1RocmVhZCgpCit7CisgICAgcmV0dXJuIEJsYWNrQmVy
cnk6OlBsYXRmb3JtOjp1c2VySW50ZXJmYWNlVGhyZWFkTWVzc2FnZUNsaWVudCgpLT5pc0N1cnJl
bnRUaHJlYWQoKTsKK30KKworaW5saW5lIHB0aHJlYWRfdCBjb21wb3NpdGluZ1RocmVhZCgpCit7
CisgICAgcmV0dXJuIEJsYWNrQmVycnk6OlBsYXRmb3JtOjp1c2VySW50ZXJmYWNlVGhyZWFkTWVz
c2FnZUNsaWVudCgpLT50aHJlYWRJZGVudGlmaWVyKCk7Cit9CisKK2lubGluZSBib29sIGlzV2Vi
S2l0VGhyZWFkKCkKK3sKKyAgICByZXR1cm4gQmxhY2tCZXJyeTo6UGxhdGZvcm06OndlYktpdFRo
cmVhZE1lc3NhZ2VDbGllbnQoKS0+aXNDdXJyZW50VGhyZWFkKCk7Cit9CisKK2lubGluZSBwdGhy
ZWFkX3Qgd2ViS2l0VGhyZWFkKCkKK3sKKyAgICByZXR1cm4gQmxhY2tCZXJyeTo6UGxhdGZvcm06
OndlYktpdFRocmVhZE1lc3NhZ2VDbGllbnQoKS0+dGhyZWFkSWRlbnRpZmllcigpOworfQorCitp
bmxpbmUgdm9pZCBkaXNwYXRjaENvbXBvc2l0aW5nTWVzc2FnZShQbGF0Zm9ybU1lc3NhZ2UqIG1z
ZykKK3sKKyAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6dXNlckludGVyZmFjZVRocmVhZE1lc3Nh
Z2VDbGllbnQoKS0+ZGlzcGF0Y2hNZXNzYWdlKG1zZyk7Cit9CisKK2lubGluZSB2b2lkIGRpc3Bh
dGNoU3luY0NvbXBvc2l0aW5nTWVzc2FnZShQbGF0Zm9ybU1lc3NhZ2UqIG1zZykKK3sKKyAgICBC
bGFja0JlcnJ5OjpQbGF0Zm9ybTo6dXNlckludGVyZmFjZVRocmVhZE1lc3NhZ2VDbGllbnQoKS0+
ZGlzcGF0Y2hTeW5jTWVzc2FnZShtc2cpOworfQorCitlbnVtIFBsYXRmb3JtTWVzc2FnZVByaW9y
aXR5IHsgUGxhdGZvcm1NZXNzYWdlUHJpb3JpdHlMb3cgPSAtMSwgUGxhdGZvcm1NZXNzYWdlUHJp
b3JpdHlOb3JtYWwgPSAwLCBQbGF0Zm9ybU1lc3NhZ2VQcmlvcml0eUhpZ2ggPSAxIH07CisKK2lu
bGluZSB2b2lkIGRpc3BhdGNoV2ViS2l0TWVzc2FnZShQbGF0Zm9ybU1lc3NhZ2UqIG1zZywgUGxh
dGZvcm1NZXNzYWdlUHJpb3JpdHkgcHJpb3JpdHkgPSBQbGF0Zm9ybU1lc3NhZ2VQcmlvcml0eU5v
cm1hbCkKK3sKKyAgICBpZiAocHJpb3JpdHkgIT0gUGxhdGZvcm1NZXNzYWdlUHJpb3JpdHlOb3Jt
YWwpCisgICAgICAgIG1zZy0+c2V0UHJpb3JpdHkoQmxhY2tCZXJyeTo6UGxhdGZvcm06OndlYktp
dFRocmVhZE1lc3NhZ2VDbGllbnQoKS0+dGhyZWFkUHJpb3JpdHkoKSArIHByaW9yaXR5KTsKKyAg
ICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6d2ViS2l0VGhyZWFkTWVzc2FnZUNsaWVudCgpLT5kaXNw
YXRjaE1lc3NhZ2UobXNnKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gTGF5ZXJNZXNzYWdlX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>