Commit 6c64b69b888ac8ec6d79dafa3ec7dd00f52365b6
1 parent
1c78df8d
Exists in
master
and in
7 other branches
Nova opção para salvar um layer diretamente da árvore de camadas. Essa opção só …
…fica ativa para usuários editores
Showing
7 changed files
with
238 additions
and
25 deletions
Show diff stats
admin/admin.db
No preview for this file type
894 Bytes
admin/php/editormapfile.php
@@ -92,7 +92,7 @@ switch (strtoupper($funcao)) | @@ -92,7 +92,7 @@ switch (strtoupper($funcao)) | ||
92 | {JSON} | 92 | {JSON} |
93 | */ | 93 | */ |
94 | case "EDITASIMBOLO": | 94 | case "EDITASIMBOLO": |
95 | - include_once("../../classesphp/classe_legenda.php"); | 95 | + include_once("$locaplic/classesphp/classe_legenda.php"); |
96 | if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) | 96 | if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
97 | {$map_file = $locaplic."/aplicmap/geral1windows.map";} | 97 | {$map_file = $locaplic."/aplicmap/geral1windows.map";} |
98 | else | 98 | else |
@@ -203,7 +203,7 @@ switch (strtoupper($funcao)) | @@ -203,7 +203,7 @@ switch (strtoupper($funcao)) | ||
203 | } | 203 | } |
204 | else | 204 | else |
205 | { | 205 | { |
206 | - unlink("../../temas/".$codigoMap.".map"); | 206 | + unlink("$locaplic/temas/".$codigoMap.".map"); |
207 | $tabela = "i3geoadmin_temas"; | 207 | $tabela = "i3geoadmin_temas"; |
208 | exclui(); | 208 | exclui(); |
209 | retornaJSON("ok"); | 209 | retornaJSON("ok"); |
@@ -211,6 +211,29 @@ switch (strtoupper($funcao)) | @@ -211,6 +211,29 @@ switch (strtoupper($funcao)) | ||
211 | } | 211 | } |
212 | break; | 212 | break; |
213 | /* | 213 | /* |
214 | + Valor: REFAZERLAYER | ||
215 | + | ||
216 | + Altera um layer existente em um mapfile com base em um layer existente em outro mapfile | ||
217 | + | ||
218 | + Parametros: | ||
219 | + | ||
220 | + codigomap {string} - nome do mapfile existente em i3geo/temas que será atualizado (sem .map) | ||
221 | + | ||
222 | + maporigem {string} - nome completo do arquivo mapfile que contem o layer que será utilizado para alterar o original | ||
223 | + | ||
224 | + nomelayer {string} - código do layer em mapfile que será utilizado para atualizar codigoMap | ||
225 | + | ||
226 | + Retorno: | ||
227 | + | ||
228 | + {JSON} | ||
229 | + */ | ||
230 | + case "REFAZERLAYER": | ||
231 | + if(verificaEditores($editores) == "nao") | ||
232 | + {echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;} | ||
233 | + retornaJSON(refazerLayer()); | ||
234 | + exit; | ||
235 | + break; | ||
236 | + /* | ||
214 | Valor: CRIARNOVOLAYER | 237 | Valor: CRIARNOVOLAYER |
215 | 238 | ||
216 | Cria um novo layer em um mapfile | 239 | Cria um novo layer em um mapfile |
@@ -911,6 +934,26 @@ switch (strtoupper($funcao)) | @@ -911,6 +934,26 @@ switch (strtoupper($funcao)) | ||
911 | exit; | 934 | exit; |
912 | break; | 935 | break; |
913 | } | 936 | } |
937 | +function refazerLayer() | ||
938 | +{ | ||
939 | + global $nomelayer, $codigomap, $maporigem, $locaplic; | ||
940 | + error_reporting(E_ALL); | ||
941 | + $mapa = ms_newMapObj($maporigem); | ||
942 | + $arqtema = $locaplic."/temas/".$codigomap.".map"; | ||
943 | + $mapatema = ms_newMapObj($arqtema); | ||
944 | + $layeroriginal = @$mapatema->getlayerbyname($codigomap); | ||
945 | + $layernovo = @$mapa->getlayerbyname($nomelayer); | ||
946 | + if($layeroriginal != "" && $layernovo != "") | ||
947 | + { | ||
948 | + $layeroriginal->set("status",MS_DELETE); | ||
949 | + $nl = ms_newLayerObj($mapatema,$layernovo); | ||
950 | + $nl->set("name",$codigomap); | ||
951 | + $mapatema->save($arqtema); | ||
952 | + removeCabecalho($arqtema); | ||
953 | + return array("data"=>"ok"); | ||
954 | + } | ||
955 | + return "erro"; | ||
956 | +} | ||
914 | function sobeDesce() | 957 | function sobeDesce() |
915 | { | 958 | { |
916 | global $movimento,$tipo,$codigoMap,$codigoLayer,$indiceClasse,$indiceEstilo,$locaplic; | 959 | global $movimento,$tipo,$codigoMap,$codigoLayer,$indiceClasse,$indiceEstilo,$locaplic; |
@@ -997,7 +1040,7 @@ function criarNovoMap() | @@ -997,7 +1040,7 @@ function criarNovoMap() | ||
997 | function criarNovoLayer() | 1040 | function criarNovoLayer() |
998 | { | 1041 | { |
999 | global $locaplic,$codigoMap; | 1042 | global $locaplic,$codigoMap; |
1000 | - include_once("../../classesphp/funcoes_gerais.php"); | 1043 | + include_once("$locaplic/classesphp/funcoes_gerais.php"); |
1001 | $mapfile = $locaplic."/temas/".$codigoMap.".map"; | 1044 | $mapfile = $locaplic."/temas/".$codigoMap.".map"; |
1002 | $mapa = ms_newMapObj($mapfile); | 1045 | $mapa = ms_newMapObj($mapfile); |
1003 | $nl = ms_newLayerObj($mapa); | 1046 | $nl = ms_newLayerObj($mapa); |
@@ -1011,7 +1054,7 @@ function autoClassesLayer() | @@ -1011,7 +1054,7 @@ function autoClassesLayer() | ||
1011 | { | 1054 | { |
1012 | global $codigoMap,$codigoLayer,$itemExpressao,$itemNome,$locaplic,$dir_tmp; | 1055 | global $codigoMap,$codigoLayer,$itemExpressao,$itemNome,$locaplic,$dir_tmp; |
1013 | $mapfile = $locaplic."/temas/".$codigoMap.".map"; | 1056 | $mapfile = $locaplic."/temas/".$codigoMap.".map"; |
1014 | - include_once("../../classesphp/classe_alteraclasse.php"); | 1057 | + include_once("$locaplic/classesphp/classe_alteraclasse.php"); |
1015 | error_reporting(0); | 1058 | error_reporting(0); |
1016 | $nometemp = $dir_tmp."/".nomerandomico().".map"; | 1059 | $nometemp = $dir_tmp."/".nomerandomico().".map"; |
1017 | if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) | 1060 | if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
classesjs/dicionario_ajuda.js
@@ -778,6 +778,14 @@ g_traducao_ajuda = { | @@ -778,6 +778,14 @@ g_traducao_ajuda = { | ||
778 | pt:"Aplica um arquivo XML, no formato SLD, ao tema ativo.", | 778 | pt:"Aplica um arquivo XML, no formato SLD, ao tema ativo.", |
779 | complemento:"SLD é um formato padrão que permite definir filtros e simbologia. Vários softwraes permitem criar arquivos nesse padrão.", | 779 | complemento:"SLD é um formato padrão que permite definir filtros e simbologia. Vários softwraes permitem criar arquivos nesse padrão.", |
780 | apijs:"i3GEO.tema.dialogo.aplicarsld()" | 780 | apijs:"i3GEO.tema.dialogo.aplicarsld()" |
781 | + }, | ||
782 | + "92": { | ||
783 | + titulo: "Aplicar SLD", | ||
784 | + diretorio:"i3geo/ferramentas/salvamapfile", | ||
785 | + categoria:"5", | ||
786 | + pt:"Salva as definições da camada no arquivo mapfile de origem", | ||
787 | + complemento:"Essa opção só é ativada para usuários que são administradores. Permite que a camada seja alterada, por exemplo, modificando-se a legenda, e que o resultado seja salvo nas definições originais da camada.", | ||
788 | + apijs:"i3GEO.tema.dialogo.salvaMapfile()" | ||
781 | } | 789 | } |
782 | } | 790 | } |
783 | }; | 791 | }; |
classesphp/classe_temas.php
@@ -1030,6 +1030,20 @@ Retorna o SLD correspondente à legenda do tema. | @@ -1030,6 +1030,20 @@ Retorna o SLD correspondente à legenda do tema. | ||
1030 | return $this->layer->generateSLD(); | 1030 | return $this->layer->generateSLD(); |
1031 | } | 1031 | } |
1032 | /* | 1032 | /* |
1033 | +function: peganomelayer | ||
1034 | + | ||
1035 | +Retorna o nome do layer e outros dados relacionados | ||
1036 | +*/ | ||
1037 | + function peganomelayer() | ||
1038 | + { | ||
1039 | + if(!$this->layer){return "erro";} | ||
1040 | + $nomeoriginal = $this->layer->getmetadata("nomeoriginal"); | ||
1041 | + $nomearquivo = $this->locaplic."/temas/".$nomeoriginal; | ||
1042 | + if(!file_exists($nomearquivo)) | ||
1043 | + {$nomearquivo = "";} | ||
1044 | + return array("mapfile"=>$this->arquivo,"nomeoriginal"=>$nomeoriginal,"nomelayer"=>$this->layer->name,"nomearquivo"=>$nomearquivo); | ||
1045 | + } | ||
1046 | +/* | ||
1033 | function: pegadata | 1047 | function: pegadata |
1034 | 1048 | ||
1035 | Retorna o valor do elemento DATA | 1049 | Retorna o valor do elemento DATA |
@@ -0,0 +1,147 @@ | @@ -0,0 +1,147 @@ | ||
1 | +<?php error_reporting(0);if(extension_loaded('zlib')){ob_start('ob_gzhandler');} header("Content-type: text/javascript"); ?> | ||
2 | +/*jslint plusplus:false,white:false,undef: false, rhino: true, onevar: true, evil: true */ | ||
3 | + | ||
4 | +/* | ||
5 | +Title: Salva as definições de uma camada no arquivo mapfile correspondente | ||
6 | + | ||
7 | +Veja: | ||
8 | + | ||
9 | +<i3GEO.tema.dialogo.salvamapfile> | ||
10 | + | ||
11 | +Arquivo: | ||
12 | + | ||
13 | +i3geo/ferramentas/salvamapfile/index.js.php | ||
14 | + | ||
15 | +Licenca: | ||
16 | + | ||
17 | +GPL2 | ||
18 | + | ||
19 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | ||
20 | + | ||
21 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | ||
22 | +Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br | ||
23 | + | ||
24 | +Este programa é software livre; você pode redistribuí-lo | ||
25 | +e/ou modificá-lo sob os termos da Licença Pública Geral | ||
26 | +GNU conforme publicada pela Free Software Foundation; | ||
27 | + | ||
28 | +Este programa é distribuído na expectativa de que seja útil, | ||
29 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
30 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
31 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
32 | +Você deve ter recebido uma cópia da Licença Pública Geral do | ||
33 | +GNU junto com este programa; se não, escreva para a | ||
34 | +Free Software Foundation, Inc., no endereço | ||
35 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
36 | +*/ | ||
37 | +if(typeof(i3GEOF) === 'undefined'){ | ||
38 | + i3GEOF = []; | ||
39 | +} | ||
40 | +/* | ||
41 | +Classe: i3GEOF.salvamapfile | ||
42 | +*/ | ||
43 | +i3GEOF.salvamapfile = { | ||
44 | + /* | ||
45 | + Variavel: aguarde | ||
46 | + | ||
47 | + Estilo do objeto DOM com a imagem de aguarde existente no cabeçalho da janela. | ||
48 | + */ | ||
49 | + aguarde: "", | ||
50 | + /* | ||
51 | + Variavel: tema | ||
52 | + | ||
53 | + código do tema | ||
54 | + */ | ||
55 | + tema: i3GEO.temaAtivo, | ||
56 | + /* | ||
57 | + Function: inicia | ||
58 | + | ||
59 | + Inicia a ferramenta. É chamado por criaJanelaFlutuante | ||
60 | + | ||
61 | + Parametro: | ||
62 | + | ||
63 | + iddiv {String} - id do div que receberá o conteudo HTML da ferramenta | ||
64 | + */ | ||
65 | + inicia: function(iddiv){ | ||
66 | + try{ | ||
67 | + i3GEOF.salvamapfile.aguarde.visibility = "visible"; | ||
68 | + var p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=peganomelayer&tema="+i3GEOF.salvamapfile.tema, | ||
69 | + cp = new cpaint(), | ||
70 | + retorno = function(retorno){ | ||
71 | + i3GEOF.salvamapfile.aguarde.visibility = "hidden"; | ||
72 | + var nome = retorno.data.nomeoriginal; | ||
73 | + if(nome == "") | ||
74 | + { | ||
75 | + $i(iddiv).innerHTML = "<p class=paragrafo >Não existe um arquivo mapfile em i3geo/temas já criado para essa camada. Utilize o sistema de admnistração para <a href='"+i3GEO.configura.locaplic+"/admin/html/editormapfile.html' target=_blank >criar um</a>" | ||
76 | + } | ||
77 | + else | ||
78 | + { | ||
79 | + var ins = "<p class=paragrafo >O tema ativo possui um mapfile já criado. Ao salvar, as definições originais de legenda, filtros e outras, serão substituídas pelas atuais</p>" + | ||
80 | + '<br><br><p class=paragrafo ><input size=20 id=i3GEOsalvamapfilebotao1 type=button value="Salvar" /> <input size=20 id=i3GEOsalvamapfilebotao2 type=button value="Testar" />'; | ||
81 | + $i(iddiv).innerHTML = ins; | ||
82 | + new YAHOO.widget.Button( | ||
83 | + "i3GEOsalvamapfilebotao1", | ||
84 | + {onclick:{fn: function(){i3GEOF.salvamapfile.salva(nome,retorno.data.mapfile,retorno.data.nomelayer);}}} | ||
85 | + ); | ||
86 | + new YAHOO.widget.Button( | ||
87 | + "i3GEOsalvamapfilebotao2", | ||
88 | + {onclick:{fn: function(){window.open(i3GEO.configura.locaplic+"/testamapfile.php?map="+nome);}}} | ||
89 | + ); | ||
90 | + } | ||
91 | + }; | ||
92 | + cp.set_response_type("JSON"); | ||
93 | + cp.call(p,"",retorno); | ||
94 | + } | ||
95 | + catch(erro){alert(erro);} | ||
96 | + }, | ||
97 | + /* | ||
98 | + Function: criaJanelaFlutuante | ||
99 | + | ||
100 | + Cria a janela flutuante para controle da ferramenta. | ||
101 | + */ | ||
102 | + criaJanelaFlutuante: function(){ | ||
103 | + var janela,divid,temp,titulo,cabecalho,minimiza; | ||
104 | + cabecalho = function(){}; | ||
105 | + minimiza = function(){ | ||
106 | + i3GEO.janela.minimiza("i3GEOF.salvamapfile"); | ||
107 | + }; | ||
108 | + //cria a janela flutuante | ||
109 | + titulo = "Salva o tema "+i3GEO.temaAtivo+" <a class=ajuda_usuario target=_blank href='" + i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=5&idajuda=92' > </a>"; | ||
110 | + janela = i3GEO.janela.cria( | ||
111 | + "300px", | ||
112 | + "150px", | ||
113 | + "", | ||
114 | + "", | ||
115 | + "", | ||
116 | + titulo, | ||
117 | + "i3GEOF.salvamapfile", | ||
118 | + false, | ||
119 | + "hd", | ||
120 | + cabecalho, | ||
121 | + minimiza | ||
122 | + ); | ||
123 | + divid = janela[2].id; | ||
124 | + $i("i3GEOF.salvamapfile_corpo").style.backgroundColor = "white"; | ||
125 | + $i("i3GEOF.salvamapfile_corpo").style.textAlign = "left"; | ||
126 | + i3GEOF.salvamapfile.aguarde = $i("i3GEOF.salvamapfile_imagemCabecalho").style; | ||
127 | + i3GEOF.salvamapfile.inicia(divid); | ||
128 | + }, | ||
129 | + /* | ||
130 | + Function: salva | ||
131 | + | ||
132 | + Salva o mapfile | ||
133 | + */ | ||
134 | + salva: function(nome,mapfile,nomelayer){ | ||
135 | + if(i3GEOF.salvamapfile.aguarde.visibility === "visible") | ||
136 | + {return;} | ||
137 | + i3GEOF.salvamapfile.aguarde.visibility = "visible"; | ||
138 | + var temp = function(){ | ||
139 | + i3GEOF.salvamapfile.aguarde.visibility = "hidden"; | ||
140 | + }, | ||
141 | + p = i3GEO.configura.locaplic+"/admin/php/editormapfile.php?funcao=REFAZERLAYER&codigomap="+nome+"&maporigem="+mapfile+"&nomelayer="+nomelayer, | ||
142 | + cp = new cpaint(); | ||
143 | + cp.set_response_type("JSON"); | ||
144 | + cp.call(p,"",temp); | ||
145 | + } | ||
146 | +}; | ||
147 | +<?php error_reporting(0);if(extension_loaded('zlib')){ob_end_flush();}?> | ||
0 | \ No newline at end of file | 148 | \ No newline at end of file |
temas/biomashp.map
1 | MAP | 1 | MAP |
2 | - FONTSET "c:\ms4w\apache\htdocs\i3geo/symbols/fontes.txt" | ||
3 | - SYMBOLSET "c:\ms4w\apache\htdocs\i3geo/symbols/simbolos.sym" | 2 | + FONTSET "c:\ms4w\apache\htdocs\i3geo/symbols/fontes.txt" |
3 | + SYMBOLSET "c:\ms4w\apache\htdocs\i3geo/symbols/simbolos.sym" | ||
4 | LAYER | 4 | LAYER |
5 | CONNECTION "" | 5 | CONNECTION "" |
6 | DATA "c:\ms4w\apache\htdocs\geodados\brasil\vegetacao\biomas.shp" | 6 | DATA "c:\ms4w\apache\htdocs\geodados\brasil\vegetacao\biomas.shp" |
@@ -19,6 +19,7 @@ MAP | @@ -19,6 +19,7 @@ MAP | ||
19 | "ltempoitemtitulo" "" | 19 | "ltempoitemtitulo" "" |
20 | "ltempoitemlink" "" | 20 | "ltempoitemlink" "" |
21 | "palletefile" "" | 21 | "palletefile" "" |
22 | + "nomeoriginal" "biomashp" | ||
22 | "permitedownload" "sim" | 23 | "permitedownload" "sim" |
23 | "ltempoformatodata" "" | 24 | "ltempoformatodata" "" |
24 | "ltempoitemicone" "" | 25 | "ltempoitemicone" "" |
@@ -31,69 +32,69 @@ MAP | @@ -31,69 +32,69 @@ MAP | ||
31 | "ltempoitemfim" "" | 32 | "ltempoitemfim" "" |
32 | END | 33 | END |
33 | NAME "biomashp" | 34 | NAME "biomashp" |
34 | - STATUS OFF | 35 | + STATUS DEFAULT |
35 | TEMPLATE "none.htm" | 36 | TEMPLATE "none.htm" |
36 | OPACITY 50 | 37 | OPACITY 50 |
37 | TYPE POLYGON | 38 | TYPE POLYGON |
38 | UNITS METERS | 39 | UNITS METERS |
39 | CLASS | 40 | CLASS |
40 | NAME "CAATINGA" | 41 | NAME "CAATINGA" |
41 | - EXPRESSION ('[ID]'eq'2.00') | 42 | + EXPRESSION ('[CD_LEGENDA]'eq'CAATINGA') |
42 | STYLE | 43 | STYLE |
43 | ANGLE 360 | 44 | ANGLE 360 |
44 | - COLOR 138 134 150 | ||
45 | - OPACITY 100 | 45 | + COLOR 214 54 97 |
46 | SYMBOL 0 | 46 | SYMBOL 0 |
47 | + WIDTH 1 | ||
47 | END | 48 | END |
48 | END | 49 | END |
49 | CLASS | 50 | CLASS |
50 | NAME "PAMPA" | 51 | NAME "PAMPA" |
51 | - EXPRESSION ('[ID]'eq'5.00') | 52 | + EXPRESSION ('[CD_LEGENDA]'eq'PAMPA') |
52 | STYLE | 53 | STYLE |
53 | ANGLE 360 | 54 | ANGLE 360 |
54 | - COLOR 105 219 217 | ||
55 | - OPACITY 100 | 55 | + COLOR 127 191 202 |
56 | SYMBOL 0 | 56 | SYMBOL 0 |
57 | + WIDTH 1 | ||
57 | END | 58 | END |
58 | END | 59 | END |
59 | CLASS | 60 | CLASS |
60 | NAME "CERRADO" | 61 | NAME "CERRADO" |
61 | - EXPRESSION ('[ID]'eq'3.00') | 62 | + EXPRESSION ('[CD_LEGENDA]'eq'CERRADO') |
62 | STYLE | 63 | STYLE |
63 | ANGLE 360 | 64 | ANGLE 360 |
64 | - COLOR 186 52 176 | ||
65 | - OPACITY 100 | 65 | + COLOR 244 126 198 |
66 | SYMBOL 0 | 66 | SYMBOL 0 |
67 | + WIDTH 1 | ||
67 | END | 68 | END |
68 | END | 69 | END |
69 | CLASS | 70 | CLASS |
70 | NAME "PANTANAL" | 71 | NAME "PANTANAL" |
71 | - EXPRESSION ('[ID]'eq'6.00') | 72 | + EXPRESSION ('[CD_LEGENDA]'eq'PANTANAL') |
72 | STYLE | 73 | STYLE |
73 | ANGLE 360 | 74 | ANGLE 360 |
74 | - COLOR 125 128 2 | ||
75 | - OPACITY 100 | 75 | + COLOR 146 148 168 |
76 | SYMBOL 0 | 76 | SYMBOL 0 |
77 | + WIDTH 1 | ||
77 | END | 78 | END |
78 | END | 79 | END |
79 | CLASS | 80 | CLASS |
80 | NAME "AMAZONIA" | 81 | NAME "AMAZONIA" |
81 | - EXPRESSION ('[ID]'eq'1.00') | 82 | + EXPRESSION ('[CD_LEGENDA]'eq'AMAZONIA') |
82 | STYLE | 83 | STYLE |
83 | ANGLE 360 | 84 | ANGLE 360 |
84 | - COLOR 129 234 3 | ||
85 | - OPACITY 100 | 85 | + COLOR 195 147 81 |
86 | SYMBOL 0 | 86 | SYMBOL 0 |
87 | + WIDTH 1 | ||
87 | END | 88 | END |
88 | END | 89 | END |
89 | CLASS | 90 | CLASS |
90 | NAME "MATA ATLANTICA" | 91 | NAME "MATA ATLANTICA" |
91 | - EXPRESSION ('[ID]'eq'4.00') | 92 | + EXPRESSION ('[CD_LEGENDA]'eq'MATA ATLANTICA') |
92 | STYLE | 93 | STYLE |
93 | ANGLE 360 | 94 | ANGLE 360 |
94 | - COLOR 159 226 219 | ||
95 | - OPACITY 100 | 95 | + COLOR 240 245 39 |
96 | SYMBOL 0 | 96 | SYMBOL 0 |
97 | + WIDTH 1 | ||
97 | END | 98 | END |
98 | END | 99 | END |
99 | END | 100 | END |