<?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>78576</bug_id>
          
          <creation_ts>2012-02-13 22:41:15 -0800</creation_ts>
          <short_desc>[WebSocket] WebSocketChannel minor refactoring for code manageability</short_desc>
          <delta_ts>2012-02-14 22:39:56 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>78459</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Takashi Toyoshima">toyoshim</reporter>
          <assigned_to name="Takashi Toyoshima">toyoshim</assigned_to>
          <cc>ap</cc>
    
    <cc>bashi</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>555966</commentid>
    <comment_count>0</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-02-13 22:41:15 -0800</bug_when>
    <thetext>Currently, WebSocketChannel hold ScriptExecutionContext as m_context.
But, in many situation, we assume it must be a inheritance of Document and use static cast.
Actually, it is true for now, but could be dangerous against future code change.
This refactoring make that WebSocketChannel hold it as Document* m_document.
It reduces static cast chances.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555977</commentid>
    <comment_count>1</comment_count>
      <attachid>126912</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-02-13 22:52:45 -0800</bug_when>
    <thetext>Created attachment 126912
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555979</commentid>
    <comment_count>2</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-02-13 22:56:00 -0800</bug_when>
    <thetext>This is the refactoring Kent-san suggest in review for 78460.
That change itself contains wrong direction, but this refactoring could be independent from that, and looks reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555994</commentid>
    <comment_count>3</comment_count>
      <attachid>126912</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-02-13 23:29:13 -0800</bug_when>
    <thetext>Comment on attachment 126912
Patch

Attachment 126912 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11518157</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556018</commentid>
    <comment_count>4</comment_count>
      <attachid>126912</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2012-02-13 23:54:21 -0800</bug_when>
    <thetext>Comment on attachment 126912
Patch

Seems fine. [Note: I don&apos;t have r+ privilege.]

However, some bots look unhappy with your patch, so please investigate it. I think you just need some more #includes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556024</commentid>
    <comment_count>5</comment_count>
      <attachid>126920</attachid>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-02-13 23:58:16 -0800</bug_when>
    <thetext>Created attachment 126920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556028</commentid>
    <comment_count>6</comment_count>
    <who name="Takashi Toyoshima">toyoshim</who>
    <bug_when>2012-02-14 00:05:34 -0800</bug_when>
    <thetext>I hope the second one fix the compilation issue.
I just add #include &quot;Document.h&quot; for static_cast&lt;Document*&gt; in two source files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556722</commentid>
    <comment_count>7</comment_count>
      <attachid>126920</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-14 15:53:42 -0800</bug_when>
    <thetext>Comment on attachment 126920
Patch

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556939</commentid>
    <comment_count>8</comment_count>
      <attachid>126920</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-14 22:39:51 -0800</bug_when>
    <thetext>Comment on attachment 126920
Patch

Clearing flags on attachment: 126920

Committed r107780: &lt;http://trac.webkit.org/changeset/107780&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556940</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-14 22:39:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126912</attachid>
            <date>2012-02-13 22:52:45 -0800</date>
            <delta_ts>2012-02-13 23:58:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78576-20120214155244.patch</filename>
            <type>text/plain</type>
            <size>15006</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2IxNjU3OTI2M2UwYjU5
