<?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>84753</bug_id>
          
          <creation_ts>2012-04-24 13:08:36 -0700</creation_ts>
          <short_desc>[V8] Pass Isolate to SerializedScriptValue::create() in CodeGeneratorV8.pm</short_desc>
          <delta_ts>2012-04-25 11:13:34 -0700</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 JavaScript</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>84074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>608975</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-24 13:08:36 -0700</bug_when>
    <thetext>The objective is to pass Isolate around in V8 bindings. In this bug, we pass Isolate to SerializedScriptValue::create() in CodeGeneratorV8.pm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608986</commentid>
    <comment_count>1</comment_count>
      <attachid>138628</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-24 13:27:26 -0700</bug_when>
    <thetext>Created attachment 138628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609922</commentid>
    <comment_count>2</comment_count>
      <attachid>138628</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-25 11:13:29 -0700</bug_when>
    <thetext>Comment on attachment 138628
Patch

Clearing flags on attachment: 138628

Committed r115231: &lt;http://trac.webkit.org/changeset/115231&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609923</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-25 11:13:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138628</attachid>
            <date>2012-04-24 13:27:26 -0700</date>
            <delta_ts>2012-04-25 11:13:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84753-20120424132725.patch</filename>
            <type>text/plain</type>
            <size>18088</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGE5MzUyY2IxYzE4N2Mx
