<?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>105475</bug_id>
          
          <creation_ts>2012-12-19 16:08:49 -0800</creation_ts>
          <short_desc>Nested fixed position elements incorrectly repositioned on scrolling</short_desc>
          <delta_ts>2013-01-03 15:57:18 -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>Layout and Rendering</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Beth Dakin">bdakin</reporter>
          <assigned_to name="Beth Dakin">bdakin</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>795014</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-12-19 16:08:49 -0800</bug_when>
    <thetext>Nested position:fixed elemets move around in weird ways on scrolling. See attached testcase.

&lt;rdar://problem/12894458&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795015</commentid>
    <comment_count>1</comment_count>
      <attachid>180240</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-12-19 16:09:11 -0800</bug_when>
    <thetext>Created attachment 180240
Test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795022</commentid>
    <comment_count>2</comment_count>
      <attachid>180243</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-12-19 16:22:20 -0800</bug_when>
    <thetext>Created attachment 180243
Patch

We may need the same or similar code for sticky, but I am not sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799768</commentid>
    <comment_count>3</comment_count>
      <attachid>181239</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2013-01-03 15:37:21 -0800</bug_when>
    <thetext>Created attachment 181239
Patch

I discussed this with Simon in person, and here&apos;s a slightly better approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799795</commentid>
    <comment_count>4</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2013-01-03 15:57:18 -0800</bug_when>
    <thetext>Thanks, Simon! 

http://trac.webkit.org/changeset/138758</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>180240</attachid>
            <date>2012-12-19 16:09:11 -0800</date>
            <delta_ts>2012-12-19 16:09:11 -0800</delta_ts>
            <desc>Test case</desc>
            <filename>nested-fixed-2.html</filename>
            <type>text/html</type>
            <size>6622</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgogICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4K
ICAgICAgYm9keSB7CiAgICAgICAgaGVpZ2h0OiAyMDAwcHg7CiAgICAgIH0KICAgICAgCiAgICAg
IC5maXhlZCB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHdpZHRoOiAzMDBweDsK
ICAgICAgICBoZWlnaHQ6IDMwMHB4OwogICAgICAgIHRvcDogMTBweDsKICAgICAgICBsZWZ0OiAx
MHB4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTI4LCAwLCAwLjgpOwogICAg
ICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrOwogICAgICB9CiAgICAgIAogICAgICBwIHsKICAg
ICAgICB3aWR0aDogNTAlOwogICAgICAgIG1hcmdpbjogMjBweCAxMHB4OwogICAgICB9CiAgICA8
L3N0eWxlPgogICAgCiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0i
dXRmLTgiPgogICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAg
fQoKICAgICAgZnVuY3Rpb24gZG9TY3JvbGwoKQogICAgICB7CiAgICAgICAgd2luZG93LnNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMjAwKTsKICAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgncmVzdWx0cycpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMuc2Nyb2xs
aW5nU3RhdGVUcmVlQXNUZXh0KGRvY3VtZW50KTsKICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgMTApOwogICAgICB9CiAgICAgIAogICAg
ICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRvU2Nyb2xsLCBmYWxzZSk7CiAgICA8
L3NjcmlwdD4KICAgIAo8L2hlYWQ+Cjxib2R5PgoKPHByZSBpZD0icmVzdWx0cyI+PC9wcmU+Cjxk
aXYgY2xhc3M9ImZpeGVkIj4KICBUYWtlIGEgc3VydmV5IQogIDxkaXYgY2xhc3M9ImZpeGVkIiBz
dHlsZT0ibGVmdDogNTAlIj4KICAgIFRha2UgYW5vdGhlciBzdXJ2ZXkhCiAgPC9kaXY+CjwvZGl2
PgoKPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5n
IGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xv
cmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4
ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8g
Y29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1
cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4g
RXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBj
dWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KPC9w
Pgo8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcg
ZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9y
ZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhl
cmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBj
b25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVw
dGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBF
eGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1
bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgo8L3A+
CjxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBl
bGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3Jl
IG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVy
Y2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNv
bnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0
YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4
Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3Vs
cGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCjwvcD4K
PHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVs
aXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUg
bWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJj
aXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29u
c2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRh
dGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhj
ZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxw
YSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KPC9wPgoK
PHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVs
aXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUg
bWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJj
aXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29u
c2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRh
dGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhj
ZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxw
YSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KPC9wPgo8
cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxp
dCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBt
YWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNp
dGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25z
ZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0
ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNl
cHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBh
IHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgo8L3A+Cjxw
PkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0
LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1h
Z25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0
YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNl
cXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRl
IHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2Vw
dGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEg
cXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCjwvcD4KPHA+
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQs
IHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFn
bmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRh
dGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2Vx
dWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUg
dmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0
ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBx
dWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KPC9wPgoKPHA+
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQs
IHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFn
bmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRh
dGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2Vx
dWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUg
dmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0
ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBx
dWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KPC9wPgo8cD5M
b3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwg
c2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWdu
YSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0
aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1
YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2
ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRl
dXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1
aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgo8L3A+CjxwPkxv
cmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBz
ZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25h
IGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRp
b24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVh
dC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZl
bGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1
ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVp
IG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCjwvcD4KPHA+TG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNl
ZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEg
YWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlv
biB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0
LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVs
aXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVy
IHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkg
b2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KPC9wPgoKPC9ib2R5
Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180243</attachid>
            <date>2012-12-19 16:22:20 -0800</date>
            <delta_ts>2013-01-03 15:37:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>10089</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODIwMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDEyLTEyLTE5ICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDc1CisgICAgICAgIE5lc3RlZCBmaXhlZCBwb3NpdGlvbiBl