NThiYTlhZDk1MTY3YmI3NWFmMWYzNzQzZi4uN2U2NThkNTFmYTAyYmY5MDBiYzUyZjhhZTdmOWVj
MTI2NjNmMTlmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTAyLTEzICBUYWth
c2hpIFRveW9zaGltYSAgPHRveW9zaGltQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJTb2Nr
ZXRDaGFubmVsIG1pbm9yIHJlZmFjdG9yaW5nIGZvciBjb2RlIG1hbmFnZWFiaWxpdHkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTc2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIHRoZSBmaXJz
dCBhcmd1bWVudCB0eXBlIG9mIFdlYlNvY2tldENoYW5uZWwKKyAgICAgICAgZnJvbSBTY3JpcHRF
eGVjdXRpb25Db250ZXh0IHRvIERvY3VtZW50LgorICAgICAgICBXZWJTb2NrZXRDaGFubmVsIGFs
d2F5cyBhc3N1bWUgdGhpcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0IG11c3QKKyAgICAgICAgaW5o
ZXJpdCBEb2N1bWVudC4gVGhlbiwgaXQgcmVzdWx0cyBpbiBtYW55IHN0YXRpYyBjYXN0LgorICAg
ICAgICBJdCBpc24ndCByZWFkYWJsZSBhbmQgZGFuZ2Vyb3VzIGFnYWluc3QgZnV0dXJlIGNvZGUg
Y2hhbmdlcy4KKworICAgICAgICAqIHdlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWwuY3BwOiBQYXNzIHRoZSBmaXJzdCBhcmd1bWVudCBmb3IgV2ViU29ja2V0Q2hhbm5lbCBhcyBE
b2N1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpj
cmVhdGUpOgorICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6IFJlcGxh
Y2UgYWxsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1fY29udGV4dCBkZXNjcmlwdGlvbnMgdG8g
RG9jdW1lbnQqIG1fZG9jdW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVs
OjpXZWJTb2NrZXRDaGFubmVsKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6
OmNvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZmFpbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpkaXNjb25uZWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZE9wZW5Tb2NrZXRTdHJlYW0pOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZGlkQ2xvc2VTb2NrZXRTdHJlYW0pOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZGlkUmVjZWl2ZVNvY2tldFN0cmVhbURh
dGEpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZGlkRmFpbFNvY2tldFN0
cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpwcm9jZXNzQnVmZmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OnByb2Nlc3NPdXRnb2luZ0Zy
YW1lUXVldWUpOgorICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oOiBDaGFu
Z2UgdGhlIGZpcnN0IGFyZ3VtZW50IGZvciBjb25zdHJ1Y3Rpb24gdG8gRG9jdW1lbnQgYW5kIGhv
bGQgaXQgYXMgRG9jdW1lbnQgbV9kb2N1bWVudC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYlNvY2tl
dENoYW5uZWwpOgorICAgICAgICAqIHdlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWwuY3BwOiBQYXNzIHRoZSBmaXJzdCBhcmd1bWVudCBmb3IgV2ViU29ja2V0Q2hhbm5l
bCBhcyBEb2N1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsOjpQZWVyOjpQZWVyKToKKwogMjAxMi0wMi0xMyAgVG9ueSBDaGFuZyAgPHRvbnlA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDc1ODIu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuY3BwCmluZGV4IDE3ZjI0ZmI0ZGU0M2EyNzAyZWI5NDcxYjYzZDY3MjIzYWU4
MWIxMjMuLmJlZDhjN2U2Yjg1M2IzODlkOTU3ZGVmMWYxNGRhYjU5NWZkOTVkODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29n
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAx
MiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKQEAgLTY2LDcgKzY2LDcgQEAgUGFzc1JlZlB0cjxUaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbD4gVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw6OmNyZWF0ZShTY3JpcHQK
ICNlbmRpZiAvLyBFTkFCTEUoV09SS0VSUykKIAogICAgIEFTU0VSVChjb250ZXh0LT5pc0RvY3Vt
ZW50KCkpOwotICAgIHJldHVybiBXZWJTb2NrZXRDaGFubmVsOjpjcmVhdGUoY29udGV4dCwgY2xp
ZW50KTsKKyAgICByZXR1cm4gV2ViU29ja2V0Q2hhbm5lbDo6Y3JlYXRlKHN0YXRpY19jYXN0PERv
Y3VtZW50Kj4oY29udGV4dCksIGNsaWVudCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4
IDUzNDM2ZTM5YWViNjc2YTM1OTE4OGNjMTBiZjNjNjQ2M2ZhN2YwYmYuLmY2MGE3NjE2Y2FiMDkw
OWUyMWJmNWY2ZjdiMmIwNmFkOGJjZTMxMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dl
YnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd2Vic29j
a2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEsIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC04OCw4ICs4OCw4IEBAIGNvbnN0IFdl
YlNvY2tldENoYW5uZWw6Ok9wQ29kZSBXZWJTb2NrZXRDaGFubmVsOjpPcENvZGVDbG9zZSA9IDB4
ODsKIGNvbnN0IFdlYlNvY2tldENoYW5uZWw6Ok9wQ29kZSBXZWJTb2NrZXRDaGFubmVsOjpPcENv
ZGVQaW5nID0gMHg5OwogY29uc3QgV2ViU29ja2V0Q2hhbm5lbDo6T3BDb2RlIFdlYlNvY2tldENo
YW5uZWw6Ok9wQ29kZVBvbmcgPSAweEE7CiAKLVdlYlNvY2tldENoYW5uZWw6OldlYlNvY2tldENo
YW5uZWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV2ViU29ja2V0Q2hhbm5lbENs
aWVudCogY2xpZW50KQotICAgIDogbV9jb250ZXh0KGNvbnRleHQpCitXZWJTb2NrZXRDaGFubmVs
OjpXZWJTb2NrZXRDaGFubmVsKERvY3VtZW50KiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENs
aWVudCogY2xpZW50KQorICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKICAgICAsIG1fY2xpZW50
KGNsaWVudCkKICAgICAsIG1fYnVmZmVyKDApCiAgICAgLCBtX2J1ZmZlclNpemUoMCkKQEAgLTEx
MCwxMiArMTEwLDEwIEBAIFdlYlNvY2tldENoYW5uZWw6OldlYlNvY2tldENoYW5uZWwoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV2ViU29ja2V0Q2hhCiAgICAgLCBtX2Jsb2JMb2Fk
ZXJTdGF0dXMoQmxvYkxvYWRlck5vdFN0YXJ0ZWQpCiAjZW5kaWYKIHsKLSAgICBBU1NFUlQobV9j
b250ZXh0LT5pc0RvY3VtZW50KCkpOwotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19j
YXN0PERvY3VtZW50Kj4obV9jb250ZXh0KTsKLSAgICBpZiAoU2V0dGluZ3MqIHNldHRpbmdzID0g
ZG9jdW1lbnQtPnNldHRpbmdzKCkpCisgICAgaWYgKFNldHRpbmdzKiBzZXR0aW5ncyA9IG1fZG9j
dW1lbnQtPnNldHRpbmdzKCkpCiAgICAgICAgIG1fdXNlSGl4aWU3NlByb3RvY29sID0gc2V0dGlu
Z3MtPnVzZUhpeGllNzZXZWJTb2NrZXRQcm90b2NvbCgpOwogCi0gICAgaWYgKFBhZ2UqIHBhZ2Ug
PSBkb2N1bWVudC0+cGFnZSgpKQorICAgIGlmIChQYWdlKiBwYWdlID0gbV9kb2N1bWVudC0+cGFn
ZSgpKQogICAgICAgICBtX2lkZW50aWZpZXIgPSBwYWdlLT5wcm9ncmVzcygpLT5jcmVhdGVVbmlx
dWVJZGVudGlmaWVyKCk7CiB9CiAKQEAgLTEzNCwxMCArMTMyLDEwIEBAIHZvaWQgV2ViU29ja2V0
Q2hhbm5lbDo6Y29ubmVjdChjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wp
CiAgICAgTE9HKE5ldHdvcmssICJXZWJTb2NrZXRDaGFubmVsICVwIGNvbm5lY3QiLCB0aGlzKTsK
ICAgICBBU1NFUlQoIW1faGFuZGxlKTsKICAgICBBU1NFUlQoIW1fc3VzcGVuZGVkKTsKLSAgICBt
X2hhbmRzaGFrZSA9IGFkb3B0UHRyKG5ldyBXZWJTb2NrZXRIYW5kc2hha2UodXJsLCBwcm90b2Nv
bCwgbV9jb250ZXh0LCBtX3VzZUhpeGllNzZQcm90b2NvbCkpOworICAgIG1faGFuZHNoYWtlID0g
YWRvcHRQdHIobmV3IFdlYlNvY2tldEhhbmRzaGFrZSh1cmwsIHByb3RvY29sLCBtX2RvY3VtZW50
LCBtX3VzZUhpeGllNzZQcm90b2NvbCkpOwogICAgIG1faGFuZHNoYWtlLT5yZXNldCgpOwogICAg
IGlmIChtX2lkZW50aWZpZXIpCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
Q3JlYXRlV2ViU29ja2V0KG1fY29udGV4dCwgbV9pZGVudGlmaWVyLCB1cmwsIG1fY29udGV4dC0+
dXJsKCkpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZVdlYlNv
Y2tldChtX2RvY3VtZW50LCBtX2lkZW50aWZpZXIsIHVybCwgbV9kb2N1bWVudC0+dXJsKCkpOwog
ICAgIHJlZigpOwogICAgIG1faGFuZGxlID0gU29ja2V0U3RyZWFtSGFuZGxlOjpjcmVhdGUobV9o
YW5kc2hha2UtPnVybCgpLCB0aGlzKTsKIH0KQEAgLTIxNyw4ICsyMTUsOCBAQCB2b2lkIFdlYlNv
Y2tldENoYW5uZWw6OmZhaWwoY29uc3QgU3RyaW5nJiByZWFzb24pCiB7CiAgICAgTE9HKE5ldHdv
cmssICJXZWJTb2NrZXRDaGFubmVsICVwIGZhaWw6ICVzIiwgdGhpcywgcmVhc29uLnV0ZjgoKS5k
YXRhKCkpOwogICAgIEFTU0VSVCghbV9zdXNwZW5kZWQpOwotICAgIGlmIChtX2NvbnRleHQpCi0g
ICAgICAgIG1fY29udGV4dC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dN
ZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIHJlYXNvbiwgbV9oYW5kc2hha2UtPmNsaWVu
dE9yaWdpbigpKTsKKyAgICBpZiAobV9kb2N1bWVudCkKKyAgICAgICAgbV9kb2N1bWVudC0+YWRk
Q29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsIHJlYXNvbiwgbV9oYW5kc2hha2UtPmNsaWVudE9yaWdpbigpKTsKICAgICBpZiAo
IW1fdXNlSGl4aWU3NlByb3RvY29sKSB7CiAgICAgICAgIC8vIEh5YmktMTAgc3BlY2lmaWNhdGlv
biBleHBsaWNpdGx5IHN0YXRlcyB3ZSBtdXN0IG5vdCBjb250aW51ZSB0byBoYW5kbGUgaW5jb21p
bmcgZGF0YQogICAgICAgICAvLyBvbmNlIHRoZSBXZWJTb2NrZXQgY29ubmVjdGlvbiBpcyBmYWls
ZWQgKHNlY3Rpb24gNy4xLjcpLgpAQCAtMjM2LDEyICsyMzQsMTIgQEAgdm9pZCBXZWJTb2NrZXRD
aGFubmVsOjpmYWlsKGNvbnN0IFN0cmluZyYgcmVhc29uKQogdm9pZCBXZWJTb2NrZXRDaGFubmVs
OjpkaXNjb25uZWN0KCkKIHsKICAgICBMT0coTmV0d29yaywgIldlYlNvY2tldENoYW5uZWwgJXAg
ZGlzY29ubmVjdCIsIHRoaXMpOwotICAgIGlmIChtX2lkZW50aWZpZXIgJiYgbV9jb250ZXh0KQot
ICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENsb3NlV2ViU29ja2V0KG1fY29u
dGV4dCwgbV9pZGVudGlmaWVyKTsKKyAgICBpZiAobV9pZGVudGlmaWVyICYmIG1fZG9jdW1lbnQp
CisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2xvc2VXZWJTb2NrZXQobV9k
b2N1bWVudCwgbV9pZGVudGlmaWVyKTsKICAgICBpZiAobV9oYW5kc2hha2UpCiAgICAgICAgIG1f
aGFuZHNoYWtlLT5jbGVhclNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBtX2NsaWVudCA9
IDA7Ci0gICAgbV9jb250ZXh0ID0gMDsKKyAgICBtX2RvY3VtZW50ID0gMDsKICAgICBpZiAobV9o
YW5kbGUpCiAgICAgICAgIG1faGFuZGxlLT5kaXNjb25uZWN0KCk7CiB9CkBAIC0yNjIsMTAgKzI2
MCwxMCBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZE9wZW5Tb2NrZXRTdHJlYW0oU29ja2V0
U3RyZWFtSGFuZGxlKiBoYW5kbGUpCiB7CiAgICAgTE9HKE5ldHdvcmssICJXZWJTb2NrZXRDaGFu
bmVsICVwIGRpZE9wZW5Tb2NrZXRTdHJlYW0iLCB0aGlzKTsKICAgICBBU1NFUlQoaGFuZGxlID09
IG1faGFuZGxlKTsKLSAgICBpZiAoIW1fY29udGV4dCkKKyAgICBpZiAoIW1fZG9jdW1lbnQpCiAg
ICAgICAgIHJldHVybjsKICAgICBpZiAobV9pZGVudGlmaWVyKQotICAgICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OndpbGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdChtX2NvbnRl
eHQsIG1faWRlbnRpZmllciwgbV9oYW5kc2hha2UtPmNsaWVudEhhbmRzaGFrZVJlcXVlc3QoKSk7
CisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFNlbmRXZWJTb2NrZXRIYW5k
c2hha2VSZXF1ZXN0KG1fZG9jdW1lbnQsIG1faWRlbnRpZmllciwgbV9oYW5kc2hha2UtPmNsaWVu
dEhhbmRzaGFrZVJlcXVlc3QoKSk7CiAgICAgQ1N0cmluZyBoYW5kc2hha2VNZXNzYWdlID0gbV9o
YW5kc2hha2UtPmNsaWVudEhhbmRzaGFrZU1lc3NhZ2UoKTsKICAgICBpZiAoIWhhbmRsZS0+c2Vu
ZChoYW5kc2hha2VNZXNzYWdlLmRhdGEoKSwgaGFuZHNoYWtlTWVzc2FnZS5sZW5ndGgoKSkpCiAg
ICAgICAgIGZhaWwoIkZhaWxlZCB0byBzZW5kIFdlYlNvY2tldCBoYW5kc2hha2UuIik7CkBAIC0y
NzQsOCArMjcyLDggQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRPcGVuU29ja2V0U3RyZWFt
KFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlKQogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRD
bG9zZVNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUqIGhhbmRsZSkKIHsKICAgICBMT0co
TmV0d29yaywgIldlYlNvY2tldENoYW5uZWwgJXAgZGlkQ2xvc2VTb2NrZXRTdHJlYW0iLCB0aGlz
KTsKLSAgICBpZiAobV9pZGVudGlmaWVyICYmIG1fY29udGV4dCkKLSAgICAgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRDbG9zZVdlYlNvY2tldChtX2NvbnRleHQsIG1faWRlbnRpZmll
cik7CisgICAgaWYgKG1faWRlbnRpZmllciAmJiBtX2RvY3VtZW50KQorICAgICAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZENsb3NlV2ViU29ja2V0KG1fZG9jdW1lbnQsIG1faWRlbnRp
Zmllcik7CiAgICAgQVNTRVJUX1VOVVNFRChoYW5kbGUsIGhhbmRsZSA9PSBtX2hhbmRsZSB8fCAh
bV9oYW5kbGUpOwogICAgIG1fY2xvc2VkID0gdHJ1ZTsKICAgICBpZiAobV9jbG9zaW5nVGltZXIu
aXNBY3RpdmUoKSkKQEAgLTI4OCw3ICsyODYsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRp
ZENsb3NlU29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlKQogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQgPSBtX2Ns
aWVudDsKICAgICAgICAgbV9jbGllbnQgPSAwOwotICAgICAgICBtX2NvbnRleHQgPSAwOworICAg
ICAgICBtX2RvY3VtZW50ID0gMDsKICAgICAgICAgbV9oYW5kbGUgPSAwOwogICAgICAgICBpZiAo
Y2xpZW50KQogICAgICAgICAgICAgY2xpZW50LT5kaWRDbG9zZShtX3VuaGFuZGxlZEJ1ZmZlcmVk
QW1vdW50LCBtX3JlY2VpdmVkQ2xvc2luZ0hhbmRzaGFrZSA/IFdlYlNvY2tldENoYW5uZWxDbGll
bnQ6OkNsb3NpbmdIYW5kc2hha2VDb21wbGV0ZSA6IFdlYlNvY2tldENoYW5uZWxDbGllbnQ6OkNs
b3NpbmdIYW5kc2hha2VJbmNvbXBsZXRlLCBtX2Nsb3NlRXZlbnRDb2RlLCBtX2Nsb3NlRXZlbnRS
ZWFzb24pOwpAQCAtMzAxLDcgKzI5OSw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkUmVj
ZWl2ZVNvY2tldFN0cmVhbURhdGEoU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvCiAgICAg
TE9HKE5ldHdvcmssICJXZWJTb2NrZXRDaGFubmVsICVwIGRpZFJlY2VpdmVTb2NrZXRTdHJlYW1E
YXRhICVkIiwgdGhpcywgbGVuKTsKICAgICBSZWZQdHI8V2ViU29ja2V0Q2hhbm5lbD4gcHJvdGVj
dCh0aGlzKTsgLy8gVGhlIGNsaWVudCBjYW4gY2xvc2UgdGhlIGNoYW5uZWwsIHBvdGVudGlhbGx5
IHJlbW92aW5nIHRoZSBsYXN0IHJlZmVyZW5jZS4KICAgICBBU1NFUlQoaGFuZGxlID09IG1faGFu
ZGxlKTsKLSAgICBpZiAoIW1fY29udGV4dCkgeworICAgIGlmICghbV9kb2N1bWVudCkgewogICAg
ICAgICByZXR1cm47CiAgICAgfQogICAgIGlmIChsZW4gPD0gMCkgewpAQCAtMzM1LDcgKzMzMyw3
IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkRmFpbFNvY2tldFN0cmVhbShTb2NrZXRTdHJl
YW1IYW5kbGUqIGhhbmRsZSwgY29uc3QgU29jCiB7CiAgICAgTE9HKE5ldHdvcmssICJXZWJTb2Nr
ZXRDaGFubmVsICVwIGRpZEZhaWxTb2NrZXRTdHJlYW0iLCB0aGlzKTsKICAgICBBU1NFUlQoaGFu
ZGxlID09IG1faGFuZGxlIHx8ICFtX2hhbmRsZSk7Ci0gICAgaWYgKG1fY29udGV4dCkgeworICAg
IGlmIChtX2RvY3VtZW50KSB7CiAgICAgICAgIFN0cmluZyBtZXNzYWdlOwogICAgICAgICBpZiAo
ZXJyb3IuaXNOdWxsKCkpCiAgICAgICAgICAgICBtZXNzYWdlID0gIldlYlNvY2tldCBuZXR3b3Jr
IGVycm9yIjsKQEAgLTM0Nyw3ICszNDUsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZEZh
aWxTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFNvYwogICAg
ICAgICBBU1NFUlQoZmFpbGluZ1VSTC5pc051bGwoKSB8fCBtX2hhbmRzaGFrZS0+dXJsKCkuc3Ry
aW5nKCkgPT0gZmFpbGluZ1VSTCk7CiAgICAgICAgIGlmIChmYWlsaW5nVVJMLmlzTnVsbCgpKQog
ICAgICAgICAgICAgZmFpbGluZ1VSTCA9IG1faGFuZHNoYWtlLT51cmwoKS5zdHJpbmcoKTsKLSAg
ICAgICAgbV9jb250ZXh0LT5hZGRDb25zb2xlTWVzc2FnZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwg
TG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBmYWlsaW5nVVJMKTsK
KyAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTmV0d29ya01lc3NhZ2VTb3Vy
Y2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgZmFpbGluZ1VS
TCk7CiAgICAgfQogICAgIG1fc2hvdWxkRGlzY2FyZFJlY2VpdmVkRGF0YSA9IHRydWU7CiAgICAg
aGFuZGxlLT5kaXNjb25uZWN0KCk7CkBAIC00NTMsMTQgKzQ1MSwxMSBAQCBib29sIFdlYlNvY2tl
dENoYW5uZWw6OnByb2Nlc3NCdWZmZXIoKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICBpZiAobV9oYW5kc2hha2UtPm1vZGUoKSA9PSBXZWJTb2NrZXRIYW5kc2hha2U6OkNvbm5l
Y3RlZCkgewogICAgICAgICAgICAgaWYgKG1faWRlbnRpZmllcikKLSAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2NrZXRIYW5kc2hha2VSZXNw
b25zZShtX2NvbnRleHQsIG1faWRlbnRpZmllciwgbV9oYW5kc2hha2UtPnNlcnZlckhhbmRzaGFr
ZVJlc3BvbnNlKCkpOworICAgICAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlKG1fZG9jdW1lbnQsIG1faWRlbnRp
ZmllciwgbV9oYW5kc2hha2UtPnNlcnZlckhhbmRzaGFrZVJlc3BvbnNlKCkpOwogICAgICAgICAg
ICAgaWYgKCFtX2hhbmRzaGFrZS0+c2VydmVyU2V0Q29va2llKCkuaXNFbXB0eSgpKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKG1fY29udGV4dC0+aXNEb2N1bWVudCgpKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PERvY3VtZW50Kj4obV9jb250
ZXh0KTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGNvb2tpZXNFbmFibGVkKGRvY3VtZW50KSkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsgLy8gRXhjZXB0aW9u
IChmb3Igc2FuZGJveGVkIGRvY3VtZW50cykgaWdub3JlZC4KLSAgICAgICAgICAgICAgICAgICAg
ICAgIGRvY3VtZW50LT5zZXRDb29raWUobV9oYW5kc2hha2UtPnNlcnZlclNldENvb2tpZSgpLCBl
Yyk7Ci0gICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoY29va2llc0Vu
YWJsZWQobV9kb2N1bWVudCkpIHsKKyAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uQ29kZSBl
YzsgLy8gRXhjZXB0aW9uIChmb3Igc2FuZGJveGVkIGRvY3VtZW50cykgaWdub3JlZC4KKyAgICAg
ICAgICAgICAgICAgICAgbV9kb2N1bWVudC0+c2V0Q29va2llKG1faGFuZHNoYWtlLT5zZXJ2ZXJT
ZXRDb29raWUoKSwgZWMpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIC8vIEZJWE1FOiBoYW5kbGUgc2V0LWNvb2tpZTIuCkBAIC05MTEsNyArOTA2LDcgQEAg
dm9pZCBXZWJTb2NrZXRDaGFubmVsOjpwcm9jZXNzT3V0Z29pbmdGcmFtZVF1ZXVlKCkKICAgICAg
ICAgICAgICAgICBBU1NFUlQoIW1fYmxvYkxvYWRlcik7CiAgICAgICAgICAgICAgICAgbV9ibG9i
TG9hZGVyID0gYWRvcHRQdHIobmV3IEZpbGVSZWFkZXJMb2FkZXIoRmlsZVJlYWRlckxvYWRlcjo6
UmVhZEFzQXJyYXlCdWZmZXIsIHRoaXMpKTsKICAgICAgICAgICAgICAgICBtX2Jsb2JMb2FkZXJT
dGF0dXMgPSBCbG9iTG9hZGVyU3RhcnRlZDsKLSAgICAgICAgICAgICAgICBtX2Jsb2JMb2FkZXIt
PnN0YXJ0KG1fY29udGV4dCwgZnJhbWUtPmJsb2JEYXRhLmdldCgpKTsKKyAgICAgICAgICAgICAg
ICBtX2Jsb2JMb2FkZXItPnN0YXJ0KG1fZG9jdW1lbnQsIGZyYW1lLT5ibG9iRGF0YS5nZXQoKSk7
CiAgICAgICAgICAgICAgICAgbV9vdXRnb2luZ0ZyYW1lUXVldWUucHJlcGVuZChmcmFtZS5yZWxl
YXNlKCkpOwogICAgICAgICAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS93ZWJz
b2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAppbmRleCA5ZjliYWI4YjFjMzBmYWJiYjNlNjBkNzVm
ZmY3YTRlMzk1OWY3ZmUwLi4wNzMyZGE0YjEwMGQ3ZjE0NTI5NzZhMjNlN2RmYWJjNzE1NWFiOWIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgR29vZ2xlIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC00Niw4ICs0Niw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEJsb2I7Citj
bGFzcyBEb2N1bWVudDsKIGNsYXNzIEZpbGVSZWFkZXJMb2FkZXI7Ci1jbGFzcyBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OwogY2xhc3MgU29ja2V0U3RyZWFtSGFuZGxlOwogY2xhc3MgU29ja2V0U3Ry
ZWFtRXJyb3I7CiBjbGFzcyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwpAQCAtNTksNyArNTksNyBA
QCBjbGFzcyBXZWJTb2NrZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViU29ja2V0Q2hh
bm5lbD4sIHB1YmxpYyBTb2NrZXRTdHJlYQogewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50
KiBjbGllbnQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJTb2NrZXRDaGFubmVsKGNvbnRleHQs
IGNsaWVudCkpOyB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViU29ja2V0Q2hhbm5lbD4gY3Jl
YXRlKERvY3VtZW50KiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCogY2xpZW50KSB7
IHJldHVybiBhZG9wdFJlZihuZXcgV2ViU29ja2V0Q2hhbm5lbChkb2N1bWVudCwgY2xpZW50KSk7
IH0KICAgICB2aXJ0dWFsIH5XZWJTb2NrZXRDaGFubmVsKCk7CiAKICAgICBib29sIHNlbmQoY29u
c3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCk7CkBAIC0xMTgsNyArMTE4LDcgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCBkZXJlZlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkgeyBk
ZXJlZigpOyB9CiAKIHByaXZhdGU6Ci0gICAgV2ViU29ja2V0Q2hhbm5lbChTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCopOworICAgIFdlYlNvY2tldENoYW5u
ZWwoRG9jdW1lbnQqLCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50Kik7CiAKICAgICBib29sIGFwcGVu
ZFRvQnVmZmVyKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW4pOwogICAgIHZvaWQgc2tpcEJ1
ZmZlcihzaXplX3QgbGVuKTsKQEAgLTIxOSw3ICsyMTksNyBAQCBwcml2YXRlOgogICAgIH07CiAj
ZW5kaWYKIAotICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1fY29udGV4dDsKKyAgICBEb2N1
bWVudCogbV9kb2N1bWVudDsKICAgICBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBtX2NsaWVudDsK
ICAgICBPd25QdHI8V2ViU29ja2V0SGFuZHNoYWtlPiBtX2hhbmRzaGFrZTsKICAgICBSZWZQdHI8
U29ja2V0U3RyZWFtSGFuZGxlPiBtX2hhbmRsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNl
L1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAK
aW5kZXggZjBlNjNlMTI1MjU0OTk0YjVjNWI2MjYwYjUxMDVhM2Y3ZWE4MjI2NS4uNmI4Yjk2OTBi
MDJkNTlkZDE4NmIwYjM5ZWFhMzhjOWMyZmFhMWVmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEdv
b2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQpAQCAtMTQ1LDcgKzE0NSw3IEBAIHZvaWQgV29ya2VyVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWw6OnJlc3VtZSgpCiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbDo6
UGVlcjo6UGVlcihQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsQ2xpZW50V3Jh
cHBlcj4gY2xpZW50V3JhcHBlciwgV29ya2VyTG9hZGVyUHJveHkmIGxvYWRlclByb3h5LCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlKQogICAg
IDogbV93b3JrZXJDbGllbnRXcmFwcGVyKGNsaWVudFdyYXBwZXIpCiAgICAgLCBtX2xvYWRlclBy
b3h5KGxvYWRlclByb3h5KQotICAgICwgbV9tYWluV2ViU29ja2V0Q2hhbm5lbChXZWJTb2NrZXRD
aGFubmVsOjpjcmVhdGUoY29udGV4dCwgdGhpcykpCisgICAgLCBtX21haW5XZWJTb2NrZXRDaGFu
bmVsKFdlYlNvY2tldENoYW5uZWw6OmNyZWF0ZShzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRl
eHQpLCB0aGlzKSkKICAgICAsIG1fdGFza01vZGUodGFza01vZGUpCiB7CiAgICAgQVNTRVJUKGlz
TWFpblRocmVhZCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126920</attachid>
            <date>2012-02-13 23:58:16 -0800</date>
            <delta_ts>2012-02-14 22:39:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78576-20120214165814.patch</filename>
            <type>text/plain</type>
            <size>15424</size>
            <attacher name="Takashi Toyoshima">toyoshim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2IxNjU3OTI2M2UwYjU5
