<?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>23831</bug_id>
          
          <creation_ts>2009-02-08 07:08:41 -0800</creation_ts>
          <short_desc>[CAIRO] build broken by TransformationMatrix rework</short_desc>
          <delta_ts>2009-02-08 11:50:46 -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>WebKit 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>Cairo</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gustavo Noronha (kov)">gustavo</reporter>
          <assigned_to name="Gustavo Noronha (kov)">gustavo</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>108891</commentid>
    <comment_count>0</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-02-08 07:08:41 -0800</bug_when>
    <thetext>WebKit/GTK+ build is broken because the cairo backend has not been updated after the changes to TransformationMatrix on 40761.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108894</commentid>
    <comment_count>1</comment_count>
      <attachid>27463</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-02-08 07:46:25 -0800</bug_when>
    <thetext>Created attachment 27463
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108895</commentid>
    <comment_count>2</comment_count>
      <attachid>27464</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-02-08 08:13:22 -0800</bug_when>
    <thetext>Created attachment 27464
fixed proposed fix =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108902</commentid>
    <comment_count>3</comment_count>
      <attachid>27468</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-02-08 11:24:49 -0800</bug_when>
    <thetext>Created attachment 27468
working proposed fix

thanks to krit for pointing me to the right direction on the fix =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108903</commentid>
    <comment_count>4</comment_count>
      <attachid>27468</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-08 11:30:37 -0800</bug_when>
    <thetext>Comment on attachment 27468
working proposed fix


&gt;  #if PLATFORM(CG)
&gt;      operator CGAffineTransform() const;
&gt; +#elif PLATFORM(CAIRO)
&gt; +    operator cairo_matrix_t() const;
&gt;  #endif

Your patch is slightly out of date here; there&apos;s a new #if PLATFORM(QT) section. Please convert to a series of #elif on commit.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108905</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-02-08 11:50:46 -0800</bug_when>
    <thetext>landed in r40774</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27463</attachid>
            <date>2009-02-08 07:46:25 -0800</date>
            <delta_ts>2009-02-08 08:13:22 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>0001--CAIRO-build-broken-by-TransformationMatrix-rework.patch</filename>
            <type>text/plain</type>
            <size>9613</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSA0NDEwMjg5ZTQyYjdjNDE0ZjJiZTM1NTI0NTI4OTY5MGFlYjY4MGFhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGtvdkBrb3YuZXRpLmJy
