<?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>139965</bug_id>
          
          <creation_ts>2014-12-27 10:20:25 -0800</creation_ts>
          <short_desc>Implement encoding and decoding of ObjCObjectGraph objects</short_desc>
          <delta_ts>2014-12-27 12:32:33 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1057969</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-12-27 10:20:25 -0800</bug_when>
    <thetext>Implement encoding and decoding of ObjCObjectGraph objects</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057970</commentid>
    <comment_count>1</comment_count>
      <attachid>243776</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-12-27 10:22:57 -0800</bug_when>
    <thetext>Created attachment 243776
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057971</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-27 10:25:34 -0800</bug_when>
    <thetext>Attachment 243776 did not pass style-queue:


ERROR: Source/WebKit2/Shared/mac/ObjCObjectGraph.mm:172:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit2/Shared/mac/ObjCObjectGraph.mm:268:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit2/Shared/mac/ObjCObjectGraph.mm:268:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 3 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057984</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-12-27 12:29:37 -0800</bug_when>
    <thetext>It was already landed in https://trac.webkit.org/changeset/177765. Can we close the bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057985</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-12-27 12:32:33 -0800</bug_when>
    <thetext>Yup, not sure why webkit-patch didn&apos;t close it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243776</attachid>
            <date>2014-12-27 10:22:57 -0800</date>
            <delta_ts>2014-12-27 12:07:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139965-20141227102300.patch</filename>
            <type>text/plain</type>
            <size>9598</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3NzUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZGMzYjMyZTRlNGEwZGE5
MGYwMDE3NjQxZDYxNDRjNWE2ZDM3NmIwZC4uODAxNDcwOTgzNDE0MzUyZDU5YmUwODBlMjE2MWQ1
OGViMzkwZjc1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTEyLTI3ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IGVu
Y29kaW5nIGFuZCBkZWNvZGluZyBvZiBPYmpDT2JqZWN0R3JhcGggb2JqZWN0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5OTY1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvVXNlckRhdGEu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpVc2VyRGF0YTo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktp
dDo6VXNlckRhdGE6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL21hYy9PYmpDT2JqZWN0R3Jh
cGguaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL09iakNPYmplY3RHcmFwaC5tbToKKyAgICAgICAg
KFdlYktpdDo6dHlwZUZyb21PYmplY3QpOgorICAgICAgICAoV2ViS2l0OjpPYmpDT2JqZWN0R3Jh
cGg6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6Ok9iakNPYmplY3RHcmFwaDo6ZGVjb2RlKToK
KwogMjAxNC0xMi0yNiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAg
ICAgICAgIEhhbmRsZSBtb3JlIHR5cGVzIGluIHRoZSBVc2VyRGF0YSBlbmNvZGUvZGVjb2RlIGZ1
bmN0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJEYXRhLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Vc2VyRGF0YS5jcHAKaW5kZXggNzgzYjE2MzYwMzE2MDFj
OGQ2M2QzYzcwMjMzZTc3MzQ4YjIxNTI3ZS4uYjhmMGExZjBjZDBhYWY1YmU4Yjk0MGE1ZGQyMWUy
YzAxZTdmOWY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1VzZXJEYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlckRhdGEuY3BwCkBAIC00OSw2ICs0OSwx
MCBAQAogI2luY2x1ZGUgIldlYlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiV2ViUmVuZGVyT2Jq
ZWN0LmgiCiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyNpbmNsdWRlICJPYmpDT2JqZWN0R3JhcGgu
aCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogVXNlckRhdGE6OlVzZXJEYXRhKCkK
QEAgLTMxMiw2ICszMTYsMTIgQEAgdm9pZCBVc2VyRGF0YTo6ZW5jb2RlKElQQzo6QXJndW1lbnRF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBBUEk6Ok9iamVjdCYgb2JqZWN0KQogICAgICAgICBicmVh
azsKICAgICB9CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBjYXNlIEFQSTo6T2JqZWN0OjpU
eXBlOjpPYmpDT2JqZWN0R3JhcGg6CisgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IE9iakNPYmpl
Y3RHcmFwaCY+KG9iamVjdCkuZW5jb2RlKGVuY29kZXIpOworICAgICAgICBicmVhazsKKyNlbmRp
ZgorCiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQpA
QCAtNTY3LDYgKzU3NywxMyBAQCBib29sIFVzZXJEYXRhOjpkZWNvZGUoSVBDOjpBcmd1bWVudERl
Y29kZXImIGRlY29kZXIsIFJlZlB0cjxBUEk6Ok9iamVjdD4mIHJlc3VsdAogICAgICAgICBicmVh
azsKICAgICB9CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBjYXNlIEFQSTo6T2JqZWN0OjpU
eXBlOjpPYmpDT2JqZWN0R3JhcGg6CisgICAgICAgIGlmICghT2JqQ09iamVjdEdyYXBoOjpkZWNv
ZGUoZGVjb2RlciwgcmVzdWx0KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
YnJlYWs7CisjZW5kaWYKKwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvT2JqQ09i
amVjdEdyYXBoLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL09iakNPYmplY3RHcmFwaC5o
CmluZGV4IDk2ZTMyNjE2ZjQxYTQyYzhiYmZiNmMyN2FhZTE0NmMzNzNlNDY2YmEuLjQ0N2UxYzJl
ZmUxNTdkMWNjNGQ0Yzc5YmQ3MmUwMTBhMjQzMDM4M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvT2JqQ09iamVjdEdyYXBoLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9PYmpDT2JqZWN0R3JhcGguaApAQCAtMjksNiArMjksMTMgQEAKICNpbmNsdWRlICJB
UElPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKK25hbWVzcGFjZSBJUEMg
eworY2xhc3MgQXJndW1lbnREZWNvZGVyOworY2xhc3MgQXJndW1lbnRFbmNvZGVyOworfQorCit0
eXBlZGVmIHN0cnVjdCBvYmpjX29iamVjdCogaWQ7CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBPYmpDT2JqZWN0R3JhcGggOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0
OjpUeXBlOjpPYmpDT2JqZWN0R3JhcGg+IHsKQEAgLTQ3LDcgKzU0LDEzIEBAIHB1YmxpYzoKICAg
ICB9OwogICAgIHN0YXRpYyBSZXRhaW5QdHI8aWQ+IHRyYW5zZm9ybShpZCwgY29uc3QgVHJhbnNm
b3JtZXImKTsKIAorICAgIHZvaWQgZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7
CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiwgUmVmUHRyPEFQ
STo6T2JqZWN0PiYpOworCiBwcml2YXRlOgorICAgIHN0YXRpYyB2b2lkIGVuY29kZShJUEM6OkFy
Z3VtZW50RW5jb2RlciYsIGlkKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoSVBDOjpBcmd1bWVu
dERlY29kZXImLCBSZXRhaW5QdHI8aWQ+Jik7CisKICAgICBleHBsaWNpdCBPYmpDT2JqZWN0R3Jh
cGgoaWQgcm9vdE9iamVjdCkKICAgICAgICAgOiBtX3Jvb3RPYmplY3Qocm9vdE9iamVjdCkKICAg
ICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL09iakNPYmplY3RHcmFw
aC5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvT2JqQ09iamVjdEdyYXBoLm1tCmluZGV4
IGQ3ODQwNTg2YTlmM2YyNzhmODg3YzhkMTcxN2ZhYWRlYWRjNTc2YTYuLjYzNWFjYTMxMWQ5N2Y3
MWJiNjQ2ZGE2ZDYwOTIyYzg4MzA0Y2I2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvT2JqQ09iamVjdEdyYXBoLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvT2JqQ09iamVjdEdyYXBoLm1tCkBAIC0yMyw4ICsyMywxNyBAQAogICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJPYmpDT2JqZWN0R3JhcGguaCIKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiT2JqQ09i
amVjdEdyYXBoLmgiCisKKyNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzTWFjLmgiCisjaW1wb3J0ICJB
cmd1bWVudERlY29kZXIuaCIKKyNpbXBvcnQgIkFyZ3VtZW50RW5jb2Rlci5oIgorI2ltcG9ydCA8
d3RmL09wdGlvbmFsLmg+CisKKyNpZiBXS19BUElfRU5BQkxFRAorI2ltcG9ydCAiV0tCcm93c2lu
Z0NvbnRleHRIYW5kbGVJbnRlcm5hbC5oIgorI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CkBAIC04NSw0ICs5NCwyMjkgQEAgUmV0YWluUHRyPGlkPiBPYmpDT2JqZWN0R3JhcGg6OnRyYW5z
Zm9ybShpZCBvYmplY3QsIGNvbnN0IFRyYW5zZm9ybWVyJiB0cmFuc2Zvcm0KICAgICByZXR1cm4g
dHJhbnNmb3JtR3JhcGgob2JqZWN0LCB0cmFuc2Zvcm1lcik7CiB9CiAKK2VudW0gY2xhc3MgT2Jq
Q1R5cGUgeworICAgIE51bGwsCisKKyAgICBOU0FycmF5LAorICAgIE5TRGF0YSwKKyAgICBOU0Rh
dGUsCisgICAgTlNEaWN0aW9uYXJ5LAorICAgIE5TTnVtYmVyLAorICAgIE5TU3RyaW5nLAorCisj
aWYgV0tfQVBJX0VOQUJMRUQKKyAgICBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZSwKKyNlbmRpZgor
fTsKKworc3RhdGljIE9wdGlvbmFsPE9iakNUeXBlPiB0eXBlRnJvbU9iamVjdChpZCBvYmplY3Qp
Cit7CisgICAgQVNTRVJUKG9iamVjdCk7CisKKyAgICBpZiAoZHluYW1pY19vYmpjX2Nhc3Q8TlNB
cnJheT4ob2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIE9iakNUeXBlOjpOU0FycmF5OworICAgIGlm
IChkeW5hbWljX29iamNfY2FzdDxOU0RhdGE+KG9iamVjdCkpCisgICAgICAgIHJldHVybiBPYmpD
VHlwZTo6TlNEYXRhOworICAgIGlmIChkeW5hbWljX29iamNfY2FzdDxOU0RhdGU+KG9iamVjdCkp
CisgICAgICAgIHJldHVybiBPYmpDVHlwZTo6TlNEYXRlOworICAgIGlmIChkeW5hbWljX29iamNf
Y2FzdDxOU0RpY3Rpb25hcnk+KG9iamVjdCkpCisgICAgICAgIHJldHVybiBPYmpDVHlwZTo6TlNE
aWN0aW9uYXJ5OworICAgIGlmIChkeW5hbWljX29iamNfY2FzdDxOU051bWJlcj4ob2JqZWN0KSkK
KyAgICAgICAgcmV0dXJuIE9iakNUeXBlOjpOU051bWJlcjsKKyAgICBpZiAoZHluYW1pY19vYmpj
X2Nhc3Q8TlNTdHJpbmc+KG9iamVjdCkpCisgICAgICAgIHJldHVybiBPYmpDVHlwZTo6TlNTdHJp
bmc7CisKKyNpZiBXS19BUElfRU5BQkxFRAorICAgIGlmIChkeW5hbWljX29iamNfY2FzdDxXS0Jy
b3dzaW5nQ29udGV4dEhhbmRsZT4ob2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIE9iakNUeXBlOjpX
S0Jyb3dzaW5nQ29udGV4dEhhbmRsZTsKKyNlbmRpZgorCisgICAgcmV0dXJuIE51bGxvcHQ7Cit9
CisKK3ZvaWQgT2JqQ09iamVjdEdyYXBoOjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIsIGlkIG9iamVjdCkKK3sKKyAgICBpZiAoIW9iamVjdCkgeworICAgICAgICBlbmNvZGVy
IDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihPYmpDVHlwZTo6TnVsbCk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBhdXRvIHR5cGUgPSB0eXBlRnJvbU9iamVjdChvYmplY3QpOworICAg
IGlmICghdHlwZSkKKyAgICAgICAgW05TRXhjZXB0aW9uIHJhaXNlOk5TSW52YWxpZEFyZ3VtZW50
RXhjZXB0aW9uIGZvcm1hdDpAIkNhbiBub3QgZW5jb2RlIG9iamVjdHMgb2YgY2xhc3MgdHlwZSAn
JUAnIiwgc3RhdGljX2Nhc3Q8TlNTdHJpbmcgKj4oTlNTdHJpbmdGcm9tQ2xhc3MoW29iamVjdCBj
bGFzc10pKV07CisKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQzMl90Pih0eXBlLnZh
bHVlKCkpOworCisgICAgc3dpdGNoICh0eXBlLnZhbHVlKCkpIHsKKyAgICBjYXNlIE9iakNUeXBl
OjpOU0FycmF5OiB7CisgICAgICAgIE5TQXJyYXkgKmFycmF5ID0gb2JqZWN0OworCisgICAgICAg
IGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDY0PihhcnJheS5jb3VudCk7CisgICAgICAgIGZv
ciAoaWQgZWxlbWVudCBpbiBhcnJheSkKKyAgICAgICAgICAgIGVuY29kZShlbmNvZGVyLCBlbGVt
ZW50KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgY2FzZSBPYmpDVHlwZTo6TlNEYXRh
OgorICAgICAgICBJUEM6OmVuY29kZShlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0RhdGEgKj4ob2Jq
ZWN0KSk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBPYmpDVHlwZTo6TlNEYXRlOgorICAg
ICAgICBJUEM6OmVuY29kZShlbmNvZGVyLCBzdGF0aWNfY2FzdDxOU0RhdGUgKj4ob2JqZWN0KSk7
CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBPYmpDVHlwZTo6TlNEaWN0aW9uYXJ5OiB7Cisg
ICAgICAgIE5TRGljdGlvbmFyeSAqZGljdGlvbmFyeSA9IG9iamVjdDsKKworICAgICAgICBlbmNv
ZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihkaWN0aW9uYXJ5LmNvdW50KTsKKyAgICAgICAg
W2RpY3Rpb25hcnkgZW51bWVyYXRlS2V5c0FuZE9iamVjdHNVc2luZ0Jsb2NrOlsmZW5jb2Rlcl0o
aWQga2V5LCBpZCBvYmplY3QsIEJPT0wgKnN0b3ApIHsKKyAgICAgICAgICAgIGVuY29kZShlbmNv
ZGVyLCBrZXkpOworICAgICAgICAgICAgZW5jb2RlKGVuY29kZXIsIG9iamVjdCk7CisgICAgICAg
IH1dOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBjYXNlIE9iakNUeXBlOjpOU051bWJl
cjoKKyAgICAgICAgSVBDOjplbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNOdW1iZXIgKj4o
b2JqZWN0KSk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBPYmpDVHlwZTo6TlNTdHJpbmc6
CisgICAgICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TU3RyaW5nICo+KG9i
amVjdCkpOworICAgICAgICBicmVhazsKKworI2lmIFdLX0FQSV9FTkFCTEVECisgICAgY2FzZSBP
YmpDVHlwZTo6V0tCcm93c2luZ0NvbnRleHRIYW5kbGU6CisgICAgICAgIGVuY29kZXIgPDwgc3Rh
dGljX2Nhc3Q8V0tCcm93c2luZ0NvbnRleHRIYW5kbGUgKj4ob2JqZWN0KS5wYWdlSUQ7CisgICAg
ICAgIGJyZWFrOworI2VuZGlmCisKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICB9Cit9CisKK3ZvaWQgT2JqQ09iamVjdEdyYXBoOjplbmNvZGUoSVBDOjpB
cmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlKGVuY29kZXIsIG1f
cm9vdE9iamVjdC5nZXQoKSk7Cit9CisKK2Jvb2wgT2JqQ09iamVjdEdyYXBoOjpkZWNvZGUoSVBD
OjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxpZD4mIHJlc3VsdCkKK3sKKyAg
ICB1aW50MzJfdCB0eXBlQXNVSW50MzI7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0eXBlQXNV
SW50MzIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhdXRvIHR5cGUgPSBzdGF0aWNf
Y2FzdDxPYmpDVHlwZT4odHlwZUFzVUludDMyKTsKKworICAgIHN3aXRjaCAodHlwZSkgeworICAg
IGNhc2UgT2JqQ1R5cGU6Ok51bGw6CisgICAgICAgIHJlc3VsdCA9IG51bGxwdHI7CisgICAgICAg
IGJyZWFrOworCisgICAgY2FzZSBPYmpDVHlwZTo6TlNBcnJheTogeworICAgICAgICB1aW50NjRf
dCBzaXplOworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNpemUpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgICAgIGF1dG8gYXJyYXkgPSBhZG9wdE5TKFtbTlNNdXRhYmxl
QXJyYXkgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgZm9yICh1aW50NjRfdCBpID0gMDsgaSA8IHNp
emU7ICsraSkgeworICAgICAgICAgICAgUmV0YWluUHRyPGlkPiBlbGVtZW50OworICAgICAgICAg
ICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZWxlbWVudCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICAgICAgW2FycmF5IGFkZE9iamVjdDplbGVtZW50LmdldCgpXTsKKyAg
ICAgICAgfQorCisgICAgICAgIHJlc3VsdCA9IFdURjo6bW92ZShhcnJheSk7CisgICAgICAgIGJy
ZWFrOworICAgIH0KKworICAgIGNhc2UgT2JqQ1R5cGU6Ok5TRGF0YTogeworICAgICAgICBSZXRh
aW5QdHI8TlNEYXRhPiBkYXRhOworICAgICAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIGRh
dGEpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIHJlc3VsdCA9IFdURjo6
bW92ZShkYXRhKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgY2FzZSBPYmpDVHlwZTo6
TlNEYXRlOiB7CisgICAgICAgIFJldGFpblB0cjxOU0RhdGU+IGRhdGU7CisgICAgICAgIGlmICgh
SVBDOjpkZWNvZGUoZGVjb2RlciwgZGF0ZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICAgICAgcmVzdWx0ID0gV1RGOjptb3ZlKGRhdGUpOworICAgICAgICBicmVhazsKKyAgICB9
CisKKyAgICBjYXNlIE9iakNUeXBlOjpOU0RpY3Rpb25hcnk6IHsKKyAgICAgICAgdWludDY0X3Qg
c2l6ZTsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzaXplKSkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgICAgICBhdXRvIGRpY3Rpb25hcnkgPSBhZG9wdE5TKFtbTlNNdXRh
YmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdF0pOworICAgICAgICBmb3IgKHVpbnQ2NF90IGkgPSAw
OyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgICAgICBSZXRhaW5QdHI8aWQ+IGtleTsKKyAgICAg
ICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGtleSkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgICAgICAgICBSZXRhaW5QdHI8aWQ+IG9iamVjdDsKKyAgICAgICAgICAg
IGlmICghZGVjb2RlKGRlY29kZXIsIG9iamVjdCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgICAgICAgICBAdHJ5IHsKKyAgICAgICAgICAgICAgICBbZGljdGlvbmFyeSBz
ZXRPYmplY3Q6b2JqZWN0LmdldCgpIGZvcktleTprZXkuZ2V0KCldOworICAgICAgICAgICAgfSBA
Y2F0Y2ggKGlkKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAg
fQorICAgICAgICB9CisKKyAgICAgICAgcmVzdWx0ID0gV1RGOjptb3ZlKGRpY3Rpb25hcnkpOwor
ICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBjYXNlIE9iakNUeXBlOjpOU051bWJlcjogewor
ICAgICAgICBSZXRhaW5QdHI8TlNOdW1iZXI+IG51bWJlcjsKKyAgICAgICAgaWYgKCFJUEM6OmRl
Y29kZShkZWNvZGVyLCBudW1iZXIpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
ICAgIHJlc3VsdCA9IFdURjo6bW92ZShudW1iZXIpOworICAgICAgICBicmVhazsKKyAgICB9CisK
KyAgICBjYXNlIE9iakNUeXBlOjpOU1N0cmluZzogeworICAgICAgICBSZXRhaW5QdHI8TlNTdHJp
bmc+IHN0cmluZzsKKyAgICAgICAgaWYgKCFJUEM6OmRlY29kZShkZWNvZGVyLCBzdHJpbmcpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIHJlc3VsdCA9IFdURjo6bW92ZShz
dHJpbmcpOworICAgICAgICBicmVhazsKKyAgICB9CisKKyNpZiBXS19BUElfRU5BQkxFRAorICAg
IGNhc2UgT2JqQ1R5cGU6OldLQnJvd3NpbmdDb250ZXh0SGFuZGxlOiB7CisgICAgICAgIHVpbnQ2
NF90IHBhZ2VJRDsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYWdlSUQpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIHJlc3VsdCA9IGFkb3B0TlMoW1tXS0Jyb3dz
aW5nQ29udGV4dEhhbmRsZSBhbGxvY10gX2luaXRXaXRoUGFnZUlEOnBhZ2VJRF0pOworICAgICAg
ICBicmVhazsKKyAgICB9CisjZW5kaWYKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgT2JqQ09iamVjdEdyYXBo
OjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlZlB0cjxBUEk6Ok9iamVj
dD4mIHJlc3VsdCkKK3sKKyAgICBSZXRhaW5QdHI8aWQ+IHJvb3RPYmplY3Q7CisgICAgaWYgKCFk
ZWNvZGUoZGVjb2Rlciwgcm9vdE9iamVjdCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IHJlc3VsdCA9IE9iakNPYmplY3RHcmFwaDo6Y3JlYXRlKHJvb3RPYmplY3QuZ2V0KCkpOworICAg
IHJldHVybiB0cnVlOworfQorCiB9Cg==
</data>
<flag name="review"
          id="268684"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>