NThiYTlhZDk1MTY3YmI3NWFmMWYzNzQzZi4uN2U2NThkNTFmYTAyYmY5MDBiYzUyZjhhZTdmOWVj
MTI2NjNmMTlmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTAyLTEzICBUYWth
c2hpIFRveW9zaGltYSAgPHRveW9zaGltQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJTb2Nr
ZXRDaGFubmVsIG1pbm9yIHJlZmFjdG9yaW5nIGZvciBjb2RlIG1hbmFnZWFiaWxpdHkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTc2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIHRoZSBmaXJz
dCBhcmd1bWVudCB0eXBlIG9mIFdlYlNvY2tldENoYW5uZWwKKyAgICAgICAgZnJvbSBTY3JpcHRF
eGVjdXRpb25Db250ZXh0IHRvIERvY3VtZW50LgorICAgICAgICBXZWJTb2NrZXRDaGFubmVsIGFs
d2F5cyBhc3N1bWUgdGhpcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0IG11c3QKKyAgICAgICAgaW5o
ZXJpdCBEb2N1bWVudC4gVGhlbiwgaXQgcmVzdWx0cyBpbiBtYW55IHN0YXRpYyBjYXN0LgorICAg
ICAgICBJdCBpc24ndCByZWFkYWJsZSBhbmQgZGFuZ2Vyb3VzIGFnYWluc3QgZnV0dXJlIGNvZGUg
Y2hhbmdlcy4KKworICAgICAgICAqIHdlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWwuY3BwOiBQYXNzIHRoZSBmaXJzdCBhcmd1bWVudCBmb3IgV2ViU29ja2V0Q2hhbm5lbCBhcyBE
b2N1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpj
cmVhdGUpOgorICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6IFJlcGxh
Y2UgYWxsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1fY29udGV4dCBkZXNjcmlwdGlvbnMgdG8g
RG9jdW1lbnQqIG1fZG9jdW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVs
OjpXZWJTb2NrZXRDaGFubmVsKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6
OmNvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZmFpbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpkaXNjb25uZWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZE9wZW5Tb2NrZXRTdHJlYW0pOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZGlkQ2xvc2VTb2NrZXRTdHJlYW0pOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZGlkUmVjZWl2ZVNvY2tldFN0cmVhbURh
dGEpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZGlkRmFpbFNvY2tldFN0
cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpwcm9jZXNzQnVmZmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OnByb2Nlc3NPdXRnb2luZ0Zy
YW1lUXVldWUpOgorICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oOiBDaGFu
Z2UgdGhlIGZpcnN0IGFyZ3VtZW50IGZvciBjb25zdHJ1Y3Rpb24gdG8gRG9jdW1lbnQgYW5kIGhv
bGQgaXQgYXMgRG9jdW1lbnQgbV9kb2N1bWVudC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYlNvY2tl
dENoYW5uZWwpOgorICAgICAgICAqIHdlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWwuY3BwOiBQYXNzIHRoZSBmaXJzdCBhcmd1bWVudCBmb3IgV2ViU29ja2V0Q2hhbm5l
bCBhcyBEb2N1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsOjpQZWVyOjpQZWVyKToKKwogMjAxMi0wMi0xMyAgVG9ueSBDaGFuZyAgPHRvbnlA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDc1ODIu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuY3BwCmluZGV4IDE3ZjI0ZmI0ZGU0M2EyNzAyZWI5NDcxYjYzZDY3MjIzYWU4
MWIxMjMuLjAyOWU0ZmZkN2Q4NTUyZjE0ZTFhOGRiNGQxZDBiOWViZGZkNzU0YjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29n
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAx
MiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKQEAgLTM0LDYgKzM0LDcgQEAKIAogI2luY2x1ZGUgIlRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsLmgiCiAKKyNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIlBs
YXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2lu
Y2x1ZGUgIlRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsQ2xpZW50V3JhcHBlci5oIgpAQCAtNjYs
NyArNjcsNyBAQCBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBUaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbDo6Y3JlYXRlKFNjcmlwdAogI2VuZGlmIC8vIEVOQUJMRShXT1JL
RVJTKQogCiAgICAgQVNTRVJUKGNvbnRleHQtPmlzRG9jdW1lbnQoKSk7Ci0gICAgcmV0dXJuIFdl
YlNvY2tldENoYW5uZWw6OmNyZWF0ZShjb250ZXh0LCBjbGllbnQpOworICAgIHJldHVybiBXZWJT
b2NrZXRDaGFubmVsOjpjcmVhdGUoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KSwgY2xp
ZW50KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dl
YnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggNTM0MzZlMzlhZWI2NzZhMzU5MTg4
Y2MxMGJmM2M2NDYzZmE3ZjBiZi4uZjYwYTc2MTZjYWIwOTA5ZTIxYmY1ZjZmN2IyYjA2YWQ4YmNl
MzEwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBHb29n
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKQEAgLTg4LDggKzg4LDggQEAgY29uc3QgV2ViU29ja2V0Q2hhbm5lbDo6T3BDb2Rl
IFdlYlNvY2tldENoYW5uZWw6Ok9wQ29kZUNsb3NlID0gMHg4OwogY29uc3QgV2ViU29ja2V0Q2hh
bm5lbDo6T3BDb2RlIFdlYlNvY2tldENoYW5uZWw6Ok9wQ29kZVBpbmcgPSAweDk7CiBjb25zdCBX
ZWJTb2NrZXRDaGFubmVsOjpPcENvZGUgV2ViU29ja2V0Q2hhbm5lbDo6T3BDb2RlUG9uZyA9IDB4
QTsKIAotV2ViU29ja2V0Q2hhbm5lbDo6V2ViU29ja2V0Q2hhbm5lbChTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQpCi0gICAgOiBt
X2NvbnRleHQoY29udGV4dCkKK1dlYlNvY2tldENoYW5uZWw6OldlYlNvY2tldENoYW5uZWwoRG9j
dW1lbnQqIGRvY3VtZW50LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQpCisgICAgOiBt
X2RvY3VtZW50KGRvY3VtZW50KQogICAgICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV9idWZm
ZXIoMCkKICAgICAsIG1fYnVmZmVyU2l6ZSgwKQpAQCAtMTEwLDEyICsxMTAsMTAgQEAgV2ViU29j
a2V0Q2hhbm5lbDo6V2ViU29ja2V0Q2hhbm5lbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBXZWJTb2NrZXRDaGEKICAgICAsIG1fYmxvYkxvYWRlclN0YXR1cyhCbG9iTG9hZGVyTm90
U3RhcnRlZCkKICNlbmRpZgogewotICAgIEFTU0VSVChtX2NvbnRleHQtPmlzRG9jdW1lbnQoKSk7
Ci0gICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihtX2NvbnRl
eHQpOwotICAgIGlmIChTZXR0aW5ncyogc2V0dGluZ3MgPSBkb2N1bWVudC0+c2V0dGluZ3MoKSkK
KyAgICBpZiAoU2V0dGluZ3MqIHNldHRpbmdzID0gbV9kb2N1bWVudC0+c2V0dGluZ3MoKSkKICAg
ICAgICAgbV91c2VIaXhpZTc2UHJvdG9jb2wgPSBzZXR0aW5ncy0+dXNlSGl4aWU3NldlYlNvY2tl
dFByb3RvY29sKCk7CiAKLSAgICBpZiAoUGFnZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCkpCisg
ICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2RvY3VtZW50LT5wYWdlKCkpCiAgICAgICAgIG1faWRlbnRp
ZmllciA9IHBhZ2UtPnByb2dyZXNzKCktPmNyZWF0ZVVuaXF1ZUlkZW50aWZpZXIoKTsKIH0KIApA
QCAtMTM0LDEwICsxMzIsMTAgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpjb25uZWN0KGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICBMT0coTmV0d29yaywgIldl
YlNvY2tldENoYW5uZWwgJXAgY29ubmVjdCIsIHRoaXMpOwogICAgIEFTU0VSVCghbV9oYW5kbGUp
OwogICAgIEFTU0VSVCghbV9zdXNwZW5kZWQpOwotICAgIG1faGFuZHNoYWtlID0gYWRvcHRQdHIo
bmV3IFdlYlNvY2tldEhhbmRzaGFrZSh1cmwsIHByb3RvY29sLCBtX2NvbnRleHQsIG1fdXNlSGl4
aWU3NlByb3RvY29sKSk7CisgICAgbV9oYW5kc2hha2UgPSBhZG9wdFB0cihuZXcgV2ViU29ja2V0
SGFuZHNoYWtlKHVybCwgcHJvdG9jb2wsIG1fZG9jdW1lbnQsIG1fdXNlSGl4aWU3NlByb3RvY29s
KSk7CiAgICAgbV9oYW5kc2hha2UtPnJlc2V0KCk7CiAgICAgaWYgKG1faWRlbnRpZmllcikKLSAg
ICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVXZWJTb2NrZXQobV9jb250
ZXh0LCBtX2lkZW50aWZpZXIsIHVybCwgbV9jb250ZXh0LT51cmwoKSk7CisgICAgICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ3JlYXRlV2ViU29ja2V0KG1fZG9jdW1lbnQsIG1faWRl
bnRpZmllciwgdXJsLCBtX2RvY3VtZW50LT51cmwoKSk7CiAgICAgcmVmKCk7CiAgICAgbV9oYW5k
bGUgPSBTb2NrZXRTdHJlYW1IYW5kbGU6OmNyZWF0ZShtX2hhbmRzaGFrZS0+dXJsKCksIHRoaXMp
OwogfQpAQCAtMjE3LDggKzIxNSw4IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZmFpbChjb25z
dCBTdHJpbmcmIHJlYXNvbikKIHsKICAgICBMT0coTmV0d29yaywgIldlYlNvY2tldENoYW5uZWwg
JXAgZmFpbDogJXMiLCB0aGlzLCByZWFzb24udXRmOCgpLmRhdGEoKSk7CiAgICAgQVNTRVJUKCFt
X3N1c3BlbmRlZCk7Ci0gICAgaWYgKG1fY29udGV4dCkKLSAgICAgICAgbV9jb250ZXh0LT5hZGRD
b25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3Nh
Z2VMZXZlbCwgcmVhc29uLCBtX2hhbmRzaGFrZS0+Y2xpZW50T3JpZ2luKCkpOworICAgIGlmICht
X2RvY3VtZW50KQorICAgICAgICBtX2RvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3Nh
Z2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgcmVhc29uLCBtX2hh
bmRzaGFrZS0+Y2xpZW50T3JpZ2luKCkpOwogICAgIGlmICghbV91c2VIaXhpZTc2UHJvdG9jb2wp
IHsKICAgICAgICAgLy8gSHliaS0xMCBzcGVjaWZpY2F0aW9uIGV4cGxpY2l0bHkgc3RhdGVzIHdl
IG11c3Qgbm90IGNvbnRpbnVlIHRvIGhhbmRsZSBpbmNvbWluZyBkYXRhCiAgICAgICAgIC8vIG9u
Y2UgdGhlIFdlYlNvY2tldCBjb25uZWN0aW9uIGlzIGZhaWxlZCAoc2VjdGlvbiA3LjEuNykuCkBA
IC0yMzYsMTIgKzIzNCwxMiBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmZhaWwoY29uc3QgU3Ry
aW5nJiByZWFzb24pCiB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpc2Nvbm5lY3QoKQogewogICAg
IExPRyhOZXR3b3JrLCAiV2ViU29ja2V0Q2hhbm5lbCAlcCBkaXNjb25uZWN0IiwgdGhpcyk7Ci0g
ICAgaWYgKG1faWRlbnRpZmllciAmJiBtX2NvbnRleHQpCi0gICAgICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkQ2xvc2VXZWJTb2NrZXQobV9jb250ZXh0LCBtX2lkZW50aWZpZXIpOwor
ICAgIGlmIChtX2lkZW50aWZpZXIgJiYgbV9kb2N1bWVudCkKKyAgICAgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRDbG9zZVdlYlNvY2tldChtX2RvY3VtZW50LCBtX2lkZW50aWZpZXIp
OwogICAgIGlmIChtX2hhbmRzaGFrZSkKICAgICAgICAgbV9oYW5kc2hha2UtPmNsZWFyU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpOwogICAgIG1fY2xpZW50ID0gMDsKLSAgICBtX2NvbnRleHQgPSAw
OworICAgIG1fZG9jdW1lbnQgPSAwOwogICAgIGlmIChtX2hhbmRsZSkKICAgICAgICAgbV9oYW5k
bGUtPmRpc2Nvbm5lY3QoKTsKIH0KQEAgLTI2MiwxMCArMjYwLDEwIEBAIHZvaWQgV2ViU29ja2V0
Q2hhbm5lbDo6ZGlkT3BlblNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUqIGhhbmRsZSkK
IHsKICAgICBMT0coTmV0d29yaywgIldlYlNvY2tldENoYW5uZWwgJXAgZGlkT3BlblNvY2tldFN0
cmVhbSIsIHRoaXMpOwogICAgIEFTU0VSVChoYW5kbGUgPT0gbV9oYW5kbGUpOwotICAgIGlmICgh
bV9jb250ZXh0KQorICAgIGlmICghbV9kb2N1bWVudCkKICAgICAgICAgcmV0dXJuOwogICAgIGlm
IChtX2lkZW50aWZpZXIpCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFNl
bmRXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0KG1fY29udGV4dCwgbV9pZGVudGlmaWVyLCBtX2hh
bmRzaGFrZS0+Y2xpZW50SGFuZHNoYWtlUmVxdWVzdCgpKTsKKyAgICAgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QobV9kb2N1bWVu
dCwgbV9pZGVudGlmaWVyLCBtX2hhbmRzaGFrZS0+Y2xpZW50SGFuZHNoYWtlUmVxdWVzdCgpKTsK
ICAgICBDU3RyaW5nIGhhbmRzaGFrZU1lc3NhZ2UgPSBtX2hhbmRzaGFrZS0+Y2xpZW50SGFuZHNo
YWtlTWVzc2FnZSgpOwogICAgIGlmICghaGFuZGxlLT5zZW5kKGhhbmRzaGFrZU1lc3NhZ2UuZGF0
YSgpLCBoYW5kc2hha2VNZXNzYWdlLmxlbmd0aCgpKSkKICAgICAgICAgZmFpbCgiRmFpbGVkIHRv
IHNlbmQgV2ViU29ja2V0IGhhbmRzaGFrZS4iKTsKQEAgLTI3NCw4ICsyNzIsOCBAQCB2b2lkIFdl
YlNvY2tldENoYW5uZWw6OmRpZE9wZW5Tb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlKiBo
YW5kbGUpCiB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZENsb3NlU29ja2V0U3RyZWFtKFNvY2tl
dFN0cmVhbUhhbmRsZSogaGFuZGxlKQogewogICAgIExPRyhOZXR3b3JrLCAiV2ViU29ja2V0Q2hh
bm5lbCAlcCBkaWRDbG9zZVNvY2tldFN0cmVhbSIsIHRoaXMpOwotICAgIGlmIChtX2lkZW50aWZp
ZXIgJiYgbV9jb250ZXh0KQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENs
b3NlV2ViU29ja2V0KG1fY29udGV4dCwgbV9pZGVudGlmaWVyKTsKKyAgICBpZiAobV9pZGVudGlm
aWVyICYmIG1fZG9jdW1lbnQpCisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
Q2xvc2VXZWJTb2NrZXQobV9kb2N1bWVudCwgbV9pZGVudGlmaWVyKTsKICAgICBBU1NFUlRfVU5V
U0VEKGhhbmRsZSwgaGFuZGxlID09IG1faGFuZGxlIHx8ICFtX2hhbmRsZSk7CiAgICAgbV9jbG9z
ZWQgPSB0cnVlOwogICAgIGlmIChtX2Nsb3NpbmdUaW1lci5pc0FjdGl2ZSgpKQpAQCAtMjg4LDcg
KzI4Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkQ2xvc2VTb2NrZXRTdHJlYW0oU29j
a2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIFdl
YlNvY2tldENoYW5uZWxDbGllbnQqIGNsaWVudCA9IG1fY2xpZW50OwogICAgICAgICBtX2NsaWVu
dCA9IDA7Ci0gICAgICAgIG1fY29udGV4dCA9IDA7CisgICAgICAgIG1fZG9jdW1lbnQgPSAwOwog
ICAgICAgICBtX2hhbmRsZSA9IDA7CiAgICAgICAgIGlmIChjbGllbnQpCiAgICAgICAgICAgICBj
bGllbnQtPmRpZENsb3NlKG1fdW5oYW5kbGVkQnVmZmVyZWRBbW91bnQsIG1fcmVjZWl2ZWRDbG9z
aW5nSGFuZHNoYWtlID8gV2ViU29ja2V0Q2hhbm5lbENsaWVudDo6Q2xvc2luZ0hhbmRzaGFrZUNv
bXBsZXRlIDogV2ViU29ja2V0Q2hhbm5lbENsaWVudDo6Q2xvc2luZ0hhbmRzaGFrZUluY29tcGxl
dGUsIG1fY2xvc2VFdmVudENvZGUsIG1fY2xvc2VFdmVudFJlYXNvbik7CkBAIC0zMDEsNyArMjk5
LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRSZWNlaXZlU29ja2V0U3RyZWFtRGF0YShT
b2NrZXRTdHJlYW1IYW5kbGUqIGhhbmRsZSwgY28KICAgICBMT0coTmV0d29yaywgIldlYlNvY2tl
dENoYW5uZWwgJXAgZGlkUmVjZWl2ZVNvY2tldFN0cmVhbURhdGEgJWQiLCB0aGlzLCBsZW4pOwog
ICAgIFJlZlB0cjxXZWJTb2NrZXRDaGFubmVsPiBwcm90ZWN0KHRoaXMpOyAvLyBUaGUgY2xpZW50
IGNhbiBjbG9zZSB0aGUgY2hhbm5lbCwgcG90ZW50aWFsbHkgcmVtb3ZpbmcgdGhlIGxhc3QgcmVm
ZXJlbmNlLgogICAgIEFTU0VSVChoYW5kbGUgPT0gbV9oYW5kbGUpOwotICAgIGlmICghbV9jb250
ZXh0KSB7CisgICAgaWYgKCFtX2RvY3VtZW50KSB7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgaWYgKGxlbiA8PSAwKSB7CkBAIC0zMzUsNyArMzMzLDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFu
bmVsOjpkaWRGYWlsU29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlLCBjb25z
dCBTb2MKIHsKICAgICBMT0coTmV0d29yaywgIldlYlNvY2tldENoYW5uZWwgJXAgZGlkRmFpbFNv
Y2tldFN0cmVhbSIsIHRoaXMpOwogICAgIEFTU0VSVChoYW5kbGUgPT0gbV9oYW5kbGUgfHwgIW1f
aGFuZGxlKTsKLSAgICBpZiAobV9jb250ZXh0KSB7CisgICAgaWYgKG1fZG9jdW1lbnQpIHsKICAg
ICAgICAgU3RyaW5nIG1lc3NhZ2U7CiAgICAgICAgIGlmIChlcnJvci5pc051bGwoKSkKICAgICAg
ICAgICAgIG1lc3NhZ2UgPSAiV2ViU29ja2V0IG5ldHdvcmsgZXJyb3IiOwpAQCAtMzQ3LDcgKzM0
NSw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkRmFpbFNvY2tldFN0cmVhbShTb2NrZXRT
dHJlYW1IYW5kbGUqIGhhbmRsZSwgY29uc3QgU29jCiAgICAgICAgIEFTU0VSVChmYWlsaW5nVVJM
LmlzTnVsbCgpIHx8IG1faGFuZHNoYWtlLT51cmwoKS5zdHJpbmcoKSA9PSBmYWlsaW5nVVJMKTsK
ICAgICAgICAgaWYgKGZhaWxpbmdVUkwuaXNOdWxsKCkpCiAgICAgICAgICAgICBmYWlsaW5nVVJM
ID0gbV9oYW5kc2hha2UtPnVybCgpLnN0cmluZygpOwotICAgICAgICBtX2NvbnRleHQtPmFkZENv
bnNvbGVNZXNzYWdlKE5ldHdvcmtNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JN
ZXNzYWdlTGV2ZWwsIG1lc3NhZ2UsIGZhaWxpbmdVUkwpOworICAgICAgICBtX2RvY3VtZW50LT5h
ZGRDb25zb2xlTWVzc2FnZShOZXR3b3JrTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVy
cm9yTWVzc2FnZUxldmVsLCBtZXNzYWdlLCBmYWlsaW5nVVJMKTsKICAgICB9CiAgICAgbV9zaG91
bGREaXNjYXJkUmVjZWl2ZWREYXRhID0gdHJ1ZTsKICAgICBoYW5kbGUtPmRpc2Nvbm5lY3QoKTsK
QEAgLTQ1MywxNCArNDUxLDExIEBAIGJvb2wgV2ViU29ja2V0Q2hhbm5lbDo6cHJvY2Vzc0J1ZmZl
cigpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGlmIChtX2hhbmRzaGFrZS0+
bW9kZSgpID09IFdlYlNvY2tldEhhbmRzaGFrZTo6Q29ubmVjdGVkKSB7CiAgICAgICAgICAgICBp
ZiAobV9pZGVudGlmaWVyKQotICAgICAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlKG1fY29udGV4dCwgbV9pZGVu
dGlmaWVyLCBtX2hhbmRzaGFrZS0+c2VydmVySGFuZHNoYWtlUmVzcG9uc2UoKSk7CisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0SGFu
ZHNoYWtlUmVzcG9uc2UobV9kb2N1bWVudCwgbV9pZGVudGlmaWVyLCBtX2hhbmRzaGFrZS0+c2Vy
dmVySGFuZHNoYWtlUmVzcG9uc2UoKSk7CiAgICAgICAgICAgICBpZiAoIW1faGFuZHNoYWtlLT5z
ZXJ2ZXJTZXRDb29raWUoKS5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgICAgICBpZiAobV9jb250
ZXh0LT5pc0RvY3VtZW50KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihtX2NvbnRleHQpOwotICAgICAgICAgICAgICAg
ICAgICBpZiAoY29va2llc0VuYWJsZWQoZG9jdW1lbnQpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBFeGNlcHRpb25Db2RlIGVjOyAvLyBFeGNlcHRpb24gKGZvciBzYW5kYm94ZWQgZG9jdW1l
bnRzKSBpZ25vcmVkLgotICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQtPnNldENvb2tp
ZShtX2hhbmRzaGFrZS0+c2VydmVyU2V0Q29va2llKCksIGVjKTsKLSAgICAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIGlmIChjb29raWVzRW5hYmxlZChtX2RvY3VtZW50KSkgewor
ICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25Db2RlIGVjOyAvLyBFeGNlcHRpb24gKGZvciBz
YW5kYm94ZWQgZG9jdW1lbnRzKSBpZ25vcmVkLgorICAgICAgICAgICAgICAgICAgICBtX2RvY3Vt
ZW50LT5zZXRDb29raWUobV9oYW5kc2hha2UtPnNlcnZlclNldENvb2tpZSgpLCBlYyk7CiAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgLy8gRklYTUU6IGhhbmRs
ZSBzZXQtY29va2llMi4KQEAgLTkxMSw3ICs5MDYsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6
OnByb2Nlc3NPdXRnb2luZ0ZyYW1lUXVldWUoKQogICAgICAgICAgICAgICAgIEFTU0VSVCghbV9i
bG9iTG9hZGVyKTsKICAgICAgICAgICAgICAgICBtX2Jsb2JMb2FkZXIgPSBhZG9wdFB0cihuZXcg
RmlsZVJlYWRlckxvYWRlcihGaWxlUmVhZGVyTG9hZGVyOjpSZWFkQXNBcnJheUJ1ZmZlciwgdGhp
cykpOwogICAgICAgICAgICAgICAgIG1fYmxvYkxvYWRlclN0YXR1cyA9IEJsb2JMb2FkZXJTdGFy
dGVkOwotICAgICAgICAgICAgICAgIG1fYmxvYkxvYWRlci0+c3RhcnQobV9jb250ZXh0LCBmcmFt
ZS0+YmxvYkRhdGEuZ2V0KCkpOworICAgICAgICAgICAgICAgIG1fYmxvYkxvYWRlci0+c3RhcnQo
bV9kb2N1bWVudCwgZnJhbWUtPmJsb2JEYXRhLmdldCgpKTsKICAgICAgICAgICAgICAgICBtX291
dGdvaW5nRnJhbWVRdWV1ZS5wcmVwZW5kKGZyYW1lLnJlbGVhc2UoKSk7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNv
Y2tldENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5oCmluZGV4IDlmOWJhYjhiMWMzMGZhYmJiM2U2MGQ3NWZmZjdhNGUzOTU5ZjdmZTAuLjA3MzJk
YTRiMTAwZDdmMTQ1Mjk3NmEyM2U3ZGZhYmM3MTU1YWI5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSwgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQ2LDggKzQ2LDggQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQmxvYjsKK2NsYXNzIERvY3VtZW50OwogY2xhc3Mg
RmlsZVJlYWRlckxvYWRlcjsKLWNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBT
b2NrZXRTdHJlYW1IYW5kbGU7CiBjbGFzcyBTb2NrZXRTdHJlYW1FcnJvcjsKIGNsYXNzIFdlYlNv
Y2tldENoYW5uZWxDbGllbnQ7CkBAIC01OSw3ICs1OSw3IEBAIGNsYXNzIFdlYlNvY2tldENoYW5u
ZWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFNvY2tldFN0
cmVhCiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8V2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQqIGNsaWVudCkgeyByZXR1cm4gYWRv
cHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50KSk7IH0KKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50
LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBX
ZWJTb2NrZXRDaGFubmVsKGRvY3VtZW50LCBjbGllbnQpKTsgfQogICAgIHZpcnR1YWwgfldlYlNv
Y2tldENoYW5uZWwoKTsKIAogICAgIGJvb2wgc2VuZChjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVu
Z3RoKTsKQEAgLTExOCw3ICsxMTgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGRl
cmVmVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKSB7IGRlcmVmKCk7IH0KIAogcHJpdmF0ZToK
LSAgICBXZWJTb2NrZXRDaGFubmVsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBXZWJTb2NrZXRD
aGFubmVsQ2xpZW50Kik7CisgICAgV2ViU29ja2V0Q2hhbm5lbChEb2N1bWVudCosIFdlYlNvY2tl
dENoYW5uZWxDbGllbnQqKTsKIAogICAgIGJvb2wgYXBwZW5kVG9CdWZmZXIoY29uc3QgY2hhciog
ZGF0YSwgc2l6ZV90IGxlbik7CiAgICAgdm9pZCBza2lwQnVmZmVyKHNpemVfdCBsZW4pOwpAQCAt
MjE5LDcgKzIxOSw3IEBAIHByaXZhdGU6CiAgICAgfTsKICNlbmRpZgogCi0gICAgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogbV9jb250ZXh0OworICAgIERvY3VtZW50KiBtX2RvY3VtZW50OwogICAg
IFdlYlNvY2tldENoYW5uZWxDbGllbnQqIG1fY2xpZW50OwogICAgIE93blB0cjxXZWJTb2NrZXRI
YW5kc2hha2U+IG1faGFuZHNoYWtlOwogICAgIFJlZlB0cjxTb2NrZXRTdHJlYW1IYW5kbGU+IG1f
aGFuZGxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dv
cmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCBmMGU2M2UxMjUyNTQ5OTRi
NWM1YjYyNjBiNTEwNWEzZjdlYTgyMjY1Li4wZjhjODZmMDcxOTAyZjYwYmRlYTA2NTQyZDA0Y2Zh
YjhhMjAyMjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNiw2ICsz
Niw3IEBACiAKICNpbmNsdWRlICJCbG9iLmgiCiAjaW5jbHVkZSAiQ3Jvc3NUaHJlYWRUYXNrLmgi
CisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2lu
Y2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbENsaWVudFdyYXBwZXIuaCIKQEAgLTE0NSw3ICsxNDYsNyBAQCB2b2lkIFdv
cmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUoKQogV29ya2VyVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWw6OlBlZXI6OlBlZXIoUGFzc1JlZlB0cjxUaHJlYWRhYmxlV2ViU29j
a2V0Q2hhbm5lbENsaWVudFdyYXBwZXI+IGNsaWVudFdyYXBwZXIsIFdvcmtlckxvYWRlclByb3h5
JiBsb2FkZXJQcm94eSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3Ry
aW5nJiB0YXNrTW9kZSkKICAgICA6IG1fd29ya2VyQ2xpZW50V3JhcHBlcihjbGllbnRXcmFwcGVy
KQogICAgICwgbV9sb2FkZXJQcm94eShsb2FkZXJQcm94eSkKLSAgICAsIG1fbWFpbldlYlNvY2tl
dENoYW5uZWwoV2ViU29ja2V0Q2hhbm5lbDo6Y3JlYXRlKGNvbnRleHQsIHRoaXMpKQorICAgICwg
bV9tYWluV2ViU29ja2V0Q2hhbm5lbChXZWJTb2NrZXRDaGFubmVsOjpjcmVhdGUoc3RhdGljX2Nh
c3Q8RG9jdW1lbnQqPihjb250ZXh0KSwgdGhpcykpCiAgICAgLCBtX3Rhc2tNb2RlKHRhc2tNb2Rl
KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>