<?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>11809</bug_id>
          
          <creation_ts>2006-12-11 19:37:01 -0800</creation_ts>
          <short_desc>fast/dom/gc-8.html crash in alternate-thread marking code in ScriptInterpreter</short_desc>
          <delta_ts>2006-12-12 00:17:51 -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>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>LayoutTestFailure</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>42652</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2006-12-11 19:37:01 -0800</bug_when>
    <thetext>While working on a large patch, I started to see fast/dom/gc-8.html fail with some regularity.  Talking with a few other members of the WebKit team I&apos;ve learn that others have seen it anywhere from occasionally to regularly, as well.

I&apos;m attaching the stack trace but I can&apos;t capture this in the debugger - the test by itself seems to not fail, and adding tests before it to cause its failure is more of an art than a science.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42653</commentid>
    <comment_count>1</comment_count>
      <attachid>11813</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2006-12-11 19:40:12 -0800</bug_when>
    <thetext>Created attachment 11813
Crash log for the layout test gc-8.html

fast/dom/gc-8.html crash log, here you go!  To repro this, I simply ran run-webkit-tests fast/dom - it crashes about 2/3 the way through the top level directory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42658</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-12-11 21:55:02 -0800</bug_when>
    <thetext>I&apos;ve been seeing the same crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42659</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2006-12-11 21:56:27 -0800</bug_when>
    <thetext>Did anyone see this before I landed the ICU abstraction?  I&apos;m suspicious of that change now even though the crash log looks unrelated.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42660</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2006-12-11 22:02:36 -0800</bug_when>
    <thetext>While the first time I ever saw this problem was today, I haven&apos;t updated since Thursday, so the ICU abstraction is out for my tree...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42661</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2006-12-11 22:07:07 -0800</bug_when>
    <thetext>lemme amend and clarify my statement - I&apos;m running on 18092 + local mods.  Hyatt landed the ICU abstraction in 18098. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42521</commentid>
    <comment_count>6</comment_count>
      <attachid>11814</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-12-11 23:19:06 -0800</bug_when>
    <thetext>Created attachment 11814
patch, including debug harness I used to diagnose and test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42514</commentid>
    <comment_count>7</comment_count>
      <attachid>11814</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-12-11 23:24:47 -0800</bug_when>
    <thetext>Comment on attachment 11814
patch, including debug harness I used to diagnose and test

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42517</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-12-11 23:52:49 -0800</bug_when>
    <thetext>Committed revision 18171.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42512</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-12-12 00:17:51 -0800</bug_when>
    <thetext>Marking as fixed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>11813</attachid>
            <date>2006-12-11 19:40:12 -0800</date>
            <delta_ts>2006-12-11 19:40:12 -0800</delta_ts>
            <desc>Crash log for the layout test gc-8.html</desc>
            <filename>gc-8crashlog.txt</filename>
            <type>text/plain</type>
            <size>5028</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">RXhjZXB0aW9uOiAgRVhDX0JBRF9BQ0NFU1MgKDB4MDAwMSkKQ29kZXM6ICAgICAgS0VSTl9QUk9U
