<?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>51353</bug_id>
          
          <creation_ts>2010-12-20 13:47:47 -0800</creation_ts>
          <short_desc>Need to support serialisation of cyclic graphs in the internal structured cloning algorithm</short_desc>
          <delta_ts>2010-12-20 14:41:05 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>324554</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-12-20 13:47:47 -0800</bug_when>
    <thetext>Need to support serialisation of cyclic graphs in the internal structured cloning algorithm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324568</commentid>
    <comment_count>1</comment_count>
      <attachid>77035</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-12-20 14:26:32 -0800</bug_when>
    <thetext>Created attachment 77035
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324571</commentid>
    <comment_count>2</comment_count>
      <attachid>77035</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-20 14:28:20 -0800</bug_when>
    <thetext>Comment on attachment 77035
Patch

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

&gt; WebCore/bindings/js/SerializedScriptValue.cpp:94
&gt; -static const unsigned int CurrentVersion = 1;
&gt; +static const unsigned int CurrentVersion = 2;

Can we still decode version 1 serialized data? Is there any use of this that is persistent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324581</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-12-20 14:41:05 -0800</bug_when>
    <thetext>Committed r74368: &lt;http://trac.webkit.org/changeset/74368&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77035</attachid>
            <date>2010-12-20 14:26:32 -0800</date>
            <delta_ts>2010-12-20 14:28:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51353-20101220142630.patch</filename>
            <type>text/plain</type>
            <size>15609</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4NzlhYzZmN2YxODA4ZmRjZmJlY2I5NDVjZDMxMzU1MjE3OGYwNDAxLi5jN2ZlYTJi
