<?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>6553</bug_id>
          
          <creation_ts>2006-01-14 21:50:13 -0800</creation_ts>
          <short_desc>Remove KCanvasCommonArgs and pass around RenderPath objects instead.</short_desc>
          <delta_ts>2006-01-15 12:03:59 -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>SVG</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></keywords>
          <priority>P4</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>6447</dependson>
          <blocked>6448</blocked>
    
    <blocked>6564</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>a</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>28466</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-01-14 21:50:13 -0800</bug_when>
    <thetext>KCanvas needs to be redesigned to fill &amp; stroke at once

This is a continuation of 6447.

In the previous bug, Alexander made more progress removing crufty pieces of KCanvas (namely 
KCanvasRenderingStyle).  However a couple things remain:

1.  Update PaintServers to not paint directly, but rather have an apply(STROKE | FILL) method which 
applies their stoke/fill properties to the current context.
2.  Change RenderPathQuartz to call CGContextDrawPath, and thus both stroke and fill a path in a 
single call (large perf. gain).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28501</commentid>
    <comment_count>1</comment_count>
      <attachid>5693</attachid>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-01-15 05:02:29 -0800</bug_when>
    <thetext>Created attachment 5693
remove kcanvascommonargs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28502</commentid>
    <comment_count>2</comment_count>
      <attachid>5694</attachid>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-01-15 05:32:22 -0800</bug_when>
    <thetext>Created attachment 5694
remove kcanvascommonargs (pass around only renderpath)

new patch based on input from mjs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28508</commentid>
    <comment_count>3</comment_count>
      <attachid>5694</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2006-01-15 06:31:38 -0800</bug_when>
    <thetext>Comment on attachment 5694
remove kcanvascommonargs (pass around only renderpath)

Patch looks great, a few minor comments though:

- for pointer types (such as RenderPath), the * should be next to the
identifier, not the type.
- The RenderPath parameter should really be const. This might require having to
modify other function declarations called by the different draw implementations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28512</commentid>
    <comment_count>4</comment_count>
      <attachid>5697</attachid>
    <who name="Alexander Kellett">a</who>
    <bug_when>2006-01-15 06:51:48 -0800</bug_when>
    <thetext>Created attachment 5697
new patch based on suggestions from andersca</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28513</commentid>
    <comment_count>5</comment_count>
      <attachid>5697</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2006-01-15 06:58:39 -0800</bug_when>
    <thetext>Comment on attachment 5697
new patch based on suggestions from andersca

r=me</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5693</attachid>
            <date>2006-01-15 05:02:29 -0800</date>
            <delta_ts>2006-01-15 05:32:22 -0800</delta_ts>
            <desc>remove kcanvascommonargs</desc>
            <filename>remove-commonargs.patch</filename>
            <type>text/plain</type>
            <size>13522</size>
            <attacher name="Alexander Kellett">a</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUva2NhbnZhcy9LQ2FudmFzSXRlbS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9rY2FudmFzL0tDYW52YXNJdGVtLmNwcAkocmV2aXNpb24gMTIxMTApCisrKyBXZWJDb3Jl