RUNUSU9OX0ZBSUxVUkUgKDB4MDAwMikgYXQgMHgwMDAwMDAyNAoKVGhyZWFkIDA6CjAgICBsaWJT
eXN0ZW0uQi5keWxpYiAgICAgICAgCTB4OTAwMjQ0OWYgc2VtYXBob3JlX3dhaXRfdHJhcCArIDcK
MSAgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAJMHgwMTAzNDY5YiArW1dlYkNvcmVKYXZhU2Ny
aXB0IGdhcmJhZ2VDb2xsZWN0T25BbHRlcm5hdGVUaHJlYWQ6XSArIDkxIChXZWJDb3JlSmF2YVNj
cmlwdC5tbTo5MikKMiAgIGNvbS5hcHBsZS5XZWJLaXQgICAgICAgICAJMHgwMDIwOGVmYSArW1dl
YkNvcmVTdGF0aXN0aWNzIGdhcmJhZ2VDb2xsZWN0SmF2YVNjcmlwdE9iamVjdHNPbkFsdGVybmF0
ZVRocmVhZDpdICsgNTYKMyAgIER1bXBSZW5kZXJUcmVlICAgICAgICAgICAJMHgwMDAwYmIwMSAt
W0dDQ29udHJvbGxlciBjb2xsZWN0T25BbHRlcm5hdGVUaHJlYWQ6XSArIDQ1IChHQ0NvbnRyb2xs
ZXIubW06NTkpCjQgICBsaWJvYmpjLkEuZHlsaWIgICAgICAgICAgCTB4OTBhNTdkNzYgb2JqY19t
c2dTZW5kdiArIDU0CjUgICBjb20uYXBwbGUuRm91bmRhdGlvbiAgICAgCTB4OTI1ZmM0M2UgLVtO
U0ludm9jYXRpb24gaW52b2tlXSArIDkzMgo2ICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIAkw
eDAwM2Y2YjA2IEtKUzo6QmluZGluZ3M6Ok9iamNJbnN0YW5jZTo6aW52b2tlTWV0aG9kKEtKUzo6
RXhlY1N0YXRlKiwgS0pTOjpCaW5kaW5nczo6TWV0aG9kTGlzdCBjb25zdCYsIEtKUzo6TGlzdCBj
b25zdCYpICsgMTYyOCAob2JqY19pbnN0YW5jZS5tbToyMDkpCjcgICBjb20uYXBwbGUuSmF2YVNj
cmlwdENvcmUgCTB4MDAzZjIxYmIgS0pTOjpSdW50aW1lTWV0aG9kOjpjYWxsQXNGdW5jdGlvbihL
SlM6OkV4ZWNTdGF0ZSosIEtKUzo6SlNPYmplY3QqLCBLSlM6Okxpc3QgY29uc3QmKSArIDIyNyAo
cnVudGltZV9tZXRob2QuY3BwOjg4KQo4ICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIAkweDAw
M2QzNzhjIEtKUzo6SlNPYmplY3Q6OmNhbGwoS0pTOjpFeGVjU3RhdGUqLCBLSlM6OkpTT2JqZWN0
KiwgS0pTOjpMaXN0IGNvbnN0JikgKyAyMTAgKG9iamVjdC5jcHA6OTYpCjkgICBjb20uYXBwbGUu
SmF2YVNjcmlwdENvcmUgCTB4MDAzYzk2MTMgS0pTOjpGdW5jdGlvbkNhbGxEb3ROb2RlOjpldmFs
dWF0ZShLSlM6OkV4ZWNTdGF0ZSopICsgODQzIChub2Rlcy5jcHA6NzcyKQoxMCAgY29tLmFwcGxl
LkphdmFTY3JpcHRDb3JlIAkweDAwM2M2ODMwIEtKUzo6RXhwclN0YXRlbWVudE5vZGU6OmV4ZWN1
dGUoS0pTOjpFeGVjU3RhdGUqKSArIDE0OCAobm9kZXMuY3BwOjE2NzIpCjExICBjb20uYXBwbGUu
SmF2YVNjcmlwdENvcmUgCTB4MDAzYzQ0MjggS0pTOjpTb3VyY2VFbGVtZW50c05vZGU6OmV4ZWN1
dGUoS0pTOjpFeGVjU3RhdGUqKSArIDI1NiAobm9kZXMuY3BwOjI0NDkpCjEyICBjb20uYXBwbGUu
SmF2YVNjcmlwdENvcmUgCTB4MDAzYzJkNjAgS0pTOjpCbG9ja05vZGU6OmV4ZWN1dGUoS0pTOjpF
eGVjU3RhdGUqKSArIDE0MCAobm9kZXMuY3BwOjE2NDgpCjEzICBjb20uYXBwbGUuSmF2YVNjcmlw
dENvcmUgCTB4MDAzYmMzODUgS0pTOjpJbnRlcnByZXRlcjo6ZXZhbHVhdGUoS0pTOjpVU3RyaW5n
IGNvbnN0JiwgaW50LCBLSlM6OlVDaGFyIGNvbnN0KiwgaW50LCBLSlM6OkpTVmFsdWUqKSArIDk3
NyAoaW50ZXJwcmV0ZXIuY3BwOjQ3OCkKMTQgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAJMHgw
MTI0NjA3OSBXZWJDb3JlOjpLSlNQcm94eTo6ZXZhbHVhdGUoV2ViQ29yZTo6U3RyaW5nIGNvbnN0
JiwgaW50LCBXZWJDb3JlOjpTdHJpbmcgY29uc3QmLCBXZWJDb3JlOjpOb2RlKikgKyAzMTkgKGtq
c19wcm94eS5jcHA6NjUpCjE1ICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgCTB4MDEzNzcwNWQg
V2ViQ29yZTo6RnJhbWVMb2FkZXI6OmV4ZWN1dGVTY3JpcHQoV2ViQ29yZTo6U3RyaW5nIGNvbnN0
JiwgaW50LCBXZWJDb3JlOjpOb2RlKiwgV2ViQ29yZTo6U3RyaW5nIGNvbnN0JikgKyA5OSAoRnJh
bWVMb2FkZXIuY3BwOjY4OSkKMTYgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAJMHgwMTM3NzEw
YiBXZWJDb3JlOjpGcmFtZUxvYWRlcjo6ZXhlY3V0ZVNjcmlwdChXZWJDb3JlOjpOb2RlKiwgV2Vi
Q29yZTo6U3RyaW5nIGNvbnN0JiwgYm9vbCkgKyAxMjMgKEZyYW1lTG9hZGVyLmNwcDo2NzcpCjE3
ICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgCTB4MDEyNGQwOWUgS0pTOjpTY2hlZHVsZWRBY3Rp
b246OmV4ZWN1dGUoS0pTOjpXaW5kb3cqKSArIDgyNiAoa2pzX3dpbmRvdy5jcHA6MTgyNCkKMTgg
IGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAJMHgwMTI0Zjk5MiBLSlM6OldpbmRvdzo6dGltZXJG
aXJlZChLSlM6OkRPTVdpbmRvd1RpbWVyKikgKyA0MDIgKGtqc193aW5kb3cuY3BwOjE5NDEpCjE5
ICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgCTB4MDEyNGY5ZTkgS0pTOjpET01XaW5kb3dUaW1l
cjo6ZmlyZWQoKSArIDQ3IChranNfd2luZG93LmNwcDoyNDg1KQoyMCAgY29tLmFwcGxlLldlYkNv
cmUgICAgICAgIAkweDAxMWViOTAyIFdlYkNvcmU6OlRpbWVyQmFzZTo6ZmlyZVRpbWVycyhkb3Vi
bGUsIFdURjo6VmVjdG9yPFdlYkNvcmU6OlRpbWVyQmFzZSosICh1bnNpZ25lZCBsb25nKTA+IGNv
bnN0JikgKyAxOTYgKFRpbWVyLmNwcDozMjIpCjIxICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAg
CTB4MDExZWI5OWYgV2ViQ29yZTo6VGltZXJCYXNlOjpzaGFyZWRUaW1lckZpcmVkKCkgKyAxMDkg
KFRpbWVyLmNwcDozNTUpCjIyICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgCTB4MDExZWIwNTYg
V2ViQ29yZTo6dGltZXJGaXJlZChfX0NGUnVuTG9vcFRpbWVyKiwgdm9pZCopICsgMjIgKFNoYXJl
ZFRpbWVyTWFjLmNwcDo0NykKMjMgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAJMHg5MDgyOTgy
MiBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDMzNDEKMjQgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlv
biAJMHg5MDgyOGIwZSBDRlJ1bkxvb3BSdW5Jbk1vZGUgKyA2MQoyNSAgY29tLmFwcGxlLkZvdW5k
YXRpb24gICAgIAkweDkyNjJhZGM2IC1bTlNSdW5Mb29wIHJ1bk1vZGU6YmVmb3JlRGF0ZTpdICsg
MTgyCjI2ICBEdW1wUmVuZGVyVHJlZSAgICAgICAgICAgCTB4MDAwMDkwMWEgcnVuVGVzdCArIDk0
MiAoRHVtcFJlbmRlclRyZWUubTo5OTUpCjI3ICBEdW1wUmVuZGVyVHJlZSAgICAgICAgICAgCTB4
MDAwMDYxZTEgZHVtcFJlbmRlclRyZWUgKyAzMzQxIChEdW1wUmVuZGVyVHJlZS5tOjM2MikKMjgg
IER1bXBSZW5kZXJUcmVlICAgICAgICAgICAJMHgwMDAwNjNlYSBtYWluICsgNzAgKER1bXBSZW5k
ZXJUcmVlLm06NDAxKQoyOSAgRHVtcFJlbmRlclRyZWUgICAgICAgICAgIAkweDAwMDAyM2M2IF9z
dGFydCArIDIxNgozMCAgRHVtcFJlbmRlclRyZWUgICAgICAgICAgIAkweDAwMDAyMmVkIHN0YXJ0
ICsgNDEKClRocmVhZCAxOgowICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgIAkweDkwMDA5ODU3
IG1hY2hfbXNnX3RyYXAgKyA3CjEgICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gCTB4OTA4Mjky
ZjMgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyAyMDE0CjIgICBjb20uYXBwbGUuQ29yZUZvdW5kYXRp
b24gCTB4OTA4MjhiMGUgQ0ZSdW5Mb29wUnVuSW5Nb2RlICsgNjEKMyAgIGNvbS5hcHBsZS5Gb3Vu
ZGF0aW9uICAgICAJMHg5MjY1MWM0ZSArW05TVVJMQ2FjaGUgX2Rpc2tDYWNoZVN5bmNMb29wOl0g
KyAyMDYKNCAgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uICAgICAJMHg5MjVmNTM2YyBmb3JrVGhyZWFk
Rm9yRnVuY3Rpb24gKyAxMjMKNSAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAJMHg5MDAyM2Q4
NyBfcHRocmVhZF9ib2R5ICsgODQKClRocmVhZCAyOgowICAgbGliU3lzdGVtLkIuZHlsaWIgICAg
ICAgIAkweDkwMDA5ODU3IG1hY2hfbXNnX3RyYXAgKyA3CjEgICBjb20uYXBwbGUuQ29yZUZvdW5k
YXRpb24gCTB4OTA4MjkyZjMgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyAyMDE0CjIgICBjb20uYXBw
bGUuQ29yZUZvdW5kYXRpb24gCTB4OTA4MjhiMGUgQ0ZSdW5Mb29wUnVuSW5Nb2RlICsgNjEKMyAg
IGNvbS5hcHBsZS5Gb3VuZGF0aW9uICAgICAJMHg5MjYyYWE5YiArW05TVVJMQ29ubmVjdGlvbihO
U1VSTENvbm5lY3Rpb25JbnRlcm5hbCkgX3Jlc291cmNlTG9hZExvb3A6XSArIDI1OQo0ICAgY29t
LmFwcGxlLkZvdW5kYXRpb24gICAgIAkweDkyNWY1MzZjIGZvcmtUaHJlYWRGb3JGdW5jdGlvbiAr
IDEyMwo1ICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgIAkweDkwMDIzZDg3IF9wdGhyZWFkX2Jv
ZHkgKyA4NAoKVGhyZWFkIDMgQ3Jhc2hlZDoKMCAgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAJ
MHgwMTIyZjM2YSBLSlM6OlNjcmlwdEludGVycHJldGVyOjptYXJrKGJvb2wpICsgNDU2IChranNf
YmluZGluZy5jcHA6MTc3KQoxICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlIAkweDAwM2FkOGYx
IEtKUzo6Q29sbGVjdG9yOjpjb2xsZWN0KCkgKyAxNTkgKGNvbGxlY3Rvci5jcHA6NDc1KQoyICAg
Y29tLmFwcGxlLldlYkNvcmUgICAgICAgIAkweDAxMDM0NThmIGNvbGxlY3Qodm9pZCopICsgMjMg
KFdlYkNvcmVKYXZhU2NyaXB0Lm1tOjQyKQozICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgIAkw
eDkwMDIzZDg3IF9wdGhyZWFkX2JvZHkgKyA4NAoKVGhyZWFkIDMgY3Jhc2hlZCB3aXRoIFg4NiBU
aHJlYWQgU3RhdGUgKDMyLWJpdCk6CiAgZWF4OiAweDAwMDAwMDI0ICAgIGVieDogMHgwMDNhZDg1
ZSBlY3g6IDB4YjAxOWZkYWMgZWR4OiAweDAyMDYyOTU4CiAgZWRpOiAweDAwMDAwMDAwICAgIGVz
aTogMHgwMDAwMDAwMCBlYnA6IDB4YjAxOWZlODggZXNwOiAweGIwMTlmZGQwCiAgIHNzOiAweDAw
MDAwMDFmICAgIGVmbDogMHgwMDAxMDIwNiBlaXA6IDB4MDEyMmYzNmEgIGNzOiAweDAwMDAwMDE3
CiAgIGRzOiAweDAwMDAwMDFmICAgICBlczogMHgwMDAwMDAxZiAgZnM6IDB4MDAwMDAwMDAgIGdz
OiAweDAwMDAwMDM3
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11814</attachid>
            <date>2006-12-11 23:19:06 -0800</date>
            <delta_ts>2006-12-11 23:24:47 -0800</delta_ts>
            <desc>patch, including debug harness I used to diagnose and test</desc>
            <filename>GC8CrashPatch.txt</filename>
            <type>text/plain</type>
            <size>11037</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE4MTcw
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzkgQEAKKzIwMDYtMTIt
MTEgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gZml4IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExODA5CisgICAgICAgICAgZmFzdC9kb20vZ2MtOC5odG1sIGNyYXNo
IGluIGFsdGVybmF0ZS10aHJlYWQgbWFya2luZyBjb2RlIGluIFNjcmlwdEludGVycHJldGVyCisK
KyAgICAgICAgRG9jdW1lbnRUeXBlIG9iamVjdHMgd2VyZSBnZXR0aW5nIGZpbGVkIHVuZGVyIHRo
ZSB3cm9uZyBkb2N1bWVudCBpbiB0aGUKKyAgICAgICAgRE9NIG9iamVjdHMgc3RydWN0dXJlLgor
CisgICAgICAgICogYmluZGluZ3MvanMva2pzX2JpbmRpbmcuaDogQWRkZWQgYSBkZXN0cnVjdG9y
IGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMgb25seS4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9ranNf
YmluZGluZy5jcHA6CisgICAgICAgIChLSlM6OndyYXBwZXJTZXQpOiBBZGRlZC4gU2V0IG9mIG91
dHN0YW5kaW5nIHdyYXBwZXJzIGZvciBkZWJ1Z2dpbmcuCisgICAgICAgIChLSlM6OmFkZFdyYXBw
ZXIpOiBBZGRlZC4KKyAgICAgICAgKEtKUzo6cmVtb3ZlV3JhcHBlcik6IEFkZGVkLgorICAgICAg
ICAoS0pTOjpyZW1vdmVXcmFwcGVycyk6IEFkZGVkLgorICAgICAgICAoS0pTOjpET01PYmplY3Q6
On5ET01PYmplY3QpOiBBZGRlZC4gQXNzZXJ0cyB0aGF0IHRoZXJlIGlzIG5vIG91dHN0YW5kaW5n
IHJlZmVyZW5jZQorICAgICAgICB0byB0aGlzIHdyYXBwZXIgc2luY2UgaXQncyBiZWluZyBkZXN0
cm95ZWQuCisgICAgICAgIChLSlM6OlNjcmlwdEludGVycHJldGVyOjpwdXRET01PYmplY3QpOiBB
ZGRlZCBhIGNhbGwgdG8gQUREX1dSQVBQRVIuCisgICAgICAgIChLSlM6OlNjcmlwdEludGVycHJl
dGVyOjpmb3JnZXRET01PYmplY3QpOiBBZGRlZCBhIGNhbGwgdG8gUkVNT1ZFX1dSQVBQRVIuCisg
ICAgICAgIChLSlM6OlNjcmlwdEludGVycHJldGVyOjpmb3JnZXRET01Ob2RlRm9yRG9jdW1lbnQp
OiBBZGRlZCBhIGNhbGwgdG8gUkVNT1ZFX1dSQVBQRVIuCisgICAgICAgIChLSlM6OlNjcmlwdElu
dGVycHJldGVyOjpwdXRET01Ob2RlRm9yRG9jdW1lbnQpOiBBZGRlZCBhIGNhbGwgdG8gQUREX1dS
QVBQRVIuCisgICAgICAgIChLSlM6OlNjcmlwdEludGVycHJldGVyOjpmb3JnZXRBbGxET01Ob2Rl
c0ZvckRvY3VtZW50KTogQWRkZWQgYSBjYWxsIHRvIFJFTU9WRV9XUkFQUEVSUy4KKyAgICAgICAg
KEtKUzo6U2NyaXB0SW50ZXJwcmV0ZXI6OnVwZGF0ZURPTU5vZGVEb2N1bWVudCk6IEFkZGVkIGNh
bGxzIHRvIFJFTU9WRV9XUkFQUEVSIGFuZAorICAgICAgICBBRERfV1JBUFBFUiBzbyB0aGUgb3V0
LW9mLW9yZGVyIHRyYW5zYWN0aW9uIGRvZXNuJ3QgdXBzZXQgdGhlIGFzc2VydGlvbnMgaW4gdGhl
IGZ1bmN0aW9ucworICAgICAgICB3ZSdyZSBjYWxsaW5nLiBBbm90aGVyIHNvbHV0aW9uIHdvdWxk
IGJlIHRvIHJlb3JkZXIgdGhlIHR3bywgYnV0IEkgdGhpbmsgdGhhdCB3b3VsZAorICAgICAgICBj
cmVhdGUgYSByYWNlIHdoZXJlIGFub3RoZXIgdGhyZWFkIGNvdWxkIGdhcmJhZ2UgY29sbGVjdCBh
ZnRlciB0aGUgZm9yZ2V0IGJ1dCBiZWZvcmUgdGhlIHB1dC4KKyAgICAgICAgKEtKUzo6U2NyaXB0
SW50ZXJwcmV0ZXI6Ondhc1J1bkJ5VXNlckdlc3R1cmUpOiBUd2Vha2VkIGZvcm1hdHRpbmcuCisK
KyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOiAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFkb3B0Tm9k
ZSk6IFJlbW92ZWQgY2FsbCB0byB1cGRhdGVET01Ob2RlRG9jdW1lbnQKKyAgICAgICAgc2luY2Ug
c2V0RG9jdW1lbnQgbm93IHRha2VzIGNhcmUgb2YgdGhhdC4KKyAgICAgICAgKiBkb20vTm9kZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpzZXREb2N1bWVudCk6IEFkZGVkIGNhbGwgdG8g
dXBkYXRlRE9NTm9kZURvY3VtZW50IGhlcmUuCisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpjaGVj
a0FkZENoaWxkKTogUmVtb3ZlZCBjYWxsIHRvIHVwZGF0ZURPTU5vZGVEb2N1bWVudCBzaW5jZSBz
ZXREb2N1bWVudAorICAgICAgICBub3cgdGFrZXMgY2FyZSBvZiB0aGF0LgorCiAyMDA2LTEyLTEx
ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAbnlwb3AuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluLgpJbmRleDogYmluZGluZ3MvanMva2pzX2JpbmRpbmcuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIGJpbmRpbmdzL2pzL2tqc19iaW5kaW5nLmNwcAkocmV2aXNpb24gMTgxNjkpCisrKyBiaW5k
aW5ncy9qcy9ranNfYmluZGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwLDE5ICs2MCw2NyBA
QCBVU3RyaW5nIERPTU9iamVjdDo6dG9TdHJpbmcoRXhlY1N0YXRlKikgCiAgICAgcmV0dXJuICJb
b2JqZWN0ICIgKyBjbGFzc05hbWUoKSArICJdIjsKIH0KIAorLy8gRm9yIGRlYnVnZ2luZywga2Vl
cCBhIHNldCBvZiB3cmFwcGVycyBjdXJyZW50bHkgcmVnaXN0ZXJlZCwgYW5kIGNoZWNrIHRoYXQK
Ky8vIGFsbCBhcmUgdW5yZWdpc3RlcmVkIGJlZm9yZSB0aGV5IGFyZSBkZXN0cm95ZWQuIFRoaXMg
aGFzIGhlbHBlZCB1cyBmaXggYXQKKy8vIGxlYXN0IG9uZSBidWcuCisKKyNpZmRlZiBOREVCVUcK
KworI2RlZmluZSBBRERfV1JBUFBFUih3cmFwcGVyKQorI2RlZmluZSBSRU1PVkVfV1JBUFBFUih3
cmFwcGVyKQorI2RlZmluZSBSRU1PVkVfV1JBUFBFUlMod3JhcHBlcnMpCisKKyNlbHNlCisKKyNk
ZWZpbmUgQUREX1dSQVBQRVIod3JhcHBlcikgYWRkV3JhcHBlcih3cmFwcGVyKQorI2RlZmluZSBS
RU1PVkVfV1JBUFBFUih3cmFwcGVyKSByZW1vdmVXcmFwcGVyKHdyYXBwZXIpCisjZGVmaW5lIFJF
TU9WRV9XUkFQUEVSUyh3cmFwcGVycykgcmVtb3ZlV3JhcHBlcnMod3JhcHBlcnMpCisKK3N0YXRp
YyBIYXNoU2V0PERPTU9iamVjdCo+KiB3cmFwcGVyU2V0KCkKK3sKKyAgICBzdGF0aWMgSGFzaFNl
dDxET01PYmplY3QqPiogc2V0ID0gbmV3IEhhc2hTZXQ8RE9NT2JqZWN0Kj47CisgICAgcmV0dXJu
IHNldDsKK30KKworc3RhdGljIHZvaWQgYWRkV3JhcHBlcihET01PYmplY3QqIHdyYXBwZXIpCit7
CisgICAgQVNTRVJUKCF3cmFwcGVyU2V0KCktPmNvbnRhaW5zKHdyYXBwZXIpKTsKKyAgICB3cmFw
cGVyU2V0KCktPmFkZCh3cmFwcGVyKTsKK30KKworc3RhdGljIHZvaWQgcmVtb3ZlV3JhcHBlcihE
T01PYmplY3QqIHdyYXBwZXIpCit7CisgICAgaWYgKCF3cmFwcGVyKQorICAgICAgICByZXR1cm47
CisgICAgQVNTRVJUKHdyYXBwZXJTZXQoKS0+Y29udGFpbnMod3JhcHBlcikpOworICAgIHdyYXBw
ZXJTZXQoKS0+cmVtb3ZlKHdyYXBwZXIpOworfQorCitzdGF0aWMgdm9pZCByZW1vdmVXcmFwcGVy
cyhjb25zdCBOb2RlTWFwJiB3cmFwcGVycykKK3sKKyAgICBmb3IgKE5vZGVNYXA6OmNvbnN0X2l0
ZXJhdG9yIGl0ID0gd3JhcHBlcnMuYmVnaW4oKTsgaXQgIT0gd3JhcHBlcnMuZW5kKCk7ICsraXQp
CisgICAgICAgIHJlbW92ZVdyYXBwZXIoaXQtPnNlY29uZCk7Cit9CisKK0RPTU9iamVjdDo6fkRP
TU9iamVjdCgpCit7CisgICAgQVNTRVJUKCF3cmFwcGVyU2V0KCktPmNvbnRhaW5zKHRoaXMpKTsK
K30KKworI2VuZGlmCisKIHN0YXRpYyBET01PYmplY3RNYXAqIGRvbU9iamVjdHMoKQogeyAKLSAg
ICBzdGF0aWMgRE9NT2JqZWN0TWFwKiBzdGF0aWNEb21PYmplY3RzID0gbmV3IERPTU9iamVjdE1h
cCgpOwotICAgIHJldHVybiBzdGF0aWNEb21PYmplY3RzOworICAgIHN0YXRpYyBET01PYmplY3RN
YXAqIHN0YXRpY0RPTU9iamVjdHMgPSBuZXcgRE9NT2JqZWN0TWFwOworICAgIHJldHVybiBzdGF0
aWNET01PYmplY3RzOwogfQogCiBzdGF0aWMgTm9kZVBlckRvY01hcCogZG9tTm9kZXNQZXJEb2N1
bWVudCgpCiB7Ci0gIHN0YXRpYyBOb2RlUGVyRG9jTWFwKiBzdGF0aWNET01Ob2Rlc1BlckRvY3Vt
ZW50ID0gbmV3IE5vZGVQZXJEb2NNYXAoKTsKLSAgcmV0dXJuIHN0YXRpY0RPTU5vZGVzUGVyRG9j
dW1lbnQ7CisgICAgc3RhdGljIE5vZGVQZXJEb2NNYXAqIHN0YXRpY0RPTU5vZGVzUGVyRG9jdW1l
bnQgPSBuZXcgTm9kZVBlckRvY01hcDsKKyAgICByZXR1cm4gc3RhdGljRE9NTm9kZXNQZXJEb2N1
bWVudDsKIH0KIAotCiBTY3JpcHRJbnRlcnByZXRlcjo6U2NyaXB0SW50ZXJwcmV0ZXIoSlNPYmpl
Y3QqIGdsb2JhbCwgRnJhbWUqIGZyYW1lKQogICAgIDogSW50ZXJwcmV0ZXIoZ2xvYmFsKQogICAg
ICwgbV9mcmFtZShmcmFtZSkKQEAgLTg5LDEzICsxMzcsMTUgQEAgRE9NT2JqZWN0KiBTY3JpcHRJ
bnRlcnByZXRlcjo6Z2V0RE9NT2JqZQogICAgIHJldHVybiBkb21PYmplY3RzKCktPmdldChvYmpl
Y3RIYW5kbGUpOwogfQogCi12b2lkIFNjcmlwdEludGVycHJldGVyOjpwdXRET01PYmplY3Qodm9p
ZCogb2JqZWN0SGFuZGxlLCBET01PYmplY3QqIG9iaikgCit2b2lkIFNjcmlwdEludGVycHJldGVy
OjpwdXRET01PYmplY3Qodm9pZCogb2JqZWN0SGFuZGxlLCBET01PYmplY3QqIHdyYXBwZXIpIAog
ewotICAgIGRvbU9iamVjdHMoKS0+c2V0KG9iamVjdEhhbmRsZSwgb2JqKTsKKyAgICBBRERfV1JB
UFBFUih3cmFwcGVyKTsKKyAgICBkb21PYmplY3RzKCktPnNldChvYmplY3RIYW5kbGUsIHdyYXBw
ZXIpOwogfQogCiB2b2lkIFNjcmlwdEludGVycHJldGVyOjpmb3JnZXRET01PYmplY3Qodm9pZCog
b2JqZWN0SGFuZGxlKQogeworICAgIFJFTU9WRV9XUkFQUEVSKGRvbU9iamVjdHMoKS0+Z2V0KG9i
amVjdEhhbmRsZSkpOwogICAgIGRvbU9iamVjdHMoKS0+cmVtb3ZlKG9iamVjdEhhbmRsZSk7CiB9
CiAKQEAgLTExMSw2ICsxNjEsNyBAQCBET01Ob2RlKiBTY3JpcHRJbnRlcnByZXRlcjo6Z2V0RE9N
Tm9kZUZvCiAKIHZvaWQgU2NyaXB0SW50ZXJwcmV0ZXI6OmZvcmdldERPTU5vZGVGb3JEb2N1bWVu
dChEb2N1bWVudCogZG9jdW1lbnQsIE5vZGUqIG5vZGUpCiB7CisgICAgUkVNT1ZFX1dSQVBQRVIo
Z2V0RE9NTm9kZUZvckRvY3VtZW50KGRvY3VtZW50LCBub2RlKSk7CiAgICAgaWYgKCFkb2N1bWVu
dCkgewogICAgICAgICBkb21PYmplY3RzKCktPnJlbW92ZShub2RlKTsKICAgICAgICAgcmV0dXJu
OwpAQCAtMTIwLDEwICsxNzEsMTEgQEAgdm9pZCBTY3JpcHRJbnRlcnByZXRlcjo6Zm9yZ2V0RE9N
Tm9kZUZvcgogICAgICAgICBkb2N1bWVudERpY3QtPnJlbW92ZShub2RlKTsKIH0KIAotdm9pZCBT
Y3JpcHRJbnRlcnByZXRlcjo6cHV0RE9NTm9kZUZvckRvY3VtZW50KERvY3VtZW50KiBkb2N1bWVu
dCwgTm9kZSogbm9kZSwgRE9NTm9kZSogbm9kZVdyYXBwZXIpCit2b2lkIFNjcmlwdEludGVycHJl
dGVyOjpwdXRET01Ob2RlRm9yRG9jdW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBOb2RlKiBub2Rl
LCBET01Ob2RlKiB3cmFwcGVyKQogeworICAgIEFERF9XUkFQUEVSKHdyYXBwZXIpOwogICAgIGlm
ICghZG9jdW1lbnQpIHsKLSAgICAgICAgZG9tT2JqZWN0cygpLT5zZXQobm9kZSwgbm9kZVdyYXBw
ZXIpOworICAgICAgICBkb21PYmplY3RzKCktPnNldChub2RlLCB3cmFwcGVyKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICAgICBOb2RlTWFwKiBkb2N1bWVudERpY3QgPSBkb21Ob2Rlc1BlckRv
Y3VtZW50KCktPmdldChkb2N1bWVudCk7CkBAIC0xMzEsMTQgKzE4MywxNSBAQCB2b2lkIFNjcmlw
dEludGVycHJldGVyOjpwdXRET01Ob2RlRm9yRG9jCiAgICAgICAgIGRvY3VtZW50RGljdCA9IG5l
dyBOb2RlTWFwOwogICAgICAgICBkb21Ob2Rlc1BlckRvY3VtZW50KCktPnNldChkb2N1bWVudCwg
ZG9jdW1lbnREaWN0KTsKICAgICB9Ci0gICAgZG9jdW1lbnREaWN0LT5zZXQobm9kZSwgbm9kZVdy
YXBwZXIpOworICAgIGRvY3VtZW50RGljdC0+c2V0KG5vZGUsIHdyYXBwZXIpOwogfQogCiB2b2lk
IFNjcmlwdEludGVycHJldGVyOjpmb3JnZXRBbGxET01Ob2Rlc0ZvckRvY3VtZW50KERvY3VtZW50
KiBkb2N1bWVudCkKIHsKLSAgICBhc3NlcnQoZG9jdW1lbnQpOworICAgIEFTU0VSVChkb2N1bWVu
dCk7CiAgICAgTm9kZVBlckRvY01hcDo6aXRlcmF0b3IgaXQgPSBkb21Ob2Rlc1BlckRvY3VtZW50
KCktPmZpbmQoZG9jdW1lbnQpOwogICAgIGlmIChpdCAhPSBkb21Ob2Rlc1BlckRvY3VtZW50KCkt
PmVuZCgpKSB7CisgICAgICAgIFJFTU9WRV9XUkFQUEVSUygqaXQtPnNlY29uZCk7CiAgICAgICAg
IGRlbGV0ZSBpdC0+c2Vjb25kOwogICAgICAgICBkb21Ob2Rlc1BlckRvY3VtZW50KCktPnJlbW92
ZShpdCk7CiAgICAgfQpAQCAtMTU5LDcgKzIxMiw3IEBAIHZvaWQgU2NyaXB0SW50ZXJwcmV0ZXI6
Om1hcmsoYm9vbCBjdXJyZW4KICAgICAgICAgICAgICAgICBub2RlLT5tYXJrKCk7CiAgICAgICAg
IH0KICAgICB9Ci0gIAorCiAgICAgaWYgKCFjdXJyZW50VGhyZWFkSXNNYWluVGhyZWFkKSB7CiAg
ICAgICAgIC8vIE9uIGFsdGVybmF0ZSB0aHJlYWRzLCBET01PYmplY3RzIHJlbWFpbiBpbiB0aGUg
Y2FjaGUgYmVjYXVzZSB0aGV5J3JlIG5vdCBjb2xsZWN0ZWQuCiAgICAgICAgIC8vIFNvLCB0aGV5
IG5lZWQgYW4gb3Bwb3J0dW5pdHkgdG8gbWFyayB0aGVpciBjaGlsZHJlbi4KQEAgLTE3MCw3ICsy
MjMsNyBAQCB2b2lkIFNjcmlwdEludGVycHJldGVyOjptYXJrKGJvb2wgY3VycmVuCiAgICAgICAg
ICAgICAgICAgb2JqZWN0LT5tYXJrKCk7CiAgICAgICAgIH0KICAgICB9Ci0gIAorCiAgICAgSW50
ZXJwcmV0ZXI6Om1hcmsoY3VycmVudFRocmVhZElzTWFpblRocmVhZCk7CiB9CiAKQEAgLTE4NCwx
MCArMjM3LDEzIEBAIEV4ZWNTdGF0ZSogU2NyaXB0SW50ZXJwcmV0ZXI6Omdsb2JhbEV4ZWMKIAog
dm9pZCBTY3JpcHRJbnRlcnByZXRlcjo6dXBkYXRlRE9NTm9kZURvY3VtZW50KE5vZGUqIG5vZGUs
IERvY3VtZW50KiBvbGREb2MsIERvY3VtZW50KiBuZXdEb2MpCiB7Ci0gICAgRE9NTm9kZSogY2Fj
aGVkUmVzb3VyY2UgPSBnZXRET01Ob2RlRm9yRG9jdW1lbnQob2xkRG9jLCBub2RlKTsKLSAgICBp
ZiAoY2FjaGVkUmVzb3VyY2UpIHsKLSAgICAgICAgcHV0RE9NTm9kZUZvckRvY3VtZW50KG5ld0Rv
Yywgbm9kZSwgY2FjaGVkUmVzb3VyY2UpOworICAgIEFTU0VSVChvbGREb2MgIT0gbmV3RG9jKTsK
KyAgICBET01Ob2RlKiB3cmFwcGVyID0gZ2V0RE9NTm9kZUZvckRvY3VtZW50KG9sZERvYywgbm9k
ZSk7CisgICAgaWYgKHdyYXBwZXIpIHsKKyAgICAgICAgUkVNT1ZFX1dSQVBQRVIod3JhcHBlcik7
CisgICAgICAgIHB1dERPTU5vZGVGb3JEb2N1bWVudChuZXdEb2MsIG5vZGUsIHdyYXBwZXIpOwog
ICAgICAgICBmb3JnZXRET01Ob2RlRm9yRG9jdW1lbnQob2xkRG9jLCBub2RlKTsKKyAgICAgICAg
QUREX1dSQVBQRVIod3JhcHBlcik7CiAgICAgfQogfQogCkBAIC0xOTYsMTUgKzI1MiwxNSBAQCBi
b29sIFNjcmlwdEludGVycHJldGVyOjp3YXNSdW5CeVVzZXJHZXN0CiAgICAgaWYgKG1fY3VycmVu
dEV2ZW50KSB7CiAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSA9IG1fY3VycmVudEV2
ZW50LT50eXBlKCk7CiAgICAgICAgIGJvb2wgZXZlbnRPayA9ICggLy8gbW91c2UgZXZlbnRzCi0g
ICAgICAgIHR5cGUgPT0gY2xpY2tFdmVudCB8fCB0eXBlID09IG1vdXNlZG93bkV2ZW50IHx8Ci0g
ICAgICAgIHR5cGUgPT0gbW91c2V1cEV2ZW50IHx8IHR5cGUgPT0gZGJsY2xpY2tFdmVudCB8fAot
ICAgICAgICAvLyBrZXlib2FyZCBldmVudHMKLSAgICAgICAgdHlwZSA9PSBrZXlkb3duRXZlbnQg
fHwgdHlwZSA9PSBrZXlwcmVzc0V2ZW50IHx8Ci0gICAgICAgIHR5cGUgPT0ga2V5dXBFdmVudCB8
fAotICAgICAgICAvLyBvdGhlciBhY2NlcHRlZCBldmVudHMKLSAgICAgICAgdHlwZSA9PSBzZWxl
Y3RFdmVudCB8fCB0eXBlID09IGNoYW5nZUV2ZW50IHx8Ci0gICAgICAgIHR5cGUgPT0gZm9jdXNF
dmVudCB8fCB0eXBlID09IGJsdXJFdmVudCB8fAotICAgICAgICB0eXBlID09IHN1Ym1pdEV2ZW50
KTsKKyAgICAgICAgICAgIHR5cGUgPT0gY2xpY2tFdmVudCB8fCB0eXBlID09IG1vdXNlZG93bkV2
ZW50IHx8CisgICAgICAgICAgICB0eXBlID09IG1vdXNldXBFdmVudCB8fCB0eXBlID09IGRibGNs
aWNrRXZlbnQgfHwKKyAgICAgICAgICAgIC8vIGtleWJvYXJkIGV2ZW50cworICAgICAgICAgICAg
dHlwZSA9PSBrZXlkb3duRXZlbnQgfHwgdHlwZSA9PSBrZXlwcmVzc0V2ZW50IHx8CisgICAgICAg
ICAgICB0eXBlID09IGtleXVwRXZlbnQgfHwKKyAgICAgICAgICAgIC8vIG90aGVyIGFjY2VwdGVk
IGV2ZW50cworICAgICAgICAgICAgdHlwZSA9PSBzZWxlY3RFdmVudCB8fCB0eXBlID09IGNoYW5n
ZUV2ZW50IHx8CisgICAgICAgICAgICB0eXBlID09IGZvY3VzRXZlbnQgfHwgdHlwZSA9PSBibHVy
RXZlbnQgfHwKKyAgICAgICAgICAgIHR5cGUgPT0gc3VibWl0RXZlbnQpOwogICAgICAgICBpZiAo
ZXZlbnRPaykKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0gZWxzZSB7IC8vIG5vIGV2
ZW50CkluZGV4OiBiaW5kaW5ncy9qcy9ranNfYmluZGluZy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGJpbmRp
bmdzL2pzL2tqc19iaW5kaW5nLmgJKHJldmlzaW9uIDE4MTY0KQorKysgYmluZGluZ3MvanMva2pz
X2JpbmRpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtNDksOCArNDksMTEgQEAgbmFtZXNwYWNlIEtK
UyB7CiAgICAgICAgIC8vIERPTU9iamVjdCBEZXN0cnVjdGlvbiBpcyBub3QgdGhyZWFkLXNhZmUg
YmVjYXVzZSBKUyBET00gb2JqZWN0cyAKICAgICAgICAgLy8gd3JhcCB1bnNhZmUgV2ViQ29yZSBE
T00gZGF0YSBzdHJ1Y3R1cmVzCiAgICAgICAgIERPTU9iamVjdCgpIDogSlNPYmplY3QoZmFsc2Up
IHt9CisjaWZuZGVmIE5ERUJVRworICAgICAgICB2aXJ0dWFsIH5ET01PYmplY3QoKTsKKyNlbmRp
ZgogICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCBVU3RyaW5nIHRvU3RyaW5nKEV4ZWNTdGF0
ZSAqZXhlYykgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgVVN0cmluZyB0b1N0cmluZyhFeGVjU3Rh
dGUqKSBjb25zdDsKICAgICB9OwogCiAgICAgY2xhc3MgRE9NTm9kZTsKSW5kZXg6IGRvbS9Eb2N1
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMTgxNjQp
CisrKyBkb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTEsMTAgKzU5MSw4IEBA
IFBhc3NSZWZQdHI8Tm9kZT4gRG9jdW1lbnQ6OmFkb3B0Tm9kZShQYXMKICAgICAgICAgICAgICAg
ICBzb3VyY2UtPnBhcmVudE5vZGUoKS0+cmVtb3ZlQ2hpbGQoc291cmNlLmdldCgpLCBlYyk7CiAg
ICAgfQogICAgICAgICAgICAgICAgIAotICAgIGZvciAoTm9kZSogbm9kZSA9IHNvdXJjZS5nZXQo
KTsgbm9kZTsgbm9kZSA9IG5vZGUtPnRyYXZlcnNlTmV4dE5vZGUoc291cmNlLmdldCgpKSkgewot
ICAgICAgICBLSlM6OlNjcmlwdEludGVycHJldGVyOjp1cGRhdGVET01Ob2RlRG9jdW1lbnQobm9k
ZSwgbm9kZS0+ZG9jdW1lbnQoKSwgdGhpcyk7CisgICAgZm9yIChOb2RlKiBub2RlID0gc291cmNl
LmdldCgpOyBub2RlOyBub2RlID0gbm9kZS0+dHJhdmVyc2VOZXh0Tm9kZShzb3VyY2UuZ2V0KCkp
KQogICAgICAgICBub2RlLT5zZXREb2N1bWVudCh0aGlzKTsKLSAgICB9CiAKICAgICByZXR1cm4g
c291cmNlOwogfQpJbmRleDogZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGRvbS9Ob2RlLmNw
cAkocmV2aXNpb24gMTgxNjQpCisrKyBkb20vTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEy
OSwxMSArMTI5LDEyIEBAIE5vZGU6Ok5vZGUoRG9jdW1lbnQgKmRvYykKICNlbmRpZgogfQogCi12
b2lkIE5vZGU6OnNldERvY3VtZW50KERvY3VtZW50ICpkb2MpCit2b2lkIE5vZGU6OnNldERvY3Vt
ZW50KERvY3VtZW50KiBkb2MpCiB7Ci0gICAgaWYgKGluRG9jdW1lbnQoKSkKKyAgICBpZiAoaW5E
b2N1bWVudCgpIHx8IG1fZG9jdW1lbnQgPT0gZG9jKQogICAgICAgICByZXR1cm47Ci0gICAgCisK
KyAgICBLSlM6OlNjcmlwdEludGVycHJldGVyOjp1cGRhdGVET01Ob2RlRG9jdW1lbnQodGhpcywg
bV9kb2N1bWVudC5nZXQoKSwgZG9jKTsKICAgICBtX2RvY3VtZW50ID0gZG9jOwogfQogCkBAIC02
MDMsMTIgKzYwNCw5IEBAIHZvaWQgTm9kZTo6Y2hlY2tBZGRDaGlsZChOb2RlICpuZXdDaGlsZCwK
ICAgICB9CiAgICAgCiAgICAgLy8gY2hhbmdlIHRoZSBkb2N1bWVudCBwb2ludGVyIG9mIG5ld0No
aWxkIGFuZCBhbGwgb2YgaXRzIGNoaWxkcmVuIHRvIGJlIHRoZSBuZXcgZG9jdW1lbnQKLSAgICBp
ZiAoc2hvdWxkQWRvcHRDaGlsZCkgewotICAgICAgICBmb3IgKE5vZGUqIG5vZGUgPSBuZXdDaGls
ZDsgbm9kZTsgbm9kZSA9IG5vZGUtPnRyYXZlcnNlTmV4dE5vZGUobmV3Q2hpbGQpKSB7Ci0gICAg
ICAgICAgICBLSlM6OlNjcmlwdEludGVycHJldGVyOjp1cGRhdGVET01Ob2RlRG9jdW1lbnQobm9k
ZSwgbm9kZS0+ZG9jdW1lbnQoKSwgZG9jdW1lbnQoKSk7CisgICAgaWYgKHNob3VsZEFkb3B0Q2hp
bGQpCisgICAgICAgIGZvciAoTm9kZSogbm9kZSA9IG5ld0NoaWxkOyBub2RlOyBub2RlID0gbm9k
ZS0+dHJhdmVyc2VOZXh0Tm9kZShuZXdDaGlsZCkpCiAgICAgICAgICAgICBub2RlLT5zZXREb2N1
bWVudChkb2N1bWVudCgpKTsKLSAgICAgICAgfQotICAgIH0KIH0KIAogYm9vbCBOb2RlOjppc0Rl
c2NlbmRhbnRPZihjb25zdCBOb2RlICpvdGhlcikgY29uc3QK
</data>
<flag name="review"
          id="4287"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>