<?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>26202</bug_id>
          
          <creation_ts>2009-06-04 20:00:15 -0700</creation_ts>
          <short_desc>add macros for primitive values to simplify CSSStyleSelector::applyProperty</short_desc>
          <delta_ts>2009-06-04 20:31:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Roland Steiner">rolandsteiner</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>124431</commentid>
    <comment_count>0</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-06-04 20:00:15 -0700</bug_when>
    <thetext>[separated out from bug #26198]

Like the other HANDLE_... macros used I added 2 more that also include the
handling of primitive values. Using that allows to reduce the line count quite
a bit.

NOTE: There are some CSS properties that do not query whether a value is
actually a primitive value, but do an assignment unconditionally. AFAICT, this
would result in the asignment of a default value if the passed-in value is not,
in fact, primitive. 
As these cases should only occur with malformed input anyway, and as the UA is
supposed to ignore erroneous values, I believe my changes are correct in these
cases. 

There was no change in layout test results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124433</commentid>
    <comment_count>1</comment_count>
      <attachid>30982</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-06-04 20:04:43 -0700</bug_when>
    <thetext>Created attachment 30982
patch - add macros for primitive values

see main bug description</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124454</commentid>
    <comment_count>2</comment_count>
      <attachid>30982</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-04 20:26:28 -0700</bug_when>
    <thetext>Comment on attachment 30982
patch - add macros for primitive values

Excellent!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124457</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-04 20:31:11 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/css/CSSStyleSelector.cpp
Committed r44449
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30982</attachid>
            <date>2009-06-04 20:04:43 -0700</date>
            <delta_ts>2009-06-04 20:26:28 -0700</delta_ts>
            <desc>patch - add macros for primitive values</desc>
            <filename>css-CSSStyleSelector-cpp.patch</filename>
            <type>text/plain</type>
            <size>15938</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDQ0MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMDktMDYtMDQgIFJvbGFuZCBTdGVpbmVyIDxyb2xhbmRzdGVpbmVy
QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkKKworICAg
ICAgICBCdWcgMjYyMDI6IGFkZCBtYWNyb3MgZm9yIHByaW1pdGl2ZSB2YWx1ZXMgdG8gc2ltcGxp
ZnkgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYyMDIKKworICAgICAgICAqIGNzcy9DU1NTdHls
ZVNlbGVjdG9yLmNwcDogYWRkIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJ
VkVbX1dJVEhfVkFMVUVdIG1hY3JvcworICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rv
cjo6YXBwbHlQcm9wZXJ0eSk6IHVzZSBuZXcgbWFjcm9zCisKIDIwMDktMDYtMDQgIERhbiBCZXJu
c3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICAtIHJldHJ5IHRvIGZpeCB0aGUgVGln
ZXIgYnVpbGQKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lvbiA0NDQxOSkK
KysrIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NDMsNiArMTQ0LDE2IEBACiAgICAgcmV0dXJuO1wKIH0KIAorI2RlZmluZSBIQU5ETEVfSU5IRVJJ
VF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKHByb3AsIFByb3ApIFwKK0hBTkRMRV9JTkhFUklU
X0FORF9JTklUSUFMKHByb3AsIFByb3ApIFwKK2lmIChwcmltaXRpdmVWYWx1ZSkgXAorICAgIG1f
c3R5bGUtPnNldCMjUHJvcCgqcHJpbWl0aXZlVmFsdWUpOworCisjZGVmaW5lIEhBTkRMRV9JTkhF
UklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkVfV0lUSF9WQUxVRShwcm9wLCBQcm9wLCBWYWx1
ZSkgXAorSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfV0lUSF9WQUxVRShwcm9wLCBQcm9wLCBW
YWx1ZSkgXAoraWYgKHByaW1pdGl2ZVZhbHVlKSBcCisgICAgbV9zdHlsZS0+c2V0IyNQcm9wKCpw
cmltaXRpdmVWYWx1ZSk7CisKICNkZWZpbmUgSEFORExFX0ZJTExfTEFZRVJfSU5IRVJJVF9BTkRf
SU5JVElBTChsYXllclR5cGUsIExheWVyVHlwZSwgcHJvcCwgUHJvcCkgXAogaWYgKGlzSW5oZXJp
dCkgeyBcCiAgICAgRmlsbExheWVyKiBjdXJyQ2hpbGQgPSBtX3N0eWxlLT5hY2Nlc3MjI0xheWVy
VHlwZSMjTGF5ZXJzKCk7IFwKQEAgLTI5MDksMjYgKzI5MzEsMTcgQEAKICAgICAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwotICAgICAgICAKICAgICBjYXNl
IENTU1Byb3BlcnR5Qm9yZGVyVG9wU3R5bGU6Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9J
TklUSUFMX1dJVEhfVkFMVUUoYm9yZGVyVG9wU3R5bGUsIEJvcmRlclRvcFN0eWxlLCBCb3JkZXJT
dHlsZSkKLSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlKQotICAgICAgICAgICAgbV9zdHlsZS0+
c2V0Qm9yZGVyVG9wU3R5bGUoKnByaW1pdGl2ZVZhbHVlKTsKKyAgICAgICAgSEFORExFX0lOSEVS
SVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRV9XSVRIX1ZBTFVFKGJvcmRlclRvcFN0eWxlLCBC
b3JkZXJUb3BTdHlsZSwgQm9yZGVyU3R5bGUpCiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIENT
U1Byb3BlcnR5Qm9yZGVyUmlnaHRTdHlsZToKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lO
SVRJQUxfV0lUSF9WQUxVRShib3JkZXJSaWdodFN0eWxlLCBCb3JkZXJSaWdodFN0eWxlLCBCb3Jk
ZXJTdHlsZSkKLSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlKQotICAgICAgICAgICAgbV9zdHls
ZS0+c2V0Qm9yZGVyUmlnaHRTdHlsZSgqcHJpbWl0aXZlVmFsdWUpOworICAgICAgICBIQU5ETEVf
SU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFX1dJVEhfVkFMVUUoYm9yZGVyUmlnaHRT
dHlsZSwgQm9yZGVyUmlnaHRTdHlsZSwgQm9yZGVyU3R5bGUpCiAgICAgICAgIHJldHVybjsKICAg
ICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tU3R5bGU6Ci0gICAgICAgIEhBTkRMRV9JTkhF
UklUX0FORF9JTklUSUFMX1dJVEhfVkFMVUUoYm9yZGVyQm90dG9tU3R5bGUsIEJvcmRlckJvdHRv
bVN0eWxlLCBCb3JkZXJTdHlsZSkKLSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlKQotICAgICAg
ICAgICAgbV9zdHlsZS0+c2V0Qm9yZGVyQm90dG9tU3R5bGUoKnByaW1pdGl2ZVZhbHVlKTsKKyAg
ICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRV9XSVRIX1ZBTFVF
KGJvcmRlckJvdHRvbVN0eWxlLCBCb3JkZXJCb3R0b21TdHlsZSwgQm9yZGVyU3R5bGUpCiAgICAg
ICAgIHJldHVybjsKICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyTGVmdFN0eWxlOgotICAgICAg
ICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9XSVRIX1ZBTFVFKGJvcmRlckxlZnRTdHlsZSwg
Qm9yZGVyTGVmdFN0eWxlLCBCb3JkZXJTdHlsZSkKLSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVl
KQotICAgICAgICAgICAgbV9zdHlsZS0+c2V0Qm9yZGVyTGVmdFN0eWxlKCpwcmltaXRpdmVWYWx1
ZSk7CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkVfV0lU
SF9WQUxVRShib3JkZXJMZWZ0U3R5bGUsIEJvcmRlckxlZnRTdHlsZSwgQm9yZGVyU3R5bGUpCiAg
ICAgICAgIHJldHVybjsKICAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZVN0eWxlOgogICAgICAg
ICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9XSVRIX1ZBTFVFKG91dGxpbmVTdHlsZSwgT3V0
bGluZVN0eWxlLCBCb3JkZXJTdHlsZSkKQEAgLTI5NDAsNDkgKzI5NTMsMjMgQEAKICAgICAgICAg
fQogICAgICAgICByZXR1cm47CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUNhcHRpb25TaWRlOgotICAg
IHsKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwoY2FwdGlvblNpZGUsIENhcHRp
b25TaWRlKQotICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICBtX3N0eWxl
LT5zZXRDYXB0aW9uU2lkZSgqcHJpbWl0aXZlVmFsdWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJ
VF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKGNhcHRpb25TaWRlLCBDYXB0aW9uU2lkZSkKICAg
ICAgICAgcmV0dXJuOwotICAgIH0KICAgICBjYXNlIENTU1Byb3BlcnR5Q2xlYXI6Ci0gICAgewot
ICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChjbGVhciwgQ2xlYXIpCi0gICAgICAg
IGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1fc3R5bGUtPnNldENsZWFyKCpwcmlt
aXRpdmVWYWx1ZSk7CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklN
SVRJVkUoY2xlYXIsIENsZWFyKQogICAgICAgICByZXR1cm47Ci0gICAgfQogICAgIGNhc2UgQ1NT
UHJvcGVydHlEaXJlY3Rpb246Ci0gICAgewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5J
VElBTChkaXJlY3Rpb24sIERpcmVjdGlvbikKLSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlKQot
ICAgICAgICAgICAgbV9zdHlsZS0+c2V0RGlyZWN0aW9uKCpwcmltaXRpdmVWYWx1ZSk7CisgICAg
ICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUoZGlyZWN0aW9uLCBE
aXJlY3Rpb24pCiAgICAgICAgIHJldHVybjsKLSAgICB9CiAgICAgY2FzZSBDU1NQcm9wZXJ0eURp
c3BsYXk6Ci0gICAgewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChkaXNwbGF5
LCBEaXNwbGF5KQotICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICBtX3N0
eWxlLT5zZXREaXNwbGF5KCpwcmltaXRpdmVWYWx1ZSk7CisgICAgICAgIEhBTkRMRV9JTkhFUklU
X0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUoZGlzcGxheSwgRGlzcGxheSkKICAgICAgICAgcmV0
dXJuOwotICAgIH0KLQogICAgIGNhc2UgQ1NTUHJvcGVydHlFbXB0eUNlbGxzOgotICAgIHsKLSAg
ICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwoZW1wdHlDZWxscywgRW1wdHlDZWxscykK
LSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlKQotICAgICAgICAgICAgbV9zdHlsZS0+c2V0RW1w
dHlDZWxscygqcHJpbWl0aXZlVmFsdWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5J
VElBTF9BTkRfUFJJTUlUSVZFKGVtcHR5Q2VsbHMsIEVtcHR5Q2VsbHMpCiAgICAgICAgIHJldHVy
bjsKLSAgICB9CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZsb2F0OgotICAgIHsKLSAgICAgICAgSEFO
RExFX0lOSEVSSVRfQU5EX0lOSVRJQUwoZmxvYXRpbmcsIEZsb2F0aW5nKQotICAgICAgICBpZiAo
cHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICBtX3N0eWxlLT5zZXRGbG9hdGluZygqcHJpbWl0
aXZlVmFsdWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlU
SVZFKGZsb2F0aW5nLCBGbG9hdGluZykKICAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGNh
c2UgQ1NTUHJvcGVydHlGb250U3R5bGU6CiAgICAgewogICAgICAgICBGb250RGVzY3JpcHRpb24g
Zm9udERlc2NyaXB0aW9uID0gbV9zdHlsZS0+Zm9udERlc2NyaXB0aW9uKCk7CkBAIC0zMDkzLDIx
ICszMDgwLDExIEBACiAgICAgfQogICAgICAgICAKICAgICBjYXNlIENTU1Byb3BlcnR5TGlzdFN0
eWxlUG9zaXRpb246Ci0gICAgewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChs
aXN0U3R5bGVQb3NpdGlvbiwgTGlzdFN0eWxlUG9zaXRpb24pCi0gICAgICAgIGlmIChwcmltaXRp
dmVWYWx1ZSkKLSAgICAgICAgICAgIG1fc3R5bGUtPnNldExpc3RTdHlsZVBvc2l0aW9uKCpwcmlt
aXRpdmVWYWx1ZSk7CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklN
SVRJVkUobGlzdFN0eWxlUG9zaXRpb24sIExpc3RTdHlsZVBvc2l0aW9uKQogICAgICAgICByZXR1
cm47Ci0gICAgfQotCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUxpc3RTdHlsZVR5cGU6Ci0gICAgewot
ICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChsaXN0U3R5bGVUeXBlLCBMaXN0U3R5
bGVUeXBlKQotICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICBtX3N0eWxl
LT5zZXRMaXN0U3R5bGVUeXBlKCpwcmltaXRpdmVWYWx1ZSk7CisgICAgICAgIEhBTkRMRV9JTkhF
UklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUobGlzdFN0eWxlVHlwZSwgTGlzdFN0eWxlVHlw
ZSkKICAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGNhc2UgQ1NTUHJvcGVydHlPdmVyZmxv
dzoKICAgICB7CiAgICAgICAgIGlmIChpc0luaGVyaXQpIHsKQEAgLTMxMzAsMzUgKzMxMDcsMTcg
QEAKICAgICB9CiAKICAgICBjYXNlIENTU1Byb3BlcnR5T3ZlcmZsb3dYOgotICAgIHsKLSAgICAg
ICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwob3ZlcmZsb3dYLCBPdmVyZmxvd1gpCi0gICAg
ICAgIG1fc3R5bGUtPnNldE92ZXJmbG93WCgqcHJpbWl0aXZlVmFsdWUpOworICAgICAgICBIQU5E
TEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKG92ZXJmbG93WCwgT3ZlcmZsb3dY
KQogICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgY2FzZSBDU1NQcm9wZXJ0eU92ZXJmbG93
WToKLSAgICB7Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMKG92ZXJmbG93WSwg
T3ZlcmZsb3dZKQotICAgICAgICBtX3N0eWxlLT5zZXRPdmVyZmxvd1koKnByaW1pdGl2ZVZhbHVl
KTsKKyAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRShvdmVy
Zmxvd1ksIE92ZXJmbG93WSkKICAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGNhc2UgQ1NT
UHJvcGVydHlQYWdlQnJlYWtCZWZvcmU6Ci0gICAgewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9B
TkRfSU5JVElBTF9XSVRIX1ZBTFVFKHBhZ2VCcmVha0JlZm9yZSwgUGFnZUJyZWFrQmVmb3JlLCBQ
YWdlQnJlYWspCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1fc3R5
bGUtPnNldFBhZ2VCcmVha0JlZm9yZSgqcHJpbWl0aXZlVmFsdWUpOworICAgICAgICBIQU5ETEVf
SU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFX1dJVEhfVkFMVUUocGFnZUJyZWFrQmVm
b3JlLCBQYWdlQnJlYWtCZWZvcmUsIFBhZ2VCcmVhaykKICAgICAgICAgcmV0dXJuOwotICAgIH0K
LQogICAgIGNhc2UgQ1NTUHJvcGVydHlQYWdlQnJlYWtBZnRlcjoKLSAgICB7Ci0gICAgICAgIEhB
TkRMRV9JTkhFUklUX0FORF9JTklUSUFMX1dJVEhfVkFMVUUocGFnZUJyZWFrQWZ0ZXIsIFBhZ2VC
cmVha0FmdGVyLCBQYWdlQnJlYWspCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAg
ICAgICAgIG1fc3R5bGUtPnNldFBhZ2VCcmVha0FmdGVyKCpwcmltaXRpdmVWYWx1ZSk7CisgICAg
ICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkVfV0lUSF9WQUxVRShw
YWdlQnJlYWtBZnRlciwgUGFnZUJyZWFrQWZ0ZXIsIFBhZ2VCcmVhaykKICAgICAgICAgcmV0dXJu
OwotICAgIH0KLQogICAgIGNhc2UgQ1NTUHJvcGVydHlQYWdlQnJlYWtJbnNpZGU6IHsKICAgICAg
ICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfV0lUSF9WQUxVRShwYWdlQnJlYWtJbnNpZGUs
IFBhZ2VCcmVha0luc2lkZSwgUGFnZUJyZWFrKQogICAgICAgICBpZiAoIXByaW1pdGl2ZVZhbHVl
KQpAQCAtMzE3MCwxMyArMzEyOSw4IEBACiAgICAgfQogICAgICAgICAKICAgICBjYXNlIENTU1By
b3BlcnR5UG9zaXRpb246Ci0gICAgewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElB
TChwb3NpdGlvbiwgUG9zaXRpb24pCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAg
ICAgICAgIG1fc3R5bGUtPnNldFBvc2l0aW9uKCpwcmltaXRpdmVWYWx1ZSk7CisgICAgICAgIEhB
TkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUocG9zaXRpb24sIFBvc2l0aW9u
KQogICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRhYmxlTGF5
b3V0OiB7CiAgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMKHRhYmxlTGF5b3V0LCBU
YWJsZUxheW91dCkKIApAQCAtMzE4OCwyNiArMzE0MiwxNyBAQAogICAgICAgICByZXR1cm47CiAg
ICAgfQogICAgICAgICAKLSAgICBjYXNlIENTU1Byb3BlcnR5VW5pY29kZUJpZGk6IHsKLSAgICAg
ICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwodW5pY29kZUJpZGksIFVuaWNvZGVCaWRpKQot
ICAgICAgICBtX3N0eWxlLT5zZXRVbmljb2RlQmlkaSgqcHJpbWl0aXZlVmFsdWUpOworICAgIGNh
c2UgQ1NTUHJvcGVydHlVbmljb2RlQmlkaTogCisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9J
TklUSUFMX0FORF9QUklNSVRJVkUodW5pY29kZUJpZGksIFVuaWNvZGVCaWRpKQogICAgICAgICBy
ZXR1cm47Ci0gICAgfQotICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0VHJhbnNmb3JtOiB7Ci0gICAg
ICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMKHRleHRUcmFuc2Zvcm0sIFRleHRUcmFuc2Zv
cm0pCi0gICAgICAgIG1fc3R5bGUtPnNldFRleHRUcmFuc2Zvcm0oKnByaW1pdGl2ZVZhbHVlKTsK
KyAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFRyYW5zZm9ybTogCisgICAgICAgIEhBTkRMRV9JTkhF
UklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUodGV4dFRyYW5zZm9ybSwgVGV4dFRyYW5zZm9y
bSkKICAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGNhc2UgQ1NTUHJvcGVydHlWaXNpYmls
aXR5OgotICAgIHsKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwodmlzaWJpbGl0
eSwgVmlzaWJpbGl0eSkKLSAgICAgICAgbV9zdHlsZS0+c2V0VmlzaWJpbGl0eSgqcHJpbWl0aXZl
VmFsdWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZF
KHZpc2liaWxpdHksIFZpc2liaWxpdHkpCiAgICAgICAgIHJldHVybjsKLSAgICB9CiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdoaXRlU3BhY2U6Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklU
SUFMKHdoaXRlU3BhY2UsIFdoaXRlU3BhY2UpCi0gICAgICAgIG1fc3R5bGUtPnNldFdoaXRlU3Bh
Y2UoKnByaW1pdGl2ZVZhbHVlKTsKKyAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxf
QU5EX1BSSU1JVElWRSh3aGl0ZVNwYWNlLCBXaGl0ZVNwYWNlKQogICAgICAgICByZXR1cm47CiAK
ICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZFBvc2l0aW9uOgpAQCAtMzUwMCwzOCArMzQ0
NSwyMSBAQAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgY2FzZSBDU1NQcm9wZXJ0eVdv
cmRCcmVhazogewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTCh3b3JkQnJlYWss
IFdvcmRCcmVhaykKLSAgICAgICAgbV9zdHlsZS0+c2V0V29yZEJyZWFrKCpwcmltaXRpdmVWYWx1
ZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdvcmRCcmVhazoKKyAgICAgICAgSEFORExFX0lOSEVS
SVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRSh3b3JkQnJlYWssIFdvcmRCcmVhaykKICAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIGNhc2UgQ1NTUHJvcGVydHlXb3JkV3JhcDogewotICAg
ICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTCh3b3JkV3JhcCwgV29yZFdyYXApCi0gICAg
ICAgIG1fc3R5bGUtPnNldFdvcmRXcmFwKCpwcmltaXRpdmVWYWx1ZSk7CisgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdvcmRXcmFwOgorICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRf
UFJJTUlUSVZFKHdvcmRXcmFwLCBXb3JkV3JhcCkKICAgICAgICAgcmV0dXJuOwotICAgIH0KLQog
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXROYnNwTW9kZToKLSAgICB7Ci0gICAgICAgIEhBTkRM
RV9JTkhFUklUX0FORF9JTklUSUFMKG5ic3BNb2RlLCBOQlNQTW9kZSkKLSAgICAgICAgbV9zdHls
ZS0+c2V0TkJTUE1vZGUoKnByaW1pdGl2ZVZhbHVlKTsKKyAgICAgICAgSEFORExFX0lOSEVSSVRf
QU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRShuYnNwTW9kZSwgTkJTUE1vZGUpCiAgICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TGluZUJyZWFrOgotICAg
IHsKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwoa2h0bWxMaW5lQnJlYWssIEtI
VE1MTGluZUJyZWFrKQotICAgICAgICBtX3N0eWxlLT5zZXRLSFRNTExpbmVCcmVhaygqcHJpbWl0
aXZlVmFsdWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlU
SVZFKGtodG1sTGluZUJyZWFrLCBLSFRNTExpbmVCcmVhaykKICAgICAgICAgcmV0dXJuOwotICAg
IH0KLQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXRjaE5lYXJlc3RNYWlsQmxvY2txdW90
ZUNvbG9yOgotICAgIHsKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwobWF0Y2hO
ZWFyZXN0TWFpbEJsb2NrcXVvdGVDb2xvciwgTWF0Y2hOZWFyZXN0TWFpbEJsb2NrcXVvdGVDb2xv
cikKLSAgICAgICAgbV9zdHlsZS0+c2V0TWF0Y2hOZWFyZXN0TWFpbEJsb2NrcXVvdGVDb2xvcigq
cHJpbWl0aXZlVmFsdWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRf
UFJJTUlUSVZFKG1hdGNoTmVhcmVzdE1haWxCbG9ja3F1b3RlQ29sb3IsIE1hdGNoTmVhcmVzdE1h
aWxCbG9ja3F1b3RlQ29sb3IpCiAgICAgICAgIHJldHVybjsKLSAgICB9CiAKICAgICBjYXNlIENT
U1Byb3BlcnR5UmVzaXplOgogICAgIHsKQEAgLTQ2NTAsMTkgKzQ2MjcsMTMgQEAKICAgICAgICAg
ICAgIG1fc3R5bGUtPnNldEJhY2tmYWNlVmlzaWJpbGl0eSgocHJpbWl0aXZlVmFsdWUtPmdldElk
ZW50KCkgPT0gQ1NTVmFsdWVWaXNpYmxlKSA/IEJhY2tmYWNlVmlzaWJpbGl0eVZpc2libGUgOiBC
YWNrZmFjZVZpc2liaWxpdHlIaWRkZW4pOwogICAgICAgICByZXR1cm47CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdEJveERpcmVjdGlvbjoKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lO
SVRJQUwoYm94RGlyZWN0aW9uLCBCb3hEaXJlY3Rpb24pCi0gICAgICAgIGlmIChwcmltaXRpdmVW
YWx1ZSkKLSAgICAgICAgICAgIG1fc3R5bGUtPnNldEJveERpcmVjdGlvbigqcHJpbWl0aXZlVmFs
dWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKGJv
eERpcmVjdGlvbiwgQm94RGlyZWN0aW9uKQogICAgICAgICByZXR1cm47CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdEJveExpbmVzOgotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElB
TChib3hMaW5lcywgQm94TGluZXMpCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAg
ICAgICAgIG1fc3R5bGUtPnNldEJveExpbmVzKCpwcmltaXRpdmVWYWx1ZSk7CisgICAgICAgIEhB
TkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUoYm94TGluZXMsIEJveExpbmVz
KQogICAgICAgICByZXR1cm47CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJveE9yaWVudDoK
LSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwoYm94T3JpZW50LCBCb3hPcmllbnQp
Ci0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1fc3R5bGUtPnNldEJv
eE9yaWVudCgqcHJpbWl0aXZlVmFsdWUpOworICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5J
VElBTF9BTkRfUFJJTUlUSVZFKGJveE9yaWVudCwgQm94T3JpZW50KQogICAgICAgICByZXR1cm47
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJveFBhY2s6CiAgICAgewpAQCAtNDc0NCwxOSAr
NDcxNSwxNCBAQAogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRDb2x1bW5SdWxlU3R5bGU6Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFM
X1dJVEhfVkFMVUUoY29sdW1uUnVsZVN0eWxlLCBDb2x1bW5SdWxlU3R5bGUsIEJvcmRlclN0eWxl
KQotICAgICAgICBtX3N0eWxlLT5zZXRDb2x1bW5SdWxlU3R5bGUoKnByaW1pdGl2ZVZhbHVlKTsK
KyAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRV9XSVRIX1ZB
TFVFKGNvbHVtblJ1bGVTdHlsZSwgQ29sdW1uUnVsZVN0eWxlLCBCb3JkZXJTdHlsZSkKICAgICAg
ICAgcmV0dXJuOwotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5CcmVha0JlZm9yZTog
ewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9XSVRIX1ZBTFVFKGNvbHVtbkJy
ZWFrQmVmb3JlLCBDb2x1bW5CcmVha0JlZm9yZSwgUGFnZUJyZWFrKQotICAgICAgICBtX3N0eWxl
LT5zZXRDb2x1bW5CcmVha0JlZm9yZSgqcHJpbWl0aXZlVmFsdWUpOworICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRDb2x1bW5CcmVha0JlZm9yZToKKyAgICAgICAgSEFORExFX0lOSEVSSVRfQU5E
X0lOSVRJQUxfQU5EX1BSSU1JVElWRV9XSVRIX1ZBTFVFKGNvbHVtbkJyZWFrQmVmb3JlLCBDb2x1
bW5CcmVha0JlZm9yZSwgUGFnZUJyZWFrKQogICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5CcmVha0FmdGVyOiB7Ci0gICAgICAgIEhBTkRMRV9J
TkhFUklUX0FORF9JTklUSUFMX1dJVEhfVkFMVUUoY29sdW1uQnJlYWtBZnRlciwgQ29sdW1uQnJl
YWtBZnRlciwgUGFnZUJyZWFrKQotICAgICAgICBtX3N0eWxlLT5zZXRDb2x1bW5CcmVha0FmdGVy
KCpwcmltaXRpdmVWYWx1ZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbkJyZWFr
QWZ0ZXI6CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkVf
V0lUSF9WQUxVRShjb2x1bW5CcmVha0FmdGVyLCBDb2x1bW5CcmVha0FmdGVyLCBQYWdlQnJlYWsp
CiAgICAgICAgIHJldHVybjsKLSAgICB9CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbHVt
bkJyZWFrSW5zaWRlOiB7CiAgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX1dJVEhf
VkFMVUUoY29sdW1uQnJlYWtJbnNpZGUsIENvbHVtbkJyZWFrSW5zaWRlLCBQYWdlQnJlYWspCiAg
ICAgICAgIEVQYWdlQnJlYWsgcGIgPSAqcHJpbWl0aXZlVmFsdWU7CkBAIC00ODUzLDM2ICs0ODE5
LDIyIEBACiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0TWFycXVlZVN0eWxlOiB7Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9J
TklUSUFMKG1hcnF1ZWVCZWhhdmlvciwgTWFycXVlZUJlaGF2aW9yKSAgICAgIAotICAgICAgICBp
ZiAocHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICBtX3N0eWxlLT5zZXRNYXJxdWVlQmVoYXZp
b3IoKnByaW1pdGl2ZVZhbHVlKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFycXVlZVN0
eWxlOgorICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKG1h
cnF1ZWVCZWhhdmlvciwgTWFycXVlZUJlaGF2aW9yKSAgICAgIAogICAgICAgICByZXR1cm47Ci0g
ICAgfQotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVlRGlyZWN0aW9uOiB7Ci0gICAg
ICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMKG1hcnF1ZWVEaXJlY3Rpb24sIE1hcnF1ZWVE
aXJlY3Rpb24pCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1fc3R5
bGUtPnNldE1hcnF1ZWVEaXJlY3Rpb24oKnByaW1pdGl2ZVZhbHVlKTsKKyAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0TWFycXVlZURpcmVjdGlvbjoKKyAgICAgICAgSEFORExFX0lOSEVSSVRfQU5E
X0lOSVRJQUxfQU5EX1BSSU1JVElWRShtYXJxdWVlRGlyZWN0aW9uLCBNYXJxdWVlRGlyZWN0aW9u
KQogICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRVc2Vy
RHJhZzogewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTCh1c2VyRHJhZywgVXNl
ckRyYWcpICAgICAgCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1f
c3R5bGUtPnNldFVzZXJEcmFnKCpwcmltaXRpdmVWYWx1ZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0
eVdlYmtpdFVzZXJEcmFnOgorICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRf
UFJJTUlUSVZFKHVzZXJEcmFnLCBVc2VyRHJhZykgICAgICAKICAgICAgICAgcmV0dXJuOwotICAg
IH0KLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VXNlck1vZGlmeTogewotICAgICAgICBIQU5E
TEVfSU5IRVJJVF9BTkRfSU5JVElBTCh1c2VyTW9kaWZ5LCBVc2VyTW9kaWZ5KSAgICAgIAotICAg
ICAgICBpZiAocHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICBtX3N0eWxlLT5zZXRVc2VyTW9k
aWZ5KCpwcmltaXRpdmVWYWx1ZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFVzZXJNb2Rp
Znk6CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUodXNl
ck1vZGlmeSwgVXNlck1vZGlmeSkgICAgICAKICAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0VXNlclNlbGVjdDogewotICAgICAgICBIQU5ETEVfSU5IRVJJ
VF9BTkRfSU5JVElBTCh1c2VyU2VsZWN0LCBVc2VyU2VsZWN0KSAgICAgIAotICAgICAgICBpZiAo
cHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICBtX3N0eWxlLT5zZXRVc2VyU2VsZWN0KCpwcmlt
aXRpdmVWYWx1ZSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFVzZXJTZWxlY3Q6CisgICAg
ICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUodXNlclNlbGVjdCwg
VXNlclNlbGVjdCkgICAgICAKICAgICAgICAgcmV0dXJuOwotICAgIH0KKwogICAgIGNhc2UgQ1NT
UHJvcGVydHlUZXh0T3ZlcmZsb3c6IHsKICAgICAgICAgLy8gVGhpcyBwcm9wZXJ0eSBpcyBzdXBw
b3J0ZWQgYnkgV2luSUUsIGFuZCBzbyB3ZSBsZWF2ZSBvZmYgdGhlICItd2Via2l0LSIgaW4gb3Jk
ZXIgdG8KICAgICAgICAgLy8gd29yayB3aXRoIFdpbklFLXNwZWNpZmljIHBhZ2VzIHRoYXQgdXNl
IHRoZSBwcm9wZXJ0eS4KQEAgLTQ5MDMsMTggKzQ4NTUsMTMgQEAKICAgICAgICAgfQogICAgICAg
ICByZXR1cm47CiAgICAgfQotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJnaW5Ub3BDb2xs
YXBzZTogewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChtYXJnaW5Ub3BDb2xs
YXBzZSwgTWFyZ2luVG9wQ29sbGFwc2UpCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAg
ICAgICAgICAgIG1fc3R5bGUtPnNldE1hcmdpblRvcENvbGxhcHNlKCpwcmltaXRpdmVWYWx1ZSk7
CisKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFyZ2luVG9wQ29sbGFwc2U6CisgICAgICAg
IEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUobWFyZ2luVG9wQ29sbGFw
c2UsIE1hcmdpblRvcENvbGxhcHNlKQogICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRNYXJnaW5Cb3R0b21Db2xsYXBzZTogewotICAgICAgICBIQU5ETEVf
SU5IRVJJVF9BTkRfSU5JVElBTChtYXJnaW5Cb3R0b21Db2xsYXBzZSwgTWFyZ2luQm90dG9tQ29s
bGFwc2UpCi0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1fc3R5bGUt
PnNldE1hcmdpbkJvdHRvbUNvbGxhcHNlKCpwcmltaXRpdmVWYWx1ZSk7CisgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdE1hcmdpbkJvdHRvbUNvbGxhcHNlOgorICAgICAgICBIQU5ETEVfSU5IRVJJ
VF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKG1hcmdpbkJvdHRvbUNvbGxhcHNlLCBNYXJnaW5C
b3R0b21Db2xsYXBzZSkKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAogICAgIC8vIEFwcGxlLXNw
ZWNpZmljIGNoYW5nZXMuICBEbyBub3QgbWVyZ2UgdGhlc2UgcHJvcGVydGllcyBpbnRvIEtIVE1M
LgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRMaW5lQ2xhbXA6IHsKQEAgLTQ5NDcsMTIgKzQ4
OTQsMTAgQEAKICAgICAgICAgbV9mb250RGlydHkgPSB0cnVlOwogICAgICAgICByZXR1cm47CiAg
ICAgfQotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0U2VjdXJpdHk6IHsKLSAgICAgICAg
SEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwodGV4dFNlY3VyaXR5LCBUZXh0U2VjdXJpdHkpCi0g
ICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIG1fc3R5bGUtPnNldFRleHRT
ZWN1cml0eSgqcHJpbWl0aXZlVmFsdWUpOworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0
U2VjdXJpdHk6CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJ
VkUodGV4dFNlY3VyaXR5LCBUZXh0U2VjdXJpdHkpCiAgICAgICAgIHJldHVybjsKLSAgICB9CisK
ICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dERhc2hib2FyZFJlZ2lvbjogewogICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChk
YXNoYm9hcmRSZWdpb25zLCBEYXNoYm9hcmRSZWdpb25zKQo=
</data>
<flag name="review"
          id="15761"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>