PgpEYXRlOiBTdW4sIDggRmViIDIwMDkgMTM6NDE6NDggLTAyMDAKU3ViamVjdDogW1BBVENIXSBb
Q0FJUk9dIGJ1aWxkIGJyb2tlbiBieSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCByZXdvcmsKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgzMQoKRml4ZWQgY2Fpcm8gYnVp
bGQgYWZ0ZXIgdGhlIFRyYW5zZm9ybWF0aW9uTWF0cml4IHJld29yayBkb25lIGluCnJldmlzaW9u
IDQwNzYxLgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAxNiArKwogLi4uL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJv
LmNwcCAgICAgICAgfCAgICAyICstCiAuLi4vZ3JhcGhpY3MvY2Fpcm8vVHJhbnNmb3JtYXRpb25N
YXRyaXhDYWlyby5jcHAgICB8ICAyNDggKy0tLS0tLS0tLS0tLS0tLS0tLS0KIC4uLi9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmggICAgIHwgICAgNCArCiA0IGZpbGVz
IGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDI0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDIxYWQ3YjEuLjE2
ZTA5MmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMDItMDggIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAg
PGduc0Bnbm9tZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgW0NBSVJPXSBidWlsZCBicm9rZW4gYnkgVHJhbnNmb3JtYXRpb25NYXRyaXggcmV3
b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgz
MQorCisgICAgICAgIEZpeGVkIGNhaXJvIGJ1aWxkIGFmdGVyIHRoZSBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCByZXdvcmsgZG9uZSBpbgorICAgICAgICByZXZpc2lvbiA0MDc2MS4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6Z2V0Q1RNKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9UcmFuc2Zvcm1hdGlvbk1hdHJpeENhaXJvLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4OjpvcGVyYXRvciBjYWlyb19tYXRyaXhfdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1h
dHJpeC5oOgorCiAyMDA5LTAyLTA3ICBSb2IgQnVpcyAgPHJ3bGJ1aXNAZ21haWwuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAppbmRleCAyNzIwZGJkLi5k
OWFjMTA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBo
aWNzQ29udGV4dENhaXJvLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcApAQCAtMTA2LDcgKzEwNiw3IEBAIFRyYW5zZm9ybWF0
aW9uTWF0cml4IEdyYXBoaWNzQ29udGV4dDo6Z2V0Q1RNKCkgY29uc3QKICAgICBjYWlyb190KiBj
ciA9IHBsYXRmb3JtQ29udGV4dCgpOwogICAgIGNhaXJvX21hdHJpeF90IG07CiAgICAgY2Fpcm9f
Z2V0X21hdHJpeChjciwgJm0pOwotICAgIHJldHVybiBtOworICAgIHJldHVybiBUcmFuc2Zvcm1h
dGlvbk1hdHJpeChtLnh4LCBtLnl4LCBtLnh5LCBtLnl5LCBtLngwLCBtLnkwKTsKIH0KIAogY2Fp
cm9fdCogR3JhcGhpY3NDb250ZXh0OjpwbGF0Zm9ybUNvbnRleHQoKSBjb25zdApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9UcmFuc2Zvcm1hdGlvbk1hdHJpeENh
aXJvLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vVHJhbnNmb3JtYXRpb25N
YXRyaXhDYWlyby5jcHAKaW5kZXggYjc4NjIwZi4uMWQyYjBkYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9UcmFuc2Zvcm1hdGlvbk1hdHJpeENhaXJvLmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1RyYW5zZm9ybWF0aW9uTWF0cml4
Q2Fpcm8uY3BwCkBAIC0zMiwyNDggKzMyLDE4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBkZWcycmFkID0gMC4wMTc0NTMyOTI1MTk5NDMyOTU3Njk7IC8v
IHBpLzE4MAotCi1UcmFuc2Zvcm1hdGlvbk1hdHJpeDo6VHJhbnNmb3JtYXRpb25NYXRyaXgoKQot
ewotICAgIGNhaXJvX21hdHJpeF9pbml0X2lkZW50aXR5KCZtX3RyYW5zZm9ybSk7Ci19Ci0KLVRy
YW5zZm9ybWF0aW9uTWF0cml4OjpUcmFuc2Zvcm1hdGlvbk1hdHJpeChkb3VibGUgYSwgZG91Ymxl
IGIsIGRvdWJsZSBjLCBkb3VibGUgZCwgZG91YmxlIHR4LCBkb3VibGUgdHkpCi17Ci0gICAgY2Fp
cm9fbWF0cml4X2luaXQoJm1fdHJhbnNmb3JtLCBhLCBiLCBjLCBkLCB0eCwgdHkpOwotfQotCi1U
cmFuc2Zvcm1hdGlvbk1hdHJpeDo6VHJhbnNmb3JtYXRpb25NYXRyaXgoY29uc3QgUGxhdGZvcm1U
cmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4KQotewotICAgIG1fdHJhbnNmb3JtID0gbWF0cml4
OwotfQotCi12b2lkIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpzZXRNYXRyaXgoZG91YmxlIGEsIGRv
dWJsZSBiLCBkb3VibGUgYywgZG91YmxlIGQsIGRvdWJsZSB0eCwgZG91YmxlIHR5KQotewotICAg
IGNhaXJvX21hdHJpeF9pbml0KCZtX3RyYW5zZm9ybSwgYSwgYiwgYywgZCwgdHgsIHR5KTsKLX0K
LQotdm9pZCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6bWFwKGRvdWJsZSB4LCBkb3VibGUgeSwgZG91
YmxlKiB4MiwgZG91YmxlKiB5MikgY29uc3QKLXsKLSAgICAqeDIgPSB4OwotICAgICp5MiA9IHk7
Ci0gICAgY2Fpcm9fbWF0cml4X3RyYW5zZm9ybV9wb2ludCgmbV90cmFuc2Zvcm0sIHgyLCB5Mik7
Ci19Ci0KLUludFJlY3QgVHJhbnNmb3JtYXRpb25NYXRyaXg6Om1hcFJlY3QoY29uc3QgSW50UmVj
dCAmcmVjdCkgY29uc3QKLXsKLSAgICBGbG9hdFJlY3QgZmxvYXRSZWN0KHJlY3QpOwotICAgIEZs
b2F0UmVjdCBlbmNsb3NpbmdGbG9hdFJlY3QgPSB0aGlzLT5tYXBSZWN0KGZsb2F0UmVjdCk7Ci0K
LSAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChlbmNsb3NpbmdGbG9hdFJlY3QpOwotfQotCi1G
bG9hdFJlY3QgVHJhbnNmb3JtYXRpb25NYXRyaXg6Om1hcFJlY3QoY29uc3QgRmxvYXRSZWN0ICZy
ZWN0KSBjb25zdAotewotICAgIGRvdWJsZSByZWN0TWluWCA9IHJlY3QueCgpOwotICAgIGRvdWJs
ZSByZWN0TWF4WCA9IHJlY3QueCgpICsgcmVjdC53aWR0aCgpOwotICAgIGRvdWJsZSByZWN0TWlu
WSA9IHJlY3QueSgpOwotICAgIGRvdWJsZSByZWN0TWF4WSA9IHJlY3QueSgpICsgcmVjdC5oZWln
aHQoKTsKLQotICAgIGRvdWJsZSBweCA9IHJlY3RNaW5YOwotICAgIGRvdWJsZSBweSA9IHJlY3RN
aW5ZOwotICAgIGNhaXJvX21hdHJpeF90cmFuc2Zvcm1fcG9pbnQoJm1fdHJhbnNmb3JtLCAmcHgs
ICZweSk7Ci0KLSAgICBkb3VibGUgZW5jbG9zaW5nUmVjdE1pblggPSBweDsKLSAgICBkb3VibGUg
ZW5jbG9zaW5nUmVjdE1pblkgPSBweTsKLSAgICBkb3VibGUgZW5jbG9zaW5nUmVjdE1heFggPSBw
eDsKLSAgICBkb3VibGUgZW5jbG9zaW5nUmVjdE1heFkgPSBweTsKLQotICAgIHB4ID0gcmVjdE1h
eFg7Ci0gICAgcHkgPSByZWN0TWluWTsKLSAgICBjYWlyb19tYXRyaXhfdHJhbnNmb3JtX3BvaW50
KCZtX3RyYW5zZm9ybSwgJnB4LCAmcHkpOwotICAgIGlmIChweCA8IGVuY2xvc2luZ1JlY3RNaW5Y
KQotICAgICAgICBlbmNsb3NpbmdSZWN0TWluWCA9IHB4OwotICAgIGVsc2UgaWYgKHB4ID4gZW5j
bG9zaW5nUmVjdE1heFgpCi0gICAgICAgIGVuY2xvc2luZ1JlY3RNYXhYID0gcHg7Ci0gICAgaWYg
KHB5IDwgZW5jbG9zaW5nUmVjdE1pblkpCi0gICAgICAgIGVuY2xvc2luZ1JlY3RNaW5ZID0gcHk7
Ci0gICAgZWxzZSBpZiAocHkgPiBlbmNsb3NpbmdSZWN0TWF4WSkKLSAgICAgICAgZW5jbG9zaW5n
UmVjdE1heFkgPSBweTsKLQotICAgIHB4ID0gcmVjdE1heFg7Ci0gICAgcHkgPSByZWN0TWF4WTsK
LSAgICBjYWlyb19tYXRyaXhfdHJhbnNmb3JtX3BvaW50KCZtX3RyYW5zZm9ybSwgJnB4LCAmcHkp
OwotICAgIGlmIChweCA8IGVuY2xvc2luZ1JlY3RNaW5YKQotICAgICAgICBlbmNsb3NpbmdSZWN0
TWluWCA9IHB4OwotICAgIGVsc2UgaWYgKHB4ID4gZW5jbG9zaW5nUmVjdE1heFgpCi0gICAgICAg
IGVuY2xvc2luZ1JlY3RNYXhYID0gcHg7Ci0gICAgaWYgKHB5IDwgZW5jbG9zaW5nUmVjdE1pblkp
Ci0gICAgICAgIGVuY2xvc2luZ1JlY3RNaW5ZID0gcHk7Ci0gICAgZWxzZSBpZiAocHkgPiBlbmNs
b3NpbmdSZWN0TWF4WSkKLSAgICAgICAgZW5jbG9zaW5nUmVjdE1heFkgPSBweTsKLQotICAgIHB4
ID0gcmVjdE1pblg7Ci0gICAgcHkgPSByZWN0TWF4WTsKLSAgICBjYWlyb19tYXRyaXhfdHJhbnNm
b3JtX3BvaW50KCZtX3RyYW5zZm9ybSwgJnB4LCAmcHkpOwotICAgIGlmIChweCA8IGVuY2xvc2lu
Z1JlY3RNaW5YKQotICAgICAgICBlbmNsb3NpbmdSZWN0TWluWCA9IHB4OwotICAgIGVsc2UgaWYg
KHB4ID4gZW5jbG9zaW5nUmVjdE1heFgpCi0gICAgICAgIGVuY2xvc2luZ1JlY3RNYXhYID0gcHg7
Ci0gICAgaWYgKHB5IDwgZW5jbG9zaW5nUmVjdE1pblkpCi0gICAgICAgIGVuY2xvc2luZ1JlY3RN
aW5ZID0gcHk7Ci0gICAgZWxzZSBpZiAocHkgPiBlbmNsb3NpbmdSZWN0TWF4WSkKLSAgICAgICAg
ZW5jbG9zaW5nUmVjdE1heFkgPSBweTsKLQotCi0gICAgZG91YmxlIGVuY2xvc2luZ1JlY3RXaWR0
aCA9IGVuY2xvc2luZ1JlY3RNYXhYIC0gZW5jbG9zaW5nUmVjdE1pblg7Ci0gICAgZG91YmxlIGVu
Y2xvc2luZ1JlY3RIZWlnaHQgPSBlbmNsb3NpbmdSZWN0TWF4WSAtIGVuY2xvc2luZ1JlY3RNaW5Z
OwotCi0gICAgcmV0dXJuIEZsb2F0UmVjdChlbmNsb3NpbmdSZWN0TWluWCwgZW5jbG9zaW5nUmVj
dE1pblksIGVuY2xvc2luZ1JlY3RXaWR0aCwgZW5jbG9zaW5nUmVjdEhlaWdodCk7Ci19Ci0KLWJv
b2wgVHJhbnNmb3JtYXRpb25NYXRyaXg6OmlzSWRlbnRpdHkoKSBjb25zdAotewotICAgIHJldHVy
biAoKG1fdHJhbnNmb3JtLnh4ID09IDEpICYmIChtX3RyYW5zZm9ybS55eSA9PSAxKQotICAgICAg
ICAgJiYgKG1fdHJhbnNmb3JtLnh5ID09IDApICYmIChtX3RyYW5zZm9ybS55eCA9PSAwKQotICAg
ICAgICAgJiYgKG1fdHJhbnNmb3JtLngwID09IDApICYmIChtX3RyYW5zZm9ybS55MCA9PSAwKSk7
Ci19Ci0KLWRvdWJsZSBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6YSgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1fdHJhbnNmb3JtLnh4OwotfQotCi12b2lkIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpzZXRB
KGRvdWJsZSBhKQotewotICAgIG1fdHJhbnNmb3JtLnh4ID0gYTsKLX0KLQotZG91YmxlIFRyYW5z
Zm9ybWF0aW9uTWF0cml4OjpiKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV90cmFuc2Zvcm0ueXg7
Ci19Ci0KLXZvaWQgVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNldEIoZG91YmxlIGIpCi17Ci0gICAg
bV90cmFuc2Zvcm0ueXggPSBiOwotfQotCi1kb3VibGUgVHJhbnNmb3JtYXRpb25NYXRyaXg6OmMo
KSBjb25zdAotewotICAgIHJldHVybiBtX3RyYW5zZm9ybS54eTsKLX0KLQotdm9pZCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeDo6c2V0Qyhkb3VibGUgYykKLXsKLSAgICBtX3RyYW5zZm9ybS54eSA9IGM7
Ci19Ci0KLWRvdWJsZSBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6ZCgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1fdHJhbnNmb3JtLnl5OwotfQotCi12b2lkIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpzZXRE
KGRvdWJsZSBkKQotewotICAgIG1fdHJhbnNmb3JtLnl5ID0gZDsKLX0KLQotZG91YmxlIFRyYW5z
Zm9ybWF0aW9uTWF0cml4OjplKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV90cmFuc2Zvcm0ueDA7
Ci19Ci0KLXZvaWQgVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNldEUoZG91YmxlIGUpCi17Ci0gICAg
bV90cmFuc2Zvcm0ueDAgPSBlOwotfQotCi1kb3VibGUgVHJhbnNmb3JtYXRpb25NYXRyaXg6OmYo
KSBjb25zdAotewotICAgIHJldHVybiBtX3RyYW5zZm9ybS55MDsKLX0KLQotdm9pZCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeDo6c2V0Rihkb3VibGUgZikKLXsKLSAgICBtX3RyYW5zZm9ybS55MCA9IGY7
Ci19Ci0KLXZvaWQgVHJhbnNmb3JtYXRpb25NYXRyaXg6OnJlc2V0KCkKLXsKLSAgICBjYWlyb19t
YXRyaXhfaW5pdF9pZGVudGl0eSgmbV90cmFuc2Zvcm0pOwotfQotCi1UcmFuc2Zvcm1hdGlvbk1h
dHJpeCAmVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNjYWxlKGRvdWJsZSBzeCwgZG91YmxlIHN5KQot
ewotICAgIGNhaXJvX21hdHJpeF9zY2FsZSgmbV90cmFuc2Zvcm0sIHN4LCBzeSk7Ci0gICAgcmV0
dXJuICp0aGlzOwotfQotCi1UcmFuc2Zvcm1hdGlvbk1hdHJpeCAmVHJhbnNmb3JtYXRpb25NYXRy
aXg6OnJvdGF0ZShkb3VibGUgZCkKLXsKLSAgICBjYWlyb19tYXRyaXhfcm90YXRlKCZtX3RyYW5z
Zm9ybSwgZCAqIGRlZzJyYWQpOwotICAgIHJldHVybiAqdGhpczsKLX0KLQotVHJhbnNmb3JtYXRp
b25NYXRyaXggJlRyYW5zZm9ybWF0aW9uTWF0cml4Ojp0cmFuc2xhdGUoZG91YmxlIHR4LCBkb3Vi
bGUgdHkpCi17Ci0gICAgY2Fpcm9fbWF0cml4X3RyYW5zbGF0ZSgmbV90cmFuc2Zvcm0sIHR4LCB0
eSk7Ci0gICAgcmV0dXJuICp0aGlzOwotfQotCi1UcmFuc2Zvcm1hdGlvbk1hdHJpeCAmVHJhbnNm
b3JtYXRpb25NYXRyaXg6OnNoZWFyKGRvdWJsZSBzeCwgZG91YmxlIHN5KQotewotICAgIGNhaXJv
X21hdHJpeF90IHNoZWFyOwotICAgIGNhaXJvX21hdHJpeF9pbml0KCZzaGVhciwgMSwgc3ksIHN4
LCAxLCAwLCAwKTsKLQotICAgIGNhaXJvX21hdHJpeF90IHJlc3VsdDsKLSAgICBjYWlyb19tYXRy
aXhfbXVsdGlwbHkoJnJlc3VsdCwgJnNoZWFyLCAmbV90cmFuc2Zvcm0pOwotICAgIG1fdHJhbnNm
b3JtID0gcmVzdWx0OwotCi0gICAgcmV0dXJuICp0aGlzOwotfQotCi1kb3VibGUgVHJhbnNmb3Jt
YXRpb25NYXRyaXg6OmRldCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fdHJhbnNmb3JtLnh4ICog
bV90cmFuc2Zvcm0ueXkgLSBtX3RyYW5zZm9ybS54eSAqIG1fdHJhbnNmb3JtLnl4OwotfQotCi1U
cmFuc2Zvcm1hdGlvbk1hdHJpeCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6aW52ZXJzZSgpIGNvbnN0
Ci17Ci0gICAgaWYgKCFpc0ludmVydGlibGUoKSkgcmV0dXJuIFRyYW5zZm9ybWF0aW9uTWF0cml4
KCk7Ci0KLSAgICBjYWlyb19tYXRyaXhfdCByZXN1bHQgPSBtX3RyYW5zZm9ybTsKLSAgICBjYWly
b19tYXRyaXhfaW52ZXJ0KCZyZXN1bHQpOwotICAgIHJldHVybiBUcmFuc2Zvcm1hdGlvbk1hdHJp
eChyZXN1bHQpOwotfQotCiBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6b3BlcmF0b3IgY2Fpcm9fbWF0
cml4X3QoKSBjb25zdAogewotICAgIHJldHVybiBtX3RyYW5zZm9ybTsKLX0KKyAgICBjYWlyb19t
YXRyaXhfdCBtOwogCi1ib29sIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpvcGVyYXRvcj09IChjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCAmbTIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICgobV90cmFu
c2Zvcm0ueHggPT0gbTIubV90cmFuc2Zvcm0ueHgpCi0gICAgICAgICAmJiAobV90cmFuc2Zvcm0u
eXkgPT0gbTIubV90cmFuc2Zvcm0ueXkpCi0gICAgICAgICAmJiAobV90cmFuc2Zvcm0ueHkgPT0g
bTIubV90cmFuc2Zvcm0ueHkpCi0gICAgICAgICAmJiAobV90cmFuc2Zvcm0ueXggPT0gbTIubV90
cmFuc2Zvcm0ueXgpCi0gICAgICAgICAmJiAobV90cmFuc2Zvcm0ueDAgPT0gbTIubV90cmFuc2Zv
cm0ueDApCi0gICAgICAgICAmJiAobV90cmFuc2Zvcm0ueTAgPT0gbTIubV90cmFuc2Zvcm0ueTAp
KTsKLQotfQotCi1UcmFuc2Zvcm1hdGlvbk1hdHJpeCAmVHJhbnNmb3JtYXRpb25NYXRyaXg6Om9w
ZXJhdG9yKj0gKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4ICZtMikKLXsKLSAgICBjYWlyb19t
YXRyaXhfdCByZXN1bHQ7Ci0gICAgY2Fpcm9fbWF0cml4X211bHRpcGx5KCZyZXN1bHQsICZtX3Ry
YW5zZm9ybSwgJm0yLm1fdHJhbnNmb3JtKTsKLSAgICBtX3RyYW5zZm9ybSA9IHJlc3VsdDsKLQot
ICAgIHJldHVybiAqdGhpczsKLX0KLQotVHJhbnNmb3JtYXRpb25NYXRyaXggVHJhbnNmb3JtYXRp
b25NYXRyaXg6Om9wZXJhdG9yKiAoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXggJm0yKQotewot
ICAgIGNhaXJvX21hdHJpeF90IHJlc3VsdDsKLSAgICBjYWlyb19tYXRyaXhfbXVsdGlwbHkoJnJl
c3VsdCwgJm1fdHJhbnNmb3JtLCAmbTIubV90cmFuc2Zvcm0pOwotICAgIHJldHVybiByZXN1bHQ7
CisgICAgY2Fpcm9fbWF0cml4X2luaXQgKCZtLAorICAgICAgICAgICAgICAgICAgICAgICBtX3Ry
YW5zZm9ybS5hKCksCisgICAgICAgICAgICAgICAgICAgICAgIG1fdHJhbnNmb3JtLmIoKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgbV90cmFuc2Zvcm0uYygpLAorICAgICAgICAgICAgICAgICAg
ICAgICBtX3RyYW5zZm9ybS5kKCksCisgICAgICAgICAgICAgICAgICAgICAgIG1fdHJhbnNmb3Jt
LmUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgbV90cmFuc2Zvcm0uZigpKTsKKyAgICByZXR1
cm4gbTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAppbmRleCBmOTM2M2VjLi5iODE1YWM0
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNm
b3JtYXRpb25NYXRyaXguaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaApAQCAtMjgsNiArMjgsOCBAQAogCiAjaWYgUExBVEZP
Uk0oQ0cpCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQWZmaW5lVHJhbnNmb3JtLmg+CisjZWxp
ZiBQTEFURk9STShDQUlSTykKKyNpbmNsdWRlIDxjYWlyby5oPgogI2VuZGlmCiAKICNpbmNsdWRl
IDxzdHJpbmcuaD4gLy9mb3IgbWVtY3B5CkBAIC0yNzMsNiArMjc1LDggQEAgcHVibGljOgogCiAj
aWYgUExBVEZPUk0oQ0cpCiAgICAgb3BlcmF0b3IgQ0dBZmZpbmVUcmFuc2Zvcm0oKSBjb25zdDsK
KyNlbGlmIFBMQVRGT1JNKENBSVJPKQorICAgIG9wZXJhdG9yIGNhaXJvX21hdHJpeF90KCkgY29u
c3Q7CiAjZW5kaWYKIAogcHJpdmF0ZToKLS0gCjEuNS42LjUKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27464</attachid>
            <date>2009-02-08 08:13:22 -0800</date>
            <delta_ts>2009-02-08 11:24:49 -0800</delta_ts>
            <desc>fixed proposed fix =)</desc>
            <filename>0001--CAIRO-build-broken-by-TransformationMatrix-rework.patch</filename>
            <type>text/plain</type>
            <size>9541</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSBlZjNmMWY4NmZlODJhMmMxODhjOWIzMmMwZDZkNzQ3MTljOWNhZTdiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGtvdkBrb3YuZXRpLmJy