YjIzNzljMGNlZjNiYmQxNmY3YTdiMmZmNDliOGIxYzllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTItMjAgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZWVkIHRvIHN1cHBvcnQgc2Vy
aWFsaXNhdGlvbiBvZiBjeWNsaWMgZ3JhcGhzIGluIHRoZSBpbnRlcm5hbCBzdHJ1Y3R1cmVkIGNs
b25pbmcgYWxnb3JpdGhtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01MTM1MworCisgICAgICAgIFVwZGF0ZSB0ZXN0IHRvIGNvdmVyIGNvcnJlY3QgYmVo
YXZpb3VyLCBhbmQgZXh0ZW5kIHRvIHRlc3QgZm9yIGFjdHVhbCBncmFwaCBjb25zdHJ1Y3Rpb24u
CisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdl
LWNsb25lLmh0bWw6CisKIDIwMTAtMTItMjAgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBSZWJhc2VkIHBsYXRmb3JtLXNwZWNpZmlj
IHRlc3QgZXhwZWN0YXRpb25zIGZvbGxvd2luZyBkZWZhdWx0IGV4cGVjdGF0aW9uIGNoYW5nZSBp
biByNzQyMzQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXBvc3RtZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0CmluZGV4IDdiNGZjODkw
NTdmMTkyODMzZDcxZjY0YTVkZDc5NjY1MWE5ZTNhYWMuLmE1ZTExN2U3MzBkNjUwMGQwOWQzNWFh
Njg0ZWI2Y2U3NDhhODBhNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0CkBA
IC0xLDYgKzEsNCBAQAogVGVzdHMgdGhhdCB3ZSBjbG9uZSBvYmplY3QgaGllcmFyY2hpZXMKLVBB
U1M6ICdwb3N0TWVzc2FnZShjeWNsaWNPYmplY3QpJyB0aHJldyBUeXBlRXJyb3I6IENhbm5vdCBw
b3N0IGN5Y2xpYyBzdHJ1Y3R1cmVzLgotUEFTUzogJ3Bvc3RNZXNzYWdlKGN5Y2xpY0FycmF5KScg
dGhyZXcgVHlwZUVycm9yOiBDYW5ub3QgcG9zdCBjeWNsaWMgc3RydWN0dXJlcy4KIFBBU1M6ICdw
b3N0TWVzc2FnZShyZWFsbHlEZWVwQXJyYXkpJyB0aHJldyBSYW5nZUVycm9yOiBNYXhpbXVtIGNh
bGwgc3RhY2sgc2l6ZSBleGNlZWRlZC4KIFBBU1M6ICdwb3N0TWVzc2FnZSh3aW5kb3cpJyB0aHJl
dyBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKIFBBU1M6IGV2ZW50RGF0YSBpcyBudWxsIG9mIHR5cGUg
b2JqZWN0CkBAIC0yNSw2ICsyMywxMCBAQCBQQVNTOiBldmVudERhdGEgaXMgLCwxIG9mIHR5cGUg
b2JqZWN0CiBQQVNTOiBldmVudERhdGEgaXMgbnVsbCBvZiB0eXBlIG9iamVjdAogUEFTUzogZXZl
bnREYXRhIGlzIDIwMDktMDItMTNUMjM6MzE6MzAuMDAwWiBvZiB0eXBlIG9iamVjdAogUEFTUzog
ZXZlbnREYXRhIGlzIFtvYmplY3QgT2JqZWN0XSBvZiB0eXBlIG9iamVjdAorUEFTUzogZXZlbnRE
YXRhIGlzID09PSB0byBldmVudERhdGEuc2VsZgorUEFTUzogZXZlbnREYXRhIGlzID09PSB0byBl
dmVudERhdGFbMF0KK1BBU1M6IGV2ZW50RGF0YS5ncmFwaDEgaXMgPT09IHRvIGV2ZW50RGF0YS5n
cmFwaDIKK1BBU1M6IGV2ZW50RGF0YVswXSBpcyA9PT0gdG8gZXZlbnREYXRhWzFdCiBQQVNTOiBl
dmVudERhdGEgaXMgW29iamVjdCBBcnJheV0oZGVmYXVsdCB0b1N0cmluZyB0aHJldyBSYW5nZUVy
cm9yOiBNYXhpbXVtIGNhbGwgc3RhY2sgc2l6ZSBleGNlZWRlZC4pIG9mIHR5cGUgb2JqZWN0CiBQ
QVNTOiBldmVudERhdGEgaXMgW29iamVjdCBGaWxlXSBvZiB0eXBlIG9iamVjdAogUEFTUzogZXZl
bnREYXRhIGlzIFtvYmplY3QgRmlsZUxpc3RdIG9mIHR5cGUgb2JqZWN0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLmh0
bWwKaW5kZXggNjczM2UwOTJhZDVhYjM2NzEyZDc4MDRkOWUwMzBhMjJjNDQ0MGE3ZS4uYmY1MDEz
OWU1MzE1YTViZWU2MzU1ZTk4ODFjMmI4NWIwOGIzOWQ4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUuaHRtbApA
QCAtODAsMTEgKzgwLDM3IEBAIGZ1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpCiAg
ICAgICAgIGNvbnNvbGUuaW5uZXJIVE1MICs9ICJGQUlMOiAiICsgYWN0dWFsICsgIiBpcyAiICsg
YWN0dWFsVmFsdWUgKyAiIHNob3VsZCBiZSAiICsgZXhwZWN0ZWRWYWx1ZSArICIgb2YgdHlwZSAi
ICsgdHlwZW9mIGV4cGVjdGVkVmFsdWUgKyAiPGJyPiI7CiB9CiAKK2Z1bmN0aW9uIHNob3VsZEJl
SWRlbnRpY2FsKGFjdHVhbCwgZXhwZWN0ZWQpCit7CisgICAgdmFyIGFjdHVhbFZhbHVlID0gZXZh
bChhY3R1YWwpOworICAgIHZhciBleHBlY3RlZFZhbHVlID0gZXZhbChleHBlY3RlZCk7CisgICAg
aWYgKGFjdHVhbFZhbHVlID09PSBleHBlY3RlZFZhbHVlKQorICAgICAgICBjb25zb2xlLmlubmVy
SFRNTCArPSAiUEFTUzogIiArIGFjdHVhbCArICIgaXMgPT09IHRvICIgKyBleHBlY3RlZCArICI8
YnI+IjsKKyAgICBlbHNlCisgICAgICAgIGNvbnNvbGUuaW5uZXJIVE1MICs9ICJGQUlMOiAiICsg
YWN0dWFsICsgIiBpcyBub3QgPT09IHRvICIgKyBleHBlY3RlZCArICI8YnI+IjsKK30KKwogZnVu
Y3Rpb24gb25tZXNzYWdlKGV2dCkgewogICAgIGV2ZW50RGF0YSA9IGV2dC5kYXRhOwogICAgIGlm
IChldnQuZGF0YSAhPT0gZXZ0LmRhdGEpCiAgICAgICAgIGNvbnNvbGUuaW5uZXJIVE1MICs9ICJN
ZXNzYWdlRXZlbnQuZGF0YSBkb2VzIG5vdCBwcm9kdWNlIHRoZSBzYW1lIHZhbHVlIG9uIG11bHRp
cGxlIHF1ZXJpZXMuPGJyPiI7Ci0gICAgc2hvdWxkQmUoImV2ZW50RGF0YSIsIG1lc3NhZ2VzLnNo
aWZ0KCkpOworICAgIHZhciBtZXNzYWdlID0gbWVzc2FnZXMuc2hpZnQoKTsKKyAgICBzd2l0Y2gg
KG1lc3NhZ2UpIHsKKyAgICBjYXNlICJjeWNsaWNPYmplY3QiOgorICAgICAgICBzaG91bGRCZUlk
ZW50aWNhbCgiZXZlbnREYXRhIiwgImV2ZW50RGF0YS5zZWxmIik7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgImN5Y2xpY0FycmF5IjoKKyAgICAgICAgc2hvdWxkQmVJZGVudGljYWwoImV2ZW50
RGF0YSIsICJldmVudERhdGFbMF0iKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAib2JqZWN0
R3JhcGgiOgorICAgICAgICBzaG91bGRCZUlkZW50aWNhbCgiZXZlbnREYXRhLmdyYXBoMSIsICJl
dmVudERhdGEuZ3JhcGgyIik7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgImFycmF5R3JhcGgi
OgorICAgICAgICBzaG91bGRCZUlkZW50aWNhbCgiZXZlbnREYXRhWzBdIiwgImV2ZW50RGF0YVsx
XSIpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBzaG91bGRCZSgiZXZl
bnREYXRhIiwgbWVzc2FnZSk7CisgICAgfQogCiAgICAgaWYgKHNhZmVUb1N0cmluZyhldnQuZGF0
YSkgPT0gJ2RvbmUnICYmIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwpAQCAtMTQxLDEwICsxNjcsMTcgQEAgdHJ5
UG9zdE1lc3NhZ2UoJ25ldyBEYXRlKDEyMzQ1Njc4OTAwMDApJyk7CiB0cnlQb3N0TWVzc2FnZSgn
bmV3IENvbnN0cnVjdG9yV2l0aFByb3RvdHlwZSgiZm9vIiknLCBmYWxzZSwgJyh7ZmllbGQ6ImZv
byJ9KScpOwogY3ljbGljT2JqZWN0PXt9OwogY3ljbGljT2JqZWN0LnNlbGYgPSBjeWNsaWNPYmpl
Y3Q7Ci10cnlQb3N0TWVzc2FnZSgnY3ljbGljT2JqZWN0JywgdHJ1ZSk7Cit0cnlQb3N0TWVzc2Fn
ZSgnY3ljbGljT2JqZWN0JywgZmFsc2UsICJjeWNsaWNPYmplY3QiKTsKIGN5Y2xpY0FycmF5PVtd
OwogY3ljbGljQXJyYXlbMF0gPSBjeWNsaWNBcnJheTsKLXRyeVBvc3RNZXNzYWdlKCdjeWNsaWNB
cnJheScsIHRydWUpOwordHJ5UG9zdE1lc3NhZ2UoJ2N5Y2xpY0FycmF5JywgZmFsc2UsICJjeWNs
aWNBcnJheSIpOworb2JqZWN0R3JhcGggPSB7fTsKK29iamVjdCA9IHt9Oworb2JqZWN0R3JhcGgu
Z3JhcGgxID0gb2JqZWN0Oworb2JqZWN0R3JhcGguZ3JhcGgyID0gb2JqZWN0OwordHJ5UG9zdE1l
c3NhZ2UoJ29iamVjdEdyYXBoJywgZmFsc2UsICJvYmplY3RHcmFwaCIpOworYXJyYXlHcmFwaCA9
IFtvYmplY3QsIG9iamVjdF07Cit0cnlQb3N0TWVzc2FnZSgnYXJyYXlHcmFwaCcsIGZhbHNlLCAi
YXJyYXlHcmFwaCIpOwogZGVlcEFycmF5PVtdOwogZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsg
aSsrKQogICAgIGRlZXBBcnJheT1bZGVlcEFycmF5XTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDU4OWNhNTg1OWMzMDc1OTFiNWIwMzI1
ZjQ0NmRmNGVlZjJiNGMxOS4uMGM0NzcyODA5ZDIzYWQ4YzVhMTdjZWU2Mzk3NGFlYzU5ZmJkMDFh
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwzOSBAQAorMjAxMC0xMi0yMCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5l
ZWQgdG8gc3VwcG9ydCBzZXJpYWxpc2F0aW9uIG9mIGN5Y2xpYyBncmFwaHMgaW4gdGhlIGludGVy
bmFsIHN0cnVjdHVyZWQgY2xvbmluZyBhbGdvcml0aG0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxMzUzCisKKyAgICAgICAgVGhlIEludGVybmFsIFN0
cnVjdHVyZWQgQ2xvbmUgYWxnb3JpdGhtIGhhcyBiZWVuIGNoYW5nZWQgdG8gYWxsb3cgKGFuZAor
ICAgICAgICBjb3JyZWN0bHkgY2xvbmUpIGN5Y2xpYyBncmFwaHMuICBUaGlzIHBhdGNoIHVwZGF0
ZXMgb3VyIGltcGxlbWVudGF0aW9uCisgICAgICAgIHRvIHByb3ZpZGUgdGhhdCBmdW5jdGlvbmFs
aXR5LgorCisgICAgICAgIEkndmUgYnVtcGVkIHRoZSBzZXJpYWxpemF0aW9uIHZlcnNpb24gbnVt
YmVyLCBhbmQgYWRkZWQgT2JqZWN0UmVmZXJlbmNlVGFnCisgICAgICAgIHRvIHJlcHJlc2VudCBy
ZWZlcmVuY2VzIHRvIG9iamVjdHMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBzZWVuLgorCisgICAg
ICAgICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNsb25lU2VyaWFsaXplcjo6c3RhcnRPYmplY3RJbnRlcm5hbCk6CisgICAgICAgICAg
Tm93IHRoYXQgd2UgaGF2ZSBzb21ldGhpbmcgYSBiaXQgbW9yZSBjb21wbGV4IHRoYW4gY3ljbGUg
Y2hlY2tpbmcKKyAgICAgICAgICBJJ3ZlIHJlcGxhY2VkIHRoZSBkdXBsaWNhdGUgY29kZSBpbiBz
dGFydE9iamVjdCBhbmQgc3RhcnRBcnJheSB3aXRoCisgICAgICAgICAgYSBzaGFyZWQgZnVuY3Rp
b24gdGhhdCBpbXBsZW1lbnRzIHRoYXQgbG9naWMgdG8gcGxhbnQgYW4gb2JqZWN0CisgICAgICAg
ICAgcmVmZXJlbmNlCisgICAgICAgIChXZWJDb3JlOjpDbG9uZVNlcmlhbGl6ZXI6OnN0YXJ0T2Jq
ZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lU2VyaWFsaXplcjo6c3RhcnRBcnJheSk6Cisg
ICAgICAgICAgTGlmdCBvdXQgZHVwbGljYXRlIGNvZGUKKyAgICAgICAgKFdlYkNvcmU6OkNsb25l
U2VyaWFsaXplcjo6ZW5kT2JqZWN0KToKKyAgICAgICAgICBDYW4ndCByZW1vdmUgb2JqZWN0cyBm
cm9tIHRoZSBnY2J1ZmZlciBub3cgYXMgdGhleSBuZWVkIHRvIHJlbWFpbiBsaXZlCisgICAgICAg
ICAgc28gd2UgY2FuIGlkZW50aWZ5IGdyYXBocworICAgICAgICAoV2ViQ29yZTo6Q2xvbmVTZXJp
YWxpemVyOjp3cml0ZVN0cmluZ0luZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lU2VyaWFs
aXplcjo6d3JpdGVPYmplY3RJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZVNlcmlhbGl6
ZXI6OndyaXRlQ29uc3RhbnRQb29sSW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVTZXJp
YWxpemVyOjp3cml0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZVNlcmlhbGl6ZXI6OnNlcmlh
bGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6cmVhZFN0cmluZ0lu
ZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJpYWxpemVyOjpyZWFkQ29uc3RhbnRQ
b29sSW5kZXgpOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6OnJlYWRUZXJt
aW5hbCk6CisgICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6ZGVzZXJpYWxpemUp
OgorCiAyMDEwLTEyLTIwICBBbmRyYXMgQmVjc2kgIDxhYmVjc2lAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCA2NWFiZDc1NGU3ZTliM2JlYzRjMDZlYTVkNjc5M2Yy
ZjM0MjgzN2ZmLi44ZGMwMmIzZWQxNDE0N2NmZjI2MTI2YzczMWQ3OTJjYjA0MDg3YTZiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC04Niwx
MSArODYsMTIgQEAgZW51bSBTZXJpYWxpemF0aW9uVGFnIHsKICAgICBTdHJpbmdUYWcgPSAxNiwK
ICAgICBFbXB0eVN0cmluZ1RhZyA9IDE3LAogICAgIFJlZ0V4cFRhZyA9IDE4LAorICAgIE9iamVj
dFJlZmVyZW5jZVRhZyA9IDE5LAogICAgIEVycm9yVGFnID0gMjU1CiB9OwogCiAKLXN0YXRpYyBj
b25zdCB1bnNpZ25lZCBpbnQgQ3VycmVudFZlcnNpb24gPSAxOworc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGludCBDdXJyZW50VmVyc2lvbiA9IDI7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IFRl
cm1pbmF0b3JUYWcgPSAweEZGRkZGRkZGOwogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBTdHJp
bmdQb29sVGFnID0gMHhGRkZGRkZGRTsKIApAQCAtOTgsOCArOTksOSBAQCBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgaW50IFN0cmluZ1Bvb2xUYWcgPSAweEZGRkZGRkZFOwogICogT2JqZWN0IHNlcmlh
bGl6YXRpb24gaXMgcGVyZm9ybWVkIGFjY29yZGluZyB0byB0aGUgZm9sbG93aW5nIGdyYW1tYXIs
IGFsbCB0YWdzCiAgKiBhcmUgcmVjb3JkZWQgYXMgYSBzaW5nbGUgdWludDhfdC4KICAqCi0gKiBJ
bmRleFR5cGUgKHVzZWQgZm9yIFN0cmluZ0RhdGEncyBjb25zdGFudCBwb29sKSBpcyB0aGUgc2l6
ZWQgdW5zaWduZWQgaW50ZWdlciB0eXBlCi0gKiByZXF1aXJlZCB0byByZXByZXNlbnQgdGhlIG1h
eGltdW0gaW5kZXggaW4gdGhlIGNvbnN0YW50IHBvb2wuCisgKiBJbmRleFR5cGUgKHVzZWQgZm9y
IHRoZSBvYmplY3QgcG9vbCBhbmQgU3RyaW5nRGF0YSdzIGNvbnN0YW50IHBvb2wpIGlzIHRoZQor
ICogbWluaW11bSBzaXplZCB1bnNpZ25lZCBpbnRlZ2VyIHR5cGUgcmVxdWlyZWQgdG8gcmVwcmVz
ZW50IHRoZSBtYXhpbXVtIGluZGV4CisgKiBpbiB0aGUgY29uc3RhbnQgcG9vbC4KICAqCiAgKiBT
ZXJpYWxpemVkVmFsdWUgOi0gPEN1cnJlbnRWZXJzaW9uOnVpbnQzMl90PiBWYWx1ZQogICogVmFs
dWUgOi0gQXJyYXkgfCBPYmplY3QgfCBUZXJtaW5hbApAQCAtMTI0LDYgKzEyNiw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBpbnQgU3RyaW5nUG9vbFRhZyA9IDB4RkZGRkZGRkU7CiAgKiAgICB8
IEZpbGVMaXN0CiAgKiAgICB8IEltYWdlRGF0YQogICogICAgfCBCbG9iCisgKiAgICB8IE9iamVj
dFJlZmVyZW5jZVRhZyA8b3BJbmRleDpJbmRleFR5cGU+CiAgKgogICogU3RyaW5nIDotCiAgKiAg
ICAgIEVtcHR5U3RyaW5nVGFnCkBAIC0yMzcsMzggKzI0MCw0NSBAQCBwcml2YXRlOgogICAgICAg
ICByZXR1cm4gaXNKU0FycmF5KCZtX2V4ZWMtPmdsb2JhbERhdGEoKSwgb2JqZWN0KSB8fCBvYmpl
Y3QtPmluaGVyaXRzKCZKU0FycmF5OjppbmZvKTsKICAgICB9CiAKLSAgICBib29sIHN0YXJ0T2Jq
ZWN0KEpTT2JqZWN0KiBvYmplY3QpCisgICAgYm9vbCBzdGFydE9iamVjdEludGVybmFsKEpTT2Jq
ZWN0KiBvYmplY3QpCiAgICAgewotICAgICAgICAvLyBDeWNsZSBkZXRlY3Rpb24KLSAgICAgICAg
aWYgKCFtX2N5Y2xlRGV0ZWN0b3IuYWRkKG9iamVjdCkuc2Vjb25kKSB7Ci0gICAgICAgICAgICB0
aHJvd0Vycm9yKG1fZXhlYywgY3JlYXRlVHlwZUVycm9yKG1fZXhlYywgIkNhbm5vdCBwb3N0IGN5
Y2xpYyBzdHJ1Y3R1cmVzLiIpKTsKKyAgICAgICAgLy8gUmVjb3JkIG9iamVjdCBmb3IgZ3JhcGgg
cmVjb25zdHJ1Y3Rpb24KKyAgICAgICAgcGFpcjxPYmplY3RQb29sOjppdGVyYXRvciwgYm9vbD4g
aXRlciA9IG1fb2JqZWN0UG9vbC5hZGQob2JqZWN0LCBtX29iamVjdFBvb2wuc2l6ZSgpKTsKKyAg
ICAgICAgCisgICAgICAgIC8vIEhhbmRsZSBkdXBsaWNhdGUgcmVmZXJlbmNlcworICAgICAgICBp
ZiAoIWl0ZXIuc2Vjb25kKSB7CisgICAgICAgICAgICB3cml0ZShPYmplY3RSZWZlcmVuY2VUYWcp
OworICAgICAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludDMyX3Q+KGl0ZXIuZmlyc3QtPnNl
Y29uZCkgPCBtX29iamVjdFBvb2wuc2l6ZSgpKTsKKyAgICAgICAgICAgIHdyaXRlT2JqZWN0SW5k
ZXgoaXRlci5maXJzdC0+c2Vjb25kKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAg
ICAgfQorICAgICAgICAKICAgICAgICAgbV9nY0J1ZmZlci5hcHBlbmQob2JqZWN0KTsKLSAgICAg
ICAgd3JpdGUoT2JqZWN0VGFnKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisgICAg
Ym9vbCBzdGFydE9iamVjdChKU09iamVjdCogb2JqZWN0KQorICAgIHsKKyAgICAgICAgaWYgKCFz
dGFydE9iamVjdEludGVybmFsKG9iamVjdCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIHdyaXRlKE9iamVjdFRhZyk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KIAog
ICAgIGJvb2wgc3RhcnRBcnJheShKU0FycmF5KiBhcnJheSkKICAgICB7Ci0gICAgICAgIC8vIEN5
Y2xlIGRldGVjdGlvbgotICAgICAgICBpZiAoIW1fY3ljbGVEZXRlY3Rvci5hZGQoYXJyYXkpLnNl
Y29uZCkgewotICAgICAgICAgICAgdGhyb3dFcnJvcihtX2V4ZWMsIGNyZWF0ZVR5cGVFcnJvciht
X2V4ZWMsICJDYW5ub3QgcG9zdCBjeWNsaWMgc3RydWN0dXJlcy4iKSk7CisgICAgICAgIGlmICgh
c3RhcnRPYmplY3RJbnRlcm5hbChhcnJheSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgICAgIH0KLSAgICAgICAgbV9nY0J1ZmZlci5hcHBlbmQoYXJyYXkpOworCiAgICAgICAgIHVu
c2lnbmVkIGxlbmd0aCA9IGFycmF5LT5sZW5ndGgoKTsKICAgICAgICAgd3JpdGUoQXJyYXlUYWcp
OwogICAgICAgICB3cml0ZShsZW5ndGgpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAK
LSAgICB2b2lkIGVuZE9iamVjdChKU09iamVjdCogb2JqZWN0KQorICAgIHZvaWQgZW5kT2JqZWN0
KCkKICAgICB7CiAgICAgICAgIHdyaXRlKFRlcm1pbmF0b3JUYWcpOwotICAgICAgICBtX2N5Y2xl
RGV0ZWN0b3IucmVtb3ZlKG9iamVjdCk7Ci0gICAgICAgIG1fZ2NCdWZmZXIucmVtb3ZlTGFzdCgp
OwogICAgIH0KIAogICAgIEpTVmFsdWUgZ2V0U3BhcnNlSW5kZXgoSlNBcnJheSogYXJyYXksIHVu
c2lnbmVkIHByb3BlcnR5TmFtZSwgYm9vbCYgaGFzSW5kZXgpCkBAIC00OTMsOSArNTAzLDIwIEBA
IHByaXZhdGU6CiAKICAgICB2b2lkIHdyaXRlU3RyaW5nSW5kZXgodW5zaWduZWQgaSkKICAgICB7
Ci0gICAgICAgIGlmIChtX2NvbnN0YW50UG9vbC5zaXplKCkgPD0gMHhGRikKKyAgICAgICAgd3Jp
dGVDb25zdGFudFBvb2xJbmRleChtX2NvbnN0YW50UG9vbCwgaSk7CisgICAgfQorICAgIAorICAg
IHZvaWQgd3JpdGVPYmplY3RJbmRleCh1bnNpZ25lZCBpKQorICAgIHsKKyAgICAgICAgd3JpdGVD
b25zdGFudFBvb2xJbmRleChtX29iamVjdFBvb2wsIGkpOworICAgIH0KKworICAgIHRlbXBsYXRl
IDxjbGFzcyBUPiB2b2lkIHdyaXRlQ29uc3RhbnRQb29sSW5kZXgoY29uc3QgVCYgY29uc3RhbnRQ
b29sLCB1bnNpZ25lZCBpKQorICAgIHsKKyAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludDMy
X3Q+KGkpIDwgY29uc3RhbnRQb29sLnNpemUoKSk7CisgICAgICAgIGlmIChjb25zdGFudFBvb2wu
c2l6ZSgpIDw9IDB4RkYpCiAgICAgICAgICAgICB3cml0ZShzdGF0aWNfY2FzdDx1aW50OF90Pihp
KSk7Ci0gICAgICAgIGVsc2UgaWYgKG1fY29uc3RhbnRQb29sLnNpemUoKSA8PSAweEZGRkYpCisg
ICAgICAgIGVsc2UgaWYgKGNvbnN0YW50UG9vbC5zaXplKCkgPD0gMHhGRkZGKQogICAgICAgICAg
ICAgd3JpdGUoc3RhdGljX2Nhc3Q8dWludDE2X3Q+KGkpKTsKICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgd3JpdGUoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGkpKTsKQEAgLTUwNCw3ICs1MjUsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgd3JpdGUoY29uc3QgSWRlbnRpZmllciYgaWRlbnQpCiAgICAg
ewogICAgICAgICBVU3RyaW5nIHN0ciA9IGlkZW50LnVzdHJpbmcoKTsKLSAgICAgICAgcGFpcjxD
b25zdGFudFBvb2w6Oml0ZXJhdG9yLCBib29sPiBpdGVyID0gbV9jb25zdGFudFBvb2wuYWRkKHN0
ci5pbXBsKCksIG1fY29uc3RhbnRQb29sLnNpemUoKSk7CisgICAgICAgIHBhaXI8U3RyaW5nQ29u
c3RhbnRQb29sOjppdGVyYXRvciwgYm9vbD4gaXRlciA9IG1fY29uc3RhbnRQb29sLmFkZChzdHIu
aW1wbCgpLCBtX2NvbnN0YW50UG9vbC5zaXplKCkpOwogICAgICAgICBpZiAoIWl0ZXIuc2Vjb25k
KSB7CiAgICAgICAgICAgICB3cml0ZShTdHJpbmdQb29sVGFnKTsKICAgICAgICAgICAgIHdyaXRl
U3RyaW5nSW5kZXgoaXRlci5maXJzdC0+c2Vjb25kKTsKQEAgLTU1OCw5ICs1NzksMTAgQEAgcHJp
dmF0ZToKICAgICB9CiAKICAgICBWZWN0b3I8dWludDhfdD4mIG1fYnVmZmVyOwotICAgIEhhc2hT
ZXQ8SlNPYmplY3QqPiBtX2N5Y2xlRGV0ZWN0b3I7Ci0gICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0
cjxTdHJpbmdJbXBsPiwgdWludDMyX3QsIElkZW50aWZpZXJSZXBIYXNoPiBDb25zdGFudFBvb2w7
Ci0gICAgQ29uc3RhbnRQb29sIG1fY29uc3RhbnRQb29sOworICAgIHR5cGVkZWYgSGFzaE1hcDxK
U09iamVjdCosIHVpbnQzMl90PiBPYmplY3RQb29sOworICAgIE9iamVjdFBvb2wgbV9vYmplY3RQ
b29sOworICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIHVpbnQzMl90LCBJ
ZGVudGlmaWVyUmVwSGFzaD4gU3RyaW5nQ29uc3RhbnRQb29sOworICAgIFN0cmluZ0NvbnN0YW50
UG9vbCBtX2NvbnN0YW50UG9vbDsKICAgICBJZGVudGlmaWVyIG1fZW1wdHlJZGVudGlmaWVyOwog
fTsKIApAQCAtNTg4LDcgKzYxMCw3IEBAIGJvb2wgQ2xvbmVTZXJpYWxpemVyOjpzZXJpYWxpemUo
SlNWYWx1ZSBpbikKICAgICAgICAgICAgICAgICBKU0FycmF5KiBpbkFycmF5ID0gYXNBcnJheShp
blZhbHVlKTsKICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSBpbkFycmF5LT5sZW5n
dGgoKTsKICAgICAgICAgICAgICAgICBpZiAoIXN0YXJ0QXJyYXkoaW5BcnJheSkpCi0gICAgICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICAgICAgaW5wdXRBcnJheVN0YWNrLmFwcGVuZChpbkFycmF5KTsKICAgICAgICAg
ICAgICAgICBpbmRleFN0YWNrLmFwcGVuZCgwKTsKICAgICAgICAgICAgICAgICBsZW5ndGhTdGFj
ay5hcHBlbmQobGVuZ3RoKTsKQEAgLTYwNyw3ICs2MjksNyBAQCBib29sIENsb25lU2VyaWFsaXpl
cjo6c2VyaWFsaXplKEpTVmFsdWUgaW4pCiAgICAgICAgICAgICAgICAgSlNBcnJheSogYXJyYXkg
PSBpbnB1dEFycmF5U3RhY2subGFzdCgpOwogICAgICAgICAgICAgICAgIHVpbnQzMl90IGluZGV4
ID0gaW5kZXhTdGFjay5sYXN0KCk7CiAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID09IGxlbmd0
aFN0YWNrLmxhc3QoKSkgewotICAgICAgICAgICAgICAgICAgICBlbmRPYmplY3QoYXJyYXkpOwor
ICAgICAgICAgICAgICAgICAgICBlbmRPYmplY3QoKTsKICAgICAgICAgICAgICAgICAgICAgaW5w
dXRBcnJheVN0YWNrLnJlbW92ZUxhc3QoKTsKICAgICAgICAgICAgICAgICAgICAgaW5kZXhTdGFj
ay5yZW1vdmVMYXN0KCk7CiAgICAgICAgICAgICAgICAgICAgIGxlbmd0aFN0YWNrLnJlbW92ZUxh
c3QoKTsKQEAgLTY0NSw3ICs2NjcsNyBAQCBib29sIENsb25lU2VyaWFsaXplcjo6c2VyaWFsaXpl
KEpTVmFsdWUgaW4pCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIEpTT2JqZWN0
KiBpbk9iamVjdCA9IGFzT2JqZWN0KGluVmFsdWUpOwogICAgICAgICAgICAgICAgIGlmICghc3Rh
cnRPYmplY3QoaW5PYmplY3QpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGlucHV0T2JqZWN0U3Rh
Y2suYXBwZW5kKGluT2JqZWN0KTsKICAgICAgICAgICAgICAgICBpbmRleFN0YWNrLmFwcGVuZCgw
KTsKICAgICAgICAgICAgICAgICBwcm9wZXJ0eVN0YWNrLmFwcGVuZChQcm9wZXJ0eU5hbWVBcnJh
eShtX2V4ZWMpKTsKQEAgLTY2Niw3ICs2ODgsNyBAQCBib29sIENsb25lU2VyaWFsaXplcjo6c2Vy
aWFsaXplKEpTVmFsdWUgaW4pCiAgICAgICAgICAgICAgICAgdWludDMyX3QgaW5kZXggPSBpbmRl
eFN0YWNrLmxhc3QoKTsKICAgICAgICAgICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVy
dGllcyA9IHByb3BlcnR5U3RhY2subGFzdCgpOwogICAgICAgICAgICAgICAgIGlmIChpbmRleCA9
PSBwcm9wZXJ0aWVzLnNpemUoKSkgewotICAgICAgICAgICAgICAgICAgICBlbmRPYmplY3Qob2Jq
ZWN0KTsKKyAgICAgICAgICAgICAgICAgICAgZW5kT2JqZWN0KCk7CiAgICAgICAgICAgICAgICAg
ICAgIGlucHV0T2JqZWN0U3RhY2sucmVtb3ZlTGFzdCgpOwogICAgICAgICAgICAgICAgICAgICBp
bmRleFN0YWNrLnJlbW92ZUxhc3QoKTsKICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlTdGFj
ay5yZW1vdmVMYXN0KCk7CkBAIC05MDQsMTQgKzkyNiwxOSBAQCBwcml2YXRlOgogCiAgICAgYm9v
bCByZWFkU3RyaW5nSW5kZXgodWludDMyX3QmIGkpCiAgICAgewotICAgICAgICBpZiAobV9jb25z
dGFudFBvb2wuc2l6ZSgpIDw9IDB4RkYpIHsKKyAgICAgICAgcmV0dXJuIHJlYWRDb25zdGFudFBv
b2xJbmRleChtX2NvbnN0YW50UG9vbCwgaSk7CisgICAgfQorCisgICAgdGVtcGxhdGUgPGNsYXNz
IFQ+IGJvb2wgcmVhZENvbnN0YW50UG9vbEluZGV4KGNvbnN0IFQmIGNvbnN0YW50UG9vbCwgdWlu
dDMyX3QmIGkpCisgICAgeworICAgICAgICBpZiAoY29uc3RhbnRQb29sLnNpemUoKSA8PSAweEZG
KSB7CiAgICAgICAgICAgICB1aW50OF90IGk4OwogICAgICAgICAgICAgaWYgKCFyZWFkKGk4KSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBpID0gaTg7CiAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQotICAgICAgICBpZiAobV9jb25zdGFudFBv
b2wuc2l6ZSgpIDw9IDB4RkZGRikgeworICAgICAgICBpZiAoY29uc3RhbnRQb29sLnNpemUoKSA8
PSAweEZGRkYpIHsKICAgICAgICAgICAgIHVpbnQxNl90IGkxNjsKICAgICAgICAgICAgIGlmICgh
cmVhZChpMTYpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTExNDIsNiArMTE2
OSwxNCBAQCBwcml2YXRlOgogICAgICAgICAgICAgUmVmUHRyPFJlZ0V4cD4gcmVnRXhwID0gUmVn
RXhwOjpjcmVhdGUoJm1fZXhlYy0+Z2xvYmFsRGF0YSgpLCBwYXR0ZXJuLT51c3RyaW5nKCksIGZs
YWdzLT51c3RyaW5nKCkpOwogICAgICAgICAgICAgcmV0dXJuIG5ldyAobV9leGVjKSBSZWdFeHBP
YmplY3QobV9leGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIG1fZ2xvYmFsT2JqZWN0LT5yZWdF
eHBTdHJ1Y3R1cmUoKSwgcmVnRXhwKTsgCiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBPYmplY3RS
ZWZlcmVuY2VUYWc6IHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAgICAg
ICAgIGlmICghcmVhZENvbnN0YW50UG9vbEluZGV4KG1fZ2NCdWZmZXIsIGluZGV4KSkgeworICAg
ICAgICAgICAgICAgIGZhaWwoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIG1fZ2NCdWZmZXIuYXQoaW5kZXgpOwor
ICAgICAgICB9CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBtX3B0ci0tOyAvLyBQdXNo
IHRoZSB0YWcgYmFjawogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKQEAgLTExOTksNyAr
MTIzNCw2IEBAIEpTVmFsdWUgQ2xvbmVEZXNlcmlhbGl6ZXI6OmRlc2VyaWFsaXplKCkKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGlmIChpbmRleCA9PSBUZXJtaW5hdG9yVGFnKSB7CiAgICAg
ICAgICAgICAgICAgSlNBcnJheSogb3V0QXJyYXkgPSBvdXRwdXRBcnJheVN0YWNrLmxhc3QoKTsK
LSAgICAgICAgICAgICAgICBtX2djQnVmZmVyLnJlbW92ZUxhc3QoKTsKICAgICAgICAgICAgICAg
ICBvdXRWYWx1ZSA9IG91dEFycmF5OwogICAgICAgICAgICAgICAgIG91dHB1dEFycmF5U3RhY2su
cmVtb3ZlTGFzdCgpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTI0OCw3ICsxMjgyLDYg
QEAgSlNWYWx1ZSBDbG9uZURlc2VyaWFsaXplcjo6ZGVzZXJpYWxpemUoKQogICAgICAgICAgICAg
ICAgIGlmICghd2FzVGVybWluYXRvcikKICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsK
ICAgICAgICAgICAgICAgICBKU09iamVjdCogb3V0T2JqZWN0ID0gb3V0cHV0T2JqZWN0U3RhY2su
bGFzdCgpOwotICAgICAgICAgICAgICAgIG1fZ2NCdWZmZXIucmVtb3ZlTGFzdCgpOwogICAgICAg
ICAgICAgICAgIG91dFZhbHVlID0gb3V0T2JqZWN0OwogICAgICAgICAgICAgICAgIG91dHB1dE9i
amVjdFN0YWNrLnJlbW92ZUxhc3QoKTsKICAgICAgICAgICAgICAgICBicmVhazsK
</data>
<flag name="review"
          id="68076"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>