L2tjYW52YXMvS0NhbnZhc0l0ZW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsMTMgKzExMyw0
IEBAIEtDYW52YXNQYXRoKiBSZW5kZXJQYXRoOjpwYXRoKCkgY29uc3QKICAgICByZXR1cm4gZC0+
cGF0aC5nZXQoKTsKIH0KIAotY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3MgUmVuZGVyUGF0aDo6Y29t
bW9uQXJncygpIGNvbnN0Ci17Ci0gICAgS0NhbnZhc0NvbW1vbkFyZ3MgYXJnczsKLSAgICBhcmdz
LnNldFBhdGgocGF0aCgpKTsKLSAgICBhcmdzLnNldFJlbmRlclN0eWxlKHN0eWxlKCkpOwotICAg
IGFyZ3Muc2V0UmVuZGVyUGF0aCh0aGlzKTsKLSAgICByZXR1cm4gYXJnczsKLX0KLQogLy8gdmlt
OnRzPTQ6bm9ldApJbmRleDogV2ViQ29yZS9rY2FudmFzL0tDYW52YXNJdGVtLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9rY2FudmFzL0tDYW52YXNJdGVtLmgJKHJldmlzaW9uIDEyMTEwKQorKysg
V2ViQ29yZS9rY2FudmFzL0tDYW52YXNJdGVtLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMw
LDYgQEAKICNpbmNsdWRlIDxxM3ZhbHVlbGlzdC5oPgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgog
Ci0jaW5jbHVkZSA8a2NhbnZhcy9LQ2FudmFzVHlwZXMuaD4KICNpbmNsdWRlICJraHRtbC9yZW5k
ZXJpbmcvcmVuZGVyX29iamVjdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw2ICs0
MCw3IEBAIG5hbWVzcGFjZSBLU1ZHIHsKICAgICBjbGFzcyBTVkdTdHlsZWRFbGVtZW50SW1wbDsK
IH07CiAKK2NsYXNzIEtDYW52YXNQYXRoOwogY2xhc3MgS0NhbnZhc0NvbnRhaW5lcjsKIGNsYXNz
IEtDYW52YXNNYXRyaXg7CiBjbGFzcyBSZW5kZXJQYXRoIDogcHVibGljIGtodG1sOjpSZW5kZXJP
YmplY3QKQEAgLTY3LDcgKzY3LDYgQEAgcHVibGljOgogICAgIAogcHJvdGVjdGVkOgogICAgIC8v
IHJlc3RyaWN0ZWQgc2V0IG9mIGFyZ3MgZm9yIHBhc3NpbmcgdG8gcGFpbnQgc2VydmVycywgZXRj
LgotICAgIGNvbnN0IEtDYW52YXNDb21tb25BcmdzIGNvbW1vbkFyZ3MoKSBjb25zdDsKICAgICB2
aXJ0dWFsIGJvb2wgaGl0c1BhdGgoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCAmaGl0UG9pbnQs
IGJvb2wgZmlsbCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgRmxvYXRSZWN0IGJib3hGb3JQYXRo
KGJvb2wgaW5jbHVkZVN0cm9rZSkgY29uc3QgPSAwOwogCkluZGV4OiBXZWJDb3JlL2tjYW52YXMv
ZGV2aWNlL3F1YXJ0ei9LQ2FudmFzSXRlbVF1YXJ0ei5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2tjYW52YXMvZGV2aWNlL3F1YXJ0ei9LQ2FudmFzSXRlbVF1YXJ0ei5tbQkocmV2aXNpb24gMTIx
MTApCisrKyBXZWJDb3JlL2tjYW52YXMvZGV2aWNlL3F1YXJ0ei9LQ2FudmFzSXRlbVF1YXJ0ei5t
bQkod29ya2luZyBjb3B5KQpAQCAtMjIwLDE5ICsyMjAsMTcgQEAgdm9pZCBLQ2FudmFzSXRlbVF1
YXJ0ejo6cGFpbnQoUGFpbnRJbmZvIAogCiAgICAgZGV2aWNlQ29udGV4dC0+Y2xlYXJQYXRoKCk7
CiAgICAgCi0gICAgS0NhbnZhc0NvbW1vbkFyZ3MgYXJncyA9IGNvbW1vbkFyZ3MoKTsKLQogICAg
IEtSZW5kZXJpbmdQYWludFNlcnZlciAqZmlsbFBhaW50U2VydmVyID0gS1NWRzo6S1NWR1BhaW50
ZXJGYWN0b3J5OjpmaWxsUGFpbnRTZXJ2ZXIoc3R5bGUoKSwgdGhpcyk7CiAgICAgaWYgKGZpbGxQ
YWludFNlcnZlcikgewogICAgICAgICBkZXZpY2VDb250ZXh0LT5hZGRQYXRoKHBhdGgoKSk7CiAg
ICAgICAgIGZpbGxQYWludFNlcnZlci0+c2V0QWN0aXZlQ2xpZW50KHRoaXMpOwotICAgICAgICBm
aWxsUGFpbnRTZXJ2ZXItPmRyYXcoZGV2aWNlQ29udGV4dCwgYXJncywgQVBQTFlfVE9fRklMTCk7
CisgICAgICAgIGZpbGxQYWludFNlcnZlci0+ZHJhdyhkZXZpY2VDb250ZXh0LCBzdHlsZSgpLCB0
aGlzLCBBUFBMWV9UT19GSUxMKTsKICAgICB9CiAgICAgS1JlbmRlcmluZ1BhaW50U2VydmVyICpz
dHJva2VQYWludFNlcnZlciA9IEtTVkc6OktTVkdQYWludGVyRmFjdG9yeTo6c3Ryb2tlUGFpbnRT
ZXJ2ZXIoc3R5bGUoKSwgdGhpcyk7CiAgICAgaWYgKHN0cm9rZVBhaW50U2VydmVyKSB7CiAgICAg
ICAgIGRldmljZUNvbnRleHQtPmFkZFBhdGgocGF0aCgpKTsgLy8gcGF0aCBpcyBjbGVhcmVkIHdo
ZW4gZmlsbGVkLgogICAgICAgICBzdHJva2VQYWludFNlcnZlci0+c2V0QWN0aXZlQ2xpZW50KHRo
aXMpOwotICAgICAgICBzdHJva2VQYWludFNlcnZlci0+ZHJhdyhkZXZpY2VDb250ZXh0LCBhcmdz
LCBBUFBMWV9UT19TVFJPS0UpOworICAgICAgICBzdHJva2VQYWludFNlcnZlci0+ZHJhdyhkZXZp
Y2VDb250ZXh0LCBzdHlsZSgpLCB0aGlzLCBBUFBMWV9UT19TVFJPS0UpOwogICAgIH0KIAogICAg
IGRyYXdNYXJrZXJzSWZOZWVkZWQocGFpbnRJbmZvLnIsIHBhdGgoKSk7CkluZGV4OiBXZWJDb3Jl
L2tjYW52YXMvZGV2aWNlL3F1YXJ0ei9LUmVuZGVyaW5nUGFpbnRTZXJ2ZXJRdWFydHoubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9rY2FudmFzL2RldmljZS9xdWFydHovS1JlbmRlcmluZ1BhaW50
U2VydmVyUXVhcnR6Lm1tCShyZXZpc2lvbiAxMjExMCkKKysrIFdlYkNvcmUva2NhbnZhcy9kZXZp
Y2UvcXVhcnR6L0tSZW5kZXJpbmdQYWludFNlcnZlclF1YXJ0ei5tbQkod29ya2luZyBjb3B5KQpA
QCAtNDAsMTIgKzQwLDEwIEBACiAKICNpbXBvcnQgIktXUUxvZ2dpbmcuaCIKIAotdm9pZCBLUmVu
ZGVyaW5nUGFpbnRTZXJ2ZXJTb2xpZFF1YXJ0ejo6ZHJhdyhLUmVuZGVyaW5nRGV2aWNlQ29udGV4
dCAqcmVuZGVyaW5nQ29udGV4dCwgY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3MgJmFyZ3MsIEtDUGFp
bnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0Cit2b2lkIEtSZW5kZXJpbmdQYWludFNlcnZlclNvbGlk
UXVhcnR6OjpkcmF3KEtSZW5kZXJpbmdEZXZpY2VDb250ZXh0ICpyZW5kZXJpbmdDb250ZXh0LCBr
aHRtbDo6UmVuZGVyU3R5bGUgKnJlbmRlclN0eWxlLCBSZW5kZXJQYXRoKiByZW5kZXJQYXRoLCBL
Q1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdAogewogICAgIEtSZW5kZXJpbmdEZXZpY2VDb250
ZXh0UXVhcnR6ICpxdWFydHpDb250ZXh0ID0gc3RhdGljX2Nhc3Q8S1JlbmRlcmluZ0RldmljZUNv
bnRleHRRdWFydHogKj4ocmVuZGVyaW5nQ29udGV4dCk7CiAgICAgQ0dDb250ZXh0UmVmIGNvbnRl
eHQgPSBxdWFydHpDb250ZXh0LT5jZ0NvbnRleHQoKTsKLSAgICBraHRtbDo6UmVuZGVyU3R5bGUg
KnJlbmRlclN0eWxlID0gYXJncy5yZW5kZXJTdHlsZSgpOwotICAgIGNvbnN0IFJlbmRlclBhdGgg
KnJlbmRlclBhdGggPSBhcmdzLnJlbmRlclBhdGgoKTsKIAogICAgIENHQ29udGV4dFNldEFscGhh
KGNvbnRleHQsIHJlbmRlclN0eWxlLT5vcGFjaXR5KCkpOwogICAgICAgICAKQEAgLTgyLDE1ICs4
MCwxMyBAQCB2b2lkIHBhdHRlcm5DYWxsYmFjayh2b2lkICppbmZvLCBDR0NvbnRlCiAgICAgQ0dD
b250ZXh0RHJhd0xheWVyQXRQb2ludChjb250ZXh0LCBDR1BvaW50WmVybywgbGF5ZXIpOwogfQog
Ci12b2lkIEtSZW5kZXJpbmdQYWludFNlcnZlclBhdHRlcm5RdWFydHo6OmRyYXcoS1JlbmRlcmlu
Z0RldmljZUNvbnRleHQgKnJlbmRlcmluZ0NvbnRleHQsIGNvbnN0IEtDYW52YXNDb21tb25Bcmdz
ICZhcmdzLCBLQ1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdAordm9pZCBLUmVuZGVyaW5nUGFp
bnRTZXJ2ZXJQYXR0ZXJuUXVhcnR6OjpkcmF3KEtSZW5kZXJpbmdEZXZpY2VDb250ZXh0ICpyZW5k
ZXJpbmdDb250ZXh0LCBraHRtbDo6UmVuZGVyU3R5bGUgKnJlbmRlclN0eWxlLCBSZW5kZXJQYXRo
KiByZW5kZXJQYXRoLCBLQ1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdAogewogICAgIGlmKGxp
c3RlbmVyKCkpIC8vIHRoaXMgc2VlbXMgbGlrZSBiYWQgZGVzaWduIHRvIG1lLCBzaG91bGQgYmUg
aW4gYSBjb21tb24gYmFzZWNsYXNzLiAtLSBlY3MgOC82LzA1CiAgICAgICAgIGxpc3RlbmVyKCkt
PnJlc291cmNlTm90aWZpY2F0aW9uKCk7CiAKICAgICBLUmVuZGVyaW5nRGV2aWNlQ29udGV4dFF1
YXJ0eiAqcXVhcnR6Q29udGV4dCA9IHN0YXRpY19jYXN0PEtSZW5kZXJpbmdEZXZpY2VDb250ZXh0
UXVhcnR6ICo+KHJlbmRlcmluZ0NvbnRleHQpOwogICAgIENHQ29udGV4dFJlZiBjb250ZXh0ID0g
cXVhcnR6Q29udGV4dC0+Y2dDb250ZXh0KCk7Ci0gICAgY29uc3QgUmVuZGVyUGF0aCAqcmVuZGVy
UGF0aCA9IGFyZ3MucmVuZGVyUGF0aCgpOwotICAgIGtodG1sOjpSZW5kZXJTdHlsZSAqcmVuZGVy
U3R5bGUgPSBhcmdzLnJlbmRlclN0eWxlKCk7CiAKICAgICBLQ2FudmFzSW1hZ2UgKmNlbGwgPSB0
aWxlKCk7CiAgICAgaWYgKCFjZWxsKQpAQCAtMTQ3LDcgKzE0Myw3IEBAIHZvaWQgS1JlbmRlcmlu
Z1BhaW50U2VydmVyUGF0dGVyblF1YXJ0ejoKICAgICBDR0NvbnRleHRSZXN0b3JlR1N0YXRlKGNv
bnRleHQpOwogfQogCi12b2lkIEtSZW5kZXJpbmdQYWludFNlcnZlckltYWdlUXVhcnR6OjpkcmF3
KEtSZW5kZXJpbmdEZXZpY2VDb250ZXh0ICpyZW5kZXJpbmdDb250ZXh0LCBjb25zdCBLQ2FudmFz
Q29tbW9uQXJncyAmYXJncywgS0NQYWludFRhcmdldFR5cGUgdHlwZSkgY29uc3QKK3ZvaWQgS1Jl
bmRlcmluZ1BhaW50U2VydmVySW1hZ2VRdWFydHo6OmRyYXcoS1JlbmRlcmluZ0RldmljZUNvbnRl
eHQgKnJlbmRlcmluZ0NvbnRleHQsIGtodG1sOjpSZW5kZXJTdHlsZSAqcmVuZGVyU3R5bGUsIFJl
bmRlclBhdGgqIHJlbmRlclBhdGgsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0CiB7CiAg
ICAgLy8gRklYTUU6IHRvdGFsIGhhY2sKICAgICBLUmVuZGVyaW5nRGV2aWNlQ29udGV4dFF1YXJ0
eiAqcXVhcnR6Q29udGV4dCA9IHN0YXRpY19jYXN0PEtSZW5kZXJpbmdEZXZpY2VDb250ZXh0UXVh
cnR6ICo+KHJlbmRlcmluZ0NvbnRleHQpOwpJbmRleDogV2ViQ29yZS9rY2FudmFzL2RldmljZS9x
dWFydHovS1JlbmRlcmluZ1BhaW50U2VydmVyR3JhZGllbnRRdWFydHoubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9rY2FudmFzL2RldmljZS9xdWFydHovS1JlbmRlcmluZ1BhaW50U2VydmVyR3Jh
ZGllbnRRdWFydHoubW0JKHJldmlzaW9uIDEyMTEwKQorKysgV2ViQ29yZS9rY2FudmFzL2Rldmlj
ZS9xdWFydHovS1JlbmRlcmluZ1BhaW50U2VydmVyR3JhZGllbnRRdWFydHoubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTQwLDEwICs0MCw4IEBACiAKIAogLy8gTWF5YmUgdGhpcyBzaG91bGQgYmUgaW4g
YSBiYXNlIGNsYXNzIGluc3RlYWQuLi4KLXN0YXRpYyB2b2lkIGRyYXdTaGFkaW5nV2l0aFN0eWxl
KGNvbnN0IEtSZW5kZXJpbmdQYWludFNlcnZlckdyYWRpZW50ICpzZXJ2ZXIsIENHU2hhZGluZ1Jl
ZiBzaGFkaW5nLCBjb25zdCBLQ2FudmFzQ29tbW9uQXJncyAmYXJncywgS0NQYWludFRhcmdldFR5
cGUgdHlwZSkKK3N0YXRpYyB2b2lkIGRyYXdTaGFkaW5nV2l0aFN0eWxlKGNvbnN0IEtSZW5kZXJp
bmdQYWludFNlcnZlckdyYWRpZW50ICpzZXJ2ZXIsIENHU2hhZGluZ1JlZiBzaGFkaW5nLCBraHRt
bDo6UmVuZGVyU3R5bGUgKnJlbmRlclN0eWxlLCBSZW5kZXJQYXRoKiByZW5kZXJQYXRoLCBLQ1Bh
aW50VGFyZ2V0VHlwZSB0eXBlKQogewotICAgIGtodG1sOjpSZW5kZXJTdHlsZSAqcmVuZGVyU3R5
bGUgPSBhcmdzLnJlbmRlclN0eWxlKCk7Ci0gICAgY29uc3QgUmVuZGVyUGF0aCAqcmVuZGVyUGF0
aCA9IGFyZ3MucmVuZGVyUGF0aCgpOwogICAgIEtSZW5kZXJpbmdEZXZpY2VRdWFydHogKnF1YXJ0
ekRldmljZSA9IHN0YXRpY19jYXN0PEtSZW5kZXJpbmdEZXZpY2VRdWFydHogKj4oUVBhaW50ZXI6
OnJlbmRlcmluZ0RldmljZSgpKTsKICAgICBDR0NvbnRleHRSZWYgY29udGV4dCA9IHF1YXJ0ekRl
dmljZS0+Y3VycmVudENHQ29udGV4dCgpOwogICAgIEFTU0VSVChjb250ZXh0ICE9IE5VTEwpOwpA
QCAtMjkwLDcgKzI4OCw3IEBAIHZvaWQgS1JlbmRlcmluZ1BhaW50U2VydmVyUmFkaWFsR3JhZGll
bnQKICAgICBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6aW52YWxpZGF0ZSgp
OwogfQogCi12b2lkIEtSZW5kZXJpbmdQYWludFNlcnZlckxpbmVhckdyYWRpZW50UXVhcnR6Ojpk
cmF3KEtSZW5kZXJpbmdEZXZpY2VDb250ZXh0ICpyZW5kZXJpbmdDb250ZXh0LCBjb25zdCBLQ2Fu
dmFzQ29tbW9uQXJncyAmYXJncywgS0NQYWludFRhcmdldFR5cGUgdHlwZSkgY29uc3QKK3ZvaWQg
S1JlbmRlcmluZ1BhaW50U2VydmVyTGluZWFyR3JhZGllbnRRdWFydHo6OmRyYXcoS1JlbmRlcmlu
Z0RldmljZUNvbnRleHQgKnJlbmRlcmluZ0NvbnRleHQsIGtodG1sOjpSZW5kZXJTdHlsZSAqcmVu
ZGVyU3R5bGUsIFJlbmRlclBhdGgqIHJlbmRlclBhdGgsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUp
IGNvbnN0CiB7CiAgICAgaWYobGlzdGVuZXIoKSkgLy8gdGhpcyBzZWVtcyBsaWtlIGJhZCBkZXNp
Z24gdG8gbWUsIHNob3VsZCBiZSBpbiBhIGNvbW1vbiBiYXNlY2xhc3MuIC0tIGVjcyA4LzYvMDUK
ICAgICAgICAgbGlzdGVuZXIoKS0+cmVzb3VyY2VOb3RpZmljYXRpb24oKTsKQEAgLTMwMCwxMCAr
Mjk4LDEwIEBAIHZvaWQgS1JlbmRlcmluZ1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQKICAgICBp
ZiAoIW1fc2hhZGluZ0NhY2hlKQogICAgICAgICBjb25zdF9jYXN0PEtSZW5kZXJpbmdQYWludFNl
cnZlckxpbmVhckdyYWRpZW50UXVhcnR6ICo+KHRoaXMpLT51cGRhdGVRdWFydHpHcmFkaWVudENh
Y2hlKHRoaXMpOwogICAgIAotICAgIGRyYXdTaGFkaW5nV2l0aFN0eWxlKHRoaXMsIG1fc2hhZGlu
Z0NhY2hlLCBhcmdzLCB0eXBlKTsKKyAgICBkcmF3U2hhZGluZ1dpdGhTdHlsZSh0aGlzLCBtX3No
YWRpbmdDYWNoZSwgcmVuZGVyU3R5bGUsIHJlbmRlclBhdGgsIHR5cGUpOwogfQogCi12b2lkIEtS
ZW5kZXJpbmdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50UXVhcnR6OjpkcmF3KEtSZW5kZXJpbmdE
ZXZpY2VDb250ZXh0ICpyZW5kZXJpbmdDb250ZXh0LCBjb25zdCBLQ2FudmFzQ29tbW9uQXJncyAm
YXJncywgS0NQYWludFRhcmdldFR5cGUgdHlwZSkgY29uc3QKK3ZvaWQgS1JlbmRlcmluZ1BhaW50
U2VydmVyUmFkaWFsR3JhZGllbnRRdWFydHo6OmRyYXcoS1JlbmRlcmluZ0RldmljZUNvbnRleHQg
KnJlbmRlcmluZ0NvbnRleHQsIGtodG1sOjpSZW5kZXJTdHlsZSAqcmVuZGVyU3R5bGUsIFJlbmRl
clBhdGgqIHJlbmRlclBhdGgsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0CiB7CiAgICAg
aWYobGlzdGVuZXIoKSkgLy8gdGhpcyBzZWVtcyBsaWtlIGJhZCBkZXNpZ24gdG8gbWUsIHNob3Vs
ZCBiZSBpbiBhIGNvbW1vbiBiYXNlY2xhc3MuIC0tIGVjcyA4LzYvMDUKICAgICAgICAgbGlzdGVu
ZXIoKS0+cmVzb3VyY2VOb3RpZmljYXRpb24oKTsKQEAgLTMxMyw1ICszMTEsNSBAQCB2b2lkIEtS
ZW5kZXJpbmdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50CiAgICAgaWYgKCFtX3NoYWRpbmdDYWNo
ZSkKICAgICAgICAgY29uc3RfY2FzdDxLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVu
dFF1YXJ0eiAqPih0aGlzKS0+dXBkYXRlUXVhcnR6R3JhZGllbnRDYWNoZSh0aGlzKTsKICAgICAK
LSAgICBkcmF3U2hhZGluZ1dpdGhTdHlsZSh0aGlzLCBtX3NoYWRpbmdDYWNoZSwgYXJncywgdHlw
ZSk7CisgICAgZHJhd1NoYWRpbmdXaXRoU3R5bGUodGhpcywgbV9zaGFkaW5nQ2FjaGUsIHJlbmRl
clN0eWxlLCByZW5kZXJQYXRoLCB0eXBlKTsKIH0KSW5kZXg6IFdlYkNvcmUva2NhbnZhcy9kZXZp
Y2UvcXVhcnR6L0tSZW5kZXJpbmdQYWludFNlcnZlclF1YXJ0ei5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUva2NhbnZhcy9kZXZpY2UvcXVhcnR6L0tSZW5kZXJpbmdQYWludFNlcnZlclF1YXJ0ei5o
CShyZXZpc2lvbiAxMjExMCkKKysrIFdlYkNvcmUva2NhbnZhcy9kZXZpY2UvcXVhcnR6L0tSZW5k
ZXJpbmdQYWludFNlcnZlclF1YXJ0ei5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxOSArMzMsMTkg
QEAKIGNsYXNzIEtSZW5kZXJpbmdQYWludFNlcnZlclNvbGlkUXVhcnR6IDogcHVibGljIEtSZW5k
ZXJpbmdQYWludFNlcnZlclNvbGlkIHsKIHB1YmxpYzoKICAgICBLUmVuZGVyaW5nUGFpbnRTZXJ2
ZXJTb2xpZFF1YXJ0eigpIHt9OwotICAgIHZpcnR1YWwgdm9pZCBkcmF3KEtSZW5kZXJpbmdEZXZp
Y2VDb250ZXh0ICpjb250ZXh0LCBjb25zdCBLQ2FudmFzQ29tbW9uQXJncyAmYXJncywgS0NQYWlu
dFRhcmdldFR5cGUgdHlwZSkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGRyYXcoS1JlbmRlcmlu
Z0RldmljZUNvbnRleHQgKmNvbnRleHQsIGtodG1sOjpSZW5kZXJTdHlsZSAqcmVuZGVyU3R5bGUs
IFJlbmRlclBhdGgqIHJlbmRlclBhdGgsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0Owog
fTsKIAogY2xhc3MgS1JlbmRlcmluZ1BhaW50U2VydmVyUGF0dGVyblF1YXJ0eiA6IHB1YmxpYyBL
UmVuZGVyaW5nUGFpbnRTZXJ2ZXJQYXR0ZXJuIHsKIHB1YmxpYzoKICAgICBLUmVuZGVyaW5nUGFp
bnRTZXJ2ZXJQYXR0ZXJuUXVhcnR6KCkge307Ci0gICAgdmlydHVhbCB2b2lkIGRyYXcoS1JlbmRl
cmluZ0RldmljZUNvbnRleHQgKmNvbnRleHQsIGNvbnN0IEtDYW52YXNDb21tb25BcmdzICZhcmdz
LCBLQ1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgZHJhdyhL
UmVuZGVyaW5nRGV2aWNlQ29udGV4dCAqY29udGV4dCwga2h0bWw6OlJlbmRlclN0eWxlICpyZW5k
ZXJTdHlsZSwgUmVuZGVyUGF0aCogcmVuZGVyUGF0aCwgS0NQYWludFRhcmdldFR5cGUgdHlwZSkg
Y29uc3Q7CiB9OwogCiBjbGFzcyBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJJbWFnZVF1YXJ0eiA6IHB1
YmxpYyBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJJbWFnZSB7CiBwdWJsaWM6CiAgICAgS1JlbmRlcmlu
Z1BhaW50U2VydmVySW1hZ2VRdWFydHooKSB7fTsKLSAgICB2aXJ0dWFsIHZvaWQgZHJhdyhLUmVu
ZGVyaW5nRGV2aWNlQ29udGV4dCAqY29udGV4dCwgY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3MgJmFy
Z3MsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBkcmF3
KEtSZW5kZXJpbmdEZXZpY2VDb250ZXh0ICpjb250ZXh0LCBraHRtbDo6UmVuZGVyU3R5bGUgKnJl
bmRlclN0eWxlLCBSZW5kZXJQYXRoKiByZW5kZXJQYXRoLCBLQ1BhaW50VGFyZ2V0VHlwZSB0eXBl
KSBjb25zdDsKIH07CiAKIHR5cGVkZWYgc3RydWN0IHsKQEAgLTc5LDcgKzc5LDcgQEAgY2xhc3Mg
S1JlbmRlcmluZ1BhaW50U2VydmVyTGluZWFyR3JhZGllbgogcHVibGljOgogICAgIEtSZW5kZXJp
bmdQYWludFNlcnZlckxpbmVhckdyYWRpZW50UXVhcnR6KCkge307CiAgICAgdmlydHVhbCB2b2lk
IGludmFsaWRhdGUoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZHJhdyhLUmVuZGVyaW5nRGV2aWNlQ29u
dGV4dCAqY29udGV4dCwgY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3MgJmFyZ3MsIEtDUGFpbnRUYXJn
ZXRUeXBlIHR5cGUpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBkcmF3KEtSZW5kZXJpbmdEZXZp
Y2VDb250ZXh0ICpjb250ZXh0LCBraHRtbDo6UmVuZGVyU3R5bGUgKnJlbmRlclN0eWxlLCBSZW5k
ZXJQYXRoKiByZW5kZXJQYXRoLCBLQ1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdDsKIH07CiAK
IGNsYXNzIEtSZW5kZXJpbmdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50UXVhcnR6IDogcHVibGlj
IEtSZW5kZXJpbmdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50LApAQCAtODcsNSArODcsNSBAQCBj
bGFzcyBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVuCiBwdWJsaWM6CiAgICAgS1Jl
bmRlcmluZ1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnRRdWFydHooKSB7fTsKICAgICB2aXJ0dWFs
IHZvaWQgaW52YWxpZGF0ZSgpOwotICAgIHZpcnR1YWwgdm9pZCBkcmF3KEtSZW5kZXJpbmdEZXZp
Y2VDb250ZXh0ICpjb250ZXh0LCBjb25zdCBLQ2FudmFzQ29tbW9uQXJncyAmYXJncywgS0NQYWlu
dFRhcmdldFR5cGUgdHlwZSkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGRyYXcoS1JlbmRlcmlu
Z0RldmljZUNvbnRleHQgKmNvbnRleHQsIGtodG1sOjpSZW5kZXJTdHlsZSAqcmVuZGVyU3R5bGUs
IFJlbmRlclBhdGgqIHJlbmRlclBhdGgsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0Owog
fTsKSW5kZXg6IFdlYkNvcmUva2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ0RldmljZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9rY2FudmFzL2RldmljZS9LUmVuZGVyaW5nRGV2aWNlLmNwcAko
cmV2aXNpb24gMTIxMTApCisrKyBXZWJDb3JlL2tjYW52YXMvZGV2aWNlL0tSZW5kZXJpbmdEZXZp
Y2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw0NyArMjQsNiBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIktSZW5kZXJpbmdEZXZpY2UuaCIKIAotS0NhbnZhc0NvbW1vbkFyZ3M6
OktDYW52YXNDb21tb25BcmdzKCkKLXsKLSAgICBtX3BhdGggPSAwOwotICAgIG1fcmVuZGVyU3R5
bGUgPSAwOwotICAgIG1fcmVuZGVyUGF0aCA9IDA7Ci19Ci0KLUtDYW52YXNDb21tb25BcmdzOjp+
S0NhbnZhc0NvbW1vbkFyZ3MoKQotewotfQotCi1LQ2FudmFzUGF0aCogS0NhbnZhc0NvbW1vbkFy
Z3M6OnBhdGgoKSBjb25zdAotewotICAgIHJldHVybiBtX3BhdGguZ2V0KCk7Ci19Ci0KLXZvaWQg
S0NhbnZhc0NvbW1vbkFyZ3M6OnNldFBhdGgoS0NhbnZhc1BhdGgqIHBhdGgpCi17Ci0gICAgbV9w
YXRoID0gcGF0aDsKLX0KLQota2h0bWw6OlJlbmRlclN0eWxlICpLQ2FudmFzQ29tbW9uQXJnczo6
cmVuZGVyU3R5bGUoKSBjb25zdAotewotICAgIHJldHVybiBtX3JlbmRlclN0eWxlOwotfQotCi12
b2lkIEtDYW52YXNDb21tb25BcmdzOjpzZXRSZW5kZXJTdHlsZShraHRtbDo6UmVuZGVyU3R5bGUg
KnJlbmRlclN0eWxlKQotewotICAgIG1fcmVuZGVyU3R5bGUgPSByZW5kZXJTdHlsZTsKLX0KLQot
Y29uc3QgUmVuZGVyUGF0aCogS0NhbnZhc0NvbW1vbkFyZ3M6OnJlbmRlclBhdGgoKSBjb25zdAot
ewotICAgIHJldHVybiBtX3JlbmRlclBhdGg7Ci19Ci0KLXZvaWQgS0NhbnZhc0NvbW1vbkFyZ3M6
OnNldFJlbmRlclBhdGgoY29uc3QgUmVuZGVyUGF0aCAqcmVuZGVyUGF0aCkKLXsKLSAgICBtX3Jl
bmRlclBhdGggPSByZW5kZXJQYXRoOwotfQotCiBLUmVuZGVyaW5nRGV2aWNlOjpLUmVuZGVyaW5n
RGV2aWNlKCkKIHsKIH0KSW5kZXg6IFdlYkNvcmUva2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ1Bh
aW50U2VydmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rY2FudmFzL2RldmljZS9LUmVuZGVy
aW5nUGFpbnRTZXJ2ZXIuaAkocmV2aXNpb24gMTIxMTApCisrKyBXZWJDb3JlL2tjYW52YXMvZGV2
aWNlL0tSZW5kZXJpbmdQYWludFNlcnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCwx
MSBAQCB0eXBlZGVmIGVudW0KICAgICBBUFBMWV9UT19TVFJPS0UgPSAyCiB9IEtDUGFpbnRUYXJn
ZXRUeXBlOwogCituYW1lc3BhY2Uga2h0bWwKK3sKKyAgICBjbGFzcyBSZW5kZXJTdHlsZTsKK30K
KwogY2xhc3MgUVRleHRTdHJlYW07CiBjbGFzcyBSZW5kZXJQYXRoOwogY2xhc3MgS1JlbmRlcmlu
Z0RldmljZUNvbnRleHQ7CkBAIC02NCw3ICs2OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEtD
UGFpbnRTZXJ2ZXJUeXBlIHR5cGUoKSBjb25zdCA9IDA7CiAKICAgICAvLyBBY3R1YWwgcmVuZGVy
aW5nIGZ1bmN0aW9uCi0gICAgdmlydHVhbCB2b2lkIGRyYXcoS1JlbmRlcmluZ0RldmljZUNvbnRl
eHQgKmNvbnRleHQsIGNvbnN0IEtDYW52YXNDb21tb25BcmdzICZhcmdzLCBLQ1BhaW50VGFyZ2V0
VHlwZSB0eXBlKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRyYXcoS1JlbmRlcmluZ0Rl
dmljZUNvbnRleHQgKmNvbnRleHQsIGtodG1sOjpSZW5kZXJTdHlsZSAqcmVuZGVyU3R5bGUsIFJl
bmRlclBhdGgqIHJlbmRlclBhdGgsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0ID0gMDsK
IAogICAgIHZpcnR1YWwgUVRleHRTdHJlYW0gJmV4dGVybmFsUmVwcmVzZW50YXRpb24oUVRleHRT
dHJlYW0gJikgY29uc3QgPSAwOwogcHJpdmF0ZToKSW5kZXg6IFdlYkNvcmUva2NhbnZhcy9LQ2Fu
dmFzVHlwZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tjYW52YXMvS0NhbnZhc1R5cGVzLmgJ
KHJldmlzaW9uIDEyMTEwKQorKysgV2ViQ29yZS9rY2FudmFzL0tDYW52YXNUeXBlcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMCwzOCArMjAsNCBAQAogICAgIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywg
VVNBLgogKi8KIAotI2lmbmRlZiBLQ2FudmFzVHlwZXNfSAotI2RlZmluZSBLQ2FudmFzVHlwZXNf
SAotCi0jaW5jbHVkZSA8a3htbGNvcmUvUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBraHRtbCB7Ci0g
ICAgY2xhc3MgUmVuZGVyU3R5bGU7Ci19Ci0KLWNsYXNzIEtDYW52YXNQYXRoOwotY2xhc3MgUmVu
ZGVyUGF0aDsKLWNsYXNzIEtDYW52YXNDb21tb25BcmdzCi17Ci1wdWJsaWM6Ci0gICAgS0NhbnZh
c0NvbW1vbkFyZ3MoKTsKLSAgICB+S0NhbnZhc0NvbW1vbkFyZ3MoKTsKLQotICAgIEtDYW52YXNQ
YXRoKiBwYXRoKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRQYXRoKEtDYW52YXNQYXRoKiBwYXRoKTsK
LQotICAgIGtodG1sOjpSZW5kZXJTdHlsZSAqcmVuZGVyU3R5bGUoKSBjb25zdDsKLSAgICB2b2lk
IHNldFJlbmRlclN0eWxlKGtodG1sOjpSZW5kZXJTdHlsZSAqc3R5bGUpOwotICAgIAotICAgIGNv
bnN0IFJlbmRlclBhdGgqIHJlbmRlclBhdGgoKSBjb25zdDsKLSAgICB2b2lkIHNldFJlbmRlclBh
dGgoY29uc3QgUmVuZGVyUGF0aCogcGF0aCk7Ci0KLXByaXZhdGU6Ci0gICAgUmVmUHRyPEtDYW52
YXNQYXRoPiBtX3BhdGg7Ci0gICAga2h0bWw6OlJlbmRlclN0eWxlICptX3JlbmRlclN0eWxlOwot
ICAgIGNvbnN0IFJlbmRlclBhdGggKm1fcmVuZGVyUGF0aDsKLX07Ci0KLSNlbmRpZgotCiAvLyB2
aW06dHM9NDpub2V0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5694</attachid>
            <date>2006-01-15 05:32:22 -0800</date>
            <delta_ts>2006-01-15 06:51:48 -0800</delta_ts>
            <desc>remove kcanvascommonargs (pass around only renderpath)</desc>
            <filename>remove-commonargs.patch</filename>
            <type>text/plain</type>
            <size>22743</size>
            <attacher name="Alexander Kellett">a</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDEyMTEwKQorKysgV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMjUwLDcg
KzEyNTAsNiBAQAogCQlBODhBRDNDNzA5NTI0ODZFMDAxREQxOTYgLyogS0NhbnZhc1Jlc291cmNl
TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE4QzBGQjg5MDg5NzAxRjgwMEJBNTExNCAvKiBLQ2FudmFzUmVzb3VyY2VMaXN0ZW5lci5oICov
OyB9OwogCQlBODhBRDNDODA5NTI0ODZFMDAxREQxOTYgLyogS0NhbnZhc1Jlc291cmNlcy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEMwRkI4QTA4
OTcwMUY4MDBCQTUxMTQgLyogS0NhbnZhc1Jlc291cmNlcy5jcHAgKi87IH07CiAJCUE4OEFEM0M5
MDk1MjQ4NkUwMDFERDE5NiAvKiBLQ2FudmFzUmVzb3VyY2VzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEMwRkI4QjA4OTcwMUY4MDBCQTUxMTQgLyog
S0NhbnZhc1Jlc291cmNlcy5oICovOyB9OwotCQlBODhBRDNDQTA5NTI0ODZFMDAxREQxOTYgLyog
S0NhbnZhc1R5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBOEMwRkI4QzA4OTcwMUY4MDBCQTUxMTQgLyogS0NhbnZhc1R5cGVzLmggKi87IH07CiAJ
CUE4OEFEM0NCMDk1MjQ4NkUwMDFERDE5NiAvKiBLQ2FudmFzVHJlZURlYnVnLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODEwRTM5MzA4QTQxNjBGMDAz
MzNEOTggLyogS0NhbnZhc1RyZWVEZWJ1Zy5oICovOyB9OwogCQlBODhBRDNDQzA5NTI0ODZFMDAx
REQxOTYgLyogS0NhbnZhc1RyZWVEZWJ1Zy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBODEwRTM5NDA4QTQxNjBGMDAzMzNEOTggLyogS0NhbnZhc1Ry
ZWVEZWJ1Zy5jcHAgKi87IH07CiAJCUE4OEFEM0ZGMDk1MjQ4RjAwMDFERDE5NiAvKiBzdmcuY3Nz
IGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEMwRjZG
ODA4OTcwMUYxMDBCQTUxMTQgLyogc3ZnLmNzcyAqLzsgfTsKQEAgLTI0MDQsNyArMjQwMyw2IEBA
CiAJCUE4QzBGQjg5MDg5NzAxRjgwMEJBNTExNCAvKiBLQ2FudmFzUmVzb3VyY2VMaXN0ZW5lci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtDYW52
YXNSZXNvdXJjZUxpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0g
ODsgdXNlc1RhYnMgPSAwOyB9OwogCQlBOEMwRkI4QTA4OTcwMUY4MDBCQTUxMTQgLyogS0NhbnZh
c1Jlc291cmNlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEtDYW52YXNSZXNvdXJjZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJQThDMEZCOEIwODk3MDFGODAwQkE1
MTE0IC8qIEtDYW52YXNSZXNvdXJjZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBLQ2FudmFzUmVzb3VyY2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwotCQlBOEMwRkI4QzA4OTcwMUY4
MDBCQTUxMTQgLyogS0NhbnZhc1R5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gS0NhbnZhc1R5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlBOEMzMjkyMDA5M0JCNzMyMDAw
QjlDQUMgLyogV0tBcml0aG1ldGljRmlsdGVyLmNpa2VybmVsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gV0tBcml0aG1ldGljRmlsdGVyLmNpa2VybmVsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJQThDMzI5
MjEwOTNCQjczMjAwMEI5Q0FDIC8qIFdLQXJpdGhtZXRpY0ZpbHRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQXJpdGhtZXRpY0ZpbHRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsK
IAkJQThDMzI5MjIwOTNCQjczMjAwMEI5Q0FDIC8qIFdLQXJpdGhtZXRpY0ZpbHRlci5tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgcGF0aCA9IFdLQXJpdGht
ZXRpY0ZpbHRlci5tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNU
YWJzID0gMDsgfTsKQEAgLTM1NjcsNyArMzU2NSw2IEBACiAJCQkJQThDMEZCODkwODk3MDFGODAw
QkE1MTE0IC8qIEtDYW52YXNSZXNvdXJjZUxpc3RlbmVyLmggKi8sCiAJCQkJQThDMEZCOEEwODk3
MDFGODAwQkE1MTE0IC8qIEtDYW52YXNSZXNvdXJjZXMuY3BwICovLAogCQkJCUE4QzBGQjhCMDg5
NzAxRjgwMEJBNTExNCAvKiBLQ2FudmFzUmVzb3VyY2VzLmggKi8sCi0JCQkJQThDMEZCOEMwODk3
MDFGODAwQkE1MTE0IC8qIEtDYW52YXNUeXBlcy5oICovLAogCQkJCUE4MTBFMzkzMDhBNDE2MEYw
MDMzM0Q5OCAvKiBLQ2FudmFzVHJlZURlYnVnLmggKi8sCiAJCQkJQTgxMEUzOTQwOEE0MTYwRjAw
MzMzRDk4IC8qIEtDYW52YXNUcmVlRGVidWcuY3BwICovLAogCQkJKTsKQEAgLTQ3NzQsNyArNDc3
MSw2IEBACiAJCQkJQTg4QUQzQzUwOTUyNDg2RTAwMUREMTk2IC8qIEtDYW52YXNQYXRoLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBODhBRDNDNzA5NTI0ODZFMDAxREQxOTYgLyogS0NhbnZhc1Jlc291
cmNlTGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4OEFEM0M5MDk1MjQ4NkUwMDFERDE5
NiAvKiBLQ2FudmFzUmVzb3VyY2VzLmggaW4gSGVhZGVycyAqLywKLQkJCQlBODhBRDNDQTA5NTI0
ODZFMDAxREQxOTYgLyogS0NhbnZhc1R5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODhBRDND
QjA5NTI0ODZFMDAxREQxOTYgLyogS0NhbnZhc1RyZWVEZWJ1Zy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTg4QUQ0MDIwOTUyNDhGMDAwMUREMTk2IC8qIFNWR1JlbmRlclN0eWxlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODhBRDQwNDA5NTI0OEYwMDAxREQxOTYgLyogU1ZHUmVuZGVyU3R5bGVEZWZz
LmggaW4gSGVhZGVycyAqLywKSW5kZXg6IGtjYW52YXMvS0NhbnZhc0l0ZW0uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIGtjYW52YXMvS0NhbnZhc0l0ZW0uY3BwCShyZXZpc2lvbiAxMjExMCkKKysrIGtjYW52
YXMvS0NhbnZhc0l0ZW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsMTMgKzExMyw0IEBAIEtD
YW52YXNQYXRoKiBSZW5kZXJQYXRoOjpwYXRoKCkgY29uc3QKICAgICByZXR1cm4gZC0+cGF0aC5n
ZXQoKTsKIH0KIAotY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3MgUmVuZGVyUGF0aDo6Y29tbW9uQXJn
cygpIGNvbnN0Ci17Ci0gICAgS0NhbnZhc0NvbW1vbkFyZ3MgYXJnczsKLSAgICBhcmdzLnNldFBh
dGgocGF0aCgpKTsKLSAgICBhcmdzLnNldFJlbmRlclN0eWxlKHN0eWxlKCkpOwotICAgIGFyZ3Mu
c2V0UmVuZGVyUGF0aCh0aGlzKTsKLSAgICByZXR1cm4gYXJnczsKLX0KLQogLy8gdmltOnRzPTQ6
bm9ldApJbmRleDoga2NhbnZhcy9LQ2FudmFzSXRlbS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtjYW52YXMv
S0NhbnZhc0l0ZW0uaAkocmV2aXNpb24gMTIxMTApCisrKyBrY2FudmFzL0tDYW52YXNJdGVtLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlIDxxM3ZhbHVlbGlzdC5o
PgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogCi0jaW5jbHVkZSA8a2NhbnZhcy9LQ2FudmFzVHlw
ZXMuaD4KICNpbmNsdWRlICJraHRtbC9yZW5kZXJpbmcvcmVuZGVyX29iamVjdC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC00MSw2ICs0MCw3IEBAIG5hbWVzcGFjZSBLU1ZHIHsKICAgICBj
bGFzcyBTVkdTdHlsZWRFbGVtZW50SW1wbDsKIH07CiAKK2NsYXNzIEtDYW52YXNQYXRoOwogY2xh
c3MgS0NhbnZhc0NvbnRhaW5lcjsKIGNsYXNzIEtDYW52YXNNYXRyaXg7CiBjbGFzcyBSZW5kZXJQ
YXRoIDogcHVibGljIGtodG1sOjpSZW5kZXJPYmplY3QKQEAgLTY3LDcgKzY3LDYgQEAgcHVibGlj
OgogICAgIAogcHJvdGVjdGVkOgogICAgIC8vIHJlc3RyaWN0ZWQgc2V0IG9mIGFyZ3MgZm9yIHBh
c3NpbmcgdG8gcGFpbnQgc2VydmVycywgZXRjLgotICAgIGNvbnN0IEtDYW52YXNDb21tb25Bcmdz
IGNvbW1vbkFyZ3MoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaGl0c1BhdGgoY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCAmaGl0UG9pbnQsIGJvb2wgZmlsbCkgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgRmxvYXRSZWN0IGJib3hGb3JQYXRoKGJvb2wgaW5jbHVkZVN0cm9rZSkgY29uc3QgPSAw
OwogCkluZGV4OiBrY2FudmFzL0tDYW52YXNDcmVhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2NhbnZh
cy9LQ2FudmFzQ3JlYXRvci5oCShyZXZpc2lvbiAxMjExMCkKKysrIGtjYW52YXMvS0NhbnZhc0Ny
ZWF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNiBAQAogI2RlZmluZSBLQ2FudmFz
Q3JlYXRvcl9ICiAKICNpbmNsdWRlIDxrY2FudmFzL0tDYW52YXNQYXRoLmg+Ci0jaW5jbHVkZSA8
a2NhbnZhcy9LQ2FudmFzVHlwZXMuaD4KIAogY2xhc3MgS0NhbnZhc0NyZWF0b3IKIHsKSW5kZXg6
IGtjYW52YXMvZGV2aWNlL3F1YXJ0ei9LQ2FudmFzSXRlbVF1YXJ0ei5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBrY2FudmFzL2RldmljZS9xdWFydHovS0NhbnZhc0l0ZW1RdWFydHoubW0JKHJldmlzaW9uIDEy
MTEwKQorKysga2NhbnZhcy9kZXZpY2UvcXVhcnR6L0tDYW52YXNJdGVtUXVhcnR6Lm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMjAsMTkgKzIyMCwxNyBAQCB2b2lkIEtDYW52YXNJdGVtUXVhcnR6Ojpw
YWludChQYWludEluZm8gCiAKICAgICBkZXZpY2VDb250ZXh0LT5jbGVhclBhdGgoKTsKICAgICAK
LSAgICBLQ2FudmFzQ29tbW9uQXJncyBhcmdzID0gY29tbW9uQXJncygpOwotCiAgICAgS1JlbmRl
cmluZ1BhaW50U2VydmVyICpmaWxsUGFpbnRTZXJ2ZXIgPSBLU1ZHOjpLU1ZHUGFpbnRlckZhY3Rv
cnk6OmZpbGxQYWludFNlcnZlcihzdHlsZSgpLCB0aGlzKTsKICAgICBpZiAoZmlsbFBhaW50U2Vy
dmVyKSB7CiAgICAgICAgIGRldmljZUNvbnRleHQtPmFkZFBhdGgocGF0aCgpKTsKICAgICAgICAg
ZmlsbFBhaW50U2VydmVyLT5zZXRBY3RpdmVDbGllbnQodGhpcyk7Ci0gICAgICAgIGZpbGxQYWlu
dFNlcnZlci0+ZHJhdyhkZXZpY2VDb250ZXh0LCBhcmdzLCBBUFBMWV9UT19GSUxMKTsKKyAgICAg
ICAgZmlsbFBhaW50U2VydmVyLT5kcmF3KGRldmljZUNvbnRleHQsIHRoaXMsIEFQUExZX1RPX0ZJ
TEwpOwogICAgIH0KICAgICBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXIgKnN0cm9rZVBhaW50U2VydmVy
ID0gS1NWRzo6S1NWR1BhaW50ZXJGYWN0b3J5OjpzdHJva2VQYWludFNlcnZlcihzdHlsZSgpLCB0
aGlzKTsKICAgICBpZiAoc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsKICAgICAgICAgZGV2aWNlQ29udGV4
dC0+YWRkUGF0aChwYXRoKCkpOyAvLyBwYXRoIGlzIGNsZWFyZWQgd2hlbiBmaWxsZWQuCiAgICAg
ICAgIHN0cm9rZVBhaW50U2VydmVyLT5zZXRBY3RpdmVDbGllbnQodGhpcyk7Ci0gICAgICAgIHN0
cm9rZVBhaW50U2VydmVyLT5kcmF3KGRldmljZUNvbnRleHQsIGFyZ3MsIEFQUExZX1RPX1NUUk9L
RSk7CisgICAgICAgIHN0cm9rZVBhaW50U2VydmVyLT5kcmF3KGRldmljZUNvbnRleHQsIHRoaXMs
IEFQUExZX1RPX1NUUk9LRSk7CiAgICAgfQogCiAgICAgZHJhd01hcmtlcnNJZk5lZWRlZChwYWlu
dEluZm8uciwgcGF0aCgpKTsKSW5kZXg6IGtjYW52YXMvZGV2aWNlL3F1YXJ0ei9LUmVuZGVyaW5n
UGFpbnRTZXJ2ZXJRdWFydHoubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2NhbnZhcy9kZXZpY2UvcXVhcnR6
L0tSZW5kZXJpbmdQYWludFNlcnZlclF1YXJ0ei5tbQkocmV2aXNpb24gMTIxMTApCisrKyBrY2Fu
dmFzL2RldmljZS9xdWFydHovS1JlbmRlcmluZ1BhaW50U2VydmVyUXVhcnR6Lm1tCSh3b3JraW5n
IGNvcHkpCkBAIC00MCwxMiArNDAsMTEgQEAKIAogI2ltcG9ydCAiS1dRTG9nZ2luZy5oIgogCi12
b2lkIEtSZW5kZXJpbmdQYWludFNlcnZlclNvbGlkUXVhcnR6OjpkcmF3KEtSZW5kZXJpbmdEZXZp
Y2VDb250ZXh0ICpyZW5kZXJpbmdDb250ZXh0LCBjb25zdCBLQ2FudmFzQ29tbW9uQXJncyAmYXJn
cywgS0NQYWludFRhcmdldFR5cGUgdHlwZSkgY29uc3QKK3ZvaWQgS1JlbmRlcmluZ1BhaW50U2Vy
dmVyU29saWRRdWFydHo6OmRyYXcoS1JlbmRlcmluZ0RldmljZUNvbnRleHQgKnJlbmRlcmluZ0Nv
bnRleHQsIFJlbmRlclBhdGgqIHJlbmRlclBhdGgsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNv
bnN0CiB7CiAgICAgS1JlbmRlcmluZ0RldmljZUNvbnRleHRRdWFydHogKnF1YXJ0ekNvbnRleHQg
PSBzdGF0aWNfY2FzdDxLUmVuZGVyaW5nRGV2aWNlQ29udGV4dFF1YXJ0eiAqPihyZW5kZXJpbmdD
b250ZXh0KTsKICAgICBDR0NvbnRleHRSZWYgY29udGV4dCA9IHF1YXJ0ekNvbnRleHQtPmNnQ29u
dGV4dCgpOwotICAgIGtodG1sOjpSZW5kZXJTdHlsZSAqcmVuZGVyU3R5bGUgPSBhcmdzLnJlbmRl
clN0eWxlKCk7Ci0gICAgY29uc3QgUmVuZGVyUGF0aCAqcmVuZGVyUGF0aCA9IGFyZ3MucmVuZGVy
UGF0aCgpOworICAgIGtodG1sOjpSZW5kZXJTdHlsZSAqcmVuZGVyU3R5bGUgPSByZW5kZXJQYXRo
LT5zdHlsZSgpOwogCiAgICAgQ0dDb250ZXh0U2V0QWxwaGEoY29udGV4dCwgcmVuZGVyU3R5bGUt
Pm9wYWNpdHkoKSk7CiAgICAgICAgIApAQCAtODIsMTUgKzgxLDE1IEBAIHZvaWQgcGF0dGVybkNh
bGxiYWNrKHZvaWQgKmluZm8sIENHQ29udGUKICAgICBDR0NvbnRleHREcmF3TGF5ZXJBdFBvaW50
KGNvbnRleHQsIENHUG9pbnRaZXJvLCBsYXllcik7CiB9CiAKLXZvaWQgS1JlbmRlcmluZ1BhaW50
U2VydmVyUGF0dGVyblF1YXJ0ejo6ZHJhdyhLUmVuZGVyaW5nRGV2aWNlQ29udGV4dCAqcmVuZGVy
aW5nQ29udGV4dCwgY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3MgJmFyZ3MsIEtDUGFpbnRUYXJnZXRU
eXBlIHR5cGUpIGNvbnN0Cit2b2lkIEtSZW5kZXJpbmdQYWludFNlcnZlclBhdHRlcm5RdWFydHo6
OmRyYXcoS1JlbmRlcmluZ0RldmljZUNvbnRleHQgKnJlbmRlcmluZ0NvbnRleHQsIFJlbmRlclBh
dGgqIHJlbmRlclBhdGgsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0CiB7CiAgICAgaWYo
bGlzdGVuZXIoKSkgLy8gdGhpcyBzZWVtcyBsaWtlIGJhZCBkZXNpZ24gdG8gbWUsIHNob3VsZCBi
ZSBpbiBhIGNvbW1vbiBiYXNlY2xhc3MuIC0tIGVjcyA4LzYvMDUKICAgICAgICAgbGlzdGVuZXIo
KS0+cmVzb3VyY2VOb3RpZmljYXRpb24oKTsKIAorICAgIGtodG1sOjpSZW5kZXJTdHlsZSAqcmVu
ZGVyU3R5bGUgPSByZW5kZXJQYXRoLT5zdHlsZSgpOworCiAgICAgS1JlbmRlcmluZ0RldmljZUNv
bnRleHRRdWFydHogKnF1YXJ0ekNvbnRleHQgPSBzdGF0aWNfY2FzdDxLUmVuZGVyaW5nRGV2aWNl
Q29udGV4dFF1YXJ0eiAqPihyZW5kZXJpbmdDb250ZXh0KTsKICAgICBDR0NvbnRleHRSZWYgY29u
dGV4dCA9IHF1YXJ0ekNvbnRleHQtPmNnQ29udGV4dCgpOwotICAgIGNvbnN0IFJlbmRlclBhdGgg
KnJlbmRlclBhdGggPSBhcmdzLnJlbmRlclBhdGgoKTsKLSAgICBraHRtbDo6UmVuZGVyU3R5bGUg
KnJlbmRlclN0eWxlID0gYXJncy5yZW5kZXJTdHlsZSgpOwogCiAgICAgS0NhbnZhc0ltYWdlICpj
ZWxsID0gdGlsZSgpOwogICAgIGlmICghY2VsbCkKQEAgLTE0Nyw3ICsxNDYsNyBAQCB2b2lkIEtS
ZW5kZXJpbmdQYWludFNlcnZlclBhdHRlcm5RdWFydHo6CiAgICAgQ0dDb250ZXh0UmVzdG9yZUdT
dGF0ZShjb250ZXh0KTsKIH0KIAotdm9pZCBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJJbWFnZVF1YXJ0
ejo6ZHJhdyhLUmVuZGVyaW5nRGV2aWNlQ29udGV4dCAqcmVuZGVyaW5nQ29udGV4dCwgY29uc3Qg
S0NhbnZhc0NvbW1vbkFyZ3MgJmFyZ3MsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0Cit2
b2lkIEtSZW5kZXJpbmdQYWludFNlcnZlckltYWdlUXVhcnR6OjpkcmF3KEtSZW5kZXJpbmdEZXZp
Y2VDb250ZXh0ICpyZW5kZXJpbmdDb250ZXh0LCBSZW5kZXJQYXRoKiByZW5kZXJQYXRoLCBLQ1Bh
aW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdAogewogICAgIC8vIEZJWE1FOiB0b3RhbCBoYWNrCiAg
ICAgS1JlbmRlcmluZ0RldmljZUNvbnRleHRRdWFydHogKnF1YXJ0ekNvbnRleHQgPSBzdGF0aWNf
Y2FzdDxLUmVuZGVyaW5nRGV2aWNlQ29udGV4dFF1YXJ0eiAqPihyZW5kZXJpbmdDb250ZXh0KTsK
SW5kZXg6IGtjYW52YXMvZGV2aWNlL3F1YXJ0ei9LUmVuZGVyaW5nRGV2aWNlUXVhcnR6LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0ga2NhbnZhcy9kZXZpY2UvcXVhcnR6L0tSZW5kZXJpbmdEZXZpY2VRdWFydHou
aAkocmV2aXNpb24gMTIxMTApCisrKyBrY2FudmFzL2RldmljZS9xdWFydHovS1JlbmRlcmluZ0Rl
dmljZVF1YXJ0ei5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEtS
ZW5kZXJpbmdEZXZpY2VRdWFydHpfSAogCiAjaW1wb3J0IDxrY2FudmFzL2RldmljZS9LUmVuZGVy
aW5nRGV2aWNlLmg+Ci0jaW1wb3J0ICJLQ2FudmFzVHlwZXMuaCIKIAogdHlwZWRlZiBzdHJ1Y3Qg
Q0dSZWN0IENHUmVjdDsKIHR5cGVkZWYgc3RydWN0IENHQ29udGV4dCAqQ0dDb250ZXh0UmVmOwpJ
bmRleDoga2NhbnZhcy9kZXZpY2UvcXVhcnR6L0tSZW5kZXJpbmdQYWludFNlcnZlckdyYWRpZW50
UXVhcnR6Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIGtjYW52YXMvZGV2aWNlL3F1YXJ0ei9LUmVuZGVyaW5n
UGFpbnRTZXJ2ZXJHcmFkaWVudFF1YXJ0ei5tbQkocmV2aXNpb24gMTIxMTApCisrKyBrY2FudmFz
L2RldmljZS9xdWFydHovS1JlbmRlcmluZ1BhaW50U2VydmVyR3JhZGllbnRRdWFydHoubW0JKHdv
cmtpbmcgY29weSkKQEAgLTQwLDEyICs0MCwxMSBAQAogCiAKIC8vIE1heWJlIHRoaXMgc2hvdWxk
IGJlIGluIGEgYmFzZSBjbGFzcyBpbnN0ZWFkLi4uCi1zdGF0aWMgdm9pZCBkcmF3U2hhZGluZ1dp
dGhTdHlsZShjb25zdCBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJHcmFkaWVudCAqc2VydmVyLCBDR1No
YWRpbmdSZWYgc2hhZGluZywgY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3MgJmFyZ3MsIEtDUGFpbnRU
YXJnZXRUeXBlIHR5cGUpCitzdGF0aWMgdm9pZCBkcmF3U2hhZGluZ1dpdGhTdHlsZShjb25zdCBL
UmVuZGVyaW5nUGFpbnRTZXJ2ZXJHcmFkaWVudCAqc2VydmVyLCBDR1NoYWRpbmdSZWYgc2hhZGlu
ZywgUmVuZGVyUGF0aCogcmVuZGVyUGF0aCwgS0NQYWludFRhcmdldFR5cGUgdHlwZSkKIHsKLSAg
ICBraHRtbDo6UmVuZGVyU3R5bGUgKnJlbmRlclN0eWxlID0gYXJncy5yZW5kZXJTdHlsZSgpOwot
ICAgIGNvbnN0IFJlbmRlclBhdGggKnJlbmRlclBhdGggPSBhcmdzLnJlbmRlclBhdGgoKTsKICAg
ICBLUmVuZGVyaW5nRGV2aWNlUXVhcnR6ICpxdWFydHpEZXZpY2UgPSBzdGF0aWNfY2FzdDxLUmVu
ZGVyaW5nRGV2aWNlUXVhcnR6ICo+KFFQYWludGVyOjpyZW5kZXJpbmdEZXZpY2UoKSk7CiAgICAg
Q0dDb250ZXh0UmVmIGNvbnRleHQgPSBxdWFydHpEZXZpY2UtPmN1cnJlbnRDR0NvbnRleHQoKTsK
KyAgICBraHRtbDo6UmVuZGVyU3R5bGUgKnJlbmRlclN0eWxlID0gcmVuZGVyUGF0aC0+c3R5bGUo
KTsKICAgICBBU1NFUlQoY29udGV4dCAhPSBOVUxMKTsKICAgICAKICAgICBDR0NvbnRleHRTYXZl
R1N0YXRlKGNvbnRleHQpOwpAQCAtMjkwLDcgKzI4OSw3IEBAIHZvaWQgS1JlbmRlcmluZ1BhaW50
U2VydmVyUmFkaWFsR3JhZGllbnQKICAgICBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJSYWRpYWxHcmFk
aWVudDo6aW52YWxpZGF0ZSgpOwogfQogCi12b2lkIEtSZW5kZXJpbmdQYWludFNlcnZlckxpbmVh
ckdyYWRpZW50UXVhcnR6OjpkcmF3KEtSZW5kZXJpbmdEZXZpY2VDb250ZXh0ICpyZW5kZXJpbmdD
b250ZXh0LCBjb25zdCBLQ2FudmFzQ29tbW9uQXJncyAmYXJncywgS0NQYWludFRhcmdldFR5cGUg
dHlwZSkgY29uc3QKK3ZvaWQgS1JlbmRlcmluZ1BhaW50U2VydmVyTGluZWFyR3JhZGllbnRRdWFy
dHo6OmRyYXcoS1JlbmRlcmluZ0RldmljZUNvbnRleHQgKnJlbmRlcmluZ0NvbnRleHQsIFJlbmRl
clBhdGgqIHJlbmRlclBhdGgsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0CiB7CiAgICAg
aWYobGlzdGVuZXIoKSkgLy8gdGhpcyBzZWVtcyBsaWtlIGJhZCBkZXNpZ24gdG8gbWUsIHNob3Vs
ZCBiZSBpbiBhIGNvbW1vbiBiYXNlY2xhc3MuIC0tIGVjcyA4LzYvMDUKICAgICAgICAgbGlzdGVu
ZXIoKS0+cmVzb3VyY2VOb3RpZmljYXRpb24oKTsKQEAgLTMwMCwxMCArMjk5LDEwIEBAIHZvaWQg
S1JlbmRlcmluZ1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQKICAgICBpZiAoIW1fc2hhZGluZ0Nh
Y2hlKQogICAgICAgICBjb25zdF9jYXN0PEtSZW5kZXJpbmdQYWludFNlcnZlckxpbmVhckdyYWRp
ZW50UXVhcnR6ICo+KHRoaXMpLT51cGRhdGVRdWFydHpHcmFkaWVudENhY2hlKHRoaXMpOwogICAg
IAotICAgIGRyYXdTaGFkaW5nV2l0aFN0eWxlKHRoaXMsIG1fc2hhZGluZ0NhY2hlLCBhcmdzLCB0
eXBlKTsKKyAgICBkcmF3U2hhZGluZ1dpdGhTdHlsZSh0aGlzLCBtX3NoYWRpbmdDYWNoZSwgcmVu
ZGVyUGF0aCwgdHlwZSk7CiB9CiAKLXZvaWQgS1JlbmRlcmluZ1BhaW50U2VydmVyUmFkaWFsR3Jh
ZGllbnRRdWFydHo6OmRyYXcoS1JlbmRlcmluZ0RldmljZUNvbnRleHQgKnJlbmRlcmluZ0NvbnRl
eHQsIGNvbnN0IEtDYW52YXNDb21tb25BcmdzICZhcmdzLCBLQ1BhaW50VGFyZ2V0VHlwZSB0eXBl
KSBjb25zdAordm9pZCBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudFF1YXJ0ejo6
ZHJhdyhLUmVuZGVyaW5nRGV2aWNlQ29udGV4dCAqcmVuZGVyaW5nQ29udGV4dCwgUmVuZGVyUGF0
aCogcmVuZGVyUGF0aCwgS0NQYWludFRhcmdldFR5cGUgdHlwZSkgY29uc3QKIHsKICAgICBpZihs
aXN0ZW5lcigpKSAvLyB0aGlzIHNlZW1zIGxpa2UgYmFkIGRlc2lnbiB0byBtZSwgc2hvdWxkIGJl
IGluIGEgY29tbW9uIGJhc2VjbGFzcy4gLS0gZWNzIDgvNi8wNQogICAgICAgICBsaXN0ZW5lcigp
LT5yZXNvdXJjZU5vdGlmaWNhdGlvbigpOwpAQCAtMzEzLDUgKzMxMiw1IEBAIHZvaWQgS1JlbmRl
cmluZ1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQKICAgICBpZiAoIW1fc2hhZGluZ0NhY2hlKQog
ICAgICAgICBjb25zdF9jYXN0PEtSZW5kZXJpbmdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50UXVh
cnR6ICo+KHRoaXMpLT51cGRhdGVRdWFydHpHcmFkaWVudENhY2hlKHRoaXMpOwogICAgIAotICAg
IGRyYXdTaGFkaW5nV2l0aFN0eWxlKHRoaXMsIG1fc2hhZGluZ0NhY2hlLCBhcmdzLCB0eXBlKTsK
KyAgICBkcmF3U2hhZGluZ1dpdGhTdHlsZSh0aGlzLCBtX3NoYWRpbmdDYWNoZSwgcmVuZGVyUGF0
aCwgdHlwZSk7CiB9CkluZGV4OiBrY2FudmFzL2RldmljZS9xdWFydHovS1JlbmRlcmluZ1BhaW50
U2VydmVyUXVhcnR6LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2NhbnZhcy9kZXZpY2UvcXVhcnR6L0tSZW5k
ZXJpbmdQYWludFNlcnZlclF1YXJ0ei5oCShyZXZpc2lvbiAxMjExMCkKKysrIGtjYW52YXMvZGV2
aWNlL3F1YXJ0ei9LUmVuZGVyaW5nUGFpbnRTZXJ2ZXJRdWFydHouaAkod29ya2luZyBjb3B5KQpA
QCAtMzMsMTkgKzMzLDE5IEBACiBjbGFzcyBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJTb2xpZFF1YXJ0
eiA6IHB1YmxpYyBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJTb2xpZCB7CiBwdWJsaWM6CiAgICAgS1Jl
bmRlcmluZ1BhaW50U2VydmVyU29saWRRdWFydHooKSB7fTsKLSAgICB2aXJ0dWFsIHZvaWQgZHJh
dyhLUmVuZGVyaW5nRGV2aWNlQ29udGV4dCAqY29udGV4dCwgY29uc3QgS0NhbnZhc0NvbW1vbkFy
Z3MgJmFyZ3MsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0OworICAgIHZpcnR1YWwgdm9p
ZCBkcmF3KEtSZW5kZXJpbmdEZXZpY2VDb250ZXh0ICpjb250ZXh0LCBSZW5kZXJQYXRoKiByZW5k
ZXJQYXRoLCBLQ1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdDsKIH07CiAKIGNsYXNzIEtSZW5k
ZXJpbmdQYWludFNlcnZlclBhdHRlcm5RdWFydHogOiBwdWJsaWMgS1JlbmRlcmluZ1BhaW50U2Vy
dmVyUGF0dGVybiB7CiBwdWJsaWM6CiAgICAgS1JlbmRlcmluZ1BhaW50U2VydmVyUGF0dGVyblF1
YXJ0eigpIHt9OwotICAgIHZpcnR1YWwgdm9pZCBkcmF3KEtSZW5kZXJpbmdEZXZpY2VDb250ZXh0
ICpjb250ZXh0LCBjb25zdCBLQ2FudmFzQ29tbW9uQXJncyAmYXJncywgS0NQYWludFRhcmdldFR5
cGUgdHlwZSkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGRyYXcoS1JlbmRlcmluZ0RldmljZUNv
bnRleHQgKmNvbnRleHQsIFJlbmRlclBhdGgqIHJlbmRlclBhdGgsIEtDUGFpbnRUYXJnZXRUeXBl
IHR5cGUpIGNvbnN0OwogfTsKIAogY2xhc3MgS1JlbmRlcmluZ1BhaW50U2VydmVySW1hZ2VRdWFy
dHogOiBwdWJsaWMgS1JlbmRlcmluZ1BhaW50U2VydmVySW1hZ2UgewogcHVibGljOgogICAgIEtS
ZW5kZXJpbmdQYWludFNlcnZlckltYWdlUXVhcnR6KCkge307Ci0gICAgdmlydHVhbCB2b2lkIGRy
YXcoS1JlbmRlcmluZ0RldmljZUNvbnRleHQgKmNvbnRleHQsIGNvbnN0IEtDYW52YXNDb21tb25B
cmdzICZhcmdzLCBLQ1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZv
aWQgZHJhdyhLUmVuZGVyaW5nRGV2aWNlQ29udGV4dCAqY29udGV4dCwgUmVuZGVyUGF0aCogcmVu
ZGVyUGF0aCwgS0NQYWludFRhcmdldFR5cGUgdHlwZSkgY29uc3Q7CiB9OwogCiB0eXBlZGVmIHN0
cnVjdCB7CkBAIC03OSw3ICs3OSw3IEBAIGNsYXNzIEtSZW5kZXJpbmdQYWludFNlcnZlckxpbmVh
ckdyYWRpZW4KIHB1YmxpYzoKICAgICBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVu
dFF1YXJ0eigpIHt9OwogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKCk7Ci0gICAgdmlydHVh
bCB2b2lkIGRyYXcoS1JlbmRlcmluZ0RldmljZUNvbnRleHQgKmNvbnRleHQsIGNvbnN0IEtDYW52
YXNDb21tb25BcmdzICZhcmdzLCBLQ1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdDsKKyAgICB2
aXJ0dWFsIHZvaWQgZHJhdyhLUmVuZGVyaW5nRGV2aWNlQ29udGV4dCAqY29udGV4dCwgUmVuZGVy
UGF0aCogcmVuZGVyUGF0aCwgS0NQYWludFRhcmdldFR5cGUgdHlwZSkgY29uc3Q7CiB9OwogCiBj
bGFzcyBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudFF1YXJ0eiA6IHB1YmxpYyBL
UmVuZGVyaW5nUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCwKQEAgLTg3LDUgKzg3LDUgQEAgY2xh
c3MgS1JlbmRlcmluZ1BhaW50U2VydmVyUmFkaWFsR3JhZGllbgogcHVibGljOgogICAgIEtSZW5k
ZXJpbmdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50UXVhcnR6KCkge307CiAgICAgdmlydHVhbCB2
b2lkIGludmFsaWRhdGUoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZHJhdyhLUmVuZGVyaW5nRGV2aWNl
Q29udGV4dCAqY29udGV4dCwgY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3MgJmFyZ3MsIEtDUGFpbnRU
YXJnZXRUeXBlIHR5cGUpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBkcmF3KEtSZW5kZXJpbmdE
ZXZpY2VDb250ZXh0ICpjb250ZXh0LCBSZW5kZXJQYXRoKiByZW5kZXJQYXRoLCBLQ1BhaW50VGFy
Z2V0VHlwZSB0eXBlKSBjb25zdDsKIH07CkluZGV4OiBrY2FudmFzL2RldmljZS9LUmVuZGVyaW5n
RGV2aWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrY2FudmFzL2RldmljZS9LUmVuZGVyaW5nRGV2aWNl
LmNwcAkocmV2aXNpb24gMTIxMTApCisrKyBrY2FudmFzL2RldmljZS9LUmVuZGVyaW5nRGV2aWNl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNDcgKzI0LDYgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJLUmVuZGVyaW5nRGV2aWNlLmgiCiAKLUtDYW52YXNDb21tb25BcmdzOjpL
Q2FudmFzQ29tbW9uQXJncygpCi17Ci0gICAgbV9wYXRoID0gMDsKLSAgICBtX3JlbmRlclN0eWxl
ID0gMDsKLSAgICBtX3JlbmRlclBhdGggPSAwOwotfQotCi1LQ2FudmFzQ29tbW9uQXJnczo6fktD
YW52YXNDb21tb25BcmdzKCkKLXsKLX0KLQotS0NhbnZhc1BhdGgqIEtDYW52YXNDb21tb25Bcmdz
OjpwYXRoKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9wYXRoLmdldCgpOwotfQotCi12b2lkIEtD
YW52YXNDb21tb25BcmdzOjpzZXRQYXRoKEtDYW52YXNQYXRoKiBwYXRoKQotewotICAgIG1fcGF0
aCA9IHBhdGg7Ci19Ci0KLWtodG1sOjpSZW5kZXJTdHlsZSAqS0NhbnZhc0NvbW1vbkFyZ3M6OnJl
bmRlclN0eWxlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9yZW5kZXJTdHlsZTsKLX0KLQotdm9p
ZCBLQ2FudmFzQ29tbW9uQXJnczo6c2V0UmVuZGVyU3R5bGUoa2h0bWw6OlJlbmRlclN0eWxlICpy
ZW5kZXJTdHlsZSkKLXsKLSAgICBtX3JlbmRlclN0eWxlID0gcmVuZGVyU3R5bGU7Ci19Ci0KLWNv
bnN0IFJlbmRlclBhdGgqIEtDYW52YXNDb21tb25BcmdzOjpyZW5kZXJQYXRoKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gbV9yZW5kZXJQYXRoOwotfQotCi12b2lkIEtDYW52YXNDb21tb25BcmdzOjpz
ZXRSZW5kZXJQYXRoKGNvbnN0IFJlbmRlclBhdGggKnJlbmRlclBhdGgpCi17Ci0gICAgbV9yZW5k
ZXJQYXRoID0gcmVuZGVyUGF0aDsKLX0KLQogS1JlbmRlcmluZ0RldmljZTo6S1JlbmRlcmluZ0Rl
dmljZSgpCiB7CiB9CkluZGV4OiBrY2FudmFzL2RldmljZS9LUmVuZGVyaW5nU3Ryb2tlUGFpbnRl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIGtjYW52YXMvZGV2aWNlL0tSZW5kZXJpbmdTdHJva2VQYWludGVy
LmgJKHJldmlzaW9uIDEyMTEwKQorKysga2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ1N0cm9rZVBh
aW50ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNiBAQAogI2lmbmRlZiBLUmVuZGVy
aW5nU3Ryb2tlUGFpbnRlcl9ICiAjZGVmaW5lIEtSZW5kZXJpbmdTdHJva2VQYWludGVyX0gKIAot
I2luY2x1ZGUgPGtjYW52YXMvS0NhbnZhc1R5cGVzLmg+CiAjaW5jbHVkZSAiS0NhbnZhc1JlbmRl
cmluZ1N0eWxlLmgiCiAKIG5hbWVzcGFjZSBLU1ZHIHsKSW5kZXg6IGtjYW52YXMvZGV2aWNlL0tS
ZW5kZXJpbmdEZXZpY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrY2FudmFzL2RldmljZS9LUmVuZGVyaW5n
RGV2aWNlLmgJKHJldmlzaW9uIDEyMTEwKQorKysga2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ0Rl
dmljZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSA8cW9iamVj
dC5oPgogI2luY2x1ZGUgPHEzcHRyc3RhY2suaD4KIAotI2luY2x1ZGUgPGtjYW52YXMvS0NhbnZh
c1R5cGVzLmg+CiAjaW5jbHVkZSA8a2NhbnZhcy9LQ2FudmFzRmlsdGVycy5oPgogI2luY2x1ZGUg
PGtjYW52YXMvZGV2aWNlL0tSZW5kZXJpbmdQYWludFNlcnZlci5oPgogCkluZGV4OiBrY2FudmFz
L2RldmljZS9LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrY2FudmFzL2Rl
dmljZS9LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIuaAkocmV2aXNpb24gMTIxMTApCisrKyBrY2FudmFz
L2RldmljZS9LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNyAr
MjMsNiBAQAogI2lmbmRlZiBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJfSAogI2RlZmluZSBLUmVuZGVy
aW5nUGFpbnRTZXJ2ZXJfSAogCi0jaW5jbHVkZSA8a2NhbnZhcy9LQ2FudmFzVHlwZXMuaD4KICNp
bmNsdWRlIDxrY2FudmFzL0tDYW52YXNSZXNvdXJjZXMuaD4KIAogLy8gRW51bWVyYXRpb25zCkBA
IC00NCw2ICs0MywxMCBAQCB0eXBlZGVmIGVudW0KICAgICBBUFBMWV9UT19TVFJPS0UgPSAyCiB9
IEtDUGFpbnRUYXJnZXRUeXBlOwogCituYW1lc3BhY2Uga2h0bWwgeworICAgIGNsYXNzIFJlbmRl
clN0eWxlOworfQorCiBjbGFzcyBRVGV4dFN0cmVhbTsKIGNsYXNzIFJlbmRlclBhdGg7CiBjbGFz
cyBLUmVuZGVyaW5nRGV2aWNlQ29udGV4dDsKQEAgLTY0LDcgKzY3LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgS0NQYWludFNlcnZlclR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKIAogICAgIC8vIEFj
dHVhbCByZW5kZXJpbmcgZnVuY3Rpb24KLSAgICB2aXJ0dWFsIHZvaWQgZHJhdyhLUmVuZGVyaW5n
RGV2aWNlQ29udGV4dCAqY29udGV4dCwgY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3MgJmFyZ3MsIEtD
UGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZHJhdyhL
UmVuZGVyaW5nRGV2aWNlQ29udGV4dCAqY29udGV4dCwgUmVuZGVyUGF0aCogcmVuZGVyUGF0aCwg
S0NQYWludFRhcmdldFR5cGUgdHlwZSkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCBRVGV4dFN0
cmVhbSAmZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihRVGV4dFN0cmVhbSAmKSBjb25zdCA9IDA7CiBw
cml2YXRlOgpJbmRleDoga2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ0ZpbGxQYWludGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0ga2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ0ZpbGxQYWludGVyLmgJKHJldmlz
aW9uIDEyMTEwKQorKysga2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ0ZpbGxQYWludGVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDYgQEAKICNkZWZpbmUgS1JlbmRlcmluZ0ZpbGxQYWlu
dGVyX0gKIAogI2luY2x1ZGUgPGtjYW52YXMvS0NhbnZhc1BhdGguaD4KLSNpbmNsdWRlIDxrY2Fu
dmFzL0tDYW52YXNUeXBlcy5oPgogCiBjbGFzcyBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXI7CiBjbGFz
cyBLUmVuZGVyaW5nRGV2aWNlQ29udGV4dDsKSW5kZXg6IGtjYW52YXMvS0NhbnZhc1R5cGVzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0ga2NhbnZhcy9LQ2FudmFzVHlwZXMuaAkocmV2aXNpb24gMTIxMTApCisr
KyBrY2FudmFzL0tDYW52YXNUeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDU3ICswLDAgQEAK
LS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8d2ls
ZGZveEBrZGUub3JnPgotICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVp
c0BrZGUub3JnPgotCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0Ci0K
LSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAg
ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWludCB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFj
ZSAtIFN1aXRlIDMzMCwKLSAgICBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KLSovCi0KLSNp
Zm5kZWYgS0NhbnZhc1R5cGVzX0gKLSNkZWZpbmUgS0NhbnZhc1R5cGVzX0gKLQotI2luY2x1ZGUg
PGt4bWxjb3JlL1JlZlB0ci5oPgotCi1uYW1lc3BhY2Uga2h0bWwgewotICAgIGNsYXNzIFJlbmRl
clN0eWxlOwotfQotCi1jbGFzcyBLQ2FudmFzUGF0aDsKLWNsYXNzIFJlbmRlclBhdGg7Ci1jbGFz
cyBLQ2FudmFzQ29tbW9uQXJncwotewotcHVibGljOgotICAgIEtDYW52YXNDb21tb25BcmdzKCk7
Ci0gICAgfktDYW52YXNDb21tb25BcmdzKCk7Ci0KLSAgICBLQ2FudmFzUGF0aCogcGF0aCgpIGNv
bnN0OwotICAgIHZvaWQgc2V0UGF0aChLQ2FudmFzUGF0aCogcGF0aCk7Ci0KLSAgICBraHRtbDo6
UmVuZGVyU3R5bGUgKnJlbmRlclN0eWxlKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRSZW5kZXJTdHls
ZShraHRtbDo6UmVuZGVyU3R5bGUgKnN0eWxlKTsKLSAgICAKLSAgICBjb25zdCBSZW5kZXJQYXRo
KiByZW5kZXJQYXRoKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRSZW5kZXJQYXRoKGNvbnN0IFJlbmRl
clBhdGgqIHBhdGgpOwotCi1wcml2YXRlOgotICAgIFJlZlB0cjxLQ2FudmFzUGF0aD4gbV9wYXRo
OwotICAgIGtodG1sOjpSZW5kZXJTdHlsZSAqbV9yZW5kZXJTdHlsZTsKLSAgICBjb25zdCBSZW5k
ZXJQYXRoICptX3JlbmRlclBhdGg7Ci19OwotCi0jZW5kaWYKLQotLy8gdmltOnRzPTQ6bm9ldApJ
bmRleDogQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIENoYW5nZUxvZwkocmV2aXNpb24gMTIxMTIp
CisrKyBDaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSwzNiBAQAogMjAwNi0wMS0x
NSAgQWxleGFuZGVyIEtlbGxldHQgIDxseXBhbm92QGtkZS5vcmc+CiAKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIEtDYW52YXNDb21tb25Bcmdz
IGFuZCBwYXNzIGFyb3VuZCBSZW5kZXJQYXRoIG9iamVjdHMgaW5zdGVhZC4KKworICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBrY2FudmFzL0tD
YW52YXNDcmVhdG9yLmg6CisgICAgICAgICoga2NhbnZhcy9LQ2FudmFzSXRlbS5jcHA6CisgICAg
ICAgICoga2NhbnZhcy9LQ2FudmFzSXRlbS5oOgorICAgICAgICAqIGtjYW52YXMvS0NhbnZhc1R5
cGVzLmg6IFJlbW92ZWQuCisgICAgICAgICoga2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ0Rldmlj
ZS5jcHA6CisgICAgICAgICoga2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ0RldmljZS5oOgorICAg
ICAgICAqIGtjYW52YXMvZGV2aWNlL0tSZW5kZXJpbmdGaWxsUGFpbnRlci5oOgorICAgICAgICAq
IGtjYW52YXMvZGV2aWNlL0tSZW5kZXJpbmdQYWludFNlcnZlci5oOgorICAgICAgICAqIGtjYW52
YXMvZGV2aWNlL0tSZW5kZXJpbmdTdHJva2VQYWludGVyLmg6CisgICAgICAgICoga2NhbnZhcy9k
ZXZpY2UvcXVhcnR6L0tDYW52YXNJdGVtUXVhcnR6Lm1tOgorICAgICAgICAoS0NhbnZhc0l0ZW1R
dWFydHo6OnBhaW50KToKKyAgICAgICAgKiBrY2FudmFzL2RldmljZS9xdWFydHovS1JlbmRlcmlu
Z0RldmljZVF1YXJ0ei5oOgorICAgICAgICAqIGtjYW52YXMvZGV2aWNlL3F1YXJ0ei9LUmVuZGVy
aW5nUGFpbnRTZXJ2ZXJHcmFkaWVudFF1YXJ0ei5tbToKKyAgICAgICAgKGRyYXdTaGFkaW5nV2l0
aFN0eWxlKToKKyAgICAgICAgKEtSZW5kZXJpbmdQYWludFNlcnZlckxpbmVhckdyYWRpZW50UXVh
cnR6OjpkcmF3KToKKyAgICAgICAgKEtSZW5kZXJpbmdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50
UXVhcnR6OjpkcmF3KToKKyAgICAgICAgKiBrY2FudmFzL2RldmljZS9xdWFydHovS1JlbmRlcmlu
Z1BhaW50U2VydmVyUXVhcnR6Lmg6CisgICAgICAgICoga2NhbnZhcy9kZXZpY2UvcXVhcnR6L0tS
ZW5kZXJpbmdQYWludFNlcnZlclF1YXJ0ei5tbToKKyAgICAgICAgKEtSZW5kZXJpbmdQYWludFNl
cnZlclNvbGlkUXVhcnR6OjpkcmF3KToKKyAgICAgICAgKEtSZW5kZXJpbmdQYWludFNlcnZlclBh
dHRlcm5RdWFydHo6OmRyYXcpOgorICAgICAgICAoS1JlbmRlcmluZ1BhaW50U2VydmVySW1hZ2VR
dWFydHo6OmRyYXcpOgorICAgICAgICAqIGtzdmcyL21pc2MvS0NhbnZhc1JlbmRlcmluZ1N0eWxl
LmNwcDoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHUGF0dGVybkVsZW1lbnRJbXBsLmg6CisKKzIw
MDYtMDEtMTUgIEFsZXhhbmRlciBLZWxsZXR0ICA8bHlwYW5vdkBrZGUub3JnPgorCiAgICAgICAg
IFJldmlld2VkIGJ5IGVzZWlkZWwuCiAKICAgICAgICAgPG1hc2s+IGluc2lkZSA8ZGVmcz4gY3Jh
c2hlcyBTYWZhcmkuCkluZGV4OiBrc3ZnMi9zdmcvU1ZHUGF0dGVybkVsZW1lbnRJbXBsLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0ga3N2ZzIvc3ZnL1NWR1BhdHRlcm5FbGVtZW50SW1wbC5oCShyZXZpc2lvbiAx
MjExMCkKKysrIGtzdmcyL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudEltcGwuaAkod29ya2luZyBjb3B5
KQpAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlNWR1N0eWxlZExvY2F0YWJsZUVsZW1lbnRJ
bXBsLmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEltcGwuaCIKIAot
I2luY2x1ZGUgPGtjYW52YXMvS0NhbnZhc1R5cGVzLmg+CiAjaW5jbHVkZSA8a2NhbnZhcy9LQ2Fu
dmFzUmVzb3VyY2VMaXN0ZW5lci5oPgogI2luY2x1ZGUgPGtjYW52YXMvZGV2aWNlL0tSZW5kZXJp
bmdQYWludFNlcnZlci5oPgogI2luY2x1ZGUgPGtjYW52YXMvZGV2aWNlL0tSZW5kZXJpbmdQYWlu
dFNlcnZlclBhdHRlcm4uaD4KSW5kZXg6IGtzdmcyL21pc2MvS0NhbnZhc1JlbmRlcmluZ1N0eWxl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBrc3ZnMi9taXNjL0tDYW52YXNSZW5kZXJpbmdTdHlsZS5jcHAJ
KHJldmlzaW9uIDEyMTEwKQorKysga3N2ZzIvbWlzYy9LQ2FudmFzUmVuZGVyaW5nU3R5bGUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAKICNpbmNsdWRlIDxrY2FudmFzL0tD
YW52YXMuaD4KICNpbmNsdWRlIDxrY2FudmFzL0tDYW52YXNQYXRoLmg+Ci0jaW5jbHVkZSA8a2Nh
bnZhcy9LQ2FudmFzVHlwZXMuaD4KICNpbmNsdWRlIDxrY2FudmFzL2RldmljZS9LUmVuZGVyaW5n
RGV2aWNlLmg+CiAjaW5jbHVkZSA8a2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ0ZpbGxQYWludGVy
Lmg+CiAjaW5jbHVkZSA8a2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ1N0cm9rZVBhaW50ZXIuaD4K
</data>
<flag name="review"
          id="1278"
          type_id="1"
          status="-"
          setter="andersca"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5697</attachid>
            <date>2006-01-15 06:51:48 -0800</date>
            <delta_ts>2006-01-15 06:58:39 -0800</delta_ts>
            <desc>new patch based on suggestions from andersca</desc>
            <filename>remove-commonargs.patch</filename>
            <type>text/plain</type>
            <size>22815</size>
            <attacher name="Alexander Kellett">a</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDEyMTEwKQorKysgV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMjUwLDcg
KzEyNTAsNiBAQAogCQlBODhBRDNDNzA5NTI0ODZFMDAxREQxOTYgLyogS0NhbnZhc1Jlc291cmNl
TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE4QzBGQjg5MDg5NzAxRjgwMEJBNTExNCAvKiBLQ2FudmFzUmVzb3VyY2VMaXN0ZW5lci5oICov
OyB9OwogCQlBODhBRDNDODA5NTI0ODZFMDAxREQxOTYgLyogS0NhbnZhc1Jlc291cmNlcy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEMwRkI4QTA4
OTcwMUY4MDBCQTUxMTQgLyogS0NhbnZhc1Jlc291cmNlcy5jcHAgKi87IH07CiAJCUE4OEFEM0M5
MDk1MjQ4NkUwMDFERDE5NiAvKiBLQ2FudmFzUmVzb3VyY2VzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEMwRkI4QjA4OTcwMUY4MDBCQTUxMTQgLyog
S0NhbnZhc1Jlc291cmNlcy5oICovOyB9OwotCQlBODhBRDNDQTA5NTI0ODZFMDAxREQxOTYgLyog
S0NhbnZhc1R5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBOEMwRkI4QzA4OTcwMUY4MDBCQTUxMTQgLyogS0NhbnZhc1R5cGVzLmggKi87IH07CiAJ
CUE4OEFEM0NCMDk1MjQ4NkUwMDFERDE5NiAvKiBLQ2FudmFzVHJlZURlYnVnLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODEwRTM5MzA4QTQxNjBGMDAz
MzNEOTggLyogS0NhbnZhc1RyZWVEZWJ1Zy5oICovOyB9OwogCQlBODhBRDNDQzA5NTI0ODZFMDAx
REQxOTYgLyogS0NhbnZhc1RyZWVEZWJ1Zy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBODEwRTM5NDA4QTQxNjBGMDAzMzNEOTggLyogS0NhbnZhc1Ry
ZWVEZWJ1Zy5jcHAgKi87IH07CiAJCUE4OEFEM0ZGMDk1MjQ4RjAwMDFERDE5NiAvKiBzdmcuY3Nz
IGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEMwRjZG
ODA4OTcwMUYxMDBCQTUxMTQgLyogc3ZnLmNzcyAqLzsgfTsKQEAgLTI0MDQsNyArMjQwMyw2IEBA
CiAJCUE4QzBGQjg5MDg5NzAxRjgwMEJBNTExNCAvKiBLQ2FudmFzUmVzb3VyY2VMaXN0ZW5lci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtDYW52
YXNSZXNvdXJjZUxpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0g
ODsgdXNlc1RhYnMgPSAwOyB9OwogCQlBOEMwRkI4QTA4OTcwMUY4MDBCQTUxMTQgLyogS0NhbnZh
c1Jlc291cmNlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEtDYW52YXNSZXNvdXJjZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJQThDMEZCOEIwODk3MDFGODAwQkE1
MTE0IC8qIEtDYW52YXNSZXNvdXJjZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBLQ2FudmFzUmVzb3VyY2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwotCQlBOEMwRkI4QzA4OTcwMUY4
MDBCQTUxMTQgLyogS0NhbnZhc1R5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gS0NhbnZhc1R5cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlBOEMzMjkyMDA5M0JCNzMyMDAw
QjlDQUMgLyogV0tBcml0aG1ldGljRmlsdGVyLmNpa2VybmVsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gV0tBcml0aG1ldGljRmlsdGVyLmNpa2VybmVsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJQThDMzI5
MjEwOTNCQjczMjAwMEI5Q0FDIC8qIFdLQXJpdGhtZXRpY0ZpbHRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQXJpdGhtZXRpY0ZpbHRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsK
IAkJQThDMzI5MjIwOTNCQjczMjAwMEI5Q0FDIC8qIFdLQXJpdGhtZXRpY0ZpbHRlci5tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgcGF0aCA9IFdLQXJpdGht
ZXRpY0ZpbHRlci5tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNU
YWJzID0gMDsgfTsKQEAgLTM1NjcsNyArMzU2NSw2IEBACiAJCQkJQThDMEZCODkwODk3MDFGODAw
QkE1MTE0IC8qIEtDYW52YXNSZXNvdXJjZUxpc3RlbmVyLmggKi8sCiAJCQkJQThDMEZCOEEwODk3
MDFGODAwQkE1MTE0IC8qIEtDYW52YXNSZXNvdXJjZXMuY3BwICovLAogCQkJCUE4QzBGQjhCMDg5
NzAxRjgwMEJBNTExNCAvKiBLQ2FudmFzUmVzb3VyY2VzLmggKi8sCi0JCQkJQThDMEZCOEMwODk3
MDFGODAwQkE1MTE0IC8qIEtDYW52YXNUeXBlcy5oICovLAogCQkJCUE4MTBFMzkzMDhBNDE2MEYw
MDMzM0Q5OCAvKiBLQ2FudmFzVHJlZURlYnVnLmggKi8sCiAJCQkJQTgxMEUzOTQwOEE0MTYwRjAw
MzMzRDk4IC8qIEtDYW52YXNUcmVlRGVidWcuY3BwICovLAogCQkJKTsKQEAgLTQ3NzQsNyArNDc3
MSw2IEBACiAJCQkJQTg4QUQzQzUwOTUyNDg2RTAwMUREMTk2IC8qIEtDYW52YXNQYXRoLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBODhBRDNDNzA5NTI0ODZFMDAxREQxOTYgLyogS0NhbnZhc1Jlc291
cmNlTGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4OEFEM0M5MDk1MjQ4NkUwMDFERDE5
NiAvKiBLQ2FudmFzUmVzb3VyY2VzLmggaW4gSGVhZGVycyAqLywKLQkJCQlBODhBRDNDQTA5NTI0
ODZFMDAxREQxOTYgLyogS0NhbnZhc1R5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODhBRDND
QjA5NTI0ODZFMDAxREQxOTYgLyogS0NhbnZhc1RyZWVEZWJ1Zy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTg4QUQ0MDIwOTUyNDhGMDAwMUREMTk2IC8qIFNWR1JlbmRlclN0eWxlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODhBRDQwNDA5NTI0OEYwMDAxREQxOTYgLyogU1ZHUmVuZGVyU3R5bGVEZWZz
LmggaW4gSGVhZGVycyAqLywKSW5kZXg6IGtjYW52YXMvS0NhbnZhc0l0ZW0uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIGtjYW52YXMvS0NhbnZhc0l0ZW0uY3BwCShyZXZpc2lvbiAxMjExMCkKKysrIGtjYW52
YXMvS0NhbnZhc0l0ZW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsMTMgKzExMyw0IEBAIEtD
YW52YXNQYXRoKiBSZW5kZXJQYXRoOjpwYXRoKCkgY29uc3QKICAgICByZXR1cm4gZC0+cGF0aC5n
ZXQoKTsKIH0KIAotY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3MgUmVuZGVyUGF0aDo6Y29tbW9uQXJn
cygpIGNvbnN0Ci17Ci0gICAgS0NhbnZhc0NvbW1vbkFyZ3MgYXJnczsKLSAgICBhcmdzLnNldFBh
dGgocGF0aCgpKTsKLSAgICBhcmdzLnNldFJlbmRlclN0eWxlKHN0eWxlKCkpOwotICAgIGFyZ3Mu
c2V0UmVuZGVyUGF0aCh0aGlzKTsKLSAgICByZXR1cm4gYXJnczsKLX0KLQogLy8gdmltOnRzPTQ6
bm9ldApJbmRleDoga2NhbnZhcy9LQ2FudmFzSXRlbS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtjYW52YXMv
S0NhbnZhc0l0ZW0uaAkocmV2aXNpb24gMTIxMTApCisrKyBrY2FudmFzL0tDYW52YXNJdGVtLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlIDxxM3ZhbHVlbGlzdC5o
PgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogCi0jaW5jbHVkZSA8a2NhbnZhcy9LQ2FudmFzVHlw
ZXMuaD4KICNpbmNsdWRlICJraHRtbC9yZW5kZXJpbmcvcmVuZGVyX29iamVjdC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC00MSw2ICs0MCw3IEBAIG5hbWVzcGFjZSBLU1ZHIHsKICAgICBj
bGFzcyBTVkdTdHlsZWRFbGVtZW50SW1wbDsKIH07CiAKK2NsYXNzIEtDYW52YXNQYXRoOwogY2xh
c3MgS0NhbnZhc0NvbnRhaW5lcjsKIGNsYXNzIEtDYW52YXNNYXRyaXg7CiBjbGFzcyBSZW5kZXJQ
YXRoIDogcHVibGljIGtodG1sOjpSZW5kZXJPYmplY3QKQEAgLTY3LDcgKzY3LDYgQEAgcHVibGlj
OgogICAgIAogcHJvdGVjdGVkOgogICAgIC8vIHJlc3RyaWN0ZWQgc2V0IG9mIGFyZ3MgZm9yIHBh
c3NpbmcgdG8gcGFpbnQgc2VydmVycywgZXRjLgotICAgIGNvbnN0IEtDYW52YXNDb21tb25Bcmdz
IGNvbW1vbkFyZ3MoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaGl0c1BhdGgoY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCAmaGl0UG9pbnQsIGJvb2wgZmlsbCkgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgRmxvYXRSZWN0IGJib3hGb3JQYXRoKGJvb2wgaW5jbHVkZVN0cm9rZSkgY29uc3QgPSAw
OwogCkluZGV4OiBrY2FudmFzL0tDYW52YXNDcmVhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2NhbnZh
cy9LQ2FudmFzQ3JlYXRvci5oCShyZXZpc2lvbiAxMjExMCkKKysrIGtjYW52YXMvS0NhbnZhc0Ny
ZWF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNiBAQAogI2RlZmluZSBLQ2FudmFz
Q3JlYXRvcl9ICiAKICNpbmNsdWRlIDxrY2FudmFzL0tDYW52YXNQYXRoLmg+Ci0jaW5jbHVkZSA8
a2NhbnZhcy9LQ2FudmFzVHlwZXMuaD4KIAogY2xhc3MgS0NhbnZhc0NyZWF0b3IKIHsKSW5kZXg6
IGtjYW52YXMvZGV2aWNlL3F1YXJ0ei9LQ2FudmFzSXRlbVF1YXJ0ei5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBrY2FudmFzL2RldmljZS9xdWFydHovS0NhbnZhc0l0ZW1RdWFydHoubW0JKHJldmlzaW9uIDEy
MTEwKQorKysga2NhbnZhcy9kZXZpY2UvcXVhcnR6L0tDYW52YXNJdGVtUXVhcnR6Lm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMjAsMTkgKzIyMCwxNyBAQCB2b2lkIEtDYW52YXNJdGVtUXVhcnR6Ojpw
YWludChQYWludEluZm8gCiAKICAgICBkZXZpY2VDb250ZXh0LT5jbGVhclBhdGgoKTsKICAgICAK
LSAgICBLQ2FudmFzQ29tbW9uQXJncyBhcmdzID0gY29tbW9uQXJncygpOwotCiAgICAgS1JlbmRl
cmluZ1BhaW50U2VydmVyICpmaWxsUGFpbnRTZXJ2ZXIgPSBLU1ZHOjpLU1ZHUGFpbnRlckZhY3Rv
cnk6OmZpbGxQYWludFNlcnZlcihzdHlsZSgpLCB0aGlzKTsKICAgICBpZiAoZmlsbFBhaW50U2Vy
dmVyKSB7CiAgICAgICAgIGRldmljZUNvbnRleHQtPmFkZFBhdGgocGF0aCgpKTsKICAgICAgICAg
ZmlsbFBhaW50U2VydmVyLT5zZXRBY3RpdmVDbGllbnQodGhpcyk7Ci0gICAgICAgIGZpbGxQYWlu
dFNlcnZlci0+ZHJhdyhkZXZpY2VDb250ZXh0LCBhcmdzLCBBUFBMWV9UT19GSUxMKTsKKyAgICAg
ICAgZmlsbFBhaW50U2VydmVyLT5kcmF3KGRldmljZUNvbnRleHQsIHRoaXMsIEFQUExZX1RPX0ZJ
TEwpOwogICAgIH0KICAgICBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXIgKnN0cm9rZVBhaW50U2VydmVy
ID0gS1NWRzo6S1NWR1BhaW50ZXJGYWN0b3J5OjpzdHJva2VQYWludFNlcnZlcihzdHlsZSgpLCB0
aGlzKTsKICAgICBpZiAoc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsKICAgICAgICAgZGV2aWNlQ29udGV4
dC0+YWRkUGF0aChwYXRoKCkpOyAvLyBwYXRoIGlzIGNsZWFyZWQgd2hlbiBmaWxsZWQuCiAgICAg
ICAgIHN0cm9rZVBhaW50U2VydmVyLT5zZXRBY3RpdmVDbGllbnQodGhpcyk7Ci0gICAgICAgIHN0
cm9rZVBhaW50U2VydmVyLT5kcmF3KGRldmljZUNvbnRleHQsIGFyZ3MsIEFQUExZX1RPX1NUUk9L
RSk7CisgICAgICAgIHN0cm9rZVBhaW50U2VydmVyLT5kcmF3KGRldmljZUNvbnRleHQsIHRoaXMs
IEFQUExZX1RPX1NUUk9LRSk7CiAgICAgfQogCiAgICAgZHJhd01hcmtlcnNJZk5lZWRlZChwYWlu
dEluZm8uciwgcGF0aCgpKTsKSW5kZXg6IGtjYW52YXMvZGV2aWNlL3F1YXJ0ei9LUmVuZGVyaW5n
UGFpbnRTZXJ2ZXJRdWFydHoubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2NhbnZhcy9kZXZpY2UvcXVhcnR6
L0tSZW5kZXJpbmdQYWludFNlcnZlclF1YXJ0ei5tbQkocmV2aXNpb24gMTIxMTApCisrKyBrY2Fu
dmFzL2RldmljZS9xdWFydHovS1JlbmRlcmluZ1BhaW50U2VydmVyUXVhcnR6Lm1tCSh3b3JraW5n
IGNvcHkpCkBAIC00MCwxMiArNDAsMTEgQEAKIAogI2ltcG9ydCAiS1dRTG9nZ2luZy5oIgogCi12
b2lkIEtSZW5kZXJpbmdQYWludFNlcnZlclNvbGlkUXVhcnR6OjpkcmF3KEtSZW5kZXJpbmdEZXZp
Y2VDb250ZXh0ICpyZW5kZXJpbmdDb250ZXh0LCBjb25zdCBLQ2FudmFzQ29tbW9uQXJncyAmYXJn
cywgS0NQYWludFRhcmdldFR5cGUgdHlwZSkgY29uc3QKK3ZvaWQgS1JlbmRlcmluZ1BhaW50U2Vy
dmVyU29saWRRdWFydHo6OmRyYXcoS1JlbmRlcmluZ0RldmljZUNvbnRleHQgKnJlbmRlcmluZ0Nv
bnRleHQsIGNvbnN0IFJlbmRlclBhdGggKnJlbmRlclBhdGgsIEtDUGFpbnRUYXJnZXRUeXBlIHR5
cGUpIGNvbnN0CiB7CiAgICAgS1JlbmRlcmluZ0RldmljZUNvbnRleHRRdWFydHogKnF1YXJ0ekNv
bnRleHQgPSBzdGF0aWNfY2FzdDxLUmVuZGVyaW5nRGV2aWNlQ29udGV4dFF1YXJ0eiAqPihyZW5k
ZXJpbmdDb250ZXh0KTsKICAgICBDR0NvbnRleHRSZWYgY29udGV4dCA9IHF1YXJ0ekNvbnRleHQt
PmNnQ29udGV4dCgpOwotICAgIGtodG1sOjpSZW5kZXJTdHlsZSAqcmVuZGVyU3R5bGUgPSBhcmdz
LnJlbmRlclN0eWxlKCk7Ci0gICAgY29uc3QgUmVuZGVyUGF0aCAqcmVuZGVyUGF0aCA9IGFyZ3Mu
cmVuZGVyUGF0aCgpOworICAgIGtodG1sOjpSZW5kZXJTdHlsZSAqcmVuZGVyU3R5bGUgPSByZW5k
ZXJQYXRoLT5zdHlsZSgpOwogCiAgICAgQ0dDb250ZXh0U2V0QWxwaGEoY29udGV4dCwgcmVuZGVy
U3R5bGUtPm9wYWNpdHkoKSk7CiAgICAgICAgIApAQCAtODIsMTUgKzgxLDE1IEBAIHZvaWQgcGF0
dGVybkNhbGxiYWNrKHZvaWQgKmluZm8sIENHQ29udGUKICAgICBDR0NvbnRleHREcmF3TGF5ZXJB
dFBvaW50KGNvbnRleHQsIENHUG9pbnRaZXJvLCBsYXllcik7CiB9CiAKLXZvaWQgS1JlbmRlcmlu
Z1BhaW50U2VydmVyUGF0dGVyblF1YXJ0ejo6ZHJhdyhLUmVuZGVyaW5nRGV2aWNlQ29udGV4dCAq
cmVuZGVyaW5nQ29udGV4dCwgY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3MgJmFyZ3MsIEtDUGFpbnRU
YXJnZXRUeXBlIHR5cGUpIGNvbnN0Cit2b2lkIEtSZW5kZXJpbmdQYWludFNlcnZlclBhdHRlcm5R
dWFydHo6OmRyYXcoS1JlbmRlcmluZ0RldmljZUNvbnRleHQgKnJlbmRlcmluZ0NvbnRleHQsIGNv
bnN0IFJlbmRlclBhdGggKnJlbmRlclBhdGgsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0
CiB7CiAgICAgaWYobGlzdGVuZXIoKSkgLy8gdGhpcyBzZWVtcyBsaWtlIGJhZCBkZXNpZ24gdG8g
bWUsIHNob3VsZCBiZSBpbiBhIGNvbW1vbiBiYXNlY2xhc3MuIC0tIGVjcyA4LzYvMDUKICAgICAg
ICAgbGlzdGVuZXIoKS0+cmVzb3VyY2VOb3RpZmljYXRpb24oKTsKIAorICAgIGtodG1sOjpSZW5k
ZXJTdHlsZSAqcmVuZGVyU3R5bGUgPSByZW5kZXJQYXRoLT5zdHlsZSgpOworCiAgICAgS1JlbmRl
cmluZ0RldmljZUNvbnRleHRRdWFydHogKnF1YXJ0ekNvbnRleHQgPSBzdGF0aWNfY2FzdDxLUmVu
ZGVyaW5nRGV2aWNlQ29udGV4dFF1YXJ0eiAqPihyZW5kZXJpbmdDb250ZXh0KTsKICAgICBDR0Nv
bnRleHRSZWYgY29udGV4dCA9IHF1YXJ0ekNvbnRleHQtPmNnQ29udGV4dCgpOwotICAgIGNvbnN0
IFJlbmRlclBhdGggKnJlbmRlclBhdGggPSBhcmdzLnJlbmRlclBhdGgoKTsKLSAgICBraHRtbDo6
UmVuZGVyU3R5bGUgKnJlbmRlclN0eWxlID0gYXJncy5yZW5kZXJTdHlsZSgpOwogCiAgICAgS0Nh
bnZhc0ltYWdlICpjZWxsID0gdGlsZSgpOwogICAgIGlmICghY2VsbCkKQEAgLTE0Nyw3ICsxNDYs
NyBAQCB2b2lkIEtSZW5kZXJpbmdQYWludFNlcnZlclBhdHRlcm5RdWFydHo6CiAgICAgQ0dDb250
ZXh0UmVzdG9yZUdTdGF0ZShjb250ZXh0KTsKIH0KIAotdm9pZCBLUmVuZGVyaW5nUGFpbnRTZXJ2
ZXJJbWFnZVF1YXJ0ejo6ZHJhdyhLUmVuZGVyaW5nRGV2aWNlQ29udGV4dCAqcmVuZGVyaW5nQ29u
dGV4dCwgY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3MgJmFyZ3MsIEtDUGFpbnRUYXJnZXRUeXBlIHR5
cGUpIGNvbnN0Cit2b2lkIEtSZW5kZXJpbmdQYWludFNlcnZlckltYWdlUXVhcnR6OjpkcmF3KEtS
ZW5kZXJpbmdEZXZpY2VDb250ZXh0ICpyZW5kZXJpbmdDb250ZXh0LCBjb25zdCBSZW5kZXJQYXRo
ICpyZW5kZXJQYXRoLCBLQ1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdAogewogICAgIC8vIEZJ
WE1FOiB0b3RhbCBoYWNrCiAgICAgS1JlbmRlcmluZ0RldmljZUNvbnRleHRRdWFydHogKnF1YXJ0
ekNvbnRleHQgPSBzdGF0aWNfY2FzdDxLUmVuZGVyaW5nRGV2aWNlQ29udGV4dFF1YXJ0eiAqPihy
ZW5kZXJpbmdDb250ZXh0KTsKSW5kZXg6IGtjYW52YXMvZGV2aWNlL3F1YXJ0ei9LUmVuZGVyaW5n
RGV2aWNlUXVhcnR6LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2NhbnZhcy9kZXZpY2UvcXVhcnR6L0tSZW5k
ZXJpbmdEZXZpY2VRdWFydHouaAkocmV2aXNpb24gMTIxMTApCisrKyBrY2FudmFzL2RldmljZS9x
dWFydHovS1JlbmRlcmluZ0RldmljZVF1YXJ0ei5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsy
OCw2IEBACiAjZGVmaW5lIEtSZW5kZXJpbmdEZXZpY2VRdWFydHpfSAogCiAjaW1wb3J0IDxrY2Fu
dmFzL2RldmljZS9LUmVuZGVyaW5nRGV2aWNlLmg+Ci0jaW1wb3J0ICJLQ2FudmFzVHlwZXMuaCIK
IAogdHlwZWRlZiBzdHJ1Y3QgQ0dSZWN0IENHUmVjdDsKIHR5cGVkZWYgc3RydWN0IENHQ29udGV4
dCAqQ0dDb250ZXh0UmVmOwpJbmRleDoga2NhbnZhcy9kZXZpY2UvcXVhcnR6L0tSZW5kZXJpbmdQ
YWludFNlcnZlckdyYWRpZW50UXVhcnR6Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtjYW52YXMvZGV2aWNl
L3F1YXJ0ei9LUmVuZGVyaW5nUGFpbnRTZXJ2ZXJHcmFkaWVudFF1YXJ0ei5tbQkocmV2aXNpb24g
MTIxMTApCisrKyBrY2FudmFzL2RldmljZS9xdWFydHovS1JlbmRlcmluZ1BhaW50U2VydmVyR3Jh
ZGllbnRRdWFydHoubW0JKHdvcmtpbmcgY29weSkKQEAgLTQwLDEyICs0MCwxMSBAQAogCiAKIC8v
IE1heWJlIHRoaXMgc2hvdWxkIGJlIGluIGEgYmFzZSBjbGFzcyBpbnN0ZWFkLi4uCi1zdGF0aWMg
dm9pZCBkcmF3U2hhZGluZ1dpdGhTdHlsZShjb25zdCBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJHcmFk
aWVudCAqc2VydmVyLCBDR1NoYWRpbmdSZWYgc2hhZGluZywgY29uc3QgS0NhbnZhc0NvbW1vbkFy
Z3MgJmFyZ3MsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpCitzdGF0aWMgdm9pZCBkcmF3U2hhZGlu
Z1dpdGhTdHlsZShjb25zdCBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJHcmFkaWVudCAqc2VydmVyLCBD
R1NoYWRpbmdSZWYgc2hhZGluZywgY29uc3QgUmVuZGVyUGF0aCAqcmVuZGVyUGF0aCwgS0NQYWlu
dFRhcmdldFR5cGUgdHlwZSkKIHsKLSAgICBraHRtbDo6UmVuZGVyU3R5bGUgKnJlbmRlclN0eWxl
ID0gYXJncy5yZW5kZXJTdHlsZSgpOwotICAgIGNvbnN0IFJlbmRlclBhdGggKnJlbmRlclBhdGgg
PSBhcmdzLnJlbmRlclBhdGgoKTsKICAgICBLUmVuZGVyaW5nRGV2aWNlUXVhcnR6ICpxdWFydHpE
ZXZpY2UgPSBzdGF0aWNfY2FzdDxLUmVuZGVyaW5nRGV2aWNlUXVhcnR6ICo+KFFQYWludGVyOjpy
ZW5kZXJpbmdEZXZpY2UoKSk7CiAgICAgQ0dDb250ZXh0UmVmIGNvbnRleHQgPSBxdWFydHpEZXZp
Y2UtPmN1cnJlbnRDR0NvbnRleHQoKTsKKyAgICBraHRtbDo6UmVuZGVyU3R5bGUgKnJlbmRlclN0
eWxlID0gcmVuZGVyUGF0aC0+c3R5bGUoKTsKICAgICBBU1NFUlQoY29udGV4dCAhPSBOVUxMKTsK
ICAgICAKICAgICBDR0NvbnRleHRTYXZlR1N0YXRlKGNvbnRleHQpOwpAQCAtMjkwLDcgKzI4OSw3
IEBAIHZvaWQgS1JlbmRlcmluZ1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQKICAgICBLUmVuZGVy
aW5nUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudDo6aW52YWxpZGF0ZSgpOwogfQogCi12b2lkIEtS
ZW5kZXJpbmdQYWludFNlcnZlckxpbmVhckdyYWRpZW50UXVhcnR6OjpkcmF3KEtSZW5kZXJpbmdE
ZXZpY2VDb250ZXh0ICpyZW5kZXJpbmdDb250ZXh0LCBjb25zdCBLQ2FudmFzQ29tbW9uQXJncyAm
YXJncywgS0NQYWludFRhcmdldFR5cGUgdHlwZSkgY29uc3QKK3ZvaWQgS1JlbmRlcmluZ1BhaW50
U2VydmVyTGluZWFyR3JhZGllbnRRdWFydHo6OmRyYXcoS1JlbmRlcmluZ0RldmljZUNvbnRleHQg
KnJlbmRlcmluZ0NvbnRleHQsIGNvbnN0IFJlbmRlclBhdGggKnJlbmRlclBhdGgsIEtDUGFpbnRU
YXJnZXRUeXBlIHR5cGUpIGNvbnN0CiB7CiAgICAgaWYobGlzdGVuZXIoKSkgLy8gdGhpcyBzZWVt
cyBsaWtlIGJhZCBkZXNpZ24gdG8gbWUsIHNob3VsZCBiZSBpbiBhIGNvbW1vbiBiYXNlY2xhc3Mu
IC0tIGVjcyA4LzYvMDUKICAgICAgICAgbGlzdGVuZXIoKS0+cmVzb3VyY2VOb3RpZmljYXRpb24o
KTsKQEAgLTMwMCwxMCArMjk5LDEwIEBAIHZvaWQgS1JlbmRlcmluZ1BhaW50U2VydmVyTGluZWFy
R3JhZGllbnQKICAgICBpZiAoIW1fc2hhZGluZ0NhY2hlKQogICAgICAgICBjb25zdF9jYXN0PEtS
ZW5kZXJpbmdQYWludFNlcnZlckxpbmVhckdyYWRpZW50UXVhcnR6ICo+KHRoaXMpLT51cGRhdGVR
dWFydHpHcmFkaWVudENhY2hlKHRoaXMpOwogICAgIAotICAgIGRyYXdTaGFkaW5nV2l0aFN0eWxl
KHRoaXMsIG1fc2hhZGluZ0NhY2hlLCBhcmdzLCB0eXBlKTsKKyAgICBkcmF3U2hhZGluZ1dpdGhT
dHlsZSh0aGlzLCBtX3NoYWRpbmdDYWNoZSwgcmVuZGVyUGF0aCwgdHlwZSk7CiB9CiAKLXZvaWQg
S1JlbmRlcmluZ1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnRRdWFydHo6OmRyYXcoS1JlbmRlcmlu
Z0RldmljZUNvbnRleHQgKnJlbmRlcmluZ0NvbnRleHQsIGNvbnN0IEtDYW52YXNDb21tb25Bcmdz
ICZhcmdzLCBLQ1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdAordm9pZCBLUmVuZGVyaW5nUGFp
bnRTZXJ2ZXJSYWRpYWxHcmFkaWVudFF1YXJ0ejo6ZHJhdyhLUmVuZGVyaW5nRGV2aWNlQ29udGV4
dCAqcmVuZGVyaW5nQ29udGV4dCwgY29uc3QgUmVuZGVyUGF0aCAqcmVuZGVyUGF0aCwgS0NQYWlu
dFRhcmdldFR5cGUgdHlwZSkgY29uc3QKIHsKICAgICBpZihsaXN0ZW5lcigpKSAvLyB0aGlzIHNl
ZW1zIGxpa2UgYmFkIGRlc2lnbiB0byBtZSwgc2hvdWxkIGJlIGluIGEgY29tbW9uIGJhc2VjbGFz
cy4gLS0gZWNzIDgvNi8wNQogICAgICAgICBsaXN0ZW5lcigpLT5yZXNvdXJjZU5vdGlmaWNhdGlv
bigpOwpAQCAtMzEzLDUgKzMxMiw1IEBAIHZvaWQgS1JlbmRlcmluZ1BhaW50U2VydmVyUmFkaWFs
R3JhZGllbnQKICAgICBpZiAoIW1fc2hhZGluZ0NhY2hlKQogICAgICAgICBjb25zdF9jYXN0PEtS
ZW5kZXJpbmdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50UXVhcnR6ICo+KHRoaXMpLT51cGRhdGVR
dWFydHpHcmFkaWVudENhY2hlKHRoaXMpOwogICAgIAotICAgIGRyYXdTaGFkaW5nV2l0aFN0eWxl
KHRoaXMsIG1fc2hhZGluZ0NhY2hlLCBhcmdzLCB0eXBlKTsKKyAgICBkcmF3U2hhZGluZ1dpdGhT
dHlsZSh0aGlzLCBtX3NoYWRpbmdDYWNoZSwgcmVuZGVyUGF0aCwgdHlwZSk7CiB9CkluZGV4OiBr
Y2FudmFzL2RldmljZS9xdWFydHovS1JlbmRlcmluZ1BhaW50U2VydmVyUXVhcnR6LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0ga2NhbnZhcy9kZXZpY2UvcXVhcnR6L0tSZW5kZXJpbmdQYWludFNlcnZlclF1YXJ0
ei5oCShyZXZpc2lvbiAxMjExMCkKKysrIGtjYW52YXMvZGV2aWNlL3F1YXJ0ei9LUmVuZGVyaW5n
UGFpbnRTZXJ2ZXJRdWFydHouaAkod29ya2luZyBjb3B5KQpAQCAtMzMsMTkgKzMzLDE5IEBACiBj
bGFzcyBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJTb2xpZFF1YXJ0eiA6IHB1YmxpYyBLUmVuZGVyaW5n
UGFpbnRTZXJ2ZXJTb2xpZCB7CiBwdWJsaWM6CiAgICAgS1JlbmRlcmluZ1BhaW50U2VydmVyU29s
aWRRdWFydHooKSB7fTsKLSAgICB2aXJ0dWFsIHZvaWQgZHJhdyhLUmVuZGVyaW5nRGV2aWNlQ29u
dGV4dCAqY29udGV4dCwgY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3MgJmFyZ3MsIEtDUGFpbnRUYXJn
ZXRUeXBlIHR5cGUpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBkcmF3KEtSZW5kZXJpbmdEZXZp
Y2VDb250ZXh0ICpjb250ZXh0LCBjb25zdCBSZW5kZXJQYXRoICpyZW5kZXJQYXRoLCBLQ1BhaW50
VGFyZ2V0VHlwZSB0eXBlKSBjb25zdDsKIH07CiAKIGNsYXNzIEtSZW5kZXJpbmdQYWludFNlcnZl
clBhdHRlcm5RdWFydHogOiBwdWJsaWMgS1JlbmRlcmluZ1BhaW50U2VydmVyUGF0dGVybiB7CiBw
dWJsaWM6CiAgICAgS1JlbmRlcmluZ1BhaW50U2VydmVyUGF0dGVyblF1YXJ0eigpIHt9OwotICAg
IHZpcnR1YWwgdm9pZCBkcmF3KEtSZW5kZXJpbmdEZXZpY2VDb250ZXh0ICpjb250ZXh0LCBjb25z
dCBLQ2FudmFzQ29tbW9uQXJncyAmYXJncywgS0NQYWludFRhcmdldFR5cGUgdHlwZSkgY29uc3Q7
CisgICAgdmlydHVhbCB2b2lkIGRyYXcoS1JlbmRlcmluZ0RldmljZUNvbnRleHQgKmNvbnRleHQs
IGNvbnN0IFJlbmRlclBhdGggKnJlbmRlclBhdGgsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNv
bnN0OwogfTsKIAogY2xhc3MgS1JlbmRlcmluZ1BhaW50U2VydmVySW1hZ2VRdWFydHogOiBwdWJs
aWMgS1JlbmRlcmluZ1BhaW50U2VydmVySW1hZ2UgewogcHVibGljOgogICAgIEtSZW5kZXJpbmdQ
YWludFNlcnZlckltYWdlUXVhcnR6KCkge307Ci0gICAgdmlydHVhbCB2b2lkIGRyYXcoS1JlbmRl
cmluZ0RldmljZUNvbnRleHQgKmNvbnRleHQsIGNvbnN0IEtDYW52YXNDb21tb25BcmdzICZhcmdz
LCBLQ1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgZHJhdyhL
UmVuZGVyaW5nRGV2aWNlQ29udGV4dCAqY29udGV4dCwgY29uc3QgUmVuZGVyUGF0aCAqcmVuZGVy
UGF0aCwgS0NQYWludFRhcmdldFR5cGUgdHlwZSkgY29uc3Q7CiB9OwogCiB0eXBlZGVmIHN0cnVj
dCB7CkBAIC03OSw3ICs3OSw3IEBAIGNsYXNzIEtSZW5kZXJpbmdQYWludFNlcnZlckxpbmVhckdy
YWRpZW4KIHB1YmxpYzoKICAgICBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudFF1
YXJ0eigpIHt9OwogICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKCk7Ci0gICAgdmlydHVhbCB2
b2lkIGRyYXcoS1JlbmRlcmluZ0RldmljZUNvbnRleHQgKmNvbnRleHQsIGNvbnN0IEtDYW52YXND
b21tb25BcmdzICZhcmdzLCBLQ1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdDsKKyAgICB2aXJ0
dWFsIHZvaWQgZHJhdyhLUmVuZGVyaW5nRGV2aWNlQ29udGV4dCAqY29udGV4dCwgY29uc3QgUmVu
ZGVyUGF0aCAqcmVuZGVyUGF0aCwgS0NQYWludFRhcmdldFR5cGUgdHlwZSkgY29uc3Q7CiB9Owog
CiBjbGFzcyBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudFF1YXJ0eiA6IHB1Ymxp
YyBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCwKQEAgLTg3LDUgKzg3LDUgQEAg
Y2xhc3MgS1JlbmRlcmluZ1BhaW50U2VydmVyUmFkaWFsR3JhZGllbgogcHVibGljOgogICAgIEtS
ZW5kZXJpbmdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50UXVhcnR6KCkge307CiAgICAgdmlydHVh
bCB2b2lkIGludmFsaWRhdGUoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZHJhdyhLUmVuZGVyaW5nRGV2
aWNlQ29udGV4dCAqY29udGV4dCwgY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3MgJmFyZ3MsIEtDUGFp
bnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBkcmF3KEtSZW5kZXJp
bmdEZXZpY2VDb250ZXh0ICpjb250ZXh0LCBjb25zdCBSZW5kZXJQYXRoICpyZW5kZXJQYXRoLCBL
Q1BhaW50VGFyZ2V0VHlwZSB0eXBlKSBjb25zdDsKIH07CkluZGV4OiBrY2FudmFzL2RldmljZS9L
UmVuZGVyaW5nRGV2aWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrY2FudmFzL2RldmljZS9LUmVuZGVy
aW5nRGV2aWNlLmNwcAkocmV2aXNpb24gMTIxMTApCisrKyBrY2FudmFzL2RldmljZS9LUmVuZGVy
aW5nRGV2aWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNDcgKzI0LDYgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJLUmVuZGVyaW5nRGV2aWNlLmgiCiAKLUtDYW52YXNDb21t
b25BcmdzOjpLQ2FudmFzQ29tbW9uQXJncygpCi17Ci0gICAgbV9wYXRoID0gMDsKLSAgICBtX3Jl
bmRlclN0eWxlID0gMDsKLSAgICBtX3JlbmRlclBhdGggPSAwOwotfQotCi1LQ2FudmFzQ29tbW9u
QXJnczo6fktDYW52YXNDb21tb25BcmdzKCkKLXsKLX0KLQotS0NhbnZhc1BhdGgqIEtDYW52YXND
b21tb25BcmdzOjpwYXRoKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9wYXRoLmdldCgpOwotfQot
Ci12b2lkIEtDYW52YXNDb21tb25BcmdzOjpzZXRQYXRoKEtDYW52YXNQYXRoKiBwYXRoKQotewot
ICAgIG1fcGF0aCA9IHBhdGg7Ci19Ci0KLWtodG1sOjpSZW5kZXJTdHlsZSAqS0NhbnZhc0NvbW1v
bkFyZ3M6OnJlbmRlclN0eWxlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9yZW5kZXJTdHlsZTsK
LX0KLQotdm9pZCBLQ2FudmFzQ29tbW9uQXJnczo6c2V0UmVuZGVyU3R5bGUoa2h0bWw6OlJlbmRl
clN0eWxlICpyZW5kZXJTdHlsZSkKLXsKLSAgICBtX3JlbmRlclN0eWxlID0gcmVuZGVyU3R5bGU7
Ci19Ci0KLWNvbnN0IFJlbmRlclBhdGgqIEtDYW52YXNDb21tb25BcmdzOjpyZW5kZXJQYXRoKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gbV9yZW5kZXJQYXRoOwotfQotCi12b2lkIEtDYW52YXNDb21t
b25BcmdzOjpzZXRSZW5kZXJQYXRoKGNvbnN0IFJlbmRlclBhdGggKnJlbmRlclBhdGgpCi17Ci0g
ICAgbV9yZW5kZXJQYXRoID0gcmVuZGVyUGF0aDsKLX0KLQogS1JlbmRlcmluZ0RldmljZTo6S1Jl
bmRlcmluZ0RldmljZSgpCiB7CiB9CkluZGV4OiBrY2FudmFzL2RldmljZS9LUmVuZGVyaW5nU3Ry
b2tlUGFpbnRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtjYW52YXMvZGV2aWNlL0tSZW5kZXJpbmdTdHJv
a2VQYWludGVyLmgJKHJldmlzaW9uIDEyMTEwKQorKysga2NhbnZhcy9kZXZpY2UvS1JlbmRlcmlu
Z1N0cm9rZVBhaW50ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNiBAQAogI2lmbmRl
ZiBLUmVuZGVyaW5nU3Ryb2tlUGFpbnRlcl9ICiAjZGVmaW5lIEtSZW5kZXJpbmdTdHJva2VQYWlu
dGVyX0gKIAotI2luY2x1ZGUgPGtjYW52YXMvS0NhbnZhc1R5cGVzLmg+CiAjaW5jbHVkZSAiS0Nh
bnZhc1JlbmRlcmluZ1N0eWxlLmgiCiAKIG5hbWVzcGFjZSBLU1ZHIHsKSW5kZXg6IGtjYW52YXMv
ZGV2aWNlL0tSZW5kZXJpbmdEZXZpY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrY2FudmFzL2RldmljZS9L
UmVuZGVyaW5nRGV2aWNlLmgJKHJldmlzaW9uIDEyMTEwKQorKysga2NhbnZhcy9kZXZpY2UvS1Jl
bmRlcmluZ0RldmljZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5jbHVk
ZSA8cW9iamVjdC5oPgogI2luY2x1ZGUgPHEzcHRyc3RhY2suaD4KIAotI2luY2x1ZGUgPGtjYW52
YXMvS0NhbnZhc1R5cGVzLmg+CiAjaW5jbHVkZSA8a2NhbnZhcy9LQ2FudmFzRmlsdGVycy5oPgog
I2luY2x1ZGUgPGtjYW52YXMvZGV2aWNlL0tSZW5kZXJpbmdQYWludFNlcnZlci5oPgogCkluZGV4
OiBrY2FudmFzL2RldmljZS9LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBr
Y2FudmFzL2RldmljZS9LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIuaAkocmV2aXNpb24gMTIxMTApCisr
KyBrY2FudmFzL2RldmljZS9LUmVuZGVyaW5nUGFpbnRTZXJ2ZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMjMsNyArMjMsNiBAQAogI2lmbmRlZiBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJfSAogI2RlZmlu
ZSBLUmVuZGVyaW5nUGFpbnRTZXJ2ZXJfSAogCi0jaW5jbHVkZSA8a2NhbnZhcy9LQ2FudmFzVHlw
ZXMuaD4KICNpbmNsdWRlIDxrY2FudmFzL0tDYW52YXNSZXNvdXJjZXMuaD4KIAogLy8gRW51bWVy
YXRpb25zCkBAIC00NCw2ICs0MywxMCBAQCB0eXBlZGVmIGVudW0KICAgICBBUFBMWV9UT19TVFJP
S0UgPSAyCiB9IEtDUGFpbnRUYXJnZXRUeXBlOwogCituYW1lc3BhY2Uga2h0bWwgeworICAgIGNs
YXNzIFJlbmRlclN0eWxlOworfQorCiBjbGFzcyBRVGV4dFN0cmVhbTsKIGNsYXNzIFJlbmRlclBh
dGg7CiBjbGFzcyBLUmVuZGVyaW5nRGV2aWNlQ29udGV4dDsKQEAgLTY0LDcgKzY3LDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgS0NQYWludFNlcnZlclR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKIAog
ICAgIC8vIEFjdHVhbCByZW5kZXJpbmcgZnVuY3Rpb24KLSAgICB2aXJ0dWFsIHZvaWQgZHJhdyhL
UmVuZGVyaW5nRGV2aWNlQ29udGV4dCAqY29udGV4dCwgY29uc3QgS0NhbnZhc0NvbW1vbkFyZ3Mg
JmFyZ3MsIEtDUGFpbnRUYXJnZXRUeXBlIHR5cGUpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgZHJhdyhLUmVuZGVyaW5nRGV2aWNlQ29udGV4dCAqY29udGV4dCwgY29uc3QgUmVuZGVyUGF0
aCAqcmVuZGVyUGF0aCwgS0NQYWludFRhcmdldFR5cGUgdHlwZSkgY29uc3QgPSAwOwogCiAgICAg
dmlydHVhbCBRVGV4dFN0cmVhbSAmZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihRVGV4dFN0cmVhbSAm
KSBjb25zdCA9IDA7CiBwcml2YXRlOgpJbmRleDoga2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ0Zp
bGxQYWludGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ0ZpbGxQ
YWludGVyLmgJKHJldmlzaW9uIDEyMTEwKQorKysga2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ0Zp
bGxQYWludGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDYgQEAKICNkZWZpbmUgS1Jl
bmRlcmluZ0ZpbGxQYWludGVyX0gKIAogI2luY2x1ZGUgPGtjYW52YXMvS0NhbnZhc1BhdGguaD4K
LSNpbmNsdWRlIDxrY2FudmFzL0tDYW52YXNUeXBlcy5oPgogCiBjbGFzcyBLUmVuZGVyaW5nUGFp
bnRTZXJ2ZXI7CiBjbGFzcyBLUmVuZGVyaW5nRGV2aWNlQ29udGV4dDsKSW5kZXg6IGtjYW52YXMv
S0NhbnZhc1R5cGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2NhbnZhcy9LQ2FudmFzVHlwZXMuaAkocmV2
aXNpb24gMTIxMTApCisrKyBrY2FudmFzL0tDYW52YXNUeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDU3ICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMg
WmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgotICAgICAgICAgICAgICAgICAgMjAwNCwgMjAw
NSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgotCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhl
IEtERSBwcm9qZWN0Ci0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0K
LSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
Ci0gICAgYWludCB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSAgICBCb3N0b24sIE1BIDAyMTExLTEzMDcs
IFVTQS4KLSovCi0KLSNpZm5kZWYgS0NhbnZhc1R5cGVzX0gKLSNkZWZpbmUgS0NhbnZhc1R5cGVz
X0gKLQotI2luY2x1ZGUgPGt4bWxjb3JlL1JlZlB0ci5oPgotCi1uYW1lc3BhY2Uga2h0bWwgewot
ICAgIGNsYXNzIFJlbmRlclN0eWxlOwotfQotCi1jbGFzcyBLQ2FudmFzUGF0aDsKLWNsYXNzIFJl
bmRlclBhdGg7Ci1jbGFzcyBLQ2FudmFzQ29tbW9uQXJncwotewotcHVibGljOgotICAgIEtDYW52
YXNDb21tb25BcmdzKCk7Ci0gICAgfktDYW52YXNDb21tb25BcmdzKCk7Ci0KLSAgICBLQ2FudmFz
UGF0aCogcGF0aCgpIGNvbnN0OwotICAgIHZvaWQgc2V0UGF0aChLQ2FudmFzUGF0aCogcGF0aCk7
Ci0KLSAgICBraHRtbDo6UmVuZGVyU3R5bGUgKnJlbmRlclN0eWxlKCkgY29uc3Q7Ci0gICAgdm9p
ZCBzZXRSZW5kZXJTdHlsZShraHRtbDo6UmVuZGVyU3R5bGUgKnN0eWxlKTsKLSAgICAKLSAgICBj
b25zdCBSZW5kZXJQYXRoKiByZW5kZXJQYXRoKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRSZW5kZXJQ
YXRoKGNvbnN0IFJlbmRlclBhdGgqIHBhdGgpOwotCi1wcml2YXRlOgotICAgIFJlZlB0cjxLQ2Fu
dmFzUGF0aD4gbV9wYXRoOwotICAgIGtodG1sOjpSZW5kZXJTdHlsZSAqbV9yZW5kZXJTdHlsZTsK
LSAgICBjb25zdCBSZW5kZXJQYXRoICptX3JlbmRlclBhdGg7Ci19OwotCi0jZW5kaWYKLQotLy8g
dmltOnRzPTQ6bm9ldApJbmRleDogQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIENoYW5nZUxvZwko
cmV2aXNpb24gMTIxMTIpCisrKyBDaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSwz
NiBAQAogMjAwNi0wMS0xNSAgQWxleGFuZGVyIEtlbGxldHQgIDxseXBhbm92QGtkZS5vcmc+CiAK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIEtD
YW52YXNDb21tb25BcmdzIGFuZCBwYXNzIGFyb3VuZCBSZW5kZXJQYXRoIG9iamVjdHMgaW5zdGVh
ZC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBrY2FudmFzL0tDYW52YXNDcmVhdG9yLmg6CisgICAgICAgICoga2NhbnZhcy9LQ2FudmFz
SXRlbS5jcHA6CisgICAgICAgICoga2NhbnZhcy9LQ2FudmFzSXRlbS5oOgorICAgICAgICAqIGtj
YW52YXMvS0NhbnZhc1R5cGVzLmg6IFJlbW92ZWQuCisgICAgICAgICoga2NhbnZhcy9kZXZpY2Uv
S1JlbmRlcmluZ0RldmljZS5jcHA6CisgICAgICAgICoga2NhbnZhcy9kZXZpY2UvS1JlbmRlcmlu
Z0RldmljZS5oOgorICAgICAgICAqIGtjYW52YXMvZGV2aWNlL0tSZW5kZXJpbmdGaWxsUGFpbnRl
ci5oOgorICAgICAgICAqIGtjYW52YXMvZGV2aWNlL0tSZW5kZXJpbmdQYWludFNlcnZlci5oOgor
ICAgICAgICAqIGtjYW52YXMvZGV2aWNlL0tSZW5kZXJpbmdTdHJva2VQYWludGVyLmg6CisgICAg
ICAgICoga2NhbnZhcy9kZXZpY2UvcXVhcnR6L0tDYW52YXNJdGVtUXVhcnR6Lm1tOgorICAgICAg
ICAoS0NhbnZhc0l0ZW1RdWFydHo6OnBhaW50KToKKyAgICAgICAgKiBrY2FudmFzL2RldmljZS9x
dWFydHovS1JlbmRlcmluZ0RldmljZVF1YXJ0ei5oOgorICAgICAgICAqIGtjYW52YXMvZGV2aWNl
L3F1YXJ0ei9LUmVuZGVyaW5nUGFpbnRTZXJ2ZXJHcmFkaWVudFF1YXJ0ei5tbToKKyAgICAgICAg
KGRyYXdTaGFkaW5nV2l0aFN0eWxlKToKKyAgICAgICAgKEtSZW5kZXJpbmdQYWludFNlcnZlckxp
bmVhckdyYWRpZW50UXVhcnR6OjpkcmF3KToKKyAgICAgICAgKEtSZW5kZXJpbmdQYWludFNlcnZl
clJhZGlhbEdyYWRpZW50UXVhcnR6OjpkcmF3KToKKyAgICAgICAgKiBrY2FudmFzL2RldmljZS9x
dWFydHovS1JlbmRlcmluZ1BhaW50U2VydmVyUXVhcnR6Lmg6CisgICAgICAgICoga2NhbnZhcy9k
ZXZpY2UvcXVhcnR6L0tSZW5kZXJpbmdQYWludFNlcnZlclF1YXJ0ei5tbToKKyAgICAgICAgKEtS
ZW5kZXJpbmdQYWludFNlcnZlclNvbGlkUXVhcnR6OjpkcmF3KToKKyAgICAgICAgKEtSZW5kZXJp
bmdQYWludFNlcnZlclBhdHRlcm5RdWFydHo6OmRyYXcpOgorICAgICAgICAoS1JlbmRlcmluZ1Bh
aW50U2VydmVySW1hZ2VRdWFydHo6OmRyYXcpOgorICAgICAgICAqIGtzdmcyL21pc2MvS0NhbnZh
c1JlbmRlcmluZ1N0eWxlLmNwcDoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHUGF0dGVybkVsZW1l
bnRJbXBsLmg6CisKKzIwMDYtMDEtMTUgIEFsZXhhbmRlciBLZWxsZXR0ICA8bHlwYW5vdkBrZGUu
b3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IGVzZWlkZWwuCiAKICAgICAgICAgPG1hc2s+IGlu
c2lkZSA8ZGVmcz4gY3Jhc2hlcyBTYWZhcmkuCkluZGV4OiBrc3ZnMi9zdmcvU1ZHUGF0dGVybkVs
ZW1lbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2ZzIvc3ZnL1NWR1BhdHRlcm5FbGVtZW50SW1w
bC5oCShyZXZpc2lvbiAxMjExMCkKKysrIGtzdmcyL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudEltcGwu
aAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlNWR1N0eWxlZExv
Y2F0YWJsZUVsZW1lbnRJbXBsLmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZEltcGwuaCIKIAotI2luY2x1ZGUgPGtjYW52YXMvS0NhbnZhc1R5cGVzLmg+CiAjaW5jbHVk
ZSA8a2NhbnZhcy9LQ2FudmFzUmVzb3VyY2VMaXN0ZW5lci5oPgogI2luY2x1ZGUgPGtjYW52YXMv
ZGV2aWNlL0tSZW5kZXJpbmdQYWludFNlcnZlci5oPgogI2luY2x1ZGUgPGtjYW52YXMvZGV2aWNl
L0tSZW5kZXJpbmdQYWludFNlcnZlclBhdHRlcm4uaD4KSW5kZXg6IGtzdmcyL21pc2MvS0NhbnZh
c1JlbmRlcmluZ1N0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrc3ZnMi9taXNjL0tDYW52YXNSZW5k
ZXJpbmdTdHlsZS5jcHAJKHJldmlzaW9uIDEyMTEwKQorKysga3N2ZzIvbWlzYy9LQ2FudmFzUmVu
ZGVyaW5nU3R5bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAKICNpbmNs
dWRlIDxrY2FudmFzL0tDYW52YXMuaD4KICNpbmNsdWRlIDxrY2FudmFzL0tDYW52YXNQYXRoLmg+
Ci0jaW5jbHVkZSA8a2NhbnZhcy9LQ2FudmFzVHlwZXMuaD4KICNpbmNsdWRlIDxrY2FudmFzL2Rl
dmljZS9LUmVuZGVyaW5nRGV2aWNlLmg+CiAjaW5jbHVkZSA8a2NhbnZhcy9kZXZpY2UvS1JlbmRl
cmluZ0ZpbGxQYWludGVyLmg+CiAjaW5jbHVkZSA8a2NhbnZhcy9kZXZpY2UvS1JlbmRlcmluZ1N0
cm9rZVBhaW50ZXIuaD4K
</data>
<flag name="review"
          id="1281"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>