PgpEYXRlOiBTdW4sIDggRmViIDIwMDkgMTM6NDE6NDggLTAyMDAKU3ViamVjdDogW1BBVENIXSBb
Q0FJUk9dIGJ1aWxkIGJyb2tlbiBieSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCByZXdvcmsKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgzMQoKRml4ZWQgY2Fpcm8gYnVp
bGQgYWZ0ZXIgdGhlIFRyYW5zZm9ybWF0aW9uTWF0cml4IHJld29yayBkb25lIGluCnJldmlzaW9u
IDQwNzYxLgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAxNiArKwogLi4uL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJv
LmNwcCAgICAgICAgfCAgICAyICstCiAuLi4vZ3JhcGhpY3MvY2Fpcm8vVHJhbnNmb3JtYXRpb25N
YXRyaXhDYWlyby5jcHAgICB8ICAyNDggKy0tLS0tLS0tLS0tLS0tLS0tLS0KIC4uLi9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmggICAgIHwgICAgNCArCiA0IGZpbGVz
IGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDI0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDIxYWQ3YjEuLjE2
ZTA5MmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMDItMDggIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAg
PGduc0Bnbm9tZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgW0NBSVJPXSBidWlsZCBicm9rZW4gYnkgVHJhbnNmb3JtYXRpb25NYXRyaXggcmV3
b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgz
MQorCisgICAgICAgIEZpeGVkIGNhaXJvIGJ1aWxkIGFmdGVyIHRoZSBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCByZXdvcmsgZG9uZSBpbgorICAgICAgICByZXZpc2lvbiA0MDc2MS4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6Z2V0Q1RNKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9UcmFuc2Zvcm1hdGlvbk1hdHJpeENhaXJvLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4OjpvcGVyYXRvciBjYWlyb19tYXRyaXhfdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1h
dHJpeC5oOgorCiAyMDA5LTAyLTA3ICBSb2IgQnVpcyAgPHJ3bGJ1aXNAZ21haWwuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAppbmRleCAyNzIwZGJkLi5k
OWFjMTA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBo
aWNzQ29udGV4dENhaXJvLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcApAQCAtMTA2LDcgKzEwNiw3IEBAIFRyYW5zZm9ybWF0
aW9uTWF0cml4IEdyYXBoaWNzQ29udGV4dDo6Z2V0Q1RNKCkgY29uc3QKICAgICBjYWlyb190KiBj
ciA9IHBsYXRmb3JtQ29udGV4dCgpOwogICAgIGNhaXJvX21hdHJpeF90IG07CiAgICAgY2Fpcm9f
Z2V0X21hdHJpeChjciwgJm0pOwotICAgIHJldHVybiBtOworICAgIHJldHVybiBUcmFuc2Zvcm1h
dGlvbk1hdHJpeChtLnh4LCBtLnl4LCBtLnh5LCBtLnl5LCBtLngwLCBtLnkwKTsKIH0KIAogY2Fp
cm9fdCogR3JhcGhpY3NDb250ZXh0OjpwbGF0Zm9ybUNvbnRleHQoKSBjb25zdApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9UcmFuc2Zvcm1hdGlvbk1hdHJpeENh
aXJvLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vVHJhbnNmb3JtYXRpb25N
YXRyaXhDYWlyby5jcHAKaW5kZXggYjc4NjIwZi4uMWI4M2EyOSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9UcmFuc2Zvcm1hdGlvbk1hdHJpeENhaXJvLmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1RyYW5zZm9ybWF0aW9uTWF0cml4
Q2Fpcm8uY3BwCkBAIC0zMiwyNDggKzMyLDE4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBkZWcycmFkID0gMC4wMTc0NTMyOTI1MTk5NDMyOTU3Njk7IC8v
IHBpLzE4MAotCi1UcmFuc2Zvcm1hdGlvbk1hdHJpeDo6VHJhbnNmb3JtYXRpb25NYXRyaXgoKQot
ewotICAgIGNhaXJvX21hdHJpeF9pbml0X2lkZW50aXR5KCZtX3RyYW5zZm9ybSk7Ci19Ci0KLVRy
YW5zZm9ybWF0aW9uTWF0cml4OjpUcmFuc2Zvcm1hdGlvbk1hdHJpeChkb3VibGUgYSwgZG91Ymxl
IGIsIGRvdWJsZSBjLCBkb3VibGUgZCwgZG91YmxlIHR4LCBkb3VibGUgdHkpCi17Ci0gICAgY2Fp
cm9fbWF0cml4X2luaXQoJm1fdHJhbnNmb3JtLCBhLCBiLCBjLCBkLCB0eCwgdHkpOwotfQotCi1U
cmFuc2Zvcm1hdGlvbk1hdHJpeDo6VHJhbnNmb3JtYXRpb25NYXRyaXgoY29uc3QgUGxhdGZvcm1U
cmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4KQotewotICAgIG1fdHJhbnNmb3JtID0gbWF0cml4
OwotfQotCi12b2lkIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpzZXRNYXRyaXgoZG91YmxlIGEsIGRv
dWJsZSBiLCBkb3VibGUgYywgZG91YmxlIGQsIGRvdWJsZSB0eCwgZG91YmxlIHR5KQotewotICAg
IGNhaXJvX21hdHJpeF9pbml0KCZtX3RyYW5zZm9ybSwgYSwgYiwgYywgZCwgdHgsIHR5KTsKLX0K
LQotdm9pZCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6bWFwKGRvdWJsZSB4LCBkb3VibGUgeSwgZG91
YmxlKiB4MiwgZG91YmxlKiB5MikgY29uc3QKLXsKLSAgICAqeDIgPSB4OwotICAgICp5MiA9IHk7
Ci0gICAgY2Fpcm9fbWF0cml4X3RyYW5zZm9ybV9wb2ludCgmbV90cmFuc2Zvcm0sIHgyLCB5Mik7
Ci19Ci0KLUludFJlY3QgVHJhbnNmb3JtYXRpb25NYXRyaXg6Om1hcFJlY3QoY29uc3QgSW50UmVj
dCAmcmVjdCkgY29uc3QKLXsKLSAgICBGbG9hdFJlY3QgZmxvYXRSZWN0KHJlY3QpOwotICAgIEZs
b2F0UmVjdCBlbmNsb3NpbmdGbG9hdFJlY3QgPSB0aGlzLT5tYXBSZWN0KGZsb2F0UmVjdCk7Ci0K
LSAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChlbmNsb3NpbmdGbG9hdFJlY3QpOwotfQotCi1G
bG9hdFJlY3QgVHJhbnNmb3JtYXRpb25NYXRyaXg6Om1hcFJlY3QoY29uc3QgRmxvYXRSZWN0ICZy
ZWN0KSBjb25zdAotewotICAgIGRvdWJsZSByZWN0TWluWCA9IHJlY3QueCgpOwotICAgIGRvdWJs
ZSByZWN0TWF4WCA9IHJlY3QueCgpICsgcmVjdC53aWR0aCgpOwotICAgIGRvdWJsZSByZWN0TWlu
WSA9IHJlY3QueSgpOwotICAgIGRvdWJsZSByZWN0TWF4WSA9IHJlY3QueSgpICsgcmVjdC5oZWln
aHQoKTsKLQotICAgIGRvdWJsZSBweCA9IHJlY3RNaW5YOwotICAgIGRvdWJsZSBweSA9IHJlY3RN
aW5ZOwotICAgIGNhaXJvX21hdHJpeF90cmFuc2Zvcm1fcG9pbnQoJm1fdHJhbnNmb3JtLCAmcHgs
ICZweSk7Ci0KLSAgICBkb3VibGUgZW5jbG9zaW5nUmVjdE1pblggPSBweDsKLSAgICBkb3VibGUg
ZW5jbG9zaW5nUmVjdE1pblkgPSBweTsKLSAgICBkb3VibGUgZW5jbG9zaW5nUmVjdE1heFggPSBw
eDsKLSAgICBkb3VibGUgZW5jbG9zaW5nUmVjdE1heFkgPSBweTsKLQotICAgIHB4ID0gcmVjdE1h
eFg7Ci0gICAgcHkgPSByZWN0TWluWTsKLSAgICBjYWlyb19tYXRyaXhfdHJhbnNmb3JtX3BvaW50
KCZtX3RyYW5zZm9ybSwgJnB4LCAmcHkpOwotICAgIGlmIChweCA8IGVuY2xvc2luZ1JlY3RNaW5Y
KQotICAgICAgICBlbmNsb3NpbmdSZWN0TWluWCA9IHB4OwotICAgIGVsc2UgaWYgKHB4ID4gZW5j
bG9zaW5nUmVjdE1heFgpCi0gICAgICAgIGVuY2xvc2luZ1JlY3RNYXhYID0gcHg7Ci0gICAgaWYg
KHB5IDwgZW5jbG9zaW5nUmVjdE1pblkpCi0gICAgICAgIGVuY2xvc2luZ1JlY3RNaW5ZID0gcHk7
Ci0gICAgZWxzZSBpZiAocHkgPiBlbmNsb3NpbmdSZWN0TWF4WSkKLSAgICAgICAgZW5jbG9zaW5n
UmVjdE1heFkgPSBweTsKLQotICAgIHB4ID0gcmVjdE1heFg7Ci0gICAgcHkgPSByZWN0TWF4WTsK
LSAgICBjYWlyb19tYXRyaXhfdHJhbnNmb3JtX3BvaW50KCZtX3RyYW5zZm9ybSwgJnB4LCAmcHkp
OwotICAgIGlmIChweCA8IGVuY2xvc2luZ1JlY3RNaW5YKQotICAgICAgICBlbmNsb3NpbmdSZWN0
TWluWCA9IHB4OwotICAgIGVsc2UgaWYgKHB4ID4gZW5jbG9zaW5nUmVjdE1heFgpCi0gICAgICAg
IGVuY2xvc2luZ1JlY3RNYXhYID0gcHg7Ci0gICAgaWYgKHB5IDwgZW5jbG9zaW5nUmVjdE1pblkp
Ci0gICAgICAgIGVuY2xvc2luZ1JlY3RNaW5ZID0gcHk7Ci0gICAgZWxzZSBpZiAocHkgPiBlbmNs
b3NpbmdSZWN0TWF4WSkKLSAgICAgICAgZW5jbG9zaW5nUmVjdE1heFkgPSBweTsKLQotICAgIHB4
ID0gcmVjdE1pblg7Ci0gICAgcHkgPSByZWN0TWF4WTsKLSAgICBjYWlyb19tYXRyaXhfdHJhbnNm
b3JtX3BvaW50KCZtX3RyYW5zZm9ybSwgJnB4LCAmcHkpOwotICAgIGlmIChweCA8IGVuY2xvc2lu
Z1JlY3RNaW5YKQotICAgICAgICBlbmNsb3NpbmdSZWN0TWluWCA9IHB4OwotICAgIGVsc2UgaWYg
KHB4ID4gZW5jbG9zaW5nUmVjdE1heFgpCi0gICAgICAgIGVuY2xvc2luZ1JlY3RNYXhYID0gcHg7
Ci0gICAgaWYgKHB5IDwgZW5jbG9zaW5nUmVjdE1pblkpCi0gICAgICAgIGVuY2xvc2luZ1JlY3RN
aW5ZID0gcHk7Ci0gICAgZWxzZSBpZiAocHkgPiBlbmNsb3NpbmdSZWN0TWF4WSkKLSAgICAgICAg
ZW5jbG9zaW5nUmVjdE1heFkgPSBweTsKLQotCi0gICAgZG91YmxlIGVuY2xvc2luZ1JlY3RXaWR0
aCA9IGVuY2xvc2luZ1JlY3RNYXhYIC0gZW5jbG9zaW5nUmVjdE1pblg7Ci0gICAgZG91YmxlIGVu
Y2xvc2luZ1JlY3RIZWlnaHQgPSBlbmNsb3NpbmdSZWN0TWF4WSAtIGVuY2xvc2luZ1JlY3RNaW5Z
OwotCi0gICAgcmV0dXJuIEZsb2F0UmVjdChlbmNsb3NpbmdSZWN0TWluWCwgZW5jbG9zaW5nUmVj
dE1pblksIGVuY2xvc2luZ1JlY3RXaWR0aCwgZW5jbG9zaW5nUmVjdEhlaWdodCk7Ci19Ci0KLWJv
b2wgVHJhbnNmb3JtYXRpb25NYXRyaXg6OmlzSWRlbnRpdHkoKSBjb25zdAotewotICAgIHJldHVy
biAoKG1fdHJhbnNmb3JtLnh4ID09IDEpICYmIChtX3RyYW5zZm9ybS55eSA9PSAxKQotICAgICAg
ICAgJiYgKG1fdHJhbnNmb3JtLnh5ID09IDApICYmIChtX3RyYW5zZm9ybS55eCA9PSAwKQotICAg
ICAgICAgJiYgKG1fdHJhbnNmb3JtLngwID09IDApICYmIChtX3RyYW5zZm9ybS55MCA9PSAwKSk7
Ci19Ci0KLWRvdWJsZSBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6YSgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1fdHJhbnNmb3JtLnh4OwotfQotCi12b2lkIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpzZXRB
KGRvdWJsZSBhKQotewotICAgIG1fdHJhbnNmb3JtLnh4ID0gYTsKLX0KLQotZG91YmxlIFRyYW5z
Zm9ybWF0aW9uTWF0cml4OjpiKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV90cmFuc2Zvcm0ueXg7
Ci19Ci0KLXZvaWQgVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNldEIoZG91YmxlIGIpCi17Ci0gICAg
bV90cmFuc2Zvcm0ueXggPSBiOwotfQotCi1kb3VibGUgVHJhbnNmb3JtYXRpb25NYXRyaXg6OmMo
KSBjb25zdAotewotICAgIHJldHVybiBtX3RyYW5zZm9ybS54eTsKLX0KLQotdm9pZCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeDo6c2V0Qyhkb3VibGUgYykKLXsKLSAgICBtX3RyYW5zZm9ybS54eSA9IGM7
Ci19Ci0KLWRvdWJsZSBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6ZCgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1fdHJhbnNmb3JtLnl5OwotfQotCi12b2lkIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpzZXRE
KGRvdWJsZSBkKQotewotICAgIG1fdHJhbnNmb3JtLnl5ID0gZDsKLX0KLQotZG91YmxlIFRyYW5z
Zm9ybWF0aW9uTWF0cml4OjplKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV90cmFuc2Zvcm0ueDA7
Ci19Ci0KLXZvaWQgVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNldEUoZG91YmxlIGUpCi17Ci0gICAg
bV90cmFuc2Zvcm0ueDAgPSBlOwotfQotCi1kb3VibGUgVHJhbnNmb3JtYXRpb25NYXRyaXg6OmYo
KSBjb25zdAotewotICAgIHJldHVybiBtX3RyYW5zZm9ybS55MDsKLX0KLQotdm9pZCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeDo6c2V0Rihkb3VibGUgZikKLXsKLSAgICBtX3RyYW5zZm9ybS55MCA9IGY7
Ci19Ci0KLXZvaWQgVHJhbnNmb3JtYXRpb25NYXRyaXg6OnJlc2V0KCkKLXsKLSAgICBjYWlyb19t
YXRyaXhfaW5pdF9pZGVudGl0eSgmbV90cmFuc2Zvcm0pOwotfQotCi1UcmFuc2Zvcm1hdGlvbk1h
dHJpeCAmVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNjYWxlKGRvdWJsZSBzeCwgZG91YmxlIHN5KQot
ewotICAgIGNhaXJvX21hdHJpeF9zY2FsZSgmbV90cmFuc2Zvcm0sIHN4LCBzeSk7Ci0gICAgcmV0
dXJuICp0aGlzOwotfQotCi1UcmFuc2Zvcm1hdGlvbk1hdHJpeCAmVHJhbnNmb3JtYXRpb25NYXRy
aXg6OnJvdGF0ZShkb3VibGUgZCkKLXsKLSAgICBjYWlyb19tYXRyaXhfcm90YXRlKCZtX3RyYW5z
Zm9ybSwgZCAqIGRlZzJyYWQpOwotICAgIHJldHVybiAqdGhpczsKLX0KLQotVHJhbnNmb3JtYXRp
b25NYXRyaXggJlRyYW5zZm9ybWF0aW9uTWF0cml4Ojp0cmFuc2xhdGUoZG91YmxlIHR4LCBkb3Vi
bGUgdHkpCi17Ci0gICAgY2Fpcm9fbWF0cml4X3RyYW5zbGF0ZSgmbV90cmFuc2Zvcm0sIHR4LCB0
eSk7Ci0gICAgcmV0dXJuICp0aGlzOwotfQotCi1UcmFuc2Zvcm1hdGlvbk1hdHJpeCAmVHJhbnNm
b3JtYXRpb25NYXRyaXg6OnNoZWFyKGRvdWJsZSBzeCwgZG91YmxlIHN5KQotewotICAgIGNhaXJv
X21hdHJpeF90IHNoZWFyOwotICAgIGNhaXJvX21hdHJpeF9pbml0KCZzaGVhciwgMSwgc3ksIHN4
LCAxLCAwLCAwKTsKLQotICAgIGNhaXJvX21hdHJpeF90IHJlc3VsdDsKLSAgICBjYWlyb19tYXRy
aXhfbXVsdGlwbHkoJnJlc3VsdCwgJnNoZWFyLCAmbV90cmFuc2Zvcm0pOwotICAgIG1fdHJhbnNm
b3JtID0gcmVzdWx0OwotCi0gICAgcmV0dXJuICp0aGlzOwotfQotCi1kb3VibGUgVHJhbnNmb3Jt
YXRpb25NYXRyaXg6OmRldCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fdHJhbnNmb3JtLnh4ICog
bV90cmFuc2Zvcm0ueXkgLSBtX3RyYW5zZm9ybS54eSAqIG1fdHJhbnNmb3JtLnl4OwotfQotCi1U
cmFuc2Zvcm1hdGlvbk1hdHJpeCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6aW52ZXJzZSgpIGNvbnN0
Ci17Ci0gICAgaWYgKCFpc0ludmVydGlibGUoKSkgcmV0dXJuIFRyYW5zZm9ybWF0aW9uTWF0cml4
KCk7Ci0KLSAgICBjYWlyb19tYXRyaXhfdCByZXN1bHQgPSBtX3RyYW5zZm9ybTsKLSAgICBjYWly
b19tYXRyaXhfaW52ZXJ0KCZyZXN1bHQpOwotICAgIHJldHVybiBUcmFuc2Zvcm1hdGlvbk1hdHJp
eChyZXN1bHQpOwotfQotCiBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6b3BlcmF0b3IgY2Fpcm9fbWF0
cml4X3QoKSBjb25zdAogewotICAgIHJldHVybiBtX3RyYW5zZm9ybTsKLX0KKyAgICBjYWlyb19t
YXRyaXhfdCBtOwogCi1ib29sIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpvcGVyYXRvcj09IChjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCAmbTIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICgobV90cmFu
c2Zvcm0ueHggPT0gbTIubV90cmFuc2Zvcm0ueHgpCi0gICAgICAgICAmJiAobV90cmFuc2Zvcm0u
eXkgPT0gbTIubV90cmFuc2Zvcm0ueXkpCi0gICAgICAgICAmJiAobV90cmFuc2Zvcm0ueHkgPT0g
bTIubV90cmFuc2Zvcm0ueHkpCi0gICAgICAgICAmJiAobV90cmFuc2Zvcm0ueXggPT0gbTIubV90
cmFuc2Zvcm0ueXgpCi0gICAgICAgICAmJiAobV90cmFuc2Zvcm0ueDAgPT0gbTIubV90cmFuc2Zv
cm0ueDApCi0gICAgICAgICAmJiAobV90cmFuc2Zvcm0ueTAgPT0gbTIubV90cmFuc2Zvcm0ueTAp
KTsKLQotfQotCi1UcmFuc2Zvcm1hdGlvbk1hdHJpeCAmVHJhbnNmb3JtYXRpb25NYXRyaXg6Om9w
ZXJhdG9yKj0gKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4ICZtMikKLXsKLSAgICBjYWlyb19t
YXRyaXhfdCByZXN1bHQ7Ci0gICAgY2Fpcm9fbWF0cml4X211bHRpcGx5KCZyZXN1bHQsICZtX3Ry
YW5zZm9ybSwgJm0yLm1fdHJhbnNmb3JtKTsKLSAgICBtX3RyYW5zZm9ybSA9IHJlc3VsdDsKLQot
ICAgIHJldHVybiAqdGhpczsKLX0KLQotVHJhbnNmb3JtYXRpb25NYXRyaXggVHJhbnNmb3JtYXRp
b25NYXRyaXg6Om9wZXJhdG9yKiAoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXggJm0yKQotewot
ICAgIGNhaXJvX21hdHJpeF90IHJlc3VsdDsKLSAgICBjYWlyb19tYXRyaXhfbXVsdGlwbHkoJnJl
c3VsdCwgJm1fdHJhbnNmb3JtLCAmbTIubV90cmFuc2Zvcm0pOwotICAgIHJldHVybiByZXN1bHQ7
CisgICAgY2Fpcm9fbWF0cml4X2luaXQgKCZtLAorICAgICAgICAgICAgICAgICAgICAgICBhKCks
CisgICAgICAgICAgICAgICAgICAgICAgIGIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgYygp
LAorICAgICAgICAgICAgICAgICAgICAgICBkKCksCisgICAgICAgICAgICAgICAgICAgICAgIGUo
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgZigpKTsKKyAgICByZXR1cm4gbTsKIH0KIAogfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9y
bWF0aW9uTWF0cml4LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJh
bnNmb3JtYXRpb25NYXRyaXguaAppbmRleCBmOTM2M2VjLi5iODE1YWM0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXgu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRp
b25NYXRyaXguaApAQCAtMjgsNiArMjgsOCBAQAogCiAjaWYgUExBVEZPUk0oQ0cpCiAjaW5jbHVk
ZSA8Q29yZUdyYXBoaWNzL0NHQWZmaW5lVHJhbnNmb3JtLmg+CisjZWxpZiBQTEFURk9STShDQUlS
TykKKyNpbmNsdWRlIDxjYWlyby5oPgogI2VuZGlmCiAKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy9m
b3IgbWVtY3B5CkBAIC0yNzMsNiArMjc1LDggQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oQ0cp
CiAgICAgb3BlcmF0b3IgQ0dBZmZpbmVUcmFuc2Zvcm0oKSBjb25zdDsKKyNlbGlmIFBMQVRGT1JN
KENBSVJPKQorICAgIG9wZXJhdG9yIGNhaXJvX21hdHJpeF90KCkgY29uc3Q7CiAjZW5kaWYKIAog
cHJpdmF0ZToKLS0gCjEuNS42LjUKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27468</attachid>
            <date>2009-02-08 11:24:49 -0800</date>
            <delta_ts>2009-02-08 11:30:37 -0800</delta_ts>
            <desc>working proposed fix</desc>
            <filename>0001--CAIRO-build-broken-by-TransformationMatrix-rework.patch</filename>
            <type>text/plain</type>
            <size>9990</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSBiNDg5OTAyODNkYTUyMzg4NzExZTQyOTZjMWMxZjk3YWExMjRhNjdkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGtvdkBrb3YuZXRpLmJy
