1a5c0123 by Marty Penner

Auto-fix line endings

1 parent 8bb1db01
1 <?php 1 <?php
2 // core font definition file for TCPDF (www.tcpdf.org) 2 // core font definition file for TCPDF (www.tcpdf.org)
3 $type='core'; 3 $type='core';
4 $dw=500; 4 $dw=500;
5 $cw=array(0=>250,1=>250,2=>250,3=>250,4=>250,5=>250,6=>250,7=>250,8=>250,9=>250, 5 $cw=array(0=>250,1=>250,2=>250,3=>250,4=>250,5=>250,6=>250,7=>250,8=>250,9=>250,
6 10=>250,11=>250,12=>250,13=>250,14=>250,15=>250,16=>250,17=>250,18=>250,19=>250, 6 10=>250,11=>250,12=>250,13=>250,14=>250,15=>250,16=>250,17=>250,18=>250,19=>250,
7 20=>250,21=>250,22=>250,23=>250,24=>250,25=>250,26=>250,27=>250,28=>250,29=>250, 7 20=>250,21=>250,22=>250,23=>250,24=>250,25=>250,26=>250,27=>250,28=>250,29=>250,
8 30=>250,31=>250,32=>250,33=>333,34=>713,35=>500,36=>549,37=>833,38=>778,39=>439, 8 30=>250,31=>250,32=>250,33=>333,34=>713,35=>500,36=>549,37=>833,38=>778,39=>439,
9 40=>333,41=>333,42=>500,43=>549,44=>250,45=>549,46=>250,47=>278,48=>500,49=>500, 9 40=>333,41=>333,42=>500,43=>549,44=>250,45=>549,46=>250,47=>278,48=>500,49=>500,
10 50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>278,59=>278, 10 50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>278,59=>278,
11 60=>549,61=>549,62=>549,63=>444,64=>549,65=>722,66=>667,67=>722,68=>612,69=>611, 11 60=>549,61=>549,62=>549,63=>444,64=>549,65=>722,66=>667,67=>722,68=>612,69=>611,
12 70=>763,71=>603,72=>722,73=>333,74=>631,75=>722,76=>686,77=>889,78=>722,79=>722, 12 70=>763,71=>603,72=>722,73=>333,74=>631,75=>722,76=>686,77=>889,78=>722,79=>722,
13 80=>768,81=>741,82=>556,83=>592,84=>611,85=>690,86=>439,87=>768,88=>645,89=>795, 13 80=>768,81=>741,82=>556,83=>592,84=>611,85=>690,86=>439,87=>768,88=>645,89=>795,
14 90=>611,91=>333,92=>863,93=>333,94=>658,95=>500,96=>500,97=>631,98=>549,99=>549, 14 90=>611,91=>333,92=>863,93=>333,94=>658,95=>500,96=>500,97=>631,98=>549,99=>549,
15 100=>494,101=>439,102=>521,103=>411,104=>603,105=>329,106=>603,107=>549,108=>549, 15 100=>494,101=>439,102=>521,103=>411,104=>603,105=>329,106=>603,107=>549,108=>549,
16 109=>576,110=>521,111=>549,112=>549,113=>521,114=>549,115=>603,116=>439,117=>576, 16 109=>576,110=>521,111=>549,112=>549,113=>521,114=>549,115=>603,116=>439,117=>576,
17 118=>713,119=>686,120=>493,121=>686,122=>494,123=>480,124=>200,125=>480,126=>549, 17 118=>713,119=>686,120=>493,121=>686,122=>494,123=>480,124=>200,125=>480,126=>549,
18 127=>0,128=>0,129=>0,130=>0,131=>0,132=>0,133=>0,134=>0,135=>0,136=>0,137=>0, 18 127=>0,128=>0,129=>0,130=>0,131=>0,132=>0,133=>0,134=>0,135=>0,136=>0,137=>0,
19 138=>0,139=>0,140=>0,141=>0,142=>0,143=>0,144=>0,145=>0,146=>0,147=>0,148=>0, 19 138=>0,139=>0,140=>0,141=>0,142=>0,143=>0,144=>0,145=>0,146=>0,147=>0,148=>0,
20 149=>0,150=>0,151=>0,152=>0,153=>0,154=>0,155=>0,156=>0,157=>0,158=>0,159=>0, 20 149=>0,150=>0,151=>0,152=>0,153=>0,154=>0,155=>0,156=>0,157=>0,158=>0,159=>0,
21 160=>750,161=>620,162=>247,163=>549,164=>167,165=>713,166=>500,167=>753,168=>753, 21 160=>750,161=>620,162=>247,163=>549,164=>167,165=>713,166=>500,167=>753,168=>753,
22 169=>753,170=>753,171=>1042,172=>987,173=>603,174=>987,175=>603,176=>400,177=>549, 22 169=>753,170=>753,171=>1042,172=>987,173=>603,174=>987,175=>603,176=>400,177=>549,
23 178=>411,179=>549,180=>549,181=>713,182=>494,183=>460,184=>549,185=>549,186=>549, 23 178=>411,179=>549,180=>549,181=>713,182=>494,183=>460,184=>549,185=>549,186=>549,
24 187=>549,188=>1000,189=>603,190=>1000,191=>658,192=>823,193=>686,194=>795,195=>987, 24 187=>549,188=>1000,189=>603,190=>1000,191=>658,192=>823,193=>686,194=>795,195=>987,
25 196=>768,197=>768,198=>823,199=>768,200=>768,201=>713,202=>713,203=>713,204=>713, 25 196=>768,197=>768,198=>823,199=>768,200=>768,201=>713,202=>713,203=>713,204=>713,
26 205=>713,206=>713,207=>713,208=>768,209=>713,210=>790,211=>790,212=>890,213=>823, 26 205=>713,206=>713,207=>713,208=>768,209=>713,210=>790,211=>790,212=>890,213=>823,
27 214=>549,215=>250,216=>713,217=>603,218=>603,219=>1042,220=>987,221=>603,222=>987, 27 214=>549,215=>250,216=>713,217=>603,218=>603,219=>1042,220=>987,221=>603,222=>987,
28 223=>603,224=>494,225=>329,226=>790,227=>790,228=>786,229=>713,230=>384,231=>384, 28 223=>603,224=>494,225=>329,226=>790,227=>790,228=>786,229=>713,230=>384,231=>384,
29 232=>384,233=>384,234=>384,235=>384,236=>494,237=>494,238=>494,239=>494,240=>0, 29 232=>384,233=>384,234=>384,235=>384,236=>494,237=>494,238=>494,239=>494,240=>0,
30 241=>329,242=>274,243=>686,244=>686,245=>686,246=>384,247=>384,248=>384,249=>384, 30 241=>329,242=>274,243=>686,244=>686,245=>686,246=>384,247=>384,248=>384,249=>384,
31 250=>384,251=>384,252=>494,253=>494,254=>494,255=>0); 31 250=>384,251=>384,252=>494,253=>494,254=>494,255=>0);
32 // --- EOF --- 32 // --- EOF ---
......
1 <?php 1 <?php
2 //============================================================+ 2 //============================================================+
3 // File name : makeallttffonts.php 3 // File name : makeallttffonts.php
4 // Begin : 2008-12-07 4 // Begin : 2008-12-07
5 // Last Update : 2010-08-08 5 // Last Update : 2010-08-08
6 // 6 //
7 // Description : Process all TTF files on current directory to 7 // Description : Process all TTF files on current directory to
8 // build TCPDF compatible font files. 8 // build TCPDF compatible font files.
9 // 9 //
10 // Author: Nicola Asuni 10 // Author: Nicola Asuni
11 // 11 //
12 // (c) Copyright: 12 // (c) Copyright:
13 // Nicola Asuni 13 // Nicola Asuni
14 // Tecnick.com S.r.l. 14 // Tecnick.com S.r.l.
15 // Via della Pace, 11 15 // Via della Pace, 11
16 // 09044 Quartucciu (CA) 16 // 09044 Quartucciu (CA)
17 // ITALY 17 // ITALY
18 // www.tecnick.com 18 // www.tecnick.com
19 // info@tecnick.com 19 // info@tecnick.com
20 // 20 //
21 // License: 21 // License:
22 // Copyright (C) 2004-2010 Nicola Asuni - Tecnick.com S.r.l. 22 // Copyright (C) 2004-2010 Nicola Asuni - Tecnick.com S.r.l.
23 // 23 //
24 // This file is part of TCPDF software library. 24 // This file is part of TCPDF software library.
25 // 25 //
26 // TCPDF is free software: you can redistribute it and/or modify it 26 // TCPDF is free software: you can redistribute it and/or modify it
27 // under the terms of the GNU Lesser General Public License as 27 // under the terms of the GNU Lesser General Public License as
28 // published by the Free Software Foundation, either version 3 of the 28 // published by the Free Software Foundation, either version 3 of the
29 // License, or (at your option) any later version. 29 // License, or (at your option) any later version.
30 // 30 //
31 // TCPDF is distributed in the hope that it will be useful, but 31 // TCPDF is distributed in the hope that it will be useful, but
32 // WITHOUT ANY WARRANTY; without even the implied warranty of 32 // WITHOUT ANY WARRANTY; without even the implied warranty of
33 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 33 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
34 // See the GNU Lesser General Public License for more details. 34 // See the GNU Lesser General Public License for more details.
35 // 35 //
36 // You should have received a copy of the GNU Lesser General Public License 36 // You should have received a copy of the GNU Lesser General Public License
37 // along with TCPDF. If not, see <http://www.gnu.org/licenses/>. 37 // along with TCPDF. If not, see <http://www.gnu.org/licenses/>.
38 // 38 //
39 // See LICENSE.TXT file for more information. 39 // See LICENSE.TXT file for more information.
40 //============================================================+ 40 //============================================================+
41 41
42 /** 42 /**
43 * Process all TTF files on current directory to build TCPDF compatible font files. 43 * Process all TTF files on current directory to build TCPDF compatible font files.
44 * @package com.tecnick.tcpdf 44 * @package com.tecnick.tcpdf
45 * @author Nicola Asuni 45 * @author Nicola Asuni
46 * @copyright Copyright &copy; 2004-2009, Nicola Asuni - Tecnick.com S.r.l. - ITALY - www.tecnick.com - info@tecnick.com 46 * @copyright Copyright &copy; 2004-2009, Nicola Asuni - Tecnick.com S.r.l. - ITALY - www.tecnick.com - info@tecnick.com
47 * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License 47 * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
48 * @link www.tecnick.com 48 * @link www.tecnick.com
49 * @since 2008-12-07 49 * @since 2008-12-07
50 */ 50 */
51 51
52 /** 52 /**
53 */ 53 */
54 54
55 // read directory for files (only graphics files). 55 // read directory for files (only graphics files).
56 $handle = opendir('.'); 56 $handle = opendir('.');
57 while($file = readdir($handle)) { 57 while($file = readdir($handle)) {
58 $path_parts = pathinfo($file); 58 $path_parts = pathinfo($file);
59 $file_ext = strtolower($path_parts['extension']); 59 $file_ext = strtolower($path_parts['extension']);
60 if ($file_ext == 'ttf') { 60 if ($file_ext == 'ttf') {
61 exec('./ttf2ufm -a -F '.$path_parts['basename'].''); 61 exec('./ttf2ufm -a -F '.$path_parts['basename'].'');
62 exec('php -q makefont.php '.$path_parts['basename'].' '.$path_parts['filename'].'.ufm'); 62 exec('php -q makefont.php '.$path_parts['basename'].' '.$path_parts['filename'].'.ufm');
63 } 63 }
64 } 64 }
65 closedir($handle); 65 closedir($handle);
66 66
67 //============================================================+ 67 //============================================================+
68 // END OF FILE 68 // END OF FILE
69 //============================================================+ 69 //============================================================+
......
1 To embed TrueType and OpenType font files, you need to extract the 1 To embed TrueType and OpenType font files, you need to extract the
2 font metrics from the font files and build the required tables using 2 font metrics from the font files and build the required tables using
3 the utility TTF2UFM. 3 the utility TTF2UFM.
4 4
5 TTF2UFM is a modified version of Mark Heath's TTF 2 PT1 converter 5 TTF2UFM is a modified version of Mark Heath's TTF 2 PT1 converter
6 (http://ttf2pt1.sourceforge.net/) by Steven Wittens <steven@acko.net> 6 (http://ttf2pt1.sourceforge.net/) by Steven Wittens <steven@acko.net>
7 (http://www.acko.net/blog/ufpdf). That version has been further 7 (http://www.acko.net/blog/ufpdf). That version has been further
8 modified by Ulrich Telle for use with the wxWidgets component 8 modified by Ulrich Telle for use with the wxWidgets component
9 wxPdfDocument. 9 wxPdfDocument.
10 10
11 Following changes where made: 11 Following changes where made:
12 12
13 1) Generated AFM files contain the glyph number for each character. 13 1) Generated AFM files contain the glyph number for each character.
14 2) Generated UFM files contain the bounding box for each character. 14 2) Generated UFM files contain the bounding box for each character.
15 3) OpenType support has been activated for the Windows binary, 15 3) OpenType support has been activated for the Windows binary,
16 and the generated AFM/UFM files contain the associated 16 and the generated AFM/UFM files contain the associated
17 original Unicode codes for each character. 17 original Unicode codes for each character.
......
1 <?php 1 <?php
2 // core font definition file for TCPDF (www.tcpdf.org) 2 // core font definition file for TCPDF (www.tcpdf.org)
3 $type='core'; 3 $type='core';
4 $dw=788; 4 $dw=788;
5 $cw=array(0=>0,1=>0,2=>0,3=>0,4=>0,5=>0,6=>0,7=>0,8=>0,9=>0,10=>0,11=>0,12=>0, 5 $cw=array(0=>0,1=>0,2=>0,3=>0,4=>0,5=>0,6=>0,7=>0,8=>0,9=>0,10=>0,11=>0,12=>0,
6 13=>0,14=>0,15=>0,16=>0,17=>0,18=>0,19=>0,20=>0,21=>0,22=>0,23=>0,24=>0,25=>0, 6 13=>0,14=>0,15=>0,16=>0,17=>0,18=>0,19=>0,20=>0,21=>0,22=>0,23=>0,24=>0,25=>0,
7 26=>0,27=>0,28=>0,29=>0,30=>0,31=>0,32=>278,33=>974,34=>961,35=>974,36=>980, 7 26=>0,27=>0,28=>0,29=>0,30=>0,31=>0,32=>278,33=>974,34=>961,35=>974,36=>980,
8 37=>719,38=>789,39=>790,40=>791,41=>690,42=>960,43=>939,44=>549,45=>855,46=>911, 8 37=>719,38=>789,39=>790,40=>791,41=>690,42=>960,43=>939,44=>549,45=>855,46=>911,
9 47=>933,48=>911,49=>945,50=>974,51=>755,52=>846,53=>762,54=>761,55=>571,56=>677, 9 47=>933,48=>911,49=>945,50=>974,51=>755,52=>846,53=>762,54=>761,55=>571,56=>677,
10 57=>763,58=>760,59=>759,60=>754,61=>494,62=>552,63=>537,64=>577,65=>692,66=>786, 10 57=>763,58=>760,59=>759,60=>754,61=>494,62=>552,63=>537,64=>577,65=>692,66=>786,
11 67=>788,68=>788,69=>790,70=>793,71=>794,72=>816,73=>823,74=>789,75=>841,76=>823, 11 67=>788,68=>788,69=>790,70=>793,71=>794,72=>816,73=>823,74=>789,75=>841,76=>823,
12 77=>833,78=>816,79=>831,80=>923,81=>744,82=>723,83=>749,84=>790,85=>792,86=>695, 12 77=>833,78=>816,79=>831,80=>923,81=>744,82=>723,83=>749,84=>790,85=>792,86=>695,
13 87=>776,88=>768,89=>792,90=>759,91=>707,92=>708,93=>682,94=>701,95=>826,96=>815, 13 87=>776,88=>768,89=>792,90=>759,91=>707,92=>708,93=>682,94=>701,95=>826,96=>815,
14 97=>789,98=>789,99=>707,100=>687,101=>696,102=>689,103=>786,104=>787,105=>713, 14 97=>789,98=>789,99=>707,100=>687,101=>696,102=>689,103=>786,104=>787,105=>713,
15 106=>791,107=>785,108=>791,109=>873,110=>761,111=>762,112=>762,113=>759,114=>759, 15 106=>791,107=>785,108=>791,109=>873,110=>761,111=>762,112=>762,113=>759,114=>759,
16 115=>892,116=>892,117=>788,118=>784,119=>438,120=>138,121=>277,122=>415,123=>392, 16 115=>892,116=>892,117=>788,118=>784,119=>438,120=>138,121=>277,122=>415,123=>392,
17 124=>392,125=>668,126=>668,127=>0,128=>390,129=>390,130=>317,131=>317,132=>276, 17 124=>392,125=>668,126=>668,127=>0,128=>390,129=>390,130=>317,131=>317,132=>276,
18 133=>276,134=>509,135=>509,136=>410,137=>410,138=>234,139=>234,140=>334,141=>334, 18 133=>276,134=>509,135=>509,136=>410,137=>410,138=>234,139=>234,140=>334,141=>334,
19 142=>0,143=>0,144=>0,145=>0,146=>0,147=>0,148=>0,149=>0,150=>0,151=>0,152=>0, 19 142=>0,143=>0,144=>0,145=>0,146=>0,147=>0,148=>0,149=>0,150=>0,151=>0,152=>0,
20 153=>0,154=>0,155=>0,156=>0,157=>0,158=>0,159=>0,160=>0,161=>732,162=>544,163=>544, 20 153=>0,154=>0,155=>0,156=>0,157=>0,158=>0,159=>0,160=>0,161=>732,162=>544,163=>544,
21 164=>910,165=>667,166=>760,167=>760,168=>776,169=>595,170=>694,171=>626,172=>788, 21 164=>910,165=>667,166=>760,167=>760,168=>776,169=>595,170=>694,171=>626,172=>788,
22 173=>788,174=>788,175=>788,176=>788,177=>788,178=>788,179=>788,180=>788,181=>788, 22 173=>788,174=>788,175=>788,176=>788,177=>788,178=>788,179=>788,180=>788,181=>788,
23 182=>788,183=>788,184=>788,185=>788,186=>788,187=>788,188=>788,189=>788,190=>788, 23 182=>788,183=>788,184=>788,185=>788,186=>788,187=>788,188=>788,189=>788,190=>788,
24 191=>788,192=>788,193=>788,194=>788,195=>788,196=>788,197=>788,198=>788,199=>788, 24 191=>788,192=>788,193=>788,194=>788,195=>788,196=>788,197=>788,198=>788,199=>788,
25 200=>788,201=>788,202=>788,203=>788,204=>788,205=>788,206=>788,207=>788,208=>788, 25 200=>788,201=>788,202=>788,203=>788,204=>788,205=>788,206=>788,207=>788,208=>788,
26 209=>788,210=>788,211=>788,212=>894,213=>838,214=>1016,215=>458,216=>748,217=>924, 26 209=>788,210=>788,211=>788,212=>894,213=>838,214=>1016,215=>458,216=>748,217=>924,
27 218=>748,219=>918,220=>927,221=>928,222=>928,223=>834,224=>873,225=>828,226=>924, 27 218=>748,219=>918,220=>927,221=>928,222=>928,223=>834,224=>873,225=>828,226=>924,
28 227=>924,228=>917,229=>930,230=>931,231=>463,232=>883,233=>836,234=>836,235=>867, 28 227=>924,228=>917,229=>930,230=>931,231=>463,232=>883,233=>836,234=>836,235=>867,
29 236=>867,237=>696,238=>696,239=>874,240=>0,241=>874,242=>760,243=>946,244=>771, 29 236=>867,237=>696,238=>696,239=>874,240=>0,241=>874,242=>760,243=>946,244=>771,
30 245=>865,246=>771,247=>888,248=>967,249=>888,250=>831,251=>873,252=>927,253=>970, 30 245=>865,246=>771,247=>888,248=>967,249=>888,250=>831,251=>873,252=>927,253=>970,
31 254=>918,255=>0); 31 254=>918,255=>0);
32 // --- EOF --- 32 // --- EOF ---
......
1 <?php 1 <?php
2 /* Mohammad Ali Golkar 2 /* Mohammad Ali Golkar
3 m.a.golkar@gmail.com 3 m.a.golkar@gmail.com
4 http://www.30minonline.com 4 http://www.30minonline.com
5 LICENSE : GPLv2 */ 5 LICENSE : GPLv2 */
6 $type='TrueTypeUnicode'; 6 $type='TrueTypeUnicode';
7 $name='ZarBold'; 7 $name='ZarBold';
8 $desc=array('Ascent'=>733,'Descent'=>-317,'CapHeight'=>733,'Flags'=>32,'FontBBox'=>'[-126 -535 1164 1046]','ItalicAngle'=>0,'StemV'=>120,'MissingWidth'=>600); 8 $desc=array('Ascent'=>733,'Descent'=>-317,'CapHeight'=>733,'Flags'=>32,'FontBBox'=>'[-126 -535 1164 1046]','ItalicAngle'=>0,'StemV'=>120,'MissingWidth'=>600);
9 $up=-356; 9 $up=-356;
10 $ut=49; 10 $ut=49;
11 $dw=600; 11 $dw=600;
12 $cw=array( 12 $cw=array(
13 0=>0,32=>227,33=>235,34=>282,35=>667,36=>458,37=>493,38=>635,39=>156,40=>303,41=>303,42=>489,43=>489,44=>237,45=>489,46=>231,47=>277, 13 0=>0,32=>227,33=>235,34=>282,35=>667,36=>458,37=>493,38=>635,39=>156,40=>303,41=>303,42=>489,43=>489,44=>237,45=>489,46=>231,47=>277,
14 48=>552,49=>552,50=>552,51=>552,52=>552,53=>552,54=>552,55=>552,56=>552,57=>552,58=>231,59=>237,60=>667,61=>489,62=>667,63=>448, 14 48=>552,49=>552,50=>552,51=>552,52=>552,53=>552,54=>552,55=>552,56=>552,57=>552,58=>231,59=>237,60=>667,61=>489,62=>667,63=>448,
15 64=>917,65=>604,66=>542,67=>615,68=>708,69=>479,70=>427,71=>667,72=>688,73=>302,74=>292,75=>583,76=>469,77=>885,78=>677,79=>729, 15 64=>917,65=>604,66=>542,67=>615,68=>708,69=>479,70=>427,71=>667,72=>688,73=>302,74=>292,75=>583,76=>469,77=>885,78=>677,79=>729,
16 80=>479,81=>729,82=>542,83=>448,84=>521,85=>677,86=>615,87=>969,88=>604,89=>583,90=>594,91=>208,92=>510,93=>208,94=>469,95=>500, 16 80=>479,81=>729,82=>542,83=>448,84=>521,85=>677,86=>615,87=>969,88=>604,89=>583,90=>594,91=>208,92=>510,93=>208,94=>469,95=>500,
17 96=>333,97=>469,98=>510,99=>448,100=>521,101=>438,102=>313,103=>500,104=>552,105=>271,106=>260,107=>500,108=>271,109=>802,110=>552,111=>490, 17 96=>333,97=>469,98=>510,99=>448,100=>521,101=>438,102=>313,103=>500,104=>552,105=>271,106=>260,107=>500,108=>271,109=>802,110=>552,111=>490,
18 112=>531,113=>521,114=>396,115=>365,116=>292,117=>552,118=>479,119=>750,120=>521,121=>469,122=>448,123=>479,124=>510,125=>479,126=>667,8218=>240, 18 112=>531,113=>521,114=>396,115=>365,116=>292,117=>552,118=>479,119=>750,120=>521,121=>469,122=>448,123=>479,124=>510,125=>479,126=>667,8218=>240,
19 402=>531,8222=>458,8230=>1000,8224=>438,8225=>438,710=>333,8240=>1010,352=>448,8249=>250,338=>865,8216=>240,8217=>240,8220=>317,8221=>317,8226=>281,8211=>500, 19 402=>531,8222=>458,8230=>1000,8224=>438,8225=>438,710=>333,8240=>1010,352=>448,8249=>250,338=>865,8216=>240,8217=>240,8220=>317,8221=>317,8226=>281,8211=>500,
20 8212=>1000,8482=>906,353=>365,8250=>250,339=>823,376=>583,160=>244,161=>317,162=>448,163=>583,164=>500,165=>583,166=>200,167=>417,168=>333,169=>765, 20 8212=>1000,8482=>906,353=>365,8250=>250,339=>823,376=>583,160=>244,161=>317,162=>448,163=>583,164=>500,165=>583,166=>200,167=>417,168=>333,169=>765,
21 170=>313,171=>417,172=>667,173=>564,174=>765,175=>333,176=>375,177=>462,178=>354,179=>354,180=>333,181=>510,182=>438,183=>198,184=>333,185=>354, 21 170=>313,171=>417,172=>667,173=>564,174=>765,175=>333,176=>375,177=>462,178=>354,179=>354,180=>333,181=>510,182=>438,183=>198,184=>333,185=>354,
22 186=>323,187=>417,188=>854,189=>854,190=>854,191=>448,192=>604,711=>333,215=>462,224=>469,226=>469,231=>448,232=>438,233=>438,234=>438,235=>438, 22 186=>323,187=>417,188=>854,189=>854,190=>854,191=>448,192=>604,711=>333,215=>462,224=>469,226=>469,231=>448,232=>438,233=>438,234=>438,235=>438,
23 238=>271,239=>271,244=>490,305=>271,247=>483,249=>552,251=>552,252=>552,255=>469,9249=>781,1548=>237,1563=>237,1567=>340,1569=>426,1570=>416,1571=>238, 23 238=>271,239=>271,244=>490,305=>271,247=>483,249=>552,251=>552,252=>552,255=>469,9249=>781,1548=>237,1563=>237,1567=>340,1569=>426,1570=>416,1571=>238,
24 1572=>429,1573=>260,1574=>817,1575=>238,1576=>853,1577=>439,1578=>853,1579=>853,1580=>720,1581=>720,1582=>720,1583=>485,1584=>485,1585=>423,1586=>423,1587=>1016, 24 1572=>429,1573=>260,1574=>817,1575=>238,1576=>853,1577=>439,1578=>853,1579=>853,1580=>720,1581=>720,1582=>720,1583=>485,1584=>485,1585=>423,1586=>423,1587=>1016,
25 1588=>1016,1589=>1128,1590=>1128,1591=>794,1592=>794,1593=>685,1594=>685,1600=>371,1601=>840,1602=>696,1603=>1148,1604=>744,1605=>514,1606=>686,1607=>439,1608=>429, 25 1588=>1016,1589=>1128,1590=>1128,1591=>794,1592=>794,1593=>685,1594=>685,1600=>371,1601=>840,1602=>696,1603=>1148,1604=>744,1605=>514,1606=>686,1607=>439,1608=>429,
26 1609=>817,1610=>817,1611=>0,1612=>0,1613=>0,1614=>0,1615=>0,1616=>0,1617=>0,1618=>0,1632=>479,1633=>479,1634=>479,1635=>479,1636=>479,1637=>479, 26 1609=>817,1610=>817,1611=>0,1612=>0,1613=>0,1614=>0,1615=>0,1616=>0,1617=>0,1618=>0,1632=>479,1633=>479,1634=>479,1635=>479,1636=>479,1637=>479,
27 1638=>479,1639=>479,1640=>479,1641=>483,1642=>493,1645=>563,1648=>227,1649=>363,1652=>227,1662=>853,1670=>720,1688=>423,1700=>840,1705=>1148,1711=>1149,1740=>817, 27 1638=>479,1639=>479,1640=>479,1641=>483,1642=>493,1645=>563,1648=>227,1649=>363,1652=>227,1662=>853,1670=>720,1688=>423,1700=>840,1705=>1148,1711=>1149,1740=>817,
28 1749=>439,1764=>227,1776=>479,1777=>479,1778=>479,1779=>479,1780=>479,1781=>479,1782=>479,1783=>479,1784=>479,1785=>483,8204=>22,8205=>22,8206=>22,8207=>22, 28 1749=>439,1764=>227,1776=>479,1777=>479,1778=>479,1779=>479,1780=>479,1781=>479,1782=>479,1783=>479,1784=>479,1785=>483,8204=>22,8205=>22,8206=>22,8207=>22,
29 59424=>227,59425=>227,59426=>227,59427=>227,59428=>227,59429=>227,59430=>227,59431=>227,59432=>227,59433=>227,59434=>227,59435=>227,59436=>227,59416=>227,59437=>227,59442=>227, 29 59424=>227,59425=>227,59426=>227,59427=>227,59428=>227,59429=>227,59430=>227,59431=>227,59432=>227,59433=>227,59434=>227,59435=>227,59436=>227,59416=>227,59437=>227,59442=>227,
30 59443=>227,59444=>227,59445=>227,59446=>227,64336=>363,64337=>263,64342=>853,64343=>967,64344=>267,64345=>271,64362=>840,64363=>959,64364=>305,64365=>341,64378=>720,64379=>725, 30 59443=>227,59444=>227,59445=>227,59446=>227,64336=>363,64337=>263,64342=>853,64343=>967,64344=>267,64345=>271,64362=>840,64363=>959,64364=>305,64365=>341,64378=>720,64379=>725,
31 64380=>630,64381=>652,64394=>423,64395=>450,64398=>1148,64399=>1089,64400=>522,64401=>461,64402=>1149,64403=>1084,64404=>525,64405=>462,64508=>817,64509=>784,64606=>227,64607=>227, 31 64380=>630,64381=>652,64394=>423,64395=>450,64398=>1148,64399=>1089,64400=>522,64401=>461,64402=>1149,64403=>1084,64404=>525,64405=>462,64508=>817,64509=>784,64606=>227,64607=>227,
32 64608=>227,64609=>227,64610=>227,64754=>371,64755=>371,64756=>371,64828=>331,64829=>276,64830=>303,64831=>303,65010=>866,65136=>227,65137=>371,65138=>227,65140=>227,65142=>227, 32 64608=>227,64609=>227,64610=>227,64754=>371,64755=>371,64756=>371,64828=>331,64829=>276,64830=>303,64831=>303,65010=>866,65136=>227,65137=>371,65138=>227,65140=>227,65142=>227,
33 65143=>371,65144=>227,65145=>371,65146=>227,65147=>371,65148=>227,65149=>371,65150=>227,65151=>371,65152=>426,65153=>416,65154=>354,65155=>238,65156=>282,65157=>429,65158=>507, 33 65143=>371,65144=>227,65145=>371,65146=>227,65147=>371,65148=>227,65149=>371,65150=>227,65151=>371,65152=>426,65153=>416,65154=>354,65155=>238,65156=>282,65157=>429,65158=>507,
34 65159=>260,65160=>286,65161=>817,65162=>784,65163=>190,65164=>276,65165=>238,65166=>263,65167=>853,65168=>967,65169=>186,65170=>271,65171=>439,65172=>452,65173=>853,65174=>967, 34 65159=>260,65160=>286,65161=>817,65162=>784,65163=>190,65164=>276,65165=>238,65166=>263,65167=>853,65168=>967,65169=>186,65170=>271,65171=>439,65172=>452,65173=>853,65174=>967,
35 65175=>256,65176=>271,65177=>853,65178=>967,65179=>267,65180=>271,65181=>720,65182=>725,65183=>630,65184=>652,65185=>720,65186=>725,65187=>630,65188=>652,65189=>720,65190=>725, 35 65175=>256,65176=>271,65177=>853,65178=>967,65179=>267,65180=>271,65181=>720,65182=>725,65183=>630,65184=>652,65185=>720,65186=>725,65187=>630,65188=>652,65189=>720,65190=>725,
36 65191=>630,65192=>652,65193=>485,65194=>608,65195=>485,65196=>608,65197=>423,65198=>450,65199=>423,65200=>450,65201=>1016,65202=>1041,65203=>498,65204=>475,65205=>1016,65206=>1041, 36 65191=>630,65192=>652,65193=>485,65194=>608,65195=>485,65196=>608,65197=>423,65198=>450,65199=>423,65200=>450,65201=>1016,65202=>1041,65203=>498,65204=>475,65205=>1016,65206=>1041,
37 65207=>498,65208=>475,65209=>1128,65210=>1150,65211=>633,65212=>655,65213=>1128,65214=>1150,65215=>633,65216=>655,65217=>794,65218=>814,65219=>566,65220=>588,65221=>794,65222=>814, 37 65207=>498,65208=>475,65209=>1128,65210=>1150,65211=>633,65212=>655,65213=>1128,65214=>1150,65215=>633,65216=>655,65217=>794,65218=>814,65219=>566,65220=>588,65221=>794,65222=>814,
38 65223=>566,65224=>588,65225=>685,65226=>655,65227=>414,65228=>330,65229=>685,65230=>655,65231=>414,65232=>330,65233=>840,65234=>959,65235=>305,65236=>341,65237=>696,65238=>780, 38 65223=>566,65224=>588,65225=>685,65226=>655,65227=>414,65228=>330,65229=>685,65230=>655,65231=>414,65232=>330,65233=>840,65234=>959,65235=>305,65236=>341,65237=>696,65238=>780,
39 65239=>305,65240=>341,65241=>1148,65242=>1089,65243=>522,65244=>461,65245=>744,65246=>741,65247=>202,65248=>259,65249=>514,65250=>585,65251=>345,65252=>477,65253=>686,65254=>764, 39 65239=>305,65240=>341,65241=>1148,65242=>1089,65243=>522,65244=>461,65245=>744,65246=>741,65247=>202,65248=>259,65249=>514,65250=>585,65251=>345,65252=>477,65253=>686,65254=>764,
40 65255=>186,65256=>271,65257=>439,65258=>452,65259=>501,65260=>381,65261=>429,65262=>507,65263=>817,65264=>784,65265=>817,65266=>784,64510=>265,64511=>271,65269=>610,65270=>652, 40 65255=>186,65256=>271,65257=>439,65258=>452,65259=>501,65260=>381,65261=>429,65262=>507,65263=>817,65264=>784,65265=>817,65266=>784,64510=>265,64511=>271,65269=>610,65270=>652,
41 65271=>539,65272=>611,65273=>539,65274=>611,65275=>539,65276=>611,65279=>0,64486=>408,64487=>408); 41 65271=>539,65272=>611,65273=>539,65274=>611,65275=>539,65276=>611,65279=>0,64486=>408,64487=>408);
42 $enc=''; 42 $enc='';
43 $diff=''; 43 $diff='';
44 $file='zarbold.z'; 44 $file='zarbold.z';
45 $ctg='zarbold.ctg.z'; 45 $ctg='zarbold.ctg.z';
46 $originalsize=73296; 46 $originalsize=73296;
47 // --- EOF --- 47 // --- EOF ---
......
1 %!PS-Adobe-3.0 EPSF-3.0 1 %!PS-Adobe-3.0 EPSF-3.0
2 %%Creator: Adobe Illustrator(TM) 3.2 2 %%Creator: Adobe Illustrator(TM) 3.2
3 %%AI8_CreatorVersion: 12.0.0 3 %%AI8_CreatorVersion: 12.0.0
4 %%For: (fluxus) (x) 4 %%For: (fluxus) (x)
5 %%Title: (bug.eps) 5 %%Title: (bug.eps)
6 %%CreationDate: 4/15/2006 11:11 PM 6 %%CreationDate: 4/15/2006 11:11 PM
7 %%BoundingBox: -2 747 53 843 7 %%BoundingBox: -2 747 53 843
8 % -2 747 53 843 8 % -2 747 53 843
9 %%DocumentProcessColors: Cyan Magenta Yellow Black 9 %%DocumentProcessColors: Cyan Magenta Yellow Black
10 %%DocumentSuppliedResources: procset Adobe_packedarray 2.0 0 10 %%DocumentSuppliedResources: procset Adobe_packedarray 2.0 0
11 %%+ procset Adobe_cmykcolor 1.1 0 11 %%+ procset Adobe_cmykcolor 1.1 0
12 %%+ procset Adobe_cshow 1.1 0 12 %%+ procset Adobe_cshow 1.1 0
13 %%+ procset Adobe_customcolor 1.0 0 13 %%+ procset Adobe_customcolor 1.0 0
14 %%+ procset Adobe_pattern_AI3 1.0 0 14 %%+ procset Adobe_pattern_AI3 1.0 0
15 %%+ procset Adobe_Illustrator_AI3 1.0 1 15 %%+ procset Adobe_Illustrator_AI3 1.0 1
16 %AI3_ColorUsage: Color 16 %AI3_ColorUsage: Color
17 %AI3_IncludePlacedImages 17 %AI3_IncludePlacedImages
18 %%CMYKCustomColor: 1 1 1 1 ([Registration]) 18 %%CMYKCustomColor: 1 1 1 1 ([Registration])
19 %AI3_TemplateBox: 298.5 420.3896 298.5 420.3896 19 %AI3_TemplateBox: 298.5 420.3896 298.5 420.3896
20 %AI3_TileBox: 0.157715 0.044861 595.1177 841.9648 20 %AI3_TileBox: 0.157715 0.044861 595.1177 841.9648
21 %AI3_DocumentPreview: Header 21 %AI3_DocumentPreview: Header
22 %%PageOrigin:-32 11.8896 22 %%PageOrigin:-32 11.8896
23 %AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 23 %AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
24 %AI9_Flatten: 1 24 %AI9_Flatten: 1
25 %AI12_CMSettings: 00.MS 25 %AI12_CMSettings: 00.MS
26 %%EndComments 26 %%EndComments
27 %%BeginProlog 27 %%BeginProlog
28 %%BeginResource: procset Adobe_packedarray 2.0 0 28 %%BeginResource: procset Adobe_packedarray 2.0 0
29 %%Title: (Packed Array Operators) 29 %%Title: (Packed Array Operators)
30 %%Version: 2.0 0 30 %%Version: 2.0 0
31 %%CreationDate: (8/2/90) () 31 %%CreationDate: (8/2/90) ()
32 %%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) 32 %%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
33 userdict /Adobe_packedarray 5 dict dup begin put 33 userdict /Adobe_packedarray 5 dict dup begin put
34 /initialize 34 /initialize
35 { 35 {
36 /packedarray where 36 /packedarray where
37 { 37 {
38 pop 38 pop
39 } 39 }
40 { 40 {
41 Adobe_packedarray begin 41 Adobe_packedarray begin
42 Adobe_packedarray 42 Adobe_packedarray
43 { 43 {
44 dup xcheck 44 dup xcheck
45 { 45 {
46 bind 46 bind
47 } if 47 } if
48 userdict 3 1 roll put 48 userdict 3 1 roll put
49 } forall 49 } forall
50 end 50 end
51 } ifelse 51 } ifelse
52 } def 52 } def
53 /terminate 53 /terminate
54 { 54 {
55 } def 55 } def
56 /packedarray 56 /packedarray
57 { 57 {
58 array astore readonly 58 array astore readonly
59 } def 59 } def
60 /setpacking 60 /setpacking
61 { 61 {
62 pop 62 pop
63 } def 63 } def
64 /currentpacking 64 /currentpacking
65 { 65 {
66 false 66 false
67 } def 67 } def
68 currentdict readonly pop end 68 currentdict readonly pop end
69 %%EndResource 69 %%EndResource
70 Adobe_packedarray /initialize get exec 70 Adobe_packedarray /initialize get exec
71 %%BeginResource: procset Adobe_cmykcolor 1.1 0 71 %%BeginResource: procset Adobe_cmykcolor 1.1 0
72 %%Title: (CMYK Color Operators) 72 %%Title: (CMYK Color Operators)
73 %%Version: 1.1 0 73 %%Version: 1.1 0
74 %%CreationDate: (1/23/89) () 74 %%CreationDate: (1/23/89) ()
75 %%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) 75 %%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
76 currentpacking true setpacking 76 currentpacking true setpacking
77 userdict /Adobe_cmykcolor 4 dict dup begin put 77 userdict /Adobe_cmykcolor 4 dict dup begin put
78 /initialize 78 /initialize
79 { 79 {
80 /setcmykcolor where 80 /setcmykcolor where
81 { 81 {
82 pop 82 pop
83 } 83 }
84 { 84 {
85 userdict /Adobe_cmykcolor_vars 2 dict dup begin put 85 userdict /Adobe_cmykcolor_vars 2 dict dup begin put
86 /_setrgbcolor 86 /_setrgbcolor
87 /setrgbcolor load def 87 /setrgbcolor load def
88 /_currentrgbcolor 88 /_currentrgbcolor
89 /currentrgbcolor load def 89 /currentrgbcolor load def
90 Adobe_cmykcolor begin 90 Adobe_cmykcolor begin
91 Adobe_cmykcolor 91 Adobe_cmykcolor
92 { 92 {
93 dup xcheck 93 dup xcheck
94 { 94 {
95 bind 95 bind
96 } if 96 } if
97 pop pop 97 pop pop
98 } forall 98 } forall
99 end 99 end
100 end 100 end
101 Adobe_cmykcolor begin 101 Adobe_cmykcolor begin
102 } ifelse 102 } ifelse
103 } def 103 } def
104 /terminate 104 /terminate
105 { 105 {
106 currentdict Adobe_cmykcolor eq 106 currentdict Adobe_cmykcolor eq
107 { 107 {
108 end 108 end
109 } if 109 } if
110 } def 110 } def
111 /setcmykcolor 111 /setcmykcolor
112 { 112 {
113 1 sub 4 1 roll 113 1 sub 4 1 roll
114 3 114 3
115 { 115 {
116 3 index add neg dup 0 lt 116 3 index add neg dup 0 lt
117 { 117 {
118 pop 0 118 pop 0
119 } if 119 } if
120 3 1 roll 120 3 1 roll
121 } repeat 121 } repeat
122 Adobe_cmykcolor_vars /_setrgbcolor get exec 122 Adobe_cmykcolor_vars /_setrgbcolor get exec
123 pop 123 pop
124 } def 124 } def
125 /currentcmykcolor 125 /currentcmykcolor
126 { 126 {
127 Adobe_cmykcolor_vars /_currentrgbcolor get exec 127 Adobe_cmykcolor_vars /_currentrgbcolor get exec
128 3 128 3
129 { 129 {
130 1 sub neg 3 1 roll 130 1 sub neg 3 1 roll
131 } repeat 131 } repeat
132 0 132 0
133 } def 133 } def
134 currentdict readonly pop end 134 currentdict readonly pop end
135 setpacking 135 setpacking
136 %%EndResource 136 %%EndResource
137 %%BeginResource: procset Adobe_cshow 1.1 0 137 %%BeginResource: procset Adobe_cshow 1.1 0
138 %%Title: (cshow Operator) 138 %%Title: (cshow Operator)
139 %%Version: 1.1 0 139 %%Version: 1.1 0
140 %%CreationDate: (1/23/89) () 140 %%CreationDate: (1/23/89) ()
141 %%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) 141 %%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
142 currentpacking true setpacking 142 currentpacking true setpacking
143 userdict /Adobe_cshow 3 dict dup begin put 143 userdict /Adobe_cshow 3 dict dup begin put
144 /initialize 144 /initialize
145 { 145 {
146 /cshow where 146 /cshow where
147 { 147 {
148 pop 148 pop
149 } 149 }
150 { 150 {
151 userdict /Adobe_cshow_vars 1 dict dup begin put 151 userdict /Adobe_cshow_vars 1 dict dup begin put
152 /_cshow 152 /_cshow
153 {} def 153 {} def
154 Adobe_cshow begin 154 Adobe_cshow begin
155 Adobe_cshow 155 Adobe_cshow
156 { 156 {
157 dup xcheck 157 dup xcheck
158 { 158 {
159 bind 159 bind
160 } if 160 } if
161 userdict 3 1 roll put 161 userdict 3 1 roll put
162 } forall 162 } forall
163 end 163 end
164 end 164 end
165 } ifelse 165 } ifelse
166 } def 166 } def
167 /terminate 167 /terminate
168 { 168 {
169 } def 169 } def
170 /cshow 170 /cshow
171 { 171 {
172 exch 172 exch
173 Adobe_cshow_vars 173 Adobe_cshow_vars
174 exch /_cshow 174 exch /_cshow
175 exch put 175 exch put
176 { 176 {
177 0 0 Adobe_cshow_vars /_cshow get exec 177 0 0 Adobe_cshow_vars /_cshow get exec
178 } forall 178 } forall
179 } def 179 } def
180 currentdict readonly pop end 180 currentdict readonly pop end
181 setpacking 181 setpacking
182 %%EndResource 182 %%EndResource
183 %%BeginResource: procset Adobe_customcolor 1.0 0 183 %%BeginResource: procset Adobe_customcolor 1.0 0
184 %%Title: (Custom Color Operators) 184 %%Title: (Custom Color Operators)
185 %%Version: 1.0 0 185 %%Version: 1.0 0
186 %%CreationDate: (5/9/88) () 186 %%CreationDate: (5/9/88) ()
187 %%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) 187 %%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
188 currentpacking true setpacking 188 currentpacking true setpacking
189 userdict /Adobe_customcolor 5 dict dup begin put 189 userdict /Adobe_customcolor 5 dict dup begin put
190 /initialize 190 /initialize
191 { 191 {
192 /setcustomcolor where 192 /setcustomcolor where
193 { 193 {
194 pop 194 pop
195 } 195 }
196 { 196 {
197 Adobe_customcolor begin 197 Adobe_customcolor begin
198 Adobe_customcolor 198 Adobe_customcolor
199 { 199 {
200 dup xcheck 200 dup xcheck
201 { 201 {
202 bind 202 bind
203 } if 203 } if
204 pop pop 204 pop pop
205 } forall 205 } forall
206 end 206 end
207 Adobe_customcolor begin 207 Adobe_customcolor begin
208 } ifelse 208 } ifelse
209 } def 209 } def
210 /terminate 210 /terminate
211 { 211 {
212 currentdict Adobe_customcolor eq 212 currentdict Adobe_customcolor eq
213 { 213 {
214 end 214 end
215 } if 215 } if
216 } def 216 } def
217 /findcmykcustomcolor 217 /findcmykcustomcolor
218 { 218 {
219 5 packedarray 219 5 packedarray
220 } def 220 } def
221 /setcustomcolor 221 /setcustomcolor
222 { 222 {
223 exch 223 exch
224 aload pop pop 224 aload pop pop
225 4 225 4
226 { 226 {
227 4 index mul 4 1 roll 227 4 index mul 4 1 roll
228 } repeat 228 } repeat
229 5 -1 roll pop 229 5 -1 roll pop
230 setcmykcolor 230 setcmykcolor
231 } def 231 } def
232 /setoverprint 232 /setoverprint
233 { 233 {
234 pop 234 pop
235 } def 235 } def
236 currentdict readonly pop end 236 currentdict readonly pop end
237 setpacking 237 setpacking
238 %%EndResource 238 %%EndResource
239 %%BeginResource: procset Adobe_pattern_AI3 1.1 0 239 %%BeginResource: procset Adobe_pattern_AI3 1.1 0
240 %%Title: (Adobe Illustrator (R) Version 3.0 Pattern Operators) 240 %%Title: (Adobe Illustrator (R) Version 3.0 Pattern Operators)
241 %%Version: 1.1 0 241 %%Version: 1.1 0
242 %%CreationDate: (7/21/89) () 242 %%CreationDate: (7/21/89) ()
243 %%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) 243 %%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
244 currentpacking true setpacking 244 currentpacking true setpacking
245 userdict /Adobe_pattern_AI3 16 dict dup begin put 245 userdict /Adobe_pattern_AI3 16 dict dup begin put
246 /initialize 246 /initialize
247 { 247 {
248 /definepattern where 248 /definepattern where
249 { 249 {
250 pop 250 pop
251 } 251 }
252 { 252 {
253 Adobe_pattern_AI3 begin 253 Adobe_pattern_AI3 begin
254 Adobe_pattern_AI3 254 Adobe_pattern_AI3
255 { 255 {
256 dup xcheck 256 dup xcheck
257 { 257 {
258 bind 258 bind
259 } if 259 } if
260 pop pop 260 pop pop
261 } forall 261 } forall
262 mark 262 mark
263 cachestatus 7 1 roll pop pop pop pop exch pop exch 263 cachestatus 7 1 roll pop pop pop pop exch pop exch
264 { 264 {
265 { 265 {
266 10000 add 266 10000 add
267 dup 2 index gt 267 dup 2 index gt
268 { 268 {
269 exit 269 exit
270 } if 270 } if
271 dup setcachelimit 271 dup setcachelimit
272 } loop 272 } loop
273 } stopped 273 } stopped
274 cleartomark 274 cleartomark
275 } ifelse 275 } ifelse
276 } def 276 } def
277 /terminate 277 /terminate
278 { 278 {
279 currentdict Adobe_pattern_AI3 eq 279 currentdict Adobe_pattern_AI3 eq
280 { 280 {
281 end 281 end
282 } if 282 } if
283 } def 283 } def
284 errordict 284 errordict
285 /nocurrentpoint 285 /nocurrentpoint
286 { 286 {
287 pop 287 pop
288 stop 288 stop
289 } put 289 } put
290 errordict 290 errordict
291 /invalidaccess 291 /invalidaccess
292 { 292 {
293 pop 293 pop
294 stop 294 stop
295 } put 295 } put
296 /patternencoding 296 /patternencoding
297 256 array def 297 256 array def
298 0 1 255 298 0 1 255
299 { 299 {
300 patternencoding exch ( ) 2 copy exch 0 exch put cvn put 300 patternencoding exch ( ) 2 copy exch 0 exch put cvn put
301 } for 301 } for
302 /definepattern 302 /definepattern
303 { 303 {
304 17 dict begin 304 17 dict begin
305 /uniform exch def 305 /uniform exch def
306 /cache exch def 306 /cache exch def
307 /key exch def 307 /key exch def
308 /procarray exch def 308 /procarray exch def
309 /mtx exch matrix invertmatrix def 309 /mtx exch matrix invertmatrix def
310 /height exch def 310 /height exch def
311 /width exch def 311 /width exch def
312 /ctm matrix currentmatrix def 312 /ctm matrix currentmatrix def
313 /ptm matrix def 313 /ptm matrix def
314 /str 32 string def 314 /str 32 string def
315 /slice 9 dict def 315 /slice 9 dict def
316 slice /s 1 put 316 slice /s 1 put
317 slice /q 256 procarray length div sqrt floor cvi put 317 slice /q 256 procarray length div sqrt floor cvi put
318 slice /b 0 put 318 slice /b 0 put
319 /FontBBox [0 0 0 0] def 319 /FontBBox [0 0 0 0] def
320 /FontMatrix mtx matrix copy def 320 /FontMatrix mtx matrix copy def
321 /Encoding patternencoding def 321 /Encoding patternencoding def
322 /FontType 3 def 322 /FontType 3 def
323 /BuildChar 323 /BuildChar
324 { 324 {
325 exch 325 exch
326 begin 326 begin
327 /setstrokeadjust where {pop true setstrokeadjust} if 327 /setstrokeadjust where {pop true setstrokeadjust} if
328 slice begin 328 slice begin
329 dup q dup mul mod s idiv /i exch def 329 dup q dup mul mod s idiv /i exch def
330 dup q dup mul mod s mod /j exch def 330 dup q dup mul mod s mod /j exch def
331 q dup mul idiv procarray exch get 331 q dup mul idiv procarray exch get
332 /xl j width s div mul def 332 /xl j width s div mul def
333 /xg j 1 add width s div mul def 333 /xg j 1 add width s div mul def
334 /yl i height s div mul def 334 /yl i height s div mul def
335 /yg i 1 add height s div mul def 335 /yg i 1 add height s div mul def
336 uniform 336 uniform
337 { 337 {
338 1 1 338 1 1
339 } 339 }
340 { 340 {
341 width 0 dtransform 341 width 0 dtransform
342 dup mul exch dup mul add sqrt dup 1 add exch div 342 dup mul exch dup mul add sqrt dup 1 add exch div
343 0 height dtransform 343 0 height dtransform
344 dup mul exch dup mul add sqrt dup 1 add exch div 344 dup mul exch dup mul add sqrt dup 1 add exch div
345 } ifelse 345 } ifelse
346 width 0 cache 346 width 0 cache
347 { 347 {
348 xl 4 index mul yl 4 index mul xg 6 index mul yg 6 index mul 348 xl 4 index mul yl 4 index mul xg 6 index mul yg 6 index mul
349 setcachedevice 349 setcachedevice
350 } 350 }
351 { 351 {
352 setcharwidth 352 setcharwidth
353 } ifelse 353 } ifelse
354 gsave 354 gsave
355 scale 355 scale
356 newpath 356 newpath
357 xl yl moveto 357 xl yl moveto
358 xg yl lineto 358 xg yl lineto
359 xg yg lineto 359 xg yg lineto
360 xl yg lineto 360 xl yg lineto
361 closepath 361 closepath
362 clip 362 clip
363 newpath 363 newpath
364 end 364 end
365 end 365 end
366 exec 366 exec
367 grestore 367 grestore
368 } def 368 } def
369 key currentdict definefont 369 key currentdict definefont
370 end 370 end
371 } def 371 } def
372 /patterncachesize 372 /patterncachesize
373 { 373 {
374 gsave 374 gsave
375 newpath 375 newpath
376 0 0 moveto 376 0 0 moveto
377 width 0 lineto 377 width 0 lineto
378 width height lineto 378 width height lineto
379 0 height lineto 379 0 height lineto
380 closepath 380 closepath
381 patternmatrix setmatrix 381 patternmatrix setmatrix
382 pathbbox 382 pathbbox
383 exch ceiling 4 -1 roll floor sub 3 1 roll 383 exch ceiling 4 -1 roll floor sub 3 1 roll
384 ceiling exch floor sub 384 ceiling exch floor sub
385 mul 1 add 385 mul 1 add
386 grestore 386 grestore
387 } def 387 } def
388 /patterncachelimit 388 /patterncachelimit
389 { 389 {
390 cachestatus 7 1 roll 6 npop 8 mul 390 cachestatus 7 1 roll 6 npop 8 mul
391 } def 391 } def
392 /patternpath 392 /patternpath
393 { 393 {
394 exch dup begin setfont 394 exch dup begin setfont
395 ctm setmatrix 395 ctm setmatrix
396 concat 396 concat
397 slice exch /b exch slice /q get dup mul mul put 397 slice exch /b exch slice /q get dup mul mul put
398 FontMatrix concat 398 FontMatrix concat
399 uniform 399 uniform
400 { 400 {
401 width 0 dtransform round width div exch round width div exch 401 width 0 dtransform round width div exch round width div exch
402 0 height dtransform round height div exch height div exch 402 0 height dtransform round height div exch height div exch
403 0 0 transform round exch round exch 403 0 0 transform round exch round exch
404 ptm astore setmatrix 404 ptm astore setmatrix
405 } 405 }
406 { 406 {
407 ptm currentmatrix pop 407 ptm currentmatrix pop
408 } ifelse 408 } ifelse
409 {currentpoint} stopped not 409 {currentpoint} stopped not
410 { 410 {
411 2 npop 411 2 npop
412 pathbbox 412 pathbbox
413 true 413 true
414 4 index 3 index eq 414 4 index 3 index eq
415 4 index 3 index eq 415 4 index 3 index eq
416 and 416 and
417 { 417 {
418 pop false 418 pop false
419 { 419 {
420 {2 npop} 420 {2 npop}
421 {3 npop true} 421 {3 npop true}
422 {7 npop true} 422 {7 npop true}
423 {pop true} 423 {pop true}
424 pathforall 424 pathforall
425 } stopped 425 } stopped
426 { 426 {
427 5 npop true 427 5 npop true
428 } if 428 } if
429 } if 429 } if
430 { 430 {
431 height div ceiling height mul 4 1 roll 431 height div ceiling height mul 4 1 roll
432 width div ceiling width mul 4 1 roll 432 width div ceiling width mul 4 1 roll
433 height div floor height mul 4 1 roll 433 height div floor height mul 4 1 roll
434 width div floor width mul 4 1 roll 434 width div floor width mul 4 1 roll
435 2 index sub height div ceiling cvi exch 435 2 index sub height div ceiling cvi exch
436 3 index sub width div ceiling cvi exch 436 3 index sub width div ceiling cvi exch
437 4 2 roll moveto 437 4 2 roll moveto
438 FontMatrix mtx invertmatrix 438 FontMatrix mtx invertmatrix
439 dup dup 4 get exch 5 get rmoveto 439 dup dup 4 get exch 5 get rmoveto
440 ptm ptm concatmatrix pop 440 ptm ptm concatmatrix pop
441 slice /s 441 slice /s
442 patterncachesize patterncachelimit div ceiling sqrt ceiling cvi 442 patterncachesize patterncachelimit div ceiling sqrt ceiling cvi
443 dup slice /q get gt 443 dup slice /q get gt
444 { 444 {
445 pop slice /q get 445 pop slice /q get
446 } if 446 } if
447 put 447 put
448 0 1 slice /s get dup mul 1 sub 448 0 1 slice /s get dup mul 1 sub
449 { 449 {
450 slice /b get add 450 slice /b get add
451 gsave 451 gsave
452 0 1 str length 1 sub 452 0 1 str length 1 sub
453 { 453 {
454 str exch 2 index put 454 str exch 2 index put
455 } for 455 } for
456 pop 456 pop
457 dup 457 dup
458 { 458 {
459 gsave 459 gsave
460 ptm setmatrix 460 ptm setmatrix
461 1 index str length idiv {str show} repeat 461 1 index str length idiv {str show} repeat
462 1 index str length mod str exch 0 exch getinterval show 462 1 index str length mod str exch 0 exch getinterval show
463 grestore 463 grestore
464 0 height rmoveto 464 0 height rmoveto
465 } repeat 465 } repeat
466 grestore 466 grestore
467 } for 467 } for
468 2 npop 468 2 npop
469 } 469 }
470 { 470 {
471 4 npop 471 4 npop
472 } ifelse 472 } ifelse
473 } if 473 } if
474 end 474 end
475 } def 475 } def
476 /patternclip 476 /patternclip
477 { 477 {
478 clip 478 clip
479 } def 479 } def
480 /patternstrokepath 480 /patternstrokepath
481 { 481 {
482 strokepath 482 strokepath
483 } def 483 } def
484 /patternmatrix 484 /patternmatrix
485 matrix def 485 matrix def
486 /patternfill 486 /patternfill
487 { 487 {
488 dup type /dicttype eq 488 dup type /dicttype eq
489 { 489 {
490 Adobe_pattern_AI3 /patternmatrix get 490 Adobe_pattern_AI3 /patternmatrix get
491 } if 491 } if
492 gsave 492 gsave
493 patternclip 493 patternclip
494 Adobe_pattern_AI3 /patternpath get exec 494 Adobe_pattern_AI3 /patternpath get exec
495 grestore 495 grestore
496 newpath 496 newpath
497 } def 497 } def
498 /patternstroke 498 /patternstroke
499 { 499 {
500 dup type /dicttype eq 500 dup type /dicttype eq
501 { 501 {
502 Adobe_pattern_AI3 /patternmatrix get 502 Adobe_pattern_AI3 /patternmatrix get
503 } if 503 } if
504 gsave 504 gsave
505 patternstrokepath 505 patternstrokepath
506 true 506 true
507 { 507 {
508 { 508 {
509 { 509 {
510 newpath 510 newpath
511 moveto 511 moveto
512 } 512 }
513 { 513 {
514 lineto 514 lineto
515 } 515 }
516 { 516 {
517 curveto 517 curveto
518 } 518 }
519 { 519 {
520 closepath 520 closepath
521 3 copy 521 3 copy
522 Adobe_pattern_AI3 /patternfill get exec 522 Adobe_pattern_AI3 /patternfill get exec
523 } pathforall 523 } pathforall
524 3 npop 524 3 npop
525 } stopped 525 } stopped
526 { 526 {
527 5 npop 527 5 npop
528 patternclip 528 patternclip
529 Adobe_pattern_AI3 /patternfill get exec 529 Adobe_pattern_AI3 /patternfill get exec
530 } if 530 } if
531 } 531 }
532 { 532 {
533 patternclip 533 patternclip
534 Adobe_pattern_AI3 /patternfill get exec 534 Adobe_pattern_AI3 /patternfill get exec
535 } ifelse 535 } ifelse
536 grestore 536 grestore
537 newpath 537 newpath
538 } def 538 } def
539 /patternashow 539 /patternashow
540 { 540 {
541 3 index type /dicttype eq 541 3 index type /dicttype eq
542 { 542 {
543 Adobe_pattern_AI3 /patternmatrix get 4 1 roll 543 Adobe_pattern_AI3 /patternmatrix get 4 1 roll
544 } if 544 } if
545 { 545 {
546 2 npop (0) exch 546 2 npop (0) exch
547 2 copy 0 exch put pop 547 2 copy 0 exch put pop
548 gsave 548 gsave
549 false charpath currentpoint 549 false charpath currentpoint
550 6 index 6 index 6 index 550 6 index 6 index 6 index
551 Adobe_pattern_AI3 /patternfill get exec 551 Adobe_pattern_AI3 /patternfill get exec
552 grestore 552 grestore
553 newpath moveto 553 newpath moveto
554 2 copy rmoveto 554 2 copy rmoveto
555 } exch cshow 555 } exch cshow
556 5 npop 556 5 npop
557 } def 557 } def
558 /patternawidthshow 558 /patternawidthshow
559 { 559 {
560 6 index type /dicttype eq 560 6 index type /dicttype eq
561 { 561 {
562 Adobe_pattern_AI3 /patternmatrix get 7 1 roll 562 Adobe_pattern_AI3 /patternmatrix get 7 1 roll
563 } if 563 } if
564 { 564 {
565 2 npop (0) exch 565 2 npop (0) exch
566 2 copy 0 exch put 566 2 copy 0 exch put
567 gsave 567 gsave
568 _sp eq {5 index 5 index rmoveto} if 568 _sp eq {5 index 5 index rmoveto} if
569 false charpath currentpoint 569 false charpath currentpoint
570 9 index 9 index 9 index 570 9 index 9 index 9 index
571 Adobe_pattern_AI3 /patternfill get exec 571 Adobe_pattern_AI3 /patternfill get exec
572 grestore 572 grestore
573 newpath moveto 573 newpath moveto
574 2 copy rmoveto 574 2 copy rmoveto
575 } exch cshow 575 } exch cshow
576 8 npop 576 8 npop
577 } def 577 } def
578 /patternashowstroke 578 /patternashowstroke
579 { 579 {
580 4 index type /dicttype eq 580 4 index type /dicttype eq
581 { 581 {
582 patternmatrix /patternmatrix get 5 1 roll 582 patternmatrix /patternmatrix get 5 1 roll
583 } if 583 } if
584 4 1 roll 584 4 1 roll
585 { 585 {
586 2 npop (0) exch 586 2 npop (0) exch
587 2 copy 0 exch put pop 587 2 copy 0 exch put pop
588 gsave 588 gsave
589 false charpath 589 false charpath
590 currentpoint 590 currentpoint
591 4 index setmatrix 591 4 index setmatrix
592 7 index 7 index 7 index 592 7 index 7 index 7 index
593 Adobe_pattern_AI3 /patternstroke get exec 593 Adobe_pattern_AI3 /patternstroke get exec
594 grestore 594 grestore
595 newpath moveto 595 newpath moveto
596 2 copy rmoveto 596 2 copy rmoveto
597 } exch cshow 597 } exch cshow
598 6 npop 598 6 npop
599 } def 599 } def
600 /patternawidthshowstroke 600 /patternawidthshowstroke
601 { 601 {
602 7 index type /dicttype eq 602 7 index type /dicttype eq
603 { 603 {
604 patternmatrix /patternmatrix get 8 1 roll 604 patternmatrix /patternmatrix get 8 1 roll
605 } if 605 } if
606 7 1 roll 606 7 1 roll
607 { 607 {
608 2 npop (0) exch 608 2 npop (0) exch
609 2 copy 0 exch put 609 2 copy 0 exch put
610 gsave 610 gsave
611 _sp eq {5 index 5 index rmoveto} if 611 _sp eq {5 index 5 index rmoveto} if
612 false charpath currentpoint 612 false charpath currentpoint
613 7 index setmatrix 613 7 index setmatrix
614 10 index 10 index 10 index 614 10 index 10 index 10 index
615 Adobe_pattern_AI3 /patternstroke get exec 615 Adobe_pattern_AI3 /patternstroke get exec
616 grestore 616 grestore
617 newpath moveto 617 newpath moveto
618 2 copy rmoveto 618 2 copy rmoveto
619 } exch cshow 619 } exch cshow
620 9 npop 620 9 npop
621 } def 621 } def
622 currentdict readonly pop end 622 currentdict readonly pop end
623 setpacking 623 setpacking
624 %%EndResource 624 %%EndResource
625 %%BeginResource: procset Adobe_Illustrator_AI3 1.1 0 625 %%BeginResource: procset Adobe_Illustrator_AI3 1.1 0
626 %%Title: (Adobe Illustrator (R) Version 3.0 Full Prolog) 626 %%Title: (Adobe Illustrator (R) Version 3.0 Full Prolog)
627 %%Version: 1.1 0 627 %%Version: 1.1 0
628 %%CreationDate: (3/7/1994) () 628 %%CreationDate: (3/7/1994) ()
629 %%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) 629 %%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
630 currentpacking true setpacking 630 currentpacking true setpacking
631 userdict /Adobe_Illustrator_AI3 71 dict dup begin put 631 userdict /Adobe_Illustrator_AI3 71 dict dup begin put
632 /initialize 632 /initialize
633 { 633 {
634 userdict /Adobe_Illustrator_AI3_vars 67 dict dup begin put 634 userdict /Adobe_Illustrator_AI3_vars 67 dict dup begin put
635 /_lp /none def 635 /_lp /none def
636 /_pf {} def 636 /_pf {} def
637 /_ps {} def 637 /_ps {} def
638 /_psf {} def 638 /_psf {} def
639 /_pss {} def 639 /_pss {} def
640 /_pjsf {} def 640 /_pjsf {} def
641 /_pjss {} def 641 /_pjss {} def
642 /_pola 0 def 642 /_pola 0 def
643 /_doClip 0 def 643 /_doClip 0 def
644 /cf currentflat def 644 /cf currentflat def
645 /_tm matrix def 645 /_tm matrix def
646 /_renderStart [/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0] def 646 /_renderStart [/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0] def
647 /_renderEnd [null null null null /i1 /i1 /i1 /i1] def 647 /_renderEnd [null null null null /i1 /i1 /i1 /i1] def
648 /_render -1 def 648 /_render -1 def
649 /_rise 0 def 649 /_rise 0 def
650 /_ax 0 def 650 /_ax 0 def
651 /_ay 0 def 651 /_ay 0 def
652 /_cx 0 def 652 /_cx 0 def
653 /_cy 0 def 653 /_cy 0 def
654 /_leading [0 0] def 654 /_leading [0 0] def
655 /_ctm matrix def 655 /_ctm matrix def
656 /_mtx matrix def 656 /_mtx matrix def
657 /_sp 16#020 def 657 /_sp 16#020 def
658 /_hyphen (-) def 658 /_hyphen (-) def
659 /_fScl 0 def 659 /_fScl 0 def
660 /_cnt 0 def 660 /_cnt 0 def
661 /_hs 1 def 661 /_hs 1 def
662 /_nativeEncoding 0 def 662 /_nativeEncoding 0 def
663 /_useNativeEncoding 0 def 663 /_useNativeEncoding 0 def
664 /_tempEncode 0 def 664 /_tempEncode 0 def
665 /_pntr 0 def 665 /_pntr 0 def
666 /_tDict 2 dict def 666 /_tDict 2 dict def
667 /_wv 0 def 667 /_wv 0 def
668 /Tx {} def 668 /Tx {} def
669 /Tj {} def 669 /Tj {} def
670 /CRender {} def 670 /CRender {} def
671 /_AI3_savepage {} def 671 /_AI3_savepage {} def
672 /_gf null def 672 /_gf null def
673 /_cf 4 array def 673 /_cf 4 array def
674 /_if null def 674 /_if null def
675 /_of false def 675 /_of false def
676 /_fc {} def 676 /_fc {} def
677 /_gs null def 677 /_gs null def
678 /_cs 4 array def 678 /_cs 4 array def
679 /_is null def 679 /_is null def
680 /_os false def 680 /_os false def
681 /_sc {} def 681 /_sc {} def
682 /_pd 1 dict def 682 /_pd 1 dict def
683 /_ed 15 dict def 683 /_ed 15 dict def
684 /_pm matrix def 684 /_pm matrix def
685 /_fm null def 685 /_fm null def
686 /_fd null def 686 /_fd null def
687 /_fdd null def 687 /_fdd null def
688 /_sm null def 688 /_sm null def
689 /_sd null def 689 /_sd null def
690 /_sdd null def 690 /_sdd null def
691 /_i null def 691 /_i null def
692 Adobe_Illustrator_AI3 begin 692 Adobe_Illustrator_AI3 begin
693 Adobe_Illustrator_AI3 dup /nc get begin 693 Adobe_Illustrator_AI3 dup /nc get begin
694 { 694 {
695 dup xcheck 695 dup xcheck
696 { 696 {
697 bind 697 bind
698 } if 698 } if
699 pop pop 699 pop pop
700 } forall 700 } forall
701 end 701 end
702 end 702 end
703 end 703 end
704 Adobe_Illustrator_AI3 begin 704 Adobe_Illustrator_AI3 begin
705 Adobe_Illustrator_AI3_vars begin 705 Adobe_Illustrator_AI3_vars begin
706 newpath 706 newpath
707 } def 707 } def
708 /terminate 708 /terminate
709 { 709 {
710 end 710 end
711 end 711 end
712 } def 712 } def
713 /_ 713 /_
714 null def 714 null def
715 /ddef 715 /ddef
716 { 716 {
717 Adobe_Illustrator_AI3_vars 3 1 roll put 717 Adobe_Illustrator_AI3_vars 3 1 roll put
718 } def 718 } def
719 /xput 719 /xput
720 { 720 {
721 dup load dup length exch maxlength eq 721 dup load dup length exch maxlength eq
722 { 722 {
723 dup dup load dup 723 dup dup load dup
724 length 2 mul dict copy def 724 length 2 mul dict copy def
725 } if 725 } if
726 load begin def end 726 load begin def end
727 } def 727 } def
728 /npop 728 /npop
729 { 729 {
730 { 730 {
731 pop 731 pop
732 } repeat 732 } repeat
733 } def 733 } def
734 /sw 734 /sw
735 { 735 {
736 dup length exch stringwidth 736 dup length exch stringwidth
737 exch 5 -1 roll 3 index mul add 737 exch 5 -1 roll 3 index mul add
738 4 1 roll 3 1 roll mul add 738 4 1 roll 3 1 roll mul add
739 } def 739 } def
740 /swj 740 /swj
741 { 741 {
742 dup 4 1 roll 742 dup 4 1 roll
743 dup length exch stringwidth 743 dup length exch stringwidth
744 exch 5 -1 roll 3 index mul add 744 exch 5 -1 roll 3 index mul add
745 4 1 roll 3 1 roll mul add 745 4 1 roll 3 1 roll mul add
746 6 2 roll /_cnt 0 ddef 746 6 2 roll /_cnt 0 ddef
747 {1 index eq {/_cnt _cnt 1 add ddef} if} forall pop 747 {1 index eq {/_cnt _cnt 1 add ddef} if} forall pop
748 exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop 748 exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop
749 } def 749 } def
750 /ss 750 /ss
751 { 751 {
752 4 1 roll 752 4 1 roll
753 { 753 {
754 2 npop 754 2 npop
755 (0) exch 2 copy 0 exch put pop 755 (0) exch 2 copy 0 exch put pop
756 gsave 756 gsave
757 false charpath currentpoint 757 false charpath currentpoint
758 4 index setmatrix 758 4 index setmatrix
759 stroke 759 stroke
760 grestore 760 grestore
761 moveto 761 moveto
762 2 copy rmoveto 762 2 copy rmoveto
763 } exch cshow 763 } exch cshow
764 3 npop 764 3 npop
765 } def 765 } def
766 /jss 766 /jss
767 { 767 {
768 4 1 roll 768 4 1 roll
769 { 769 {
770 2 npop 770 2 npop
771 (0) exch 2 copy 0 exch put 771 (0) exch 2 copy 0 exch put
772 gsave 772 gsave
773 _sp eq 773 _sp eq
774 { 774 {
775 exch 6 index 6 index 6 index 5 -1 roll widthshow 775 exch 6 index 6 index 6 index 5 -1 roll widthshow
776 currentpoint 776 currentpoint
777 } 777 }
778 { 778 {
779 false charpath currentpoint 779 false charpath currentpoint
780 4 index setmatrix stroke 780 4 index setmatrix stroke
781 }ifelse 781 }ifelse
782 grestore 782 grestore
783 moveto 783 moveto
784 2 copy rmoveto 784 2 copy rmoveto
785 } exch cshow 785 } exch cshow
786 6 npop 786 6 npop
787 } def 787 } def
788 /sp 788 /sp
789 { 789 {
790 { 790 {
791 2 npop (0) exch 791 2 npop (0) exch
792 2 copy 0 exch put pop 792 2 copy 0 exch put pop
793 false charpath 793 false charpath
794 2 copy rmoveto 794 2 copy rmoveto
795 } exch cshow 795 } exch cshow
796 2 npop 796 2 npop
797 } def 797 } def
798 /jsp 798 /jsp
799 { 799 {
800 { 800 {
801 2 npop 801 2 npop
802 (0) exch 2 copy 0 exch put 802 (0) exch 2 copy 0 exch put
803 _sp eq 803 _sp eq
804 { 804 {
805 exch 5 index 5 index 5 index 5 -1 roll widthshow 805 exch 5 index 5 index 5 index 5 -1 roll widthshow
806 } 806 }
807 { 807 {
808 false charpath 808 false charpath
809 }ifelse 809 }ifelse
810 2 copy rmoveto 810 2 copy rmoveto
811 } exch cshow 811 } exch cshow
812 5 npop 812 5 npop
813 } def 813 } def
814 /pl 814 /pl
815 { 815 {
816 transform 816 transform
817 0.25 sub round 0.25 add exch 817 0.25 sub round 0.25 add exch
818 0.25 sub round 0.25 add exch 818 0.25 sub round 0.25 add exch
819 itransform 819 itransform
820 } def 820 } def
821 /setstrokeadjust where 821 /setstrokeadjust where
822 { 822 {
823 pop true setstrokeadjust 823 pop true setstrokeadjust
824 /c 824 /c
825 { 825 {
826 curveto 826 curveto
827 } def 827 } def
828 /C 828 /C
829 /c load def 829 /c load def
830 /v 830 /v
831 { 831 {
832 currentpoint 6 2 roll curveto 832 currentpoint 6 2 roll curveto
833 } def 833 } def
834 /V 834 /V
835 /v load def 835 /v load def
836 /y 836 /y
837 { 837 {
838 2 copy curveto 838 2 copy curveto
839 } def 839 } def
840 /Y 840 /Y
841 /y load def 841 /y load def
842 /l 842 /l
843 { 843 {
844 lineto 844 lineto
845 } def 845 } def
846 /L 846 /L
847 /l load def 847 /l load def
848 /m 848 /m
849 { 849 {
850 moveto 850 moveto
851 } def 851 } def
852 } 852 }
853 { 853 {
854 /c 854 /c
855 { 855 {
856 pl curveto 856 pl curveto
857 } def 857 } def
858 /C 858 /C
859 /c load def 859 /c load def
860 /v 860 /v
861 { 861 {
862 currentpoint 6 2 roll pl curveto 862 currentpoint 6 2 roll pl curveto
863 } def 863 } def
864 /V 864 /V
865 /v load def 865 /v load def
866 /y 866 /y
867 { 867 {
868 pl 2 copy curveto 868 pl 2 copy curveto
869 } def 869 } def
870 /Y 870 /Y
871 /y load def 871 /y load def
872 /l 872 /l
873 { 873 {
874 pl lineto 874 pl lineto
875 } def 875 } def
876 /L 876 /L
877 /l load def 877 /l load def
878 /m 878 /m
879 { 879 {
880 pl moveto 880 pl moveto
881 } def 881 } def
882 } ifelse 882 } ifelse
883 /d 883 /d
884 { 884 {
885 setdash 885 setdash
886 } def 886 } def
887 /cf {} def 887 /cf {} def
888 /i 888 /i
889 { 889 {
890 dup 0 eq 890 dup 0 eq
891 { 891 {
892 pop cf 892 pop cf
893 } if 893 } if
894 setflat 894 setflat
895 } def 895 } def
896 /j 896 /j
897 { 897 {
898 setlinejoin 898 setlinejoin
899 } def 899 } def
900 /J 900 /J
901 { 901 {
902 setlinecap 902 setlinecap
903 } def 903 } def
904 /M 904 /M
905 { 905 {
906 setmiterlimit 906 setmiterlimit
907 } def 907 } def
908 /w 908 /w
909 { 909 {
910 setlinewidth 910 setlinewidth
911 } def 911 } def
912 /H 912 /H
913 {} def 913 {} def
914 /h 914 /h
915 { 915 {
916 closepath 916 closepath
917 } def 917 } def
918 /N 918 /N
919 { 919 {
920 _pola 0 eq 920 _pola 0 eq
921 { 921 {
922 _doClip 1 eq {clip /_doClip 0 ddef} if 922 _doClip 1 eq {clip /_doClip 0 ddef} if
923 newpath 923 newpath
924 } 924 }
925 { 925 {
926 /CRender {N} ddef 926 /CRender {N} ddef
927 }ifelse 927 }ifelse
928 } def 928 } def
929 /n 929 /n
930 {N} def 930 {N} def
931 /F 931 /F
932 { 932 {
933 _pola 0 eq 933 _pola 0 eq
934 { 934 {
935 _doClip 1 eq 935 _doClip 1 eq
936 { 936 {
937 gsave _pf grestore clip newpath /_lp /none ddef _fc 937 gsave _pf grestore clip newpath /_lp /none ddef _fc
938 /_doClip 0 ddef 938 /_doClip 0 ddef
939 } 939 }
940 { 940 {
941 _pf 941 _pf
942 }ifelse 942 }ifelse
943 } 943 }
944 { 944 {
945 /CRender {F} ddef 945 /CRender {F} ddef
946 }ifelse 946 }ifelse
947 } def 947 } def
948 /f 948 /f
949 { 949 {
950 closepath 950 closepath
951 F 951 F
952 } def 952 } def
953 /S 953 /S
954 { 954 {
955 _pola 0 eq 955 _pola 0 eq
956 { 956 {
957 _doClip 1 eq 957 _doClip 1 eq
958 { 958 {
959 gsave _ps grestore clip newpath /_lp /none ddef _sc 959 gsave _ps grestore clip newpath /_lp /none ddef _sc
960 /_doClip 0 ddef 960 /_doClip 0 ddef
961 } 961 }
962 { 962 {
963 _ps 963 _ps
964 }ifelse 964 }ifelse
965 } 965 }
966 { 966 {
967 /CRender {S} ddef 967 /CRender {S} ddef
968 }ifelse 968 }ifelse
969 } def 969 } def
970 /s 970 /s
971 { 971 {
972 closepath 972 closepath
973 S 973 S
974 } def 974 } def
975 /B 975 /B
976 { 976 {
977 _pola 0 eq 977 _pola 0 eq
978 { 978 {
979 _doClip 1 eq 979 _doClip 1 eq
980 gsave F grestore 980 gsave F grestore
981 { 981 {
982 gsave S grestore clip newpath /_lp /none ddef _sc 982 gsave S grestore clip newpath /_lp /none ddef _sc
983 /_doClip 0 ddef 983 /_doClip 0 ddef
984 } 984 }
985 { 985 {
986 S 986 S
987 }ifelse 987 }ifelse
988 } 988 }
989 { 989 {
990 /CRender {B} ddef 990 /CRender {B} ddef
991 }ifelse 991 }ifelse
992 } def 992 } def
993 /b 993 /b
994 { 994 {
995 closepath 995 closepath
996 B 996 B
997 } def 997 } def
998 /W 998 /W
999 { 999 {
1000 /_doClip 1 ddef 1000 /_doClip 1 ddef
1001 } def 1001 } def
1002 /* 1002 /*
1003 { 1003 {
1004 count 0 ne 1004 count 0 ne
1005 { 1005 {
1006 dup type (stringtype) eq {pop} if 1006 dup type (stringtype) eq {pop} if
1007 } if 1007 } if
1008 _pola 0 eq {newpath} if 1008 _pola 0 eq {newpath} if
1009 } def 1009 } def
1010 /u 1010 /u
1011 {} def 1011 {} def
1012 /U 1012 /U
1013 {} def 1013 {} def
1014 /q 1014 /q
1015 { 1015 {
1016 _pola 0 eq {gsave} if 1016 _pola 0 eq {gsave} if
1017 } def 1017 } def
1018 /Q 1018 /Q
1019 { 1019 {
1020 _pola 0 eq {grestore} if 1020 _pola 0 eq {grestore} if
1021 } def 1021 } def
1022 /*u 1022 /*u
1023 { 1023 {
1024 _pola 1 add /_pola exch ddef 1024 _pola 1 add /_pola exch ddef
1025 } def 1025 } def
1026 /*U 1026 /*U
1027 { 1027 {
1028 _pola 1 sub /_pola exch ddef 1028 _pola 1 sub /_pola exch ddef
1029 _pola 0 eq {CRender} if 1029 _pola 0 eq {CRender} if
1030 } def 1030 } def
1031 /D 1031 /D
1032 {pop} def 1032 {pop} def
1033 /*w 1033 /*w
1034 {} def 1034 {} def
1035 /*W 1035 /*W
1036 {} def 1036 {} def
1037 /` 1037 /`
1038 { 1038 {
1039 /_i save ddef 1039 /_i save ddef
1040 6 1 roll 4 npop 1040 6 1 roll 4 npop
1041 concat pop 1041 concat pop
1042 userdict begin 1042 userdict begin
1043 /showpage {} def 1043 /showpage {} def
1044 0 setgray 1044 0 setgray
1045 0 setlinecap 1045 0 setlinecap
1046 1 setlinewidth 1046 1 setlinewidth
1047 0 setlinejoin 1047 0 setlinejoin
1048 10 setmiterlimit 1048 10 setmiterlimit
1049 [] 0 setdash 1049 [] 0 setdash
1050 /setstrokeadjust where {pop false setstrokeadjust} if 1050 /setstrokeadjust where {pop false setstrokeadjust} if
1051 newpath 1051 newpath
1052 0 setgray 1052 0 setgray
1053 false setoverprint 1053 false setoverprint
1054 } def 1054 } def
1055 /~ 1055 /~
1056 { 1056 {
1057 end 1057 end
1058 _i restore 1058 _i restore
1059 } def 1059 } def
1060 /@ 1060 /@
1061 {} def 1061 {} def
1062 /& 1062 /&
1063 {} def 1063 {} def
1064 /O 1064 /O
1065 { 1065 {
1066 0 ne 1066 0 ne
1067 /_of exch ddef 1067 /_of exch ddef
1068 /_lp /none ddef 1068 /_lp /none ddef
1069 } def 1069 } def
1070 /R 1070 /R
1071 { 1071 {
1072 0 ne 1072 0 ne
1073 /_os exch ddef 1073 /_os exch ddef
1074 /_lp /none ddef 1074 /_lp /none ddef
1075 } def 1075 } def
1076 /g 1076 /g
1077 { 1077 {
1078 /_gf exch ddef 1078 /_gf exch ddef
1079 /_fc 1079 /_fc
1080 { 1080 {
1081 _lp /fill ne 1081 _lp /fill ne
1082 { 1082 {
1083 _of setoverprint 1083 _of setoverprint
1084 _gf setgray 1084 _gf setgray
1085 /_lp /fill ddef 1085 /_lp /fill ddef
1086 } if 1086 } if
1087 } ddef 1087 } ddef
1088 /_pf 1088 /_pf
1089 { 1089 {
1090 _fc 1090 _fc
1091 fill 1091 fill
1092 } ddef 1092 } ddef
1093 /_psf 1093 /_psf
1094 { 1094 {
1095 _fc 1095 _fc
1096 ashow 1096 ashow
1097 } ddef 1097 } ddef
1098 /_pjsf 1098 /_pjsf
1099 { 1099 {
1100 _fc 1100 _fc
1101 awidthshow 1101 awidthshow
1102 } ddef 1102 } ddef
1103 /_lp /none ddef 1103 /_lp /none ddef
1104 } def 1104 } def
1105 /G 1105 /G
1106 { 1106 {
1107 /_gs exch ddef 1107 /_gs exch ddef
1108 /_sc 1108 /_sc
1109 { 1109 {
1110 _lp /stroke ne 1110 _lp /stroke ne
1111 { 1111 {
1112 _os setoverprint 1112 _os setoverprint
1113 _gs setgray 1113 _gs setgray
1114 /_lp /stroke ddef 1114 /_lp /stroke ddef
1115 } if 1115 } if
1116 } ddef 1116 } ddef
1117 /_ps 1117 /_ps
1118 { 1118 {
1119 _sc 1119 _sc
1120 stroke 1120 stroke
1121 } ddef 1121 } ddef
1122 /_pss 1122 /_pss
1123 { 1123 {
1124 _sc 1124 _sc
1125 ss 1125 ss
1126 } ddef 1126 } ddef
1127 /_pjss 1127 /_pjss
1128 { 1128 {
1129 _sc 1129 _sc
1130 jss 1130 jss
1131 } ddef 1131 } ddef
1132 /_lp /none ddef 1132 /_lp /none ddef
1133 } def 1133 } def
1134 /k 1134 /k
1135 { 1135 {
1136 _cf astore pop 1136 _cf astore pop
1137 /_fc 1137 /_fc
1138 { 1138 {
1139 _lp /fill ne 1139 _lp /fill ne
1140 { 1140 {
1141 _of setoverprint 1141 _of setoverprint
1142 _cf aload pop setcmykcolor 1142 _cf aload pop setcmykcolor
1143 /_lp /fill ddef 1143 /_lp /fill ddef
1144 } if 1144 } if
1145 } ddef 1145 } ddef
1146 /_pf 1146 /_pf
1147 { 1147 {
1148 _fc 1148 _fc
1149 fill 1149 fill
1150 } ddef 1150 } ddef
1151 /_psf 1151 /_psf
1152 { 1152 {
1153 _fc 1153 _fc
1154 ashow 1154 ashow
1155 } ddef 1155 } ddef
1156 /_pjsf 1156 /_pjsf
1157 { 1157 {
1158 _fc 1158 _fc
1159 awidthshow 1159 awidthshow
1160 } ddef 1160 } ddef
1161 /_lp /none ddef 1161 /_lp /none ddef
1162 } def 1162 } def
1163 /K 1163 /K
1164 { 1164 {
1165 _cs astore pop 1165 _cs astore pop
1166 /_sc 1166 /_sc
1167 { 1167 {
1168 _lp /stroke ne 1168 _lp /stroke ne
1169 { 1169 {
1170 _os setoverprint 1170 _os setoverprint
1171 _cs aload pop setcmykcolor 1171 _cs aload pop setcmykcolor
1172 /_lp /stroke ddef 1172 /_lp /stroke ddef
1173 } if 1173 } if
1174 } ddef 1174 } ddef
1175 /_ps 1175 /_ps
1176 { 1176 {
1177 _sc 1177 _sc
1178 stroke 1178 stroke
1179 } ddef 1179 } ddef
1180 /_pss 1180 /_pss
1181 { 1181 {
1182 _sc 1182 _sc
1183 ss 1183 ss
1184 } ddef 1184 } ddef
1185 /_pjss 1185 /_pjss
1186 { 1186 {
1187 _sc 1187 _sc
1188 jss 1188 jss
1189 } ddef 1189 } ddef
1190 /_lp /none ddef 1190 /_lp /none ddef
1191 } def 1191 } def
1192 /x 1192 /x
1193 { 1193 {
1194 /_gf exch ddef 1194 /_gf exch ddef
1195 findcmykcustomcolor 1195 findcmykcustomcolor
1196 /_if exch ddef 1196 /_if exch ddef
1197 /_fc 1197 /_fc
1198 { 1198 {
1199 _lp /fill ne 1199 _lp /fill ne
1200 { 1200 {
1201 _of setoverprint 1201 _of setoverprint
1202 _if _gf 1 exch sub setcustomcolor 1202 _if _gf 1 exch sub setcustomcolor
1203 /_lp /fill ddef 1203 /_lp /fill ddef
1204 } if 1204 } if
1205 } ddef 1205 } ddef
1206 /_pf 1206 /_pf
1207 { 1207 {
1208 _fc 1208 _fc
1209 fill 1209 fill
1210 } ddef 1210 } ddef
1211 /_psf 1211 /_psf
1212 { 1212 {
1213 _fc 1213 _fc
1214 ashow 1214 ashow
1215 } ddef 1215 } ddef
1216 /_pjsf 1216 /_pjsf
1217 { 1217 {
1218 _fc 1218 _fc
1219 awidthshow 1219 awidthshow
1220 } ddef 1220 } ddef
1221 /_lp /none ddef 1221 /_lp /none ddef
1222 } def 1222 } def
1223 /X 1223 /X
1224 { 1224 {
1225 /_gs exch ddef 1225 /_gs exch ddef
1226 findcmykcustomcolor 1226 findcmykcustomcolor
1227 /_is exch ddef 1227 /_is exch ddef
1228 /_sc 1228 /_sc
1229 { 1229 {
1230 _lp /stroke ne 1230 _lp /stroke ne
1231 { 1231 {
1232 _os setoverprint 1232 _os setoverprint
1233 _is _gs 1 exch sub setcustomcolor 1233 _is _gs 1 exch sub setcustomcolor
1234 /_lp /stroke ddef 1234 /_lp /stroke ddef
1235 } if 1235 } if
1236 } ddef 1236 } ddef
1237 /_ps 1237 /_ps
1238 { 1238 {
1239 _sc 1239 _sc
1240 stroke 1240 stroke
1241 } ddef 1241 } ddef
1242 /_pss 1242 /_pss
1243 { 1243 {
1244 _sc 1244 _sc
1245 ss 1245 ss
1246 } ddef 1246 } ddef
1247 /_pjss 1247 /_pjss
1248 { 1248 {
1249 _sc 1249 _sc
1250 jss 1250 jss
1251 } ddef 1251 } ddef
1252 /_lp /none ddef 1252 /_lp /none ddef
1253 } def 1253 } def
1254 /dp 1254 /dp
1255 { 1255 {
1256 dup null eq 1256 dup null eq
1257 { 1257 {
1258 pop 1258 pop
1259 _dp 0 ne 1259 _dp 0 ne
1260 { 1260 {
1261 0 1 _dp 1 sub _dl mod 1261 0 1 _dp 1 sub _dl mod
1262 { 1262 {
1263 _da exch get 3 get 1263 _da exch get 3 get
1264 } for 1264 } for
1265 _dp 1 sub _dl mod 1 add packedarray 1265 _dp 1 sub _dl mod 1 add packedarray
1266 _da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll 1266 _da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll
1267 definepattern pop 1267 definepattern pop
1268 } if 1268 } if
1269 } 1269 }
1270 { 1270 {
1271 _dp 0 ne _dp _dl mod 0 eq and 1271 _dp 0 ne _dp _dl mod 0 eq and
1272 { 1272 {
1273 null dp 1273 null dp
1274 } if 1274 } if
1275 7 packedarray _da exch _dp _dl mod exch put 1275 7 packedarray _da exch _dp _dl mod exch put
1276 _dp _dl mod _da 0 get 4 get 2 packedarray 1276 _dp _dl mod _da 0 get 4 get 2 packedarray
1277 /_dp _dp 1 add def 1277 /_dp _dp 1 add def
1278 } ifelse 1278 } ifelse
1279 } def 1279 } def
1280 /E 1280 /E
1281 { 1281 {
1282 _ed begin 1282 _ed begin
1283 dup 0 get type /arraytype ne 1283 dup 0 get type /arraytype ne
1284 { 1284 {
1285 0 1285 0
1286 { 1286 {
1287 dup 1 add index type /arraytype eq 1287 dup 1 add index type /arraytype eq
1288 { 1288 {
1289 1 add 1289 1 add
1290 } 1290 }
1291 { 1291 {
1292 exit 1292 exit
1293 } ifelse 1293 } ifelse
1294 } loop 1294 } loop
1295 array astore 1295 array astore
1296 } if 1296 } if
1297 /_dd exch def 1297 /_dd exch def
1298 /_ury exch def 1298 /_ury exch def
1299 /_urx exch def 1299 /_urx exch def
1300 /_lly exch def 1300 /_lly exch def
1301 /_llx exch def 1301 /_llx exch def
1302 /_n exch def 1302 /_n exch def
1303 /_y 0 def 1303 /_y 0 def
1304 /_dl 4 def 1304 /_dl 4 def
1305 /_dp 0 def 1305 /_dp 0 def
1306 /_da _dl array def 1306 /_da _dl array def
1307 0 1 _dd length 1 sub 1307 0 1 _dd length 1 sub
1308 { 1308 {
1309 /_d exch _dd exch get def 1309 /_d exch _dd exch get def
1310 0 2 _d length 2 sub 1310 0 2 _d length 2 sub
1311 { 1311 {
1312 /_x exch def 1312 /_x exch def
1313 /_c _d _x get _ ne def 1313 /_c _d _x get _ ne def
1314 /_r _d _x 1 add get cvlit def 1314 /_r _d _x 1 add get cvlit def
1315 _r _ ne 1315 _r _ ne
1316 { 1316 {
1317 _urx _llx sub _ury _lly sub [1 0 0 1 0 0] 1317 _urx _llx sub _ury _lly sub [1 0 0 1 0 0]
1318 [ 1318 [
1319 /save cvx 1319 /save cvx
1320 _llx neg _lly neg /translate cvx 1320 _llx neg _lly neg /translate cvx
1321 _c 1321 _c
1322 { 1322 {
1323 nc /begin cvx 1323 nc /begin cvx
1324 } if 1324 } if
1325 _r dup type /stringtype eq 1325 _r dup type /stringtype eq
1326 { 1326 {
1327 cvx 1327 cvx
1328 } 1328 }
1329 { 1329 {
1330 {exec} /forall cvx 1330 {exec} /forall cvx
1331 } ifelse 1331 } ifelse
1332 _c 1332 _c
1333 { 1333 {
1334 /end cvx 1334 /end cvx
1335 } if 1335 } if
1336 /restore cvx 1336 /restore cvx
1337 ] cvx 1337 ] cvx
1338 /_fn 12 _n length add string def 1338 /_fn 12 _n length add string def
1339 _y _fn cvs pop 1339 _y _fn cvs pop
1340 /_y _y 1 add def 1340 /_y _y 1 add def
1341 _fn 12 _n putinterval 1341 _fn 12 _n putinterval
1342 _fn _c false dp 1342 _fn _c false dp
1343 _d exch _x 1 add exch put 1343 _d exch _x 1 add exch put
1344 } if 1344 } if
1345 } for 1345 } for
1346 } for 1346 } for
1347 null dp 1347 null dp
1348 _n _dd /_pd 1348 _n _dd /_pd
1349 end xput 1349 end xput
1350 } def 1350 } def
1351 /fc 1351 /fc
1352 { 1352 {
1353 _fm dup concatmatrix pop 1353 _fm dup concatmatrix pop
1354 } def 1354 } def
1355 /p 1355 /p
1356 { 1356 {
1357 /_fm exch ddef 1357 /_fm exch ddef
1358 9 -2 roll _pm translate fc 1358 9 -2 roll _pm translate fc
1359 7 -2 roll _pm scale fc 1359 7 -2 roll _pm scale fc
1360 5 -1 roll _pm rotate fc 1360 5 -1 roll _pm rotate fc
1361 4 -2 roll exch 0 ne 1361 4 -2 roll exch 0 ne
1362 { 1362 {
1363 dup _pm rotate fc 1363 dup _pm rotate fc
1364 1 -1 _pm scale fc 1364 1 -1 _pm scale fc
1365 neg _pm rotate fc 1365 neg _pm rotate fc
1366 } 1366 }
1367 { 1367 {
1368 pop 1368 pop
1369 } ifelse 1369 } ifelse
1370 dup _pm rotate fc 1370 dup _pm rotate fc
1371 exch dup sin exch cos div 1 0 0 1 0 6 2 roll 1371 exch dup sin exch cos div 1 0 0 1 0 6 2 roll
1372 _pm astore fc 1372 _pm astore fc
1373 neg _pm rotate fc 1373 neg _pm rotate fc
1374 _pd exch get /_fdd exch ddef 1374 _pd exch get /_fdd exch ddef
1375 /_pf 1375 /_pf
1376 { 1376 {
1377 save 1377 save
1378 /_doClip 0 ddef 1378 /_doClip 0 ddef
1379 0 1 _fdd length 1 sub 1379 0 1 _fdd length 1 sub
1380 { 1380 {
1381 /_fd exch _fdd exch get ddef 1381 /_fd exch _fdd exch get ddef
1382 _fd 1382 _fd
1383 0 2 _fd length 2 sub 1383 0 2 _fd length 2 sub
1384 { 1384 {
1385 gsave 1385 gsave
1386 2 copy get dup _ ne 1386 2 copy get dup _ ne
1387 { 1387 {
1388 cvx exec _fc 1388 cvx exec _fc
1389 } 1389 }
1390 { 1390 {
1391 pop 1391 pop
1392 } ifelse 1392 } ifelse
1393 2 copy 1 add get dup _ ne 1393 2 copy 1 add get dup _ ne
1394 { 1394 {
1395 aload pop findfont _fm 1395 aload pop findfont _fm
1396 patternfill 1396 patternfill
1397 } 1397 }
1398 { 1398 {
1399 pop 1399 pop
1400 fill 1400 fill
1401 } ifelse 1401 } ifelse
1402 grestore 1402 grestore
1403 pop 1403 pop
1404 } for 1404 } for
1405 pop 1405 pop
1406 } for 1406 } for
1407 restore 1407 restore
1408 newpath 1408 newpath
1409 } ddef 1409 } ddef
1410 /_psf 1410 /_psf
1411 { 1411 {
1412 save 1412 save
1413 /_doClip 0 ddef 1413 /_doClip 0 ddef
1414 0 1 _fdd length 1 sub 1414 0 1 _fdd length 1 sub
1415 { 1415 {
1416 /_fd exch _fdd exch get ddef 1416 /_fd exch _fdd exch get ddef
1417 _fd 1417 _fd
1418 0 2 _fd length 2 sub 1418 0 2 _fd length 2 sub
1419 { 1419 {
1420 gsave 1420 gsave
1421 2 copy get dup _ ne 1421 2 copy get dup _ ne
1422 { 1422 {
1423 cvx exec _fc 1423 cvx exec _fc
1424 } 1424 }
1425 { 1425 {
1426 pop 1426 pop
1427 } ifelse 1427 } ifelse
1428 2 copy 1 add get dup _ ne 1428 2 copy 1 add get dup _ ne
1429 { 1429 {
1430 aload pop findfont _fm 1430 aload pop findfont _fm
1431 9 copy 6 npop patternashow 1431 9 copy 6 npop patternashow
1432 } 1432 }
1433 { 1433 {
1434 pop 1434 pop
1435 6 copy 3 npop ashow 1435 6 copy 3 npop ashow
1436 } ifelse 1436 } ifelse
1437 grestore 1437 grestore
1438 pop 1438 pop
1439 } for 1439 } for
1440 pop 1440 pop
1441 } for 1441 } for
1442 restore 1442 restore
1443 %3 npop newpath 1443 %3 npop newpath
1444 sw rmoveto 1444 sw rmoveto
1445 } ddef 1445 } ddef
1446 /_pjsf 1446 /_pjsf
1447 { 1447 {
1448 save 1448 save
1449 /_doClip 0 ddef 1449 /_doClip 0 ddef
1450 0 1 _fdd length 1 sub 1450 0 1 _fdd length 1 sub
1451 { 1451 {
1452 /_fd exch _fdd exch get ddef 1452 /_fd exch _fdd exch get ddef
1453 _fd 1453 _fd
1454 0 2 _fd length 2 sub 1454 0 2 _fd length 2 sub
1455 { 1455 {
1456 gsave 1456 gsave
1457 2 copy get dup _ ne 1457 2 copy get dup _ ne
1458 { 1458 {
1459 cvx exec _fc 1459 cvx exec _fc
1460 } 1460 }
1461 { 1461 {
1462 pop 1462 pop
1463 } ifelse 1463 } ifelse
1464 2 copy 1 add get dup _ ne 1464 2 copy 1 add get dup _ ne
1465 { 1465 {
1466 aload pop findfont _fm 1466 aload pop findfont _fm
1467 12 copy 6 npop patternawidthshow 1467 12 copy 6 npop patternawidthshow
1468 } 1468 }
1469 { 1469 {
1470 pop 9 copy 3 npop awidthshow 1470 pop 9 copy 3 npop awidthshow
1471 } ifelse 1471 } ifelse
1472 grestore 1472 grestore
1473 pop 1473 pop
1474 } for 1474 } for
1475 pop 1475 pop
1476 } for 1476 } for
1477 restore 1477 restore
1478 swj rmoveto 1478 swj rmoveto
1479 } ddef 1479 } ddef
1480 /_lp /none ddef 1480 /_lp /none ddef
1481 } def 1481 } def
1482 /sc 1482 /sc
1483 { 1483 {
1484 _sm dup concatmatrix pop 1484 _sm dup concatmatrix pop
1485 } def 1485 } def
1486 /P 1486 /P
1487 { 1487 {
1488 /_sm exch ddef 1488 /_sm exch ddef
1489 9 -2 roll _pm translate sc 1489 9 -2 roll _pm translate sc
1490 7 -2 roll _pm scale sc 1490 7 -2 roll _pm scale sc
1491 5 -1 roll _pm rotate sc 1491 5 -1 roll _pm rotate sc
1492 4 -2 roll exch 0 ne 1492 4 -2 roll exch 0 ne
1493 { 1493 {
1494 dup _pm rotate sc 1494 dup _pm rotate sc
1495 1 -1 _pm scale sc 1495 1 -1 _pm scale sc
1496 neg _pm rotate sc 1496 neg _pm rotate sc
1497 } 1497 }
1498 { 1498 {
1499 pop 1499 pop
1500 } ifelse 1500 } ifelse
1501 dup _pm rotate sc 1501 dup _pm rotate sc
1502 exch dup sin exch cos div 1 0 0 1 0 6 2 roll 1502 exch dup sin exch cos div 1 0 0 1 0 6 2 roll
1503 _pm astore sc 1503 _pm astore sc
1504 neg _pm rotate sc 1504 neg _pm rotate sc
1505 _pd exch get /_sdd exch ddef 1505 _pd exch get /_sdd exch ddef
1506 /_ps 1506 /_ps
1507 { 1507 {
1508 save 1508 save
1509 /_doClip 0 ddef 1509 /_doClip 0 ddef
1510 0 1 _sdd length 1 sub 1510 0 1 _sdd length 1 sub
1511 { 1511 {
1512 /_sd exch _sdd exch get ddef 1512 /_sd exch _sdd exch get ddef
1513 _sd 1513 _sd
1514 0 2 _sd length 2 sub 1514 0 2 _sd length 2 sub
1515 { 1515 {
1516 gsave 1516 gsave
1517 2 copy get dup _ ne 1517 2 copy get dup _ ne
1518 { 1518 {
1519 cvx exec _sc 1519 cvx exec _sc
1520 } 1520 }
1521 { 1521 {
1522 pop 1522 pop
1523 } ifelse 1523 } ifelse
1524 2 copy 1 add get dup _ ne 1524 2 copy 1 add get dup _ ne
1525 { 1525 {
1526 aload pop findfont _sm 1526 aload pop findfont _sm
1527 patternstroke 1527 patternstroke
1528 } 1528 }
1529 { 1529 {
1530 pop stroke 1530 pop stroke
1531 } ifelse 1531 } ifelse
1532 grestore 1532 grestore
1533 pop 1533 pop
1534 } for 1534 } for
1535 pop 1535 pop
1536 } for 1536 } for
1537 restore 1537 restore
1538 newpath 1538 newpath
1539 } ddef 1539 } ddef
1540 /_pss 1540 /_pss
1541 { 1541 {
1542 save 1542 save
1543 /_doClip 0 ddef 1543 /_doClip 0 ddef
1544 0 1 _sdd length 1 sub 1544 0 1 _sdd length 1 sub
1545 { 1545 {
1546 /_sd exch _sdd exch get ddef 1546 /_sd exch _sdd exch get ddef
1547 _sd 1547 _sd
1548 0 2 _sd length 2 sub 1548 0 2 _sd length 2 sub
1549 { 1549 {
1550 gsave 1550 gsave
1551 2 copy get dup _ ne 1551 2 copy get dup _ ne
1552 { 1552 {
1553 cvx exec _sc 1553 cvx exec _sc
1554 } 1554 }
1555 { 1555 {
1556 pop 1556 pop
1557 } ifelse 1557 } ifelse
1558 2 copy 1 add get dup _ ne 1558 2 copy 1 add get dup _ ne
1559 { 1559 {
1560 aload pop findfont _sm 1560 aload pop findfont _sm
1561 10 copy 6 npop patternashowstroke 1561 10 copy 6 npop patternashowstroke
1562 } 1562 }
1563 { 1563 {
1564 pop 7 copy 3 npop ss 1564 pop 7 copy 3 npop ss
1565 } ifelse 1565 } ifelse
1566 grestore 1566 grestore
1567 pop 1567 pop
1568 } for 1568 } for
1569 pop 1569 pop
1570 } for 1570 } for
1571 restore 1571 restore
1572 pop sw rmoveto 1572 pop sw rmoveto
1573 } ddef 1573 } ddef
1574 /_pjss 1574 /_pjss
1575 { 1575 {
1576 save 1576 save
1577 /_doClip 0 ddef 1577 /_doClip 0 ddef
1578 0 1 _sdd length 1 sub 1578 0 1 _sdd length 1 sub
1579 { 1579 {
1580 /_sd exch _sdd exch get ddef 1580 /_sd exch _sdd exch get ddef
1581 _sd 1581 _sd
1582 0 2 _sd length 2 sub 1582 0 2 _sd length 2 sub
1583 { 1583 {
1584 gsave 1584 gsave
1585 2 copy get dup _ ne 1585 2 copy get dup _ ne
1586 { 1586 {
1587 cvx exec _sc 1587 cvx exec _sc
1588 } 1588 }
1589 { 1589 {
1590 pop 1590 pop
1591 } ifelse 1591 } ifelse
1592 2 copy 1 add get dup _ ne 1592 2 copy 1 add get dup _ ne
1593 { 1593 {
1594 aload pop findfont _sm 1594 aload pop findfont _sm
1595 13 copy 6 npop patternawidthshowstroke 1595 13 copy 6 npop patternawidthshowstroke
1596 } 1596 }
1597 { 1597 {
1598 pop 10 copy 3 npop jss 1598 pop 10 copy 3 npop jss
1599 } ifelse 1599 } ifelse
1600 grestore 1600 grestore
1601 pop 1601 pop
1602 } for 1602 } for
1603 pop 1603 pop
1604 } for 1604 } for
1605 restore 1605 restore
1606 pop swj rmoveto 1606 pop swj rmoveto
1607 } ddef 1607 } ddef
1608 /_lp /none ddef 1608 /_lp /none ddef
1609 } def 1609 } def
1610 /A 1610 /A
1611 { 1611 {
1612 pop 1612 pop
1613 } def 1613 } def
1614 /nc 3 dict def 1614 /nc 3 dict def
1615 nc begin 1615 nc begin
1616 /setgray 1616 /setgray
1617 { 1617 {
1618 pop 1618 pop
1619 } bind def 1619 } bind def
1620 /setcmykcolor 1620 /setcmykcolor
1621 { 1621 {
1622 4 npop 1622 4 npop
1623 } bind def 1623 } bind def
1624 /setcustomcolor 1624 /setcustomcolor
1625 { 1625 {
1626 2 npop 1626 2 npop
1627 } bind def 1627 } bind def
1628 currentdict readonly pop end 1628 currentdict readonly pop end
1629 currentdict readonly pop end 1629 currentdict readonly pop end
1630 setpacking 1630 setpacking
1631 /annotatepage 1631 /annotatepage
1632 { 1632 {
1633 } def 1633 } def
1634 %%EndResource 1634 %%EndResource
1635 %%EndProlog 1635 %%EndProlog
1636 %%BeginSetup 1636 %%BeginSetup
1637 Adobe_cmykcolor /initialize get exec 1637 Adobe_cmykcolor /initialize get exec
1638 Adobe_cshow /initialize get exec 1638 Adobe_cshow /initialize get exec
1639 Adobe_customcolor /initialize get exec 1639 Adobe_customcolor /initialize get exec
1640 Adobe_pattern_AI3 /initialize get exec 1640 Adobe_pattern_AI3 /initialize get exec
1641 Adobe_Illustrator_AI3 /initialize get exec 1641 Adobe_Illustrator_AI3 /initialize get exec
1642 %%EndSetup 1642 %%EndSetup
1643 0 A 1643 0 A
1644 0 O 1644 0 O
1645 0.25 1 1 0.25 k 1645 0.25 1 1 0.25 k
1646 0 R 1646 0 R
1647 0 0 0 1 K 1647 0 0 0 1 K
1648 0 J 0 j 0.2 w 4 M []0 d 1648 0 J 0 j 0.2 w 4 M []0 d
1649 9.19971 841.8735 m 1649 9.19971 841.8735 m
1650 10.3311 842.1226 8.4126 839.4165 8 839.2729 c 1650 10.3311 842.1226 8.4126 839.4165 8 839.2729 c
1651 9.57471 839.1421 9.3999 839.0728 v 1651 9.57471 839.1421 9.3999 839.0728 v
1652 9 838.9233 8.8623 838.561 8.6001 838.2729 c 1652 9 838.9233 8.8623 838.561 8.6001 838.2729 c
1653 7.39355 836.9985 6.49365 836.7915 7.3999 834.8735 C 1653 7.39355 836.9985 6.49365 836.7915 7.3999 834.8735 C
1654 8.03125 834.9233 8.1626 835.1919 8.6001 834.8735 c 1654 8.03125 834.9233 8.1626 835.1919 8.6001 834.8735 c
1655 9.32471 834.3423 7.78125 832.979 10 832.0728 c 1655 9.32471 834.3423 7.78125 832.979 10 832.0728 c
1656 11.356 831.5229 14.1997 832.1792 15.7998 832.2729 C 1656 11.356 831.5229 14.1997 832.1792 15.7998 832.2729 C
1657 15.1997 831.8481 12.5186 830.4546 12.3999 829.6733 c 1657 15.1997 831.8481 12.5186 830.4546 12.3999 829.6733 c
1658 12.1812 828.2612 12.9434 828.686 13.5996 828.4731 C 1658 12.1812 828.2612 12.9434 828.686 13.5996 828.4731 C
1659 13.2998 827.2544 13.106 827.5854 14.1997 827.0737 C 1659 13.2998 827.2544 13.106 827.5854 14.1997 827.0737 C
1660 13.9058 825.7485 14.3687 824.8296 15.3999 824.0737 C 1660 13.9058 825.7485 14.3687 824.8296 15.3999 824.0737 C
1661 15.1309 824.0229 15.0996 823.2983 15.1997 823.4731 C 1661 15.1309 824.0229 15.0996 823.2983 15.1997 823.4731 C
1662 16.7246 820.23 19.1123 818.5229 21.9995 816.6733 C 1662 16.7246 820.23 19.1123 818.5229 21.9995 816.6733 C
1663 21.6309 816.3979 20.6558 815.2925 20.5996 815.2739 C 1663 21.6309 816.3979 20.6558 815.2925 20.5996 815.2739 C
1664 21.5811 815.061 22.6807 814.1675 23.1997 814.0737 c 1664 21.5811 815.061 22.6807 814.1675 23.1997 814.0737 c
1665 25.1621 813.7358 24.1309 815.5171 25.7998 814.2739 C 1665 25.1621 813.7358 24.1309 815.5171 25.7998 814.2739 C
1666 26.6689 815.0239 26.7061 815.8735 25.9995 816.2729 C 1666 26.6689 815.0239 26.7061 815.8735 25.9995 816.2729 C
1667 28.0439 816.4048 32.4873 820.0112 33.7998 821.6733 c 1667 28.0439 816.4048 32.4873 820.0112 33.7998 821.6733 c
1668 34.6494 822.7612 35.0557 823.9985 34.999 825.4731 C 1668 34.6494 822.7612 35.0557 823.9985 34.999 825.4731 C
1669 36.499 826.3667 36.6807 826.5669 35.999 828.0737 C 1669 36.499 826.3667 36.6807 826.5669 35.999 828.0737 C
1670 38.5498 828.7544 34.6494 830.9604 33.5996 831.6733 C 1670 38.5498 828.7544 34.6494 830.9604 33.5996 831.6733 C
1671 35.2559 831.6235 37.4619 830.6421 39.3994 831.0728 c 1671 35.2559 831.6235 37.4619 830.6421 39.3994 831.0728 c
1672 40.8428 831.4048 40.2432 832.3169 40.5996 833.2729 c 1672 40.8428 831.4048 40.2432 832.3169 40.5996 833.2729 c
1673 41.0186 834.4165 42.5557 833.5415 42.999 834.4731 c 1673 41.0186 834.4165 42.5557 833.5415 42.999 834.4731 c
1674 43.1182 834.7417 42.999 836.0728 Y 1674 43.1182 834.7417 42.999 836.0728 Y
1675 42.3311 836.8979 41.6055 837.5981 40.7998 838.2729 c 1675 42.3311 836.8979 41.6055 837.5981 40.7998 838.2729 c
1676 40.0811 838.8794 42.4736 838.6919 41.999 838.8735 c 1676 40.0811 838.8794 42.4736 838.6919 41.999 838.8735 c
1677 41.293 839.1479 40.9424 840.7671 40.5996 841.4731 C 1677 41.293 839.1479 40.9424 840.7671 40.5996 841.4731 C
1678 42.5557 840.1978 45.3623 837.6665 44.5986 833.8735 c 1678 42.5557 840.1978 45.3623 837.6665 44.5986 833.8735 c
1679 44.124 831.5298 41.2871 829.8423 40.1992 827.8735 c 1679 44.124 831.5298 41.2871 829.8423 40.1992 827.8735 c
1680 37.6934 823.3608 36.5117 817.7612 33.3994 813.8735 c 1680 37.6934 823.3608 36.5117 817.7612 33.3994 813.8735 c
1681 33.2178 813.6548 33.1182 813.3608 32.7998 813.2739 c 1681 33.2178 813.6548 33.1182 813.3608 32.7998 813.2739 c
1682 32.3496 813.1606 33.4121 812.8677 33.5996 812.8735 c 1682 32.3496 813.1606 33.4121 812.8677 33.5996 812.8735 c
1683 38.4121 813.0864 39.874 811.2544 40.7998 816.0737 C 1683 38.4121 813.0864 39.874 811.2544 40.7998 816.0737 C
1684 40.8428 815.8169 40.4053 818.0737 42.1992 818.6733 C 1684 40.8428 815.8169 40.4053 818.0737 42.1992 818.6733 C
1685 42.5557 815.4302 40.749 813.4673 39.3994 811.2739 C 1685 42.5557 815.4302 40.749 813.4673 39.3994 811.2739 C
1686 37.5996 811.7231 36.3115 812.2739 33.7998 812.2739 C 1686 37.5996 811.7231 36.3115 812.2739 33.7998 812.2739 C
1687 33.7998 810.0112 33.793 805.686 33.1992 804.4731 c 1687 33.7998 810.0112 33.793 805.686 33.1992 804.4731 c
1688 33.168 804.4233 32.6182 803.5981 32.7998 803.4731 c 1688 33.168 804.4233 32.6182 803.5981 32.7998 803.4731 c
1689 33.9248 802.7231 34.6367 801.4048 34.1992 800.0737 c 1689 33.9248 802.7231 34.6367 801.4048 34.1992 800.0737 c
1690 33.9365 799.3052 32.999 797.7427 33.7998 797.2739 c 1690 33.9365 799.3052 32.999 797.7427 33.7998 797.2739 c
1691 35.624 796.2114 37.168 797.3052 38.7998 796.8735 C 1691 35.624 796.2114 37.168 797.3052 38.7998 796.8735 C
1692 40.0742 800.6548 40.874 803.8608 42.1992 807.8735 C 1692 40.0742 800.6548 40.874 803.8608 42.1992 807.8735 C
1693 42.624 807.6987 42.6924 807.5425 42.999 807.2739 C 1693 42.624 807.6987 42.6924 807.5425 42.999 807.2739 C
1694 44.7861 810.73 46.999 812.7485 47.999 817.0737 C 1694 44.7861 810.73 46.999 812.7485 47.999 817.0737 C
1695 48.3994 815.8735 L 1695 48.3994 815.8735 L
1696 49.7373 815.98 49.999 816.0737 V 1696 49.7373 815.98 49.999 816.0737 V
1697 48.4678 814.7856 47.0674 812.6235 46.999 812.4731 c 1697 48.4678 814.7856 47.0674 812.6235 46.999 812.4731 c
1698 44.9561 809.3237 44.4111 808.8481 43.999 807.2739 C 1698 44.9561 809.3237 44.4111 808.8481 43.999 807.2739 C
1699 44.9932 807.2427 44.6494 807.5552 45.5986 806.6733 C 1699 44.9932 807.2427 44.6494 807.5552 45.5986 806.6733 C
1700 44.6436 805.8989 45.2686 805.9048 44.7998 805.0737 c 1700 44.6436 805.8989 45.2686 805.9048 44.7998 805.0737 c
1701 44.7617 805.0171 44.0742 805.0737 43.999 805.0737 C 1701 44.7617 805.0171 44.0742 805.0737 43.999 805.0737 C
1702 43.624 803.2427 42.4307 802.436 41.999 801.0737 c 1702 43.624 803.2427 42.4307 802.436 41.999 801.0737 c
1703 41.3994 799.2046 41.5557 798.2983 40.3994 796.4741 c 1703 41.3994 799.2046 41.5557 798.2983 40.3994 796.4741 c
1704 38.4561 793.4302 38.249 794.9546 34.5996 793.8745 c 1704 38.4561 793.4302 38.249 794.9546 34.5996 793.8745 c
1705 33.7686 792.7495 33.5996 792.6733 v 1705 33.7686 792.7495 33.5996 792.6733 v
1706 32.6748 792.2983 31.1309 792.1987 30.1992 792.0737 C 1706 32.6748 792.2983 31.1309 792.1987 30.1992 792.0737 C
1707 30.9619 790.1802 31.7998 790.4741 34.3994 790.4741 C 1707 30.9619 790.1802 31.7998 790.4741 34.3994 790.4741 C
1708 35.0371 788.0308 35.1934 789.2681 37.1992 788.2739 c 1708 35.0371 788.0308 35.1934 789.2681 37.1992 788.2739 c
1709 38.0742 787.8433 38.793 786.0991 39.3994 785.2739 c 1709 38.0742 787.8433 38.793 786.0991 39.3994 785.2739 c
1710 39.999 784.4614 41.499 783.8433 41.999 783.0737 c 1710 39.999 784.4614 41.499 783.8433 41.999 783.0737 c
1711 42.1807 782.7866 41.668 782.5308 41.5996 782.4741 C 1711 42.1807 782.7866 41.668 782.5308 41.5996 782.4741 C
1712 44.5049 779.7056 47.499 773.8804 51.1992 772.0737 c 1712 44.5049 779.7056 47.499 773.8804 51.1992 772.0737 c
1713 51.3242 772.0181 51.7803 771.8862 51.7998 771.8745 c 1713 51.3242 772.0181 51.7803 771.8862 51.7998 771.8745 c
1714 52.1436 771.6929 52.2178 771.3745 52.3994 771.2749 C 1714 52.1436 771.6929 52.2178 771.3745 52.3994 771.2749 C
1715 50.8682 771.6245 51.3057 771.1558 50.999 771.2749 C 1715 50.8682 771.6245 51.3057 771.1558 50.999 771.2749 C
1716 51.2178 769.8745 50.5986 769.8745 V 1716 51.2178 769.8745 50.5986 769.8745 V
1717 49.4561 774.1743 45.3369 775.1304 43.5986 778.8745 C 1717 49.4561 774.1743 45.3369 775.1304 43.5986 778.8745 C
1718 43.3555 778.4624 42.8369 778.3179 42.7998 778.2749 C 1718 43.3555 778.4624 42.8369 778.3179 42.7998 778.2749 C
1719 40.999 780.8931 38.7305 783.2056 37.3994 786.0737 C 1719 40.999 780.8931 38.7305 783.2056 37.3994 786.0737 C
1720 36.4248 785.9429 35.9678 785.9429 34.999 786.0737 C 1720 36.4248 785.9429 35.9678 785.9429 34.999 786.0737 C
1721 35.1553 784.6245 35.5244 783.0181 35.3994 781.2749 c 1721 35.1553 784.6245 35.5244 783.0181 35.3994 781.2749 c
1722 35.2432 779.2612 34.8623 776.6558 34.5996 774.6743 C 1722 35.2432 779.2612 34.8623 776.6558 34.5996 774.6743 C
1723 35.3623 774.3237 36.1309 773.9556 36.7998 773.4741 c 1723 35.3623 774.3237 36.1309 773.9556 36.7998 773.4741 c
1724 37.2559 773.1499 38.1992 772.437 38.3994 771.8745 c 1724 37.2559 773.1499 38.1992 772.437 38.3994 771.8745 c
1725 39.1621 769.6929 38.1992 765.2183 38.5996 762.0747 c 1725 39.1621 769.6929 38.1992 765.2183 38.5996 762.0747 c
1726 38.6748 761.437 39.2871 760.2368 39.1992 759.4741 c 1726 38.6748 761.437 39.2871 760.2368 39.1992 759.4741 c
1727 39.1494 759.0991 38.4619 758.9116 38.5996 758.0747 c 1727 39.1494 759.0991 38.4619 758.9116 38.5996 758.0747 c
1728 38.7686 757.0122 39.7549 755.5435 40.1992 754.6753 c 1728 38.7686 757.0122 39.7549 755.5435 40.1992 754.6753 c
1729 41.0811 752.9253 41.6924 751.1128 41.999 748.8745 C 1729 41.0811 752.9253 41.6924 751.1128 41.999 748.8745 C
1730 40.3496 749.8628 41.7373 748.5815 40.1992 748.0747 c 1730 40.3496 749.8628 41.7373 748.5815 40.1992 748.0747 c
1731 39.7061 747.9185 40.1992 748.8745 Y 1731 39.7061 747.9185 40.1992 748.8745 Y
1732 40.3115 751.7866 39.9424 753.1685 38.999 755.2749 c 1732 40.3115 751.7866 39.9424 753.1685 38.999 755.2749 c
1733 38.9492 755.3804 38.0498 756.2866 37.999 756.4741 c 1733 38.9492 755.3804 38.0498 756.2866 37.999 756.4741 c
1734 37.2178 759.269 36.6367 763.4556 36.999 767.4741 c 1734 37.2178 759.269 36.6367 763.4556 36.999 767.4741 c
1735 37.1992 769.7495 37.5303 770.1245 35.999 770.8745 c 1735 37.1992 769.7495 37.5303 770.1245 35.999 770.8745 c
1736 35.3311 771.2056 34.8994 771.2437 33.999 771.4741 C 1736 35.3311 771.2056 34.8994 771.2437 33.999 771.4741 C
1737 33.3057 768.7056 32.5557 766.3491 30.999 764.4741 c 1737 33.3057 768.7056 32.5557 766.3491 30.999 764.4741 c
1738 27.2686 759.9995 20.481 761.3491 17.9995 766.0737 c 1738 27.2686 759.9995 20.481 761.3491 17.9995 766.0737 c
1739 17.1621 767.6675 16.3745 769.3179 15.7998 771.2749 C 1739 17.1621 767.6675 16.3745 769.3179 15.7998 771.2749 C
1740 14.7061 770.8745 14.106 770.73 13 770.2749 C 1740 14.7061 770.8745 14.106 770.73 13 770.2749 C
1741 13.5308 766.6675 12.6812 763.0366 12.7998 760.0747 C 1741 13.5308 766.6675 12.6812 763.0366 12.7998 760.0747 C
1742 12.5308 760.4312 12.0562 760.731 11.7998 761.0747 C 1742 12.5308 760.4312 12.0562 760.731 11.7998 761.0747 C
1743 10.4248 756.4253 6.0376 755.6304 5 750.2749 C 1743 10.4248 756.4253 6.0376 755.6304 5 750.2749 C
1744 4.7998 752.7437 4 751.8745 Y 1744 4.7998 752.7437 4 751.8745 Y
1745 3.20605 751.9312 3.625 752.4683 3.6001 752.4741 C 1745 3.20605 751.9312 3.625 752.4683 3.6001 752.4741 C
1746 5.65625 753.9116 9.43115 757.1304 10.3999 759.4741 c 1746 5.65625 753.9116 9.43115 757.1304 10.3999 759.4741 c
1747 11.6875 762.606 10.7437 769.3433 12 771.8745 c 1747 11.6875 762.606 10.7437 769.3433 12 771.8745 c
1748 12.4497 772.7993 14.3062 773.5366 15.1997 774.0737 C 1748 12.4497 772.7993 14.3062 773.5366 15.1997 774.0737 C
1749 14.7124 777.6558 14.1436 781.7925 14.5996 785.8745 C 1749 14.7124 777.6558 14.1436 781.7925 14.5996 785.8745 C
1750 13.8184 785.8745 12.9746 785.8745 12.1997 785.8745 C 1750 13.8184 785.8745 12.9746 785.8745 12.1997 785.8745 C
1751 11.6997 783.9868 10.1812 779.5679 9.19971 778.0737 c 1751 11.6997 783.9868 10.1812 779.5679 9.19971 778.0737 c
1752 9.125 777.9683 8.5376 778.2368 8.3999 778.2749 C 1752 9.125 777.9683 8.5376 778.2368 8.3999 778.2749 C
1753 8.10596 777.1675 8.2876 776.6616 7.7998 775.6743 c 1753 8.10596 777.1675 8.2876 776.6616 7.7998 775.6743 c
1754 7.79346 775.6675 7.2251 775.6743 7.19971 775.6743 C 1754 7.79346 775.6675 7.2251 775.6743 7.19971 775.6743 C
1755 6.08105 773.3062 2.625 770.9116 4.19971 767.8745 C 1755 6.08105 773.3062 2.625 770.9116 4.19971 767.8745 C
1756 3.88721 768.0425 3.49365 768.4312 3.3999 768.4741 C 1756 3.88721 768.0425 3.49365 768.4312 3.3999 768.4741 C
1757 3.33105 768.4741 3.26855 768.4741 3.19971 768.4741 C 1757 3.33105 768.4741 3.26855 768.4741 3.19971 768.4741 C
1758 3 768.6675 3.08105 769.1304 3 769.4741 C 1758 3 768.6675 3.08105 769.1304 3 769.4741 C
1759 0.90625 769.6245 1.65625 769.6187 2.6001 770.4741 c 1759 0.90625 769.6245 1.65625 769.6187 2.6001 770.4741 c
1760 3.94971 771.7124 5.19385 773.7368 6.19971 775.2749 c 1760 3.94971 771.7124 5.19385 773.7368 6.19971 775.2749 c
1761 4.34375 772.1187 8.3125 778.4487 7 778.4741 C 1761 4.34375 772.1187 8.3125 778.4487 7 778.4741 C
1762 7.51855 779.5181 8.44336 780.4995 9 781.4741 C 1762 7.51855 779.5181 8.44336 780.4995 9 781.4741 C
1763 8.78125 781.5181 9.19971 782.2749 Y 1763 8.78125 781.5181 9.19971 782.2749 Y
1764 8.9751 782.2241 8.8999 782.1812 8.6001 782.0737 C 1764 8.9751 782.2241 8.8999 782.1812 8.6001 782.0737 C
1765 10.2813 783.4116 10.3062 786.6304 12 787.8745 c 1765 10.2813 783.4116 10.3062 786.6304 12 787.8745 c
1766 14.1748 789.48 14.7935 787.48 15.5996 790.6733 C 1766 14.1748 789.48 14.7935 787.48 15.5996 790.6733 C
1767 18.1558 790.6733 19.1245 790.0806 19.7998 792.0737 C 1767 18.1558 790.6733 19.1245 790.0806 19.7998 792.0737 C
1768 19.8496 792.0864 18.7998 792.0737 Y 1768 19.8496 792.0864 18.7998 792.0737 Y
1769 18.0435 792.2983 16.062 792.2495 15.1997 792.6733 c 1769 18.0435 792.2983 16.062 792.2495 15.1997 792.6733 c
1770 14.9434 792.8052 14.6685 793.7808 14.3999 793.8745 c 1770 14.9434 792.8052 14.6685 793.7808 14.3999 793.8745 c
1771 10.856 795.1489 10.5747 792.9116 8.6001 796.6733 c 1771 10.856 795.1489 10.5747 792.9116 8.6001 796.6733 c
1772 6.70605 800.2739 6.4126 803.3481 4.19971 806.0737 C 1772 6.70605 800.2739 6.4126 803.3481 4.19971 806.0737 C
1773 4.76855 806.9175 4.86865 806.7544 5.3999 807.0737 C 1773 4.76855 806.9175 4.86865 806.7544 5.3999 807.0737 C
1774 3.6626 809.73 2.69385 813.2114 0 814.2739 C 1774 3.6626 809.73 2.69385 813.2114 0 814.2739 C
1775 0 814.3481 0.037598 815.0552 0 815.0737 C 1775 0 814.3481 0.037598 815.0552 0 815.0737 C
1776 1.2251 815.4106 1.44385 815.311 2.3999 815.8735 C 1776 1.2251 815.4106 1.44385 815.311 2.3999 815.8735 C
1777 1.44385 813.9487 5.23096 809.1489 6.3999 806.6733 C 1777 1.44385 813.9487 5.23096 809.1489 6.3999 806.6733 C
1778 7.1748 807.186 7.13721 807.6177 7.7998 806.2739 C 1778 7.1748 807.186 7.13721 807.6177 7.7998 806.2739 C
1779 7.70605 806.2173 7.5874 805.2612 7.6001 805.0737 c 1779 7.70605 806.2173 7.5874 805.2612 7.6001 805.0737 c
1780 7.75 802.3608 9.5625 799.7358 10.1997 796.6733 C 1780 7.75 802.3608 9.5625 799.7358 10.1997 796.6733 C
1781 12.1748 797.1802 13.3999 796.6304 15.5996 797.2739 C 1781 12.1748 797.1802 13.3999 796.6304 15.5996 797.2739 C
1782 15.2061 799.3921 14.6309 800.1548 14.1997 802.2739 C 1782 15.2061 799.3921 14.6309 800.1548 14.1997 802.2739 C
1783 15.4873 802.5171 15.231 802.6548 16.1997 803.4731 c 1783 15.4873 802.5171 15.231 802.6548 16.1997 803.4731 c
1784 16.437 803.6802 15.8184 804.23 15.7998 804.2739 c 1784 16.437 803.6802 15.8184 804.23 15.7998 804.2739 c
1785 15.2749 805.3735 15.1875 810.2046 15.3999 812.0737 C 1785 15.2749 805.3735 15.1875 810.2046 15.3999 812.0737 C
1786 13.7124 811.73 12.3311 810.6606 11.1997 810.4731 c 1786 13.7124 811.73 12.3311 810.6606 11.1997 810.4731 c
1787 10.7749 810.4106 10.4248 810.4731 10 810.4731 C 1787 10.7749 810.4106 10.4248 810.4731 10 810.4731 C
1788 9.2749 812.2671 6.80615 814.355 6.6001 815.4731 c 1788 9.2749 812.2671 6.80615 814.355 6.6001 815.4731 c
1789 6.4375 816.3481 6.875 816.7856 7 817.2729 C 1789 6.4375 816.3481 6.875 816.7856 7 817.2729 C
1790 7.1499 817.1733 7.94336 817.0854 8 817.0737 C 1790 7.1499 817.1733 7.94336 817.0854 8 817.0737 C
1791 8.44336 814.0796 9.2373 813.8921 10.5996 811.4731 C 1791 8.44336 814.0796 9.2373 813.8921 10.5996 811.4731 C
1792 12.6558 811.8794 14.0186 812.7231 16.3999 813.0737 C 1792 12.6558 811.8794 14.0186 812.7231 16.3999 813.0737 C
1793 13.4497 817.5854 12.0747 823.5542 9.3999 828.4731 c 1793 13.4497 817.5854 12.0747 823.5542 9.3999 828.4731 c
1794 8.1875 830.6978 5.5249 832.2856 5.19971 835.2729 c 1794 8.1875 830.6978 5.5249 832.2856 5.19971 835.2729 c
1795 5.16846 835.5103 5.38086 836.1919 5.3999 836.0728 C 1795 5.16846 835.5103 5.38086 836.1919 5.3999 836.0728 C
1796 5.79346 838.0298 6.21875 838.8296 7.19971 840.0728 c 1796 5.79346 838.0298 6.21875 838.8296 7.19971 840.0728 c
1797 7.50586 840.4731 7.81836 840.9673 8.19971 841.2729 c 1797 7.50586 840.4731 7.81836 840.9673 8.19971 841.2729 c
1798 8.3999 841.4419 8.9624 841.8228 9.19971 841.8735 c 1798 8.3999 841.4419 8.9624 841.8228 9.19971 841.8735 c
1799 b 1799 b
1800 %%PageTrailer 1800 %%PageTrailer
1801 gsave annotatepage grestore showpage 1801 gsave annotatepage grestore showpage
1802 %%Trailer 1802 %%Trailer
1803 Adobe_Illustrator_AI3 /terminate get exec 1803 Adobe_Illustrator_AI3 /terminate get exec
1804 Adobe_pattern_AI3 /terminate get exec 1804 Adobe_pattern_AI3 /terminate get exec
1805 Adobe_customcolor /terminate get exec 1805 Adobe_customcolor /terminate get exec
1806 Adobe_cshow /terminate get exec 1806 Adobe_cshow /terminate get exec
1807 Adobe_cmykcolor /terminate get exec 1807 Adobe_cmykcolor /terminate get exec
1808 Adobe_packedarray /terminate get exec 1808 Adobe_packedarray /terminate get exec
1809 %%EOF 1809 %%EOF
......
1 %!PS-Adobe-3.0 1 %!PS-Adobe-3.0
2 %%Creator: Adobe Illustrator(TM) 3.2 2 %%Creator: Adobe Illustrator(TM) 3.2
3 %%AI8_CreatorVersion: 12.0.0 3 %%AI8_CreatorVersion: 12.0.0
4 %%For: (fluxus) (x) 4 %%For: (fluxus) (x)
5 %%Title: (pelican.ai) 5 %%Title: (pelican.ai)
6 %%CreationDate: 4/15/2006 11:28 PM 6 %%CreationDate: 4/15/2006 11:28 PM
7 %%BoundingBox: 38 221 564 654 7 %%BoundingBox: 38 221 564 654
8 %%DocumentProcessColors: Black 8 %%DocumentProcessColors: Black
9 %%DocumentNeededResources: procset Adobe_packedarray 2.0 0 9 %%DocumentNeededResources: procset Adobe_packedarray 2.0 0
10 %%+ procset Adobe_cshow 1.1 0 10 %%+ procset Adobe_cshow 1.1 0
11 %%+ procset Adobe_customcolor 1.0 0 11 %%+ procset Adobe_customcolor 1.0 0
12 %%+ procset Adobe_pattern_AI3 1.0 0 12 %%+ procset Adobe_pattern_AI3 1.0 0
13 %%+ procset Adobe_Illustrator_AI3 1.0 1 13 %%+ procset Adobe_Illustrator_AI3 1.0 1
14 %AI3_ColorUsage: Color 14 %AI3_ColorUsage: Color
15 %%CMYKCustomColor: 1 1 1 1 ([Registration]) 15 %%CMYKCustomColor: 1 1 1 1 ([Registration])
16 %AI3_TemplateBox: 298.5 420.3896 298.5 420.3896 16 %AI3_TemplateBox: 298.5 420.3896 298.5 420.3896
17 %AI3_TileBox: 0.157715 0.044861 595.1177 841.9648 17 %AI3_TileBox: 0.157715 0.044861 595.1177 841.9648
18 %AI3_DocumentPreview: None 18 %AI3_DocumentPreview: None
19 %%PageOrigin:-32 11.8896 19 %%PageOrigin:-32 11.8896
20 %AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 20 %AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
21 %AI9_Flatten: 1 21 %AI9_Flatten: 1
22 %AI12_CMSettings: 00.MS 22 %AI12_CMSettings: 00.MS
23 %%EndComments 23 %%EndComments
24 %%BeginProlog 24 %%BeginProlog
25 %%IncludeResource: procset Adobe_packedarray 2.0 0 25 %%IncludeResource: procset Adobe_packedarray 2.0 0
26 Adobe_packedarray /initialize get exec 26 Adobe_packedarray /initialize get exec
27 %%IncludeResource: procset Adobe_cshow 1.1 0 27 %%IncludeResource: procset Adobe_cshow 1.1 0
28 %%IncludeResource: procset Adobe_customcolor 1.0 0 28 %%IncludeResource: procset Adobe_customcolor 1.0 0
29 %%IncludeResource: procset Adobe_pattern_AI3 1.0 0 29 %%IncludeResource: procset Adobe_pattern_AI3 1.0 0
30 %%IncludeResource: procset Adobe_Illustrator_AI3 1.0 1 30 %%IncludeResource: procset Adobe_Illustrator_AI3 1.0 1
31 %%EndProlog 31 %%EndProlog
32 %%BeginSetup 32 %%BeginSetup
33 Adobe_cshow /initialize get exec 33 Adobe_cshow /initialize get exec
34 Adobe_customcolor /initialize get exec 34 Adobe_customcolor /initialize get exec
35 Adobe_pattern_AI3 /initialize get exec 35 Adobe_pattern_AI3 /initialize get exec
36 Adobe_Illustrator_AI3 /initialize get exec 36 Adobe_Illustrator_AI3 /initialize get exec
37 %%EndSetup 37 %%EndSetup
38 0 A 38 0 A
39 0 O 39 0 O
40 0.823529 g 40 0.823529 g
41 0 J 0 j 1 w 4 M []0 d 41 0 J 0 j 1 w 4 M []0 d
42 406.3574 653.9336 m 42 406.3574 653.9336 m
43 464.8369 654.4839 476.1016 604.7227 506.8555 577.2656 c 43 464.8369 654.4839 476.1016 604.7227 506.8555 577.2656 c
44 518.2334 567.1074 538.876 556.4058 541.0449 537.8945 C 44 518.2334 567.1074 538.876 556.4058 541.0449 537.8945 C
45 525.793 545.1372 515.3398 557.5967 502.1924 566.9033 c 45 525.793 545.1372 515.3398 557.5967 502.1924 566.9033 c
46 492.1299 574.0298 478.9131 577.0991 467.4844 582.9634 c 46 492.1299 574.0298 478.9131 577.0991 467.4844 582.9634 c
47 454.5439 589.603 441.3213 599.4785 424.4873 589.1792 c 47 454.5439 589.603 441.3213 599.4785 424.4873 589.1792 c
48 413.7012 582.5776 412.9746 565.8579 406.3574 554.9893 c 48 413.7012 582.5776 412.9746 565.8579 406.3574 554.9893 c
49 401.2715 546.6338 390.2637 539.4668 382.0098 534.269 c 49 401.2715 546.6338 390.2637 539.4668 382.0098 534.269 c
50 370.5801 527.0684 326.3232 509.3872 322.4365 499.042 C 50 370.5801 527.0684 326.3232 509.3872 322.4365 499.042 C
51 331.416 493.8628 340.3955 488.6816 349.375 483.5005 C 51 331.416 493.8628 340.3955 488.6816 349.375 483.5005 C
52 370.4541 474.8203 420.0293 453.8994 428.1152 435.3247 C 52 370.4541 474.8203 420.0293 453.8994 428.1152 435.3247 C
53 427.9424 435.3247 427.7695 435.3247 427.5967 435.3247 C 53 427.9424 435.3247 427.7695 435.3247 427.5967 435.3247 C
54 422.0781 438.2988 418.0566 441.834 411.0205 443.6128 C 54 422.0781 438.2988 418.0566 441.834 411.0205 443.6128 C
55 411.0205 442.9214 411.0205 442.2324 411.0205 441.541 C 55 411.0205 442.9214 411.0205 442.2324 411.0205 441.541 C
56 415.6807 438.0884 420.3457 434.6333 425.0059 431.1807 C 56 415.6807 438.0884 420.3457 434.6333 425.0059 431.1807 C
57 426.5615 431.6968 428.1152 432.2153 429.6689 432.7339 C 57 426.5615 431.6968 428.1152 432.2153 429.6689 432.7339 C
58 436.3252 429.1694 440.0146 421.5771 446.2451 417.1924 c 58 436.3252 429.1694 440.0146 421.5771 446.2451 417.1924 c
59 468.749 401.3643 540.2861 360.04 557.624 408.9043 C 59 468.749 401.3643 540.2861 360.04 557.624 408.9043 C
60 559.6963 408.7314 561.7676 408.5586 563.8398 408.3857 C 60 559.6963 408.7314 561.7676 408.5586 563.8398 408.3857 C
61 564.2002 369.6592 525.0967 377.3896 496.4951 382.4844 c 61 564.2002 369.6592 525.0967 377.3896 496.4951 382.4844 c
62 485.8457 384.3838 476.0742 379.3203 465.4141 380.9307 c 62 485.8457 384.3838 476.0742 379.3203 465.4141 380.9307 c
63 458.0371 382.0459 454.999 385.5068 447.8008 386.1123 C 63 458.0371 382.0459 454.999 385.5068 447.8008 386.1123 C
64 444.6514 384.4326 443.9072 382.2314 441.583 379.8955 C 64 444.6514 384.4326 443.9072 382.2314 441.583 379.8955 C
65 441.7559 379.5498 441.9287 379.2041 442.1016 378.8584 C 65 441.7559 379.5498 441.9287 379.2041 442.1016 378.8584 C
66 453.1211 376.5439 474.8496 358.7158 485.6162 352.4404 c 66 453.1211 376.5439 474.8496 358.7158 485.6162 352.4404 c
67 499.0371 344.6182 513.7188 346.8398 528.6133 341.043 C 67 499.0371 344.6182 513.7188 346.8398 528.6133 341.043 C
68 531.0205 346.2412 546.2559 365.248 551.9258 365.9072 C 68 531.0205 346.2412 546.2559 365.248 551.9258 365.9072 C
69 552.0986 365.3896 552.2715 364.8721 552.4424 364.3545 C 69 552.0986 365.3896 552.2715 364.8721 552.4424 364.3545 C
70 553.4883 360.7607 550.0078 356.1338 548.2988 353.4756 c 70 553.4883 360.7607 550.0078 356.1338 548.2988 353.4756 c
71 539.4346 339.6855 527.2559 336.8584 503.748 337.415 C 71 539.4346 339.6855 527.2559 336.8584 503.748 337.415 C
72 507.8379 329.7158 516.5977 331.1191 522.3965 325.501 C 72 507.8379 329.7158 516.5977 331.1191 522.3965 325.501 C
73 510.8311 324.9131 495.6875 323.7822 486.6533 327.5732 C 73 510.8311 324.9131 495.6875 323.7822 486.6533 327.5732 C
74 483.0273 329.6455 479.4004 331.7178 475.7744 333.79 C 74 483.0273 329.6455 479.4004 331.7178 475.7744 333.79 C
75 468.749 335.082 467.1133 328.6885 461.7891 327.5732 c 75 468.749 335.082 467.1133 328.6885 461.7891 327.5732 c
76 451.8096 325.4854 442.6299 328.9424 433.8125 329.6455 C 76 451.8096 325.4854 442.6299 328.9424 433.8125 329.6455 C
77 427.6152 314.2881 411.4697 330.1348 399.1045 326.5381 C 77 427.6152 314.2881 411.4697 330.1348 399.1045 326.5381 C
78 395.1328 323.6025 391.1621 320.666 387.1904 317.7314 C 78 395.1328 323.6025 391.1621 320.666 387.1904 317.7314 C
79 380.2559 315.4561 375.2725 320.9756 368.0234 319.2861 C 79 380.2559 315.4561 375.2725 320.9756 368.0234 319.2861 C
80 363.707 316.8682 359.3877 314.4502 355.0732 312.0322 C 80 363.707 316.8682 359.3877 314.4502 355.0732 312.0322 C
81 346.0449 325.4189 337.3516 308.3584 325.0264 313.0693 c 81 346.0449 325.4189 337.3516 308.3584 325.0264 313.0693 c
82 319.249 315.2764 317.3877 322.9951 312.0762 324.9834 c 82 319.249 315.2764 317.3877 322.9951 312.0762 324.9834 c
83 302.3477 328.626 290.0044 321.8848 280.4756 325.501 c 83 302.3477 328.626 290.0044 321.8848 280.4756 325.501 c
84 275.7075 327.3125 274.5767 334.043 270.1157 335.8623 C 84 275.7075 327.3125 274.5767 334.043 270.1157 335.8623 C
85 266.6616 335.6885 263.208 335.5166 259.7544 335.3428 C 85 266.6616 335.6885 263.208 335.5166 259.7544 335.3428 C
86 254.7881 336.4834 253.1904 341.9092 248.8755 343.6338 C 86 254.7881 336.4834 253.1904 341.9092 248.8755 343.6338 C
87 245.7686 343.8066 242.6592 343.9775 239.5513 344.1494 C 87 245.7686 343.8066 242.6592 343.9775 239.5513 344.1494 C
88 236.9614 347.4326 234.3711 350.7119 231.7803 353.9941 C 88 236.9614 347.4326 234.3711 350.7119 231.7803 353.9941 C
89 227.1187 356.2158 222.1738 353.7666 218.312 356.0654 C 89 227.1187 356.2158 222.1738 353.7666 218.312 356.0654 C
90 217.707 358.9385 216.9556 361.4961 214.6855 362.8008 C 90 217.707 358.9385 216.9556 361.4961 214.6855 362.8008 C
91 210.5415 362.9736 206.396 363.1465 202.2529 363.3174 C 91 210.5415 362.9736 206.396 363.1465 202.2529 363.3174 C
92 200.6987 365.3896 199.145 367.4639 197.5903 369.5332 C 92 200.6987 365.3896 199.145 367.4639 197.5903 369.5332 C
93 193.9648 370.2246 190.3384 370.916 186.7119 371.6074 C 93 193.9648 370.2246 190.3384 370.916 186.7119 371.6074 C
94 183.0776 383.6631 179.9097 377.1084 172.7246 383.0029 C 94 183.0776 383.6631 179.9097 377.1084 172.7246 383.0029 C
95 172.0347 384.5557 171.3433 386.1123 170.6528 387.665 C 95 172.0347 384.5557 171.3433 386.1123 170.6528 387.665 C
96 167.4033 390.2705 160.396 389.1025 157.1846 391.291 C 96 167.4033 390.2705 160.396 389.1025 157.1846 391.291 C
97 150.2778 399.2334 143.3691 407.1787 136.4629 415.1201 C 97 150.2778 399.2334 143.3691 407.1787 136.4629 415.1201 C
98 135.7725 415.1201 135.0811 415.1201 134.3906 415.1201 C 98 135.7725 415.1201 135.0811 415.1201 134.3906 415.1201 C
99 129.8872 408.9912 123.022 405.2783 118.332 399.5791 c 99 129.8872 408.9912 123.022 405.2783 118.332 399.5791 c
100 109.856 389.2803 103.8877 376.3271 98.6465 362.8008 c 100 109.856 389.2803 103.8877 376.3271 98.6465 362.8008 c
101 91.7344 344.96 87.7056 323.8467 83.6235 304.2627 c 101 91.7344 344.96 87.7056 323.8467 83.6235 304.2627 c
102 81.5273 294.2061 81.9316 284.2168 78.4434 275.7705 c 102 81.5273 294.2061 81.9316 284.2168 78.4434 275.7705 c
103 74.5234 266.2822 66.5 259.7139 60.8296 251.9404 c 103 74.5234 266.2822 66.5 259.7139 60.8296 251.9404 c
104 54.7129 243.5557 51.2388 224.7588 40.627 221.3779 C 104 54.7129 243.5557 51.2388 224.7588 40.627 221.3779 C
105 40.7998 221.7217 40.9727 222.0674 41.144 222.4131 C 105 40.7998 221.7217 40.9727 222.0674 41.144 222.4131 C
106 39.79 227.2139 42.2383 230.333 43.2163 234.3291 C 106 39.79 227.2139 42.2383 230.333 43.2163 234.3291 C
107 41.1147 235.4502 39.3652 235.8232 38.5547 238.4736 C 107 41.1147 235.4502 39.3652 235.8232 38.5547 238.4736 C
108 40.1084 244.3438 41.6626 250.2139 43.2163 256.085 C 108 40.1084 244.3438 41.6626 250.2139 43.2163 256.085 C
109 42.6357 258.7764 38.5103 262.4824 40.1084 267.4814 c 109 42.6357 258.7764 38.5103 262.4824 40.1084 267.4814 c
110 41.354 271.3818 44.9365 271.5908 45.2896 277.3262 C 110 41.354 271.3818 44.9365 271.5908 45.2896 277.3262 C
111 43.8086 279.5244 41.9907 280.7529 40.1084 282.5049 C 111 43.8086 279.5244 41.9907 280.7529 40.1084 282.5049 C
112 40.1084 282.6777 40.1084 282.8506 40.1084 283.0234 C 112 40.1084 282.6777 40.1084 282.8506 40.1084 283.0234 C
113 52.8052 283.6553 57.1475 290.5166 61.3481 299.6006 C 113 52.8052 283.6553 57.1475 290.5166 61.3481 299.6006 C
114 53.7988 301.8721 41.7808 303.3838 38.5547 309.96 C 114 53.7988 301.8721 41.7808 303.3838 38.5547 309.96 C
115 46.126 307.9092 59.4692 305.3623 67.0459 307.3721 C 115 46.126 307.9092 59.4692 305.3623 67.0459 307.3721 C
116 69.4639 315.3115 71.8813 323.2568 74.2993 331.1992 C 116 69.4639 315.3115 71.8813 323.2568 74.2993 331.1992 C
117 77.9248 347.085 81.5513 362.9736 85.1777 378.8584 C 117 77.9248 347.085 81.5513 362.9736 85.1777 378.8584 C
118 87.957 392.2158 84.7827 409.2002 90.3579 419.7832 C 118 87.957 392.2158 84.7827 409.2002 90.3579 419.7832 C
119 92.7749 421.6826 95.1934 423.5815 97.6104 425.481 C 119 92.7749 421.6826 95.1934 423.5815 97.6104 425.481 C
120 99.3364 431.1782 101.064 436.8784 102.7905 442.5757 C 120 99.3364 431.1782 101.064 436.8784 102.7905 442.5757 C
121 107.7554 450.8428 114.814 456.6777 119.3677 465.8892 C 121 107.7554 450.8428 114.814 456.6777 119.3677 465.8892 C
122 115.0508 468.8232 110.7329 471.7593 106.417 474.6938 C 122 115.0508 468.8232 110.7329 471.7593 106.417 474.6938 C
123 106.7617 476.2495 107.1074 477.8027 107.4531 479.3564 C 123 106.7617 476.2495 107.1074 477.8027 107.4531 479.3564 C
124 93.3389 475.1343 85.5649 470.4336 75.8525 462.7798 C 124 93.3389 475.1343 85.5649 470.4336 75.8525 462.7798 C
125 65.6665 462.7798 55.4756 462.7798 45.2896 462.7798 C 125 65.6665 462.7798 55.4756 462.7798 45.2896 462.7798 C
126 45.4609 463.1255 45.6338 463.4712 45.8066 463.8169 C 126 45.4609 463.1255 45.6338 463.4712 45.8066 463.8169 C
127 74.2612 470.5581 82.3726 479.2275 102.7905 491.7886 C 127 74.2612 470.5581 82.3726 479.2275 102.7905 491.7886 C
128 114.7041 497.832 126.6211 503.8774 138.5347 509.9204 C 128 114.7041 497.832 126.6211 503.8774 138.5347 509.9204 C
129 142.1606 513.2007 145.7881 516.4824 149.4136 519.7622 C 129 142.1606 513.2007 145.7881 516.4824 149.4136 519.7622 C
130 168.4629 531.9883 188.5562 540.2256 210.5415 549.8081 c 130 168.4629 531.9883 188.5562 540.2256 210.5415 549.8081 c
131 217.877 553.0059 224.0391 558.6489 232.2988 561.2056 c 131 217.877 553.0059 224.0391 558.6489 232.2988 561.2056 c
132 245.8008 565.3853 266.6577 569.8081 284.1025 566.3867 C 132 245.8008 565.3853 266.6577 569.8081 284.1025 566.3867 C
133 292.7354 563.4507 301.3701 560.5142 310.0039 557.5801 C 133 292.7354 563.4507 301.3701 560.5142 310.0039 557.5801 C
134 324.5254 553.9165 346.2764 558.8447 355.0732 564.3149 c 134 324.5254 553.9165 346.2764 558.8447 355.0732 564.3149 c
135 369.0625 573.0098 372.4688 593.5171 375.793 613.0088 C 135 369.0625 573.0098 372.4688 593.5171 375.793 613.0088 C
136 376.6572 620.606 377.5195 628.2046 378.3838 635.8013 C 136 376.6572 620.606 377.5195 628.2046 378.3838 635.8013 C
137 383.2783 647.8481 394.3535 648.647 406.3574 653.9336 C 137 383.2783 647.8481 394.3535 648.647 406.3574 653.9336 C
138 f 138 f
139 %%PageTrailer 139 %%PageTrailer
140 gsave annotatepage grestore showpage 140 gsave annotatepage grestore showpage
141 %%Trailer 141 %%Trailer
142 Adobe_Illustrator_AI3 /terminate get exec 142 Adobe_Illustrator_AI3 /terminate get exec
143 Adobe_pattern_AI3 /terminate get exec 143 Adobe_pattern_AI3 /terminate get exec
144 Adobe_customcolor /terminate get exec 144 Adobe_customcolor /terminate get exec
145 Adobe_cshow /terminate get exec 145 Adobe_cshow /terminate get exec
146 Adobe_packedarray /terminate get exec 146 Adobe_packedarray /terminate get exec
147 %%EOF 147 %%EOF
......
This diff could not be displayed because it is too large.
1 ## 1 ##
2 ## Add-in and Automation functions Funções Suplemento e Automação 2 ## Add-in and Automation functions Funções Suplemento e Automação
3 ## 3 ##
4 GETPIVOTDATA = INFODADOSTABELADINÂMICA ## Retorna os dados armazenados em um relatório de tabela dinâmica 4 GETPIVOTDATA = INFODADOSTABELADINÂMICA ## Retorna os dados armazenados em um relatório de tabela dinâmica
5 5
6 6
7 ## 7 ##
8 ## Cube functions Funções de Cubo 8 ## Cube functions Funções de Cubo
9 ## 9 ##
10 CUBEKPIMEMBER = MEMBROKPICUBO ## Retorna o nome de um KPI (indicador de desempenho-chave), uma propriedade e uma medida e exibe o nome e a propriedade na célula. Um KPI é uma medida quantificável, como o lucro bruto mensal ou a rotatividade trimestral dos funcionários, usada para monitorar o desempenho de uma organização. 10 CUBEKPIMEMBER = MEMBROKPICUBO ## Retorna o nome de um KPI (indicador de desempenho-chave), uma propriedade e uma medida e exibe o nome e a propriedade na célula. Um KPI é uma medida quantificável, como o lucro bruto mensal ou a rotatividade trimestral dos funcionários, usada para monitorar o desempenho de uma organização.
11 CUBEMEMBER = MEMBROCUBO ## Retorna um membro ou tupla em uma hierarquia de cubo. Use para validar se o membro ou tupla existe no cubo. 11 CUBEMEMBER = MEMBROCUBO ## Retorna um membro ou tupla em uma hierarquia de cubo. Use para validar se o membro ou tupla existe no cubo.
12 CUBEMEMBERPROPERTY = PROPRIEDADEMEMBROCUBO ## Retorna o valor da propriedade de um membro no cubo. Usada para validar a existência do nome do membro no cubo e para retornar a propriedade especificada para esse membro. 12 CUBEMEMBERPROPERTY = PROPRIEDADEMEMBROCUBO ## Retorna o valor da propriedade de um membro no cubo. Usada para validar a existência do nome do membro no cubo e para retornar a propriedade especificada para esse membro.
13 CUBERANKEDMEMBER = MEMBROCLASSIFICADOCUBO ## Retorna o enésimo membro, ou o membro ordenado, em um conjunto. Use para retornar um ou mais elementos em um conjunto, assim como o melhor vendedor ou os dez melhores alunos. 13 CUBERANKEDMEMBER = MEMBROCLASSIFICADOCUBO ## Retorna o enésimo membro, ou o membro ordenado, em um conjunto. Use para retornar um ou mais elementos em um conjunto, assim como o melhor vendedor ou os dez melhores alunos.
14 CUBESET = CONJUNTOCUBO ## Define um conjunto calculado de membros ou tuplas enviando uma expressão do conjunto para o cubo no servidor, que cria o conjunto e o retorna para o Microsoft Office Excel. 14 CUBESET = CONJUNTOCUBO ## Define um conjunto calculado de membros ou tuplas enviando uma expressão do conjunto para o cubo no servidor, que cria o conjunto e o retorna para o Microsoft Office Excel.
15 CUBESETCOUNT = CONTAGEMCONJUNTOCUBO ## Retorna o número de itens em um conjunto. 15 CUBESETCOUNT = CONTAGEMCONJUNTOCUBO ## Retorna o número de itens em um conjunto.
16 CUBEVALUE = VALORCUBO ## Retorna um valor agregado de um cubo. 16 CUBEVALUE = VALORCUBO ## Retorna um valor agregado de um cubo.
17 17
18 18
19 ## 19 ##
20 ## Database functions Funções de banco de dados 20 ## Database functions Funções de banco de dados
21 ## 21 ##
22 DAVERAGE = BDMÉDIA ## Retorna a média das entradas selecionadas de um banco de dados 22 DAVERAGE = BDMÉDIA ## Retorna a média das entradas selecionadas de um banco de dados
23 DCOUNT = BDCONTAR ## Conta as células que contêm números em um banco de dados 23 DCOUNT = BDCONTAR ## Conta as células que contêm números em um banco de dados
24 DCOUNTA = BDCONTARA ## Conta células não vazias em um banco de dados 24 DCOUNTA = BDCONTARA ## Conta células não vazias em um banco de dados
25 DGET = BDEXTRAIR ## Extrai de um banco de dados um único registro que corresponde a um critério específico 25 DGET = BDEXTRAIR ## Extrai de um banco de dados um único registro que corresponde a um critério específico
26 DMAX = BDMÁX ## Retorna o valor máximo de entradas selecionadas de um banco de dados 26 DMAX = BDMÁX ## Retorna o valor máximo de entradas selecionadas de um banco de dados
27 DMIN = BDMÍN ## Retorna o valor mínimo de entradas selecionadas de um banco de dados 27 DMIN = BDMÍN ## Retorna o valor mínimo de entradas selecionadas de um banco de dados
28 DPRODUCT = BDMULTIPL ## Multiplica os valores em um campo específico de registros que correspondem ao critério em um banco de dados 28 DPRODUCT = BDMULTIPL ## Multiplica os valores em um campo específico de registros que correspondem ao critério em um banco de dados
29 DSTDEV = BDEST ## Estima o desvio padrão com base em uma amostra de entradas selecionadas de um banco de dados 29 DSTDEV = BDEST ## Estima o desvio padrão com base em uma amostra de entradas selecionadas de um banco de dados
30 DSTDEVP = BDDESVPA ## Calcula o desvio padrão com base na população inteira de entradas selecionadas de um banco de dados 30 DSTDEVP = BDDESVPA ## Calcula o desvio padrão com base na população inteira de entradas selecionadas de um banco de dados
31 DSUM = BDSOMA ## Adiciona os números à coluna de campos de registros do banco de dados que correspondem ao critério 31 DSUM = BDSOMA ## Adiciona os números à coluna de campos de registros do banco de dados que correspondem ao critério
32 DVAR = BDVAREST ## Estima a variância com base em uma amostra de entradas selecionadas de um banco de dados 32 DVAR = BDVAREST ## Estima a variância com base em uma amostra de entradas selecionadas de um banco de dados
33 DVARP = BDVARP ## Calcula a variância com base na população inteira de entradas selecionadas de um banco de dados 33 DVARP = BDVARP ## Calcula a variância com base na população inteira de entradas selecionadas de um banco de dados
34 34
35 35
36 ## 36 ##
37 ## Date and time functions Funções de data e hora 37 ## Date and time functions Funções de data e hora
38 ## 38 ##
39 DATE = DATA ## Retorna o número de série de uma data específica 39 DATE = DATA ## Retorna o número de série de uma data específica
40 DATEVALUE = DATA.VALOR ## Converte uma data na forma de texto para um número de série 40 DATEVALUE = DATA.VALOR ## Converte uma data na forma de texto para um número de série
41 DAY = DIA ## Converte um número de série em um dia do mês 41 DAY = DIA ## Converte um número de série em um dia do mês
42 DAYS360 = DIAS360 ## Calcula o número de dias entre duas datas com base em um ano de 360 dias 42 DAYS360 = DIAS360 ## Calcula o número de dias entre duas datas com base em um ano de 360 dias
43 EDATE = DATAM ## Retorna o número de série da data que é o número indicado de meses antes ou depois da data inicial 43 EDATE = DATAM ## Retorna o número de série da data que é o número indicado de meses antes ou depois da data inicial
44 EOMONTH = FIMMÊS ## Retorna o número de série do último dia do mês antes ou depois de um número especificado de meses 44 EOMONTH = FIMMÊS ## Retorna o número de série do último dia do mês antes ou depois de um número especificado de meses
45 HOUR = HORA ## Converte um número de série em uma hora 45 HOUR = HORA ## Converte um número de série em uma hora
46 MINUTE = MINUTO ## Converte um número de série em um minuto 46 MINUTE = MINUTO ## Converte um número de série em um minuto
47 MONTH = MÊS ## Converte um número de série em um mês 47 MONTH = MÊS ## Converte um número de série em um mês
48 NETWORKDAYS = DIATRABALHOTOTAL ## Retorna o número de dias úteis inteiros entre duas datas 48 NETWORKDAYS = DIATRABALHOTOTAL ## Retorna o número de dias úteis inteiros entre duas datas
49 NOW = AGORA ## Retorna o número de série seqüencial da data e hora atuais 49 NOW = AGORA ## Retorna o número de série seqüencial da data e hora atuais
50 SECOND = SEGUNDO ## Converte um número de série em um segundo 50 SECOND = SEGUNDO ## Converte um número de série em um segundo
51 TIME = HORA ## Retorna o número de série de uma hora específica 51 TIME = HORA ## Retorna o número de série de uma hora específica
52 TIMEVALUE = VALOR.TEMPO ## Converte um horário na forma de texto para um número de série 52 TIMEVALUE = VALOR.TEMPO ## Converte um horário na forma de texto para um número de série
53 TODAY = HOJE ## Retorna o número de série da data de hoje 53 TODAY = HOJE ## Retorna o número de série da data de hoje
54 WEEKDAY = DIA.DA.SEMANA ## Converte um número de série em um dia da semana 54 WEEKDAY = DIA.DA.SEMANA ## Converte um número de série em um dia da semana
55 WEEKNUM = NÚMSEMANA ## Converte um número de série em um número que representa onde a semana cai numericamente em um ano 55 WEEKNUM = NÚMSEMANA ## Converte um número de série em um número que representa onde a semana cai numericamente em um ano
56 WORKDAY = DIATRABALHO ## Retorna o número de série da data antes ou depois de um número específico de dias úteis 56 WORKDAY = DIATRABALHO ## Retorna o número de série da data antes ou depois de um número específico de dias úteis
57 YEAR = ANO ## Converte um número de série em um ano 57 YEAR = ANO ## Converte um número de série em um ano
58 YEARFRAC = FRAÇÃOANO ## Retorna a fração do ano que representa o número de dias entre data_inicial e data_final 58 YEARFRAC = FRAÇÃOANO ## Retorna a fração do ano que representa o número de dias entre data_inicial e data_final
59 59
60 60
61 ## 61 ##
62 ## Engineering functions Funções de engenharia 62 ## Engineering functions Funções de engenharia
63 ## 63 ##
64 BESSELI = BESSELI ## Retorna a função de Bessel In(x) modificada 64 BESSELI = BESSELI ## Retorna a função de Bessel In(x) modificada
65 BESSELJ = BESSELJ ## Retorna a função de Bessel Jn(x) 65 BESSELJ = BESSELJ ## Retorna a função de Bessel Jn(x)
66 BESSELK = BESSELK ## Retorna a função de Bessel Kn(x) modificada 66 BESSELK = BESSELK ## Retorna a função de Bessel Kn(x) modificada
67 BESSELY = BESSELY ## Retorna a função de Bessel Yn(x) 67 BESSELY = BESSELY ## Retorna a função de Bessel Yn(x)
68 BIN2DEC = BIN2DEC ## Converte um número binário em decimal 68 BIN2DEC = BIN2DEC ## Converte um número binário em decimal
69 BIN2HEX = BIN2HEX ## Converte um número binário em hexadecimal 69 BIN2HEX = BIN2HEX ## Converte um número binário em hexadecimal
70 BIN2OCT = BIN2OCT ## Converte um número binário em octal 70 BIN2OCT = BIN2OCT ## Converte um número binário em octal
71 COMPLEX = COMPLEX ## Converte coeficientes reais e imaginários e um número complexo 71 COMPLEX = COMPLEX ## Converte coeficientes reais e imaginários e um número complexo
72 CONVERT = CONVERTER ## Converte um número de um sistema de medida para outro 72 CONVERT = CONVERTER ## Converte um número de um sistema de medida para outro
73 DEC2BIN = DECABIN ## Converte um número decimal em binário 73 DEC2BIN = DECABIN ## Converte um número decimal em binário
74 DEC2HEX = DECAHEX ## Converte um número decimal em hexadecimal 74 DEC2HEX = DECAHEX ## Converte um número decimal em hexadecimal
75 DEC2OCT = DECAOCT ## Converte um número decimal em octal 75 DEC2OCT = DECAOCT ## Converte um número decimal em octal
76 DELTA = DELTA ## Testa se dois valores são iguais 76 DELTA = DELTA ## Testa se dois valores são iguais
77 ERF = FUNERRO ## Retorna a função de erro 77 ERF = FUNERRO ## Retorna a função de erro
78 ERFC = FUNERROCOMPL ## Retorna a função de erro complementar 78 ERFC = FUNERROCOMPL ## Retorna a função de erro complementar
79 GESTEP = DEGRAU ## Testa se um número é maior do que um valor limite 79 GESTEP = DEGRAU ## Testa se um número é maior do que um valor limite
80 HEX2BIN = HEXABIN ## Converte um número hexadecimal em binário 80 HEX2BIN = HEXABIN ## Converte um número hexadecimal em binário
81 HEX2DEC = HEXADEC ## Converte um número hexadecimal em decimal 81 HEX2DEC = HEXADEC ## Converte um número hexadecimal em decimal
82 HEX2OCT = HEXAOCT ## Converte um número hexadecimal em octal 82 HEX2OCT = HEXAOCT ## Converte um número hexadecimal em octal
83 IMABS = IMABS ## Retorna o valor absoluto (módulo) de um número complexo 83 IMABS = IMABS ## Retorna o valor absoluto (módulo) de um número complexo
84 IMAGINARY = IMAGINÁRIO ## Retorna o coeficiente imaginário de um número complexo 84 IMAGINARY = IMAGINÁRIO ## Retorna o coeficiente imaginário de um número complexo
85 IMARGUMENT = IMARG ## Retorna o argumento teta, um ângulo expresso em radianos 85 IMARGUMENT = IMARG ## Retorna o argumento teta, um ângulo expresso em radianos
86 IMCONJUGATE = IMCONJ ## Retorna o conjugado complexo de um número complexo 86 IMCONJUGATE = IMCONJ ## Retorna o conjugado complexo de um número complexo
87 IMCOS = IMCOS ## Retorna o cosseno de um número complexo 87 IMCOS = IMCOS ## Retorna o cosseno de um número complexo
88 IMDIV = IMDIV ## Retorna o quociente de dois números complexos 88 IMDIV = IMDIV ## Retorna o quociente de dois números complexos
89 IMEXP = IMEXP ## Retorna o exponencial de um número complexo 89 IMEXP = IMEXP ## Retorna o exponencial de um número complexo
90 IMLN = IMLN ## Retorna o logaritmo natural de um número complexo 90 IMLN = IMLN ## Retorna o logaritmo natural de um número complexo
91 IMLOG10 = IMLOG10 ## Retorna o logaritmo de base 10 de um número complexo 91 IMLOG10 = IMLOG10 ## Retorna o logaritmo de base 10 de um número complexo
92 IMLOG2 = IMLOG2 ## Retorna o logaritmo de base 2 de um número complexo 92 IMLOG2 = IMLOG2 ## Retorna o logaritmo de base 2 de um número complexo
93 IMPOWER = IMPOT ## Retorna um número complexo elevado a uma potência inteira 93 IMPOWER = IMPOT ## Retorna um número complexo elevado a uma potência inteira
94 IMPRODUCT = IMPROD ## Retorna o produto de números complexos 94 IMPRODUCT = IMPROD ## Retorna o produto de números complexos
95 IMREAL = IMREAL ## Retorna o coeficiente real de um número complexo 95 IMREAL = IMREAL ## Retorna o coeficiente real de um número complexo
96 IMSIN = IMSENO ## Retorna o seno de um número complexo 96 IMSIN = IMSENO ## Retorna o seno de um número complexo
97 IMSQRT = IMRAIZ ## Retorna a raiz quadrada de um número complexo 97 IMSQRT = IMRAIZ ## Retorna a raiz quadrada de um número complexo
98 IMSUB = IMSUBTR ## Retorna a diferença entre dois números complexos 98 IMSUB = IMSUBTR ## Retorna a diferença entre dois números complexos
99 IMSUM = IMSOMA ## Retorna a soma de números complexos 99 IMSUM = IMSOMA ## Retorna a soma de números complexos
100 OCT2BIN = OCTABIN ## Converte um número octal em binário 100 OCT2BIN = OCTABIN ## Converte um número octal em binário
101 OCT2DEC = OCTADEC ## Converte um número octal em decimal 101 OCT2DEC = OCTADEC ## Converte um número octal em decimal
102 OCT2HEX = OCTAHEX ## Converte um número octal em hexadecimal 102 OCT2HEX = OCTAHEX ## Converte um número octal em hexadecimal
103 103
104 104
105 ## 105 ##
106 ## Financial functions Funções financeiras 106 ## Financial functions Funções financeiras
107 ## 107 ##
108 ACCRINT = JUROSACUM ## Retorna a taxa de juros acumulados de um título que paga uma taxa periódica de juros 108 ACCRINT = JUROSACUM ## Retorna a taxa de juros acumulados de um título que paga uma taxa periódica de juros
109 ACCRINTM = JUROSACUMV ## Retorna os juros acumulados de um título que paga juros no vencimento 109 ACCRINTM = JUROSACUMV ## Retorna os juros acumulados de um título que paga juros no vencimento
110 AMORDEGRC = AMORDEGRC ## Retorna a depreciação para cada período contábil usando o coeficiente de depreciação 110 AMORDEGRC = AMORDEGRC ## Retorna a depreciação para cada período contábil usando o coeficiente de depreciação
111 AMORLINC = AMORLINC ## Retorna a depreciação para cada período contábil 111 AMORLINC = AMORLINC ## Retorna a depreciação para cada período contábil
112 COUPDAYBS = CUPDIASINLIQ ## Retorna o número de dias do início do período de cupom até a data de liquidação 112 COUPDAYBS = CUPDIASINLIQ ## Retorna o número de dias do início do período de cupom até a data de liquidação
113 COUPDAYS = CUPDIAS ## Retorna o número de dias no período de cupom que contém a data de quitação 113 COUPDAYS = CUPDIAS ## Retorna o número de dias no período de cupom que contém a data de quitação
114 COUPDAYSNC = CUPDIASPRÓX ## Retorna o número de dias da data de liquidação até a data do próximo cupom 114 COUPDAYSNC = CUPDIASPRÓX ## Retorna o número de dias da data de liquidação até a data do próximo cupom
115 COUPNCD = CUPDATAPRÓX ## Retorna a próxima data de cupom após a data de quitação 115 COUPNCD = CUPDATAPRÓX ## Retorna a próxima data de cupom após a data de quitação
116 COUPNUM = CUPNÚM ## Retorna o número de cupons pagáveis entre as datas de quitação e vencimento 116 COUPNUM = CUPNÚM ## Retorna o número de cupons pagáveis entre as datas de quitação e vencimento
117 COUPPCD = CUPDATAANT ## Retorna a data de cupom anterior à data de quitação 117 COUPPCD = CUPDATAANT ## Retorna a data de cupom anterior à data de quitação
118 CUMIPMT = PGTOJURACUM ## Retorna os juros acumulados pagos entre dois períodos 118 CUMIPMT = PGTOJURACUM ## Retorna os juros acumulados pagos entre dois períodos
119 CUMPRINC = PGTOCAPACUM ## Retorna o capital acumulado pago sobre um empréstimo entre dois períodos 119 CUMPRINC = PGTOCAPACUM ## Retorna o capital acumulado pago sobre um empréstimo entre dois períodos
120 DB = BD ## Retorna a depreciação de um ativo para um período especificado, usando o método de balanço de declínio fixo 120 DB = BD ## Retorna a depreciação de um ativo para um período especificado, usando o método de balanço de declínio fixo
121 DDB = BDD ## Retorna a depreciação de um ativo com relação a um período especificado usando o método de saldos decrescentes duplos ou qualquer outro método especificado por você 121 DDB = BDD ## Retorna a depreciação de um ativo com relação a um período especificado usando o método de saldos decrescentes duplos ou qualquer outro método especificado por você
122 DISC = DESC ## Retorna a taxa de desconto de um título 122 DISC = DESC ## Retorna a taxa de desconto de um título
123 DOLLARDE = MOEDADEC ## Converte um preço em formato de moeda, na forma fracionária, em um preço na forma decimal 123 DOLLARDE = MOEDADEC ## Converte um preço em formato de moeda, na forma fracionária, em um preço na forma decimal
124 DOLLARFR = MOEDAFRA ## Converte um preço, apresentado na forma decimal, em um preço apresentado na forma fracionária 124 DOLLARFR = MOEDAFRA ## Converte um preço, apresentado na forma decimal, em um preço apresentado na forma fracionária
125 DURATION = DURAÇÃO ## Retorna a duração anual de um título com pagamentos de juros periódicos 125 DURATION = DURAÇÃO ## Retorna a duração anual de um título com pagamentos de juros periódicos
126 EFFECT = EFETIVA ## Retorna a taxa de juros anual efetiva 126 EFFECT = EFETIVA ## Retorna a taxa de juros anual efetiva
127 FV = VF ## Retorna o valor futuro de um investimento 127 FV = VF ## Retorna o valor futuro de um investimento
128 FVSCHEDULE = VFPLANO ## Retorna o valor futuro de um capital inicial após a aplicação de uma série de taxas de juros compostas 128 FVSCHEDULE = VFPLANO ## Retorna o valor futuro de um capital inicial após a aplicação de uma série de taxas de juros compostas
129 INTRATE = TAXAJUROS ## Retorna a taxa de juros de um título totalmente investido 129 INTRATE = TAXAJUROS ## Retorna a taxa de juros de um título totalmente investido
130 IPMT = IPGTO ## Retorna o pagamento de juros para um investimento em um determinado período 130 IPMT = IPGTO ## Retorna o pagamento de juros para um investimento em um determinado período
131 IRR = TIR ## Retorna a taxa interna de retorno de uma série de fluxos de caixa 131 IRR = TIR ## Retorna a taxa interna de retorno de uma série de fluxos de caixa
132 ISPMT = ÉPGTO ## Calcula os juros pagos durante um período específico de um investimento 132 ISPMT = ÉPGTO ## Calcula os juros pagos durante um período específico de um investimento
133 MDURATION = MDURAÇÃO ## Retorna a duração de Macauley modificada para um título com um valor de paridade equivalente a R$ 100 133 MDURATION = MDURAÇÃO ## Retorna a duração de Macauley modificada para um título com um valor de paridade equivalente a R$ 100
134 MIRR = MTIR ## Calcula a taxa interna de retorno em que fluxos de caixa positivos e negativos são financiados com diferentes taxas 134 MIRR = MTIR ## Calcula a taxa interna de retorno em que fluxos de caixa positivos e negativos são financiados com diferentes taxas
135 NOMINAL = NOMINAL ## Retorna a taxa de juros nominal anual 135 NOMINAL = NOMINAL ## Retorna a taxa de juros nominal anual
136 NPER = NPER ## Retorna o número de períodos de um investimento 136 NPER = NPER ## Retorna o número de períodos de um investimento
137 NPV = VPL ## Retorna o valor líquido atual de um investimento com base em uma série de fluxos de caixa periódicos e em uma taxa de desconto 137 NPV = VPL ## Retorna o valor líquido atual de um investimento com base em uma série de fluxos de caixa periódicos e em uma taxa de desconto
138 ODDFPRICE = PREÇOPRIMINC ## Retorna o preço por R$ 100 de valor nominal de um título com um primeiro período indefinido 138 ODDFPRICE = PREÇOPRIMINC ## Retorna o preço por R$ 100 de valor nominal de um título com um primeiro período indefinido
139 ODDFYIELD = LUCROPRIMINC ## Retorna o rendimento de um título com um primeiro período indefinido 139 ODDFYIELD = LUCROPRIMINC ## Retorna o rendimento de um título com um primeiro período indefinido
140 ODDLPRICE = PREÇOÚLTINC ## Retorna o preço por R$ 100 de valor nominal de um título com um último período de cupom indefinido 140 ODDLPRICE = PREÇOÚLTINC ## Retorna o preço por R$ 100 de valor nominal de um título com um último período de cupom indefinido
141 ODDLYIELD = LUCROÚLTINC ## Retorna o rendimento de um título com um último período indefinido 141 ODDLYIELD = LUCROÚLTINC ## Retorna o rendimento de um título com um último período indefinido
142 PMT = PGTO ## Retorna o pagamento periódico de uma anuidade 142 PMT = PGTO ## Retorna o pagamento periódico de uma anuidade
143 PPMT = PPGTO ## Retorna o pagamento de capital para determinado período de investimento 143 PPMT = PPGTO ## Retorna o pagamento de capital para determinado período de investimento
144 PRICE = PREÇO ## Retorna a preço por R$ 100,00 de valor nominal de um título que paga juros periódicos 144 PRICE = PREÇO ## Retorna a preço por R$ 100,00 de valor nominal de um título que paga juros periódicos
145 PRICEDISC = PREÇODESC ## Retorna o preço por R$ 100,00 de valor nominal de um título descontado 145 PRICEDISC = PREÇODESC ## Retorna o preço por R$ 100,00 de valor nominal de um título descontado
146 PRICEMAT = PREÇOVENC ## Retorna o preço por R$ 100,00 de valor nominal de um título que paga juros no vencimento 146 PRICEMAT = PREÇOVENC ## Retorna o preço por R$ 100,00 de valor nominal de um título que paga juros no vencimento
147 PV = VP ## Retorna o valor presente de um investimento 147 PV = VP ## Retorna o valor presente de um investimento
148 RATE = TAXA ## Retorna a taxa de juros por período de uma anuidade 148 RATE = TAXA ## Retorna a taxa de juros por período de uma anuidade
149 RECEIVED = RECEBER ## Retorna a quantia recebida no vencimento de um título totalmente investido 149 RECEIVED = RECEBER ## Retorna a quantia recebida no vencimento de um título totalmente investido
150 SLN = DPD ## Retorna a depreciação em linha reta de um ativo durante um período 150 SLN = DPD ## Retorna a depreciação em linha reta de um ativo durante um período
151 SYD = SDA ## Retorna a depreciação dos dígitos da soma dos anos de um ativo para um período especificado 151 SYD = SDA ## Retorna a depreciação dos dígitos da soma dos anos de um ativo para um período especificado
152 TBILLEQ = OTN ## Retorna o rendimento de um título equivalente a uma obrigação do Tesouro 152 TBILLEQ = OTN ## Retorna o rendimento de um título equivalente a uma obrigação do Tesouro
153 TBILLPRICE = OTNVALOR ## Retorna o preço por R$ 100,00 de valor nominal de uma obrigação do Tesouro 153 TBILLPRICE = OTNVALOR ## Retorna o preço por R$ 100,00 de valor nominal de uma obrigação do Tesouro
154 TBILLYIELD = OTNLUCRO ## Retorna o rendimento de uma obrigação do Tesouro 154 TBILLYIELD = OTNLUCRO ## Retorna o rendimento de uma obrigação do Tesouro
155 VDB = BDV ## Retorna a depreciação de um ativo para um período especificado ou parcial usando um método de balanço declinante 155 VDB = BDV ## Retorna a depreciação de um ativo para um período especificado ou parcial usando um método de balanço declinante
156 XIRR = XTIR ## Fornece a taxa interna de retorno para um programa de fluxos de caixa que não é necessariamente periódico 156 XIRR = XTIR ## Fornece a taxa interna de retorno para um programa de fluxos de caixa que não é necessariamente periódico
157 XNPV = XVPL ## Retorna o valor presente líquido de um programa de fluxos de caixa que não é necessariamente periódico 157 XNPV = XVPL ## Retorna o valor presente líquido de um programa de fluxos de caixa que não é necessariamente periódico
158 YIELD = LUCRO ## Retorna o lucro de um título que paga juros periódicos 158 YIELD = LUCRO ## Retorna o lucro de um título que paga juros periódicos
159 YIELDDISC = LUCRODESC ## Retorna o rendimento anual de um título descontado. Por exemplo, uma obrigação do Tesouro 159 YIELDDISC = LUCRODESC ## Retorna o rendimento anual de um título descontado. Por exemplo, uma obrigação do Tesouro
160 YIELDMAT = LUCROVENC ## Retorna o lucro anual de um título que paga juros no vencimento 160 YIELDMAT = LUCROVENC ## Retorna o lucro anual de um título que paga juros no vencimento
161 161
162 162
163 ## 163 ##
164 ## Information functions Funções de informação 164 ## Information functions Funções de informação
165 ## 165 ##
166 CELL = CÉL ## Retorna informações sobre formatação, localização ou conteúdo de uma célula 166 CELL = CÉL ## Retorna informações sobre formatação, localização ou conteúdo de uma célula
167 ERROR.TYPE = TIPO.ERRO ## Retorna um número correspondente a um tipo de erro 167 ERROR.TYPE = TIPO.ERRO ## Retorna um número correspondente a um tipo de erro
168 INFO = INFORMAÇÃO ## Retorna informações sobre o ambiente operacional atual 168 INFO = INFORMAÇÃO ## Retorna informações sobre o ambiente operacional atual
169 ISBLANK = ÉCÉL.VAZIA ## Retorna VERDADEIRO se o valor for vazio 169 ISBLANK = ÉCÉL.VAZIA ## Retorna VERDADEIRO se o valor for vazio
170 ISERR = ÉERRO ## Retorna VERDADEIRO se o valor for um valor de erro diferente de #N/D 170 ISERR = ÉERRO ## Retorna VERDADEIRO se o valor for um valor de erro diferente de #N/D
171 ISERROR = ÉERROS ## Retorna VERDADEIRO se o valor for um valor de erro 171 ISERROR = ÉERROS ## Retorna VERDADEIRO se o valor for um valor de erro
172 ISEVEN = ÉPAR ## Retorna VERDADEIRO se o número for par 172 ISEVEN = ÉPAR ## Retorna VERDADEIRO se o número for par
173 ISLOGICAL = ÉLÓGICO ## Retorna VERDADEIRO se o valor for um valor lógico 173 ISLOGICAL = ÉLÓGICO ## Retorna VERDADEIRO se o valor for um valor lógico
174 ISNA = É.NÃO.DISP ## Retorna VERDADEIRO se o valor for o valor de erro #N/D 174 ISNA = É.NÃO.DISP ## Retorna VERDADEIRO se o valor for o valor de erro #N/D
175 ISNONTEXT = É.NÃO.TEXTO ## Retorna VERDADEIRO se o valor for diferente de texto 175 ISNONTEXT = É.NÃO.TEXTO ## Retorna VERDADEIRO se o valor for diferente de texto
176 ISNUMBER = ÉNÚM ## Retorna VERDADEIRO se o valor for um número 176 ISNUMBER = ÉNÚM ## Retorna VERDADEIRO se o valor for um número
177 ISODD = ÉIMPAR ## Retorna VERDADEIRO se o número for ímpar 177 ISODD = ÉIMPAR ## Retorna VERDADEIRO se o número for ímpar
178 ISREF = ÉREF ## Retorna VERDADEIRO se o valor for uma referência 178 ISREF = ÉREF ## Retorna VERDADEIRO se o valor for uma referência
179 ISTEXT = ÉTEXTO ## Retorna VERDADEIRO se o valor for texto 179 ISTEXT = ÉTEXTO ## Retorna VERDADEIRO se o valor for texto
180 N = N ## Retorna um valor convertido em um número 180 N = N ## Retorna um valor convertido em um número
181 NA = NÃO.DISP ## Retorna o valor de erro #N/D 181 NA = NÃO.DISP ## Retorna o valor de erro #N/D
182 TYPE = TIPO ## Retorna um número indicando o tipo de dados de um valor 182 TYPE = TIPO ## Retorna um número indicando o tipo de dados de um valor
183 183
184 184
185 ## 185 ##
186 ## Logical functions Funções lógicas 186 ## Logical functions Funções lógicas
187 ## 187 ##
188 AND = E ## Retorna VERDADEIRO se todos os seus argumentos forem VERDADEIROS 188 AND = E ## Retorna VERDADEIRO se todos os seus argumentos forem VERDADEIROS
189 FALSE = FALSO ## Retorna o valor lógico FALSO 189 FALSE = FALSO ## Retorna o valor lógico FALSO
190 IF = SE ## Especifica um teste lógico a ser executado 190 IF = SE ## Especifica um teste lógico a ser executado
191 IFERROR = SEERRO ## Retornará um valor que você especifica se uma fórmula for avaliada para um erro; do contrário, retornará o resultado da fórmula 191 IFERROR = SEERRO ## Retornará um valor que você especifica se uma fórmula for avaliada para um erro; do contrário, retornará o resultado da fórmula
192 NOT = NÃO ## Inverte o valor lógico do argumento 192 NOT = NÃO ## Inverte o valor lógico do argumento
193 OR = OU ## Retorna VERDADEIRO se um dos argumentos for VERDADEIRO 193 OR = OU ## Retorna VERDADEIRO se um dos argumentos for VERDADEIRO
194 TRUE = VERDADEIRO ## Retorna o valor lógico VERDADEIRO 194 TRUE = VERDADEIRO ## Retorna o valor lógico VERDADEIRO
195 195
196 196
197 ## 197 ##
198 ## Lookup and reference functions Funções de pesquisa e referência 198 ## Lookup and reference functions Funções de pesquisa e referência
199 ## 199 ##
200 ADDRESS = ENDEREÇO ## Retorna uma referência como texto para uma única célula em uma planilha 200 ADDRESS = ENDEREÇO ## Retorna uma referência como texto para uma única célula em uma planilha
201 AREAS = ÁREAS ## Retorna o número de áreas em uma referência 201 AREAS = ÁREAS ## Retorna o número de áreas em uma referência
202 CHOOSE = ESCOLHER ## Escolhe um valor a partir de uma lista de valores 202 CHOOSE = ESCOLHER ## Escolhe um valor a partir de uma lista de valores
203 COLUMN = COL ## Retorna o número da coluna de uma referência 203 COLUMN = COL ## Retorna o número da coluna de uma referência
204 COLUMNS = COLS ## Retorna o número de colunas em uma referência 204 COLUMNS = COLS ## Retorna o número de colunas em uma referência
205 HLOOKUP = PROCH ## Procura na linha superior de uma matriz e retorna o valor da célula especificada 205 HLOOKUP = PROCH ## Procura na linha superior de uma matriz e retorna o valor da célula especificada
206 HYPERLINK = HYPERLINK ## Cria um atalho ou salto que abre um documento armazenado em um servidor de rede, uma intranet ou na Internet 206 HYPERLINK = HYPERLINK ## Cria um atalho ou salto que abre um documento armazenado em um servidor de rede, uma intranet ou na Internet
207 INDEX = ÍNDICE ## Usa um índice para escolher um valor de uma referência ou matriz 207 INDEX = ÍNDICE ## Usa um índice para escolher um valor de uma referência ou matriz
208 INDIRECT = INDIRETO ## Retorna uma referência indicada por um valor de texto 208 INDIRECT = INDIRETO ## Retorna uma referência indicada por um valor de texto
209 LOOKUP = PROC ## Procura valores em um vetor ou em uma matriz 209 LOOKUP = PROC ## Procura valores em um vetor ou em uma matriz
210 MATCH = CORRESP ## Procura valores em uma referência ou em uma matriz 210 MATCH = CORRESP ## Procura valores em uma referência ou em uma matriz
211 OFFSET = DESLOC ## Retorna um deslocamento de referência com base em uma determinada referência 211 OFFSET = DESLOC ## Retorna um deslocamento de referência com base em uma determinada referência
212 ROW = LIN ## Retorna o número da linha de uma referência 212 ROW = LIN ## Retorna o número da linha de uma referência
213 ROWS = LINS ## Retorna o número de linhas em uma referência 213 ROWS = LINS ## Retorna o número de linhas em uma referência
214 RTD = RTD ## Recupera dados em tempo real de um programa que ofereça suporte a automação COM (automação: uma forma de trabalhar com objetos de um aplicativo a partir de outro aplicativo ou ferramenta de desenvolvimento. Chamada inicialmente de automação OLE, a automação é um padrão industrial e um recurso do modelo de objeto componente (COM).) 214 RTD = RTD ## Recupera dados em tempo real de um programa que ofereça suporte a automação COM (automação: uma forma de trabalhar com objetos de um aplicativo a partir de outro aplicativo ou ferramenta de desenvolvimento. Chamada inicialmente de automação OLE, a automação é um padrão industrial e um recurso do modelo de objeto componente (COM).)
215 TRANSPOSE = TRANSPOR ## Retorna a transposição de uma matriz 215 TRANSPOSE = TRANSPOR ## Retorna a transposição de uma matriz
216 VLOOKUP = PROCV ## Procura na primeira coluna de uma matriz e move ao longo da linha para retornar o valor de uma célula 216 VLOOKUP = PROCV ## Procura na primeira coluna de uma matriz e move ao longo da linha para retornar o valor de uma célula
217 217
218 218
219 ## 219 ##
220 ## Math and trigonometry functions Funções matemáticas e trigonométricas 220 ## Math and trigonometry functions Funções matemáticas e trigonométricas
221 ## 221 ##
222 ABS = ABS ## Retorna o valor absoluto de um número 222 ABS = ABS ## Retorna o valor absoluto de um número
223 ACOS = ACOS ## Retorna o arco cosseno de um número 223 ACOS = ACOS ## Retorna o arco cosseno de um número
224 ACOSH = ACOSH ## Retorna o cosseno hiperbólico inverso de um número 224 ACOSH = ACOSH ## Retorna o cosseno hiperbólico inverso de um número
225 ASIN = ASEN ## Retorna o arco seno de um número 225 ASIN = ASEN ## Retorna o arco seno de um número
226 ASINH = ASENH ## Retorna o seno hiperbólico inverso de um número 226 ASINH = ASENH ## Retorna o seno hiperbólico inverso de um número
227 ATAN = ATAN ## Retorna o arco tangente de um número 227 ATAN = ATAN ## Retorna o arco tangente de um número
228 ATAN2 = ATAN2 ## Retorna o arco tangente das coordenadas x e y especificadas 228 ATAN2 = ATAN2 ## Retorna o arco tangente das coordenadas x e y especificadas
229 ATANH = ATANH ## Retorna a tangente hiperbólica inversa de um número 229 ATANH = ATANH ## Retorna a tangente hiperbólica inversa de um número
230 CEILING = TETO ## Arredonda um número para o inteiro mais próximo ou para o múltiplo mais próximo de significância 230 CEILING = TETO ## Arredonda um número para o inteiro mais próximo ou para o múltiplo mais próximo de significância
231 COMBIN = COMBIN ## Retorna o número de combinações de um determinado número de objetos 231 COMBIN = COMBIN ## Retorna o número de combinações de um determinado número de objetos
232 COS = COS ## Retorna o cosseno de um número 232 COS = COS ## Retorna o cosseno de um número
233 COSH = COSH ## Retorna o cosseno hiperbólico de um número 233 COSH = COSH ## Retorna o cosseno hiperbólico de um número
234 DEGREES = GRAUS ## Converte radianos em graus 234 DEGREES = GRAUS ## Converte radianos em graus
235 EVEN = PAR ## Arredonda um número para cima até o inteiro par mais próximo 235 EVEN = PAR ## Arredonda um número para cima até o inteiro par mais próximo
236 EXP = EXP ## Retorna e elevado à potência de um número especificado 236 EXP = EXP ## Retorna e elevado à potência de um número especificado
237 FACT = FATORIAL ## Retorna o fatorial de um número 237 FACT = FATORIAL ## Retorna o fatorial de um número
238 FACTDOUBLE = FATDUPLO ## Retorna o fatorial duplo de um número 238 FACTDOUBLE = FATDUPLO ## Retorna o fatorial duplo de um número
239 FLOOR = ARREDMULTB ## Arredonda um número para baixo até zero 239 FLOOR = ARREDMULTB ## Arredonda um número para baixo até zero
240 GCD = MDC ## Retorna o máximo divisor comum 240 GCD = MDC ## Retorna o máximo divisor comum
241 INT = INT ## Arredonda um número para baixo até o número inteiro mais próximo 241 INT = INT ## Arredonda um número para baixo até o número inteiro mais próximo
242 LCM = MMC ## Retorna o mínimo múltiplo comum 242 LCM = MMC ## Retorna o mínimo múltiplo comum
243 LN = LN ## Retorna o logaritmo natural de um número 243 LN = LN ## Retorna o logaritmo natural de um número
244 LOG = LOG ## Retorna o logaritmo de um número de uma base especificada 244 LOG = LOG ## Retorna o logaritmo de um número de uma base especificada
245 LOG10 = LOG10 ## Retorna o logaritmo de base 10 de um número 245 LOG10 = LOG10 ## Retorna o logaritmo de base 10 de um número
246 MDETERM = MATRIZ.DETERM ## Retorna o determinante de uma matriz de uma variável do tipo matriz 246 MDETERM = MATRIZ.DETERM ## Retorna o determinante de uma matriz de uma variável do tipo matriz
247 MINVERSE = MATRIZ.INVERSO ## Retorna a matriz inversa de uma matriz 247 MINVERSE = MATRIZ.INVERSO ## Retorna a matriz inversa de uma matriz
248 MMULT = MATRIZ.MULT ## Retorna o produto de duas matrizes 248 MMULT = MATRIZ.MULT ## Retorna o produto de duas matrizes
249 MOD = RESTO ## Retorna o resto da divisão 249 MOD = RESTO ## Retorna o resto da divisão
250 MROUND = MARRED ## Retorna um número arredondado ao múltiplo desejado 250 MROUND = MARRED ## Retorna um número arredondado ao múltiplo desejado
251 MULTINOMIAL = MULTINOMIAL ## Retorna o multinomial de um conjunto de números 251 MULTINOMIAL = MULTINOMIAL ## Retorna o multinomial de um conjunto de números
252 ODD = ÍMPAR ## Arredonda um número para cima até o inteiro ímpar mais próximo 252 ODD = ÍMPAR ## Arredonda um número para cima até o inteiro ímpar mais próximo
253 PI = PI ## Retorna o valor de Pi 253 PI = PI ## Retorna o valor de Pi
254 POWER = POTÊNCIA ## Fornece o resultado de um número elevado a uma potência 254 POWER = POTÊNCIA ## Fornece o resultado de um número elevado a uma potência
255 PRODUCT = MULT ## Multiplica seus argumentos 255 PRODUCT = MULT ## Multiplica seus argumentos
256 QUOTIENT = QUOCIENTE ## Retorna a parte inteira de uma divisão 256 QUOTIENT = QUOCIENTE ## Retorna a parte inteira de uma divisão
257 RADIANS = RADIANOS ## Converte graus em radianos 257 RADIANS = RADIANOS ## Converte graus em radianos
258 RAND = ALEATÓRIO ## Retorna um número aleatório entre 0 e 1 258 RAND = ALEATÓRIO ## Retorna um número aleatório entre 0 e 1
259 RANDBETWEEN = ALEATÓRIOENTRE ## Retorna um número aleatório entre os números especificados 259 RANDBETWEEN = ALEATÓRIOENTRE ## Retorna um número aleatório entre os números especificados
260 ROMAN = ROMANO ## Converte um algarismo arábico em romano, como texto 260 ROMAN = ROMANO ## Converte um algarismo arábico em romano, como texto
261 ROUND = ARRED ## Arredonda um número até uma quantidade especificada de dígitos 261 ROUND = ARRED ## Arredonda um número até uma quantidade especificada de dígitos
262 ROUNDDOWN = ARREDONDAR.PARA.BAIXO ## Arredonda um número para baixo até zero 262 ROUNDDOWN = ARREDONDAR.PARA.BAIXO ## Arredonda um número para baixo até zero
263 ROUNDUP = ARREDONDAR.PARA.CIMA ## Arredonda um número para cima, afastando-o de zero 263 ROUNDUP = ARREDONDAR.PARA.CIMA ## Arredonda um número para cima, afastando-o de zero
264 SERIESSUM = SOMASEQÜÊNCIA ## Retorna a soma de uma série polinomial baseada na fórmula 264 SERIESSUM = SOMASEQÜÊNCIA ## Retorna a soma de uma série polinomial baseada na fórmula
265 SIGN = SINAL ## Retorna o sinal de um número 265 SIGN = SINAL ## Retorna o sinal de um número
266 SIN = SEN ## Retorna o seno de um ângulo dado 266 SIN = SEN ## Retorna o seno de um ângulo dado
267 SINH = SENH ## Retorna o seno hiperbólico de um número 267 SINH = SENH ## Retorna o seno hiperbólico de um número
268 SQRT = RAIZ ## Retorna uma raiz quadrada positiva 268 SQRT = RAIZ ## Retorna uma raiz quadrada positiva
269 SQRTPI = RAIZPI ## Retorna a raiz quadrada de (núm* pi) 269 SQRTPI = RAIZPI ## Retorna a raiz quadrada de (núm* pi)
270 SUBTOTAL = SUBTOTAL ## Retorna um subtotal em uma lista ou em um banco de dados 270 SUBTOTAL = SUBTOTAL ## Retorna um subtotal em uma lista ou em um banco de dados
271 SUM = SOMA ## Soma seus argumentos 271 SUM = SOMA ## Soma seus argumentos
272 SUMIF = SOMASE ## Adiciona as células especificadas por um determinado critério 272 SUMIF = SOMASE ## Adiciona as células especificadas por um determinado critério
273 SUMIFS = SOMASE ## Adiciona as células em um intervalo que atende a vários critérios 273 SUMIFS = SOMASE ## Adiciona as células em um intervalo que atende a vários critérios
274 SUMPRODUCT = SOMARPRODUTO ## Retorna a soma dos produtos de componentes correspondentes de matrizes 274 SUMPRODUCT = SOMARPRODUTO ## Retorna a soma dos produtos de componentes correspondentes de matrizes
275 SUMSQ = SOMAQUAD ## Retorna a soma dos quadrados dos argumentos 275 SUMSQ = SOMAQUAD ## Retorna a soma dos quadrados dos argumentos
276 SUMX2MY2 = SOMAX2DY2 ## Retorna a soma da diferença dos quadrados dos valores correspondentes em duas matrizes 276 SUMX2MY2 = SOMAX2DY2 ## Retorna a soma da diferença dos quadrados dos valores correspondentes em duas matrizes
277 SUMX2PY2 = SOMAX2SY2 ## Retorna a soma da soma dos quadrados dos valores correspondentes em duas matrizes 277 SUMX2PY2 = SOMAX2SY2 ## Retorna a soma da soma dos quadrados dos valores correspondentes em duas matrizes
278 SUMXMY2 = SOMAXMY2 ## Retorna a soma dos quadrados das diferenças dos valores correspondentes em duas matrizes 278 SUMXMY2 = SOMAXMY2 ## Retorna a soma dos quadrados das diferenças dos valores correspondentes em duas matrizes
279 TAN = TAN ## Retorna a tangente de um número 279 TAN = TAN ## Retorna a tangente de um número
280 TANH = TANH ## Retorna a tangente hiperbólica de um número 280 TANH = TANH ## Retorna a tangente hiperbólica de um número
281 TRUNC = TRUNCAR ## Trunca um número para um inteiro 281 TRUNC = TRUNCAR ## Trunca um número para um inteiro
282 282
283 283
284 ## 284 ##
285 ## Statistical functions Funções estatísticas 285 ## Statistical functions Funções estatísticas
286 ## 286 ##
287 AVEDEV = DESV.MÉDIO ## Retorna a média aritmética dos desvios médios dos pontos de dados a partir de sua média 287 AVEDEV = DESV.MÉDIO ## Retorna a média aritmética dos desvios médios dos pontos de dados a partir de sua média
288 AVERAGE = MÉDIA ## Retorna a média dos argumentos 288 AVERAGE = MÉDIA ## Retorna a média dos argumentos
289 AVERAGEA = MÉDIAA ## Retorna a média dos argumentos, inclusive números, texto e valores lógicos 289 AVERAGEA = MÉDIAA ## Retorna a média dos argumentos, inclusive números, texto e valores lógicos
290 AVERAGEIF = MÉDIASE ## Retorna a média (média aritmética) de todas as células em um intervalo que atendem a um determinado critério 290 AVERAGEIF = MÉDIASE ## Retorna a média (média aritmética) de todas as células em um intervalo que atendem a um determinado critério
291 AVERAGEIFS = MÉDIASES ## Retorna a média (média aritmética) de todas as células que atendem a múltiplos critérios. 291 AVERAGEIFS = MÉDIASES ## Retorna a média (média aritmética) de todas as células que atendem a múltiplos critérios.
292 BETADIST = DISTBETA ## Retorna a função de distribuição cumulativa beta 292 BETADIST = DISTBETA ## Retorna a função de distribuição cumulativa beta
293 BETAINV = BETA.ACUM.INV ## Retorna o inverso da função de distribuição cumulativa para uma distribuição beta especificada 293 BETAINV = BETA.ACUM.INV ## Retorna o inverso da função de distribuição cumulativa para uma distribuição beta especificada
294 BINOMDIST = DISTRBINOM ## Retorna a probabilidade de distribuição binomial do termo individual 294 BINOMDIST = DISTRBINOM ## Retorna a probabilidade de distribuição binomial do termo individual
295 CHIDIST = DIST.QUI ## Retorna a probabilidade unicaudal da distribuição qui-quadrada 295 CHIDIST = DIST.QUI ## Retorna a probabilidade unicaudal da distribuição qui-quadrada
296 CHIINV = INV.QUI ## Retorna o inverso da probabilidade uni-caudal da distribuição qui-quadrada 296 CHIINV = INV.QUI ## Retorna o inverso da probabilidade uni-caudal da distribuição qui-quadrada
297 CHITEST = TESTE.QUI ## Retorna o teste para independência 297 CHITEST = TESTE.QUI ## Retorna o teste para independência
298 CONFIDENCE = INT.CONFIANÇA ## Retorna o intervalo de confiança para uma média da população 298 CONFIDENCE = INT.CONFIANÇA ## Retorna o intervalo de confiança para uma média da população
299 CORREL = CORREL ## Retorna o coeficiente de correlação entre dois conjuntos de dados 299 CORREL = CORREL ## Retorna o coeficiente de correlação entre dois conjuntos de dados
300 COUNT = CONT.NÚM ## Calcula quantos números há na lista de argumentos 300 COUNT = CONT.NÚM ## Calcula quantos números há na lista de argumentos
301 COUNTA = CONT.VALORES ## Calcula quantos valores há na lista de argumentos 301 COUNTA = CONT.VALORES ## Calcula quantos valores há na lista de argumentos
302 COUNTBLANK = CONTAR.VAZIO ## Conta o número de células vazias no intervalo especificado 302 COUNTBLANK = CONTAR.VAZIO ## Conta o número de células vazias no intervalo especificado
303 COUNTIF = CONT.SE ## Calcula o número de células não vazias em um intervalo que corresponde a determinados critérios 303 COUNTIF = CONT.SE ## Calcula o número de células não vazias em um intervalo que corresponde a determinados critérios
304 COUNTIFS = CONT.SES ## Conta o número de células dentro de um intervalo que atende a múltiplos critérios 304 COUNTIFS = CONT.SES ## Conta o número de células dentro de um intervalo que atende a múltiplos critérios
305 COVAR = COVAR ## Retorna a covariância, a média dos produtos dos desvios pares 305 COVAR = COVAR ## Retorna a covariância, a média dos produtos dos desvios pares
306 CRITBINOM = CRIT.BINOM ## Retorna o menor valor para o qual a distribuição binomial cumulativa é menor ou igual ao valor padrão 306 CRITBINOM = CRIT.BINOM ## Retorna o menor valor para o qual a distribuição binomial cumulativa é menor ou igual ao valor padrão
307 DEVSQ = DESVQ ## Retorna a soma dos quadrados dos desvios 307 DEVSQ = DESVQ ## Retorna a soma dos quadrados dos desvios
308 EXPONDIST = DISTEXPON ## Retorna a distribuição exponencial 308 EXPONDIST = DISTEXPON ## Retorna a distribuição exponencial
309 FDIST = DISTF ## Retorna a distribuição de probabilidade F 309 FDIST = DISTF ## Retorna a distribuição de probabilidade F
310 FINV = INVF ## Retorna o inverso da distribuição de probabilidades F 310 FINV = INVF ## Retorna o inverso da distribuição de probabilidades F
311 FISHER = FISHER ## Retorna a transformação Fisher 311 FISHER = FISHER ## Retorna a transformação Fisher
312 FISHERINV = FISHERINV ## Retorna o inverso da transformação Fisher 312 FISHERINV = FISHERINV ## Retorna o inverso da transformação Fisher
313 FORECAST = PREVISÃO ## Retorna um valor ao longo de uma linha reta 313 FORECAST = PREVISÃO ## Retorna um valor ao longo de uma linha reta
314 FREQUENCY = FREQÜÊNCIA ## Retorna uma distribuição de freqüência como uma matriz vertical 314 FREQUENCY = FREQÜÊNCIA ## Retorna uma distribuição de freqüência como uma matriz vertical
315 FTEST = TESTEF ## Retorna o resultado de um teste F 315 FTEST = TESTEF ## Retorna o resultado de um teste F
316 GAMMADIST = DISTGAMA ## Retorna a distribuição gama 316 GAMMADIST = DISTGAMA ## Retorna a distribuição gama
317 GAMMAINV = INVGAMA ## Retorna o inverso da distribuição cumulativa gama 317 GAMMAINV = INVGAMA ## Retorna o inverso da distribuição cumulativa gama
318 GAMMALN = LNGAMA ## Retorna o logaritmo natural da função gama, G(x) 318 GAMMALN = LNGAMA ## Retorna o logaritmo natural da função gama, G(x)
319 GEOMEAN = MÉDIA.GEOMÉTRICA ## Retorna a média geométrica 319 GEOMEAN = MÉDIA.GEOMÉTRICA ## Retorna a média geométrica
320 GROWTH = CRESCIMENTO ## Retorna valores ao longo de uma tendência exponencial 320 GROWTH = CRESCIMENTO ## Retorna valores ao longo de uma tendência exponencial
321 HARMEAN = MÉDIA.HARMÔNICA ## Retorna a média harmônica 321 HARMEAN = MÉDIA.HARMÔNICA ## Retorna a média harmônica
322 HYPGEOMDIST = DIST.HIPERGEOM ## Retorna a distribuição hipergeométrica 322 HYPGEOMDIST = DIST.HIPERGEOM ## Retorna a distribuição hipergeométrica
323 INTERCEPT = INTERCEPÇÃO ## Retorna a intercepção da linha de regressão linear 323 INTERCEPT = INTERCEPÇÃO ## Retorna a intercepção da linha de regressão linear
324 KURT = CURT ## Retorna a curtose de um conjunto de dados 324 KURT = CURT ## Retorna a curtose de um conjunto de dados
325 LARGE = MAIOR ## Retorna o maior valor k-ésimo de um conjunto de dados 325 LARGE = MAIOR ## Retorna o maior valor k-ésimo de um conjunto de dados
326 LINEST = PROJ.LIN ## Retorna os parâmetros de uma tendência linear 326 LINEST = PROJ.LIN ## Retorna os parâmetros de uma tendência linear
327 LOGEST = PROJ.LOG ## Retorna os parâmetros de uma tendência exponencial 327 LOGEST = PROJ.LOG ## Retorna os parâmetros de uma tendência exponencial
328 LOGINV = INVLOG ## Retorna o inverso da distribuição lognormal 328 LOGINV = INVLOG ## Retorna o inverso da distribuição lognormal
329 LOGNORMDIST = DIST.LOGNORMAL ## Retorna a distribuição lognormal cumulativa 329 LOGNORMDIST = DIST.LOGNORMAL ## Retorna a distribuição lognormal cumulativa
330 MAX = MÁXIMO ## Retorna o valor máximo em uma lista de argumentos 330 MAX = MÁXIMO ## Retorna o valor máximo em uma lista de argumentos
331 MAXA = MÁXIMOA ## Retorna o maior valor em uma lista de argumentos, inclusive números, texto e valores lógicos 331 MAXA = MÁXIMOA ## Retorna o maior valor em uma lista de argumentos, inclusive números, texto e valores lógicos
332 MEDIAN = MED ## Retorna a mediana dos números indicados 332 MEDIAN = MED ## Retorna a mediana dos números indicados
333 MIN = MÍNIMO ## Retorna o valor mínimo em uma lista de argumentos 333 MIN = MÍNIMO ## Retorna o valor mínimo em uma lista de argumentos
334 MINA = MÍNIMOA ## Retorna o menor valor em uma lista de argumentos, inclusive números, texto e valores lógicos 334 MINA = MÍNIMOA ## Retorna o menor valor em uma lista de argumentos, inclusive números, texto e valores lógicos
335 MODE = MODO ## Retorna o valor mais comum em um conjunto de dados 335 MODE = MODO ## Retorna o valor mais comum em um conjunto de dados
336 NEGBINOMDIST = DIST.BIN.NEG ## Retorna a distribuição binomial negativa 336 NEGBINOMDIST = DIST.BIN.NEG ## Retorna a distribuição binomial negativa
337 NORMDIST = DIST.NORM ## Retorna a distribuição cumulativa normal 337 NORMDIST = DIST.NORM ## Retorna a distribuição cumulativa normal
338 NORMINV = INV.NORM ## Retorna o inverso da distribuição cumulativa normal 338 NORMINV = INV.NORM ## Retorna o inverso da distribuição cumulativa normal
339 NORMSDIST = DIST.NORMP ## Retorna a distribuição cumulativa normal padrão 339 NORMSDIST = DIST.NORMP ## Retorna a distribuição cumulativa normal padrão
340 NORMSINV = INV.NORMP ## Retorna o inverso da distribuição cumulativa normal padrão 340 NORMSINV = INV.NORMP ## Retorna o inverso da distribuição cumulativa normal padrão
341 PEARSON = PEARSON ## Retorna o coeficiente de correlação do momento do produto Pearson 341 PEARSON = PEARSON ## Retorna o coeficiente de correlação do momento do produto Pearson
342 PERCENTILE = PERCENTIL ## Retorna o k-ésimo percentil de valores em um intervalo 342 PERCENTILE = PERCENTIL ## Retorna o k-ésimo percentil de valores em um intervalo
343 PERCENTRANK = ORDEM.PORCENTUAL ## Retorna a ordem percentual de um valor em um conjunto de dados 343 PERCENTRANK = ORDEM.PORCENTUAL ## Retorna a ordem percentual de um valor em um conjunto de dados
344 PERMUT = PERMUT ## Retorna o número de permutações de um determinado número de objetos 344 PERMUT = PERMUT ## Retorna o número de permutações de um determinado número de objetos
345 POISSON = POISSON ## Retorna a distribuição Poisson 345 POISSON = POISSON ## Retorna a distribuição Poisson
346 PROB = PROB ## Retorna a probabilidade de valores em um intervalo estarem entre dois limites 346 PROB = PROB ## Retorna a probabilidade de valores em um intervalo estarem entre dois limites
347 QUARTILE = QUARTIL ## Retorna o quartil do conjunto de dados 347 QUARTILE = QUARTIL ## Retorna o quartil do conjunto de dados
348 RANK = ORDEM ## Retorna a posição de um número em uma lista de números 348 RANK = ORDEM ## Retorna a posição de um número em uma lista de números
349 RSQ = RQUAD ## Retorna o quadrado do coeficiente de correlação do momento do produto de Pearson 349 RSQ = RQUAD ## Retorna o quadrado do coeficiente de correlação do momento do produto de Pearson
350 SKEW = DISTORÇÃO ## Retorna a distorção de uma distribuição 350 SKEW = DISTORÇÃO ## Retorna a distorção de uma distribuição
351 SLOPE = INCLINAÇÃO ## Retorna a inclinação da linha de regressão linear 351 SLOPE = INCLINAÇÃO ## Retorna a inclinação da linha de regressão linear
352 SMALL = MENOR ## Retorna o menor valor k-ésimo do conjunto de dados 352 SMALL = MENOR ## Retorna o menor valor k-ésimo do conjunto de dados
353 STANDARDIZE = PADRONIZAR ## Retorna um valor normalizado 353 STANDARDIZE = PADRONIZAR ## Retorna um valor normalizado
354 STDEV = DESVPAD ## Estima o desvio padrão com base em uma amostra 354 STDEV = DESVPAD ## Estima o desvio padrão com base em uma amostra
355 STDEVA = DESVPADA ## Estima o desvio padrão com base em uma amostra, inclusive números, texto e valores lógicos 355 STDEVA = DESVPADA ## Estima o desvio padrão com base em uma amostra, inclusive números, texto e valores lógicos
356 STDEVP = DESVPADP ## Calcula o desvio padrão com base na população total 356 STDEVP = DESVPADP ## Calcula o desvio padrão com base na população total
357 STDEVPA = DESVPADPA ## Calcula o desvio padrão com base na população total, inclusive números, texto e valores lógicos 357 STDEVPA = DESVPADPA ## Calcula o desvio padrão com base na população total, inclusive números, texto e valores lógicos
358 STEYX = EPADYX ## Retorna o erro padrão do valor-y previsto para cada x da regressão 358 STEYX = EPADYX ## Retorna o erro padrão do valor-y previsto para cada x da regressão
359 TDIST = DISTT ## Retorna a distribuição t de Student 359 TDIST = DISTT ## Retorna a distribuição t de Student
360 TINV = INVT ## Retorna o inverso da distribuição t de Student 360 TINV = INVT ## Retorna o inverso da distribuição t de Student
361 TREND = TENDÊNCIA ## Retorna valores ao longo de uma tendência linear 361 TREND = TENDÊNCIA ## Retorna valores ao longo de uma tendência linear
362 TRIMMEAN = MÉDIA.INTERNA ## Retorna a média do interior de um conjunto de dados 362 TRIMMEAN = MÉDIA.INTERNA ## Retorna a média do interior de um conjunto de dados
363 TTEST = TESTET ## Retorna a probabilidade associada ao teste t de Student 363 TTEST = TESTET ## Retorna a probabilidade associada ao teste t de Student
364 VAR = VAR ## Estima a variância com base em uma amostra 364 VAR = VAR ## Estima a variância com base em uma amostra
365 VARA = VARA ## Estima a variância com base em uma amostra, inclusive números, texto e valores lógicos 365 VARA = VARA ## Estima a variância com base em uma amostra, inclusive números, texto e valores lógicos
366 VARP = VARP ## Calcula a variância com base na população inteira 366 VARP = VARP ## Calcula a variância com base na população inteira
367 VARPA = VARPA ## Calcula a variância com base na população total, inclusive números, texto e valores lógicos 367 VARPA = VARPA ## Calcula a variância com base na população total, inclusive números, texto e valores lógicos
368 WEIBULL = WEIBULL ## Retorna a distribuição Weibull 368 WEIBULL = WEIBULL ## Retorna a distribuição Weibull
369 ZTEST = TESTEZ ## Retorna o valor de probabilidade uni-caudal de um teste-z 369 ZTEST = TESTEZ ## Retorna o valor de probabilidade uni-caudal de um teste-z
370 370
371 371
372 ## 372 ##
373 ## Text functions Funções de texto 373 ## Text functions Funções de texto
374 ## 374 ##
375 ASC = ASC ## Altera letras do inglês ou katakana de largura total (bytes duplos) dentro de uma seqüência de caracteres para caracteres de meia largura (byte único) 375 ASC = ASC ## Altera letras do inglês ou katakana de largura total (bytes duplos) dentro de uma seqüência de caracteres para caracteres de meia largura (byte único)
376 BAHTTEXT = BAHTTEXT ## Converte um número em um texto, usando o formato de moeda ß (baht) 376 BAHTTEXT = BAHTTEXT ## Converte um número em um texto, usando o formato de moeda ß (baht)
377 CHAR = CARACT ## Retorna o caractere especificado pelo número de código 377 CHAR = CARACT ## Retorna o caractere especificado pelo número de código
378 CLEAN = TIRAR ## Remove todos os caracteres do texto que não podem ser impressos 378 CLEAN = TIRAR ## Remove todos os caracteres do texto que não podem ser impressos
379 CODE = CÓDIGO ## Retorna um código numérico para o primeiro caractere de uma seqüência de caracteres de texto 379 CODE = CÓDIGO ## Retorna um código numérico para o primeiro caractere de uma seqüência de caracteres de texto
380 CONCATENATE = CONCATENAR ## Agrupa vários itens de texto em um único item de texto 380 CONCATENATE = CONCATENAR ## Agrupa vários itens de texto em um único item de texto
381 DOLLAR = MOEDA ## Converte um número em texto, usando o formato de moeda $ (dólar) 381 DOLLAR = MOEDA ## Converte um número em texto, usando o formato de moeda $ (dólar)
382 EXACT = EXATO ## Verifica se dois valores de texto são idênticos 382 EXACT = EXATO ## Verifica se dois valores de texto são idênticos
383 FIND = PROCURAR ## Procura um valor de texto dentro de outro (diferencia maiúsculas de minúsculas) 383 FIND = PROCURAR ## Procura um valor de texto dentro de outro (diferencia maiúsculas de minúsculas)
384 FINDB = PROCURARB ## Procura um valor de texto dentro de outro (diferencia maiúsculas de minúsculas) 384 FINDB = PROCURARB ## Procura um valor de texto dentro de outro (diferencia maiúsculas de minúsculas)
385 FIXED = DEF.NÚM.DEC ## Formata um número como texto com um número fixo de decimais 385 FIXED = DEF.NÚM.DEC ## Formata um número como texto com um número fixo de decimais
386 JIS = JIS ## Altera letras do inglês ou katakana de meia largura (byte único) dentro de uma seqüência de caracteres para caracteres de largura total (bytes duplos) 386 JIS = JIS ## Altera letras do inglês ou katakana de meia largura (byte único) dentro de uma seqüência de caracteres para caracteres de largura total (bytes duplos)
387 LEFT = ESQUERDA ## Retorna os caracteres mais à esquerda de um valor de texto 387 LEFT = ESQUERDA ## Retorna os caracteres mais à esquerda de um valor de texto
388 LEFTB = ESQUERDAB ## Retorna os caracteres mais à esquerda de um valor de texto 388 LEFTB = ESQUERDAB ## Retorna os caracteres mais à esquerda de um valor de texto
389 LEN = NÚM.CARACT ## Retorna o número de caracteres em uma seqüência de texto 389 LEN = NÚM.CARACT ## Retorna o número de caracteres em uma seqüência de texto
390 LENB = NÚM.CARACTB ## Retorna o número de caracteres em uma seqüência de texto 390 LENB = NÚM.CARACTB ## Retorna o número de caracteres em uma seqüência de texto
391 LOWER = MINÚSCULA ## Converte texto para minúsculas 391 LOWER = MINÚSCULA ## Converte texto para minúsculas
392 MID = EXT.TEXTO ## Retorna um número específico de caracteres de uma seqüência de texto começando na posição especificada 392 MID = EXT.TEXTO ## Retorna um número específico de caracteres de uma seqüência de texto começando na posição especificada
393 MIDB = EXT.TEXTOB ## Retorna um número específico de caracteres de uma seqüência de texto começando na posição especificada 393 MIDB = EXT.TEXTOB ## Retorna um número específico de caracteres de uma seqüência de texto começando na posição especificada
394 PHONETIC = FONÉTICA ## Extrai os caracteres fonéticos (furigana) de uma seqüência de caracteres de texto 394 PHONETIC = FONÉTICA ## Extrai os caracteres fonéticos (furigana) de uma seqüência de caracteres de texto
395 PROPER = PRI.MAIÚSCULA ## Coloca a primeira letra de cada palavra em maiúscula em um valor de texto 395 PROPER = PRI.MAIÚSCULA ## Coloca a primeira letra de cada palavra em maiúscula em um valor de texto
396 REPLACE = MUDAR ## Muda os caracteres dentro do texto 396 REPLACE = MUDAR ## Muda os caracteres dentro do texto
397 REPLACEB = MUDARB ## Muda os caracteres dentro do texto 397 REPLACEB = MUDARB ## Muda os caracteres dentro do texto
398 REPT = REPT ## Repete o texto um determinado número de vezes 398 REPT = REPT ## Repete o texto um determinado número de vezes
399 RIGHT = DIREITA ## Retorna os caracteres mais à direita de um valor de texto 399 RIGHT = DIREITA ## Retorna os caracteres mais à direita de um valor de texto
400 RIGHTB = DIREITAB ## Retorna os caracteres mais à direita de um valor de texto 400 RIGHTB = DIREITAB ## Retorna os caracteres mais à direita de um valor de texto
401 SEARCH = LOCALIZAR ## Localiza um valor de texto dentro de outro (não diferencia maiúsculas de minúsculas) 401 SEARCH = LOCALIZAR ## Localiza um valor de texto dentro de outro (não diferencia maiúsculas de minúsculas)
402 SEARCHB = LOCALIZARB ## Localiza um valor de texto dentro de outro (não diferencia maiúsculas de minúsculas) 402 SEARCHB = LOCALIZARB ## Localiza um valor de texto dentro de outro (não diferencia maiúsculas de minúsculas)
403 SUBSTITUTE = SUBSTITUIR ## Substitui um novo texto por um texto antigo em uma seqüência de texto 403 SUBSTITUTE = SUBSTITUIR ## Substitui um novo texto por um texto antigo em uma seqüência de texto
404 T = T ## Converte os argumentos em texto 404 T = T ## Converte os argumentos em texto
405 TEXT = TEXTO ## Formata um número e o converte em texto 405 TEXT = TEXTO ## Formata um número e o converte em texto
406 TRIM = ARRUMAR ## Remove espaços do texto 406 TRIM = ARRUMAR ## Remove espaços do texto
407 UPPER = MAIÚSCULA ## Converte o texto em maiúsculas 407 UPPER = MAIÚSCULA ## Converte o texto em maiúsculas
408 VALUE = VALOR ## Converte um argumento de texto em um número 408 VALUE = VALOR ## Converte um argumento de texto em um número
......
1 ## 1 ##
2 ## Add-in and Automation functions Funções de Suplemento e Automatização 2 ## Add-in and Automation functions Funções de Suplemento e Automatização
3 ## 3 ##
4 GETPIVOTDATA = OBTERDADOSDIN ## Devolve dados armazenados num relatório de Tabela Dinâmica 4 GETPIVOTDATA = OBTERDADOSDIN ## Devolve dados armazenados num relatório de Tabela Dinâmica
5 5
6 6
7 ## 7 ##
8 ## Cube functions Funções de cubo 8 ## Cube functions Funções de cubo
9 ## 9 ##
10 CUBEKPIMEMBER = MEMBROKPICUBO ## Devolve o nome, propriedade e medição de um KPI (key performance indicator) e apresenta o nome e a propriedade na célula. Um KPI é uma medida quantificável, como, por exemplo, o lucro mensal bruto ou a rotatividade trimestral de pessoal, utilizada para monitorizar o desempenho de uma organização. 10 CUBEKPIMEMBER = MEMBROKPICUBO ## Devolve o nome, propriedade e medição de um KPI (key performance indicator) e apresenta o nome e a propriedade na célula. Um KPI é uma medida quantificável, como, por exemplo, o lucro mensal bruto ou a rotatividade trimestral de pessoal, utilizada para monitorizar o desempenho de uma organização.
11 CUBEMEMBER = MEMBROCUBO ## Devolve um membro ou cadeia de identificação numa hierarquia de cubo. Utilizada para validar a existência do membro ou cadeia de identificação no cubo. 11 CUBEMEMBER = MEMBROCUBO ## Devolve um membro ou cadeia de identificação numa hierarquia de cubo. Utilizada para validar a existência do membro ou cadeia de identificação no cubo.
12 CUBEMEMBERPROPERTY = PROPRIEDADEMEMBROCUBO ## Devolve o valor de uma propriedade de membro no cubo. Utilizada para validar a existência de um nome de membro no cubo e para devolver a propriedade especificada para esse membro. 12 CUBEMEMBERPROPERTY = PROPRIEDADEMEMBROCUBO ## Devolve o valor de uma propriedade de membro no cubo. Utilizada para validar a existência de um nome de membro no cubo e para devolver a propriedade especificada para esse membro.
13 CUBERANKEDMEMBER = MEMBROCLASSIFICADOCUBO ## Devolve o enésimo ou a classificação mais alta num conjunto. Utilizada para devolver um ou mais elementos num conjunto, tal como o melhor vendedor ou os 10 melhores alunos. 13 CUBERANKEDMEMBER = MEMBROCLASSIFICADOCUBO ## Devolve o enésimo ou a classificação mais alta num conjunto. Utilizada para devolver um ou mais elementos num conjunto, tal como o melhor vendedor ou os 10 melhores alunos.
14 CUBESET = CONJUNTOCUBO ## Define um conjunto calculado de membros ou cadeias de identificação enviando uma expressão de conjunto para o cubo no servidor, que cria o conjunto e, em seguida, devolve o conjunto ao Microsoft Office Excel. 14 CUBESET = CONJUNTOCUBO ## Define um conjunto calculado de membros ou cadeias de identificação enviando uma expressão de conjunto para o cubo no servidor, que cria o conjunto e, em seguida, devolve o conjunto ao Microsoft Office Excel.
15 CUBESETCOUNT = CONTARCONJUNTOCUBO ## Devolve o número de itens num conjunto. 15 CUBESETCOUNT = CONTARCONJUNTOCUBO ## Devolve o número de itens num conjunto.
16 CUBEVALUE = VALORCUBO ## Devolve um valor agregado do cubo. 16 CUBEVALUE = VALORCUBO ## Devolve um valor agregado do cubo.
17 17
18 18
19 ## 19 ##
20 ## Database functions Funções de base de dados 20 ## Database functions Funções de base de dados
21 ## 21 ##
22 DAVERAGE = BDMÉDIA ## Devolve a média das entradas da base de dados seleccionadas 22 DAVERAGE = BDMÉDIA ## Devolve a média das entradas da base de dados seleccionadas
23 DCOUNT = BDCONTAR ## Conta as células que contêm números numa base de dados 23 DCOUNT = BDCONTAR ## Conta as células que contêm números numa base de dados
24 DCOUNTA = BDCONTAR.VAL ## Conta as células que não estejam em branco numa base de dados 24 DCOUNTA = BDCONTAR.VAL ## Conta as células que não estejam em branco numa base de dados
25 DGET = BDOBTER ## Extrai de uma base de dados um único registo que corresponde aos critérios especificados 25 DGET = BDOBTER ## Extrai de uma base de dados um único registo que corresponde aos critérios especificados
26 DMAX = BDMÁX ## Devolve o valor máximo das entradas da base de dados seleccionadas 26 DMAX = BDMÁX ## Devolve o valor máximo das entradas da base de dados seleccionadas
27 DMIN = BDMÍN ## Devolve o valor mínimo das entradas da base de dados seleccionadas 27 DMIN = BDMÍN ## Devolve o valor mínimo das entradas da base de dados seleccionadas
28 DPRODUCT = BDMULTIPL ## Multiplica os valores de um determinado campo de registos que correspondem aos critérios numa base de dados 28 DPRODUCT = BDMULTIPL ## Multiplica os valores de um determinado campo de registos que correspondem aos critérios numa base de dados
29 DSTDEV = BDDESVPAD ## Calcula o desvio-padrão com base numa amostra de entradas da base de dados seleccionadas 29 DSTDEV = BDDESVPAD ## Calcula o desvio-padrão com base numa amostra de entradas da base de dados seleccionadas
30 DSTDEVP = BDDESVPADP ## Calcula o desvio-padrão com base na população total das entradas da base de dados seleccionadas 30 DSTDEVP = BDDESVPADP ## Calcula o desvio-padrão com base na população total das entradas da base de dados seleccionadas
31 DSUM = BDSOMA ## Adiciona os números na coluna de campo dos registos de base de dados que correspondem aos critérios 31 DSUM = BDSOMA ## Adiciona os números na coluna de campo dos registos de base de dados que correspondem aos critérios
32 DVAR = BDVAR ## Calcula a variância com base numa amostra das entradas de base de dados seleccionadas 32 DVAR = BDVAR ## Calcula a variância com base numa amostra das entradas de base de dados seleccionadas
33 DVARP = BDVARP ## Calcula a variância com base na população total das entradas de base de dados seleccionadas 33 DVARP = BDVARP ## Calcula a variância com base na população total das entradas de base de dados seleccionadas
34 34
35 35
36 ## 36 ##
37 ## Date and time functions Funções de data e hora 37 ## Date and time functions Funções de data e hora
38 ## 38 ##
39 DATE = DATA ## Devolve o número de série de uma determinada data 39 DATE = DATA ## Devolve o número de série de uma determinada data
40 DATEVALUE = DATA.VALOR ## Converte uma data em forma de texto num número de série 40 DATEVALUE = DATA.VALOR ## Converte uma data em forma de texto num número de série
41 DAY = DIA ## Converte um número de série num dia do mês 41 DAY = DIA ## Converte um número de série num dia do mês
42 DAYS360 = DIAS360 ## Calcula o número de dias entre duas datas com base num ano com 360 dias 42 DAYS360 = DIAS360 ## Calcula o número de dias entre duas datas com base num ano com 360 dias
43 EDATE = DATAM ## Devolve um número de série de data que corresponde ao número de meses indicado antes ou depois da data de início 43 EDATE = DATAM ## Devolve um número de série de data que corresponde ao número de meses indicado antes ou depois da data de início
44 EOMONTH = FIMMÊS ## Devolve o número de série do último dia do mês antes ou depois de um número de meses especificado 44 EOMONTH = FIMMÊS ## Devolve o número de série do último dia do mês antes ou depois de um número de meses especificado
45 HOUR = HORA ## Converte um número de série numa hora 45 HOUR = HORA ## Converte um número de série numa hora
46 MINUTE = MINUTO ## Converte um número de série num minuto 46 MINUTE = MINUTO ## Converte um número de série num minuto
47 MONTH = MÊS ## Converte um número de série num mês 47 MONTH = MÊS ## Converte um número de série num mês
48 NETWORKDAYS = DIATRABALHOTOTAL ## Devolve o número total de dias úteis entre duas datas 48 NETWORKDAYS = DIATRABALHOTOTAL ## Devolve o número total de dias úteis entre duas datas
49 NOW = AGORA ## Devolve o número de série da data e hora actuais 49 NOW = AGORA ## Devolve o número de série da data e hora actuais
50 SECOND = SEGUNDO ## Converte um número de série num segundo 50 SECOND = SEGUNDO ## Converte um número de série num segundo
51 TIME = TEMPO ## Devolve o número de série de um determinado tempo 51 TIME = TEMPO ## Devolve o número de série de um determinado tempo
52 TIMEVALUE = VALOR.TEMPO ## Converte um tempo em forma de texto num número de série 52 TIMEVALUE = VALOR.TEMPO ## Converte um tempo em forma de texto num número de série
53 TODAY = HOJE ## Devolve o número de série da data actual 53 TODAY = HOJE ## Devolve o número de série da data actual
54 WEEKDAY = DIA.SEMANA ## Converte um número de série num dia da semana 54 WEEKDAY = DIA.SEMANA ## Converte um número de série num dia da semana
55 WEEKNUM = NÚMSEMANA ## Converte um número de série num número que representa o número da semana num determinado ano 55 WEEKNUM = NÚMSEMANA ## Converte um número de série num número que representa o número da semana num determinado ano
56 WORKDAY = DIA.TRABALHO ## Devolve o número de série da data antes ou depois de um número de dias úteis especificado 56 WORKDAY = DIA.TRABALHO ## Devolve o número de série da data antes ou depois de um número de dias úteis especificado
57 YEAR = ANO ## Converte um número de série num ano 57 YEAR = ANO ## Converte um número de série num ano
58 YEARFRAC = FRACÇÃOANO ## Devolve a fracção de ano que representa o número de dias inteiros entre a data_de_início e a data_de_fim 58 YEARFRAC = FRACÇÃOANO ## Devolve a fracção de ano que representa o número de dias inteiros entre a data_de_início e a data_de_fim
59 59
60 60
61 ## 61 ##
62 ## Engineering functions Funções de engenharia 62 ## Engineering functions Funções de engenharia
63 ## 63 ##
64 BESSELI = BESSELI ## Devolve a função de Bessel modificada In(x) 64 BESSELI = BESSELI ## Devolve a função de Bessel modificada In(x)
65 BESSELJ = BESSELJ ## Devolve a função de Bessel Jn(x) 65 BESSELJ = BESSELJ ## Devolve a função de Bessel Jn(x)
66 BESSELK = BESSELK ## Devolve a função de Bessel modificada Kn(x) 66 BESSELK = BESSELK ## Devolve a função de Bessel modificada Kn(x)
67 BESSELY = BESSELY ## Devolve a função de Bessel Yn(x) 67 BESSELY = BESSELY ## Devolve a função de Bessel Yn(x)
68 BIN2DEC = BINADEC ## Converte um número binário em decimal 68 BIN2DEC = BINADEC ## Converte um número binário em decimal
69 BIN2HEX = BINAHEX ## Converte um número binário em hexadecimal 69 BIN2HEX = BINAHEX ## Converte um número binário em hexadecimal
70 BIN2OCT = BINAOCT ## Converte um número binário em octal 70 BIN2OCT = BINAOCT ## Converte um número binário em octal
71 COMPLEX = COMPLEXO ## Converte coeficientes reais e imaginários num número complexo 71 COMPLEX = COMPLEXO ## Converte coeficientes reais e imaginários num número complexo
72 CONVERT = CONVERTER ## Converte um número de um sistema de medida noutro 72 CONVERT = CONVERTER ## Converte um número de um sistema de medida noutro
73 DEC2BIN = DECABIN ## Converte um número decimal em binário 73 DEC2BIN = DECABIN ## Converte um número decimal em binário
74 DEC2HEX = DECAHEX ## Converte um número decimal em hexadecimal 74 DEC2HEX = DECAHEX ## Converte um número decimal em hexadecimal
75 DEC2OCT = DECAOCT ## Converte um número decimal em octal 75 DEC2OCT = DECAOCT ## Converte um número decimal em octal
76 DELTA = DELTA ## Testa se dois valores são iguais 76 DELTA = DELTA ## Testa se dois valores são iguais
77 ERF = FUNCERRO ## Devolve a função de erro 77 ERF = FUNCERRO ## Devolve a função de erro
78 ERFC = FUNCERROCOMPL ## Devolve a função de erro complementar 78 ERFC = FUNCERROCOMPL ## Devolve a função de erro complementar
79 GESTEP = DEGRAU ## Testa se um número é maior do que um valor limite 79 GESTEP = DEGRAU ## Testa se um número é maior do que um valor limite
80 HEX2BIN = HEXABIN ## Converte um número hexadecimal em binário 80 HEX2BIN = HEXABIN ## Converte um número hexadecimal em binário
81 HEX2DEC = HEXADEC ## Converte um número hexadecimal em decimal 81 HEX2DEC = HEXADEC ## Converte um número hexadecimal em decimal
82 HEX2OCT = HEXAOCT ## Converte um número hexadecimal em octal 82 HEX2OCT = HEXAOCT ## Converte um número hexadecimal em octal
83 IMABS = IMABS ## Devolve o valor absoluto (módulo) de um número complexo 83 IMABS = IMABS ## Devolve o valor absoluto (módulo) de um número complexo
84 IMAGINARY = IMAGINÁRIO ## Devolve o coeficiente imaginário de um número complexo 84 IMAGINARY = IMAGINÁRIO ## Devolve o coeficiente imaginário de um número complexo
85 IMARGUMENT = IMARG ## Devolve o argumento Teta, um ângulo expresso em radianos 85 IMARGUMENT = IMARG ## Devolve o argumento Teta, um ângulo expresso em radianos
86 IMCONJUGATE = IMCONJ ## Devolve o conjugado complexo de um número complexo 86 IMCONJUGATE = IMCONJ ## Devolve o conjugado complexo de um número complexo
87 IMCOS = IMCOS ## Devolve o co-seno de um número complexo 87 IMCOS = IMCOS ## Devolve o co-seno de um número complexo
88 IMDIV = IMDIV ## Devolve o quociente de dois números complexos 88 IMDIV = IMDIV ## Devolve o quociente de dois números complexos
89 IMEXP = IMEXP ## Devolve o exponencial de um número complexo 89 IMEXP = IMEXP ## Devolve o exponencial de um número complexo
90 IMLN = IMLN ## Devolve o logaritmo natural de um número complexo 90 IMLN = IMLN ## Devolve o logaritmo natural de um número complexo
91 IMLOG10 = IMLOG10 ## Devolve o logaritmo de base 10 de um número complexo 91 IMLOG10 = IMLOG10 ## Devolve o logaritmo de base 10 de um número complexo
92 IMLOG2 = IMLOG2 ## Devolve o logaritmo de base 2 de um número complexo 92 IMLOG2 = IMLOG2 ## Devolve o logaritmo de base 2 de um número complexo
93 IMPOWER = IMPOT ## Devolve um número complexo elevado a uma potência inteira 93 IMPOWER = IMPOT ## Devolve um número complexo elevado a uma potência inteira
94 IMPRODUCT = IMPROD ## Devolve o produto de números complexos 94 IMPRODUCT = IMPROD ## Devolve o produto de números complexos
95 IMREAL = IMREAL ## Devolve o coeficiente real de um número complexo 95 IMREAL = IMREAL ## Devolve o coeficiente real de um número complexo
96 IMSIN = IMSENO ## Devolve o seno de um número complexo 96 IMSIN = IMSENO ## Devolve o seno de um número complexo
97 IMSQRT = IMRAIZ ## Devolve a raiz quadrada de um número complexo 97 IMSQRT = IMRAIZ ## Devolve a raiz quadrada de um número complexo
98 IMSUB = IMSUBTR ## Devolve a diferença entre dois números complexos 98 IMSUB = IMSUBTR ## Devolve a diferença entre dois números complexos
99 IMSUM = IMSOMA ## Devolve a soma de números complexos 99 IMSUM = IMSOMA ## Devolve a soma de números complexos
100 OCT2BIN = OCTABIN ## Converte um número octal em binário 100 OCT2BIN = OCTABIN ## Converte um número octal em binário
101 OCT2DEC = OCTADEC ## Converte um número octal em decimal 101 OCT2DEC = OCTADEC ## Converte um número octal em decimal
102 OCT2HEX = OCTAHEX ## Converte um número octal em hexadecimal 102 OCT2HEX = OCTAHEX ## Converte um número octal em hexadecimal
103 103
104 104
105 ## 105 ##
106 ## Financial functions Funções financeiras 106 ## Financial functions Funções financeiras
107 ## 107 ##
108 ACCRINT = JUROSACUM ## Devolve os juros acumulados de um título que paga juros periódicos 108 ACCRINT = JUROSACUM ## Devolve os juros acumulados de um título que paga juros periódicos
109 ACCRINTM = JUROSACUMV ## Devolve os juros acumulados de um título que paga juros no vencimento 109 ACCRINTM = JUROSACUMV ## Devolve os juros acumulados de um título que paga juros no vencimento
110 AMORDEGRC = AMORDEGRC ## Devolve a depreciação correspondente a cada período contabilístico utilizando um coeficiente de depreciação 110 AMORDEGRC = AMORDEGRC ## Devolve a depreciação correspondente a cada período contabilístico utilizando um coeficiente de depreciação
111 AMORLINC = AMORLINC ## Devolve a depreciação correspondente a cada período contabilístico 111 AMORLINC = AMORLINC ## Devolve a depreciação correspondente a cada período contabilístico
112 COUPDAYBS = CUPDIASINLIQ ## Devolve o número de dias entre o início do período do cupão e a data de regularização 112 COUPDAYBS = CUPDIASINLIQ ## Devolve o número de dias entre o início do período do cupão e a data de regularização
113 COUPDAYS = CUPDIAS ## Devolve o número de dias no período do cupão que contém a data de regularização 113 COUPDAYS = CUPDIAS ## Devolve o número de dias no período do cupão que contém a data de regularização
114 COUPDAYSNC = CUPDIASPRÓX ## Devolve o número de dias entre a data de regularização e a data do cupão seguinte 114 COUPDAYSNC = CUPDIASPRÓX ## Devolve o número de dias entre a data de regularização e a data do cupão seguinte
115 COUPNCD = CUPDATAPRÓX ## Devolve a data do cupão seguinte após a data de regularização 115 COUPNCD = CUPDATAPRÓX ## Devolve a data do cupão seguinte após a data de regularização
116 COUPNUM = CUPNÚM ## Devolve o número de cupões a serem pagos entre a data de regularização e a data de vencimento 116 COUPNUM = CUPNÚM ## Devolve o número de cupões a serem pagos entre a data de regularização e a data de vencimento
117 COUPPCD = CUPDATAANT ## Devolve a data do cupão anterior antes da data de regularização 117 COUPPCD = CUPDATAANT ## Devolve a data do cupão anterior antes da data de regularização
118 CUMIPMT = PGTOJURACUM ## Devolve os juros cumulativos pagos entre dois períodos 118 CUMIPMT = PGTOJURACUM ## Devolve os juros cumulativos pagos entre dois períodos
119 CUMPRINC = PGTOCAPACUM ## Devolve o capital cumulativo pago a título de empréstimo entre dois períodos 119 CUMPRINC = PGTOCAPACUM ## Devolve o capital cumulativo pago a título de empréstimo entre dois períodos
120 DB = BD ## Devolve a depreciação de um activo relativo a um período especificado utilizando o método das quotas degressivas fixas 120 DB = BD ## Devolve a depreciação de um activo relativo a um período especificado utilizando o método das quotas degressivas fixas
121 DDB = BDD ## Devolve a depreciação de um activo relativo a um período especificado utilizando o método das quotas degressivas duplas ou qualquer outro método especificado 121 DDB = BDD ## Devolve a depreciação de um activo relativo a um período especificado utilizando o método das quotas degressivas duplas ou qualquer outro método especificado
122 DISC = DESC ## Devolve a taxa de desconto de um título 122 DISC = DESC ## Devolve a taxa de desconto de um título
123 DOLLARDE = MOEDADEC ## Converte um preço em unidade monetária, expresso como uma fracção, num preço em unidade monetária, expresso como um número decimal 123 DOLLARDE = MOEDADEC ## Converte um preço em unidade monetária, expresso como uma fracção, num preço em unidade monetária, expresso como um número decimal
124 DOLLARFR = MOEDAFRA ## Converte um preço em unidade monetária, expresso como um número decimal, num preço em unidade monetária, expresso como uma fracção 124 DOLLARFR = MOEDAFRA ## Converte um preço em unidade monetária, expresso como um número decimal, num preço em unidade monetária, expresso como uma fracção
125 DURATION = DURAÇÃO ## Devolve a duração anual de um título com pagamentos de juros periódicos 125 DURATION = DURAÇÃO ## Devolve a duração anual de um título com pagamentos de juros periódicos
126 EFFECT = EFECTIVA ## Devolve a taxa de juros anual efectiva 126 EFFECT = EFECTIVA ## Devolve a taxa de juros anual efectiva
127 FV = VF ## Devolve o valor futuro de um investimento 127 FV = VF ## Devolve o valor futuro de um investimento
128 FVSCHEDULE = VFPLANO ## Devolve o valor futuro de um capital inicial após a aplicação de uma série de taxas de juro compostas 128 FVSCHEDULE = VFPLANO ## Devolve o valor futuro de um capital inicial após a aplicação de uma série de taxas de juro compostas
129 INTRATE = TAXAJUROS ## Devolve a taxa de juros de um título investido na totalidade 129 INTRATE = TAXAJUROS ## Devolve a taxa de juros de um título investido na totalidade
130 IPMT = IPGTO ## Devolve o pagamento dos juros de um investimento durante um determinado período 130 IPMT = IPGTO ## Devolve o pagamento dos juros de um investimento durante um determinado período
131 IRR = TIR ## Devolve a taxa de rentabilidade interna para uma série de fluxos monetários 131 IRR = TIR ## Devolve a taxa de rentabilidade interna para uma série de fluxos monetários
132 ISPMT = É.PGTO ## Calcula os juros pagos durante um período específico de um investimento 132 ISPMT = É.PGTO ## Calcula os juros pagos durante um período específico de um investimento
133 MDURATION = MDURAÇÃO ## Devolve a duração modificada de Macauley de um título com um valor de paridade equivalente a € 100 133 MDURATION = MDURAÇÃO ## Devolve a duração modificada de Macauley de um título com um valor de paridade equivalente a € 100
134 MIRR = MTIR ## Devolve a taxa interna de rentabilidade em que os fluxos monetários positivos e negativos são financiados com taxas diferentes 134 MIRR = MTIR ## Devolve a taxa interna de rentabilidade em que os fluxos monetários positivos e negativos são financiados com taxas diferentes
135 NOMINAL = NOMINAL ## Devolve a taxa de juros nominal anual 135 NOMINAL = NOMINAL ## Devolve a taxa de juros nominal anual
136 NPER = NPER ## Devolve o número de períodos de um investimento 136 NPER = NPER ## Devolve o número de períodos de um investimento
137 NPV = VAL ## Devolve o valor actual líquido de um investimento com base numa série de fluxos monetários periódicos e numa taxa de desconto 137 NPV = VAL ## Devolve o valor actual líquido de um investimento com base numa série de fluxos monetários periódicos e numa taxa de desconto
138 ODDFPRICE = PREÇOPRIMINC ## Devolve o preço por € 100 do valor nominal de um título com um período inicial incompleto 138 ODDFPRICE = PREÇOPRIMINC ## Devolve o preço por € 100 do valor nominal de um título com um período inicial incompleto
139 ODDFYIELD = LUCROPRIMINC ## Devolve o lucro de um título com um período inicial incompleto 139 ODDFYIELD = LUCROPRIMINC ## Devolve o lucro de um título com um período inicial incompleto
140 ODDLPRICE = PREÇOÚLTINC ## Devolve o preço por € 100 do valor nominal de um título com um período final incompleto 140 ODDLPRICE = PREÇOÚLTINC ## Devolve o preço por € 100 do valor nominal de um título com um período final incompleto
141 ODDLYIELD = LUCROÚLTINC ## Devolve o lucro de um título com um período final incompleto 141 ODDLYIELD = LUCROÚLTINC ## Devolve o lucro de um título com um período final incompleto
142 PMT = PGTO ## Devolve o pagamento periódico de uma anuidade 142 PMT = PGTO ## Devolve o pagamento periódico de uma anuidade
143 PPMT = PPGTO ## Devolve o pagamento sobre o capital de um investimento num determinado período 143 PPMT = PPGTO ## Devolve o pagamento sobre o capital de um investimento num determinado período
144 PRICE = PREÇO ## Devolve o preço por € 100 do valor nominal de um título que paga juros periódicos 144 PRICE = PREÇO ## Devolve o preço por € 100 do valor nominal de um título que paga juros periódicos
145 PRICEDISC = PREÇODESC ## Devolve o preço por € 100 do valor nominal de um título descontado 145 PRICEDISC = PREÇODESC ## Devolve o preço por € 100 do valor nominal de um título descontado
146 PRICEMAT = PREÇOVENC ## Devolve o preço por € 100 do valor nominal de um título que paga juros no vencimento 146 PRICEMAT = PREÇOVENC ## Devolve o preço por € 100 do valor nominal de um título que paga juros no vencimento
147 PV = VA ## Devolve o valor actual de um investimento 147 PV = VA ## Devolve o valor actual de um investimento
148 RATE = TAXA ## Devolve a taxa de juros por período de uma anuidade 148 RATE = TAXA ## Devolve a taxa de juros por período de uma anuidade
149 RECEIVED = RECEBER ## Devolve o montante recebido no vencimento de um título investido na totalidade 149 RECEIVED = RECEBER ## Devolve o montante recebido no vencimento de um título investido na totalidade
150 SLN = AMORT ## Devolve uma depreciação linear de um activo durante um período 150 SLN = AMORT ## Devolve uma depreciação linear de um activo durante um período
151 SYD = AMORTD ## Devolve a depreciação por algarismos da soma dos anos de um activo durante um período especificado 151 SYD = AMORTD ## Devolve a depreciação por algarismos da soma dos anos de um activo durante um período especificado
152 TBILLEQ = OTN ## Devolve o lucro de um título equivalente a uma Obrigação do Tesouro 152 TBILLEQ = OTN ## Devolve o lucro de um título equivalente a uma Obrigação do Tesouro
153 TBILLPRICE = OTNVALOR ## Devolve o preço por € 100 de valor nominal de uma Obrigação do Tesouro 153 TBILLPRICE = OTNVALOR ## Devolve o preço por € 100 de valor nominal de uma Obrigação do Tesouro
154 TBILLYIELD = OTNLUCRO ## Devolve o lucro de uma Obrigação do Tesouro 154 TBILLYIELD = OTNLUCRO ## Devolve o lucro de uma Obrigação do Tesouro
155 VDB = BDV ## Devolve a depreciação de um activo relativo a um período específico ou parcial utilizando um método de quotas degressivas 155 VDB = BDV ## Devolve a depreciação de um activo relativo a um período específico ou parcial utilizando um método de quotas degressivas
156 XIRR = XTIR ## Devolve a taxa interna de rentabilidade de um plano de fluxos monetários que não seja necessariamente periódica 156 XIRR = XTIR ## Devolve a taxa interna de rentabilidade de um plano de fluxos monetários que não seja necessariamente periódica
157 XNPV = XVAL ## Devolve o valor actual líquido de um plano de fluxos monetários que não seja necessariamente periódico 157 XNPV = XVAL ## Devolve o valor actual líquido de um plano de fluxos monetários que não seja necessariamente periódico
158 YIELD = LUCRO ## Devolve o lucro de um título que paga juros periódicos 158 YIELD = LUCRO ## Devolve o lucro de um título que paga juros periódicos
159 YIELDDISC = LUCRODESC ## Devolve o lucro anual de um título emitido abaixo do valor nominal, por exemplo, uma Obrigação do Tesouro 159 YIELDDISC = LUCRODESC ## Devolve o lucro anual de um título emitido abaixo do valor nominal, por exemplo, uma Obrigação do Tesouro
160 YIELDMAT = LUCROVENC ## Devolve o lucro anual de um título que paga juros na data de vencimento 160 YIELDMAT = LUCROVENC ## Devolve o lucro anual de um título que paga juros na data de vencimento
161 161
162 162
163 ## 163 ##
164 ## Information functions Funções de informação 164 ## Information functions Funções de informação
165 ## 165 ##
166 CELL = CÉL ## Devolve informações sobre a formatação, localização ou conteúdo de uma célula 166 CELL = CÉL ## Devolve informações sobre a formatação, localização ou conteúdo de uma célula
167 ERROR.TYPE = TIPO.ERRO ## Devolve um número correspondente a um tipo de erro 167 ERROR.TYPE = TIPO.ERRO ## Devolve um número correspondente a um tipo de erro
168 INFO = INFORMAÇÃO ## Devolve informações sobre o ambiente de funcionamento actual 168 INFO = INFORMAÇÃO ## Devolve informações sobre o ambiente de funcionamento actual
169 ISBLANK = É.CÉL.VAZIA ## Devolve VERDADEIRO se o valor estiver em branco 169 ISBLANK = É.CÉL.VAZIA ## Devolve VERDADEIRO se o valor estiver em branco
170 ISERR = É.ERROS ## Devolve VERDADEIRO se o valor for um valor de erro diferente de #N/D 170 ISERR = É.ERROS ## Devolve VERDADEIRO se o valor for um valor de erro diferente de #N/D
171 ISERROR = É.ERRO ## Devolve VERDADEIRO se o valor for um valor de erro 171 ISERROR = É.ERRO ## Devolve VERDADEIRO se o valor for um valor de erro
172 ISEVEN = ÉPAR ## Devolve VERDADEIRO se o número for par 172 ISEVEN = ÉPAR ## Devolve VERDADEIRO se o número for par
173 ISLOGICAL = É.LÓGICO ## Devolve VERDADEIRO se o valor for lógico 173 ISLOGICAL = É.LÓGICO ## Devolve VERDADEIRO se o valor for lógico
174 ISNA = É.NÃO.DISP ## Devolve VERDADEIRO se o valor for o valor de erro #N/D 174 ISNA = É.NÃO.DISP ## Devolve VERDADEIRO se o valor for o valor de erro #N/D
175 ISNONTEXT = É.NÃO.TEXTO ## Devolve VERDADEIRO se o valor não for texto 175 ISNONTEXT = É.NÃO.TEXTO ## Devolve VERDADEIRO se o valor não for texto
176 ISNUMBER = É.NÚM ## Devolve VERDADEIRO se o valor for um número 176 ISNUMBER = É.NÚM ## Devolve VERDADEIRO se o valor for um número
177 ISODD = ÉÍMPAR ## Devolve VERDADEIRO se o número for ímpar 177 ISODD = ÉÍMPAR ## Devolve VERDADEIRO se o número for ímpar
178 ISREF = É.REF ## Devolve VERDADEIRO se o valor for uma referência 178 ISREF = É.REF ## Devolve VERDADEIRO se o valor for uma referência
179 ISTEXT = É.TEXTO ## Devolve VERDADEIRO se o valor for texto 179 ISTEXT = É.TEXTO ## Devolve VERDADEIRO se o valor for texto
180 N = N ## Devolve um valor convertido num número 180 N = N ## Devolve um valor convertido num número
181 NA = NÃO.DISP ## Devolve o valor de erro #N/D 181 NA = NÃO.DISP ## Devolve o valor de erro #N/D
182 TYPE = TIPO ## Devolve um número que indica o tipo de dados de um valor 182 TYPE = TIPO ## Devolve um número que indica o tipo de dados de um valor
183 183
184 184
185 ## 185 ##
186 ## Logical functions Funções lógicas 186 ## Logical functions Funções lógicas
187 ## 187 ##
188 AND = E ## Devolve VERDADEIRO se todos os respectivos argumentos corresponderem a VERDADEIRO 188 AND = E ## Devolve VERDADEIRO se todos os respectivos argumentos corresponderem a VERDADEIRO
189 FALSE = FALSO ## Devolve o valor lógico FALSO 189 FALSE = FALSO ## Devolve o valor lógico FALSO
190 IF = SE ## Especifica um teste lógico a ser executado 190 IF = SE ## Especifica um teste lógico a ser executado
191 IFERROR = SE.ERRO ## Devolve um valor definido pelo utilizador se ocorrer um erro na fórmula, e devolve o resultado da fórmula se não ocorrer nenhum erro 191 IFERROR = SE.ERRO ## Devolve um valor definido pelo utilizador se ocorrer um erro na fórmula, e devolve o resultado da fórmula se não ocorrer nenhum erro
192 NOT = NÃO ## Inverte a lógica do respectivo argumento 192 NOT = NÃO ## Inverte a lógica do respectivo argumento
193 OR = OU ## Devolve VERDADEIRO se qualquer argumento for VERDADEIRO 193 OR = OU ## Devolve VERDADEIRO se qualquer argumento for VERDADEIRO
194 TRUE = VERDADEIRO ## Devolve o valor lógico VERDADEIRO 194 TRUE = VERDADEIRO ## Devolve o valor lógico VERDADEIRO
195 195
196 196
197 ## 197 ##
198 ## Lookup and reference functions Funções de pesquisa e referência 198 ## Lookup and reference functions Funções de pesquisa e referência
199 ## 199 ##
200 ADDRESS = ENDEREÇO ## Devolve uma referência a uma única célula numa folha de cálculo como texto 200 ADDRESS = ENDEREÇO ## Devolve uma referência a uma única célula numa folha de cálculo como texto
201 AREAS = ÁREAS ## Devolve o número de áreas numa referência 201 AREAS = ÁREAS ## Devolve o número de áreas numa referência
202 CHOOSE = SELECCIONAR ## Selecciona um valor a partir de uma lista de valores 202 CHOOSE = SELECCIONAR ## Selecciona um valor a partir de uma lista de valores
203 COLUMN = COL ## Devolve o número da coluna de uma referência 203 COLUMN = COL ## Devolve o número da coluna de uma referência
204 COLUMNS = COLS ## Devolve o número de colunas numa referência 204 COLUMNS = COLS ## Devolve o número de colunas numa referência
205 HLOOKUP = PROCH ## Procura na linha superior de uma matriz e devolve o valor da célula indicada 205 HLOOKUP = PROCH ## Procura na linha superior de uma matriz e devolve o valor da célula indicada
206 HYPERLINK = HIPERLIGAÇÃO ## Cria um atalho ou hiperligação que abre um documento armazenado num servidor de rede, numa intranet ou na Internet 206 HYPERLINK = HIPERLIGAÇÃO ## Cria um atalho ou hiperligação que abre um documento armazenado num servidor de rede, numa intranet ou na Internet
207 INDEX = ÍNDICE ## Utiliza um índice para escolher um valor de uma referência ou de uma matriz 207 INDEX = ÍNDICE ## Utiliza um índice para escolher um valor de uma referência ou de uma matriz
208 INDIRECT = INDIRECTO ## Devolve uma referência indicada por um valor de texto 208 INDIRECT = INDIRECTO ## Devolve uma referência indicada por um valor de texto
209 LOOKUP = PROC ## Procura valores num vector ou numa matriz 209 LOOKUP = PROC ## Procura valores num vector ou numa matriz
210 MATCH = CORRESP ## Procura valores numa referência ou numa matriz 210 MATCH = CORRESP ## Procura valores numa referência ou numa matriz
211 OFFSET = DESLOCAMENTO ## Devolve o deslocamento de referência de uma determinada referência 211 OFFSET = DESLOCAMENTO ## Devolve o deslocamento de referência de uma determinada referência
212 ROW = LIN ## Devolve o número da linha de uma referência 212 ROW = LIN ## Devolve o número da linha de uma referência
213 ROWS = LINS ## Devolve o número de linhas numa referência 213 ROWS = LINS ## Devolve o número de linhas numa referência
214 RTD = RTD ## Obtém dados em tempo real a partir de um programa que suporte automatização COM (automatização: modo de trabalhar com objectos de uma aplicação a partir de outra aplicação ou ferramenta de desenvolvimento. Anteriormente conhecida como automatização OLE, a automatização é uma norma da indústria de software e uma funcionalidade COM (Component Object Model).) 214 RTD = RTD ## Obtém dados em tempo real a partir de um programa que suporte automatização COM (automatização: modo de trabalhar com objectos de uma aplicação a partir de outra aplicação ou ferramenta de desenvolvimento. Anteriormente conhecida como automatização OLE, a automatização é uma norma da indústria de software e uma funcionalidade COM (Component Object Model).)
215 TRANSPOSE = TRANSPOR ## Devolve a transposição de uma matriz 215 TRANSPOSE = TRANSPOR ## Devolve a transposição de uma matriz
216 VLOOKUP = PROCV ## Procura na primeira coluna de uma matriz e percorre a linha para devolver o valor de uma célula 216 VLOOKUP = PROCV ## Procura na primeira coluna de uma matriz e percorre a linha para devolver o valor de uma célula
217 217
218 218
219 ## 219 ##
220 ## Math and trigonometry functions Funções matemáticas e trigonométricas 220 ## Math and trigonometry functions Funções matemáticas e trigonométricas
221 ## 221 ##
222 ABS = ABS ## Devolve o valor absoluto de um número 222 ABS = ABS ## Devolve o valor absoluto de um número
223 ACOS = ACOS ## Devolve o arco de co-seno de um número 223 ACOS = ACOS ## Devolve o arco de co-seno de um número
224 ACOSH = ACOSH ## Devolve o co-seno hiperbólico inverso de um número 224 ACOSH = ACOSH ## Devolve o co-seno hiperbólico inverso de um número
225 ASIN = ASEN ## Devolve o arco de seno de um número 225 ASIN = ASEN ## Devolve o arco de seno de um número
226 ASINH = ASENH ## Devolve o seno hiperbólico inverso de um número 226 ASINH = ASENH ## Devolve o seno hiperbólico inverso de um número
227 ATAN = ATAN ## Devolve o arco de tangente de um número 227 ATAN = ATAN ## Devolve o arco de tangente de um número
228 ATAN2 = ATAN2 ## Devolve o arco de tangente das coordenadas x e y 228 ATAN2 = ATAN2 ## Devolve o arco de tangente das coordenadas x e y
229 ATANH = ATANH ## Devolve a tangente hiperbólica inversa de um número 229 ATANH = ATANH ## Devolve a tangente hiperbólica inversa de um número
230 CEILING = ARRED.EXCESSO ## Arredonda um número para o número inteiro mais próximo ou para o múltiplo de significância mais próximo 230 CEILING = ARRED.EXCESSO ## Arredonda um número para o número inteiro mais próximo ou para o múltiplo de significância mais próximo
231 COMBIN = COMBIN ## Devolve o número de combinações de um determinado número de objectos 231 COMBIN = COMBIN ## Devolve o número de combinações de um determinado número de objectos
232 COS = COS ## Devolve o co-seno de um número 232 COS = COS ## Devolve o co-seno de um número
233 COSH = COSH ## Devolve o co-seno hiperbólico de um número 233 COSH = COSH ## Devolve o co-seno hiperbólico de um número
234 DEGREES = GRAUS ## Converte radianos em graus 234 DEGREES = GRAUS ## Converte radianos em graus
235 EVEN = PAR ## Arredonda um número por excesso para o número inteiro mais próximo 235 EVEN = PAR ## Arredonda um número por excesso para o número inteiro mais próximo
236 EXP = EXP ## Devolve e elevado à potência de um determinado número 236 EXP = EXP ## Devolve e elevado à potência de um determinado número
237 FACT = FACTORIAL ## Devolve o factorial de um número 237 FACT = FACTORIAL ## Devolve o factorial de um número
238 FACTDOUBLE = FACTDUPLO ## Devolve o factorial duplo de um número 238 FACTDOUBLE = FACTDUPLO ## Devolve o factorial duplo de um número
239 FLOOR = ARRED.DEFEITO ## Arredonda um número por defeito até zero 239 FLOOR = ARRED.DEFEITO ## Arredonda um número por defeito até zero
240 GCD = MDC ## Devolve o maior divisor comum 240 GCD = MDC ## Devolve o maior divisor comum
241 INT = INT ## Arredonda um número por defeito para o número inteiro mais próximo 241 INT = INT ## Arredonda um número por defeito para o número inteiro mais próximo
242 LCM = MMC ## Devolve o mínimo múltiplo comum 242 LCM = MMC ## Devolve o mínimo múltiplo comum
243 LN = LN ## Devolve o logaritmo natural de um número 243 LN = LN ## Devolve o logaritmo natural de um número
244 LOG = LOG ## Devolve o logaritmo de um número com uma base especificada 244 LOG = LOG ## Devolve o logaritmo de um número com uma base especificada
245 LOG10 = LOG10 ## Devolve o logaritmo de base 10 de um número 245 LOG10 = LOG10 ## Devolve o logaritmo de base 10 de um número
246 MDETERM = MATRIZ.DETERM ## Devolve o determinante matricial de uma matriz 246 MDETERM = MATRIZ.DETERM ## Devolve o determinante matricial de uma matriz
247 MINVERSE = MATRIZ.INVERSA ## Devolve o inverso matricial de uma matriz 247 MINVERSE = MATRIZ.INVERSA ## Devolve o inverso matricial de uma matriz
248 MMULT = MATRIZ.MULT ## Devolve o produto matricial de duas matrizes 248 MMULT = MATRIZ.MULT ## Devolve o produto matricial de duas matrizes
249 MOD = RESTO ## Devolve o resto da divisão 249 MOD = RESTO ## Devolve o resto da divisão
250 MROUND = MARRED ## Devolve um número arredondado para o múltiplo pretendido 250 MROUND = MARRED ## Devolve um número arredondado para o múltiplo pretendido
251 MULTINOMIAL = POLINOMIAL ## Devolve o polinomial de um conjunto de números 251 MULTINOMIAL = POLINOMIAL ## Devolve o polinomial de um conjunto de números
252 ODD = ÍMPAR ## Arredonda por excesso um número para o número inteiro ímpar mais próximo 252 ODD = ÍMPAR ## Arredonda por excesso um número para o número inteiro ímpar mais próximo
253 PI = PI ## Devolve o valor de pi 253 PI = PI ## Devolve o valor de pi
254 POWER = POTÊNCIA ## Devolve o resultado de um número elevado a uma potência 254 POWER = POTÊNCIA ## Devolve o resultado de um número elevado a uma potência
255 PRODUCT = PRODUTO ## Multiplica os respectivos argumentos 255 PRODUCT = PRODUTO ## Multiplica os respectivos argumentos
256 QUOTIENT = QUOCIENTE ## Devolve a parte inteira de uma divisão 256 QUOTIENT = QUOCIENTE ## Devolve a parte inteira de uma divisão
257 RADIANS = RADIANOS ## Converte graus em radianos 257 RADIANS = RADIANOS ## Converte graus em radianos
258 RAND = ALEATÓRIO ## Devolve um número aleatório entre 0 e 1 258 RAND = ALEATÓRIO ## Devolve um número aleatório entre 0 e 1
259 RANDBETWEEN = ALEATÓRIOENTRE ## Devolve um número aleatório entre os números especificados 259 RANDBETWEEN = ALEATÓRIOENTRE ## Devolve um número aleatório entre os números especificados
260 ROMAN = ROMANO ## Converte um número árabe em romano, como texto 260 ROMAN = ROMANO ## Converte um número árabe em romano, como texto
261 ROUND = ARRED ## Arredonda um número para um número de dígitos especificado 261 ROUND = ARRED ## Arredonda um número para um número de dígitos especificado
262 ROUNDDOWN = ARRED.PARA.BAIXO ## Arredonda um número por defeito até zero 262 ROUNDDOWN = ARRED.PARA.BAIXO ## Arredonda um número por defeito até zero
263 ROUNDUP = ARRED.PARA.CIMA ## Arredonda um número por excesso, afastando-o de zero 263 ROUNDUP = ARRED.PARA.CIMA ## Arredonda um número por excesso, afastando-o de zero
264 SERIESSUM = SOMASÉRIE ## Devolve a soma de uma série de potências baseada na fórmula 264 SERIESSUM = SOMASÉRIE ## Devolve a soma de uma série de potências baseada na fórmula
265 SIGN = SINAL ## Devolve o sinal de um número 265 SIGN = SINAL ## Devolve o sinal de um número
266 SIN = SEN ## Devolve o seno de um determinado ângulo 266 SIN = SEN ## Devolve o seno de um determinado ângulo
267 SINH = SENH ## Devolve o seno hiperbólico de um número 267 SINH = SENH ## Devolve o seno hiperbólico de um número
268 SQRT = RAIZQ ## Devolve uma raiz quadrada positiva 268 SQRT = RAIZQ ## Devolve uma raiz quadrada positiva
269 SQRTPI = RAIZPI ## Devolve a raiz quadrada de (núm * pi) 269 SQRTPI = RAIZPI ## Devolve a raiz quadrada de (núm * pi)
270 SUBTOTAL = SUBTOTAL ## Devolve um subtotal numa lista ou base de dados 270 SUBTOTAL = SUBTOTAL ## Devolve um subtotal numa lista ou base de dados
271 SUM = SOMA ## Adiciona os respectivos argumentos 271 SUM = SOMA ## Adiciona os respectivos argumentos
272 SUMIF = SOMA.SE ## Adiciona as células especificadas por um determinado critério 272 SUMIF = SOMA.SE ## Adiciona as células especificadas por um determinado critério
273 SUMIFS = SOMA.SE.S ## Adiciona as células num intervalo que cumpre vários critérios 273 SUMIFS = SOMA.SE.S ## Adiciona as células num intervalo que cumpre vários critérios
274 SUMPRODUCT = SOMARPRODUTO ## Devolve a soma dos produtos de componentes de matrizes correspondentes 274 SUMPRODUCT = SOMARPRODUTO ## Devolve a soma dos produtos de componentes de matrizes correspondentes
275 SUMSQ = SOMARQUAD ## Devolve a soma dos quadrados dos argumentos 275 SUMSQ = SOMARQUAD ## Devolve a soma dos quadrados dos argumentos
276 SUMX2MY2 = SOMAX2DY2 ## Devolve a soma da diferença dos quadrados dos valores correspondentes em duas matrizes 276 SUMX2MY2 = SOMAX2DY2 ## Devolve a soma da diferença dos quadrados dos valores correspondentes em duas matrizes
277 SUMX2PY2 = SOMAX2SY2 ## Devolve a soma da soma dos quadrados dos valores correspondentes em duas matrizes 277 SUMX2PY2 = SOMAX2SY2 ## Devolve a soma da soma dos quadrados dos valores correspondentes em duas matrizes
278 SUMXMY2 = SOMAXMY2 ## Devolve a soma dos quadrados da diferença dos valores correspondentes em duas matrizes 278 SUMXMY2 = SOMAXMY2 ## Devolve a soma dos quadrados da diferença dos valores correspondentes em duas matrizes
279 TAN = TAN ## Devolve a tangente de um número 279 TAN = TAN ## Devolve a tangente de um número
280 TANH = TANH ## Devolve a tangente hiperbólica de um número 280 TANH = TANH ## Devolve a tangente hiperbólica de um número
281 TRUNC = TRUNCAR ## Trunca um número para um número inteiro 281 TRUNC = TRUNCAR ## Trunca um número para um número inteiro
282 282
283 283
284 ## 284 ##
285 ## Statistical functions Funções estatísticas 285 ## Statistical functions Funções estatísticas
286 ## 286 ##
287 AVEDEV = DESV.MÉDIO ## Devolve a média aritmética dos desvios absolutos à média dos pontos de dados 287 AVEDEV = DESV.MÉDIO ## Devolve a média aritmética dos desvios absolutos à média dos pontos de dados
288 AVERAGE = MÉDIA ## Devolve a média dos respectivos argumentos 288 AVERAGE = MÉDIA ## Devolve a média dos respectivos argumentos
289 AVERAGEA = MÉDIAA ## Devolve uma média dos respectivos argumentos, incluindo números, texto e valores lógicos 289 AVERAGEA = MÉDIAA ## Devolve uma média dos respectivos argumentos, incluindo números, texto e valores lógicos
290 AVERAGEIF = MÉDIA.SE ## Devolve a média aritmética de todas as células num intervalo que cumprem determinado critério 290 AVERAGEIF = MÉDIA.SE ## Devolve a média aritmética de todas as células num intervalo que cumprem determinado critério
291 AVERAGEIFS = MÉDIA.SE.S ## Devolve a média aritmética de todas as células que cumprem múltiplos critérios 291 AVERAGEIFS = MÉDIA.SE.S ## Devolve a média aritmética de todas as células que cumprem múltiplos critérios
292 BETADIST = DISTBETA ## Devolve a função de distribuição cumulativa beta 292 BETADIST = DISTBETA ## Devolve a função de distribuição cumulativa beta
293 BETAINV = BETA.ACUM.INV ## Devolve o inverso da função de distribuição cumulativa relativamente a uma distribuição beta específica 293 BETAINV = BETA.ACUM.INV ## Devolve o inverso da função de distribuição cumulativa relativamente a uma distribuição beta específica
294 BINOMDIST = DISTRBINOM ## Devolve a probabilidade de distribuição binomial de termo individual 294 BINOMDIST = DISTRBINOM ## Devolve a probabilidade de distribuição binomial de termo individual
295 CHIDIST = DIST.CHI ## Devolve a probabilidade unicaudal da distribuição qui-quadrada 295 CHIDIST = DIST.CHI ## Devolve a probabilidade unicaudal da distribuição qui-quadrada
296 CHIINV = INV.CHI ## Devolve o inverso da probabilidade unicaudal da distribuição qui-quadrada 296 CHIINV = INV.CHI ## Devolve o inverso da probabilidade unicaudal da distribuição qui-quadrada
297 CHITEST = TESTE.CHI ## Devolve o teste para independência 297 CHITEST = TESTE.CHI ## Devolve o teste para independência
298 CONFIDENCE = INT.CONFIANÇA ## Devolve o intervalo de confiança correspondente a uma média de população 298 CONFIDENCE = INT.CONFIANÇA ## Devolve o intervalo de confiança correspondente a uma média de população
299 CORREL = CORREL ## Devolve o coeficiente de correlação entre dois conjuntos de dados 299 CORREL = CORREL ## Devolve o coeficiente de correlação entre dois conjuntos de dados
300 COUNT = CONTAR ## Conta os números que existem na lista de argumentos 300 COUNT = CONTAR ## Conta os números que existem na lista de argumentos
301 COUNTA = CONTAR.VAL ## Conta os valores que existem na lista de argumentos 301 COUNTA = CONTAR.VAL ## Conta os valores que existem na lista de argumentos
302 COUNTBLANK = CONTAR.VAZIO ## Conta o número de células em branco num intervalo 302 COUNTBLANK = CONTAR.VAZIO ## Conta o número de células em branco num intervalo
303 COUNTIF = CONTAR.SE ## Calcula o número de células num intervalo que corresponde aos critérios determinados 303 COUNTIF = CONTAR.SE ## Calcula o número de células num intervalo que corresponde aos critérios determinados
304 COUNTIFS = CONTAR.SE.S ## Conta o número de células num intervalo que cumprem múltiplos critérios 304 COUNTIFS = CONTAR.SE.S ## Conta o número de células num intervalo que cumprem múltiplos critérios
305 COVAR = COVAR ## Devolve a covariância, que é a média dos produtos de desvios de pares 305 COVAR = COVAR ## Devolve a covariância, que é a média dos produtos de desvios de pares
306 CRITBINOM = CRIT.BINOM ## Devolve o menor valor em que a distribuição binomial cumulativa é inferior ou igual a um valor de critério 306 CRITBINOM = CRIT.BINOM ## Devolve o menor valor em que a distribuição binomial cumulativa é inferior ou igual a um valor de critério
307 DEVSQ = DESVQ ## Devolve a soma dos quadrados dos desvios 307 DEVSQ = DESVQ ## Devolve a soma dos quadrados dos desvios
308 EXPONDIST = DISTEXPON ## Devolve a distribuição exponencial 308 EXPONDIST = DISTEXPON ## Devolve a distribuição exponencial
309 FDIST = DISTF ## Devolve a distribuição da probabilidade F 309 FDIST = DISTF ## Devolve a distribuição da probabilidade F
310 FINV = INVF ## Devolve o inverso da distribuição da probabilidade F 310 FINV = INVF ## Devolve o inverso da distribuição da probabilidade F
311 FISHER = FISHER ## Devolve a transformação Fisher 311 FISHER = FISHER ## Devolve a transformação Fisher
312 FISHERINV = FISHERINV ## Devolve o inverso da transformação Fisher 312 FISHERINV = FISHERINV ## Devolve o inverso da transformação Fisher
313 FORECAST = PREVISÃO ## Devolve um valor ao longo de uma tendência linear 313 FORECAST = PREVISÃO ## Devolve um valor ao longo de uma tendência linear
314 FREQUENCY = FREQUÊNCIA ## Devolve uma distribuição de frequência como uma matriz vertical 314 FREQUENCY = FREQUÊNCIA ## Devolve uma distribuição de frequência como uma matriz vertical
315 FTEST = TESTEF ## Devolve o resultado de um teste F 315 FTEST = TESTEF ## Devolve o resultado de um teste F
316 GAMMADIST = DISTGAMA ## Devolve a distribuição gama 316 GAMMADIST = DISTGAMA ## Devolve a distribuição gama
317 GAMMAINV = INVGAMA ## Devolve o inverso da distribuição gama cumulativa 317 GAMMAINV = INVGAMA ## Devolve o inverso da distribuição gama cumulativa
318 GAMMALN = LNGAMA ## Devolve o logaritmo natural da função gama, Γ(x) 318 GAMMALN = LNGAMA ## Devolve o logaritmo natural da função gama, Γ(x)
319 GEOMEAN = MÉDIA.GEOMÉTRICA ## Devolve a média geométrica 319 GEOMEAN = MÉDIA.GEOMÉTRICA ## Devolve a média geométrica
320 GROWTH = CRESCIMENTO ## Devolve valores ao longo de uma tendência exponencial 320 GROWTH = CRESCIMENTO ## Devolve valores ao longo de uma tendência exponencial
321 HARMEAN = MÉDIA.HARMÓNICA ## Devolve a média harmónica 321 HARMEAN = MÉDIA.HARMÓNICA ## Devolve a média harmónica
322 HYPGEOMDIST = DIST.HIPERGEOM ## Devolve a distribuição hipergeométrica 322 HYPGEOMDIST = DIST.HIPERGEOM ## Devolve a distribuição hipergeométrica
323 INTERCEPT = INTERCEPTAR ## Devolve a intercepção da linha de regressão linear 323 INTERCEPT = INTERCEPTAR ## Devolve a intercepção da linha de regressão linear
324 KURT = CURT ## Devolve a curtose de um conjunto de dados 324 KURT = CURT ## Devolve a curtose de um conjunto de dados
325 LARGE = MAIOR ## Devolve o maior valor k-ésimo de um conjunto de dados 325 LARGE = MAIOR ## Devolve o maior valor k-ésimo de um conjunto de dados
326 LINEST = PROJ.LIN ## Devolve os parâmetros de uma tendência linear 326 LINEST = PROJ.LIN ## Devolve os parâmetros de uma tendência linear
327 LOGEST = PROJ.LOG ## Devolve os parâmetros de uma tendência exponencial 327 LOGEST = PROJ.LOG ## Devolve os parâmetros de uma tendência exponencial
328 LOGINV = INVLOG ## Devolve o inverso da distribuição normal logarítmica 328 LOGINV = INVLOG ## Devolve o inverso da distribuição normal logarítmica
329 LOGNORMDIST = DIST.NORMALLOG ## Devolve a distribuição normal logarítmica cumulativa 329 LOGNORMDIST = DIST.NORMALLOG ## Devolve a distribuição normal logarítmica cumulativa
330 MAX = MÁXIMO ## Devolve o valor máximo numa lista de argumentos 330 MAX = MÁXIMO ## Devolve o valor máximo numa lista de argumentos
331 MAXA = MÁXIMOA ## Devolve o valor máximo numa lista de argumentos, incluindo números, texto e valores lógicos 331 MAXA = MÁXIMOA ## Devolve o valor máximo numa lista de argumentos, incluindo números, texto e valores lógicos
332 MEDIAN = MED ## Devolve a mediana dos números indicados 332 MEDIAN = MED ## Devolve a mediana dos números indicados
333 MIN = MÍNIMO ## Devolve o valor mínimo numa lista de argumentos 333 MIN = MÍNIMO ## Devolve o valor mínimo numa lista de argumentos
334 MINA = MÍNIMOA ## Devolve o valor mínimo numa lista de argumentos, incluindo números, texto e valores lógicos 334 MINA = MÍNIMOA ## Devolve o valor mínimo numa lista de argumentos, incluindo números, texto e valores lógicos
335 MODE = MODA ## Devolve o valor mais comum num conjunto de dados 335 MODE = MODA ## Devolve o valor mais comum num conjunto de dados
336 NEGBINOMDIST = DIST.BIN.NEG ## Devolve a distribuição binominal negativa 336 NEGBINOMDIST = DIST.BIN.NEG ## Devolve a distribuição binominal negativa
337 NORMDIST = DIST.NORM ## Devolve a distribuição cumulativa normal 337 NORMDIST = DIST.NORM ## Devolve a distribuição cumulativa normal
338 NORMINV = INV.NORM ## Devolve o inverso da distribuição cumulativa normal 338 NORMINV = INV.NORM ## Devolve o inverso da distribuição cumulativa normal
339 NORMSDIST = DIST.NORMP ## Devolve a distribuição cumulativa normal padrão 339 NORMSDIST = DIST.NORMP ## Devolve a distribuição cumulativa normal padrão
340 NORMSINV = INV.NORMP ## Devolve o inverso da distribuição cumulativa normal padrão 340 NORMSINV = INV.NORMP ## Devolve o inverso da distribuição cumulativa normal padrão
341 PEARSON = PEARSON ## Devolve o coeficiente de correlação momento/produto de Pearson 341 PEARSON = PEARSON ## Devolve o coeficiente de correlação momento/produto de Pearson
342 PERCENTILE = PERCENTIL ## Devolve o k-ésimo percentil de valores num intervalo 342 PERCENTILE = PERCENTIL ## Devolve o k-ésimo percentil de valores num intervalo
343 PERCENTRANK = ORDEM.PERCENTUAL ## Devolve a ordem percentual de um valor num conjunto de dados 343 PERCENTRANK = ORDEM.PERCENTUAL ## Devolve a ordem percentual de um valor num conjunto de dados
344 PERMUT = PERMUTAR ## Devolve o número de permutações de um determinado número de objectos 344 PERMUT = PERMUTAR ## Devolve o número de permutações de um determinado número de objectos
345 POISSON = POISSON ## Devolve a distribuição de Poisson 345 POISSON = POISSON ## Devolve a distribuição de Poisson
346 PROB = PROB ## Devolve a probabilidade dos valores num intervalo se encontrarem entre dois limites 346 PROB = PROB ## Devolve a probabilidade dos valores num intervalo se encontrarem entre dois limites
347 QUARTILE = QUARTIL ## Devolve o quartil de um conjunto de dados 347 QUARTILE = QUARTIL ## Devolve o quartil de um conjunto de dados
348 RANK = ORDEM ## Devolve a ordem de um número numa lista numérica 348 RANK = ORDEM ## Devolve a ordem de um número numa lista numérica
349 RSQ = RQUAD ## Devolve o quadrado do coeficiente de correlação momento/produto de Pearson 349 RSQ = RQUAD ## Devolve o quadrado do coeficiente de correlação momento/produto de Pearson
350 SKEW = DISTORÇÃO ## Devolve a distorção de uma distribuição 350 SKEW = DISTORÇÃO ## Devolve a distorção de uma distribuição
351 SLOPE = DECLIVE ## Devolve o declive da linha de regressão linear 351 SLOPE = DECLIVE ## Devolve o declive da linha de regressão linear
352 SMALL = MENOR ## Devolve o menor valor de k-ésimo de um conjunto de dados 352 SMALL = MENOR ## Devolve o menor valor de k-ésimo de um conjunto de dados
353 STANDARDIZE = NORMALIZAR ## Devolve um valor normalizado 353 STANDARDIZE = NORMALIZAR ## Devolve um valor normalizado
354 STDEV = DESVPAD ## Calcula o desvio-padrão com base numa amostra 354 STDEV = DESVPAD ## Calcula o desvio-padrão com base numa amostra
355 STDEVA = DESVPADA ## Calcula o desvio-padrão com base numa amostra, incluindo números, texto e valores lógicos 355 STDEVA = DESVPADA ## Calcula o desvio-padrão com base numa amostra, incluindo números, texto e valores lógicos
356 STDEVP = DESVPADP ## Calcula o desvio-padrão com base na população total 356 STDEVP = DESVPADP ## Calcula o desvio-padrão com base na população total
357 STDEVPA = DESVPADPA ## Calcula o desvio-padrão com base na população total, incluindo números, texto e valores lógicos 357 STDEVPA = DESVPADPA ## Calcula o desvio-padrão com base na população total, incluindo números, texto e valores lógicos
358 STEYX = EPADYX ## Devolve o erro-padrão do valor de y previsto para cada x na regressão 358 STEYX = EPADYX ## Devolve o erro-padrão do valor de y previsto para cada x na regressão
359 TDIST = DISTT ## Devolve a distribuição t de Student 359 TDIST = DISTT ## Devolve a distribuição t de Student
360 TINV = INVT ## Devolve o inverso da distribuição t de Student 360 TINV = INVT ## Devolve o inverso da distribuição t de Student
361 TREND = TENDÊNCIA ## Devolve valores ao longo de uma tendência linear 361 TREND = TENDÊNCIA ## Devolve valores ao longo de uma tendência linear
362 TRIMMEAN = MÉDIA.INTERNA ## Devolve a média do interior de um conjunto de dados 362 TRIMMEAN = MÉDIA.INTERNA ## Devolve a média do interior de um conjunto de dados
363 TTEST = TESTET ## Devolve a probabilidade associada ao teste t de Student 363 TTEST = TESTET ## Devolve a probabilidade associada ao teste t de Student
364 VAR = VAR ## Calcula a variância com base numa amostra 364 VAR = VAR ## Calcula a variância com base numa amostra
365 VARA = VARA ## Calcula a variância com base numa amostra, incluindo números, texto e valores lógicos 365 VARA = VARA ## Calcula a variância com base numa amostra, incluindo números, texto e valores lógicos
366 VARP = VARP ## Calcula a variância com base na população total 366 VARP = VARP ## Calcula a variância com base na população total
367 VARPA = VARPA ## Calcula a variância com base na população total, incluindo números, texto e valores lógicos 367 VARPA = VARPA ## Calcula a variância com base na população total, incluindo números, texto e valores lógicos
368 WEIBULL = WEIBULL ## Devolve a distribuição Weibull 368 WEIBULL = WEIBULL ## Devolve a distribuição Weibull
369 ZTEST = TESTEZ ## Devolve o valor de probabilidade unicaudal de um teste-z 369 ZTEST = TESTEZ ## Devolve o valor de probabilidade unicaudal de um teste-z
370 370
371 371
372 ## 372 ##
373 ## Text functions Funções de texto 373 ## Text functions Funções de texto
374 ## 374 ##
375 ASC = ASC ## Altera letras ou katakana de largura total (byte duplo) numa cadeia de caracteres para caracteres de largura média (byte único) 375 ASC = ASC ## Altera letras ou katakana de largura total (byte duplo) numa cadeia de caracteres para caracteres de largura média (byte único)
376 BAHTTEXT = TEXTO.BAHT ## Converte um número em texto, utilizando o formato monetário ß (baht) 376 BAHTTEXT = TEXTO.BAHT ## Converte um número em texto, utilizando o formato monetário ß (baht)
377 CHAR = CARÁCT ## Devolve o carácter especificado pelo número de código 377 CHAR = CARÁCT ## Devolve o carácter especificado pelo número de código
378 CLEAN = LIMPAR ## Remove do texto todos os caracteres não imprimíveis 378 CLEAN = LIMPAR ## Remove do texto todos os caracteres não imprimíveis
379 CODE = CÓDIGO ## Devolve um código numérico correspondente ao primeiro carácter numa cadeia de texto 379 CODE = CÓDIGO ## Devolve um código numérico correspondente ao primeiro carácter numa cadeia de texto
380 CONCATENATE = CONCATENAR ## Agrupa vários itens de texto num único item de texto 380 CONCATENATE = CONCATENAR ## Agrupa vários itens de texto num único item de texto
381 DOLLAR = MOEDA ## Converte um número em texto, utilizando o formato monetário € (Euro) 381 DOLLAR = MOEDA ## Converte um número em texto, utilizando o formato monetário € (Euro)
382 EXACT = EXACTO ## Verifica se dois valores de texto são idênticos 382 EXACT = EXACTO ## Verifica se dois valores de texto são idênticos
383 FIND = LOCALIZAR ## Localiza um valor de texto dentro de outro (sensível às maiúsculas e minúsculas) 383 FIND = LOCALIZAR ## Localiza um valor de texto dentro de outro (sensível às maiúsculas e minúsculas)
384 FINDB = LOCALIZARB ## Localiza um valor de texto dentro de outro (sensível às maiúsculas e minúsculas) 384 FINDB = LOCALIZARB ## Localiza um valor de texto dentro de outro (sensível às maiúsculas e minúsculas)
385 FIXED = FIXA ## Formata um número como texto com um número fixo de decimais 385 FIXED = FIXA ## Formata um número como texto com um número fixo de decimais
386 JIS = JIS ## Altera letras ou katakana de largura média (byte único) numa cadeia de caracteres para caracteres de largura total (byte duplo) 386 JIS = JIS ## Altera letras ou katakana de largura média (byte único) numa cadeia de caracteres para caracteres de largura total (byte duplo)
387 LEFT = ESQUERDA ## Devolve os caracteres mais à esquerda de um valor de texto 387 LEFT = ESQUERDA ## Devolve os caracteres mais à esquerda de um valor de texto
388 LEFTB = ESQUERDAB ## Devolve os caracteres mais à esquerda de um valor de texto 388 LEFTB = ESQUERDAB ## Devolve os caracteres mais à esquerda de um valor de texto
389 LEN = NÚM.CARACT ## Devolve o número de caracteres de uma cadeia de texto 389 LEN = NÚM.CARACT ## Devolve o número de caracteres de uma cadeia de texto
390 LENB = NÚM.CARACTB ## Devolve o número de caracteres de uma cadeia de texto 390 LENB = NÚM.CARACTB ## Devolve o número de caracteres de uma cadeia de texto
391 LOWER = MINÚSCULAS ## Converte o texto em minúsculas 391 LOWER = MINÚSCULAS ## Converte o texto em minúsculas
392 MID = SEG.TEXTO ## Devolve um número específico de caracteres de uma cadeia de texto, a partir da posição especificada 392 MID = SEG.TEXTO ## Devolve um número específico de caracteres de uma cadeia de texto, a partir da posição especificada
393 MIDB = SEG.TEXTOB ## Devolve um número específico de caracteres de uma cadeia de texto, a partir da posição especificada 393 MIDB = SEG.TEXTOB ## Devolve um número específico de caracteres de uma cadeia de texto, a partir da posição especificada
394 PHONETIC = FONÉTICA ## Retira os caracteres fonéticos (furigana) de uma cadeia de texto 394 PHONETIC = FONÉTICA ## Retira os caracteres fonéticos (furigana) de uma cadeia de texto
395 PROPER = INICIAL.MAIÚSCULA ## Coloca em maiúsculas a primeira letra de cada palavra de um valor de texto 395 PROPER = INICIAL.MAIÚSCULA ## Coloca em maiúsculas a primeira letra de cada palavra de um valor de texto
396 REPLACE = SUBSTITUIR ## Substitui caracteres no texto 396 REPLACE = SUBSTITUIR ## Substitui caracteres no texto
397 REPLACEB = SUBSTITUIRB ## Substitui caracteres no texto 397 REPLACEB = SUBSTITUIRB ## Substitui caracteres no texto
398 REPT = REPETIR ## Repete texto um determinado número de vezes 398 REPT = REPETIR ## Repete texto um determinado número de vezes
399 RIGHT = DIREITA ## Devolve os caracteres mais à direita de um valor de texto 399 RIGHT = DIREITA ## Devolve os caracteres mais à direita de um valor de texto
400 RIGHTB = DIREITAB ## Devolve os caracteres mais à direita de um valor de texto 400 RIGHTB = DIREITAB ## Devolve os caracteres mais à direita de um valor de texto
401 SEARCH = PROCURAR ## Localiza um valor de texto dentro de outro (não sensível a maiúsculas e minúsculas) 401 SEARCH = PROCURAR ## Localiza um valor de texto dentro de outro (não sensível a maiúsculas e minúsculas)
402 SEARCHB = PROCURARB ## Localiza um valor de texto dentro de outro (não sensível a maiúsculas e minúsculas) 402 SEARCHB = PROCURARB ## Localiza um valor de texto dentro de outro (não sensível a maiúsculas e minúsculas)
403 SUBSTITUTE = SUBST ## Substitui texto novo por texto antigo numa cadeia de texto 403 SUBSTITUTE = SUBST ## Substitui texto novo por texto antigo numa cadeia de texto
404 T = T ## Converte os respectivos argumentos em texto 404 T = T ## Converte os respectivos argumentos em texto
405 TEXT = TEXTO ## Formata um número e converte-o em texto 405 TEXT = TEXTO ## Formata um número e converte-o em texto
406 TRIM = COMPACTAR ## Remove espaços do texto 406 TRIM = COMPACTAR ## Remove espaços do texto
407 UPPER = MAIÚSCULAS ## Converte texto em maiúsculas 407 UPPER = MAIÚSCULAS ## Converte texto em maiúsculas
408 VALUE = VALOR ## Converte um argumento de texto num número 408 VALUE = VALOR ## Converte um argumento de texto num número
......
1 ## 1 ##
2 ## Add-in and Automation functions Tilläggs- och automatiseringsfunktioner 2 ## Add-in and Automation functions Tilläggs- och automatiseringsfunktioner
3 ## 3 ##
4 GETPIVOTDATA = HÄMTA.PIVOTDATA ## Returnerar data som lagrats i en pivottabellrapport 4 GETPIVOTDATA = HÄMTA.PIVOTDATA ## Returnerar data som lagrats i en pivottabellrapport
5 5
6 6
7 ## 7 ##
8 ## Cube functions Kubfunktioner 8 ## Cube functions Kubfunktioner
9 ## 9 ##
10 CUBEKPIMEMBER = KUBKPIMEDLEM ## Returnerar namn, egenskap och mått för en KPI och visar namnet och egenskapen i cellen. En KPI, eller prestandaindikator, är ett kvantifierbart mått, t.ex. månatlig bruttovinst eller personalomsättning per kvartal, som används för att analysera ett företags resultat. 10 CUBEKPIMEMBER = KUBKPIMEDLEM ## Returnerar namn, egenskap och mått för en KPI och visar namnet och egenskapen i cellen. En KPI, eller prestandaindikator, är ett kvantifierbart mått, t.ex. månatlig bruttovinst eller personalomsättning per kvartal, som används för att analysera ett företags resultat.
11 CUBEMEMBER = KUBMEDLEM ## Returnerar en medlem eller ett par i en kubhierarki. Används för att verifiera att medlemmen eller paret finns i kuben. 11 CUBEMEMBER = KUBMEDLEM ## Returnerar en medlem eller ett par i en kubhierarki. Används för att verifiera att medlemmen eller paret finns i kuben.
12 CUBEMEMBERPROPERTY = KUBMEDLEMSEGENSKAP ## Returnerar värdet för en medlemsegenskap i kuben. Används för att verifiera att ett medlemsnamn finns i kuben, samt för att returnera den angivna egenskapen för medlemmen. 12 CUBEMEMBERPROPERTY = KUBMEDLEMSEGENSKAP ## Returnerar värdet för en medlemsegenskap i kuben. Används för att verifiera att ett medlemsnamn finns i kuben, samt för att returnera den angivna egenskapen för medlemmen.
13 CUBERANKEDMEMBER = KUBRANGORDNADMEDLEM ## Returnerar den n:te, eller rangordnade, medlemmen i en uppsättning. Används för att returnera ett eller flera element i en uppsättning, till exempelvis den bästa försäljaren eller de tio bästa eleverna. 13 CUBERANKEDMEMBER = KUBRANGORDNADMEDLEM ## Returnerar den n:te, eller rangordnade, medlemmen i en uppsättning. Används för att returnera ett eller flera element i en uppsättning, till exempelvis den bästa försäljaren eller de tio bästa eleverna.
14 CUBESET = KUBINSTÄLLNING ## Definierar en beräknad uppsättning medlemmar eller par genom att skicka ett bestämt uttryck till kuben på servern, som skapar uppsättningen och sedan returnerar den till Microsoft Office Excel. 14 CUBESET = KUBINSTÄLLNING ## Definierar en beräknad uppsättning medlemmar eller par genom att skicka ett bestämt uttryck till kuben på servern, som skapar uppsättningen och sedan returnerar den till Microsoft Office Excel.
15 CUBESETCOUNT = KUBINSTÄLLNINGANTAL ## Returnerar antalet objekt i en uppsättning. 15 CUBESETCOUNT = KUBINSTÄLLNINGANTAL ## Returnerar antalet objekt i en uppsättning.
16 CUBEVALUE = KUBVÄRDE ## Returnerar ett mängdvärde från en kub. 16 CUBEVALUE = KUBVÄRDE ## Returnerar ett mängdvärde från en kub.
17 17
18 18
19 ## 19 ##
20 ## Database functions Databasfunktioner 20 ## Database functions Databasfunktioner
21 ## 21 ##
22 DAVERAGE = DMEDEL ## Returnerar medelvärdet av databasposterna 22 DAVERAGE = DMEDEL ## Returnerar medelvärdet av databasposterna
23 DCOUNT = DANTAL ## Räknar antalet celler som innehåller tal i en databas 23 DCOUNT = DANTAL ## Räknar antalet celler som innehåller tal i en databas
24 DCOUNTA = DANTALV ## Räknar ifyllda celler i en databas 24 DCOUNTA = DANTALV ## Räknar ifyllda celler i en databas
25 DGET = DHÄMTA ## Hämtar en enstaka post från en databas som uppfyller de angivna villkoren 25 DGET = DHÄMTA ## Hämtar en enstaka post från en databas som uppfyller de angivna villkoren
26 DMAX = DMAX ## Returnerar det största värdet från databasposterna 26 DMAX = DMAX ## Returnerar det största värdet från databasposterna
27 DMIN = DMIN ## Returnerar det minsta värdet från databasposterna 27 DMIN = DMIN ## Returnerar det minsta värdet från databasposterna
28 DPRODUCT = DPRODUKT ## Multiplicerar värdena i ett visst fält i poster som uppfyller villkoret 28 DPRODUCT = DPRODUKT ## Multiplicerar värdena i ett visst fält i poster som uppfyller villkoret
29 DSTDEV = DSTDAV ## Uppskattar standardavvikelsen baserat på ett urval av databasposterna 29 DSTDEV = DSTDAV ## Uppskattar standardavvikelsen baserat på ett urval av databasposterna
30 DSTDEVP = DSTDAVP ## Beräknar standardavvikelsen utifrån hela populationen av valda databasposter 30 DSTDEVP = DSTDAVP ## Beräknar standardavvikelsen utifrån hela populationen av valda databasposter
31 DSUM = DSUMMA ## Summerar talen i kolumnfält i databasposter som uppfyller villkoret 31 DSUM = DSUMMA ## Summerar talen i kolumnfält i databasposter som uppfyller villkoret
32 DVAR = DVARIANS ## Uppskattar variansen baserat på ett urval av databasposterna 32 DVAR = DVARIANS ## Uppskattar variansen baserat på ett urval av databasposterna
33 DVARP = DVARIANSP ## Beräknar variansen utifrån hela populationen av valda databasposter 33 DVARP = DVARIANSP ## Beräknar variansen utifrån hela populationen av valda databasposter
34 34
35 35
36 ## 36 ##
37 ## Date and time functions Tid- och datumfunktioner 37 ## Date and time functions Tid- och datumfunktioner
38 ## 38 ##
39 DATE = DATUM ## Returnerar ett serienummer för ett visst datum 39 DATE = DATUM ## Returnerar ett serienummer för ett visst datum
40 DATEVALUE = DATUMVÄRDE ## Konverterar ett datum i textformat till ett serienummer 40 DATEVALUE = DATUMVÄRDE ## Konverterar ett datum i textformat till ett serienummer
41 DAY = DAG ## Konverterar ett serienummer till dag i månaden 41 DAY = DAG ## Konverterar ett serienummer till dag i månaden
42 DAYS360 = DAGAR360 ## Beräknar antalet dagar mellan två datum baserat på ett 360-dagarsår 42 DAYS360 = DAGAR360 ## Beräknar antalet dagar mellan två datum baserat på ett 360-dagarsår
43 EDATE = EDATUM ## Returnerar serienumret för ett datum som infaller ett visst antal månader före eller efter startdatumet 43 EDATE = EDATUM ## Returnerar serienumret för ett datum som infaller ett visst antal månader före eller efter startdatumet
44 EOMONTH = SLUTMÅNAD ## Returnerar serienumret för sista dagen i månaden ett visst antal månader tidigare eller senare 44 EOMONTH = SLUTMÅNAD ## Returnerar serienumret för sista dagen i månaden ett visst antal månader tidigare eller senare
45 HOUR = TIMME ## Konverterar ett serienummer till en timme 45 HOUR = TIMME ## Konverterar ett serienummer till en timme
46 MINUTE = MINUT ## Konverterar ett serienummer till en minut 46 MINUTE = MINUT ## Konverterar ett serienummer till en minut
47 MONTH = MÅNAD ## Konverterar ett serienummer till en månad 47 MONTH = MÅNAD ## Konverterar ett serienummer till en månad
48 NETWORKDAYS = NETTOARBETSDAGAR ## Returnerar antalet hela arbetsdagar mellan två datum 48 NETWORKDAYS = NETTOARBETSDAGAR ## Returnerar antalet hela arbetsdagar mellan två datum
49 NOW = NU ## Returnerar serienumret för dagens datum och aktuell tid 49 NOW = NU ## Returnerar serienumret för dagens datum och aktuell tid
50 SECOND = SEKUND ## Konverterar ett serienummer till en sekund 50 SECOND = SEKUND ## Konverterar ett serienummer till en sekund
51 TIME = KLOCKSLAG ## Returnerar serienumret för en viss tid 51 TIME = KLOCKSLAG ## Returnerar serienumret för en viss tid
52 TIMEVALUE = TIDVÄRDE ## Konverterar en tid i textformat till ett serienummer 52 TIMEVALUE = TIDVÄRDE ## Konverterar en tid i textformat till ett serienummer
53 TODAY = IDAG ## Returnerar serienumret för dagens datum 53 TODAY = IDAG ## Returnerar serienumret för dagens datum
54 WEEKDAY = VECKODAG ## Konverterar ett serienummer till en dag i veckan 54 WEEKDAY = VECKODAG ## Konverterar ett serienummer till en dag i veckan
55 WEEKNUM = VECKONR ## Konverterar ett serienummer till ett veckonummer 55 WEEKNUM = VECKONR ## Konverterar ett serienummer till ett veckonummer
56 WORKDAY = ARBETSDAGAR ## Returnerar serienumret för ett datum ett visst antal arbetsdagar tidigare eller senare 56 WORKDAY = ARBETSDAGAR ## Returnerar serienumret för ett datum ett visst antal arbetsdagar tidigare eller senare
57 YEAR = ÅR ## Konverterar ett serienummer till ett år 57 YEAR = ÅR ## Konverterar ett serienummer till ett år
58 YEARFRAC = ÅRDEL ## Returnerar en del av ett år som representerar antalet hela dagar mellan start- och slutdatum 58 YEARFRAC = ÅRDEL ## Returnerar en del av ett år som representerar antalet hela dagar mellan start- och slutdatum
59 59
60 60
61 ## 61 ##
62 ## Engineering functions Tekniska funktioner 62 ## Engineering functions Tekniska funktioner
63 ## 63 ##
64 BESSELI = BESSELI ## Returnerar den modifierade Bessel-funktionen In(x) 64 BESSELI = BESSELI ## Returnerar den modifierade Bessel-funktionen In(x)
65 BESSELJ = BESSELJ ## Returnerar Bessel-funktionen Jn(x) 65 BESSELJ = BESSELJ ## Returnerar Bessel-funktionen Jn(x)
66 BESSELK = BESSELK ## Returnerar den modifierade Bessel-funktionen Kn(x) 66 BESSELK = BESSELK ## Returnerar den modifierade Bessel-funktionen Kn(x)
67 BESSELY = BESSELY ## Returnerar Bessel-funktionen Yn(x) 67 BESSELY = BESSELY ## Returnerar Bessel-funktionen Yn(x)
68 BIN2DEC = BIN.TILL.DEC ## Omvandlar ett binärt tal till decimalt 68 BIN2DEC = BIN.TILL.DEC ## Omvandlar ett binärt tal till decimalt
69 BIN2HEX = BIN.TILL.HEX ## Omvandlar ett binärt tal till hexadecimalt 69 BIN2HEX = BIN.TILL.HEX ## Omvandlar ett binärt tal till hexadecimalt
70 BIN2OCT = BIN.TILL.OKT ## Omvandlar ett binärt tal till oktalt 70 BIN2OCT = BIN.TILL.OKT ## Omvandlar ett binärt tal till oktalt
71 COMPLEX = KOMPLEX ## Omvandlar reella och imaginära koefficienter till ett komplext tal 71 COMPLEX = KOMPLEX ## Omvandlar reella och imaginära koefficienter till ett komplext tal
72 CONVERT = KONVERTERA ## Omvandlar ett tal från ett måttsystem till ett annat 72 CONVERT = KONVERTERA ## Omvandlar ett tal från ett måttsystem till ett annat
73 DEC2BIN = DEC.TILL.BIN ## Omvandlar ett decimalt tal till binärt 73 DEC2BIN = DEC.TILL.BIN ## Omvandlar ett decimalt tal till binärt
74 DEC2HEX = DEC.TILL.HEX ## Omvandlar ett decimalt tal till hexadecimalt 74 DEC2HEX = DEC.TILL.HEX ## Omvandlar ett decimalt tal till hexadecimalt
75 DEC2OCT = DEC.TILL.OKT ## Omvandlar ett decimalt tal till oktalt 75 DEC2OCT = DEC.TILL.OKT ## Omvandlar ett decimalt tal till oktalt
76 DELTA = DELTA ## Testar om två värden är lika 76 DELTA = DELTA ## Testar om två värden är lika
77 ERF = FELF ## Returnerar felfunktionen 77 ERF = FELF ## Returnerar felfunktionen
78 ERFC = FELFK ## Returnerar den komplementära felfunktionen 78 ERFC = FELFK ## Returnerar den komplementära felfunktionen
79 GESTEP = SLSTEG ## Testar om ett tal är större än ett tröskelvärde 79 GESTEP = SLSTEG ## Testar om ett tal är större än ett tröskelvärde
80 HEX2BIN = HEX.TILL.BIN ## Omvandlar ett hexadecimalt tal till binärt 80 HEX2BIN = HEX.TILL.BIN ## Omvandlar ett hexadecimalt tal till binärt
81 HEX2DEC = HEX.TILL.DEC ## Omvandlar ett hexadecimalt tal till decimalt 81 HEX2DEC = HEX.TILL.DEC ## Omvandlar ett hexadecimalt tal till decimalt
82 HEX2OCT = HEX.TILL.OKT ## Omvandlar ett hexadecimalt tal till oktalt 82 HEX2OCT = HEX.TILL.OKT ## Omvandlar ett hexadecimalt tal till oktalt
83 IMABS = IMABS ## Returnerar absolutvärdet (modulus) för ett komplext tal 83 IMABS = IMABS ## Returnerar absolutvärdet (modulus) för ett komplext tal
84 IMAGINARY = IMAGINÄR ## Returnerar den imaginära koefficienten för ett komplext tal 84 IMAGINARY = IMAGINÄR ## Returnerar den imaginära koefficienten för ett komplext tal
85 IMARGUMENT = IMARGUMENT ## Returnerar det komplexa talets argument, en vinkel uttryckt i radianer 85 IMARGUMENT = IMARGUMENT ## Returnerar det komplexa talets argument, en vinkel uttryckt i radianer
86 IMCONJUGATE = IMKONJUGAT ## Returnerar det komplexa talets konjugat 86 IMCONJUGATE = IMKONJUGAT ## Returnerar det komplexa talets konjugat
87 IMCOS = IMCOS ## Returnerar cosinus för ett komplext tal 87 IMCOS = IMCOS ## Returnerar cosinus för ett komplext tal
88 IMDIV = IMDIV ## Returnerar kvoten för två komplexa tal 88 IMDIV = IMDIV ## Returnerar kvoten för två komplexa tal
89 IMEXP = IMEUPPHÖJT ## Returnerar exponenten för ett komplext tal 89 IMEXP = IMEUPPHÖJT ## Returnerar exponenten för ett komplext tal
90 IMLN = IMLN ## Returnerar den naturliga logaritmen för ett komplext tal 90 IMLN = IMLN ## Returnerar den naturliga logaritmen för ett komplext tal
91 IMLOG10 = IMLOG10 ## Returnerar 10-logaritmen för ett komplext tal 91 IMLOG10 = IMLOG10 ## Returnerar 10-logaritmen för ett komplext tal
92 IMLOG2 = IMLOG2 ## Returnerar 2-logaritmen för ett komplext tal 92 IMLOG2 = IMLOG2 ## Returnerar 2-logaritmen för ett komplext tal
93 IMPOWER = IMUPPHÖJT ## Returnerar ett komplext tal upphöjt till en exponent 93 IMPOWER = IMUPPHÖJT ## Returnerar ett komplext tal upphöjt till en exponent
94 IMPRODUCT = IMPRODUKT ## Returnerar produkten av komplexa tal 94 IMPRODUCT = IMPRODUKT ## Returnerar produkten av komplexa tal
95 IMREAL = IMREAL ## Returnerar den reella koefficienten för ett komplext tal 95 IMREAL = IMREAL ## Returnerar den reella koefficienten för ett komplext tal
96 IMSIN = IMSIN ## Returnerar sinus för ett komplext tal 96 IMSIN = IMSIN ## Returnerar sinus för ett komplext tal
97 IMSQRT = IMROT ## Returnerar kvadratroten av ett komplext tal 97 IMSQRT = IMROT ## Returnerar kvadratroten av ett komplext tal
98 IMSUB = IMDIFF ## Returnerar differensen mellan två komplexa tal 98 IMSUB = IMDIFF ## Returnerar differensen mellan två komplexa tal
99 IMSUM = IMSUM ## Returnerar summan av komplexa tal 99 IMSUM = IMSUM ## Returnerar summan av komplexa tal
100 OCT2BIN = OKT.TILL.BIN ## Omvandlar ett oktalt tal till binärt 100 OCT2BIN = OKT.TILL.BIN ## Omvandlar ett oktalt tal till binärt
101 OCT2DEC = OKT.TILL.DEC ## Omvandlar ett oktalt tal till decimalt 101 OCT2DEC = OKT.TILL.DEC ## Omvandlar ett oktalt tal till decimalt
102 OCT2HEX = OKT.TILL.HEX ## Omvandlar ett oktalt tal till hexadecimalt 102 OCT2HEX = OKT.TILL.HEX ## Omvandlar ett oktalt tal till hexadecimalt
103 103
104 104
105 ## 105 ##
106 ## Financial functions Finansiella funktioner 106 ## Financial functions Finansiella funktioner
107 ## 107 ##
108 ACCRINT = UPPLRÄNTA ## Returnerar den upplupna räntan för värdepapper med periodisk ränta 108 ACCRINT = UPPLRÄNTA ## Returnerar den upplupna räntan för värdepapper med periodisk ränta
109 ACCRINTM = UPPLOBLRÄNTA ## Returnerar den upplupna räntan för ett värdepapper som ger avkastning på förfallodagen 109 ACCRINTM = UPPLOBLRÄNTA ## Returnerar den upplupna räntan för ett värdepapper som ger avkastning på förfallodagen
110 AMORDEGRC = AMORDEGRC ## Returnerar avskrivningen för varje redovisningsperiod med hjälp av en avskrivningskoefficient 110 AMORDEGRC = AMORDEGRC ## Returnerar avskrivningen för varje redovisningsperiod med hjälp av en avskrivningskoefficient
111 AMORLINC = AMORLINC ## Returnerar avskrivningen för varje redovisningsperiod 111 AMORLINC = AMORLINC ## Returnerar avskrivningen för varje redovisningsperiod
112 COUPDAYBS = KUPDAGBB ## Returnerar antal dagar från början av kupongperioden till likviddagen 112 COUPDAYBS = KUPDAGBB ## Returnerar antal dagar från början av kupongperioden till likviddagen
113 COUPDAYS = KUPDAGARS ## Returnerar antalet dagar i kupongperioden som innehåller betalningsdatumet 113 COUPDAYS = KUPDAGARS ## Returnerar antalet dagar i kupongperioden som innehåller betalningsdatumet
114 COUPDAYSNC = KUPDAGNK ## Returnerar antalet dagar från betalningsdatumet till nästa kupongdatum 114 COUPDAYSNC = KUPDAGNK ## Returnerar antalet dagar från betalningsdatumet till nästa kupongdatum
115 COUPNCD = KUPNKD ## Returnerar nästa kupongdatum efter likviddagen 115 COUPNCD = KUPNKD ## Returnerar nästa kupongdatum efter likviddagen
116 COUPNUM = KUPANT ## Returnerar kuponger som förfaller till betalning mellan likviddagen och förfallodagen 116 COUPNUM = KUPANT ## Returnerar kuponger som förfaller till betalning mellan likviddagen och förfallodagen
117 COUPPCD = KUPFKD ## Returnerar föregående kupongdatum före likviddagen 117 COUPPCD = KUPFKD ## Returnerar föregående kupongdatum före likviddagen
118 CUMIPMT = KUMRÄNTA ## Returnerar den ackumulerade räntan som betalats mellan två perioder 118 CUMIPMT = KUMRÄNTA ## Returnerar den ackumulerade räntan som betalats mellan två perioder
119 CUMPRINC = KUMPRIS ## Returnerar det ackumulerade kapitalbeloppet som betalats på ett lån mellan två perioder 119 CUMPRINC = KUMPRIS ## Returnerar det ackumulerade kapitalbeloppet som betalats på ett lån mellan två perioder
120 DB = DB ## Returnerar avskrivningen för en tillgång under en angiven tid enligt metoden för fast degressiv avskrivning 120 DB = DB ## Returnerar avskrivningen för en tillgång under en angiven tid enligt metoden för fast degressiv avskrivning
121 DDB = DEGAVSKR ## Returnerar en tillgångs värdeminskning under en viss period med hjälp av dubbel degressiv avskrivning eller någon annan metod som du anger 121 DDB = DEGAVSKR ## Returnerar en tillgångs värdeminskning under en viss period med hjälp av dubbel degressiv avskrivning eller någon annan metod som du anger
122 DISC = DISK ## Returnerar diskonteringsräntan för ett värdepapper 122 DISC = DISK ## Returnerar diskonteringsräntan för ett värdepapper
123 DOLLARDE = DECTAL ## Omvandlar ett pris uttryckt som ett bråk till ett decimaltal 123 DOLLARDE = DECTAL ## Omvandlar ett pris uttryckt som ett bråk till ett decimaltal
124 DOLLARFR = BRÅK ## Omvandlar ett pris i kronor uttryckt som ett decimaltal till ett bråk 124 DOLLARFR = BRÅK ## Omvandlar ett pris i kronor uttryckt som ett decimaltal till ett bråk
125 DURATION = LÖPTID ## Returnerar den årliga löptiden för en säkerhet med periodiska räntebetalningar 125 DURATION = LÖPTID ## Returnerar den årliga löptiden för en säkerhet med periodiska räntebetalningar
126 EFFECT = EFFRÄNTA ## Returnerar den årliga effektiva räntesatsen 126 EFFECT = EFFRÄNTA ## Returnerar den årliga effektiva räntesatsen
127 FV = SLUTVÄRDE ## Returnerar det framtida värdet på en investering 127 FV = SLUTVÄRDE ## Returnerar det framtida värdet på en investering
128 FVSCHEDULE = FÖRRÄNTNING ## Returnerar det framtida värdet av ett begynnelsekapital beräknat på olika räntenivåer 128 FVSCHEDULE = FÖRRÄNTNING ## Returnerar det framtida värdet av ett begynnelsekapital beräknat på olika räntenivåer
129 INTRATE = ÅRSRÄNTA ## Returnerar räntesatsen för ett betalt värdepapper 129 INTRATE = ÅRSRÄNTA ## Returnerar räntesatsen för ett betalt värdepapper
130 IPMT = RBETALNING ## Returnerar räntedelen av en betalning för en given period 130 IPMT = RBETALNING ## Returnerar räntedelen av en betalning för en given period
131 IRR = IR ## Returnerar internräntan för en serie betalningar 131 IRR = IR ## Returnerar internräntan för en serie betalningar
132 ISPMT = RALÅN ## Beräknar räntan som har betalats under en specifik betalningsperiod 132 ISPMT = RALÅN ## Beräknar räntan som har betalats under en specifik betalningsperiod
133 MDURATION = MLÖPTID ## Returnerar den modifierade Macauley-löptiden för ett värdepapper med det antagna nominella värdet 100 kr 133 MDURATION = MLÖPTID ## Returnerar den modifierade Macauley-löptiden för ett värdepapper med det antagna nominella värdet 100 kr
134 MIRR = MODIR ## Returnerar internräntan där positiva och negativa betalningar finansieras med olika räntor 134 MIRR = MODIR ## Returnerar internräntan där positiva och negativa betalningar finansieras med olika räntor
135 NOMINAL = NOMRÄNTA ## Returnerar den årliga nominella räntesatsen 135 NOMINAL = NOMRÄNTA ## Returnerar den årliga nominella räntesatsen
136 NPER = PERIODER ## Returnerar antalet perioder för en investering 136 NPER = PERIODER ## Returnerar antalet perioder för en investering
137 NPV = NETNUVÄRDE ## Returnerar nuvärdet av en serie periodiska betalningar vid en given diskonteringsränta 137 NPV = NETNUVÄRDE ## Returnerar nuvärdet av en serie periodiska betalningar vid en given diskonteringsränta
138 ODDFPRICE = UDDAFPRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper med en udda första period 138 ODDFPRICE = UDDAFPRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper med en udda första period
139 ODDFYIELD = UDDAFAVKASTNING ## Returnerar avkastningen för en säkerhet med en udda första period 139 ODDFYIELD = UDDAFAVKASTNING ## Returnerar avkastningen för en säkerhet med en udda första period
140 ODDLPRICE = UDDASPRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper med en udda sista period 140 ODDLPRICE = UDDASPRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper med en udda sista period
141 ODDLYIELD = UDDASAVKASTNING ## Returnerar avkastningen för en säkerhet med en udda sista period 141 ODDLYIELD = UDDASAVKASTNING ## Returnerar avkastningen för en säkerhet med en udda sista period
142 PMT = BETALNING ## Returnerar den periodiska betalningen för en annuitet 142 PMT = BETALNING ## Returnerar den periodiska betalningen för en annuitet
143 PPMT = AMORT ## Returnerar amorteringsdelen av en annuitetsbetalning för en given period 143 PPMT = AMORT ## Returnerar amorteringsdelen av en annuitetsbetalning för en given period
144 PRICE = PRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper som ger periodisk ränta 144 PRICE = PRIS ## Returnerar priset per 100 kr nominellt värde för ett värdepapper som ger periodisk ränta
145 PRICEDISC = PRISDISK ## Returnerar priset per 100 kr nominellt värde för ett diskonterat värdepapper 145 PRICEDISC = PRISDISK ## Returnerar priset per 100 kr nominellt värde för ett diskonterat värdepapper
146 PRICEMAT = PRISFÖRF ## Returnerar priset per 100 kr nominellt värde för ett värdepapper som ger ränta på förfallodagen 146 PRICEMAT = PRISFÖRF ## Returnerar priset per 100 kr nominellt värde för ett värdepapper som ger ränta på förfallodagen
147 PV = PV ## Returnerar nuvärdet av en serie lika stora periodiska betalningar 147 PV = PV ## Returnerar nuvärdet av en serie lika stora periodiska betalningar
148 RATE = RÄNTA ## Returnerar räntesatsen per period i en annuitet 148 RATE = RÄNTA ## Returnerar räntesatsen per period i en annuitet
149 RECEIVED = BELOPP ## Returnerar beloppet som utdelas på förfallodagen för ett betalat värdepapper 149 RECEIVED = BELOPP ## Returnerar beloppet som utdelas på förfallodagen för ett betalat värdepapper
150 SLN = LINAVSKR ## Returnerar den linjära avskrivningen för en tillgång under en period 150 SLN = LINAVSKR ## Returnerar den linjära avskrivningen för en tillgång under en period
151 SYD = ÅRSAVSKR ## Returnerar den årliga avskrivningssumman för en tillgång under en angiven period 151 SYD = ÅRSAVSKR ## Returnerar den årliga avskrivningssumman för en tillgång under en angiven period
152 TBILLEQ = SSVXEKV ## Returnerar avkastningen motsvarande en obligation för en statsskuldväxel 152 TBILLEQ = SSVXEKV ## Returnerar avkastningen motsvarande en obligation för en statsskuldväxel
153 TBILLPRICE = SSVXPRIS ## Returnerar priset per 100 kr nominellt värde för en statsskuldväxel 153 TBILLPRICE = SSVXPRIS ## Returnerar priset per 100 kr nominellt värde för en statsskuldväxel
154 TBILLYIELD = SSVXRÄNTA ## Returnerar avkastningen för en statsskuldväxel 154 TBILLYIELD = SSVXRÄNTA ## Returnerar avkastningen för en statsskuldväxel
155 VDB = VDEGRAVSKR ## Returnerar avskrivningen för en tillgång under en angiven period (med degressiv avskrivning) 155 VDB = VDEGRAVSKR ## Returnerar avskrivningen för en tillgång under en angiven period (med degressiv avskrivning)
156 XIRR = XIRR ## Returnerar internräntan för en serie betalningar som inte nödvändigtvis är periodiska 156 XIRR = XIRR ## Returnerar internräntan för en serie betalningar som inte nödvändigtvis är periodiska
157 XNPV = XNUVÄRDE ## Returnerar det nuvarande nettovärdet för en serie betalningar som inte nödvändigtvis är periodiska 157 XNPV = XNUVÄRDE ## Returnerar det nuvarande nettovärdet för en serie betalningar som inte nödvändigtvis är periodiska
158 YIELD = NOMAVK ## Returnerar avkastningen för ett värdepapper som ger periodisk ränta 158 YIELD = NOMAVK ## Returnerar avkastningen för ett värdepapper som ger periodisk ränta
159 YIELDDISC = NOMAVKDISK ## Returnerar den årliga avkastningen för diskonterade värdepapper, exempelvis en statsskuldväxel 159 YIELDDISC = NOMAVKDISK ## Returnerar den årliga avkastningen för diskonterade värdepapper, exempelvis en statsskuldväxel
160 YIELDMAT = NOMAVKFÖRF ## Returnerar den årliga avkastningen för ett värdepapper som ger ränta på förfallodagen 160 YIELDMAT = NOMAVKFÖRF ## Returnerar den årliga avkastningen för ett värdepapper som ger ränta på förfallodagen
161 161
162 162
163 ## 163 ##
164 ## Information functions Informationsfunktioner 164 ## Information functions Informationsfunktioner
165 ## 165 ##
166 CELL = CELL ## Returnerar information om formatering, plats och innehåll i en cell 166 CELL = CELL ## Returnerar information om formatering, plats och innehåll i en cell
167 ERROR.TYPE = FEL.TYP ## Returnerar ett tal som motsvarar ett felvärde 167 ERROR.TYPE = FEL.TYP ## Returnerar ett tal som motsvarar ett felvärde
168 INFO = INFO ## Returnerar information om operativsystemet 168 INFO = INFO ## Returnerar information om operativsystemet
169 ISBLANK = ÄRREF ## Returnerar SANT om värdet är tomt 169 ISBLANK = ÄRREF ## Returnerar SANT om värdet är tomt
170 ISERR = Ä ## Returnerar SANT om värdet är ett felvärde annat än #SAKNAS! 170 ISERR = Ä ## Returnerar SANT om värdet är ett felvärde annat än #SAKNAS!
171 ISERROR = ÄRFEL ## Returnerar SANT om värdet är ett felvärde 171 ISERROR = ÄRFEL ## Returnerar SANT om värdet är ett felvärde
172 ISEVEN = ÄRJÄMN ## Returnerar SANT om talet är jämnt 172 ISEVEN = ÄRJÄMN ## Returnerar SANT om talet är jämnt
173 ISLOGICAL = ÄREJTEXT ## Returnerar SANT om värdet är ett logiskt värde 173 ISLOGICAL = ÄREJTEXT ## Returnerar SANT om värdet är ett logiskt värde
174 ISNA = ÄRLOGISK ## Returnerar SANT om värdet är felvärdet #SAKNAS! 174 ISNA = ÄRLOGISK ## Returnerar SANT om värdet är felvärdet #SAKNAS!
175 ISNONTEXT = ÄRSAKNAD ## Returnerar SANT om värdet inte är text 175 ISNONTEXT = ÄRSAKNAD ## Returnerar SANT om värdet inte är text
176 ISNUMBER = ÄRTAL ## Returnerar SANT om värdet är ett tal 176 ISNUMBER = ÄRTAL ## Returnerar SANT om värdet är ett tal
177 ISODD = ÄRUDDA ## Returnerar SANT om talet är udda 177 ISODD = ÄRUDDA ## Returnerar SANT om talet är udda
178 ISREF = ÄRTOM ## Returnerar SANT om värdet är en referens 178 ISREF = ÄRTOM ## Returnerar SANT om värdet är en referens
179 ISTEXT = ÄRTEXT ## Returnerar SANT om värdet är text 179 ISTEXT = ÄRTEXT ## Returnerar SANT om värdet är text
180 N = N ## Returnerar ett värde omvandlat till ett tal 180 N = N ## Returnerar ett värde omvandlat till ett tal
181 NA = SAKNAS ## Returnerar felvärdet #SAKNAS! 181 NA = SAKNAS ## Returnerar felvärdet #SAKNAS!
182 TYPE = VÄRDETYP ## Returnerar ett tal som anger värdets datatyp 182 TYPE = VÄRDETYP ## Returnerar ett tal som anger värdets datatyp
183 183
184 184
185 ## 185 ##
186 ## Logical functions Logiska funktioner 186 ## Logical functions Logiska funktioner
187 ## 187 ##
188 AND = OCH ## Returnerar SANT om alla argument är sanna 188 AND = OCH ## Returnerar SANT om alla argument är sanna
189 FALSE = FALSKT ## Returnerar det logiska värdet FALSKT 189 FALSE = FALSKT ## Returnerar det logiska värdet FALSKT
190 IF = OM ## Anger vilket logiskt test som ska utföras 190 IF = OM ## Anger vilket logiskt test som ska utföras
191 IFERROR = OMFEL ## Returnerar ett värde som du anger om en formel utvärderar till ett fel; annars returneras resultatet av formeln 191 IFERROR = OMFEL ## Returnerar ett värde som du anger om en formel utvärderar till ett fel; annars returneras resultatet av formeln
192 NOT = ICKE ## Inverterar logiken för argumenten 192 NOT = ICKE ## Inverterar logiken för argumenten
193 OR = ELLER ## Returnerar SANT om något argument är SANT 193 OR = ELLER ## Returnerar SANT om något argument är SANT
194 TRUE = SANT ## Returnerar det logiska värdet SANT 194 TRUE = SANT ## Returnerar det logiska värdet SANT
195 195
196 196
197 ## 197 ##
198 ## Lookup and reference functions Sök- och referensfunktioner 198 ## Lookup and reference functions Sök- och referensfunktioner
199 ## 199 ##
200 ADDRESS = ADRESS ## Returnerar en referens som text till en enstaka cell i ett kalkylblad 200 ADDRESS = ADRESS ## Returnerar en referens som text till en enstaka cell i ett kalkylblad
201 AREAS = OMRÅDEN ## Returnerar antalet områden i en referens 201 AREAS = OMRÅDEN ## Returnerar antalet områden i en referens
202 CHOOSE = VÄLJ ## Väljer ett värde i en lista över värden 202 CHOOSE = VÄLJ ## Väljer ett värde i en lista över värden
203 COLUMN = KOLUMN ## Returnerar kolumnnumret för en referens 203 COLUMN = KOLUMN ## Returnerar kolumnnumret för en referens
204 COLUMNS = KOLUMNER ## Returnerar antalet kolumner i en referens 204 COLUMNS = KOLUMNER ## Returnerar antalet kolumner i en referens
205 HLOOKUP = LETAKOLUMN ## Söker i den översta raden i en matris och returnerar värdet för angiven cell 205 HLOOKUP = LETAKOLUMN ## Söker i den översta raden i en matris och returnerar värdet för angiven cell
206 HYPERLINK = HYPERLÄNK ## Skapar en genväg eller ett hopp till ett dokument i nätverket, i ett intranät eller på Internet 206 HYPERLINK = HYPERLÄNK ## Skapar en genväg eller ett hopp till ett dokument i nätverket, i ett intranät eller på Internet
207 INDEX = INDEX ## Använder ett index för ett välja ett värde i en referens eller matris 207 INDEX = INDEX ## Använder ett index för ett välja ett värde i en referens eller matris
208 INDIRECT = INDIREKT ## Returnerar en referens som anges av ett textvärde 208 INDIRECT = INDIREKT ## Returnerar en referens som anges av ett textvärde
209 LOOKUP = LETAUPP ## Letar upp värden i en vektor eller matris 209 LOOKUP = LETAUPP ## Letar upp värden i en vektor eller matris
210 MATCH = PASSA ## Letar upp värden i en referens eller matris 210 MATCH = PASSA ## Letar upp värden i en referens eller matris
211 OFFSET = FÖRSKJUTNING ## Returnerar en referens förskjuten i förhållande till en given referens 211 OFFSET = FÖRSKJUTNING ## Returnerar en referens förskjuten i förhållande till en given referens
212 ROW = RAD ## Returnerar radnumret för en referens 212 ROW = RAD ## Returnerar radnumret för en referens
213 ROWS = RADER ## Returnerar antalet rader i en referens 213 ROWS = RADER ## Returnerar antalet rader i en referens
214 RTD = RTD ## Hämtar realtidsdata från ett program som stöder COM-automation (Automation: Ett sätt att arbeta med ett programs objekt från ett annat program eller utvecklingsverktyg. Detta kallades tidigare för OLE Automation, och är en branschstandard och ingår i Component Object Model (COM).) 214 RTD = RTD ## Hämtar realtidsdata från ett program som stöder COM-automation (Automation: Ett sätt att arbeta med ett programs objekt från ett annat program eller utvecklingsverktyg. Detta kallades tidigare för OLE Automation, och är en branschstandard och ingår i Component Object Model (COM).)
215 TRANSPOSE = TRANSPONERA ## Transponerar en matris 215 TRANSPOSE = TRANSPONERA ## Transponerar en matris
216 VLOOKUP = LETARAD ## Letar i den första kolumnen i en matris och flyttar över raden för att returnera värdet för en cell 216 VLOOKUP = LETARAD ## Letar i den första kolumnen i en matris och flyttar över raden för att returnera värdet för en cell
217 217
218 218
219 ## 219 ##
220 ## Math and trigonometry functions Matematiska och trigonometriska funktioner 220 ## Math and trigonometry functions Matematiska och trigonometriska funktioner
221 ## 221 ##
222 ABS = ABS ## Returnerar absolutvärdet av ett tal 222 ABS = ABS ## Returnerar absolutvärdet av ett tal
223 ACOS = ARCCOS ## Returnerar arcus cosinus för ett tal 223 ACOS = ARCCOS ## Returnerar arcus cosinus för ett tal
224 ACOSH = ARCCOSH ## Returnerar inverterad hyperbolisk cosinus för ett tal 224 ACOSH = ARCCOSH ## Returnerar inverterad hyperbolisk cosinus för ett tal
225 ASIN = ARCSIN ## Returnerar arcus cosinus för ett tal 225 ASIN = ARCSIN ## Returnerar arcus cosinus för ett tal
226 ASINH = ARCSINH ## Returnerar hyperbolisk arcus sinus för ett tal 226 ASINH = ARCSINH ## Returnerar hyperbolisk arcus sinus för ett tal
227 ATAN = ARCTAN ## Returnerar arcus tangens för ett tal 227 ATAN = ARCTAN ## Returnerar arcus tangens för ett tal
228 ATAN2 = ARCTAN2 ## Returnerar arcus tangens för en x- och en y- koordinat 228 ATAN2 = ARCTAN2 ## Returnerar arcus tangens för en x- och en y- koordinat
229 ATANH = ARCTANH ## Returnerar hyperbolisk arcus tangens för ett tal 229 ATANH = ARCTANH ## Returnerar hyperbolisk arcus tangens för ett tal
230 CEILING = RUNDA.UPP ## Avrundar ett tal till närmaste heltal eller närmaste signifikanta multipel 230 CEILING = RUNDA.UPP ## Avrundar ett tal till närmaste heltal eller närmaste signifikanta multipel
231 COMBIN = KOMBIN ## Returnerar antalet kombinationer för ett givet antal objekt 231 COMBIN = KOMBIN ## Returnerar antalet kombinationer för ett givet antal objekt
232 COS = COS ## Returnerar cosinus för ett tal 232 COS = COS ## Returnerar cosinus för ett tal
233 COSH = COSH ## Returnerar hyperboliskt cosinus för ett tal 233 COSH = COSH ## Returnerar hyperboliskt cosinus för ett tal
234 DEGREES = GRADER ## Omvandlar radianer till grader 234 DEGREES = GRADER ## Omvandlar radianer till grader
235 EVEN = JÄMN ## Avrundar ett tal uppåt till närmaste heltal 235 EVEN = JÄMN ## Avrundar ett tal uppåt till närmaste heltal
236 EXP = EXP ## Returnerar e upphöjt till ett givet tal 236 EXP = EXP ## Returnerar e upphöjt till ett givet tal
237 FACT = FAKULTET ## Returnerar fakulteten för ett tal 237 FACT = FAKULTET ## Returnerar fakulteten för ett tal
238 FACTDOUBLE = DUBBELFAKULTET ## Returnerar dubbelfakulteten för ett tal 238 FACTDOUBLE = DUBBELFAKULTET ## Returnerar dubbelfakulteten för ett tal
239 FLOOR = RUNDA.NED ## Avrundar ett tal nedåt mot noll 239 FLOOR = RUNDA.NED ## Avrundar ett tal nedåt mot noll
240 GCD = SGD ## Returnerar den största gemensamma nämnaren 240 GCD = SGD ## Returnerar den största gemensamma nämnaren
241 INT = HELTAL ## Avrundar ett tal nedåt till närmaste heltal 241 INT = HELTAL ## Avrundar ett tal nedåt till närmaste heltal
242 LCM = MGM ## Returnerar den minsta gemensamma multipeln 242 LCM = MGM ## Returnerar den minsta gemensamma multipeln
243 LN = LN ## Returnerar den naturliga logaritmen för ett tal 243 LN = LN ## Returnerar den naturliga logaritmen för ett tal
244 LOG = LOG ## Returnerar logaritmen för ett tal för en given bas 244 LOG = LOG ## Returnerar logaritmen för ett tal för en given bas
245 LOG10 = LOG10 ## Returnerar 10-logaritmen för ett tal 245 LOG10 = LOG10 ## Returnerar 10-logaritmen för ett tal
246 MDETERM = MDETERM ## Returnerar matrisen som är avgörandet av en matris 246 MDETERM = MDETERM ## Returnerar matrisen som är avgörandet av en matris
247 MINVERSE = MINVERT ## Returnerar matrisinversen av en matris 247 MINVERSE = MINVERT ## Returnerar matrisinversen av en matris
248 MMULT = MMULT ## Returnerar matrisprodukten av två matriser 248 MMULT = MMULT ## Returnerar matrisprodukten av två matriser
249 MOD = REST ## Returnerar resten vid en division 249 MOD = REST ## Returnerar resten vid en division
250 MROUND = MAVRUNDA ## Returnerar ett tal avrundat till en given multipel 250 MROUND = MAVRUNDA ## Returnerar ett tal avrundat till en given multipel
251 MULTINOMIAL = MULTINOMIAL ## Returnerar multinomialen för en uppsättning tal 251 MULTINOMIAL = MULTINOMIAL ## Returnerar multinomialen för en uppsättning tal
252 ODD = UDDA ## Avrundar ett tal uppåt till närmaste udda heltal 252 ODD = UDDA ## Avrundar ett tal uppåt till närmaste udda heltal
253 PI = PI ## Returnerar värdet pi 253 PI = PI ## Returnerar värdet pi
254 POWER = UPPHÖJT.TILL ## Returnerar resultatet av ett tal upphöjt till en exponent 254 POWER = UPPHÖJT.TILL ## Returnerar resultatet av ett tal upphöjt till en exponent
255 PRODUCT = PRODUKT ## Multiplicerar argumenten 255 PRODUCT = PRODUKT ## Multiplicerar argumenten
256 QUOTIENT = KVOT ## Returnerar heltalsdelen av en division 256 QUOTIENT = KVOT ## Returnerar heltalsdelen av en division
257 RADIANS = RADIANER ## Omvandlar grader till radianer 257 RADIANS = RADIANER ## Omvandlar grader till radianer
258 RAND = SLUMP ## Returnerar ett slumptal mellan 0 och 1 258 RAND = SLUMP ## Returnerar ett slumptal mellan 0 och 1
259 RANDBETWEEN = SLUMP.MELLAN ## Returnerar ett slumptal mellan de tal som du anger 259 RANDBETWEEN = SLUMP.MELLAN ## Returnerar ett slumptal mellan de tal som du anger
260 ROMAN = ROMERSK ## Omvandlar vanliga (arabiska) siffror till romerska som text 260 ROMAN = ROMERSK ## Omvandlar vanliga (arabiska) siffror till romerska som text
261 ROUND = AVRUNDA ## Avrundar ett tal till ett angivet antal siffror 261 ROUND = AVRUNDA ## Avrundar ett tal till ett angivet antal siffror
262 ROUNDDOWN = AVRUNDA.NEDÅT ## Avrundar ett tal nedåt mot noll 262 ROUNDDOWN = AVRUNDA.NEDÅT ## Avrundar ett tal nedåt mot noll
263 ROUNDUP = AVRUNDA.UPPÅT ## Avrundar ett tal uppåt, från noll 263 ROUNDUP = AVRUNDA.UPPÅT ## Avrundar ett tal uppåt, från noll
264 SERIESSUM = SERIESUMMA ## Returnerar summan av en potensserie baserat på formeln 264 SERIESSUM = SERIESUMMA ## Returnerar summan av en potensserie baserat på formeln
265 SIGN = TECKEN ## Returnerar tecknet för ett tal 265 SIGN = TECKEN ## Returnerar tecknet för ett tal
266 SIN = SIN ## Returnerar sinus för en given vinkel 266 SIN = SIN ## Returnerar sinus för en given vinkel
267 SINH = SINH ## Returnerar hyperbolisk sinus för ett tal 267 SINH = SINH ## Returnerar hyperbolisk sinus för ett tal
268 SQRT = ROT ## Returnerar den positiva kvadratroten 268 SQRT = ROT ## Returnerar den positiva kvadratroten
269 SQRTPI = ROTPI ## Returnerar kvadratroten för (tal * pi) 269 SQRTPI = ROTPI ## Returnerar kvadratroten för (tal * pi)
270 SUBTOTAL = DELSUMMA ## Returnerar en delsumma i en lista eller databas 270 SUBTOTAL = DELSUMMA ## Returnerar en delsumma i en lista eller databas
271 SUM = SUMMA ## Summerar argumenten 271 SUM = SUMMA ## Summerar argumenten
272 SUMIF = SUMMA.OM ## Summerar celler enligt ett angivet villkor 272 SUMIF = SUMMA.OM ## Summerar celler enligt ett angivet villkor
273 SUMIFS = SUMMA.OMF ## Lägger till cellerna i ett område som uppfyller flera kriterier 273 SUMIFS = SUMMA.OMF ## Lägger till cellerna i ett område som uppfyller flera kriterier
274 SUMPRODUCT = PRODUKTSUMMA ## Returnerar summan av produkterna i motsvarande matriskomponenter 274 SUMPRODUCT = PRODUKTSUMMA ## Returnerar summan av produkterna i motsvarande matriskomponenter
275 SUMSQ = KVADRATSUMMA ## Returnerar summan av argumentens kvadrater 275 SUMSQ = KVADRATSUMMA ## Returnerar summan av argumentens kvadrater
276 SUMX2MY2 = SUMMAX2MY2 ## Returnerar summan av differensen mellan kvadraterna för motsvarande värden i två matriser 276 SUMX2MY2 = SUMMAX2MY2 ## Returnerar summan av differensen mellan kvadraterna för motsvarande värden i två matriser
277 SUMX2PY2 = SUMMAX2PY2 ## Returnerar summan av summan av kvadraterna av motsvarande värden i två matriser 277 SUMX2PY2 = SUMMAX2PY2 ## Returnerar summan av summan av kvadraterna av motsvarande värden i två matriser
278 SUMXMY2 = SUMMAXMY2 ## Returnerar summan av kvadraten av skillnaden mellan motsvarande värden i två matriser 278 SUMXMY2 = SUMMAXMY2 ## Returnerar summan av kvadraten av skillnaden mellan motsvarande värden i två matriser
279 TAN = TAN ## Returnerar tangens för ett tal 279 TAN = TAN ## Returnerar tangens för ett tal
280 TANH = TANH ## Returnerar hyperbolisk tangens för ett tal 280 TANH = TANH ## Returnerar hyperbolisk tangens för ett tal
281 TRUNC = AVKORTA ## Avkortar ett tal till ett heltal 281 TRUNC = AVKORTA ## Avkortar ett tal till ett heltal
282 282
283 283
284 ## 284 ##
285 ## Statistical functions Statistiska funktioner 285 ## Statistical functions Statistiska funktioner
286 ## 286 ##
287 AVEDEV = MEDELAVV ## Returnerar medelvärdet för datapunkters absoluta avvikelse från deras medelvärde 287 AVEDEV = MEDELAVV ## Returnerar medelvärdet för datapunkters absoluta avvikelse från deras medelvärde
288 AVERAGE = MEDEL ## Returnerar medelvärdet av argumenten 288 AVERAGE = MEDEL ## Returnerar medelvärdet av argumenten
289 AVERAGEA = AVERAGEA ## Returnerar medelvärdet av argumenten, inklusive tal, text och logiska värden 289 AVERAGEA = AVERAGEA ## Returnerar medelvärdet av argumenten, inklusive tal, text och logiska värden
290 AVERAGEIF = MEDELOM ## Returnerar medelvärdet (aritmetiskt medelvärde) för alla celler i ett område som uppfyller ett givet kriterium 290 AVERAGEIF = MEDELOM ## Returnerar medelvärdet (aritmetiskt medelvärde) för alla celler i ett område som uppfyller ett givet kriterium
291 AVERAGEIFS = MEDELOMF ## Returnerar medelvärdet (det aritmetiska medelvärdet) för alla celler som uppfyller flera villkor. 291 AVERAGEIFS = MEDELOMF ## Returnerar medelvärdet (det aritmetiska medelvärdet) för alla celler som uppfyller flera villkor.
292 BETADIST = BETAFÖRD ## Returnerar den kumulativa betafördelningsfunktionen 292 BETADIST = BETAFÖRD ## Returnerar den kumulativa betafördelningsfunktionen
293 BETAINV = BETAINV ## Returnerar inversen till den kumulativa fördelningsfunktionen för en viss betafördelning 293 BETAINV = BETAINV ## Returnerar inversen till den kumulativa fördelningsfunktionen för en viss betafördelning
294 BINOMDIST = BINOMFÖRD ## Returnerar den individuella binomialfördelningen 294 BINOMDIST = BINOMFÖRD ## Returnerar den individuella binomialfördelningen
295 CHIDIST = CHI2FÖRD ## Returnerar den ensidiga sannolikheten av c2-fördelningen 295 CHIDIST = CHI2FÖRD ## Returnerar den ensidiga sannolikheten av c2-fördelningen
296 CHIINV = CHI2INV ## Returnerar inversen av chi2-fördelningen 296 CHIINV = CHI2INV ## Returnerar inversen av chi2-fördelningen
297 CHITEST = CHI2TEST ## Returnerar oberoendetesten 297 CHITEST = CHI2TEST ## Returnerar oberoendetesten
298 CONFIDENCE = KONFIDENS ## Returnerar konfidensintervallet för en populations medelvärde 298 CONFIDENCE = KONFIDENS ## Returnerar konfidensintervallet för en populations medelvärde
299 CORREL = KORREL ## Returnerar korrelationskoefficienten mellan två datamängder 299 CORREL = KORREL ## Returnerar korrelationskoefficienten mellan två datamängder
300 COUNT = ANTAL ## Räknar hur många tal som finns bland argumenten 300 COUNT = ANTAL ## Räknar hur många tal som finns bland argumenten
301 COUNTA = ANTALV ## Räknar hur många värden som finns bland argumenten 301 COUNTA = ANTALV ## Räknar hur många värden som finns bland argumenten
302 COUNTBLANK = ANTAL.TOMMA ## Räknar antalet tomma celler i ett område 302 COUNTBLANK = ANTAL.TOMMA ## Räknar antalet tomma celler i ett område
303 COUNTIF = ANTAL.OM ## Räknar antalet celler i ett område som uppfyller angivna villkor. 303 COUNTIF = ANTAL.OM ## Räknar antalet celler i ett område som uppfyller angivna villkor.
304 COUNTIFS = ANTAL.OMF ## Räknar antalet celler i ett område som uppfyller flera villkor. 304 COUNTIFS = ANTAL.OMF ## Räknar antalet celler i ett område som uppfyller flera villkor.
305 COVAR = KOVAR ## Returnerar kovariansen, d.v.s. medelvärdet av produkterna för parade avvikelser 305 COVAR = KOVAR ## Returnerar kovariansen, d.v.s. medelvärdet av produkterna för parade avvikelser
306 CRITBINOM = KRITBINOM ## Returnerar det minsta värdet för vilket den kumulativa binomialfördelningen är mindre än eller lika med ett villkorsvärde 306 CRITBINOM = KRITBINOM ## Returnerar det minsta värdet för vilket den kumulativa binomialfördelningen är mindre än eller lika med ett villkorsvärde
307 DEVSQ = KVADAVV ## Returnerar summan av kvadrater på avvikelser 307 DEVSQ = KVADAVV ## Returnerar summan av kvadrater på avvikelser
308 EXPONDIST = EXPONFÖRD ## Returnerar exponentialfördelningen 308 EXPONDIST = EXPONFÖRD ## Returnerar exponentialfördelningen
309 FDIST = FFÖRD ## Returnerar F-sannolikhetsfördelningen 309 FDIST = FFÖRD ## Returnerar F-sannolikhetsfördelningen
310 FINV = FINV ## Returnerar inversen till F-sannolikhetsfördelningen 310 FINV = FINV ## Returnerar inversen till F-sannolikhetsfördelningen
311 FISHER = FISHER ## Returnerar Fisher-transformationen 311 FISHER = FISHER ## Returnerar Fisher-transformationen
312 FISHERINV = FISHERINV ## Returnerar inversen till Fisher-transformationen 312 FISHERINV = FISHERINV ## Returnerar inversen till Fisher-transformationen
313 FORECAST = PREDIKTION ## Returnerar ett värde längs en linjär trendlinje 313 FORECAST = PREDIKTION ## Returnerar ett värde längs en linjär trendlinje
314 FREQUENCY = FREKVENS ## Returnerar en frekvensfördelning som en lodrät matris 314 FREQUENCY = FREKVENS ## Returnerar en frekvensfördelning som en lodrät matris
315 FTEST = FTEST ## Returnerar resultatet av en F-test 315 FTEST = FTEST ## Returnerar resultatet av en F-test
316 GAMMADIST = GAMMAFÖRD ## Returnerar gammafördelningen 316 GAMMADIST = GAMMAFÖRD ## Returnerar gammafördelningen
317 GAMMAINV = GAMMAINV ## Returnerar inversen till den kumulativa gammafördelningen 317 GAMMAINV = GAMMAINV ## Returnerar inversen till den kumulativa gammafördelningen
318 GAMMALN = GAMMALN ## Returnerar den naturliga logaritmen för gammafunktionen, G(x) 318 GAMMALN = GAMMALN ## Returnerar den naturliga logaritmen för gammafunktionen, G(x)
319 GEOMEAN = GEOMEDEL ## Returnerar det geometriska medelvärdet 319 GEOMEAN = GEOMEDEL ## Returnerar det geometriska medelvärdet
320 GROWTH = EXPTREND ## Returnerar värden längs en exponentiell trend 320 GROWTH = EXPTREND ## Returnerar värden längs en exponentiell trend
321 HARMEAN = HARMMEDEL ## Returnerar det harmoniska medelvärdet 321 HARMEAN = HARMMEDEL ## Returnerar det harmoniska medelvärdet
322 HYPGEOMDIST = HYPGEOMFÖRD ## Returnerar den hypergeometriska fördelningen 322 HYPGEOMDIST = HYPGEOMFÖRD ## Returnerar den hypergeometriska fördelningen
323 INTERCEPT = SKÄRNINGSPUNKT ## Returnerar skärningspunkten för en linjär regressionslinje 323 INTERCEPT = SKÄRNINGSPUNKT ## Returnerar skärningspunkten för en linjär regressionslinje
324 KURT = TOPPIGHET ## Returnerar toppigheten av en mängd data 324 KURT = TOPPIGHET ## Returnerar toppigheten av en mängd data
325 LARGE = STÖRSTA ## Returnerar det n:te största värdet i en mängd data 325 LARGE = STÖRSTA ## Returnerar det n:te största värdet i en mängd data
326 LINEST = REGR ## Returnerar parametrar till en linjär trendlinje 326 LINEST = REGR ## Returnerar parametrar till en linjär trendlinje
327 LOGEST = EXPREGR ## Returnerar parametrarna i en exponentiell trend 327 LOGEST = EXPREGR ## Returnerar parametrarna i en exponentiell trend
328 LOGINV = LOGINV ## Returnerar inversen till den lognormala fördelningen 328 LOGINV = LOGINV ## Returnerar inversen till den lognormala fördelningen
329 LOGNORMDIST = LOGNORMFÖRD ## Returnerar den kumulativa lognormala fördelningen 329 LOGNORMDIST = LOGNORMFÖRD ## Returnerar den kumulativa lognormala fördelningen
330 MAX = MAX ## Returnerar det största värdet i en lista av argument 330 MAX = MAX ## Returnerar det största värdet i en lista av argument
331 MAXA = MAXA ## Returnerar det största värdet i en lista av argument, inklusive tal, text och logiska värden 331 MAXA = MAXA ## Returnerar det största värdet i en lista av argument, inklusive tal, text och logiska värden
332 MEDIAN = MEDIAN ## Returnerar medianen för angivna tal 332 MEDIAN = MEDIAN ## Returnerar medianen för angivna tal
333 MIN = MIN ## Returnerar det minsta värdet i en lista med argument 333 MIN = MIN ## Returnerar det minsta värdet i en lista med argument
334 MINA = MINA ## Returnerar det minsta värdet i en lista över argument, inklusive tal, text och logiska värden 334 MINA = MINA ## Returnerar det minsta värdet i en lista över argument, inklusive tal, text och logiska värden
335 MODE = TYPVÄRDE ## Returnerar det vanligaste värdet i en datamängd 335 MODE = TYPVÄRDE ## Returnerar det vanligaste värdet i en datamängd
336 NEGBINOMDIST = NEGBINOMFÖRD ## Returnerar den negativa binomialfördelningen 336 NEGBINOMDIST = NEGBINOMFÖRD ## Returnerar den negativa binomialfördelningen
337 NORMDIST = NORMFÖRD ## Returnerar den kumulativa normalfördelningen 337 NORMDIST = NORMFÖRD ## Returnerar den kumulativa normalfördelningen
338 NORMINV = NORMINV ## Returnerar inversen till den kumulativa normalfördelningen 338 NORMINV = NORMINV ## Returnerar inversen till den kumulativa normalfördelningen
339 NORMSDIST = NORMSFÖRD ## Returnerar den kumulativa standardnormalfördelningen 339 NORMSDIST = NORMSFÖRD ## Returnerar den kumulativa standardnormalfördelningen
340 NORMSINV = NORMSINV ## Returnerar inversen till den kumulativa standardnormalfördelningen 340 NORMSINV = NORMSINV ## Returnerar inversen till den kumulativa standardnormalfördelningen
341 PEARSON = PEARSON ## Returnerar korrelationskoefficienten till Pearsons momentprodukt 341 PEARSON = PEARSON ## Returnerar korrelationskoefficienten till Pearsons momentprodukt
342 PERCENTILE = PERCENTIL ## Returnerar den n:te percentilen av värden i ett område 342 PERCENTILE = PERCENTIL ## Returnerar den n:te percentilen av värden i ett område
343 PERCENTRANK = PROCENTRANG ## Returnerar procentrangen för ett värde i en datamängd 343 PERCENTRANK = PROCENTRANG ## Returnerar procentrangen för ett värde i en datamängd
344 PERMUT = PERMUT ## Returnerar antal permutationer för ett givet antal objekt 344 PERMUT = PERMUT ## Returnerar antal permutationer för ett givet antal objekt
345 POISSON = POISSON ## Returnerar Poisson-fördelningen 345 POISSON = POISSON ## Returnerar Poisson-fördelningen
346 PROB = SANNOLIKHET ## Returnerar sannolikheten att värden i ett område ligger mellan två gränser 346 PROB = SANNOLIKHET ## Returnerar sannolikheten att värden i ett område ligger mellan två gränser
347 QUARTILE = KVARTIL ## Returnerar kvartilen av en mängd data 347 QUARTILE = KVARTIL ## Returnerar kvartilen av en mängd data
348 RANK = RANG ## Returnerar rangordningen för ett tal i en lista med tal 348 RANK = RANG ## Returnerar rangordningen för ett tal i en lista med tal
349 RSQ = RKV ## Returnerar kvadraten av Pearsons produktmomentkorrelationskoefficient 349 RSQ = RKV ## Returnerar kvadraten av Pearsons produktmomentkorrelationskoefficient
350 SKEW = SNEDHET ## Returnerar snedheten för en fördelning 350 SKEW = SNEDHET ## Returnerar snedheten för en fördelning
351 SLOPE = LUTNING ## Returnerar lutningen på en linjär regressionslinje 351 SLOPE = LUTNING ## Returnerar lutningen på en linjär regressionslinje
352 SMALL = MINSTA ## Returnerar det n:te minsta värdet i en mängd data 352 SMALL = MINSTA ## Returnerar det n:te minsta värdet i en mängd data
353 STANDARDIZE = STANDARDISERA ## Returnerar ett normaliserat värde 353 STANDARDIZE = STANDARDISERA ## Returnerar ett normaliserat värde
354 STDEV = STDAV ## Uppskattar standardavvikelsen baserat på ett urval 354 STDEV = STDAV ## Uppskattar standardavvikelsen baserat på ett urval
355 STDEVA = STDEVA ## Uppskattar standardavvikelsen baserat på ett urval, inklusive tal, text och logiska värden 355 STDEVA = STDEVA ## Uppskattar standardavvikelsen baserat på ett urval, inklusive tal, text och logiska värden
356 STDEVP = STDAVP ## Beräknar standardavvikelsen baserat på hela populationen 356 STDEVP = STDAVP ## Beräknar standardavvikelsen baserat på hela populationen
357 STDEVPA = STDEVPA ## Beräknar standardavvikelsen baserat på hela populationen, inklusive tal, text och logiska värden 357 STDEVPA = STDEVPA ## Beräknar standardavvikelsen baserat på hela populationen, inklusive tal, text och logiska värden
358 STEYX = STDFELYX ## Returnerar standardfelet för ett förutspått y-värde för varje x-värde i regressionen 358 STEYX = STDFELYX ## Returnerar standardfelet för ett förutspått y-värde för varje x-värde i regressionen
359 TDIST = TFÖRD ## Returnerar Students t-fördelning 359 TDIST = TFÖRD ## Returnerar Students t-fördelning
360 TINV = TINV ## Returnerar inversen till Students t-fördelning 360 TINV = TINV ## Returnerar inversen till Students t-fördelning
361 TREND = TREND ## Returnerar värden längs en linjär trend 361 TREND = TREND ## Returnerar värden längs en linjär trend
362 TRIMMEAN = TRIMMEDEL ## Returnerar medelvärdet av mittpunkterna i en datamängd 362 TRIMMEAN = TRIMMEDEL ## Returnerar medelvärdet av mittpunkterna i en datamängd
363 TTEST = TTEST ## Returnerar sannolikheten beräknad ur Students t-test 363 TTEST = TTEST ## Returnerar sannolikheten beräknad ur Students t-test
364 VAR = VARIANS ## Uppskattar variansen baserat på ett urval 364 VAR = VARIANS ## Uppskattar variansen baserat på ett urval
365 VARA = VARA ## Uppskattar variansen baserat på ett urval, inklusive tal, text och logiska värden 365 VARA = VARA ## Uppskattar variansen baserat på ett urval, inklusive tal, text och logiska värden
366 VARP = VARIANSP ## Beräknar variansen baserat på hela populationen 366 VARP = VARIANSP ## Beräknar variansen baserat på hela populationen
367 VARPA = VARPA ## Beräknar variansen baserat på hela populationen, inklusive tal, text och logiska värden 367 VARPA = VARPA ## Beräknar variansen baserat på hela populationen, inklusive tal, text och logiska värden
368 WEIBULL = WEIBULL ## Returnerar Weibull-fördelningen 368 WEIBULL = WEIBULL ## Returnerar Weibull-fördelningen
369 ZTEST = ZTEST ## Returnerar det ensidiga sannolikhetsvärdet av ett z-test 369 ZTEST = ZTEST ## Returnerar det ensidiga sannolikhetsvärdet av ett z-test
370 370
371 371
372 ## 372 ##
373 ## Text functions Textfunktioner 373 ## Text functions Textfunktioner
374 ## 374 ##
375 ASC = ASC ## Ändrar helbredds (dubbel byte) engelska bokstäver eller katakana inom en teckensträng till tecken med halvt breddsteg (enkel byte) 375 ASC = ASC ## Ändrar helbredds (dubbel byte) engelska bokstäver eller katakana inom en teckensträng till tecken med halvt breddsteg (enkel byte)
376 BAHTTEXT = BAHTTEXT ## Omvandlar ett tal till text med valutaformatet ß (baht) 376 BAHTTEXT = BAHTTEXT ## Omvandlar ett tal till text med valutaformatet ß (baht)
377 CHAR = TECKENKOD ## Returnerar tecknet som anges av kod 377 CHAR = TECKENKOD ## Returnerar tecknet som anges av kod
378 CLEAN = STÄDA ## Tar bort alla icke utskrivbara tecken i en text 378 CLEAN = STÄDA ## Tar bort alla icke utskrivbara tecken i en text
379 CODE = KOD ## Returnerar en numerisk kod för det första tecknet i en textsträng 379 CODE = KOD ## Returnerar en numerisk kod för det första tecknet i en textsträng
380 CONCATENATE = SAMMANFOGA ## Sammanfogar flera textdelar till en textsträng 380 CONCATENATE = SAMMANFOGA ## Sammanfogar flera textdelar till en textsträng
381 DOLLAR = VALUTA ## Omvandlar ett tal till text med valutaformat 381 DOLLAR = VALUTA ## Omvandlar ett tal till text med valutaformat
382 EXACT = EXAKT ## Kontrollerar om två textvärden är identiska 382 EXACT = EXAKT ## Kontrollerar om två textvärden är identiska
383 FIND = HITTA ## Hittar en text i en annan (skiljer på gemener och versaler) 383 FIND = HITTA ## Hittar en text i en annan (skiljer på gemener och versaler)
384 FINDB = HITTAB ## Hittar en text i en annan (skiljer på gemener och versaler) 384 FINDB = HITTAB ## Hittar en text i en annan (skiljer på gemener och versaler)
385 FIXED = FASTTAL ## Formaterar ett tal som text med ett fast antal decimaler 385 FIXED = FASTTAL ## Formaterar ett tal som text med ett fast antal decimaler
386 JIS = JIS ## Ändrar halvbredds (enkel byte) engelska bokstäver eller katakana inom en teckensträng till tecken med helt breddsteg (dubbel byte) 386 JIS = JIS ## Ändrar halvbredds (enkel byte) engelska bokstäver eller katakana inom en teckensträng till tecken med helt breddsteg (dubbel byte)
387 LEFT = VÄNSTER ## Returnerar tecken längst till vänster i en sträng 387 LEFT = VÄNSTER ## Returnerar tecken längst till vänster i en sträng
388 LEFTB = VÄNSTERB ## Returnerar tecken längst till vänster i en sträng 388 LEFTB = VÄNSTERB ## Returnerar tecken längst till vänster i en sträng
389 LEN = LÄNGD ## Returnerar antalet tecken i en textsträng 389 LEN = LÄNGD ## Returnerar antalet tecken i en textsträng
390 LENB = LÄNGDB ## Returnerar antalet tecken i en textsträng 390 LENB = LÄNGDB ## Returnerar antalet tecken i en textsträng
391 LOWER = GEMENER ## Omvandlar text till gemener 391 LOWER = GEMENER ## Omvandlar text till gemener
392 MID = EXTEXT ## Returnerar angivet antal tecken från en text med början vid den position som du anger 392 MID = EXTEXT ## Returnerar angivet antal tecken från en text med början vid den position som du anger
393 MIDB = EXTEXTB ## Returnerar angivet antal tecken från en text med början vid den position som du anger 393 MIDB = EXTEXTB ## Returnerar angivet antal tecken från en text med början vid den position som du anger
394 PHONETIC = PHONETIC ## Returnerar de fonetiska (furigana) tecknen i en textsträng 394 PHONETIC = PHONETIC ## Returnerar de fonetiska (furigana) tecknen i en textsträng
395 PROPER = INITIAL ## Ändrar första bokstaven i varje ord i ett textvärde till versal 395 PROPER = INITIAL ## Ändrar första bokstaven i varje ord i ett textvärde till versal
396 REPLACE = ERSÄTT ## Ersätter tecken i text 396 REPLACE = ERSÄTT ## Ersätter tecken i text
397 REPLACEB = ERSÄTTB ## Ersätter tecken i text 397 REPLACEB = ERSÄTTB ## Ersätter tecken i text
398 REPT = REP ## Upprepar en text ett bestämt antal gånger 398 REPT = REP ## Upprepar en text ett bestämt antal gånger
399 RIGHT = HÖGER ## Returnerar tecken längst till höger i en sträng 399 RIGHT = HÖGER ## Returnerar tecken längst till höger i en sträng
400 RIGHTB = HÖGERB ## Returnerar tecken längst till höger i en sträng 400 RIGHTB = HÖGERB ## Returnerar tecken längst till höger i en sträng
401 SEARCH = SÖK ## Hittar ett textvärde i ett annat (skiljer inte på gemener och versaler) 401 SEARCH = SÖK ## Hittar ett textvärde i ett annat (skiljer inte på gemener och versaler)
402 SEARCHB = SÖKB ## Hittar ett textvärde i ett annat (skiljer inte på gemener och versaler) 402 SEARCHB = SÖKB ## Hittar ett textvärde i ett annat (skiljer inte på gemener och versaler)
403 SUBSTITUTE = BYT.UT ## Ersätter gammal text med ny text i en textsträng 403 SUBSTITUTE = BYT.UT ## Ersätter gammal text med ny text i en textsträng
404 T = T ## Omvandlar argumenten till text 404 T = T ## Omvandlar argumenten till text
405 TEXT = TEXT ## Formaterar ett tal och omvandlar det till text 405 TEXT = TEXT ## Formaterar ett tal och omvandlar det till text
406 TRIM = RENSA ## Tar bort blanksteg från text 406 TRIM = RENSA ## Tar bort blanksteg från text
407 UPPER = VERSALER ## Omvandlar text till versaler 407 UPPER = VERSALER ## Omvandlar text till versaler
408 VALUE = TEXTNUM ## Omvandlar ett textargument till ett tal 408 VALUE = TEXTNUM ## Omvandlar ett textargument till ett tal
......
1 <?php 1 <?php
2 namespace Tz\WordPress\Tools\Notifications\Settings; 2 namespace Tz\WordPress\Tools\Notifications\Settings;
3 //error_reporting(E_ALL^E_DEPRECATED); 3 //error_reporting(E_ALL^E_DEPRECATED);
4 4
5 use Tz\WordPress\Tools; 5 use Tz\WordPress\Tools;
6 use Tz\Common; 6 use Tz\Common;
7 use Tz\WordPress\Tools\Notifications; 7 use Tz\WordPress\Tools\Notifications;
8 use Tz\WordPress\Tools\Notifications\Validation; 8 use Tz\WordPress\Tools\Notifications\Validation;
9 9
10 const CAPABILITY = "manage_notifications"; 10 const CAPABILITY = "manage_notifications";
11 const MANAGE_SYSTEM_NOTIFICATIONS = "create_system_notifications"; 11 const MANAGE_SYSTEM_NOTIFICATIONS = "create_system_notifications";
12 const SETTING_NS = 'canspam_settings'; 12 const SETTING_NS = 'canspam_settings';
13 const ADMIN_PAGE = "canspam_admin"; 13 const ADMIN_PAGE = "canspam_admin";
14 14
15 call_user_func(function() { 15 call_user_func(function() {
16 $role = get_role('administrator'); 16 $role = get_role('administrator');
17 $role->add_cap(CAPABILITY); 17 $role->add_cap(CAPABILITY);
18 $role->add_cap(MANAGE_SYSTEM_NOTIFICATIONS); 18 $role->add_cap(MANAGE_SYSTEM_NOTIFICATIONS);
19 //$role->remove_cap(SUB_ADMIN_CAPABILITY); 19 //$role->remove_cap(SUB_ADMIN_CAPABILITY);
20 20
21 Vars::$settings = new Tools\WP_Option(SETTING_NS); 21 Vars::$settings = new Tools\WP_Option(SETTING_NS);
22 22
23 Tools\add_actions(__NAMESPACE__ . '\Actions'); 23 Tools\add_actions(__NAMESPACE__ . '\Actions');
24 24
25 25
26 26
27 }); 27 });
28 28
29 function display_page() { 29 function display_page() {
30 30
31 31
32 if (isset($_GET['action']) && $_GET['action']=="edit") { 32 if (isset($_GET['action']) && $_GET['action']=="edit") {
33 global $wpdb; 33 global $wpdb;
34 34
35 $entry = get_post($_GET['page_id']); 35 $entry = get_post($_GET['page_id']);
36 36
37 $id = $entry->ID; 37 $id = $entry->ID;
38 38
39 $details = get_post_meta($id,'details',true); 39 $details = get_post_meta($id,'details',true);
40 $email = get_post_meta($id,'email',true); 40 $email = get_post_meta($id,'email',true);
41 $system = get_post_meta($id,'system',true); 41 $system = get_post_meta($id,'system',true);
42 42
43 $entry->details = $details; 43 $entry->details = $details;
44 $entry->email = $email; 44 $entry->email = $email;
45 $entry->system = $system; 45 $entry->system = $system;
46 46
47 // here 47 // here
48 $validation = new Notifications\Validation; 48 $validation = new Notifications\Validation;
49 49
50 $validation->set_rules('type','Notification Type','required'); 50 $validation->set_rules('type','Notification Type','required');
51 $validation->set_rules('title','Description','trim|required|min_length[4]'); 51 $validation->set_rules('title','Description','trim|required|min_length[4]');
52 $validation->set_rules('type','Notification Type','required'); 52 $validation->set_rules('type','Notification Type','required');
53 $validation->set_rules('sendto','Send To','required'); 53 $validation->set_rules('sendto','Send To','required');
54 54
55 $type_val = ($_POST && $_POST['type'] == "scheduled") ? 'required' : ''; 55 $type_val = ($_POST && $_POST['type'] == "scheduled") ? 'required' : '';
56 $validation->set_rules('execute_date','Execute Date', $type_val); 56 $validation->set_rules('execute_date','Execute Date', $type_val);
57 57
58 $trigger_val = ($_POST && $_POST['type'] == "triggered") ? 'required' : ''; 58 $trigger_val = ($_POST && $_POST['type'] == "triggered") ? 'required' : '';
59 $validation->set_rules('trigger','Trigger',$trigger_val); 59 $validation->set_rules('trigger','Trigger',$trigger_val);
60 60
61 $validation->set_rules('subject','Subject','trim'); 61 $validation->set_rules('subject','Subject','trim');
62 $validation->set_rules('text','Text Version','trim|min_length[16]'); 62 $validation->set_rules('text','Text Version','trim|min_length[16]');
63 $validation->set_rules('html','HTML Version','trim|min_length[16]'); 63 $validation->set_rules('html','HTML Version','trim|min_length[16]');
64 64
65 $validation->set_rules('system_message_type','System Message Type','trim'); 65 $validation->set_rules('system_message_type','System Message Type','trim');
66 $validation->set_rules('system','System Message','trim|min_length[16]'); 66 $validation->set_rules('system','System Message','trim|min_length[16]');
67 67
68 68
69 //details 69 //details
70 if ($validation->run() == TRUE) { 70 if ($validation->run() == TRUE) {
71 71
72 72
73 73
74 74
75 $type = $_POST['type']; 75 $type = $_POST['type'];
76 $title = $_POST['title']; 76 $title = $_POST['title'];
77 $sendto = $_POST['sendto']; 77 $sendto = $_POST['sendto'];
78 $execute_date = ($type=="scheduled") ? $_POST['execute_date'] : "0000-00-00 00:00:00"; 78 $execute_date = ($type=="scheduled") ? $_POST['execute_date'] : "0000-00-00 00:00:00";
79 $trigger = ($type=="scheduled") ? "scheduled-cron-job" : $_POST['trigger']; 79 $trigger = ($type=="scheduled") ? "scheduled-cron-job" : $_POST['trigger'];
80 80
81 // email 81 // email
82 $subject = $_POST['subject']; 82 $subject = $_POST['subject'];
83 $text = $_POST['text']; 83 $text = $_POST['text'];
84 $html = $_POST['html']; 84 $html = $_POST['html'];
85 $attachments = array(); 85 $attachments = array();
86 $upload_dir = __DIR__ . "/uploads/"; 86 $upload_dir = __DIR__ . "/uploads/";
87 fixFilesArray($_FILES['attachment']); 87 fixFilesArray($_FILES['attachment']);
88 foreach ($_FILES['attachment'] as $position => $file) { 88 foreach ($_FILES['attachment'] as $position => $file) {
89 // should output array with indices name, type, tmp_name, error, size 89 // should output array with indices name, type, tmp_name, error, size
90 if($file['name'] != "") { 90 if($file['name'] != "") {
91 move_uploaded_file($file['tmp_name'],$upload_dir . $file['name']); 91 move_uploaded_file($file['tmp_name'],$upload_dir . $file['name']);
92 $attachments[] = $file['name']; 92 $attachments[] = $file['name'];
93 } 93 }
94 } 94 }
95 95
96 // system 96 // system
97 $system_message_type = $_POST['system_message_type']; 97 $system_message_type = $_POST['system_message_type'];
98 $system = $_POST['system']; 98 $system = $_POST['system'];
99 99
100 100
101 101
102 update_post_meta($id, 'notif_type', $type); 102 update_post_meta($id, 'notif_type', $type);
103 update_post_meta($id, 'execute_date', mysqldatetime_to_timestamp($execute_date)); 103 update_post_meta($id, 'execute_date', mysqldatetime_to_timestamp($execute_date));
104 update_post_meta($id, 'trigger', $trigger); 104 update_post_meta($id, 'trigger', $trigger);
105 105
106 update_post_meta($id, "details", array( 106 update_post_meta($id, "details", array(
107 'type' => $type 107 'type' => $type
108 , 'sendto' => $sendto 108 , 'sendto' => $sendto
109 , 'status' => $entry->details['status'] 109 , 'status' => $entry->details['status']
110 , 'trigger' => $trigger 110 , 'trigger' => $trigger
111 , 'execute_date' => $execute_date 111 , 'execute_date' => $execute_date
112 )); 112 ));
113 113
114 update_post_meta($id,'send_status',$entry->details['status']); 114 update_post_meta($id,'send_status',$entry->details['status']);
115 115
116 if ( count( $entry->email['attachments'] ) > 0 ) { 116 if ( count( $entry->email['attachments'] ) > 0 ) {
117 $attachments = array_merge($entry->email['attachments'], $attachments); 117 $attachments = array_merge($entry->email['attachments'], $attachments);
118 } 118 }
119 119
120 update_post_meta($id, "email", array( 120 update_post_meta($id, "email", array(
121 'subject' => $subject 121 'subject' => $subject
122 , 'text' => $text 122 , 'text' => $text
123 , 'html' => $html 123 , 'html' => $html
124 , 'attachments' => $attachments 124 , 'attachments' => $attachments
125 )); 125 ));
126 update_post_meta($id, "system", array( 126 update_post_meta($id, "system", array(
127 'system_message_type' => $system_message_type 127 'system_message_type' => $system_message_type
128 , 'message' => $system 128 , 'message' => $system
129 )); 129 ));
130 130
131 131
132 $update = array(); 132 $update = array();
133 $update['ID'] = $id; 133 $update['ID'] = $id;
134 $update['post_title'] = $title; 134 $update['post_title'] = $title;
135 wp_update_post($update); 135 wp_update_post($update);
136 136
137 $id = $entry->ID; 137 $id = $entry->ID;
138 138
139 $details = get_post_meta($id,'details',true); 139 $details = get_post_meta($id,'details',true);
140 $email = get_post_meta($id,'email',true); 140 $email = get_post_meta($id,'email',true);
141 $system = get_post_meta($id,'system',true); 141 $system = get_post_meta($id,'system',true);
142 142
143 143
144 $entry->details = $details; 144 $entry->details = $details;
145 $entry->email = $email; 145 $entry->email = $email;
146 $entry->system = $system; 146 $entry->system = $system;
147 147
148 148
149 149
150 $flash = "<strong>Notification Saved Successfully!</strong><br /><a href='/wp-admin/admin.php?page=notifications'>Click here</a> to view all notifications.</a>"; 150 $flash = "<strong>Notification Saved Successfully!</strong><br /><a href='/wp-admin/admin.php?page=notifications'>Click here</a> to view all notifications.</a>";
151 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'form.php'); 151 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'form.php');
152 } else { 152 } else {
153 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'form.php'); 153 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'form.php');
154 } 154 }
155 155
156 156
157 157
158 } else { 158 } else {
159 159
160 if (isset($_GET['action']) && $_GET['action']=="delete") { 160 if (isset($_GET['action']) && $_GET['action']=="delete") {
161 wp_delete_post($_GET['page_id'],true); 161 wp_delete_post($_GET['page_id'],true);
162 162
163 } elseif (isset($_GET['action']) && $_GET['action']=="archive") { 163 } elseif (isset($_GET['action']) && $_GET['action']=="archive") {
164 164
165 $id = $_GET['page_id']; 165 $id = $_GET['page_id'];
166 166
167 $postdata = get_post_meta($id,'details',true); 167 $postdata = get_post_meta($id,'details',true);
168 $postdata['status'] = "archived"; 168 $postdata['status'] = "archived";
169 169
170 update_post_meta($id,'details',$postdata); 170 update_post_meta($id,'details',$postdata);
171 update_post_meta($id,'send_status',$postdata['status']); 171 update_post_meta($id,'send_status',$postdata['status']);
172 } 172 }
173 173
174 174
175 // get all the notifications that status != "archived"; 175 // get all the notifications that status != "archived";
176 $notifications = array(); 176 $notifications = array();
177 $notifications['triggered'] = array(); 177 $notifications['triggered'] = array();
178 $notifications['scheduled'] = array(); 178 $notifications['scheduled'] = array();
179 179
180 $args = array( 180 $args = array(
181 'post_type' => 'notifications' 181 'post_type' => 'notifications'
182 , 'numberposts' => -1 182 , 'numberposts' => -1
183 , 'orderby' => 'modified' 183 , 'orderby' => 'modified'
184 , 'order' => 'desc' 184 , 'order' => 'desc'
185 , 'meta_key' => 'send_status' 185 , 'meta_key' => 'send_status'
186 , 'meta_compare' => '=' 186 , 'meta_compare' => '='
187 , 'meta_value' => 'pending' 187 , 'meta_value' => 'pending'
188 ); 188 );
189 189
190 $entries = get_posts($args); 190 $entries = get_posts($args);
191 191
192 192
193 193
194 foreach($entries as $entry) { 194 foreach($entries as $entry) {
195 $id = $entry->ID; 195 $id = $entry->ID;
196 196
197 $details = get_post_meta($id,'details',true); 197 $details = get_post_meta($id,'details',true);
198 $email = get_post_meta($id,'email',true); 198 $email = get_post_meta($id,'email',true);
199 $system = get_post_meta($id,'system',true); 199 $system = get_post_meta($id,'system',true);
200 200
201 201
202 $entry->trigger = $details['trigger']; 202 $entry->trigger = $details['trigger'];
203 $entry->status = isset($details['status']) ? $details['status'] : "active"; 203 $entry->status = isset($details['status']) ? $details['status'] : "active";
204 $entry->type = $details['type']; 204 $entry->type = $details['type'];
205 $entry->sendto = $details['sendto']; 205 $entry->sendto = $details['sendto'];
206 206
207 $entry->is_email = (($email['text'] != "" || $email['html'] != "")) ? true : false; 207 $entry->is_email = (($email['text'] != "" || $email['html'] != "")) ? true : false;
208 $entry->is_system = (isset($system['message']) && $system['message'] != "") ? true : false; 208 $entry->is_system = (isset($system['message']) && $system['message'] != "") ? true : false;
209 209
210 210
211 $entry->execute_date = $details['execute_date']; 211 $entry->execute_date = $details['execute_date'];
212 212
213 if ($entry->status != "archived") { 213 if ($entry->status != "archived") {
214 $notifications[$entry->type][] = $entry; 214 $notifications[$entry->type][] = $entry;
215 } 215 }
216 216
217 217
218 } 218 }
219 219
220 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'admin.php'); 220 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'admin.php');
221 221
222 222
223 223
224 } 224 }
225 225
226 226
227 227
228 } 228 }
229 229
230 function mysqldatetime_to_timestamp($datetime = "") 230 function mysqldatetime_to_timestamp($datetime = "")
231 { 231 {
232 // function is only applicable for valid MySQL DATETIME (19 characters) and DATE (10 characters) 232 // function is only applicable for valid MySQL DATETIME (19 characters) and DATE (10 characters)
233 $l = strlen($datetime); 233 $l = strlen($datetime);
234 if(!($l == 10 || $l == 19)) 234 if(!($l == 10 || $l == 19))
235 return 0; 235 return 0;
236 236
237 // 237 //
238 $date = $datetime; 238 $date = $datetime;
239 $hours = 0; 239 $hours = 0;
240 $minutes = 0; 240 $minutes = 0;
241 $seconds = 0; 241 $seconds = 0;
242 242
243 // DATETIME only 243 // DATETIME only
244 if($l == 19) 244 if($l == 19)
245 { 245 {
246 list($date, $time) = explode(" ", $datetime); 246 list($date, $time) = explode(" ", $datetime);
247 list($hours, $minutes, $seconds) = explode(":", $time); 247 list($hours, $minutes, $seconds) = explode(":", $time);
248 } 248 }
249 249
250 list($year, $month, $day) = explode("-", $date); 250 list($year, $month, $day) = explode("-", $date);
251 251
252 return mktime($hours, $minutes, $seconds, $month, $day, $year); 252 return mktime($hours, $minutes, $seconds, $month, $day, $year);
253 } 253 }
254 254
255 function fixFilesArray(&$files) 255 function fixFilesArray(&$files)
256 { 256 {
257 $names = array( 'name' => 1, 'type' => 1, 'tmp_name' => 1, 'error' => 1, 'size' => 1); 257 $names = array( 'name' => 1, 'type' => 1, 'tmp_name' => 1, 'error' => 1, 'size' => 1);
258 258
259 foreach ($files as $key => $part) { 259 foreach ($files as $key => $part) {
260 // only deal with valid keys and multiple files 260 // only deal with valid keys and multiple files
261 $key = (string) $key; 261 $key = (string) $key;
262 if (isset($names[$key]) && is_array($part)) { 262 if (isset($names[$key]) && is_array($part)) {
263 foreach ($part as $position => $value) { 263 foreach ($part as $position => $value) {
264 $files[$position][$key] = $value; 264 $files[$position][$key] = $value;
265 } 265 }
266 // remove old key reference 266 // remove old key reference
267 unset($files[$key]); 267 unset($files[$key]);
268 } 268 }
269 } 269 }
270 } 270 }
271 271
272 272
273 function notification_settings() { 273 function notification_settings() {
274 274
275 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'settings.php'); 275 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'settings.php');
276 276
277 277
278 278
279 } 279 }
280 280
281 function create_notification() { 281 function create_notification() {
282 282
283 global $wpdb; 283 global $wpdb;
284 284
285 285
286 // here 286 // here
287 $validation = new Notifications\Validation; 287 $validation = new Notifications\Validation;
288 288
289 $validation->set_rules('type','Notification Type','required'); 289 $validation->set_rules('type','Notification Type','required');
290 $validation->set_rules('title','Description','trim|required|min_length[16]'); 290 $validation->set_rules('title','Description','trim|required|min_length[16]');
291 $validation->set_rules('type','Notification Type','required'); 291 $validation->set_rules('type','Notification Type','required');
292 $validation->set_rules('sendto','Send To','required'); 292 $validation->set_rules('sendto','Send To','required');
293 293
294 $type_val = ($_POST && $_POST['type'] == "scheduled") ? 'required' : ''; 294 $type_val = ($_POST && $_POST['type'] == "scheduled") ? 'required' : '';
295 $validation->set_rules('execute_date','Execute Date', $type_val); 295 $validation->set_rules('execute_date','Execute Date', $type_val);
296 296
297 $trigger_val = ($_POST && $_POST['type'] == "triggered") ? 'required' : ''; 297 $trigger_val = ($_POST && $_POST['type'] == "triggered") ? 'required' : '';
298 $validation->set_rules('trigger','Trigger',$trigger_val); 298 $validation->set_rules('trigger','Trigger',$trigger_val);
299 299
300 $validation->set_rules('subject','Subject','trim'); 300 $validation->set_rules('subject','Subject','trim');
301 $validation->set_rules('text','Text Version','trim|min_length[16]'); 301 $validation->set_rules('text','Text Version','trim|min_length[16]');
302 $validation->set_rules('html','HTML Version','trim|min_length[16]'); 302 $validation->set_rules('html','HTML Version','trim|min_length[16]');
303 303
304 $validation->set_rules('system','System Message','trim|min_length[16]'); 304 $validation->set_rules('system','System Message','trim|min_length[16]');
305 305
306 306
307 if ($_POST && ($_POST['subject']=="" && $_POST['system']=="")) { 307 if ($_POST && ($_POST['subject']=="" && $_POST['system']=="")) {
308 $form_error = true; 308 $form_error = true;
309 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'create.php'); 309 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'create.php');
310 } else { 310 } else {
311 if ($validation->run() == TRUE) { 311 if ($validation->run() == TRUE) {
312 312
313 // ok, so now we need to create the notification. 313 // ok, so now we need to create the notification.
314 class postTemplate { 314 class postTemplate {
315 var $post_title = ''; 315 var $post_title = '';
316 var $post_content = ''; 316 var $post_content = '';
317 var $post_status = 'publish'; 317 var $post_status = 'publish';
318 var $post_type = 'notifications'; 318 var $post_type = 'notifications';
319 var $comment_status = 'closed'; 319 var $comment_status = 'closed';
320 } 320 }
321 321
322 //details 322 //details
323 $type = $_POST['type']; 323 $type = $_POST['type'];
324 $title = $_POST['title']; 324 $title = $_POST['title'];
325 $sendto = $_POST['sendto']; 325 $sendto = $_POST['sendto'];
326 $execute_date = ($type=="scheduled") ? $_POST['execute_date'] : "0000-00-00 00:00:00"; 326 $execute_date = ($type=="scheduled") ? $_POST['execute_date'] : "0000-00-00 00:00:00";
327 $trigger = ($type=="scheduled") ? "scheduled-cron-job" : $_POST['trigger']; 327 $trigger = ($type=="scheduled") ? "scheduled-cron-job" : $_POST['trigger'];
328 328
329 // email 329 // email
330 $subject = $_POST['subject']; 330 $subject = $_POST['subject'];
331 $text = $_POST['text']; 331 $text = $_POST['text'];
332 $html = $_POST['html']; 332 $html = $_POST['html'];
333 $attachments = array(); 333 $attachments = array();
334 $upload_dir = __DIR__ . "/uploads/"; 334 $upload_dir = __DIR__ . "/uploads/";
335 fixFilesArray($_FILES['attachment']); 335 fixFilesArray($_FILES['attachment']);
336 foreach ($_FILES['attachment'] as $position => $file) { 336 foreach ($_FILES['attachment'] as $position => $file) {
337 // should output array with indices name, type, tmp_name, error, size 337 // should output array with indices name, type, tmp_name, error, size
338 if($file['name'] != "") { 338 if($file['name'] != "") {
339 move_uploaded_file($file['tmp_name'],$upload_dir . $file['name']); 339 move_uploaded_file($file['tmp_name'],$upload_dir . $file['name']);
340 $attachments[] = $file['name']; 340 $attachments[] = $file['name'];
341 } 341 }
342 } 342 }
343 343
344 // system 344 // system
345 $system_message_type = $_POST['system_message_type']; 345 $system_message_type = $_POST['system_message_type'];
346 $system = $_POST['system']; 346 $system = $_POST['system'];
347 347
348 348
349 349
350 350
351 // make post... 351 // make post...
352 352
353 $notification = new postTemplate(); 353 $notification = new postTemplate();
354 $notification->post_title = $title; 354 $notification->post_title = $title;
355 $notification->post_content = "Notification created ".date('Y-m-d H:i:s')." --- to be sent on $execute_date"; 355 $notification->post_content = "Notification created ".date('Y-m-d H:i:s')." --- to be sent on $execute_date";
356 $notification->post_date_gmt = date("Y-m-d H:i:s",time()); 356 $notification->post_date_gmt = date("Y-m-d H:i:s",time());
357 357
358 $id = wp_insert_post($notification); 358 $id = wp_insert_post($notification);
359 359
360 update_post_meta($id, 'notif_type', $type); 360 update_post_meta($id, 'notif_type', $type);
361 update_post_meta($id, 'execute_date', mysqldatetime_to_timestamp($execute_date)); 361 update_post_meta($id, 'execute_date', mysqldatetime_to_timestamp($execute_date));
362 update_post_meta($id, 'trigger', $trigger); 362 update_post_meta($id, 'trigger', $trigger);
363 363
364 add_post_meta($id, "details", array( 364 add_post_meta($id, "details", array(
365 'type' => $type 365 'type' => $type
366 , 'sendto' => $sendto 366 , 'sendto' => $sendto
367 , 'status' => 'pending' 367 , 'status' => 'pending'
368 , 'trigger' => $trigger 368 , 'trigger' => $trigger
369 , 'execute_date' => $execute_date 369 , 'execute_date' => $execute_date
370 )); 370 ));
371 371
372 update_post_meta($id,'send_status','pending'); 372 update_post_meta($id,'send_status','pending');
373 373
374 add_post_meta($id, "email", array( 374 add_post_meta($id, "email", array(
375 'subject' => $subject 375 'subject' => $subject
376 , 'text' => $text 376 , 'text' => $text
377 , 'html' => $html 377 , 'html' => $html
378 , 'attachments' => $attachments 378 , 'attachments' => $attachments
379 )); 379 ));
380 update_post_meta($id, "system", array( 380 update_post_meta($id, "system", array(
381 'system_message_type' => $system_message_type 381 'system_message_type' => $system_message_type
382 , 'message' => $system 382 , 'message' => $system
383 )); 383 ));
384 384
385 $flash = "<strong>Notification Saved Successfully!</strong><br /><a href='/wp-admin/admin.php?page=notifications'>Click here</a> to view all notifications.</a>"; 385 $flash = "<strong>Notification Saved Successfully!</strong><br /><a href='/wp-admin/admin.php?page=notifications'>Click here</a> to view all notifications.</a>";
386 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'create.php'); 386 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'create.php');
387 387
388 } else { 388 } else {
389 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'create.php'); 389 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'create.php');
390 } 390 }
391 } 391 }
392 392
393 393
394 } 394 }
395 395
396 class Actions { 396 class Actions {
397 397
398 public static function init() { 398 public static function init() {
399 global $wpdb; 399 global $wpdb;
400 $wpdb->show_errors(); 400 $wpdb->show_errors();
401 401
402 register_post_type( 'notifications', array( 402 register_post_type( 'notifications', array(
403 'label' => __('Notifs') 403 'label' => __('Notifs')
404 , 'public' => true 404 , 'public' => true
405 , 'show_ui' => false 405 , 'show_ui' => false
406 , 'hierarchical' => false 406 , 'hierarchical' => false
407 , 'exclude_from_search' => true 407 , 'exclude_from_search' => true
408 )); 408 ));
409 409
410 } 410 }
411 411
412 public static function admin_menu() { 412 public static function admin_menu() {
413 add_menu_page('Notifications','Notifications',CAPABILITY,'notifications',__NAMESPACE__ . '\display_page' ); 413 add_menu_page('Notifications','Notifications',CAPABILITY,'notifications',__NAMESPACE__ . '\display_page' );
414 add_submenu_page('notifications','New Notification', 'New Notification',CAPABILITY,'notifications-create-new',__NAMESPACE__ . '\create_notification'); 414 add_submenu_page('notifications','New Notification', 'New Notification',CAPABILITY,'notifications-create-new',__NAMESPACE__ . '\create_notification');
415 //add_options_page('CAN-SPAM Settings', 'CAN-SPAM Settings', CAPABILITY, ADMIN_PAGE, __NAMESPACE__ . '\notification_settings'); 415 //add_options_page('CAN-SPAM Settings', 'CAN-SPAM Settings', CAPABILITY, ADMIN_PAGE, __NAMESPACE__ . '\notification_settings');
416 //add_submenu_page('notifications','CAN-SPAM Settings', 'CAN-SPAM Settings',CAPABILITY,'notifications-settings',__NAMESPACE__ . '\notification_settings'); 416 //add_submenu_page('notifications','CAN-SPAM Settings', 'CAN-SPAM Settings',CAPABILITY,'notifications-settings',__NAMESPACE__ . '\notification_settings');
417 } 417 }
418 418
419 public function admin_init() { 419 public function admin_init() {
420 // register_setting(Notifications\OPTION_NAME, Notifications\OPTION_NAME); 420 // register_setting(Notifications\OPTION_NAME, Notifications\OPTION_NAME);
421 register_setting(SETTING_NS, SETTING_NS); 421 register_setting(SETTING_NS, SETTING_NS);
422 } 422 }
423 423
424 } 424 }
425 425
426 class Vars { 426 class Vars {
427 public static $settings; 427 public static $settings;
428 } 428 }
429 429
430 430
431 ?> 431 ?>
...\ No newline at end of file ...\ No newline at end of file
......
1 <?php 1 <?php
2 namespace Tz\WordPress\Tools\Notifications; 2 namespace Tz\WordPress\Tools\Notifications;
3 3
4 use Tz\Common; 4 use Tz\Common;
5 use Tz\WordPress\Tools; 5 use Tz\WordPress\Tools;
6 use Tz\WordPress\Tools\Sequencer; 6 use Tz\WordPress\Tools\Sequencer;
7 use Tz\WordPress\CBV; 7 use Tz\WordPress\CBV;
8 use Tz\WordPress\CBV\User; 8 use Tz\WordPress\CBV\User;
9 use WP_User; 9 use WP_User;
10 use Exception, StdClass; 10 use Exception, StdClass;
11 11
12 12
13 const OPTION_NAME = "notif_options"; 13 const OPTION_NAME = "notif_options";
14 14
15 call_user_func(function() { 15 call_user_func(function() {
16 Tools\add_actions(__NAMESPACE__ . '\Actions'); 16 Tools\add_actions(__NAMESPACE__ . '\Actions');
17 Vars::$options = new Tools\WP_Option(OPTION_NAME); 17 Vars::$options = new Tools\WP_Option(OPTION_NAME);
18 Vars::$notices = Array(); 18 Vars::$notices = Array();
19 if (is_admin()) { 19 if (is_admin()) {
20 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'Validation.php'); 20 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'Validation.php');
21 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'Admin.php'); 21 require_once(__DIR__ . DIRECTORY_SEPARATOR . 'Admin.php');
22 } 22 }
23 }); 23 });
24 24
25 25
26 function subval_sort($a,$subkey,$sort) { 26 function subval_sort($a,$subkey,$sort) {
27 foreach($a as $k=>$v) { 27 foreach($a as $k=>$v) {
28 $b[$k] = strtolower($v[$subkey]); 28 $b[$k] = strtolower($v[$subkey]);
29 } 29 }
30 $sort($b); 30 $sort($b);
31 foreach($b as $key=>$val) { 31 foreach($b as $key=>$val) {
32 $c[] = $a[$key]; 32 $c[] = $a[$key];
33 } 33 }
34 return $c; 34 return $c;
35 } 35 }
36 36
37 function get_user_notices($uid) { 37 function get_user_notices($uid) {
38 $notices = get_user_meta($uid,'notices',true); 38 $notices = get_user_meta($uid,'notices',true);
39 if(!empty($notices)) { 39 if(!empty($notices)) {
40 40
41 $notices = subval_sort($notices,'sent_date','arsort'); 41 $notices = subval_sort($notices,'sent_date','arsort');
42 Vars::$notices = $notices; 42 Vars::$notices = $notices;
43 } 43 }
44 } 44 }
45 45
46 function print_user_notices($show_more = true) { 46 function print_user_notices($show_more = true) {
47 47
48 $user = new User\CurrentAccount(); 48 $user = new User\CurrentAccount();
49 49
50 get_user_notices($user->ID); 50 get_user_notices($user->ID);
51 51
52 52
53 if (CBV\on_page('/dashboard')) { 53 if (CBV\on_page('/dashboard')) {
54 $limit = 5; 54 $limit = 5;
55 } else { 55 } else {
56 $limit = 10; 56 $limit = 10;
57 } 57 }
58 58
59 $notices = Vars::$notices; 59 $notices = Vars::$notices;
60 $total_rows = count($notices); 60 $total_rows = count($notices);
61 $next_id = isset($_POST['last_id']) ? ($_POST['last_id']+1) : 0; 61 $next_id = isset($_POST['last_id']) ? ($_POST['last_id']+1) : 0;
62 $end = (($next_id + $limit) < $total_rows) ? ($next_id + $limit) : $total_rows; 62 $end = (($next_id + $limit) < $total_rows) ? ($next_id + $limit) : $total_rows;
63 63
64 64
65 if (count($notices) < 1) { 65 if (count($notices) < 1) {
66 //print '<tr><td colspan="3">You have no new notices.</td></tr>'; 66 //print '<tr><td colspan="3">You have no new notices.</td></tr>';
67 } 67 }
68 68
69 $rows = ""; 69 $rows = "";
70 70
71 $last_id = 0; 71 $last_id = 0;
72 for($i = 0; $i < $total_rows; $i++) { 72 for($i = 0; $i < $total_rows; $i++) {
73 73
74 $the_notice = get_post($notices[$i]['notification_id']); 74 $the_notice = get_post($notices[$i]['notification_id']);
75 $system = get_post_meta($notices[$i]['notification_id'],'system',true); 75 $system = get_post_meta($notices[$i]['notification_id'],'system',true);
76 $content = $system['message']; 76 $content = $system['message'];
77 $id = $the_notice->ID; 77 $id = $the_notice->ID;
78 78
79 if (isset($notices[$i]['args']) && count($notices[$i]['args']) > 0): 79 if (isset($notices[$i]['args']) && count($notices[$i]['args']) > 0):
80 foreach($notices[$i]['args'] as $key => $val) { 80 foreach($notices[$i]['args'] as $key => $val) {
81 if (filter_var($val, FILTER_VALIDATE_URL) !== false) { 81 if (filter_var($val, FILTER_VALIDATE_URL) !== false) {
82 $content = str_replace("{".$key."}","<a href='".$val."'>Click here</a>",$content); 82 $content = str_replace("{".$key."}","<a href='".$val."'>Click here</a>",$content);
83 } else { 83 } else {
84 $content = str_replace("{".$key."}",$val,$content); 84 $content = str_replace("{".$key."}",$val,$content);
85 } 85 }
86 } 86 }
87 endif; 87 endif;
88 88
89 $rows .= '<tr class="notice-row" id="'.$i.'">'; 89 $rows .= '<tr class="notice-row" id="'.$i.'">';
90 if ($notices[$i]['status']=="unread") { 90 if ($notices[$i]['status']=="unread") {
91 $rows .= '<td width="12" style="padding:0;padding-left:10px;vertical-align:middle;"><a href="#" class="notice '.(($notices[$i]['status']=="read") ? 'read' : 'unread').'"><img src="assets/images/blank.gif" width="12" height="12" /></a></td>'; 91 $rows .= '<td width="12" style="padding:0;padding-left:10px;vertical-align:middle;"><a href="#" class="notice '.(($notices[$i]['status']=="read") ? 'read' : 'unread').'"><img src="assets/images/blank.gif" width="12" height="12" /></a></td>';
92 } else { 92 } else {
93 $rows .= '<td width="12" style="padding:0;padding-left:10px;vertical-align:middle;"><img src="assets/images/blank.gif" width="12" height="12" /></td>'; 93 $rows .= '<td width="12" style="padding:0;padding-left:10px;vertical-align:middle;"><img src="assets/images/blank.gif" width="12" height="12" /></td>';
94 } 94 }
95 /* 95 /*
96 if($system['system_message_type']=="none"): 96 if($system['system_message_type']=="none"):
97 $rows .= '<td colspan="2" style="vertical-align:middle;">'.nl2br($content).'<br /><span class="legal">Sent: '.date("M j, Y @ h:ia",$notices[$i]['sent_date']).'</span></td>'; 97 $rows .= '<td colspan="2" style="vertical-align:middle;">'.nl2br($content).'<br /><span class="legal">Sent: '.date("M j, Y @ h:ia",$notices[$i]['sent_date']).'</span></td>';
98 else: 98 else:
99 */ 99 */
100 if ($system['system_message_type'] == "none") { 100 if ($system['system_message_type'] == "none") {
101 $system['system_message_type'] = "notice"; 101 $system['system_message_type'] = "notice";
102 } 102 }
103 103
104 $rows .= '<td width="80" style="vertical-align:middle;"><span>'.ucfirst(str_replace("_","&nbsp;",$system['system_message_type'])).'</span></td>'; 104 $rows .= '<td width="80" style="vertical-align:middle;"><span>'.ucfirst(str_replace("_","&nbsp;",$system['system_message_type'])).'</span></td>';
105 $rows .= '<td style="vertical-align:middle;">'.nl2br($content).'<br /><span class="legal">Sent: '.date("M j, Y @ h:ia",$notices[$i]['sent_date']).'</span></td>'; 105 $rows .= '<td style="vertical-align:middle;">'.nl2br($content).'<br /><span class="legal">Sent: '.date("M j, Y @ h:ia",$notices[$i]['sent_date']).'</span></td>';
106 /*endif;*/ 106 /*endif;*/
107 $rows .= '</tr>'; 107 $rows .= '</tr>';
108 $last_id = $i; 108 $last_id = $i;
109 109
110 } 110 }
111 111
112 if ($end < $total_rows && CBV\on_page('/notices')) { 112 if ($end < $total_rows && CBV\on_page('/notices')) {
113 //$rows .= '<tr id="TzMoreRows"><td colspan="4"><a onclick="return false;" class="load_more_notices" id="'.$last_id.'" href="#">Show more...</a></td></tr>'; 113 //$rows .= '<tr id="TzMoreRows"><td colspan="4"><a onclick="return false;" class="load_more_notices" id="'.$last_id.'" href="#">Show more...</a></td></tr>';
114 } 114 }
115 115
116 if(isset($_POST['ajax'])) { 116 if(isset($_POST['ajax'])) {
117 die($rows); 117 die($rows);
118 } else { 118 } else {
119 print $rows; 119 print $rows;
120 } 120 }
121 121
122 122
123 } 123 }
124 124
125 125
126 function get_notification_by_trigger($trigger) { 126 function get_notification_by_trigger($trigger) {
127 $args = array( 127 $args = array(
128 'post_type' => 'notifications' 128 'post_type' => 'notifications'
129 , 'numberposts' => -1 129 , 'numberposts' => -1
130 , 'orderby' => 'modified' 130 , 'orderby' => 'modified'
131 , 'order' => 'desc' 131 , 'order' => 'desc'
132 ); 132 );
133 133
134 $my_notif = false; 134 $my_notif = false;
135 135
136 foreach(get_posts($args) as $entry) { 136 foreach(get_posts($args) as $entry) {
137 $details = get_post_meta($entry->ID,'details',true); 137 $details = get_post_meta($entry->ID,'details',true);
138 if ($details['type']=="triggered" && $details['trigger'] == $trigger) { 138 if ($details['type']=="triggered" && $details['trigger'] == $trigger) {
139 $my_notif = $entry; 139 $my_notif = $entry;
140 break; 140 break;
141 } 141 }
142 } 142 }
143 143
144 return $my_notif; 144 return $my_notif;
145 145
146 } 146 }
147 147
148 /** 148 /**
149 * GET NUMBER OF NEW NOTICES 149 * GET NUMBER OF NEW NOTICES
150 @returns (Int) 150 @returns (Int)
151 */ 151 */
152 function get_num_notices() { 152 function get_num_notices() {
153 // get number of notices for this user that are new... 153 // get number of notices for this user that are new...
154 $user = new User\CurrentAccount(); 154 $user = new User\CurrentAccount();
155 155
156 get_user_notices($user->ID); 156 get_user_notices($user->ID);
157 $notices = Vars::$notices; 157 $notices = Vars::$notices;
158 $notifications = array(); 158 $notifications = array();
159 // return $num; 159 // return $num;
160 if(empty($notices)) { 160 if(empty($notices)) {
161 return 0; 161 return 0;
162 } else { 162 } else {
163 foreach($notices as $notice) { 163 foreach($notices as $notice) {
164 if ($notice['status']=="unread") { 164 if ($notice['status']=="unread") {
165 $notifications[] = $notice; 165 $notifications[] = $notice;
166 } 166 }
167 } 167 }
168 } 168 }
169 return count($notifications); 169 return count($notifications);
170 } 170 }
171 171
172 function remove_notice($notification_id = -1) { 172 function remove_notice($notification_id = -1) {
173 get_user_notices(Tools\getCurrentUser()->ID); 173 get_user_notices(Tools\getCurrentUser()->ID);
174 $notices = Vars::$notices; 174 $notices = Vars::$notices;
175 if (!empty($notices)) { 175 if (!empty($notices)) {
176 foreach($notices as $id => $notice) { 176 foreach($notices as $id => $notice) {
177 if ($id==$notification_id) { 177 if ($id==$notification_id) {
178 $notices[$id]['status']="read"; 178 $notices[$id]['status']="read";
179 break; 179 break;
180 } 180 }
181 } 181 }
182 } 182 }
183 update_user_meta(Tools\getCurrentUser()->ID,'notices',$notices); 183 update_user_meta(Tools\getCurrentUser()->ID,'notices',$notices);
184 } 184 }
185 185
186 /** 186 /**
187 Send Notifications 187 Send Notifications
188 @trigger = notification unique slug name 188 @trigger = notification unique slug name
189 */ 189 */
190 function send_triggered_notification($uid = 0,$trigger="NO_TRIGGER",$args = array(),$send_override = false) { 190 function send_triggered_notification($uid = 0,$trigger="NO_TRIGGER",$args = array(),$send_override = false) {
191 global $wpdb; 191 global $wpdb;
192 $notification = get_notification_by_trigger($trigger); 192 $notification = get_notification_by_trigger($trigger);
193 193
194 if($notification) { 194 if($notification) {
195 // get the notification and notificatio details.... 195 // get the notification and notificatio details....
196 $nid = $notification->ID; 196 $nid = $notification->ID;
197 $details = get_post_meta($nid,'details',true); 197 $details = get_post_meta($nid,'details',true);
198 $email = get_post_meta($nid,'email',true); 198 $email = get_post_meta($nid,'email',true);
199 $system = get_post_meta($nid,'system',true); 199 $system = get_post_meta($nid,'system',true);
200 200
201 $notification->trigger = $details['trigger']; 201 $notification->trigger = $details['trigger'];
202 $notification->status = isset($details['status']) ? $details['status'] : "active"; 202 $notification->status = isset($details['status']) ? $details['status'] : "active";
203 $notification->type = $details['type']; 203 $notification->type = $details['type'];
204 $notification->sendto = $details['sendto']; 204 $notification->sendto = $details['sendto'];
205 $notification->is_email = (($email['text'] != "" || $email['html'] != "") && $email['subject'] != "") ? true : false; 205 $notification->is_email = (($email['text'] != "" || $email['html'] != "") && $email['subject'] != "") ? true : false;
206 $notification->is_system = (isset($system['message']) && $system['message'] != "") ? true : false; 206 $notification->is_system = (isset($system['message']) && $system['message'] != "") ? true : false;
207 207
208 // if is_system ========================================== 208 // if is_system ==========================================
209 if ($notification->is_system && $uid != 0) { 209 if ($notification->is_system && $uid != 0) {
210 get_user_notices($uid); 210 get_user_notices($uid);
211 $notices = Vars::$notices; 211 $notices = Vars::$notices;
212 212
213 $insert = array( 213 $insert = array(
214 'notification_id' => $nid 214 'notification_id' => $nid
215 , 'status' => 'unread' 215 , 'status' => 'unread'
216 , 'sent_date' => current_time('timestamp') 216 , 'sent_date' => current_time('timestamp')
217 , 'args' => $args 217 , 'args' => $args
218 ); 218 );
219 if(empty($notices)) { 219 if(empty($notices)) {
220 $notices = array(); 220 $notices = array();
221 } 221 }
222 222
223 $sequence = Sequencer\generate('NTC'); 223 $sequence = Sequencer\generate('NTC');
224 224
225 $notices[$sequence] = $insert; 225 $notices[$sequence] = $insert;
226 226
227 227
228 update_user_meta($uid,'notices',$notices); 228 update_user_meta($uid,'notices',$notices);
229 } 229 }
230 230
231 // if is_email =========================================== 231 // if is_email ===========================================
232 if ($notification->is_email) { 232 if ($notification->is_email) {
233 233
234 if ($uid == 0 && !isset($args['email'])) { 234 if ($uid == 0 && !isset($args['email'])) {
235 return; 235 return;
236 } elseif ( $uid == 0 && isset($args['email']) ) { 236 } elseif ( $uid == 0 && isset($args['email']) ) {
237 $to_email = $args['email']; 237 $to_email = $args['email'];
238 } else { 238 } else {
239 239
240 $user = new User\Account($uid); 240 $user = new User\Account($uid);
241 $email_address_preference = get_user_meta($user->ID, 'email_address_preference', true); 241 $email_address_preference = get_user_meta($user->ID, 'email_address_preference', true);
242 if (empty($email_address_preference)) { 242 if (empty($email_address_preference)) {
243 $to_email = $user->user_email; 243 $to_email = $user->user_email;
244 } else { 244 } else {
245 245
246 $pp = strtolower($email_address_preference)."_"; 246 $pp = strtolower($email_address_preference)."_";
247 $to_email = get_user_meta($user->ID, $pp.'email', true); 247 $to_email = get_user_meta($user->ID, $pp.'email', true);
248 248
249 if (empty($to_email)) { 249 if (empty($to_email)) {
250 $to_email = $user->user_email; 250 $to_email = $user->user_email;
251 } 251 }
252 } 252 }
253 } 253 }
254 254
255 $contents = $email; 255 $contents = $email;
256 256
257 $from_email = get_bloginfo('admin_email'); 257 $from_email = get_bloginfo('admin_email');
258 $subject = strip_tags($contents['subject']); 258 $subject = strip_tags($contents['subject']);
259 $html = $contents['html']; 259 $html = $contents['html'];
260 $alttext = strip_tags($contents['text']); 260 $alttext = strip_tags($contents['text']);
261 261
262 foreach($args as $key => $val) { 262 foreach($args as $key => $val) {
263 if ( (filter_var($val, FILTER_VALIDATE_URL) !== false) && !empty($html)) { 263 if ( (filter_var($val, FILTER_VALIDATE_URL) !== false) && !empty($html)) {
264 $html = str_replace("{".$key."}","<a href='".$val."'>".$val."</a>",$html); 264 $html = str_replace("{".$key."}","<a href='".$val."'>".$val."</a>",$html);
265 } else { 265 } else {
266 $html = str_replace("{".$key."}", $val, $html); 266 $html = str_replace("{".$key."}", $val, $html);
267 $alttext = str_replace("{".$key."}", $val, $alttext); 267 $alttext = str_replace("{".$key."}", $val, $alttext);
268 $subject = str_replace("{".$key."}", $val, $subject); 268 $subject = str_replace("{".$key."}", $val, $subject);
269 } 269 }
270 } 270 }
271 271
272 $attachments = array(); 272 $attachments = array();
273 if (isset($contents['attachments'])) { 273 if (isset($contents['attachments'])) {
274 $attachments = $contents['attachments']; 274 $attachments = $contents['attachments'];
275 } 275 }
276 276
277 $att1 = isset($attachments[0]) ? $attachments[0] : ''; 277 $att1 = isset($attachments[0]) ? $attachments[0] : '';
278 $att2 = isset($attachments[1]) ? $attachments[1] : ''; 278 $att2 = isset($attachments[1]) ? $attachments[1] : '';
279 $att3 = isset($attachments[2]) ? $attachments[2] : ''; 279 $att3 = isset($attachments[2]) ? $attachments[2] : '';
280 280
281 $wpdb->query("INSERT INTO wp_mail_daemon (notification_id,from_email,to_email,subject,text,html,attachment1,attachment2,attachment3,sent,sent_date) VALUES ($nid,'$from_email','$to_email','$subject','$alttext','$html','$att1','$att2','$att3',0,'')"); 281 $wpdb->query("INSERT INTO wp_mail_daemon (notification_id,from_email,to_email,subject,text,html,attachment1,attachment2,attachment3,sent,sent_date) VALUES ($nid,'$from_email','$to_email','$subject','$alttext','$html','$att1','$att2','$att3',0,'')");
282 282
283 //send_email($uid,$email,$args, true); 283 //send_email($uid,$email,$args, true);
284 } 284 }
285 } 285 }
286 // if the system notification has set current user than get current user otherwise loop through the users needed. 286 // if the system notification has set current user than get current user otherwise loop through the users needed.
287 } 287 }
288 288
289 function send_email($uid = 0, $contents,$args, $override = false) { 289 function send_email($uid = 0, $contents,$args, $override = false) {
290 if ( $uid == 0 && !isset($args['email'])) { return; } 290 if ( $uid == 0 && !isset($args['email'])) { return; }
291 291
292 if ( isset($args['email'])) { 292 if ( isset($args['email'])) {
293 $to_email = $args['email']; 293 $to_email = $args['email'];
294 } else { 294 } else {
295 $user = new WP_User($uid); 295 $user = new WP_User($uid);
296 296
297 $email_address_preference = get_user_meta($user->ID, 'email_address_preference', true); 297 $email_address_preference = get_user_meta($user->ID, 'email_address_preference', true);
298 if (empty($email_address_preference)) { 298 if (empty($email_address_preference)) {
299 $to_email = $user->user_email; 299 $to_email = $user->user_email;
300 } else { 300 } else {
301 301
302 $pp = strtolower($email_address_preference)."_"; 302 $pp = strtolower($email_address_preference)."_";
303 $to_email = get_user_meta($user->ID, $pp.'email', true); 303 $to_email = get_user_meta($user->ID, $pp.'email', true);
304 304
305 if (empty($to_email)) { 305 if (empty($to_email)) {
306 $to_email = $user->user_email; 306 $to_email = $user->user_email;
307 } 307 }
308 } 308 }
309 309
310 } 310 }
311 311
312 $from_address = get_bloginfo('admin_email'); 312 $from_address = get_bloginfo('admin_email');
313 313
314 $subject = strip_tags($contents['subject']); 314 $subject = strip_tags($contents['subject']);
315 $html = $contents['html']; 315 $html = $contents['html'];
316 $alttext = $contents['text']; 316 $alttext = $contents['text'];
317 317
318 $headers = ""; 318 $headers = "";
319 319
320 if (empty($html)) { 320 if (empty($html)) {
321 $message = $alttext; 321 $message = $alttext;
322 $message = strip_tags($message); 322 $message = strip_tags($message);
323 // it's text based only... no need to check format preference. 323 // it's text based only... no need to check format preference.
324 } else { 324 } else {
325 $message = $html; 325 $message = $html;
326 $headers .= 'MIME-Version: 1.0' . "\r\n"; 326 $headers .= 'MIME-Version: 1.0' . "\r\n";
327 $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 327 $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
328 328
329 // it's HTML formatted. 329 // it's HTML formatted.
330 // Check user preference if they want Text ONly?? 330 // Check user preference if they want Text ONly??
331 } 331 }
332 332
333 foreach($args as $key => $val) { 333 foreach($args as $key => $val) {
334 if ( (filter_var($val, FILTER_VALIDATE_URL) !== false) && !empty($html)) { 334 if ( (filter_var($val, FILTER_VALIDATE_URL) !== false) && !empty($html)) {
335 $message = str_replace("{".$key."}","<a href='".$val."'>".$val."</a>",$message); 335 $message = str_replace("{".$key."}","<a href='".$val."'>".$val."</a>",$message);
336 } else { 336 } else {
337 $message = str_replace("{".$key."}", $val, $message); 337 $message = str_replace("{".$key."}", $val, $message);
338 $subject = str_replace("{".$key."}", $val, $subject); 338 $subject = str_replace("{".$key."}", $val, $subject);
339 } 339 }
340 } 340 }
341 341
342 // Additional headers 342 // Additional headers
343 //$headers .= 'To: '.$to_email.' <'.$to_email.'>' . "\r\n"; 343 //$headers .= 'To: '.$to_email.' <'.$to_email.'>' . "\r\n";
344 $headers .= 'From: CICBV <'.$from_address.'>' . "\r\n"; 344 $headers .= 'From: CICBV <'.$from_address.'>' . "\r\n";
345 345
346 //die("To: $to_email, Subject: $subject, Message: $message, Header: $headers"); 346 //die("To: $to_email, Subject: $subject, Message: $message, Header: $headers");
347 347
348 mail($to_email, $subject, $message, $headers); 348 mail($to_email, $subject, $message, $headers);
349 349
350 350
351 } 351 }
352 352
353 function getGroups($grpID=0) { 353 function getGroups($grpID=0) {
354 global $userAccessManager; 354 global $userAccessManager;
355 355
356 $groups = array(); 356 $groups = array();
357 if($grpID > 0) { 357 if($grpID > 0) {
358 $userGroups = $userAccessManager->getAccessHandler()->getUserGroups($grpID); 358 $userGroups = $userAccessManager->getAccessHandler()->getUserGroups($grpID);
359 return $userGroups->getGroupName(); 359 return $userGroups->getGroupName();
360 } else { 360 } else {
361 $userGroups = $userAccessManager->getAccessHandler()->getUserGroups(); 361 $userGroups = $userAccessManager->getAccessHandler()->getUserGroups();
362 } 362 }
363 foreach($userGroups as $group) { 363 foreach($userGroups as $group) {
364 $groups[$group->getId()] = $group->getGroupName(); 364 $groups[$group->getId()] = $group->getGroupName();
365 } 365 }
366 return $groups; 366 return $groups;
367 } 367 }
368 368
369 function get_field_lookup($var) { 369 function get_field_lookup($var) {
370 return isset(Vars::$field_lookup[$var]) ? Vars::$field_lookup[$var] : $var; 370 return isset(Vars::$field_lookup[$var]) ? Vars::$field_lookup[$var] : $var;
371 } 371 }
372 372
373 373
374 374
375 function current_url() { 375 function current_url() {
376 $pageURL = 'http'; 376 $pageURL = 'http';
377 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} 377 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
378 $pageURL .= "://"; 378 $pageURL .= "://";
379 if ($_SERVER["SERVER_PORT"] != "80") { 379 if ($_SERVER["SERVER_PORT"] != "80") {
380 $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 380 $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
381 } else { 381 } else {
382 $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 382 $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
383 } 383 }
384 return $pageURL; 384 return $pageURL;
385 } 385 }
386 386
387 class Actions { 387 class Actions {
388 public static function wp_ajax_update_notification_count() { 388 public static function wp_ajax_update_notification_count() {
389 $count = get_num_notices(); 389 $count = get_num_notices();
390 $return = array('count'=>$count); 390 $return = array('count'=>$count);
391 die(json_encode($return)); 391 die(json_encode($return));
392 } 392 }
393 393
394 public static function wp_ajax_mark_read() { 394 public static function wp_ajax_mark_read() {
395 remove_notice($_POST['index']); 395 remove_notice($_POST['index']);
396 } 396 }
397 397
398 public static function wp_ajax_print_user_notices() { 398 public static function wp_ajax_print_user_notices() {
399 print_user_notices(); 399 print_user_notices();
400 } 400 }
401 401
402 public static function wp_ajax_remove_attachment() { 402 public static function wp_ajax_remove_attachment() {
403 $id = $_POST['id']; 403 $id = $_POST['id'];
404 $email = get_post_meta($id,'email',true); 404 $email = get_post_meta($id,'email',true);
405 $attachments = $email['attachments']; 405 $attachments = $email['attachments'];
406 foreach($attachments as $key => $name) { 406 foreach($attachments as $key => $name) {
407 if ($name==$_POST['file']) { 407 if ($name==$_POST['file']) {
408 unset($attachments[$key]); 408 unset($attachments[$key]);
409 } 409 }
410 } 410 }
411 411
412 $email['attachments'] = $attachments; 412 $email['attachments'] = $attachments;
413 413
414 update_post_meta($id, 'email', $email); 414 update_post_meta($id, 'email', $email);
415 415
416 $return = array('success' => 'true'); 416 $return = array('success' => 'true');
417 die(json_encode($return)); 417 die(json_encode($return));
418 418
419 } 419 }
420 420
421 421
422 } 422 }
423 423
424 class Vars { 424 class Vars {
425 public static $notices; 425 public static $notices;
426 public static $options; 426 public static $options;
427 public static $field_lookup = array( 427 public static $field_lookup = array(
428 'allusers' => "All Users" 428 'allusers' => "All Users"
429 , 'report' => "Report" 429 , 'report' => "Report"
430 ); 430 );
431 } 431 }
432 ?> 432 ?>
...\ No newline at end of file ...\ No newline at end of file
......
1 <?php 1 <?php
2 use Tz\WordPress\Tools\Notifications\Settings; 2 use Tz\WordPress\Tools\Notifications\Settings;
3 use Tz\WordPress\Tools\Notifications; 3 use Tz\WordPress\Tools\Notifications;
4 use Tz\WordPress\Tools; 4 use Tz\WordPress\Tools;
5 ?> 5 ?>
6 6
7 <link type="text/css" href="<?php echo Tools\url('assets/css/smoothness/jquery-ui-1.8.4.custom.css', __FILE__)?>" rel="stylesheet" /> 7 <link type="text/css" href="<?php echo Tools\url('assets/css/smoothness/jquery-ui-1.8.4.custom.css', __FILE__)?>" rel="stylesheet" />
8 <script type="text/javascript" src="<?php echo Tools\url('assets/scripts/jquery-1.4.2.min.js', __FILE__)?>"></script> 8 <script type="text/javascript" src="<?php echo Tools\url('assets/scripts/jquery-1.4.2.min.js', __FILE__)?>"></script>
9 <script type="text/javascript" src="<?php echo Tools\url('assets/scripts/jquery-ui-1.8.4.custom.min.js', __FILE__)?>"></script> 9 <script type="text/javascript" src="<?php echo Tools\url('assets/scripts/jquery-ui-1.8.4.custom.min.js', __FILE__)?>"></script>
10 <script type="text/javascript" src="<?php echo Tools\url('assets/scripts/datetimepicker.js', __FILE__)?>"></script> 10 <script type="text/javascript" src="<?php echo Tools\url('assets/scripts/datetimepicker.js', __FILE__)?>"></script>
11 <link rel="stylesheet" href="<?php echo Tools\url('assets/css/notifications.css', __FILE__)?>" /> 11 <link rel="stylesheet" href="<?php echo Tools\url('assets/css/notifications.css', __FILE__)?>" />
12 12
13 <div id="" class="wrap"> 13 <div id="" class="wrap">
14 14
15 <h2>Notifications - Edit</h2> 15 <h2>Notifications - Edit</h2>
16 16
17 <?php if (isset($flash) && $flash !=""): ?> 17 <?php if (isset($flash) && $flash !=""): ?>
18 <div class="post-success"> 18 <div class="post-success">
19 <?php echo $flash; ?> 19 <?php echo $flash; ?>
20 </div> 20 </div>
21 <?php endif; ?> 21 <?php endif; ?>
22 <?php if($validation->validation_errors() != "" || isset($form_error)):?> 22 <?php if($validation->validation_errors() != "" || isset($form_error)):?>
23 <div class="post-errors"> 23 <div class="post-errors">
24 <div class="post-errors-title"><strong>Oops.</strong> There was an error saving your notification.</div> 24 <div class="post-errors-title"><strong>Oops.</strong> There was an error saving your notification.</div>
25 <?php if (isset($form_error)):?> 25 <?php if (isset($form_error)):?>
26 <p class="post-errors-content">You must include either an Email, System or SMS message.</p> 26 <p class="post-errors-content">You must include either an Email, System or SMS message.</p>
27 <?php endif; ?> 27 <?php endif; ?>
28 </div> 28 </div>
29 <?php endif;?> 29 <?php endif;?>
30 30
31 31
32 32
33 33
34 34
35 <form enctype="multipart/form-data" method="post" action="/wp-admin/admin.php?page=notifications&action=edit&page_id=<?php echo $_GET['page_id']?>"> 35 <form enctype="multipart/form-data" method="post" action="/wp-admin/admin.php?page=notifications&action=edit&page_id=<?php echo $_GET['page_id']?>">
36 36
37 <input type="hidden" name="_POSTED_" value="yes" /> 37 <input type="hidden" name="_POSTED_" value="yes" />
38 38
39 <table cellspacing="0" class="widefat post fixed" style="margin-top:15px;"> 39 <table cellspacing="0" class="widefat post fixed" style="margin-top:15px;">
40 <thead> 40 <thead>
41 <tr> 41 <tr>
42 <th width="150">Notification Details</th> 42 <th width="150">Notification Details</th>
43 <th>&nbsp;</th> 43 <th>&nbsp;</th>
44 </tr> 44 </tr>
45 </thead> 45 </thead>
46 <tbody> 46 <tbody>
47 <tr> 47 <tr>
48 <td width="150">Notification Type</td> 48 <td width="150">Notification Type</td>
49 <td> 49 <td>
50 <select name="type" id="notif_type" class="wide-input-field" onchange="updateNotificationType();"> 50 <select name="type" id="notif_type" class="wide-input-field" onchange="updateNotificationType();">
51 <option value="scheduled" <?php echo ($validation->set_value('type',$entry->details['type'])=="scheduled") ? 'selected="selected"' : "";?>>Scheduled Notification</option> 51 <option value="scheduled" <?php echo ($validation->set_value('type',$entry->details['type'])=="scheduled") ? 'selected="selected"' : "";?>>Scheduled Notification</option>
52 <?php if (current_user_can(Settings\MANAGE_SYSTEM_NOTIFICATIONS) || ($_GET['action']=="edit" && $entry->details['type']=="triggered")): ?> 52 <?php if (current_user_can(Settings\MANAGE_SYSTEM_NOTIFICATIONS) || ($_GET['action']=="edit" && $entry->details['type']=="triggered")): ?>
53 <option value="triggered" <?php echo ($validation->set_value('type',$entry->details['type'])=="triggered") ? 'selected="selected"' : "";?>>System Triggered Notification</option> 53 <option value="triggered" <?php echo ($validation->set_value('type',$entry->details['type'])=="triggered") ? 'selected="selected"' : "";?>>System Triggered Notification</option>
54 <?php endif; ?> 54 <?php endif; ?>
55 </select> 55 </select>
56 <?php echo $validation->form_error('type');?> 56 <?php echo $validation->form_error('type');?>
57 </td> 57 </td>
58 </tr> 58 </tr>
59 <tr> 59 <tr>
60 <td width="150">Notification Description</td> 60 <td width="150">Notification Description</td>
61 <td><input type="text" name="title" class="wide-input-field" value="<?php echo $validation->set_value('title',$entry->post_title);?>" /><?php echo $validation->form_error('title');?></td> 61 <td><input type="text" name="title" class="wide-input-field" value="<?php echo $validation->set_value('title',$entry->post_title);?>" /><?php echo $validation->form_error('title');?></td>
62 </tr> 62 </tr>
63 <tr class="scheduled_sendto"> 63 <tr class="scheduled_sendto">
64 <td>Sent To:</td> 64 <td>Sent To:</td>
65 <td> 65 <td>
66 66
67 <?php 67 <?php
68 if ($entry->details['sendto'] == "report" ): ?> 68 if ($entry->details['sendto'] == "report" ): ?>
69 <input type="hidden" name="sendto" value="<?php echo $entry->details['sendto']; ?>"/> 69 <input type="hidden" name="sendto" value="<?php echo $entry->details['sendto']; ?>"/>
70 &nbsp;<span style="color:#999;"><em>Report Generated</em></span> 70 &nbsp;<span style="color:#999;"><em>Report Generated</em></span>
71 <?php else: ?> 71 <?php else: ?>
72 <select name="sendto" class="wide-input-field"> 72 <select name="sendto" class="wide-input-field">
73 <option value="allusers" <?php echo ($validation->set_value('sendto',$entry->details['sendto'])=="allusers") ? 'selected="selected"' : "";?>>All Users</option> 73 <option value="allusers" <?php echo ($validation->set_value('sendto',$entry->details['sendto'])=="allusers") ? 'selected="selected"' : "";?>>All Users</option>
74 <optgroup label="By Group:"> 74 <optgroup label="By Group:">
75 <?php foreach(Notifications\getGroups() as $group_id => $group_name):?> 75 <?php foreach(Notifications\getGroups() as $group_id => $group_name):?>
76 <option value="<?php echo $group_id?>" <?php echo ($validation->set_value('sendto',$entry->details['sendto'])==$group_id) ? 'selected="selected"' : "";?>><?php echo $group_name;?></option> 76 <option value="<?php echo $group_id?>" <?php echo ($validation->set_value('sendto',$entry->details['sendto'])==$group_id) ? 'selected="selected"' : "";?>><?php echo $group_name;?></option>
77 <?php endforeach; ?> 77 <?php endforeach; ?>
78 </optgroup> 78 </optgroup>
79 </select> 79 </select>
80 <?php endif; ?> 80 <?php endif; ?>
81 81
82 82
83 <?php echo $validation->form_error('sendto');?> 83 <?php echo $validation->form_error('sendto');?>
84 </td> 84 </td>
85 </tr> 85 </tr>
86 86
87 <tr class="scheduled-extended"> 87 <tr class="scheduled-extended">
88 <td>Execute Date / Time</td> 88 <td>Execute Date / Time</td>
89 <td><input type="text" name="execute_date" id="execute_date" class="wide-input-field date-pick" readonly="readonly" value="<?php echo $validation->set_value('execute_date',$entry->details['execute_date']);?>" /><?php echo $validation->form_error('execute_date');?></td> 89 <td><input type="text" name="execute_date" id="execute_date" class="wide-input-field date-pick" readonly="readonly" value="<?php echo $validation->set_value('execute_date',$entry->details['execute_date']);?>" /><?php echo $validation->form_error('execute_date');?></td>
90 </tr> 90 </tr>
91 91
92 <tr class="trigger-extended"> 92 <tr class="trigger-extended">
93 <td>Trigger</td> 93 <td>Trigger</td>
94 <td><input type="text" name="trigger" id="trigger" class="wide-input-field" value="<?php echo $validation->set_value('trigger',$entry->details['trigger']);?>" /><?php echo $validation->form_error('trigger');?></td> 94 <td><input type="text" name="trigger" id="trigger" class="wide-input-field" value="<?php echo $validation->set_value('trigger',$entry->details['trigger']);?>" /><?php echo $validation->form_error('trigger');?></td>
95 </tr> 95 </tr>
96 96
97 </tbody> 97 </tbody>
98 </table> 98 </table>
99 99
100 <table cellspacing="0" class="widefat post fixed expandable" style="margin-top:15px;"> 100 <table cellspacing="0" class="widefat post fixed expandable" style="margin-top:15px;">
101 <thead> 101 <thead>
102 <tr> 102 <tr>
103 <th width="150" class="toggle"><h6>Email</h6></th> 103 <th width="150" class="toggle"><h6>Email</h6></th>
104 <th class="action-bar">&nbsp;</th> 104 <th class="action-bar">&nbsp;</th>
105 </tr> 105 </tr>
106 </thead> 106 </thead>
107 <tbody style="<?php echo ($validation->set_value('subject',$entry->email['subject'])!="" || $validation->set_value('text',$entry->email['text'])!="" || $validation->set_value('html',$entry->email['html'])!="") ? "" : "display:none";?>;"> 107 <tbody style="<?php echo ($validation->set_value('subject',$entry->email['subject'])!="" || $validation->set_value('text',$entry->email['text'])!="" || $validation->set_value('html',$entry->email['html'])!="") ? "" : "display:none";?>;">
108 <tr> 108 <tr>
109 <td width="150">Subject Line</td> 109 <td width="150">Subject Line</td>
110 <td><input type="text" name="subject" class="wide-input-field" style="width:100%;" value="<?php echo $validation->set_value('subject',$entry->email['subject']);?>" /><?php echo $validation->form_error('subject');?></td> 110 <td><input type="text" name="subject" class="wide-input-field" style="width:100%;" value="<?php echo $validation->set_value('subject',$entry->email['subject']);?>" /><?php echo $validation->form_error('subject');?></td>
111 </tr> 111 </tr>
112 <tr> 112 <tr>
113 <td>Text Version</td> 113 <td>Text Version</td>
114 <td><textarea name="text" class="wide-input-field" rows="10" style="width:100%;" ><?php echo $validation->set_value('text',$entry->email['text']);?></textarea><?php echo $validation->form_error('text');?></td> 114 <td><textarea name="text" class="wide-input-field" rows="10" style="width:100%;" ><?php echo $validation->set_value('text',$entry->email['text']);?></textarea><?php echo $validation->form_error('text');?></td>
115 </tr> 115 </tr>
116 <tr> 116 <tr>
117 <td>HTML Version (optional)</td> 117 <td>HTML Version (optional)</td>
118 <td><textarea name="html" id="htmlversion" class="wide-input-field" rows="10" style="width:100%;"><?php echo $validation->set_value('html',$entry->email['html']);?></textarea><?php echo $validation->form_error('html');?></td> 118 <td><textarea name="html" id="htmlversion" class="wide-input-field" rows="10" style="width:100%;"><?php echo $validation->set_value('html',$entry->email['html']);?></textarea><?php echo $validation->form_error('html');?></td>
119 </tr> 119 </tr>
120 120
121 <tr> 121 <tr>
122 <td width="150">Attachments</td> 122 <td width="150">Attachments</td>
123 <td>&nbsp;</td> 123 <td>&nbsp;</td>
124 </tr> 124 </tr>
125 125
126 <?php 126 <?php
127 $attachements = $entry->email['attachments']; 127 $attachements = $entry->email['attachments'];
128 $allowed_attachments = 3; 128 $allowed_attachments = 3;
129 foreach($attachements as $attachment): ?> 129 foreach($attachements as $attachment): ?>
130 <tr> 130 <tr>
131 <td>&nbsp;</td> 131 <td>&nbsp;</td>
132 <td><?php echo $attachment; ?> &nbsp; (<a href="#" entry_id="<?php echo $_GET['page_id']?>" class="attachment" rel="<?php echo $attachment; ?>">remove</a>)</td> 132 <td><?php echo $attachment; ?> &nbsp; (<a href="#" entry_id="<?php echo $_GET['page_id']?>" class="attachment" rel="<?php echo $attachment; ?>">remove</a>)</td>
133 </tr> 133 </tr>
134 <?php $allowed_attachments--; endforeach; ?> 134 <?php $allowed_attachments--; endforeach; ?>
135 135
136 <?php for($a = 1; $a <= $allowed_attachments; $a++): ?> 136 <?php for($a = 1; $a <= $allowed_attachments; $a++): ?>
137 137
138 <tr> 138 <tr>
139 <td>&nbsp;</td> 139 <td>&nbsp;</td>
140 <td><input type="file" name="attachment[]" /></td> 140 <td><input type="file" name="attachment[]" /></td>
141 </tr> 141 </tr>
142 <?php endfor; ?> 142 <?php endfor; ?>
143 143
144 </tbody> 144 </tbody>
145 </table> 145 </table>
146 146
147 <table cellspacing="0" class="widefat post fixed expandable" style="margin-top:15px;"> 147 <table cellspacing="0" class="widefat post fixed expandable" style="margin-top:15px;">
148 <thead> 148 <thead>
149 <tr> 149 <tr>
150 <th width="150" class="toggle"><h6>System Message</h6></th> 150 <th width="150" class="toggle"><h6>System Message</h6></th>
151 <th class="action-bar">&nbsp;</th> 151 <th class="action-bar">&nbsp;</th>
152 </tr> 152 </tr>
153 </thead> 153 </thead>
154 <tbody style="<?php echo ($validation->set_value('system',$entry->system['message'])=="") ? "display:none" : "";?>;"> 154 <tbody style="<?php echo ($validation->set_value('system',$entry->system['message'])=="") ? "display:none" : "";?>;">
155 <tr> 155 <tr>
156 <td>Message Type</td> 156 <td>Message Type</td>
157 <td> 157 <td>
158 <select name="system_message_type" class="wide-input-field"> 158 <select name="system_message_type" class="wide-input-field">
159 <option value="none" <?php echo ($validation->set_value('system_message_type',$entry->system['system_message_type'])=="none") ? 'selected="selected"' : "";?>>General Message</option> 159 <option value="none" <?php echo ($validation->set_value('system_message_type',$entry->system['system_message_type'])=="none") ? 'selected="selected"' : "";?>>General Message</option>
160 <option value="action_required" <?php echo ($validation->set_value('system_message_type',$entry->system['system_message_type'])=="action_required") ? 'selected="selected"' : "";?>>Action Required</option> 160 <option value="action_required" <?php echo ($validation->set_value('system_message_type',$entry->system['system_message_type'])=="action_required") ? 'selected="selected"' : "";?>>Action Required</option>
161 <option value="e-flash" <?php echo ($validation->set_value('system_message_type',$entry->system['system_message_type'])=="e-flash") ? 'selected="selected"' : "";?>>E-Flash</option> 161 <option value="e-flash" <?php echo ($validation->set_value('system_message_type',$entry->system['system_message_type'])=="e-flash") ? 'selected="selected"' : "";?>>E-Flash</option>
162 <option value="new_event" <?php echo ($validation->set_value('system_message_type',$entry->system['system_message_type'])=="new_event") ? 'selected="selected"' : "";?>>New Event</option> 162 <option value="new_event" <?php echo ($validation->set_value('system_message_type',$entry->system['system_message_type'])=="new_event") ? 'selected="selected"' : "";?>>New Event</option>
163 </select> 163 </select>
164 </td> 164 </td>
165 </tr> 165 </tr>
166 <tr> 166 <tr>
167 <td>Message (Text/HTML)</td> 167 <td>Message (Text/HTML)</td>
168 <td><textarea name="system" class="wide-input-field" rows="4" style="width:100%;" ><?php echo $validation->set_value('system',isset($entry->system['message']) ? $entry->system['message'] : "");?></textarea><?php echo $validation->form_error('system');?></td> 168 <td><textarea name="system" class="wide-input-field" rows="4" style="width:100%;" ><?php echo $validation->set_value('system',isset($entry->system['message']) ? $entry->system['message'] : "");?></textarea><?php echo $validation->form_error('system');?></td>
169 </tr> 169 </tr>
170 </tbody> 170 </tbody>
171 </table> 171 </table>
172 172
173 173
174 174
175 <p> 175 <p>
176 <input type="submit" value=" Update " /><input type="button" value=" Cancel " onclick="document.location.href='/wp-admin/admin.php?page=notifications';" /> 176 <input type="submit" value=" Update " /><input type="button" value=" Cancel " onclick="document.location.href='/wp-admin/admin.php?page=notifications';" />
177 </p> 177 </p>
178 178
179 </form> 179 </form>
180 180
181 </div> 181 </div>
182 182
183 <script type="text/javascript"> 183 <script type="text/javascript">
184 184
185 185
186 jQuery(document).ready(function($) { 186 jQuery(document).ready(function($) {
187 187
188 $('#execute_date').datetimepicker({ 188 $('#execute_date').datetimepicker({
189 stepMinute: 30 189 stepMinute: 30
190 , dateFormat: 'yy-mm-dd' 190 , dateFormat: 'yy-mm-dd'
191 , timeFormat: 'hh:mm:ss' 191 , timeFormat: 'hh:mm:ss'
192 }); 192 });
193 193
194 updateNotificationType(); 194 updateNotificationType();
195 195
196 $('.attachment').live('click', function(e) { 196 $('.attachment').live('click', function(e) {
197 e.preventDefault(); 197 e.preventDefault();
198 var $link = $(this); 198 var $link = $(this);
199 var options = { 199 var options = {
200 action: 'remove_attachment' 200 action: 'remove_attachment'
201 , ajax: 'yes' 201 , ajax: 'yes'
202 , id: $link.attr('entry_id') 202 , id: $link.attr('entry_id')
203 , file: $link.attr('rel') 203 , file: $link.attr('rel')
204 }; 204 };
205 205
206 206
207 207
208 var file_element = '<input type="file" name="attachment[]" />'; 208 var file_element = '<input type="file" name="attachment[]" />';
209 209
210 var c = confirm('Are you sure you want to remove this attachment?'); 210 var c = confirm('Are you sure you want to remove this attachment?');
211 if (c) { 211 if (c) {
212 $.ajax({ 212 $.ajax({
213 url: '/wp-admin/admin-ajax.php' 213 url: '/wp-admin/admin-ajax.php'
214 , data: (options) 214 , data: (options)
215 , type: 'POST' 215 , type: 'POST'
216 , dataType: 'json' 216 , dataType: 'json'
217 , success: function(data) { 217 , success: function(data) {
218 if (data.success=="true") { 218 if (data.success=="true") {
219 $link.parent().html(file_element); 219 $link.parent().html(file_element);
220 } 220 }
221 } 221 }
222 }); 222 });
223 } 223 }
224 224
225 return false; 225 return false;
226 }); 226 });
227 227
228 228
229 //jQuery('table.expandable tbody').hide(); 229 //jQuery('table.expandable tbody').hide();
230 jQuery('table.expandable thead th').click(function() { 230 jQuery('table.expandable thead th').click(function() {
231 var $table = jQuery(this).parent().parent().parent(); 231 var $table = jQuery(this).parent().parent().parent();
232 if ( jQuery('tbody',$table).is(":visible") ) { 232 if ( jQuery('tbody',$table).is(":visible") ) {
233 jQuery('thead',$table).removeClass("open"); 233 jQuery('thead',$table).removeClass("open");
234 jQuery('tbody',$table).fadeOut(); 234 jQuery('tbody',$table).fadeOut();
235 } else { 235 } else {
236 jQuery('thead',$table).addClass("open"); 236 jQuery('thead',$table).addClass("open");
237 jQuery('tbody',$table).fadeIn(); 237 jQuery('tbody',$table).fadeIn();
238 } 238 }
239 }); 239 });
240 240
241 }); 241 });
242 242
243 function updateNotificationType() { 243 function updateNotificationType() {
244 var type = jQuery('#notif_type').val(); 244 var type = jQuery('#notif_type').val();
245 245
246 if (type=="triggered") { 246 if (type=="triggered") {
247 jQuery('.scheduled-extended').hide(); 247 jQuery('.scheduled-extended').hide();
248 jQuery('.trigger-extended').show(); 248 jQuery('.trigger-extended').show();
249 jQuery('.scheduled_sendto').hide(); 249 jQuery('.scheduled_sendto').hide();
250 } else { 250 } else {
251 jQuery('.scheduled-extended').show(); 251 jQuery('.scheduled-extended').show();
252 jQuery('.trigger-extended').hide(); 252 jQuery('.trigger-extended').hide();
253 jQuery('.scheduled_sendto').show(); 253 jQuery('.scheduled_sendto').show();
254 } 254 }
255 255
256 } 256 }
257 257
258 258
259 259
260 </script> 260 </script>
...\ No newline at end of file ...\ No newline at end of file
......