From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/87185 Path: news.gmane.org!not-for-mail From: "Mikael P. Sundqvist" Newsgroups: gmane.comp.tex.context Subject: Re: resize and center and clip image Date: Thu, 1 May 2014 17:07:34 +0200 Message-ID: References: <7BE13927-B54E-4FC6-8C9E-2669D51CC6F2@gmail.com> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Trace: ger.gmane.org 1398956879 20924 80.91.229.3 (1 May 2014 15:07:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 1 May 2014 15:07:59 +0000 (UTC) To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Thu May 01 17:07:55 2014 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from balder.ntg.nl ([5.39.185.229]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WfsaY-0004oZ-Ml for gctc-ntg-context-518@m.gmane.org; Thu, 01 May 2014 17:07:54 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 5511410274 for ; Thu, 1 May 2014 17:07:54 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id AcxpY4iU0klr for ; Thu, 1 May 2014 17:07:54 +0200 (CEST) Original-Received: from balder.ntg.nl (localhost [IPv6:::1]) by balder.ntg.nl (Postfix) with ESMTP id 94A4010262 for ; Thu, 1 May 2014 17:07:50 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 52AD0101E9 for ; Thu, 1 May 2014 17:07:46 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id jzvKLGuE8lEr for ; Thu, 1 May 2014 17:07:44 +0200 (CEST) Original-Received: from filter3-ams.mf.surf.net (filter3-ams.mf.surf.net [192.87.102.71]) by balder.ntg.nl (Postfix) with ESMTP id E4F60101E1 for ; Thu, 1 May 2014 17:07:35 +0200 (CEST) Original-Received: from mail-wi0-x233.google.com (mail-wi0-x233.google.com [IPv6:2a00:1450:400c:c05::233]) by filter3-ams.mf.surf.net (8.14.3/8.14.3/Debian-9.4) with ESMTP id s41F7Y1j022434 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for ; Thu, 1 May 2014 17:07:34 +0200 Original-Received: by mail-wi0-f179.google.com with SMTP id bs8so868170wib.0 for ; Thu, 01 May 2014 08:07:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=DXYvGXhJ2h9DTG3u7ny2d/YHiKn7y8G9eUys3F8ufYs=; b=lni8UdjESYg5WdksMhdmxIu4Yp8gDQuSyr+OMoLWf6tdxyD9itESCe4CgG81ngwmpH yW/isFB20C/FhAeD4QirP7mShvf9zL5fmcVcU/0iT++yLBzZysducFuLPPKSzEYhNj/u wGxrHMVrhA6jxSalIwTCta1MziDHf1VEyNWZOH2+qzb4fBlR4cFB4nMAk73kjfXaJtJU R1IufiUa330tXx3cX5bH4qTf8C1OyMouTSGiPYF/aADr7VnGsGXniNQhE+leY8KHrpoK Jq2Z3/OxWSqGB7LIy34s13FOa4gDjTmwRWYiL/ggNkPLbwbbxlO8lzCRiVICvf08jYed DH0g== X-Received: by 10.194.58.79 with SMTP id o15mr1458262wjq.62.1398956854302; Thu, 01 May 2014 08:07:34 -0700 (PDT) Original-Received: by 10.180.93.72 with HTTP; Thu, 1 May 2014 08:07:34 -0700 (PDT) In-Reply-To: <7BE13927-B54E-4FC6-8C9E-2669D51CC6F2@gmail.com> X-Bayes-Prob: 0.0001 (Score 0, tokens from: ntg-context@ntg.nl, base:default, @@RPTN) X-CanIt-Geo: ip=2a00:1450:400c:c05::233; country=IE X-CanItPRO-Stream: uu:ntg-context@ntg.nl (inherits from uu:default, base:default) X-Canit-Stats-ID: 03LUD7yCg - 40e02809cfab - 20140501 (trained as not-spam) X-Scanned-By: CanIt (www . roaringpenguin . com) X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.14 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ntg-context-bounces@ntg.nl Original-Sender: ntg-context-bounces@ntg.nl Xref: news.gmane.org gmane.comp.tex.context:87185 Archived-At: SW50ZXJlc3RpbmcsCgpJIHVzZSBDb25UZVh0ICB2ZXI6IDIwMTQuMDQuMjggMjM6MjQgTUtJViBi ZXRhICBmbXQ6IDIwMTQuNC4yOSAgaW50OgplbmdsaXNoL2VuZ2xpc2gKCmFuZCBpdCB3b3Jrcy4g SSBub3cgZGVmaW5lZCB0aGlzIHdpdGggYXJndW1lbnQ6Cgpcc3RhcnRsdWFjb2RlCnVzZXJkYXRh ID0gdXNlcmRhdGEgb3Ige30KZnVuY3Rpb24gdXNlcmRhdGEubHVuZGtsaXBwZnlsbGJpbGQoc3Ry LCBicmVkZCwgaG9qZCkKaWYgdGV4LmRpbWVuWzBdIC8gdGV4LmRpbWVuWzJdIDwgdGV4LmRpbWVu WzRdIC8gdGV4LmRpbWVuWzZdIHRoZW4KICAgICAgbG9jYWwgc2thbG5pbmcgPQotMC41Kih0ZXgu ZGltZW5bNF0vdGV4LmRpbWVuWzBdKnRleC5kaW1lblsyXS10ZXguZGltZW5bNl0pCiAgICAgIGNv bnRleHQoIlxcdnNraXAlc3NwIiwgc2thbG5pbmcpCiAgICAgIGNvbnRleHQuZXh0ZXJuYWxmaWd1 cmUoe3N0cn0se3dpZHRoPWJyZWRkfSkKICAgICAgY29udGV4dC5zcHJpbnQoImZvbyIpCmVsc2UK ICAgICAgbG9jYWwgc2thbG5pbmcgPQotMC41Kih0ZXguZGltZW5bNl0vdGV4LmRpbWVuWzJdKnRl eC5kaW1lblswXS10ZXguZGltZW5bNF0pCiAgICAgIGNvbnRleHQoIlxcaHNraXAlc3NwIiwgc2th bG5pbmcpCiAgICAgIGNvbnRleHQuZXh0ZXJuYWxmaWd1cmUoe3N0cn0se2hlaWdodD1ob2pkfSkK ICAgICAgY29udGV4dC5zcHJpbnQoImJhciIpCmVuZAplbmQKXHN0b3BsdWFjb2RlCgpcdW5leHBh bmRlZFxkZWZcbHVuZGtsaXBwZnlsbGJpbGQjMSMyIzN7JQpcc3RhcnRleHRlcm5hbGZpZ3VyZWNv bGxlY3Rpb25bIzFdJQpcdXNlZXh0ZXJuYWxmaWd1cmVbIzFdWyMxXSUKXHN0b3BleHRlcm5hbGZp Z3VyZWNvbGxlY3Rpb24lClxjbGlwWwp3aWR0aD0jMiwKaGVpZ2h0PSMzLApob2Zmc2V0PTBtbSwK dm9mZnNldD0wbW0sCl17JQpcZnJhbWVkW3dpZHRoPSMyLGhlaWdodD0jMyxhbGlnbj17bWlkZGxl LGxvaGl9LG9mZnNldD1vdmVybGF5LGZyYW1lPW9mZl17JQpcZGltZW4wPVxleHRlcm5hbGZpZ3Vy ZWNvbGxlY3Rpb25taW53aWR0aHsjMX0lClxkaW1lbjI9XGV4dGVybmFsZmlndXJlY29sbGVjdGlv bm1heGhlaWdodHsjMX0lClxkaW1lbjQ9IzIlClxkaW1lbjY9IzMlCntcY3R4bHVhe3VzZXJkYXRh Lmx1bmRrbGlwcGZ5bGxiaWxkKFs9PVsjMV09PV0sWz09WyMyXT09XSxbPT1bIzNdPT1dKX19fX19 CgoKCmFuZCB0aGVuIHJ1bgoKClxsdW5ka2xpcHBmeWxsYmlsZHtrLmpwZ317XHRleHR3aWR0aH17 XHRleHRoZWlnaHR9CgoKaXQgd29ya3Mgd2VsbC4gT2YgY291cnNlIHlvdSBzaG91bGQgcmVwbGFj ZSBrLmpwZyB3aXRoIHNvbWUgb3RoZXIgaW1hZ2UgbmFtZS4uLgoKL01pa2FlbAoKUFMgQW5kIHBs ZWFzZSwgaWYgc29tZW9uZSBoYXMgb3BpbmlvbnMgYWJvdXQgdGhlIGNvZGUsIGRvbid0IGhlc2l0 YXRlCnRvIHRlbGwgbWUuIFRoaXMgaXMgbXkgZmlyc3QgdGltZSB1c2luZyBsdWEuLi4KCgpPbiBU aHUsIE1heSAxLCAyMDE0IGF0IDQ6NTkgUE0sIE90YXJlZCBLYXZpYW4gPG90YXJlZEBnbWFpbC5j b20+IHdyb3RlOgo+IEhpIE1pa2FlbCwKPgo+IE91dCBvZiBjdXJpb3NpdHkgSSB0cmllZCB0byB0 eXBlc2V0IHlvdXIgZXhhbXBsZSAoYWZ0ZXIgYWRkaW5nIHRoZSB1c3VhbCBcc3RhcnR0ZXh0LCBc c3RvcHRleHQpLCBidXQgdXNpbmcKPiAgICAgICAgIENvblRlWHQgIHZlcjogMjAxNC4wNC4yOCAy MzoyNCBNS0lWIGJldGEgIGZtdDogMjAxNC40LjI5ICBpbnQ6IGVuZ2xpc2gvZW5nbGlzaAo+IEkg b2J0YWluZWQgYSBUZVggZXJyb3I6Cj4KPiB0ZXggZXJyb3IgICAgICAgPiBlcnJvciBvbiBsaW5l IDEzIGluIGZpbGUgL1VzZXJzL2thdmlhbi9Db250ZXh0L2Vzc2Fpcy9ta2lpL2ZpZ3VyZXMvcmVz aXplLWFuZC1jZW50ZXIudGV4OiAhIFVuZGVmaW5lZCBjb250cm9sIHNlcXVlbmNlCj4KPgo+IFxz dGFydGV4dGVybmFsZmlndXJlY29sbGVjdGlvbiAuLi5pZ3VyZWNvbGxlY3Rpb24KPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsjMX1cc2V0dHJ1ZSBc Y19ncnBoX2luY2x1Li4uCj4gbC4xMyBcY2xpcFt3aWR0aD04Y20saGVpZ2h0PTdjbV0KPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7JQo+Cj4gIDMgICAgIFxzdGFydGV4dGVybmFsZmln dXJlY29sbGVjdGlvbltrLmpwZ10KPiAgNCAgICAgICAgIFx1c2VleHRlcm5hbGZpZ3VyZVtrLmpw Z11bay5qcGddCj4gIDUgICAgIFxzdG9wZXh0ZXJuYWxmaWd1cmVjb2xsZWN0aW9uCj4KPiBJIGRp ZCBub3QgdW5kZXJzdGFuZCB3aGF0IGlzIHRoZSDCqyBVbmRlZmluZWQgY29udHJvbCBzZXF1ZW5j ZSDCuywgc2luY2UgSSB0aGluayBcY2xpcCBpcyBhIGtub3duIGNvbnRyb2wgc2VxdWVuY2UuCj4K PiBCZXN0IHJlZ2FyZHM6IE9LCj4KPiBPbiAxIG1haSAyMDE0LCBhdCAxNTozOCwgTWlrYWVsIFAu IFN1bmRxdmlzdCA8bWlja2VwQGdtYWlsLmNvbT4gd3JvdGU6Cj4KPj4gT0ssIHNvcnJ5IGZvciB0 aGUgbm9pc2UuIEkgdGhpbmsgSSBoYXZlIHRoZSBzb2x1dGlvbjoKPj4KPj4gXHN0YXJ0ZXh0ZXJu YWxmaWd1cmVjb2xsZWN0aW9uW2suanBnXQo+PiAgICAgXHVzZWV4dGVybmFsZmlndXJlW2suanBn XVtrLmpwZ10KPj4gXHN0b3BleHRlcm5hbGZpZ3VyZWNvbGxlY3Rpb24KPj4KPj4KPj4gXGV4dGVy bmFsZmlndXJlY29sbGVjdGlvbm1pbndpZHRoe2suanBnfQo+PiBcZXh0ZXJuYWxmaWd1cmVjb2xs ZWN0aW9ubWF4aGVpZ2h0e2suanBnfQo+Pgo+PiBcY2xpcFt3aWR0aD04Y20saGVpZ2h0PTdjbV17 JQo+PiBcZnJhbWVkW3dpZHRoPThjbSxoZWlnaHQ9N2NtLGFsaWduPXttaWRkbGUsbG9oaX0sb2Zm c2V0PW92ZXJsYXldeyUKPj4gXGRpbWVuMD1cZXh0ZXJuYWxmaWd1cmVjb2xsZWN0aW9ubWlud2lk dGh7ay5qcGd9Cj4+IFxkaW1lbjI9XGV4dGVybmFsZmlndXJlY29sbGVjdGlvbm1heGhlaWdodHtr LmpwZ30KPj4gXGRpbWVuND04Y20KPj4gXGRpbWVuNj03Y20KPj4gXHN0YXJ0bHVhY29kZQo+PiBp ZiB0ZXguZGltZW5bMF0gLyB0ZXguZGltZW5bMl0gPCB0ZXguZGltZW5bNF0gLyB0ZXguZGltZW5b Nl0gdGhlbgo+PiAgICAgIGxvY2FsIHNrYWxuaW5nID0KPj4gLTAuNSoodGV4LmRpbWVuWzRdL3Rl eC5kaW1lblswXSp0ZXguZGltZW5bMl0tdGV4LmRpbWVuWzZdKQo+PiAgICAgIGNvbnRleHQoIlxc dnNraXAlc3NwIiwgc2thbG5pbmcpCj4+ICAgICAgY29udGV4dC5leHRlcm5hbGZpZ3VyZSh7Imsu anBnIn0se3dpZHRoPSI4Y20ifSkKPj4gICAgICBjb250ZXh0LnNwcmludCgiZm9vIikKPj4gZWxz ZQo+PiAgICAgIGxvY2FsIHNrYWxuaW5nID0KPj4gLTAuNSoodGV4LmRpbWVuWzZdL3RleC5kaW1l blsyXSp0ZXguZGltZW5bMF0tdGV4LmRpbWVuWzRdKQo+PiAgICAgIGNvbnRleHQoIlxcaHNraXAl c3NwIiwgc2thbG5pbmcpCj4+ICAgICAgY29udGV4dC5leHRlcm5hbGZpZ3VyZSh7ImsuanBnIn0s e2hlaWdodD0iN2NtIn0pCj4+ICAgICAgY29udGV4dC5zcHJpbnQoImJhciIpCj4+IGVuZAo+PiBc c3RvcGx1YWNvZGUKPj4gfX0KPj4KPj4gSWYgdGhlcmUgYXJlIGFueSBiYWQgc2lkZSBlZmZlY3Rz IG9mIHRoaXMgb3Igc2ltcGxpZmljYXRpb25zLCBwbGVhc2UKPj4gZG8gbm90IGhlc2l0YXRlIHRv IHRlbGwgbWUgOikKPj4KPj4gL01pa2FlbAo+Pgo+PiBPbiBUaHUsIE1heSAxLCAyMDE0IGF0IDE6 NTAgUE0sIE1pa2FlbCBQLiBTdW5kcXZpc3QgPG1pY2tlcEBnbWFpbC5jb20+IHdyb3RlOgo+Pj4g SGkhCj4+Pgo+Pj4gQXNzdW1lIHRoYXQgSSB3YW50IHRvIGZpbGwgaW4gdGhlIHRleHQgYXJlYSB3 aXRoIGltYWdlcywgYW5kIEkgd2FudCB0bwo+Pj4gY2xpcCBhbmQgc2NhbGUgdGhlbSBhY2NvcmRp bmcgdG8gdGhlc2UgcnVsZXM6Cj4+Pgo+Pj4gMSkgSWYgdGhlIGltYWdlIGlzICJ0b28gd2lkZSIg KGluIHNlbnNlIG9mIHByb3BvcnRpb25zKSwgdGhlbiBzY2FsZSBpdAo+Pj4gc28gdGhhdCB0aGUg aGVpZ2h0IGZpdHMgdGhlIHRleHQgYXJlYSBoZWlnaHQsIGNlbnRlciBpdCwgYW5kIGNsaXAgaXQK Pj4+IHRvIHRoZSB0ZXh0IGFyZWEuIChTZWUgdGhlIGF0dGFjaGVkIGltYWdlLCBvbiB0b3AsIHdo ZXJlIHRoZSBibHVlIGFyZWEKPj4+IGlzIHN1cHBvc2VkIHRvIHNob3cgdGhlIHRleHQgYXJlYSBh bmQgdGhlIHJlZCByZWN0YW5nbGUgdGhlIGltYWdlLikKPj4+Cj4+PiAyKSBJZiB0aGUgaW1hZ2Ug aXMgInRvbyBoaWdoIiAoaW4gc2Vuc2Ugb2YgcHJvcG9ydGlvbnMpLCB0aGVuIHNjYWxlIGl0Cj4+ PiBzbyB0aGF0IHRoZSB3aWR0aCBmaXRzIHRoZSB0ZXh0IGFyZWEgd2lkdGgsIGNlbnRlciBpdCwg YW5kIGNsaXAgaXQgdG8KPj4+IHRoZSB0ZXh0IGFyZWEuIChTZWUgdGhlIGF0dGFjaGVkIGltYWdl LCBvbiBib3R0b20uKQo+Pj4KPj4+IFRoZSBiYWNrZ3JvdW5kIHdoeSBJIHdhbnQgdG8gZG8gdGhp cyBpcyB0aGF0IEknbSBtYWtpbmcgYSBzbWFsbAo+Pj4gdGVtcGxhdGUgZm9yIHByZXNlbnRhdGlv bnMsIGFuZCBJJ2QgbGlrZSB0aGUgdXNlcnMgdG8gaW5zZXJ0IGltYWdlcyBhcwo+Pj4gYmFja2dy b3VuZCB3aXRob3V0IHJlYWxseSBoYXZpbmcgdG8gdGhpbmsgYWJvdXQgaWYgdGhlaXIgcHJvcG9y dGlvbnMKPj4+IGZpdCBvciBub3QuCj4+Pgo+Pj4gQmVzdCByZWdhcmRzLCBNaWthZWwKPj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPj4gSWYgeW91ciBxdWVzdGlvbiBpcyBvZiBpbnRlcmVz dCB0byBvdGhlcnMgYXMgd2VsbCwgcGxlYXNlIGFkZCBhbiBlbnRyeSB0byB0aGUgV2lraSEKPj4K Pj4gbWFpbGxpc3QgOiBudGctY29udGV4dEBudGcubmwgLyBodHRwOi8vd3d3Lm50Zy5ubC9tYWls bWFuL2xpc3RpbmZvL250Zy1jb250ZXh0Cj4+IHdlYnBhZ2UgIDogaHR0cDovL3d3dy5wcmFnbWEt YWRlLm5sIC8gaHR0cDovL3RleC5hYW5oZXQubmV0Cj4+IGFyY2hpdmUgIDogaHR0cDovL2ZvdW5k cnkuc3VwZWxlYy5mci9wcm9qZWN0cy9jb250ZXh0cmV2Lwo+PiB3aWtpICAgICA6IGh0dHA6Ly9j b250ZXh0Z2FyZGVuLm5ldAo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Cj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiBJZiB5b3VyIHF1ZXN0aW9uIGlzIG9mIGludGVyZXN0IHRv IG90aGVycyBhcyB3ZWxsLCBwbGVhc2UgYWRkIGFuIGVudHJ5IHRvIHRoZSBXaWtpIQo+Cj4gbWFp bGxpc3QgOiBudGctY29udGV4dEBudGcubmwgLyBodHRwOi8vd3d3Lm50Zy5ubC9tYWlsbWFuL2xp c3RpbmZvL250Zy1jb250ZXh0Cj4gd2VicGFnZSAgOiBodHRwOi8vd3d3LnByYWdtYS1hZGUubmwg LyBodHRwOi8vdGV4LmFhbmhldC5uZXQKPiBhcmNoaXZlICA6IGh0dHA6Ly9mb3VuZHJ5LnN1cGVs ZWMuZnIvcHJvamVjdHMvY29udGV4dHJldi8KPiB3aWtpICAgICA6IGh0dHA6Ly9jb250ZXh0Z2Fy ZGVuLm5ldAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCklmIHlvdXIgcXVlc3Rpb24gaXMgb2YgaW50ZXJlc3QgdG8gb3RoZXJzIGFzIHdlbGws IHBsZWFzZSBhZGQgYW4gZW50cnkgdG8gdGhlIFdpa2khCgptYWlsbGlzdCA6IG50Zy1jb250ZXh0 QG50Zy5ubCAvIGh0dHA6Ly93d3cubnRnLm5sL21haWxtYW4vbGlzdGluZm8vbnRnLWNvbnRleHQK d2VicGFnZSAgOiBodHRwOi8vd3d3LnByYWdtYS1hZGUubmwgLyBodHRwOi8vdGV4LmFhbmhldC5u ZXQKYXJjaGl2ZSAgOiBodHRwOi8vZm91bmRyeS5zdXBlbGVjLmZyL3Byb2plY3RzL2NvbnRleHRy ZXYvCndpa2kgICAgIDogaHR0cDovL2NvbnRleHRnYXJkZW4ubmV0Cl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19f