PgpEYXRlOiBTdW4sIDggRmViIDIwMDkgMTM6NDE6NDggLTAyMDAKU3ViamVjdDogW1BBVENIXSBb
Q0FJUk9dIGJ1aWxkIGJyb2tlbiBieSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCByZXdvcmsKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgzMQoKRml4ZWQgY2Fpcm8gYnVp
bGQgYWZ0ZXIgdGhlIFRyYW5zZm9ybWF0aW9uTWF0cml4IHJld29yayBkb25lIGluCnJldmlzaW9u
IDQwNzYxLgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAxNyArKwogLi4uL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJv
LmNwcCAgICAgICAgfCAgICA2ICstCiAuLi4vZ3JhcGhpY3MvY2Fpcm8vVHJhbnNmb3JtYXRpb25N
YXRyaXhDYWlyby5jcHAgICB8ICAyNDggKy0tLS0tLS0tLS0tLS0tLS0tLS0KIC4uLi9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmggICAgIHwgICAgNCArCiA0IGZpbGVz
IGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDI0MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDIxYWQ3YjEuLjg0
MDBjZTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMDItMDggIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAg
PGduc0Bnbm9tZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgW0NBSVJPXSBidWlsZCBicm9rZW4gYnkgVHJhbnNmb3JtYXRpb25NYXRyaXggcmV3
b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgz
MQorCisgICAgICAgIEZpeGVkIGNhaXJvIGJ1aWxkIGFmdGVyIHRoZSBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCByZXdvcmsgZG9uZSBpbgorICAgICAgICByZXZpc2lvbiA0MDc2MS4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6Z2V0Q1RNKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDo6Y29uY2F0Q1RNKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9UcmFuc2Zvcm1hdGlvbk1hdHJpeENhaXJvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRyYW5zZm9ybWF0aW9uTWF0cml4OjpvcGVyYXRvciBjYWlyb19tYXRyaXhfdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oOgor
CiAyMDA5LTAyLTA3ICBSb2IgQnVpcyAgPHJ3bGJ1aXNAZ21haWwuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAppbmRleCAyNzIwZGJkLi4zNWViZDNjIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4
dENhaXJvLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNz
Q29udGV4dENhaXJvLmNwcApAQCAtMTA2LDcgKzEwNiw3IEBAIFRyYW5zZm9ybWF0aW9uTWF0cml4
IEdyYXBoaWNzQ29udGV4dDo6Z2V0Q1RNKCkgY29uc3QKICAgICBjYWlyb190KiBjciA9IHBsYXRm
b3JtQ29udGV4dCgpOwogICAgIGNhaXJvX21hdHJpeF90IG07CiAgICAgY2Fpcm9fZ2V0X21hdHJp
eChjciwgJm0pOwotICAgIHJldHVybiBtOworICAgIHJldHVybiBUcmFuc2Zvcm1hdGlvbk1hdHJp
eChtLnh4LCBtLnl4LCBtLnh5LCBtLnl5LCBtLngwLCBtLnkwKTsKIH0KIAogY2Fpcm9fdCogR3Jh
cGhpY3NDb250ZXh0OjpwbGF0Zm9ybUNvbnRleHQoKSBjb25zdApAQCAtNzMyLDggKzczMiw4IEBA
IHZvaWQgR3JhcGhpY3NDb250ZXh0Ojpjb25jYXRDVE0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRy
aXgmIHRyYW5zZm9ybSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgY2Fpcm9fdCogY3IgPSBtX2Rh
dGEtPmNyOwotICAgIGNvbnN0IGNhaXJvX21hdHJpeF90KiBtYXRyaXggPSByZWludGVycHJldF9j
YXN0PGNvbnN0IGNhaXJvX21hdHJpeF90Kj4oJnRyYW5zZm9ybSk7Ci0gICAgY2Fpcm9fdHJhbnNm
b3JtKGNyLCBtYXRyaXgpOworICAgIGNvbnN0IGNhaXJvX21hdHJpeF90IG1hdHJpeCA9IGNhaXJv
X21hdHJpeF90KHRyYW5zZm9ybSk7CisgICAgY2Fpcm9fdHJhbnNmb3JtKGNyLCAmbWF0cml4KTsK
ICAgICBtX2RhdGEtPmNvbmNhdENUTSh0cmFuc2Zvcm0pOwogfQogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1RyYW5zZm9ybWF0aW9uTWF0cml4Q2Fpcm8uY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9UcmFuc2Zvcm1hdGlvbk1hdHJpeENh
aXJvLmNwcAppbmRleCBiNzg2MjBmLi4xYjgzYTI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL1RyYW5zZm9ybWF0aW9uTWF0cml4Q2Fpcm8uY3BwCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vVHJhbnNmb3JtYXRpb25NYXRyaXhDYWlyby5j
cHAKQEAgLTMyLDI0OCArMzIsMTggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMg
Y29uc3QgZG91YmxlIGRlZzJyYWQgPSAwLjAxNzQ1MzI5MjUxOTk0MzI5NTc2OTsgLy8gcGkvMTgw
Ci0KLVRyYW5zZm9ybWF0aW9uTWF0cml4OjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpCi17Ci0gICAg
Y2Fpcm9fbWF0cml4X2luaXRfaWRlbnRpdHkoJm1fdHJhbnNmb3JtKTsKLX0KLQotVHJhbnNmb3Jt
YXRpb25NYXRyaXg6OlRyYW5zZm9ybWF0aW9uTWF0cml4KGRvdWJsZSBhLCBkb3VibGUgYiwgZG91
YmxlIGMsIGRvdWJsZSBkLCBkb3VibGUgdHgsIGRvdWJsZSB0eSkKLXsKLSAgICBjYWlyb19tYXRy
aXhfaW5pdCgmbV90cmFuc2Zvcm0sIGEsIGIsIGMsIGQsIHR4LCB0eSk7Ci19Ci0KLVRyYW5zZm9y
bWF0aW9uTWF0cml4OjpUcmFuc2Zvcm1hdGlvbk1hdHJpeChjb25zdCBQbGF0Zm9ybVRyYW5zZm9y
bWF0aW9uTWF0cml4JiBtYXRyaXgpCi17Ci0gICAgbV90cmFuc2Zvcm0gPSBtYXRyaXg7Ci19Ci0K
LXZvaWQgVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNldE1hdHJpeChkb3VibGUgYSwgZG91YmxlIGIs
IGRvdWJsZSBjLCBkb3VibGUgZCwgZG91YmxlIHR4LCBkb3VibGUgdHkpCi17Ci0gICAgY2Fpcm9f
bWF0cml4X2luaXQoJm1fdHJhbnNmb3JtLCBhLCBiLCBjLCBkLCB0eCwgdHkpOwotfQotCi12b2lk
IFRyYW5zZm9ybWF0aW9uTWF0cml4OjptYXAoZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUqIHgy
LCBkb3VibGUqIHkyKSBjb25zdAotewotICAgICp4MiA9IHg7Ci0gICAgKnkyID0geTsKLSAgICBj
YWlyb19tYXRyaXhfdHJhbnNmb3JtX3BvaW50KCZtX3RyYW5zZm9ybSwgeDIsIHkyKTsKLX0KLQot
SW50UmVjdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6bWFwUmVjdChjb25zdCBJbnRSZWN0ICZyZWN0
KSBjb25zdAotewotICAgIEZsb2F0UmVjdCBmbG9hdFJlY3QocmVjdCk7Ci0gICAgRmxvYXRSZWN0
IGVuY2xvc2luZ0Zsb2F0UmVjdCA9IHRoaXMtPm1hcFJlY3QoZmxvYXRSZWN0KTsKLQotICAgIHJl
dHVybiBlbmNsb3NpbmdJbnRSZWN0KGVuY2xvc2luZ0Zsb2F0UmVjdCk7Ci19Ci0KLUZsb2F0UmVj
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6bWFwUmVjdChjb25zdCBGbG9hdFJlY3QgJnJlY3QpIGNv
bnN0Ci17Ci0gICAgZG91YmxlIHJlY3RNaW5YID0gcmVjdC54KCk7Ci0gICAgZG91YmxlIHJlY3RN
YXhYID0gcmVjdC54KCkgKyByZWN0LndpZHRoKCk7Ci0gICAgZG91YmxlIHJlY3RNaW5ZID0gcmVj
dC55KCk7Ci0gICAgZG91YmxlIHJlY3RNYXhZID0gcmVjdC55KCkgKyByZWN0LmhlaWdodCgpOwot
Ci0gICAgZG91YmxlIHB4ID0gcmVjdE1pblg7Ci0gICAgZG91YmxlIHB5ID0gcmVjdE1pblk7Ci0g
ICAgY2Fpcm9fbWF0cml4X3RyYW5zZm9ybV9wb2ludCgmbV90cmFuc2Zvcm0sICZweCwgJnB5KTsK
LQotICAgIGRvdWJsZSBlbmNsb3NpbmdSZWN0TWluWCA9IHB4OwotICAgIGRvdWJsZSBlbmNsb3Np
bmdSZWN0TWluWSA9IHB5OwotICAgIGRvdWJsZSBlbmNsb3NpbmdSZWN0TWF4WCA9IHB4OwotICAg
IGRvdWJsZSBlbmNsb3NpbmdSZWN0TWF4WSA9IHB5OwotCi0gICAgcHggPSByZWN0TWF4WDsKLSAg
ICBweSA9IHJlY3RNaW5ZOwotICAgIGNhaXJvX21hdHJpeF90cmFuc2Zvcm1fcG9pbnQoJm1fdHJh
bnNmb3JtLCAmcHgsICZweSk7Ci0gICAgaWYgKHB4IDwgZW5jbG9zaW5nUmVjdE1pblgpCi0gICAg
ICAgIGVuY2xvc2luZ1JlY3RNaW5YID0gcHg7Ci0gICAgZWxzZSBpZiAocHggPiBlbmNsb3NpbmdS
ZWN0TWF4WCkKLSAgICAgICAgZW5jbG9zaW5nUmVjdE1heFggPSBweDsKLSAgICBpZiAocHkgPCBl
bmNsb3NpbmdSZWN0TWluWSkKLSAgICAgICAgZW5jbG9zaW5nUmVjdE1pblkgPSBweTsKLSAgICBl
bHNlIGlmIChweSA+IGVuY2xvc2luZ1JlY3RNYXhZKQotICAgICAgICBlbmNsb3NpbmdSZWN0TWF4
WSA9IHB5OwotCi0gICAgcHggPSByZWN0TWF4WDsKLSAgICBweSA9IHJlY3RNYXhZOwotICAgIGNh
aXJvX21hdHJpeF90cmFuc2Zvcm1fcG9pbnQoJm1fdHJhbnNmb3JtLCAmcHgsICZweSk7Ci0gICAg
aWYgKHB4IDwgZW5jbG9zaW5nUmVjdE1pblgpCi0gICAgICAgIGVuY2xvc2luZ1JlY3RNaW5YID0g
cHg7Ci0gICAgZWxzZSBpZiAocHggPiBlbmNsb3NpbmdSZWN0TWF4WCkKLSAgICAgICAgZW5jbG9z
aW5nUmVjdE1heFggPSBweDsKLSAgICBpZiAocHkgPCBlbmNsb3NpbmdSZWN0TWluWSkKLSAgICAg
ICAgZW5jbG9zaW5nUmVjdE1pblkgPSBweTsKLSAgICBlbHNlIGlmIChweSA+IGVuY2xvc2luZ1Jl
Y3RNYXhZKQotICAgICAgICBlbmNsb3NpbmdSZWN0TWF4WSA9IHB5OwotCi0gICAgcHggPSByZWN0
TWluWDsKLSAgICBweSA9IHJlY3RNYXhZOwotICAgIGNhaXJvX21hdHJpeF90cmFuc2Zvcm1fcG9p
bnQoJm1fdHJhbnNmb3JtLCAmcHgsICZweSk7Ci0gICAgaWYgKHB4IDwgZW5jbG9zaW5nUmVjdE1p
blgpCi0gICAgICAgIGVuY2xvc2luZ1JlY3RNaW5YID0gcHg7Ci0gICAgZWxzZSBpZiAocHggPiBl
bmNsb3NpbmdSZWN0TWF4WCkKLSAgICAgICAgZW5jbG9zaW5nUmVjdE1heFggPSBweDsKLSAgICBp
ZiAocHkgPCBlbmNsb3NpbmdSZWN0TWluWSkKLSAgICAgICAgZW5jbG9zaW5nUmVjdE1pblkgPSBw
eTsKLSAgICBlbHNlIGlmIChweSA+IGVuY2xvc2luZ1JlY3RNYXhZKQotICAgICAgICBlbmNsb3Np
bmdSZWN0TWF4WSA9IHB5OwotCi0KLSAgICBkb3VibGUgZW5jbG9zaW5nUmVjdFdpZHRoID0gZW5j
bG9zaW5nUmVjdE1heFggLSBlbmNsb3NpbmdSZWN0TWluWDsKLSAgICBkb3VibGUgZW5jbG9zaW5n
UmVjdEhlaWdodCA9IGVuY2xvc2luZ1JlY3RNYXhZIC0gZW5jbG9zaW5nUmVjdE1pblk7Ci0KLSAg
ICByZXR1cm4gRmxvYXRSZWN0KGVuY2xvc2luZ1JlY3RNaW5YLCBlbmNsb3NpbmdSZWN0TWluWSwg
ZW5jbG9zaW5nUmVjdFdpZHRoLCBlbmNsb3NpbmdSZWN0SGVpZ2h0KTsKLX0KLQotYm9vbCBUcmFu
c2Zvcm1hdGlvbk1hdHJpeDo6aXNJZGVudGl0eSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICgobV90
cmFuc2Zvcm0ueHggPT0gMSkgJiYgKG1fdHJhbnNmb3JtLnl5ID09IDEpCi0gICAgICAgICAmJiAo
bV90cmFuc2Zvcm0ueHkgPT0gMCkgJiYgKG1fdHJhbnNmb3JtLnl4ID09IDApCi0gICAgICAgICAm
JiAobV90cmFuc2Zvcm0ueDAgPT0gMCkgJiYgKG1fdHJhbnNmb3JtLnkwID09IDApKTsKLX0KLQot
ZG91YmxlIFRyYW5zZm9ybWF0aW9uTWF0cml4OjphKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV90
cmFuc2Zvcm0ueHg7Ci19Ci0KLXZvaWQgVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNldEEoZG91Ymxl
IGEpCi17Ci0gICAgbV90cmFuc2Zvcm0ueHggPSBhOwotfQotCi1kb3VibGUgVHJhbnNmb3JtYXRp
b25NYXRyaXg6OmIoKSBjb25zdAotewotICAgIHJldHVybiBtX3RyYW5zZm9ybS55eDsKLX0KLQot
dm9pZCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6c2V0Qihkb3VibGUgYikKLXsKLSAgICBtX3RyYW5z
Zm9ybS55eCA9IGI7Ci19Ci0KLWRvdWJsZSBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6YygpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG1fdHJhbnNmb3JtLnh5OwotfQotCi12b2lkIFRyYW5zZm9ybWF0aW9u
TWF0cml4OjpzZXRDKGRvdWJsZSBjKQotewotICAgIG1fdHJhbnNmb3JtLnh5ID0gYzsKLX0KLQot
ZG91YmxlIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV90
cmFuc2Zvcm0ueXk7Ci19Ci0KLXZvaWQgVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNldEQoZG91Ymxl
IGQpCi17Ci0gICAgbV90cmFuc2Zvcm0ueXkgPSBkOwotfQotCi1kb3VibGUgVHJhbnNmb3JtYXRp
b25NYXRyaXg6OmUoKSBjb25zdAotewotICAgIHJldHVybiBtX3RyYW5zZm9ybS54MDsKLX0KLQot
dm9pZCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6c2V0RShkb3VibGUgZSkKLXsKLSAgICBtX3RyYW5z
Zm9ybS54MCA9IGU7Ci19Ci0KLWRvdWJsZSBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6ZigpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG1fdHJhbnNmb3JtLnkwOwotfQotCi12b2lkIFRyYW5zZm9ybWF0aW9u
TWF0cml4OjpzZXRGKGRvdWJsZSBmKQotewotICAgIG1fdHJhbnNmb3JtLnkwID0gZjsKLX0KLQot
dm9pZCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6cmVzZXQoKQotewotICAgIGNhaXJvX21hdHJpeF9p
bml0X2lkZW50aXR5KCZtX3RyYW5zZm9ybSk7Ci19Ci0KLVRyYW5zZm9ybWF0aW9uTWF0cml4ICZU
cmFuc2Zvcm1hdGlvbk1hdHJpeDo6c2NhbGUoZG91YmxlIHN4LCBkb3VibGUgc3kpCi17Ci0gICAg
Y2Fpcm9fbWF0cml4X3NjYWxlKCZtX3RyYW5zZm9ybSwgc3gsIHN5KTsKLSAgICByZXR1cm4gKnRo
aXM7Ci19Ci0KLVRyYW5zZm9ybWF0aW9uTWF0cml4ICZUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6cm90
YXRlKGRvdWJsZSBkKQotewotICAgIGNhaXJvX21hdHJpeF9yb3RhdGUoJm1fdHJhbnNmb3JtLCBk
ICogZGVnMnJhZCk7Ci0gICAgcmV0dXJuICp0aGlzOwotfQotCi1UcmFuc2Zvcm1hdGlvbk1hdHJp
eCAmVHJhbnNmb3JtYXRpb25NYXRyaXg6OnRyYW5zbGF0ZShkb3VibGUgdHgsIGRvdWJsZSB0eSkK
LXsKLSAgICBjYWlyb19tYXRyaXhfdHJhbnNsYXRlKCZtX3RyYW5zZm9ybSwgdHgsIHR5KTsKLSAg
ICByZXR1cm4gKnRoaXM7Ci19Ci0KLVRyYW5zZm9ybWF0aW9uTWF0cml4ICZUcmFuc2Zvcm1hdGlv
bk1hdHJpeDo6c2hlYXIoZG91YmxlIHN4LCBkb3VibGUgc3kpCi17Ci0gICAgY2Fpcm9fbWF0cml4
X3Qgc2hlYXI7Ci0gICAgY2Fpcm9fbWF0cml4X2luaXQoJnNoZWFyLCAxLCBzeSwgc3gsIDEsIDAs
IDApOwotCi0gICAgY2Fpcm9fbWF0cml4X3QgcmVzdWx0OwotICAgIGNhaXJvX21hdHJpeF9tdWx0
aXBseSgmcmVzdWx0LCAmc2hlYXIsICZtX3RyYW5zZm9ybSk7Ci0gICAgbV90cmFuc2Zvcm0gPSBy
ZXN1bHQ7Ci0KLSAgICByZXR1cm4gKnRoaXM7Ci19Ci0KLWRvdWJsZSBUcmFuc2Zvcm1hdGlvbk1h
dHJpeDo6ZGV0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV90cmFuc2Zvcm0ueHggKiBtX3RyYW5z
Zm9ybS55eSAtIG1fdHJhbnNmb3JtLnh5ICogbV90cmFuc2Zvcm0ueXg7Ci19Ci0KLVRyYW5zZm9y
bWF0aW9uTWF0cml4IFRyYW5zZm9ybWF0aW9uTWF0cml4OjppbnZlcnNlKCkgY29uc3QKLXsKLSAg
ICBpZiAoIWlzSW52ZXJ0aWJsZSgpKSByZXR1cm4gVHJhbnNmb3JtYXRpb25NYXRyaXgoKTsKLQot
ICAgIGNhaXJvX21hdHJpeF90IHJlc3VsdCA9IG1fdHJhbnNmb3JtOwotICAgIGNhaXJvX21hdHJp
eF9pbnZlcnQoJnJlc3VsdCk7Ci0gICAgcmV0dXJuIFRyYW5zZm9ybWF0aW9uTWF0cml4KHJlc3Vs
dCk7Ci19Ci0KIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpvcGVyYXRvciBjYWlyb19tYXRyaXhfdCgp
IGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fdHJhbnNmb3JtOwotfQorICAgIGNhaXJvX21hdHJpeF90
IG07CiAKLWJvb2wgVHJhbnNmb3JtYXRpb25NYXRyaXg6Om9wZXJhdG9yPT0gKGNvbnN0IFRyYW5z
Zm9ybWF0aW9uTWF0cml4ICZtMikgY29uc3QKLXsKLSAgICByZXR1cm4gKChtX3RyYW5zZm9ybS54
eCA9PSBtMi5tX3RyYW5zZm9ybS54eCkKLSAgICAgICAgICYmIChtX3RyYW5zZm9ybS55eSA9PSBt
Mi5tX3RyYW5zZm9ybS55eSkKLSAgICAgICAgICYmIChtX3RyYW5zZm9ybS54eSA9PSBtMi5tX3Ry
YW5zZm9ybS54eSkKLSAgICAgICAgICYmIChtX3RyYW5zZm9ybS55eCA9PSBtMi5tX3RyYW5zZm9y
bS55eCkKLSAgICAgICAgICYmIChtX3RyYW5zZm9ybS54MCA9PSBtMi5tX3RyYW5zZm9ybS54MCkK
LSAgICAgICAgICYmIChtX3RyYW5zZm9ybS55MCA9PSBtMi5tX3RyYW5zZm9ybS55MCkpOwotCi19
Ci0KLVRyYW5zZm9ybWF0aW9uTWF0cml4ICZUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6b3BlcmF0b3Iq
PSAoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXggJm0yKQotewotICAgIGNhaXJvX21hdHJpeF90
IHJlc3VsdDsKLSAgICBjYWlyb19tYXRyaXhfbXVsdGlwbHkoJnJlc3VsdCwgJm1fdHJhbnNmb3Jt
LCAmbTIubV90cmFuc2Zvcm0pOwotICAgIG1fdHJhbnNmb3JtID0gcmVzdWx0OwotCi0gICAgcmV0
dXJuICp0aGlzOwotfQotCi1UcmFuc2Zvcm1hdGlvbk1hdHJpeCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eDo6b3BlcmF0b3IqIChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCAmbTIpCi17Ci0gICAgY2Fp
cm9fbWF0cml4X3QgcmVzdWx0OwotICAgIGNhaXJvX21hdHJpeF9tdWx0aXBseSgmcmVzdWx0LCAm
bV90cmFuc2Zvcm0sICZtMi5tX3RyYW5zZm9ybSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKyAgICBj
YWlyb19tYXRyaXhfaW5pdCAoJm0sCisgICAgICAgICAgICAgICAgICAgICAgIGEoKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgYigpLAorICAgICAgICAgICAgICAgICAgICAgICBjKCksCisgICAg
ICAgICAgICAgICAgICAgICAgIGQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgZSgpLAorICAg
ICAgICAgICAgICAgICAgICAgICBmKCkpOworICAgIHJldHVybiBtOwogfQogCiB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25N
YXRyaXguaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1h
dGlvbk1hdHJpeC5oCmluZGV4IGY5MzYzZWMuLmI4MTVhYzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJp
eC5oCkBAIC0yOCw2ICsyOCw4IEBACiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3Jl
R3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KKyNlbGlmIFBMQVRGT1JNKENBSVJPKQorI2lu
Y2x1ZGUgPGNhaXJvLmg+CiAjZW5kaWYKIAogI2luY2x1ZGUgPHN0cmluZy5oPiAvL2ZvciBtZW1j
cHkKQEAgLTI3Myw2ICsyNzUsOCBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShDRykKICAgICBv
cGVyYXRvciBDR0FmZmluZVRyYW5zZm9ybSgpIGNvbnN0OworI2VsaWYgUExBVEZPUk0oQ0FJUk8p
CisgICAgb3BlcmF0b3IgY2Fpcm9fbWF0cml4X3QoKSBjb25zdDsKICNlbmRpZgogCiBwcml2YXRl
OgotLSAKMS41LjYuNQoK
</data>
<flag name="review"
          id="13287"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>