bGVtZW50cyBpbmNvcnJlY3RseSByZXBvc2l0aW9uZWQgb24gc2Nyb2xsaW5nCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGZpeCBoZXJlIGlzIHRv
IGVuc3VyZSB0aGF0IHRoZSBTY3JvbGxpbmdUcmVlIHJlZmxlY3RzIHRoZSBzYW1lIGhpZXJhcmNo
eSBhcyAKKyAgICAgICAgdGhlIEdyYXBoaWNzTGF5ZXIgdHJlZS4KKworICAgICAgICBXZSBhbHJl
YWR5IGhhZCB0byBmaXggdGhpcyBzYW1lIGJ1ZyBpbiBTY3JvbGxpbmdTdGF0ZU5vZGU6OnJlbW92
ZUNoaWxkKCkuIFRoZSAKKyAgICAgICAgaW5kZXggY2FuIGJlIG5vdEZvdW5kIHdoZW4geW91IGFy
ZSByZW1vdmluZyBhIGdyYW5kY2hpbGQuCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU5vZGU6OnJl
bW92ZUNoaWxkKToKKworICAgICAgICBhdHRhY2hUb1N0YXRlVHJlZSBub3cgaGFuZGxlcyByZS1w
YXJlbnRpbmcuCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmF0
dGFjaFRvU3RhdGVUcmVlKToKKworICAgICAgICBSZW1vdmUgdGhlIGNvZGUgdGhhdCBpdGVyYXRl
cyB0aHJvdWdoIGEgZml4ZWQgbm9kZSdzIGNoaWxkcmVuIHRvIHVwZGF0ZSB0aGUgc2Nyb2xsIAor
ICAgICAgICBwb3NpdGlvbi4gSnVzdCB1cGRhdGluZyB0aGUgcGFyZW50IGZpeGVkIG5vZGUgd2ls
bCBhcHByb3ByaWF0ZWx5IHVwZGF0ZSB0aGUgCisgICAgICAgIGNoaWxkcmVuLgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZpeGVkTm9kZTo6cGFyZW50U2Nyb2xsUG9zaXRpb25EaWRD
aGFuZ2UpOgorCisgICAgICAgIFJlLW5hbWVkIGF0dGFjaFRvU2Nyb2xsaW5nQ29vcmRpbmF0b3Io
KSB0byBhdHRhY2hUb1Njcm9sbGluZ0Nvb3JkaW5hdG9yV2l0aFBhcmVudCAKKyAgICAgICAgdG8g
bWFrZSBpdCBjbGVhciB0aGF0IHRoZSBub2RlIG1heSBhbHJlYWR5IGJlIGF0dGFjaGVkLCBidXQg
aXQgbWF5IG5lZWQgdG8gYmUgcmUtCisgICAgICAgIHBhcmVudGVkLgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXJCYWNraW5nOjphdHRhY2hUb1Njcm9sbGluZ0Nvb3JkaW5hdG9yV2l0aFBhcmVudCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oOgorICAgICAgICAoUmVuZGVyTGF5
ZXJCYWNraW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQmFja2lu
Zyk6CisKKyAgICAgICAgQWx3YXlzIGNhbGwgYXR0YWNoVG9TY3JvbGxpbmdDb29yZGluYXRvcldp
dGhQYXJlbnQoKSBpbiBjYXNlIHRoZSBmaXhlZCBub2RlIGhhcyAKKyAgICAgICAgYmVlbiByZS1w
YXJlbnRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVnaXN0
ZXJPclVwZGF0ZVZpZXdwb3J0Q29uc3RyYWluZWRMYXllcik6CisKIDIwMTItMTItMTkgIEVtaWwg
QSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtSZWdyZXNzaW9uXSB0ZXh0
LW92ZXJmbG93IGVsbGlwc2lzIGNsaXBzIGNvbnRlbnQgd2hlbiB6b29tZWQKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5jcHAJ
KHJldmlzaW9uIDEzODA3NikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWVOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsNyArNTgsMTEgQEAgdm9pZCBT
Y3JvbGxpbmdUcmVlTm9kZTo6cmVtb3ZlQ2hpbGQoU2NybwogICAgIGlmICghbV9jaGlsZHJlbikK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHNpemVfdCBpbmRleCA9IG1fY2hpbGRyZW4tPmZp
bmQobm9kZSkpIHsKKyAgICBzaXplX3QgaW5kZXggPSBtX2NoaWxkcmVuLT5maW5kKG5vZGUpOwor
CisgICAgLy8gVGhlIGluZGV4IHdpbGwgYmUgbm90Rm91bmQgaWYgdGhlIG5vZGUgdG8gcmVtb3Zl
IGlzIGEgZGVlcGVyLXRoYW4tMS1sZXZlbCBkZXNjZW5kYW50IG9yCisgICAgLy8gaWYgbm9kZSBp
cyB0aGUgcm9vdCBzdGF0ZSBub2RlLgorICAgIGlmIChpbmRleCAhPSBub3RGb3VuZCkgewogICAg
ICAgICBtX2NoaWxkcmVuLT5yZW1vdmUoaW5kZXgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQkocmV2aXNpb24gMTM4MDc2KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0yMjMsOCArMjIzLDE2IEBAIFNjcm9sbGluZ05vZGVJRCBTY3JvbGxp
bmdDb29yZGluYXRvck1hYzoKIHsKICAgICBBU1NFUlQobmV3Tm9kZUlEKTsKIAotICAgIGlmIChz
dGF0ZU5vZGVGb3JJRChuZXdOb2RlSUQpKQotICAgICAgICByZXR1cm4gbmV3Tm9kZUlEOworICAg
IGlmIChTY3JvbGxpbmdTdGF0ZU5vZGUqIG5vZGUgPSBzdGF0ZU5vZGVGb3JJRChuZXdOb2RlSUQp
KSB7CisgICAgICAgIFNjcm9sbGluZ1N0YXRlTm9kZSogcGFyZW50ID0gc3RhdGVOb2RlRm9ySUQo
cGFyZW50SUQpOworICAgICAgICBpZiAoIXBhcmVudCkKKyAgICAgICAgICAgIHJldHVybiBuZXdO
b2RlSUQ7CisgICAgICAgIGlmIChub2RlLT5wYXJlbnQoKSA9PSBwYXJlbnQpCisgICAgICAgICAg
ICByZXR1cm4gbmV3Tm9kZUlEOworCisgICAgICAgIC8vIFRoZSBub2RlIGlzIGJlaW5nIHJlLXBh
cmVudGVkLiBUbyBkbyB0aGF0LCB3ZSdsbCByZW1vdmUgaXQsIGFuZCB0aGVuIHJlLWNyZWF0ZSBh
IG5ldyBub2RlLgorICAgICAgICByZW1vdmVOb2RlKG5vZGUpOworICAgIH0KIAogICAgIFNjcm9s
bGluZ1N0YXRlTm9kZSogbmV3Tm9kZTsKICAgICBpZiAoIXBhcmVudElEKSB7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
VHJlZUZpeGVkTm9kZS5tbQkocmV2aXNpb24gMTM4MDc2KQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUubW0JKHdvcmtpbmcgY29weSkK
QEAgLTcyLDEyICs3MiwxMSBAQCB2b2lkIFNjcm9sbGluZ1RyZWVGaXhlZE5vZGU6OnBhcmVudFNj
cm9sCiAgICAgQ0dQb2ludCBuZXdQb3NpdGlvbiA9IGxheWVyUG9zaXRpb24gLSBtX2NvbnN0cmFp
bnRzLmFsaWdubWVudE9mZnNldCgpICsgYW5jaG9yUG9pbnQgKiBsYXllckJvdW5kcy5zaXplOwog
ICAgIFttX2xheWVyLmdldCgpIHNldFBvc2l0aW9uOm5ld1Bvc2l0aW9uXTsKIAotICAgIGlmICgh
bV9jaGlsZHJlbikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgc2l6ZV90IHNpemUgPSBtX2NoaWxk
cmVuLT5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyArK2kpCi0gICAg
ICAgIG1fY2hpbGRyZW4tPmF0KGkpLT5wYXJlbnRTY3JvbGxQb3NpdGlvbkRpZENoYW5nZSh2aWV3
cG9ydFJlY3QpOworICAgIC8vIEZJWE1FOiBPbmNlIHdlIHN1cHBvcnQgY2hpbGRyZW4gdGhhdCBh
cmUgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVzLCB3ZSB3aWxsIHByb2JhYmx5IGhhdmUgdG8K
KyAgICAvLyBpdGVyYXRlIHRocm91Z2ggdGhlIGNoaWxkcmVuIGFuZCBzZW5kIHRoZSBuZXcgc2Ny
b2xsIHBvc2l0aW9uLiBCdXQgaW4gdGhlIG1lYW50aW1lLCBjaGlsZHJlbgorICAgIC8vIG9mIFNj
cm9sbGluZ1RyZWVGaXhlZE5vZGUgdGhhdCBhcmUgYWxzbyBmaXhlZCBhY3R1YWxseSBkbyBub3Qg
bmVlZCB0byB1cGRhdGUgdGhlaXIgcG9zaXRpb25zCisgICAgLy8gaGVyZSBiZWNhdXNlIHRoZWly
IENBTGF5ZXJzIHdpbGwgYmUgY2hpbGRyZW4gb2YgdGhpcyBtX2xheWVyLCBhbmQgc28gdXBkYXRp
bmcgdGhpcyBtX2xheWVyJ3MKKyAgICAvLyBwb3NpdGlvbiB3aWxsIHByb3Blcmx5IHVwZGF0ZSB0
aGUgY2hpbGRyZW4uIAogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAkocmV2aXNpb24g
MTM4MDc2KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNjUsMTIgKzEwNjUsOCBAQCBib29sIFJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlU2Nyb2xsaW5nCiAgICAgcmV0dXJuIGxheWVyQ2hhbmdlZDsKIH0KIAot
dm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmF0dGFjaFRvU2Nyb2xsaW5nQ29vcmRpbmF0b3IoUmVu
ZGVyTGF5ZXJCYWNraW5nKiBwYXJlbnQpCit2b2lkIFJlbmRlckxheWVyQmFja2luZzo6YXR0YWNo
VG9TY3JvbGxpbmdDb29yZGluYXRvcldpdGhQYXJlbnQoUmVuZGVyTGF5ZXJCYWNraW5nKiBwYXJl
bnQpCiB7Ci0gICAgLy8gSWYgbV9zY3JvbGxMYXllcklEIG5vbi16ZXJvLCB0aGVuIHRoaXMgYmFj
a2luZyBpcyBhbHJlYWR5IGF0dGFjaGVkIHRvIHRoZSBTY3JvbGxpbmdDb29yZGluYXRvci4KLSAg
ICBpZiAobV9zY3JvbGxMYXllcklEKQotICAgICAgICByZXR1cm47Ci0KICAgICBQYWdlKiBwYWdl
ID0gcmVuZGVyZXIoKS0+ZnJhbWUoKS0+cGFnZSgpOwogICAgIGlmICghcGFnZSkKICAgICAgICAg
cmV0dXJuOwpAQCAtMTA5MCw3ICsxMDg2LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmF0
dGFjaFRvU2Nyb2xsaQogICAgICAgICBub2RlVHlwZSA9IFNjcm9sbGluZ05vZGU7CiAKICAgICBT
Y3JvbGxpbmdOb2RlSUQgcGFyZW50SUQgPSBwYXJlbnQgPyBwYXJlbnQtPnNjcm9sbExheWVySUQo
KSA6IDA7Ci0gICAgbV9zY3JvbGxMYXllcklEID0gc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmF0dGFj
aFRvU3RhdGVUcmVlKG5vZGVUeXBlLCBzY3JvbGxpbmdDb29yZGluYXRvci0+dW5pcXVlU2Nyb2xs
TGF5ZXJJRCgpLCBwYXJlbnRJRCk7CisgICAgbV9zY3JvbGxMYXllcklEID0gc2Nyb2xsaW5nQ29v
cmRpbmF0b3ItPmF0dGFjaFRvU3RhdGVUcmVlKG5vZGVUeXBlLCBtX3Njcm9sbExheWVySUQgPyBt
X3Njcm9sbExheWVySUQgOiBzY3JvbGxpbmdDb29yZGluYXRvci0+dW5pcXVlU2Nyb2xsTGF5ZXJJ
RCgpLCBwYXJlbnRJRCk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpkZXRhY2hGcm9t
U2Nyb2xsaW5nQ29vcmRpbmF0b3IoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQmFja2luZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuaAkocmV2aXNpb24gMTM4MDc2KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw3
ICs5NCw3IEBAIHB1YmxpYzoKICAgICBHcmFwaGljc0xheWVyKiBzY3JvbGxpbmdMYXllcigpIGNv
bnN0IHsgcmV0dXJuIG1fc2Nyb2xsaW5nTGF5ZXIuZ2V0KCk7IH0KICAgICBHcmFwaGljc0xheWVy
KiBzY3JvbGxpbmdDb250ZW50c0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxpbmdDb250
ZW50c0xheWVyLmdldCgpOyB9CiAKLSAgICB2b2lkIGF0dGFjaFRvU2Nyb2xsaW5nQ29vcmRpbmF0
b3IoUmVuZGVyTGF5ZXJCYWNraW5nKiBwYXJlbnQpOworICAgIHZvaWQgYXR0YWNoVG9TY3JvbGxp
bmdDb29yZGluYXRvcldpdGhQYXJlbnQoUmVuZGVyTGF5ZXJCYWNraW5nKiBwYXJlbnQpOwogICAg
IHZvaWQgZGV0YWNoRnJvbVNjcm9sbGluZ0Nvb3JkaW5hdG9yKCk7CiAgICAgdWludDY0X3Qgc2Ny
b2xsTGF5ZXJJRCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsTGF5ZXJJRDsgfQogICAgIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5jcHAJKHJldmlzaW9uIDEzODA3NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckNvbXBvc2l0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NjMsNyArNTYzLDcgQEAg
Ym9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUJhY2tpbgogCiAgICAgICAgICAgICAv
LyBBdCB0aGlzIHRpbWUsIHRoZSBTY3JvbGxpbmdDb29yaWRuYXRvciBvbmx5IHN1cHBvcnRzIHRo
ZSB0b3AtbGV2ZWwgZnJhbWUuCiAgICAgICAgICAgICBpZiAobGF5ZXItPmlzUm9vdExheWVyKCkg
JiYgIW1fcmVuZGVyVmlldy0+ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCkpIHsKLSAgICAgICAg
ICAgICAgICBsYXllci0+YmFja2luZygpLT5hdHRhY2hUb1Njcm9sbGluZ0Nvb3JkaW5hdG9yKDAp
OworICAgICAgICAgICAgICAgIGxheWVyLT5iYWNraW5nKCktPmF0dGFjaFRvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JXaXRoUGFyZW50KDApOwogICAgICAgICAgICAgICAgIGlmIChTY3JvbGxpbmdDb29y
ZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRv
cigpKQogICAgICAgICAgICAgICAgICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+ZnJhbWVWaWV3
Um9vdExheWVyRGlkQ2hhbmdlKG1fcmVuZGVyVmlldy0+ZnJhbWVWaWV3KCkpOwogICAgICAgICAg
ICAgfQpAQCAtMjczOSwxMyArMjczOSwxMyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6
cmVnaXN0ZXJPclVwCiAgICAgICAgIHJldHVybjsKIAogICAgIFNjcm9sbGluZ05vZGVJRCBub2Rl
SUQgPSBiYWNraW5nLT5zY3JvbGxMYXllcklEKCk7Ci0gICAgaWYgKCFub2RlSUQpIHsKLSAgICAg
ICAgUmVuZGVyTGF5ZXJCYWNraW5nKiBwYXJlbnQgPSBuZWFyZXN0U2Nyb2xsaW5nQ29vcmRpbmF0
b3JBbmNlc3RvcihsYXllcik7Ci0gICAgICAgIGlmICghcGFyZW50KQotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICBiYWNraW5nLT5hdHRhY2hUb1Njcm9sbGluZ0Nvb3JkaW5hdG9yKHBhcmVu
dCk7Ci0gICAgICAgIG5vZGVJRCA9IGJhY2tpbmctPnNjcm9sbExheWVySUQoKTsKLSAgICB9Cisg
ICAgUmVuZGVyTGF5ZXJCYWNraW5nKiBwYXJlbnQgPSBuZWFyZXN0U2Nyb2xsaW5nQ29vcmRpbmF0
b3JBbmNlc3RvcihsYXllcik7CisgICAgaWYgKCFwYXJlbnQpCisgICAgICAgIHJldHVybjsKKwor
ICAgIC8vIEFsd2F5cyBjYWxsIHRoaXMgZXZlbiBpZiB0aGUgYmFja2luZyBpcyBhbHJlYWR5IGF0
dGFjaGVkIGJlY2F1c2UgdGhlIHBhcmVudCBtYXkgaGF2ZSBjaGFuZ2VkLgorICAgIGJhY2tpbmct
PmF0dGFjaFRvU2Nyb2xsaW5nQ29vcmRpbmF0b3JXaXRoUGFyZW50KHBhcmVudCk7CisgICAgbm9k
ZUlEID0gYmFja2luZy0+c2Nyb2xsTGF5ZXJJRCgpOwogCiAgICAgaWYgKGxheWVyLT5yZW5kZXJl
cigpLT5pc1N0aWNreVBvc2l0aW9uZWQoKSkKICAgICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0b3It
PnVwZGF0ZVZpZXdwb3J0Q29uc3RyYWluZWROb2RlKG5vZGVJRCwgY29tcHV0ZVN0aWNreVZpZXdw
b3J0Q29uc3RyYWludHMobGF5ZXIpLCBiYWNraW5nLT5ncmFwaGljc0xheWVyKCkpOwpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTM4MjAwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMTItMTkgIEJldGggRGFraW4gIDxiZGFraW5AYXBw
bGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDU0NzUKKyAgICAgICAgTmVzdGVkIGZpeGVkIHBvc2l0aW9uIGVsZW1lbnRzIGluY29ycmVj
dGx5IHJlcG9zaXRpb25lZCBvbiBzY3JvbGxpbmcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVbmZvcnR1bmF0ZWx5LCB0aGUgY2hpbGRyZW4gd2VyZSBu
b3QgcmVhbGx5IGFjY3VyYXRlIGJlZm9yZSwgYW5kIHRoZXkgYXJlIG5vdCAKKyAgICAgICAgcmVh
bGx5IGFjY3VyYXRlIG5vdy4gSXQgc2VlbXMgbGlrZSB0aGUgc3RhdGUgdHJlZSBpcyBub3QgZnVs
bHkgdXAtdG8tZGF0ZSB3aGVuIHRoZSAKKyAgICAgICAgdGVzdCBpcyBwcmludGluZyBpdC4gCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL3RpbGVkLWRyYXdpbmcvZml4ZWQvbmVzdGVkLWZpeGVkLWV4
cGVjdGVkLnR4dDoKKwogMjAxMi0xMi0xOSAgVy4gSmFtZXMgTWFjTGVhbiAgPHdqbWFjbGVhbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBwbHVnaW5zL25wcC1zZXQtd2luZG93
LWNhbGxlZC1kdXJpbmctZGVzdHJ1Y3Rpb24uaHRtbCBpcyBmbGFreSBvbiBXaW4KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy90aWxlZC1kcmF3aW5nL2ZpeGVkL25lc3RlZC1maXhlZC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RpbGVk
LWRyYXdpbmcvZml4ZWQvbmVzdGVkLWZpeGVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM4MDc2
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RpbGVkLWRyYXdpbmcvZml4ZWQvbmVzdGVk
LWZpeGVkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNiw2ICs2LDggQEAKICAgICAo
Rml4ZWQgbm9kZQogICAgICAgKGFuY2hvciBlZGdlczogQW5jaG9yRWRnZUxlZnQgQW5jaG9yRWRn
ZVRvcCkKICAgICAgICh2aWV3cG9ydCByZWN0IGF0IGxhc3QgbGF5b3V0OiAwLjAwIDIwMC4wMCA3
ODUuMDAgNjAwLjAwKQorICAgICAgKGNoaWxkcmVuIDAKKyAgICAgICkKICAgICApCiAgICkKICkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181239</attachid>
            <date>2013-01-03 15:37:21 -0800</date>
            <delta_ts>2013-01-03 15:45:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review-2.txt</filename>
            <type>text/plain</type>
            <size>16749</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODc0OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYzIEBACisyMDEzLTAxLTAzICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDc1CisgICAgICAgIE5lc3RlZCBmaXhlZCBwb3NpdGlvbiBl