ZmZhYzNhZmZlMzFlODk2ZWY1NmFiNWM4NS4uYjg2YmI3ZTEyYTRhNzhmYjQzNTlkMzgyNTIzOGQz
N2ZjNjY0NzFmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ2IEBACiAyMDEyLTA0LTI0ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIFBhc3MgSXNv
bGF0ZSB0byBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSgpIGluIENvZGVHZW5lcmF0b3JW
OC5wbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQ3
NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUg
b2JqZWN0aXZlIGlzIHRvIHBhc3MgSXNvbGF0ZSBhcm91bmQgaW4gVjggYmluZGluZ3MuCisgICAg
ICAgIFRoaXMgcGF0Y2ggcGFzc2VzIElzb2xhdGUgdG8gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpj
cmVhdGUoKQorICAgICAgICBpbiBDb2RlR2VuZXJhdG9yVjgucG0uCisKKyAgICAgICAgVGVzdHM6
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAorICAgICAgICAgICAgICAgYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaWRsCisK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAg
KEdlbmVyYXRlTm9ybWFsQXR0clNldHRlcik6CisgICAgICAgIChHZW5lcmF0ZVBhcmFtZXRlcnND
aGVjayk6CisgICAgICAgIChKU1ZhbHVlVG9OYXRpdmUpOgorCisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHA6IFVwZGF0ZWQgcnVuLWJpbmRpbmdzLXRlc3Rz
IHJlc3VsdHMuCisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6aW50U2VxdWVu
Y2VBdHRyQXR0ckdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6
c2hvcnRTZXF1ZW5jZUF0dHJBdHRyR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpW
OEludGVybmFsOjpsb25nU2VxdWVuY2VBdHRyQXR0ckdldHRlcik6CisgICAgICAgIChXZWJDb3Jl
OjpUZXN0T2JqVjhJbnRlcm5hbDo6bG9uZ0xvbmdTZXF1ZW5jZUF0dHJBdHRyR2V0dGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjp1bnNpZ25lZEludFNlcXVlbmNlQXR0
ckF0dHJHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OnVuc2ln
bmVkU2hvcnRTZXF1ZW5jZUF0dHJBdHRyR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RP
YmpWOEludGVybmFsOjp1bnNpZ25lZExvbmdTZXF1ZW5jZUF0dHJBdHRyR2V0dGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjp1bnNpZ25lZExvbmdMb25nU2VxdWVuY2VB
dHRyQXR0ckdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6Zmxv
YXRTZXF1ZW5jZUF0dHJBdHRyR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOElu
dGVybmFsOjpkb3VibGVTZXF1ZW5jZUF0dHJBdHRyR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlRlc3RPYmpWOEludGVybmFsOjpib29sZWFuU2VxdWVuY2VBdHRyQXR0ckdldHRlcik6CisgICAg
ICAgIChXZWJDb3JlOjpUZXN0T2JqVjhJbnRlcm5hbDo6dm9pZFNlcXVlbmNlQXR0ckF0dHJHZXR0
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGVzdE9ialY4SW50ZXJuYWw6OmRhdGVTZXF1ZW5jZUF0
dHJBdHRyR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpWOEludGVybmFsOjpzZXJp
YWxpemVkVmFsdWVDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlVjhJbnRlcm5hbDo6dmFsdWVB
dHRyU2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2VWOEludGVybmFsOjpjYWNoZWRWYWx1ZUF0dHJTZXR0ZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVY4SW50ZXJuYWw6OmFjY2Vw
dFRyYW5zZmVyTGlzdENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2VWOEludGVybmFsOjptdWx0aVRyYW5zZmVyTGlzdENhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6OlY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZTo6Y29uc3RydWN0b3JDYWxsYmFjayk6CisKKzIwMTItMDQtMjQgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFtWOF0gUGFzcyBJc29sYXRlIGFyb3VuZCBp
biBTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIChQYXJ0MSkKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0NjYzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggODM0YjEzNjAwNmM2
NzJjN2Y5YzVjMDc3MDM3ZDM3NDljZWRlMDIxMy4uM2M5YWU3NjU0ZjI3MTgzMDdhOGY5YTI0ZTVh
ZThkNjVjMWM0ODY4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTExMTIsNyArMTExMiw3IEBAIEVORAogICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAgICAgICAgcmV0dXJuO1xuIik7CiAgICAgICAg
IH0KICAgICB9IGVsc2UgewotICAgICAgICBteSAkdmFsdWUgPSBKU1ZhbHVlVG9OYXRpdmUoJGF0
dHJpYnV0ZS0+c2lnbmF0dXJlLCAidmFsdWUiKTsKKyAgICAgICAgbXkgJHZhbHVlID0gSlNWYWx1
ZVRvTmF0aXZlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwgInZhbHVlIiwgImluZm8uR2V0SXNvbGF0
ZSgpIik7CiAgICAgICAgIG15ICRhcnJheVR5cGUgPSAkY29kZUdlbmVyYXRvci0+R2V0QXJyYXlU
eXBlKCRuYXRpdmVUeXBlKTsKIAogICAgICAgICBpZiAoJG5hdGl2ZVR5cGUgPX4gL15WOFBhcmFt
ZXRlci8pIHsKQEAgLTE2MjksMjEgKzE2MjksMjEgQEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0No
ZWNrCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAkcGFyYW1ldGVyQ2hlY2tTdHJpbmcgLj0g
IiAgICBib29sICR7cGFyYW1ldGVyTmFtZX1EaWRUaHJvdyA9IGZhbHNlO1xuIjsKICAgICAgICAg
ICAgIGlmICghJHVzZVRyYW5zZmVyTGlzdCkgewotICAgICAgICAgICAgICAgICAgICAkcGFyYW1l
dGVyQ2hlY2tTdHJpbmcgLj0gIiAgICAkbmF0aXZlVHlwZSAkcGFyYW1ldGVyTmFtZSA9IFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbJHBhcmFtSW5kZXhdLCAwLCAwLCAke3BhcmFt
ZXRlck5hbWV9RGlkVGhyb3cpO1xuIjsKKyAgICAgICAgICAgICAgICAgICAgJHBhcmFtZXRlckNo
ZWNrU3RyaW5nIC49ICIgICAgJG5hdGl2ZVR5cGUgJHBhcmFtZXRlck5hbWUgPSBTZXJpYWxpemVk
U2NyaXB0VmFsdWU6OmNyZWF0ZShhcmdzWyRwYXJhbUluZGV4XSwgMCwgMCwgJHtwYXJhbWV0ZXJO
YW1lfURpZFRocm93LCBhcmdzLkdldElzb2xhdGUoKSk7XG4iOwogICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgJG5h
dGl2ZVR5cGUgJHBhcmFtZXRlck5hbWUgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShh
cmdzWyRwYXJhbUluZGV4XSwgJm1lc3NhZ2VQb3J0QXJyYXkkVHJhbnNmZXJMaXN0TmFtZSwgJmFy
cmF5QnVmZmVyQXJyYXkkVHJhbnNmZXJMaXN0TmFtZSwgJHtwYXJhbWV0ZXJOYW1lfURpZFRocm93
KTtcbiI7CisgICAgICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAg
ICRuYXRpdmVUeXBlICRwYXJhbWV0ZXJOYW1lID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVh
dGUoYXJnc1skcGFyYW1JbmRleF0sICZtZXNzYWdlUG9ydEFycmF5JFRyYW5zZmVyTGlzdE5hbWUs
ICZhcnJheUJ1ZmZlckFycmF5JFRyYW5zZmVyTGlzdE5hbWUsICR7cGFyYW1ldGVyTmFtZX1EaWRU
aHJvdywgYXJncy5HZXRJc29sYXRlKCkpO1xuIjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIGlmICgke3BhcmFtZXRlck5hbWV9RGlkVGhy
b3cpXG4iOwogICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgICAgIHJl
dHVybiB2ODo6VW5kZWZpbmVkKCk7XG4iOwogICAgICAgICB9IGVsc2lmIChUeXBlQ2FuRmFpbENv
bnZlcnNpb24oJHBhcmFtZXRlcikpIHsKICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmlu
ZyAuPSAiICAgICRuYXRpdmVUeXBlICRwYXJhbWV0ZXJOYW1lID0gIiAuCi0gICAgICAgICAgICAg
ICAgIEpTVmFsdWVUb05hdGl2ZSgkcGFyYW1ldGVyLCAiYXJnc1skcGFyYW1JbmRleF0iKSAuICI7
XG4iOworICAgICAgICAgICAgICAgICBKU1ZhbHVlVG9OYXRpdmUoJHBhcmFtZXRlciwgImFyZ3Nb
JHBhcmFtSW5kZXhdIiwgImFyZ3MuR2V0SXNvbGF0ZSgpIikgLiAiO1xuIjsKICAgICAgICAgICAg
ICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgIGlmIChVTkxJS0VMWSghJHBhcmFtZXRlck5h
bWUpKSB7XG4iOwogICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgICAg
IGVjID0gVFlQRV9NSVNNQVRDSF9FUlI7XG4iOwogICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNr
U3RyaW5nIC49ICIgICAgICAgIGdvdG8gZmFpbDtcbiI7CiAgICAgICAgICAgICAkcGFyYW1ldGVy
Q2hlY2tTdHJpbmcgLj0gIiAgICB9XG4iOwogICAgICAgICB9IGVsc2lmICgkbmF0aXZlVHlwZSA9
fiAvXlY4UGFyYW1ldGVyLykgewotICAgICAgICAgICAgbXkgJHZhbHVlID0gSlNWYWx1ZVRvTmF0
aXZlKCRwYXJhbWV0ZXIsICJNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAkcGFyYW1JbmRl
eCwgJHBhcmFtZXRlckRlZmF1bHRQb2xpY3kpIik7CisgICAgICAgICAgICBteSAkdmFsdWUgPSBK
U1ZhbHVlVG9OYXRpdmUoJHBhcmFtZXRlciwgIk1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3Ms
ICRwYXJhbUluZGV4LCAkcGFyYW1ldGVyRGVmYXVsdFBvbGljeSkiLCAiYXJncy5HZXRJc29sYXRl
KCkiKTsKICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAiICAgICIgLiBDb252
ZXJ0VG9WOFBhcmFtZXRlcigkcGFyYW1ldGVyLCAkbmF0aXZlVHlwZSwgJHBhcmFtZXRlck5hbWUs
ICR2YWx1ZSkgLiAiXG4iOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgQWRkVG9JbXBs
SW5jbHVkZXMoIlY4QmluZGluZ01hY3Jvcy5oIik7CkBAIC0xNjY0LDcgKzE2NjQsNyBAQCBzdWIg
R2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2sKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAkcGFyYW1ldGVyQ2hlY2tTdHJpbmcgLj0gIiAgICBFWENFUFRJT05fQkxP
Q0soJG5hdGl2ZVR5cGUsICRwYXJhbWV0ZXJOYW1lLCAiIC4KLSAgICAgICAgICAgICAgICAgSlNW
YWx1ZVRvTmF0aXZlKCRwYXJhbWV0ZXIsICJNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihhcmdzLCAk
cGFyYW1JbmRleCwgJHBhcmFtZXRlckRlZmF1bHRQb2xpY3kpIikgLiAiKTtcbiI7CisgICAgICAg
ICAgICAgICAgIEpTVmFsdWVUb05hdGl2ZSgkcGFyYW1ldGVyLCAiTUFZQkVfTUlTU0lOR19QQVJB
TUVURVIoYXJncywgJHBhcmFtSW5kZXgsICRwYXJhbWV0ZXJEZWZhdWx0UG9saWN5KSIsICJhcmdz
LkdldElzb2xhdGUoKSIpIC4gIik7XG4iOwogICAgICAgICAgICAgaWYgKCRuYXRpdmVUeXBlIGVx
ICdEaWN0aW9uYXJ5JykgewogICAgICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49
ICIgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAkcGFyYW1JbmRleCAmJiAhJHBhcmFtZXRlck5hbWUu
aXNVbmRlZmluZWRPck51bGwoKSAmJiAhJHBhcmFtZXRlck5hbWUuaXNPYmplY3QoKSkge1xuIjsK
ICAgICAgICAgICAgICAgIGlmIChAeyRmdW5jdGlvbi0+cmFpc2VzRXhjZXB0aW9uc30pIHsKQEAg
LTM1MDcsNiArMzUwNyw3IEBAIHN1YiBKU1ZhbHVlVG9OYXRpdmUKIHsKICAgICBteSAkc2lnbmF0
dXJlID0gc2hpZnQ7CiAgICAgbXkgJHZhbHVlID0gc2hpZnQ7CisgICAgbXkgJGdldElzb2xhdGUg
PSBzaGlmdDsKIAogICAgIG15ICR0eXBlID0gR2V0VHlwZUZyb21TaWduYXR1cmUoJHNpZ25hdHVy
ZSk7CiAKQEAgLTM1MzcsNyArMzUzOCw3IEBAIHN1YiBKU1ZhbHVlVG9OYXRpdmUKIAogICAgIGlm
ICgkdHlwZSBlcSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlIikgewogICAgICAgICBBZGRUb0ltcGxJ
bmNsdWRlcygiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiKTsKLSAgICAgICAgcmV0dXJuICJTZXJp
YWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSgkdmFsdWUpIjsKKyAgICAgICAgcmV0dXJuICJTZXJp
YWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSgkdmFsdWUsICRnZXRJc29sYXRlKSI7CiAgICAgfQog
CiAgICAgaWYgKCR0eXBlIGVxICJJREJLZXkiKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCmluZGV4IGQ3YjllZDRiNmUz
NWY3OTE1MDJhZWJmNjMzYzExZWY4YTU5NThmZTQuLjRhYzQwMjYzYjgxNDk5YmRlY2I2YjkzOWZh
YzZjNjgyNWQxYzc2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCkBAIC0yMzksNyArMjM5LDcgQEAgc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBpbnRTZXF1ZW5jZUF0dHJBdHRyR2V0dGVyKHY4OjpMb2NhbDx2
ODo6U3RyaW5nPiBuYW0KIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLmludFNlcXVlbmNl
QXR0ci5fZ2V0Iik7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShpbmZv
LkhvbGRlcigpKTsKLSAgICByZXR1cm4gdjhBcnJheShpbXAtPmludFNlcXVlbmNlQXR0cigpKTsK
KyAgICByZXR1cm4gdjhBcnJheShpbXAtPmludFNlcXVlbmNlQXR0cigpLCBpbmZvLkdldElzb2xh
dGUoKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGludFNlcXVlbmNlQXR0ckF0dHJTZXR0ZXIodjg6Okxv
Y2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBjb25zdCB2
ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQpAQCAtMjU1LDcgKzI1NSw3IEBAIHN0YXRpYyB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gc2hvcnRTZXF1ZW5jZUF0dHJBdHRyR2V0dGVyKHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiBuCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5zaG9ydFNlcXVlbmNlQXR0
ci5fZ2V0Iik7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShpbmZvLkhv
bGRlcigpKTsKLSAgICByZXR1cm4gdjhBcnJheShpbXAtPnNob3J0U2VxdWVuY2VBdHRyKCkpOwor
ICAgIHJldHVybiB2OEFycmF5KGltcC0+c2hvcnRTZXF1ZW5jZUF0dHIoKSwgaW5mby5HZXRJc29s
YXRlKCkpOwogfQogCiBzdGF0aWMgdm9pZCBzaG9ydFNlcXVlbmNlQXR0ckF0dHJTZXR0ZXIodjg6
OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBjb25z
dCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQpAQCAtMjcxLDcgKzI3MSw3IEBAIHN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gbG9uZ1NlcXVlbmNlQXR0ckF0dHJHZXR0ZXIodjg6OkxvY2FsPHY4
OjpTdHJpbmc+IG5hCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5sb25nU2VxdWVuY2VB
dHRyLl9nZXQiKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGluZm8u
SG9sZGVyKCkpOwotICAgIHJldHVybiB2OEFycmF5KGltcC0+bG9uZ1NlcXVlbmNlQXR0cigpKTsK
KyAgICByZXR1cm4gdjhBcnJheShpbXAtPmxvbmdTZXF1ZW5jZUF0dHIoKSwgaW5mby5HZXRJc29s
YXRlKCkpOwogfQogCiBzdGF0aWMgdm9pZCBsb25nU2VxdWVuY2VBdHRyQXR0clNldHRlcih2ODo6
TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0
IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCkBAIC0yODcsNyArMjg3LDcgQEAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBsb25nTG9uZ1NlcXVlbmNlQXR0ckF0dHJHZXR0ZXIodjg6OkxvY2Fs
PHY4OjpTdHJpbmcKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLmxvbmdMb25nU2VxdWVu
Y2VBdHRyLl9nZXQiKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGlu
Zm8uSG9sZGVyKCkpOwotICAgIHJldHVybiB2OEFycmF5KGltcC0+bG9uZ0xvbmdTZXF1ZW5jZUF0
dHIoKSk7CisgICAgcmV0dXJuIHY4QXJyYXkoaW1wLT5sb25nTG9uZ1NlcXVlbmNlQXR0cigpLCBp
bmZvLkdldElzb2xhdGUoKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGxvbmdMb25nU2VxdWVuY2VBdHRy
QXR0clNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1
ZT4gdmFsdWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCkBAIC0zMDMsNyArMzAzLDcg
QEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB1bnNpZ25lZEludFNlcXVlbmNlQXR0ckF0
dHJHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHIKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2Jq
LnVuc2lnbmVkSW50U2VxdWVuY2VBdHRyLl9nZXQiKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRl
c3RPYmo6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOwotICAgIHJldHVybiB2OEFycmF5KGltcC0+
dW5zaWduZWRJbnRTZXF1ZW5jZUF0dHIoKSk7CisgICAgcmV0dXJuIHY4QXJyYXkoaW1wLT51bnNp
Z25lZEludFNlcXVlbmNlQXR0cigpLCBpbmZvLkdldElzb2xhdGUoKSk7CiB9CiAKIHN0YXRpYyB2
b2lkIHVuc2lnbmVkSW50U2VxdWVuY2VBdHRyQXR0clNldHRlcih2ODo6TG9jYWw8djg6OlN0cmlu
Zz4gbmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0IHY4OjpBY2Nlc3Nvcklu
Zm8mIGluZm8pCkBAIC0zMTksNyArMzE5LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB1bnNpZ25lZFNob3J0U2VxdWVuY2VBdHRyQXR0ckdldHRlcih2ODo6TG9jYWw8djg6OlMKIHsK
ICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLnVuc2lnbmVkU2hvcnRTZXF1ZW5jZUF0dHIuX2dl
dCIpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoaW5mby5Ib2xkZXIo
KSk7Ci0gICAgcmV0dXJuIHY4QXJyYXkoaW1wLT51bnNpZ25lZFNob3J0U2VxdWVuY2VBdHRyKCkp
OworICAgIHJldHVybiB2OEFycmF5KGltcC0+dW5zaWduZWRTaG9ydFNlcXVlbmNlQXR0cigpLCBp
bmZvLkdldElzb2xhdGUoKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHVuc2lnbmVkU2hvcnRTZXF1ZW5j
ZUF0dHJBdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6
OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKQEAgLTMzNSw3ICsz
MzUsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHVuc2lnbmVkTG9uZ1NlcXVlbmNl
QXR0ckF0dHJHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdAogewogICAgIElOQ19TVEFUUygiRE9NLlRl
c3RPYmoudW5zaWduZWRMb25nU2VxdWVuY2VBdHRyLl9nZXQiKTsKICAgICBUZXN0T2JqKiBpbXAg
PSBWOFRlc3RPYmo6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOwotICAgIHJldHVybiB2OEFycmF5
KGltcC0+dW5zaWduZWRMb25nU2VxdWVuY2VBdHRyKCkpOworICAgIHJldHVybiB2OEFycmF5KGlt
cC0+dW5zaWduZWRMb25nU2VxdWVuY2VBdHRyKCksIGluZm8uR2V0SXNvbGF0ZSgpKTsKIH0KIAog
c3RhdGljIHZvaWQgdW5zaWduZWRMb25nU2VxdWVuY2VBdHRyQXR0clNldHRlcih2ODo6TG9jYWw8
djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0IHY4OjpB
Y2Nlc3NvckluZm8mIGluZm8pCkBAIC0zNTEsNyArMzUxLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB1bnNpZ25lZExvbmdMb25nU2VxdWVuY2VBdHRyQXR0ckdldHRlcih2ODo6TG9j
YWw8djgKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLnVuc2lnbmVkTG9uZ0xvbmdTZXF1
ZW5jZUF0dHIuX2dldCIpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUo
aW5mby5Ib2xkZXIoKSk7Ci0gICAgcmV0dXJuIHY4QXJyYXkoaW1wLT51bnNpZ25lZExvbmdMb25n
U2VxdWVuY2VBdHRyKCkpOworICAgIHJldHVybiB2OEFycmF5KGltcC0+dW5zaWduZWRMb25nTG9u
Z1NlcXVlbmNlQXR0cigpLCBpbmZvLkdldElzb2xhdGUoKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHVu
c2lnbmVkTG9uZ0xvbmdTZXF1ZW5jZUF0dHJBdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5n
PiBuYW1lLCB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5m
byYgaW5mbykKQEAgLTM2Nyw3ICszNjcsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IGZsb2F0U2VxdWVuY2VBdHRyQXR0ckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbgogewog
ICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmouZmxvYXRTZXF1ZW5jZUF0dHIuX2dldCIpOwogICAg
IFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSk7Ci0gICAg
cmV0dXJuIHY4QXJyYXkoaW1wLT5mbG9hdFNlcXVlbmNlQXR0cigpKTsKKyAgICByZXR1cm4gdjhB
cnJheShpbXAtPmZsb2F0U2VxdWVuY2VBdHRyKCksIGluZm8uR2V0SXNvbGF0ZSgpKTsKIH0KIAog
c3RhdGljIHZvaWQgZmxvYXRTZXF1ZW5jZUF0dHJBdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3Ry
aW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29y
SW5mbyYgaW5mbykKQEAgLTM4Myw3ICszODMsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IGRvdWJsZVNlcXVlbmNlQXR0ckF0dHJHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+CiB7
CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5kb3VibGVTZXF1ZW5jZUF0dHIuX2dldCIpOwog
ICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSk7Ci0g
ICAgcmV0dXJuIHY4QXJyYXkoaW1wLT5kb3VibGVTZXF1ZW5jZUF0dHIoKSk7CisgICAgcmV0dXJu
IHY4QXJyYXkoaW1wLT5kb3VibGVTZXF1ZW5jZUF0dHIoKSwgaW5mby5HZXRJc29sYXRlKCkpOwog
fQogCiBzdGF0aWMgdm9pZCBkb3VibGVTZXF1ZW5jZUF0dHJBdHRyU2V0dGVyKHY4OjpMb2NhbDx2
ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFj
Y2Vzc29ySW5mbyYgaW5mbykKQEAgLTM5OSw3ICszOTksNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IGJvb2xlYW5TZXF1ZW5jZUF0dHJBdHRyR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3Ry
aW5nPgogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmouYm9vbGVhblNlcXVlbmNlQXR0ci5f
Z2V0Iik7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShpbmZvLkhvbGRl
cigpKTsKLSAgICByZXR1cm4gdjhBcnJheShpbXAtPmJvb2xlYW5TZXF1ZW5jZUF0dHIoKSk7Cisg
ICAgcmV0dXJuIHY4QXJyYXkoaW1wLT5ib29sZWFuU2VxdWVuY2VBdHRyKCksIGluZm8uR2V0SXNv
bGF0ZSgpKTsKIH0KIAogc3RhdGljIHZvaWQgYm9vbGVhblNlcXVlbmNlQXR0ckF0dHJTZXR0ZXIo
djg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBj
b25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQpAQCAtNDE1LDcgKzQxNSw3IEBAIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdm9pZFNlcXVlbmNlQXR0ckF0dHJHZXR0ZXIodjg6OkxvY2Fs
PHY4OjpTdHJpbmc+IG5hCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai52b2lkU2VxdWVu
Y2VBdHRyLl9nZXQiKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGlu
Zm8uSG9sZGVyKCkpOwotICAgIHJldHVybiB2OEFycmF5KGltcC0+dm9pZFNlcXVlbmNlQXR0cigp
KTsKKyAgICByZXR1cm4gdjhBcnJheShpbXAtPnZvaWRTZXF1ZW5jZUF0dHIoKSwgaW5mby5HZXRJ
c29sYXRlKCkpOwogfQogCiBzdGF0aWMgdm9pZCB2b2lkU2VxdWVuY2VBdHRyQXR0clNldHRlcih2
ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNv
bnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCkBAIC00MzEsNyArNDMxLDcgQEAgc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBkYXRlU2VxdWVuY2VBdHRyQXR0ckdldHRlcih2ODo6TG9jYWw8
djg6OlN0cmluZz4gbmEKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLmRhdGVTZXF1ZW5j
ZUF0dHIuX2dldCIpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoaW5m
by5Ib2xkZXIoKSk7Ci0gICAgcmV0dXJuIHY4QXJyYXkoaW1wLT5kYXRlU2VxdWVuY2VBdHRyKCkp
OworICAgIHJldHVybiB2OEFycmF5KGltcC0+ZGF0ZVNlcXVlbmNlQXR0cigpLCBpbmZvLkdldElz
b2xhdGUoKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGRhdGVTZXF1ZW5jZUF0dHJBdHRyU2V0dGVyKHY4
OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgY29u
c3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKQEAgLTEzMjUsNyArMTMyNSw3IEBAIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gc2VyaWFsaXplZFZhbHVlQ2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncykKICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoIk5vdCBlbm91Z2ggYXJn
dW1lbnRzIiwgVjhQcm94eTo6VHlwZUVycm9yKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RP
Ymo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIGJvb2wgc2VyaWFsaXplZEFyZ0RpZFRo
cm93ID0gZmFsc2U7Ci0gICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc2VyaWFsaXpl
ZEFyZyA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbMF0sIDAsIDAsIHNlcmlh
bGl6ZWRBcmdEaWRUaHJvdyk7CisgICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc2Vy
aWFsaXplZEFyZyA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbMF0sIDAsIDAs
IHNlcmlhbGl6ZWRBcmdEaWRUaHJvdywgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIGlmIChzZXJp
YWxpemVkQXJnRGlkVGhyb3cpCiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAg
aW1wLT5zZXJpYWxpemVkVmFsdWUoc2VyaWFsaXplZEFyZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCmluZGV4IGYxZjNiNDhl
NjU0N2EzMzg2Y2EyMDg3ZjhhMzJjODI0NTlkYWMwM2QuLjk2MjQ1MmU1ZDhkYzMzNTQ3NzZhZDUx
Njk2Y2I2NmI3MGY0ZTQ0ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC01Niw3ICs1Niw3IEBAIHN0YXRpYyB2b2lk
IHZhbHVlQXR0clNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvY2FsPHY4
OjpWYWx1ZT4gdmFsCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZS52YWx1ZS5fc2V0Iik7CiAgICAgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZSogaW1wID0gVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjp0
b05hdGl2ZShpbmZvLkhvbGRlcigpKTsKLSAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiB2ID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUodmFsdWUpOworICAgIFJlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+IHYgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSh2
YWx1ZSwgaW5mby5HZXRJc29sYXRlKCkpOwogICAgIGltcC0+c2V0VmFsdWUoV1RGOjpnZXRQdHIo
dikpOwogICAgIHJldHVybjsKIH0KQEAgLTg2LDcgKzg2LDcgQEAgc3RhdGljIHZvaWQgY2FjaGVk
VmFsdWVBdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6
OlZhbHUKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlLmNhY2hlZFZhbHVlLl9zZXQiKTsKICAgICBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlKiBpbXAgPSBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OnRv
TmF0aXZlKGluZm8uSG9sZGVyKCkpOwotICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
IHYgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSh2YWx1ZSk7CisgICAgUmVmUHRyPFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4gdiA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKHZh
bHVlLCBpbmZvLkdldElzb2xhdGUoKSk7CiAgICAgaW1wLT5zZXRDYWNoZWRWYWx1ZShXVEY6Omdl
dFB0cih2KSk7CiAgICAgaW5mby5Ib2xkZXIoKS0+RGVsZXRlSGlkZGVuVmFsdWUodjg6OlN0cmlu
Zzo6TmV3U3ltYm9sKCJjYWNoZWRWYWx1ZSIpKTsgLy8gSW52YWxpZGF0ZSB0aGUgY2FjaGVkIHZh
bHVlLgogICAgIHJldHVybjsKQEAgLTEzMyw3ICsxMzMsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IGFjY2VwdFRyYW5zZmVyTGlzdENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
IGFyZwogICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoIkNvdWxkIG5vdCBleHRyYWN0IHRy
YW5zZmVyYWJsZXMiLCBWOFByb3h5OjpUeXBlRXJyb3IpOwogICAgIH0KICAgICBib29sIGRhdGFE
aWRUaHJvdyA9IGZhbHNlOwotICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGRhdGEg
PSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShhcmdzWzBdLCAmbWVzc2FnZVBvcnRBcnJh
eVRyYW5zZmVyTGlzdCwgJmFycmF5QnVmZmVyQXJyYXlUcmFuc2Zlckxpc3QsIGRhdGFEaWRUaHJv
dyk7CisgICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSA9IFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbMF0sICZtZXNzYWdlUG9ydEFycmF5VHJhbnNmZXJMaXN0
LCAmYXJyYXlCdWZmZXJBcnJheVRyYW5zZmVyTGlzdCwgZGF0YURpZFRocm93LCBhcmdzLkdldElz
b2xhdGUoKSk7CiAgICAgaWYgKGRhdGFEaWRUaHJvdykKICAgICAgICAgcmV0dXJuIHY4OjpVbmRl
ZmluZWQoKTsKICAgICBpZiAoYXJncy5MZW5ndGgoKSA8PSAxKSB7CkBAIC0xNTksNyArMTU5LDcg
QEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtdWx0aVRyYW5zZmVyTGlzdENhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9y
KCJDb3VsZCBub3QgZXh0cmFjdCB0cmFuc2ZlcmFibGVzIiwgVjhQcm94eTo6VHlwZUVycm9yKTsK
ICAgICB9CiAgICAgYm9vbCBmaXJzdERpZFRocm93ID0gZmFsc2U7Ci0gICAgUmVmUHRyPFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZT4gZmlyc3QgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShh
cmdzWzBdLCAmbWVzc2FnZVBvcnRBcnJheVR4LCAmYXJyYXlCdWZmZXJBcnJheVR4LCBmaXJzdERp
ZFRocm93KTsKKyAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBmaXJzdCA9IFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbMF0sICZtZXNzYWdlUG9ydEFycmF5VHgsICZh
cnJheUJ1ZmZlckFycmF5VHgsIGZpcnN0RGlkVGhyb3csIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAg
ICBpZiAoZmlyc3REaWRUaHJvdykKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKICAg
ICBpZiAoYXJncy5MZW5ndGgoKSA8PSAxKSB7CkBAIC0xNzcsNyArMTc3LDcgQEAgc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBtdWx0aVRyYW5zZmVyTGlzdENhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MKICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJDb3VsZCBub3Qg
ZXh0cmFjdCB0cmFuc2ZlcmFibGVzIiwgVjhQcm94eTo6VHlwZUVycm9yKTsKICAgICB9CiAgICAg
Ym9vbCBzZWNvbmREaWRUaHJvdyA9IGZhbHNlOwotICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+IHNlY29uZCA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbMl0sICZt
ZXNzYWdlUG9ydEFycmF5VHh4LCAmYXJyYXlCdWZmZXJBcnJheVR4eCwgc2Vjb25kRGlkVGhyb3cp
OworICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHNlY29uZCA9IFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbMl0sICZtZXNzYWdlUG9ydEFycmF5VHh4LCAmYXJyYXlC
dWZmZXJBcnJheVR4eCwgc2Vjb25kRGlkVGhyb3csIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICBp
ZiAoc2Vjb25kRGlkVGhyb3cpCiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAg
aWYgKGFyZ3MuTGVuZ3RoKCkgPD0gMykgewpAQCAtMjI3LDcgKzIyNyw3IEBAIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmNvbnN0cnVj
dG9yQ2FsbGJhY2soCiAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiQ291bGQgbm90IGV4
dHJhY3QgdHJhbnNmZXJhYmxlcyIsIFY4UHJveHk6OlR5cGVFcnJvcik7CiAgICAgfQogICAgIGJv
b2wgZGF0YURpZFRocm93ID0gZmFsc2U7Ci0gICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4gZGF0YSA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbMV0sICZtZXNzYWdl
UG9ydEFycmF5VHJhbnNmZXJMaXN0LCAmYXJyYXlCdWZmZXJBcnJheVRyYW5zZmVyTGlzdCwgZGF0
YURpZFRocm93KTsKKyAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBkYXRhID0gU2Vy
aWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoYXJnc1sxXSwgJm1lc3NhZ2VQb3J0QXJyYXlUcmFu
c2Zlckxpc3QsICZhcnJheUJ1ZmZlckFycmF5VHJhbnNmZXJMaXN0LCBkYXRhRGlkVGhyb3csIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICAgICBpZiAoZGF0YURpZFRocm93KQogICAgICAgICByZXR1cm4g
djg6OlVuZGVmaW5lZCgpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>