bGVtZW50cyBpbmNvcnJlY3RseSByZXBvc2l0aW9uZWQgb24gc2Nyb2xsaW5nCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGZpeCBoZXJlIGlzIHRv
IGVuc3VyZSB0aGF0IHRoZSBTY3JvbGxpbmdUcmVlIHJlZmxlY3RzIHRoZSBzYW1lIGhpZXJhcmNo
eSBhcyAKKyAgICAgICAgdGhlIEdyYXBoaWNzTGF5ZXIgdHJlZS4gQW5kIGZyb20gdGhlcmUsIHdl
IGNhbiBjb3JyZWN0bHkgY2FsY3VsYXRlIHRoZSBvZmZzZXQgZm9yIAorICAgICAgICBuZXN0ZWQg
b2JqZWN0cyBieSBrZWVwaW5nIHRyYWNrIG9mIGEgY3VtdWxhdGl2ZSBkZWx0YSB0aGF0IHBhcmVu
dHMgaGF2ZSBiZWVuIG1vdmVkIAorICAgICAgICBieS4KKworICAgICAgICBXZSBhbHJlYWR5IGhh
ZCB0byBmaXggdGhpcyBzYW1lIGJ1ZyBpbiBTY3JvbGxpbmdTdGF0ZU5vZGU6OnJlbW92ZUNoaWxk
KCkuIFRoZSAKKyAgICAgICAgaW5kZXggY2FuIGJlIG5vdEZvdW5kIHdoZW4geW91IGFyZSByZW1v
dmluZyBhIGdyYW5kY2hpbGQuCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU5vZGU6OnJlbW92ZUNo
aWxkKToKKworICAgICAgICBwYXJlbnRTY3JvbGxQb3NpdGlvbkRpZENoYW5nZSgpIG5vdyB0YWtl
cyBhIHNlY29uZCBwYXJhbWV0ZXIgdGhhdCByZXByZXNlbnRzIHRoZSAKKyAgICAgICAgZGVsdGEg
dGhhdCBwYXJlbnQgZ3JhcGhpY3NMYXllcnMgaGF2ZSBiZWVuIG1vdmVkIGJ5LgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmg6CisgICAgICAgIChTY3JvbGxpbmdU
cmVlTm9kZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGUuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVk
Tm9kZS5oOgorICAgICAgICAoU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZSk6CisKKyAgICAgICAgYXR0
YWNoVG9TdGF0ZVRyZWUoKSBub3cgaGFuZGxlcyByZS1wYXJlbnRpbmcuCisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmF0dGFjaFRvU3RhdGVUcmVlKToKKworICAg
ICAgICBQcm9wZXJseSBhZGp1c3QgYnkgYW5kIGNvbXB1dGUgdGhlIG5ldyBwYXJhbWV0ZXIgY3Vt
dWxhdGl2ZURlbHRhLiBBZGp1c3RpbmcgYnkgCisgICAgICAgIHRoaXMgd2lsbCBwcmV2ZW50IGZp
eGVkIGNoaWxkcmVuIG9mIGZpeGVkIG9iamVjdHMgZnJvbSBtb3Zpbmcgd2hlbiB0aGV5IGFyZSBu
b3QgCisgICAgICAgIHN1cHBvc2VkIHRvLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJl
ZUZpeGVkTm9kZTo6cGFyZW50U2Nyb2xsUG9zaXRpb25EaWRDaGFuZ2UpOgorCisgICAgICAgIEdp
dmUgcGFyZW50U2Nyb2xsUG9zaXRpb25EaWRDaGFuZ2UoKSBhbiBpbml0aWFsIGRlbHRhIG9mICgw
LDApLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
TWFjOjpzZXRTY3JvbGxMYXllclBvc2l0aW9uKToKKworICAgICAgICBQcm9wZXJseSBhZGp1c3Qg
YnkgYW5kIGNvbXB1dGUgdGhlIG5ldyBwYXJhbWV0ZXIgY3VtdWxhdGl2ZURlbHRhLiBUaGlzIG1h
dGggaXMgCisgICAgICAgIGFjdHVhbGx5IG5vdCBxdWl0ZSByaWdodCBmb3Igc3RpY2t5IHlldCBh
cyB0aGUgRklYTUUgaW5kaWNhdGVzLiAKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZVN0aWNreU5vZGUuaDoKKyAgICAgICAgKFNjcm9sbGluZ1RyZWVTdGlja3lOb2Rl
KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUu
bW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6cGFyZW50U2Ny
b2xsUG9zaXRpb25EaWRDaGFuZ2UpOgorCisgICAgICAgIFJlLW5hbWVkIGF0dGFjaFRvU2Nyb2xs
aW5nQ29vcmRpbmF0b3IoKSB0byBhdHRhY2hUb1Njcm9sbGluZ0Nvb3JkaW5hdG9yV2l0aFBhcmVu
dCAKKyAgICAgICAgdG8gbWFrZSBpdCBjbGVhciB0aGF0IHRoZSBub2RlIG1heSBhbHJlYWR5IGJl
IGF0dGFjaGVkLCBidXQgaXQgbWF5IG5lZWQgdG8gYmUgcmUtCisgICAgICAgIHBhcmVudGVkLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjphdHRhY2hUb1Njcm9sbGluZ0Nvb3JkaW5hdG9yV2l0
aFBhcmVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oOgorICAg
ICAgICAoUmVuZGVyTGF5ZXJCYWNraW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRv
cjo6dXBkYXRlQmFja2luZyk6CisKKyAgICAgICAgQWx3YXlzIGNhbGwgYXR0YWNoVG9TY3JvbGxp
bmdDb29yZGluYXRvcldpdGhQYXJlbnQoKSBpbiBjYXNlIHRoZSBmaXhlZCBub2RlIGhhcyAKKyAg
ICAgICAgYmVlbiByZS1wYXJlbnRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29t
cG9zaXRvcjo6cmVnaXN0ZXJPclVwZGF0ZVZpZXdwb3J0Q29uc3RyYWluZWRMYXllcik6CisKIDIw
MTMtMDEtMDMgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBObyB3
YXkgdG8gb2J0YWluIGEgRE9NTm9kZSBnaXZlbiBhIEpTIHdyYXBwZXIgZm9yIGEgTm9kZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVO
b2RlLmNwcAkocmV2aXNpb24gMTM4NzIyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZU5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1OCwxMSBA
QCB2b2lkIFNjcm9sbGluZ1RyZWVOb2RlOjpyZW1vdmVDaGlsZChTY3JvCiAgICAgaWYgKCFtX2No
aWxkcmVuKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoc2l6ZV90IGluZGV4ID0gbV9jaGls
ZHJlbi0+ZmluZChub2RlKSkgeworICAgIHNpemVfdCBpbmRleCA9IG1fY2hpbGRyZW4tPmZpbmQo
bm9kZSk7CisKKyAgICAvLyBUaGUgaW5kZXggd2lsbCBiZSBub3RGb3VuZCBpZiB0aGUgbm9kZSB0
byByZW1vdmUgaXMgYSBkZWVwZXItdGhhbi0xLWxldmVsIGRlc2NlbmRhbnQgb3IKKyAgICAvLyBp
ZiBub2RlIGlzIHRoZSByb290IHN0YXRlIG5vZGUuCisgICAgaWYgKGluZGV4ICE9IG5vdEZvdW5k
KSB7CiAgICAgICAgIG1fY2hpbGRyZW4tPnJlbW92ZShpbmRleCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
Tm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWVOb2RlLmgJKHJldmlzaW9uIDEzODcyMikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2
LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZShTY3JvbGxpbmdTdGF0ZU5v
ZGUqKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFyZW50U2Nyb2xsUG9zaXRpb25EaWRDaGFu
Z2UoY29uc3QgSW50UmVjdCYgdmlld3BvcnRSZWN0KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHBh
cmVudFNjcm9sbFBvc2l0aW9uRGlkQ2hhbmdlKGNvbnN0IEludFJlY3QmIHZpZXdwb3J0UmVjdCwg
Y29uc3QgRmxvYXRTaXplJiBjdW11bGF0aXZlRGVsdGEpID0gMDsKIAogICAgIFNjcm9sbGluZ05v
ZGVJRCBzY3JvbGxpbmdOb2RlSUQoKSBjb25zdCB7IHJldHVybiBtX25vZGVJRDsgfQogICAgIHZv
aWQgc2V0U2Nyb2xsaW5nTm9kZUlEKFNjcm9sbGluZ05vZGVJRCBub2RlSUQpIHsgbV9ub2RlSUQg
PSBub2RlSUQ7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaAkocmV2aXNpb24gMTM4NzIyKQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHVwZGF0ZShTY3JvbGxpbmdTdGF0ZU5vZGUqKSBPVkVSUklERTsKIAogICAgIC8vIEZJ
WE1FOiBXZSBzaG91bGQgaW1wbGVtZW50IHRoaXMgd2hlbiB3ZSBzdXBwb3J0IFNjcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlcyBhcyBjaGlsZHJlbi4KLSAgICB2aXJ0dWFsIHZvaWQgcGFyZW50U2Ny
b2xsUG9zaXRpb25EaWRDaGFuZ2UoY29uc3QgSW50UmVjdCYgLyp2aWV3cG9ydFJlY3QqLykgT1ZF
UlJJREUgeyB9CisgICAgdmlydHVhbCB2b2lkIHBhcmVudFNjcm9sbFBvc2l0aW9uRGlkQ2hhbmdl
KGNvbnN0IEludFJlY3QmIC8qdmlld3BvcnRSZWN0Ki8sIGNvbnN0IEZsb2F0U2l6ZSYgLypjdW11
bGF0aXZlRGVsdGEqLykgT1ZFUlJJREUgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlV2hl
ZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JikgPSAwOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29y
ZGluYXRvck1hYy5tbQkocmV2aXNpb24gMTM4NzIyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0yMjMsOCArMjIzLDE2IEBAIFNjcm9sbGluZ05vZGVJRCBTY3JvbGxpbmdDb29yZGluYXRvck1h
YzoKIHsKICAgICBBU1NFUlQobmV3Tm9kZUlEKTsKIAotICAgIGlmIChzdGF0ZU5vZGVGb3JJRChu
ZXdOb2RlSUQpKQotICAgICAgICByZXR1cm4gbmV3Tm9kZUlEOworICAgIGlmIChTY3JvbGxpbmdT
dGF0ZU5vZGUqIG5vZGUgPSBzdGF0ZU5vZGVGb3JJRChuZXdOb2RlSUQpKSB7CisgICAgICAgIFNj
cm9sbGluZ1N0YXRlTm9kZSogcGFyZW50ID0gc3RhdGVOb2RlRm9ySUQocGFyZW50SUQpOworICAg
ICAgICBpZiAoIXBhcmVudCkKKyAgICAgICAgICAgIHJldHVybiBuZXdOb2RlSUQ7CisgICAgICAg
IGlmIChub2RlLT5wYXJlbnQoKSA9PSBwYXJlbnQpCisgICAgICAgICAgICByZXR1cm4gbmV3Tm9k
ZUlEOworCisgICAgICAgIC8vIFRoZSBub2RlIGlzIGJlaW5nIHJlLXBhcmVudGVkLiBUbyBkbyB0
aGF0LCB3ZSdsbCByZW1vdmUgaXQsIGFuZCB0aGVuIHJlLWNyZWF0ZSBhIG5ldyBub2RlLgorICAg
ICAgICByZW1vdmVOb2RlKG5vZGUpOworICAgIH0KIAogICAgIFNjcm9sbGluZ1N0YXRlTm9kZSog
bmV3Tm9kZTsKICAgICBpZiAoIXBhcmVudElEKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLmgJ
KHJldmlzaW9uIDEzODcyMikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlRml4ZWROb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcgQEAg
cHJpdmF0ZToKICAgICBTY3JvbGxpbmdUcmVlRml4ZWROb2RlKFNjcm9sbGluZ1RyZWUqKTsKIAog
ICAgIHZpcnR1YWwgdm9pZCB1cGRhdGUoU2Nyb2xsaW5nU3RhdGVOb2RlKikgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCB2b2lkIHBhcmVudFNjcm9sbFBvc2l0aW9uRGlkQ2hhbmdlKGNvbnN0IEludFJl
Y3QmIHZpZXdwb3J0UmVjdCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHBhcmVudFNjcm9s
bFBvc2l0aW9uRGlkQ2hhbmdlKGNvbnN0IEludFJlY3QmIHZpZXdwb3J0UmVjdCwgY29uc3QgRmxv
YXRTaXplJiBjdW11bGF0aXZlRGVsdGEpIE9WRVJSSURFOwogCiAgICAgRml4ZWRQb3NpdGlvblZp
ZXdwb3J0Q29uc3RyYWludHMgbV9jb25zdHJhaW50czsKICAgICBSZXRhaW5QdHI8Q0FMYXllcj4g
bV9sYXllcjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlRml4ZWROb2RlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tCShyZXZpc2lvbiAxMzg3MjIpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9k
ZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjMsOSArNjMsMTAgQEAgc3RhdGljIGlubGluZSBDR1Bv
aW50IG9wZXJhdG9yKihDR1BvaW50JgogICAgIHJldHVybiBDR1BvaW50TWFrZShhLnggKiBiLndp
ZHRoLCBhLnkgKiBiLmhlaWdodCk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZTo6
cGFyZW50U2Nyb2xsUG9zaXRpb25EaWRDaGFuZ2UoY29uc3QgSW50UmVjdCYgdmlld3BvcnRSZWN0
KQordm9pZCBTY3JvbGxpbmdUcmVlRml4ZWROb2RlOjpwYXJlbnRTY3JvbGxQb3NpdGlvbkRpZENo
YW5nZShjb25zdCBJbnRSZWN0JiB2aWV3cG9ydFJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgY3VtdWxh
dGl2ZURlbHRhKQogewogICAgIEZsb2F0UG9pbnQgbGF5ZXJQb3NpdGlvbiA9IG1fY29uc3RyYWlu
dHMubGF5ZXJQb3NpdGlvbkZvclZpZXdwb3J0UmVjdCh2aWV3cG9ydFJlY3QpOworICAgIGxheWVy
UG9zaXRpb24gLT0gY3VtdWxhdGl2ZURlbHRhOwogCiAgICAgQ0dSZWN0IGxheWVyQm91bmRzID0g
W21fbGF5ZXIuZ2V0KCkgYm91bmRzXTsKICAgICBDR1BvaW50IGFuY2hvclBvaW50ID0gW21fbGF5
ZXIuZ2V0KCkgYW5jaG9yUG9pbnRdOwpAQCAtNzUsOSArNzYsMTEgQEAgdm9pZCBTY3JvbGxpbmdU
cmVlRml4ZWROb2RlOjpwYXJlbnRTY3JvbAogICAgIGlmICghbV9jaGlsZHJlbikKICAgICAgICAg
cmV0dXJuOwogCisgICAgRmxvYXRTaXplIG5ld0RlbHRhID0gbGF5ZXJQb3NpdGlvbiAtIG1fY29u
c3RyYWludHMubGF5ZXJQb3NpdGlvbkF0TGFzdExheW91dCgpICsgY3VtdWxhdGl2ZURlbHRhOwor
CiAgICAgc2l6ZV90IHNpemUgPSBtX2NoaWxkcmVuLT5zaXplKCk7CiAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBzaXplOyArK2kpCi0gICAgICAgIG1fY2hpbGRyZW4tPmF0KGkpLT5wYXJlbnRT
Y3JvbGxQb3NpdGlvbkRpZENoYW5nZSh2aWV3cG9ydFJlY3QpOworICAgICAgICBtX2NoaWxkcmVu
LT5hdChpKS0+cGFyZW50U2Nyb2xsUG9zaXRpb25EaWRDaGFuZ2Uodmlld3BvcnRSZWN0LCBuZXdE
ZWx0YSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGVNYWMubW0JKHJldmlzaW9uIDEzODcyMikKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5tbQkod29y
a2luZyBjb3B5KQpAQCAtMjg1LDcgKzI4NSw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGVNYWM6OnNldFMKIAogICAgIHNpemVfdCBzaXplID0gbV9jaGlsZHJlbi0+c2l6ZSgpOwog
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQotICAgICAgICBtX2NoaWxkcmVu
LT5hdChpKS0+cGFyZW50U2Nyb2xsUG9zaXRpb25EaWRDaGFuZ2Uodmlld3BvcnRSZWN0KTsKKyAg
ICAgICAgbV9jaGlsZHJlbi0+YXQoaSktPnBhcmVudFNjcm9sbFBvc2l0aW9uRGlkQ2hhbmdlKHZp
ZXdwb3J0UmVjdCwgRmxvYXRTaXplKCkpOwogfQogCiBJbnRQb2ludCBTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZU1hYzo6bWluaW11bVNjcm9sbFBvc2l0aW9uKCkgY29uc3QKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdU
cmVlU3RpY2t5Tm9kZS5oCShyZXZpc2lvbiAxMzg3MjIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaAkod29ya2luZyBjb3B5KQpA
QCAtNDgsNyArNDgsNyBAQCBwcml2YXRlOgogICAgIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlKFNj
cm9sbGluZ1RyZWUqKTsKIAogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGUoU2Nyb2xsaW5nU3RhdGVO
b2RlKikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHBhcmVudFNjcm9sbFBvc2l0aW9uRGlk
Q2hhbmdlKGNvbnN0IEludFJlY3QmIHZpZXdwb3J0UmVjdCkgT1ZFUlJJREU7CisgICAgdmlydHVh
bCB2b2lkIHBhcmVudFNjcm9sbFBvc2l0aW9uRGlkQ2hhbmdlKGNvbnN0IEludFJlY3QmIHZpZXdw
b3J0UmVjdCwgY29uc3QgRmxvYXRTaXplJiBjdW11bGF0aXZlRGVsdGEpIE9WRVJSSURFOwogCiAg
ICAgU3RpY2t5UG9zaXRpb25WaWV3cG9ydENvbnN0cmFpbnRzIG1fY29uc3RyYWludHM7CiAgICAg
UmV0YWluUHRyPENBTGF5ZXI+IG1fbGF5ZXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1t
CShyZXZpc2lvbiAxMzg3MjIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTYzLDEwICs2Mywx
NSBAQCBzdGF0aWMgaW5saW5lIENHUG9pbnQgb3BlcmF0b3IqKENHUG9pbnQmCiAgICAgcmV0dXJu
IENHUG9pbnRNYWtlKGEueCAqIGIud2lkdGgsIGEueSAqIGIuaGVpZ2h0KTsKIH0KIAotdm9pZCBT
Y3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6cGFyZW50U2Nyb2xsUG9zaXRpb25EaWRDaGFuZ2UoY29u
c3QgSW50UmVjdCYgdmlld3BvcnRSZWN0KQordm9pZCBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6
cGFyZW50U2Nyb2xsUG9zaXRpb25EaWRDaGFuZ2UoY29uc3QgSW50UmVjdCYgdmlld3BvcnRSZWN0
LCBjb25zdCBGbG9hdFNpemUmIGN1bXVsYXRpdmVEZWx0YSkKIHsKICAgICBGbG9hdFBvaW50IGxh
eWVyUG9zaXRpb24gPSBtX2NvbnN0cmFpbnRzLmxheWVyUG9zaXRpb25Gb3JWaWV3cG9ydFJlY3Qo
dmlld3BvcnRSZWN0KTsKIAorICAgIC8vIEZJWE1FOiBTdWJ0cmFjdGluZyB0aGUgY3VtdWxhdGl2
ZURlbHRhIGlzIG5vdCB0b3RhbGx5IHN1ZmZpY2llbnQgdG8gZ2V0IHRoZSBuZXcgcG9zaXRpb24g
cmlnaHQgZm9yIG5lc3RlZAorICAgIC8vIHN0aWNreSBvYmplY3RzLiBXZSBwcm9iYWJseSBuZWVk
IGEgd2F5IHRvIG1vZGlmeSB0aGUgYWJzb2x1dGVDb250YWluaW5nQmxvY2tSZWN0IGluIHRoZSBW
aWV3cG9ydENvbnRyYWludHMKKyAgICAvLyB0byBnZXQgdGhpcyByaWdodCBpbiBhbGwgY2FzZXMu
CisgICAgbGF5ZXJQb3NpdGlvbiAtPSBjdW11bGF0aXZlRGVsdGE7CisKICAgICBDR1JlY3QgbGF5
ZXJCb3VuZHMgPSBbbV9sYXllci5nZXQoKSBib3VuZHNdOwogICAgIENHUG9pbnQgYW5jaG9yUG9p
bnQgPSBbbV9sYXllci5nZXQoKSBhbmNob3JQb2ludF07CiAgICAgQ0dQb2ludCBuZXdQb3NpdGlv
biA9IGxheWVyUG9zaXRpb24gLSBtX2NvbnN0cmFpbnRzLmFsaWdubWVudE9mZnNldCgpICsgYW5j
aG9yUG9pbnQgKiBsYXllckJvdW5kcy5zaXplOwpAQCAtNzUsOSArODAsMTEgQEAgdm9pZCBTY3Jv
bGxpbmdUcmVlU3RpY2t5Tm9kZTo6cGFyZW50U2NybwogICAgIGlmICghbV9jaGlsZHJlbikKICAg
ICAgICAgcmV0dXJuOwogCisgICAgRmxvYXRTaXplIG5ld0RlbHRhID0gbGF5ZXJQb3NpdGlvbiAt
IG1fY29uc3RyYWludHMubGF5ZXJQb3NpdGlvbkF0TGFzdExheW91dCgpICsgY3VtdWxhdGl2ZURl
bHRhOworCiAgICAgc2l6ZV90IHNpemUgPSBtX2NoaWxkcmVuLT5zaXplKCk7CiAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBzaXplOyArK2kpCi0gICAgICAgIG1fY2hpbGRyZW4tPmF0KGkpLT5w
YXJlbnRTY3JvbGxQb3NpdGlvbkRpZENoYW5nZSh2aWV3cG9ydFJlY3QpOworICAgICAgICBtX2No
aWxkcmVuLT5hdChpKS0+cGFyZW50U2Nyb2xsUG9zaXRpb25EaWRDaGFuZ2Uodmlld3BvcnRSZWN0
LCBuZXdEZWx0YSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCShyZXZpc2lvbiAx
Mzg3MjIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTA2NSwxMiArMTA2NSw4IEBAIGJvb2wgUmVuZGVyTGF5ZXJC
YWNraW5nOjp1cGRhdGVTY3JvbGxpbmcKICAgICByZXR1cm4gbGF5ZXJDaGFuZ2VkOwogfQogCi12
b2lkIFJlbmRlckxheWVyQmFja2luZzo6YXR0YWNoVG9TY3JvbGxpbmdDb29yZGluYXRvcihSZW5k
ZXJMYXllckJhY2tpbmcqIHBhcmVudCkKK3ZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjphdHRhY2hU
b1Njcm9sbGluZ0Nvb3JkaW5hdG9yV2l0aFBhcmVudChSZW5kZXJMYXllckJhY2tpbmcqIHBhcmVu
dCkKIHsKLSAgICAvLyBJZiBtX3Njcm9sbExheWVySUQgbm9uLXplcm8sIHRoZW4gdGhpcyBiYWNr
aW5nIGlzIGFscmVhZHkgYXR0YWNoZWQgdG8gdGhlIFNjcm9sbGluZ0Nvb3JkaW5hdG9yLgotICAg
IGlmIChtX3Njcm9sbExheWVySUQpCi0gICAgICAgIHJldHVybjsKLQogICAgIFBhZ2UqIHBhZ2Ug
PSByZW5kZXJlcigpLT5mcmFtZSgpLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICBy
ZXR1cm47CkBAIC0xMDkwLDcgKzEwODYsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6YXR0
YWNoVG9TY3JvbGxpCiAgICAgICAgIG5vZGVUeXBlID0gU2Nyb2xsaW5nTm9kZTsKIAogICAgIFNj
cm9sbGluZ05vZGVJRCBwYXJlbnRJRCA9IHBhcmVudCA/IHBhcmVudC0+c2Nyb2xsTGF5ZXJJRCgp
IDogMDsKLSAgICBtX3Njcm9sbExheWVySUQgPSBzY3JvbGxpbmdDb29yZGluYXRvci0+YXR0YWNo
VG9TdGF0ZVRyZWUobm9kZVR5cGUsIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT51bmlxdWVTY3JvbGxM
YXllcklEKCksIHBhcmVudElEKTsKKyAgICBtX3Njcm9sbExheWVySUQgPSBzY3JvbGxpbmdDb29y
ZGluYXRvci0+YXR0YWNoVG9TdGF0ZVRyZWUobm9kZVR5cGUsIG1fc2Nyb2xsTGF5ZXJJRCA/IG1f
c2Nyb2xsTGF5ZXJJRCA6IHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT51bmlxdWVTY3JvbGxMYXllcklE
KCksIHBhcmVudElEKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmRldGFjaEZyb21T
Y3JvbGxpbmdDb29yZGluYXRvcigpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQmFja2luZy5oCShyZXZpc2lvbiAxMzg3MjIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDcg
Kzk0LDcgQEAgcHVibGljOgogICAgIEdyYXBoaWNzTGF5ZXIqIHNjcm9sbGluZ0xheWVyKCkgY29u
c3QgeyByZXR1cm4gbV9zY3JvbGxpbmdMYXllci5nZXQoKTsgfQogICAgIEdyYXBoaWNzTGF5ZXIq
IHNjcm9sbGluZ0NvbnRlbnRzTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGluZ0NvbnRl
bnRzTGF5ZXIuZ2V0KCk7IH0KIAotICAgIHZvaWQgYXR0YWNoVG9TY3JvbGxpbmdDb29yZGluYXRv
cihSZW5kZXJMYXllckJhY2tpbmcqIHBhcmVudCk7CisgICAgdm9pZCBhdHRhY2hUb1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yV2l0aFBhcmVudChSZW5kZXJMYXllckJhY2tpbmcqIHBhcmVudCk7CiAgICAg
dm9pZCBkZXRhY2hGcm9tU2Nyb2xsaW5nQ29vcmRpbmF0b3IoKTsKICAgICB1aW50NjRfdCBzY3Jv
bGxMYXllcklEKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxMYXllcklEOyB9CiAgICAgCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcAkocmV2aXNpb24gMTM4NzIyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2NCw3ICs1NjQsNyBAQCBi
b29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQmFja2luCiAKICAgICAgICAgICAgIC8v
IEF0IHRoaXMgdGltZSwgdGhlIFNjcm9sbGluZ0Nvb3JpZG5hdG9yIG9ubHkgc3VwcG9ydHMgdGhl
IHRvcC1sZXZlbCBmcmFtZS4KICAgICAgICAgICAgIGlmIChsYXllci0+aXNSb290TGF5ZXIoKSAm
JiAhbV9yZW5kZXJWaWV3LT5kb2N1bWVudCgpLT5vd25lckVsZW1lbnQoKSkgewotICAgICAgICAg
ICAgICAgIGxheWVyLT5iYWNraW5nKCktPmF0dGFjaFRvU2Nyb2xsaW5nQ29vcmRpbmF0b3IoMCk7
CisgICAgICAgICAgICAgICAgbGF5ZXItPmJhY2tpbmcoKS0+YXR0YWNoVG9TY3JvbGxpbmdDb29y
ZGluYXRvcldpdGhQYXJlbnQoMCk7CiAgICAgICAgICAgICAgICAgaWYgKFNjcm9sbGluZ0Nvb3Jk
aW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHRoaXMtPnNjcm9sbGluZ0Nvb3JkaW5hdG9y
KCkpCiAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5mcmFtZVZpZXdS
b290TGF5ZXJEaWRDaGFuZ2UobV9yZW5kZXJWaWV3LT5mcmFtZVZpZXcoKSk7CiAgICAgICAgICAg
ICB9CkBAIC0yNzQwLDEzICsyNzQwLDEzIEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpy
ZWdpc3Rlck9yVXAKICAgICAgICAgcmV0dXJuOwogCiAgICAgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJ
RCA9IGJhY2tpbmctPnNjcm9sbExheWVySUQoKTsKLSAgICBpZiAoIW5vZGVJRCkgewotICAgICAg
ICBSZW5kZXJMYXllckJhY2tpbmcqIHBhcmVudCA9IG5lYXJlc3RTY3JvbGxpbmdDb29yZGluYXRv
ckFuY2VzdG9yKGxheWVyKTsKLSAgICAgICAgaWYgKCFwYXJlbnQpCi0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIGJhY2tpbmctPmF0dGFjaFRvU2Nyb2xsaW5nQ29vcmRpbmF0b3IocGFyZW50
KTsKLSAgICAgICAgbm9kZUlEID0gYmFja2luZy0+c2Nyb2xsTGF5ZXJJRCgpOwotICAgIH0KKyAg
ICBSZW5kZXJMYXllckJhY2tpbmcqIHBhcmVudCA9IG5lYXJlc3RTY3JvbGxpbmdDb29yZGluYXRv
ckFuY2VzdG9yKGxheWVyKTsKKyAgICBpZiAoIXBhcmVudCkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgLy8gQWx3YXlzIGNhbGwgdGhpcyBldmVuIGlmIHRoZSBiYWNraW5nIGlzIGFscmVhZHkgYXR0
YWNoZWQgYmVjYXVzZSB0aGUgcGFyZW50IG1heSBoYXZlIGNoYW5nZWQuCisgICAgYmFja2luZy0+
YXR0YWNoVG9TY3JvbGxpbmdDb29yZGluYXRvcldpdGhQYXJlbnQocGFyZW50KTsKKyAgICBub2Rl
SUQgPSBiYWNraW5nLT5zY3JvbGxMYXllcklEKCk7CiAKICAgICBpZiAobGF5ZXItPnJlbmRlcmVy
KCktPmlzU3RpY2t5UG9zaXRpb25lZCgpKQogICAgICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+
dXBkYXRlVmlld3BvcnRDb25zdHJhaW5lZE5vZGUobm9kZUlELCBjb21wdXRlU3RpY2t5Vmlld3Bv
cnRDb25zdHJhaW50cyhsYXllciksIGJhY2tpbmctPmdyYXBoaWNzTGF5ZXIoKSk7CkluZGV4OiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxMzg3NTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0wMS0wMyAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNTQ3NQorICAgICAgICBOZXN0ZWQgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMgaW5jb3JyZWN0
bHkgcmVwb3NpdGlvbmVkIG9uIHNjcm9sbGluZworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuZm9ydHVuYXRlbHksIHRoZSBjaGlsZHJlbiB3ZXJlIG5v
dCByZWFsbHkgYWNjdXJhdGUgYmVmb3JlLCBhbmQgdGhleSBhcmUgbm90IAorICAgICAgICByZWFs
bHkgYWNjdXJhdGUgbm93LiBJdCBzZWVtcyBsaWtlIHRoZSBzdGF0ZSB0cmVlIGlzIG5vdCBmdWxs
eSB1cC10by1kYXRlIHdoZW4gdGhlIAorICAgICAgICB0ZXN0IGlzIHByaW50aW5nIGl0LiAKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvdGlsZWQtZHJhd2luZy9maXhlZC9uZXN0ZWQtZml4ZWQtZXhw
ZWN0ZWQudHh0OgorCiAyMDEzLTAxLTAzICBSYWZhZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW011dGF0aW9uIE9ic2VydmVyc10gcHJldmVudCBkZWxpdmVy
eSB3aGlsZSByZWNpcGllbnQgY29udGV4dCBpcyBzdXNwZW5kZWQKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy90aWxlZC1kcmF3aW5nL2ZpeGVkL25lc3RlZC1maXhlZC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RpbGVkLWRyYXdpbmcv
Zml4ZWQvbmVzdGVkLWZpeGVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM4NzIyKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RpbGVkLWRyYXdpbmcvZml4ZWQvbmVzdGVkLWZpeGVkLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNiw2ICs2LDggQEAKICAgICAoRml4ZWQgbm9k
ZQogICAgICAgKGFuY2hvciBlZGdlczogQW5jaG9yRWRnZUxlZnQgQW5jaG9yRWRnZVRvcCkKICAg
ICAgICh2aWV3cG9ydCByZWN0IGF0IGxhc3QgbGF5b3V0OiAwLjAwIDIwMC4wMCA3ODUuMDAgNjAw
LjAwKQorICAgICAgKGNoaWxkcmVuIDAKKyAgICAgICkKICAgICApCiAgICkKICkK
</data>
<flag name="review"
          id="198784"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>