|
16.01.07, 19:33:18
|
#1
|
Big Daddy
Registriert seit: 02.02.03
Alter: 37
Geschlecht:
Beiträge: 4.974
IRC Zeilen: 10670
Quizrunden gewonnen: 3
|
[Tutorial] C Datenstrukturen
Nabend,
da in drei Wochen meine Grundlagen der Informatik und Programmierung Klausur bevor steht, beschäftige ich mich gerade mit dem schwierigsten Thema daraus: Den Datenstrukturen.
Dazu kommen noch Listen, Bäume und Hashtables.
Bisher habe ich allerdings nur die Datenstrukturen zusammengefasst und niedergeschrieben.
Wer sich interessiert, der sollte einen Blick drauf werden.
Wäre für ein bischen Feedback allerdings auch sehr dankbar!
Liest es euch also mal durch! *g*
C++ ist böse
Die Unterschiede [der Programmiersprachen] sind enorm: Während Programme wie die Schreibsoftware Microsoft Word mit HTML programmiert wurden, greifen die Entwickler von Metzel-Games oft zu der Hacker-Programmiersprache C++. Wie gefährlich diese Sprache für Jugendliche ist, zeigte sich erst im September 2009, als der schülerVZ-Hacker Matthias L. vor seinem Selbstmord einen Abschiedsbrief verfaßte – in C++.
|
(Offline)
|
|
16.01.07, 20:18:14
|
#2
|
Registered Users
Registriert seit: 01.06.06
Ort: Frankfurt/Main
Geschlecht:
Beiträge: 1.484
|
Ich bezweifle, dass ich Dir irgendein anderes Feedback als "Wat is???" geben könnte.
|
(Offline)
|
|
16.01.07, 21:22:40
|
#3
|
Big Daddy
Registriert seit: 02.02.03
Alter: 37
Geschlecht:
Beiträge: 4.974
IRC Zeilen: 10670
Quizrunden gewonnen: 3
|
Zitat von low
Ich bezweifle, dass ich Dir irgendein anderes Feedback als "Wat is???" geben könnte.
|
Muss ich wohl mal auf Zahl warten
Ne, aber auch für die Form würde ich gern Feedback haben.
(Rechtschreib-, Grammatik-, Form-, Strukturfehler ..)
/€1:
Edit-Funktion ist immer was gutes
C++ ist böse
Die Unterschiede [der Programmiersprachen] sind enorm: Während Programme wie die Schreibsoftware Microsoft Word mit HTML programmiert wurden, greifen die Entwickler von Metzel-Games oft zu der Hacker-Programmiersprache C++. Wie gefährlich diese Sprache für Jugendliche ist, zeigte sich erst im September 2009, als der schülerVZ-Hacker Matthias L. vor seinem Selbstmord einen Abschiedsbrief verfaßte – in C++.
|
(Offline)
|
|
17.01.07, 13:28:14
|
#4
|
Langstreckengrätscher
Registriert seit: 13.03.06
Ort: Paderborn
Alter: 37
Geschlecht:
Beiträge: 1.912
IRC Zeilen: 2787
Quizrunden gewonnen: 2
|
Ich gucks mir bei Gelegenheit an. Hab in 3 Wochen selbst ne GdP-Klausur.
"Die schlimmste Waffe der Menschheit ist die kantonesische Doppel-Grätsche."
"Wer Scheiße baut wird in Grund und Boden gesexxxt."
"Die 3 Grundsäulen des Christentums: 'Lügen', 'Scheiße' und 'Arschfick'."
"Bei Rücken- oder Darmbeschwerden bitte Stephan G Schulz konsultieren. Der Junge fühlt es ..."
"Gestern nacht wurden zwei Autofahrer von der Feuerwehr mit einem Bolzengrätscher aus ihrem Autowrack gegrätscht."
"Die gestrige BILD-Schlagzeile lautete: 'Papst mault sich (ausversehen)'."
"Jeder der auf einem ausfahrbaren Sofa sitzt, riskiert einen Schädelbasisbruch durch Zerschellung infolge eines Sturzes von der Kante (Durchschnittsgeschwindidkeit: 172.43 km/h)."
|
(Offline)
|
|
17.01.07, 15:53:59
|
#5
|
B.O.F.H.
Registriert seit: 03.08.02
Ort: Hof
Alter: 41
Geschlecht:
Beiträge: 4.966
|
Punkt 3
Man kann Datenstrukturen optimieren, indem sie performant sind, oder nur wenig Speicherplatz gebrauchen.
|
sollte das nicht lauten
Man kann Datenstrukturen dahingehend optimieren, sodass sie performant sind oder nur wenig Speicher benötigen.
|
Speicher weil man ja Arbeitsspeicher und Festplattenspeicher meinen könnte
Bei Punkt 4, malloc() müsstest du einen Maximalwert definieren und vielleicht darauf hinweisen das Dynamische Speicherverwaltung falsch eingesetzt ein Risiko sein kann, die Rede ist von Buffer Overflows. Rein Theoretisch würde aus:
ein
struct Telefon Eintrag[20];
|
Es ist immernoch Dynamisch und ein Buffer Overflow dürfte kein Problem mehr darstellen (Quelle: C Lernen von O´Reilly)
Weiter bin ich nicht gekommen, Kollege wartet. Schreib nachher noch was.
show_config
-------
"Aber es gibt ja kRaSSe SuppOrtEr die MeinEn Alter, dass Sie KrAss MOd sind UnD feTT in Der SchOOl ruLLoern WeiL isch KRaSS der MOD bin - unD wEnn dEin PosTcoUnt sUcKt, alDer, dAnn hAlTs Maul, k?" - Verständliche und klar formulierte Aussage eines Hip-Hoppers
|
(Offline)
|
|
17.01.07, 16:00:35
|
#6
|
Big Daddy
Registriert seit: 02.02.03
Alter: 37
Geschlecht:
Beiträge: 4.974
IRC Zeilen: 10670
Quizrunden gewonnen: 3
|
struct Telefon Eintrag[20];
|
Ist immer noch statisch. Das Array kann nachtragend mit realloc() vergrößert oder verkleinert werden.
Aber dennoch danke schon mal
Das Script ist eh noch lange nicht fertig, aber ist auch nur eine Frage der Zeit.
C/C++ - Von den Grundlagen zur professionellen Programmierung von einem Doktor Prof. Kaiser. Meinem Dozenten
C++ ist böse
Die Unterschiede [der Programmiersprachen] sind enorm: Während Programme wie die Schreibsoftware Microsoft Word mit HTML programmiert wurden, greifen die Entwickler von Metzel-Games oft zu der Hacker-Programmiersprache C++. Wie gefährlich diese Sprache für Jugendliche ist, zeigte sich erst im September 2009, als der schülerVZ-Hacker Matthias L. vor seinem Selbstmord einen Abschiedsbrief verfaßte – in C++.
|
(Offline)
|
|
17.01.07, 18:00:49
|
#7
|
B.O.F.H.
Registriert seit: 03.08.02
Ort: Hof
Alter: 41
Geschlecht:
Beiträge: 4.966
|
Hm, stimmt, das Array wird statisch angelegt. realloc() kann immernoch ausgetrickst werden. Bleibt nur das man das Feld mit einer If-Abfrage prüft:
Ungetestet
if ((String = (char *) malloc(StringSize)) == NULL)
{
printf("\nSpeicherfehler.");
exit(1)
}
Wenn nicht genug Speicher bereit gestellt werden kann, gibt malloc eigentlich immer Null zurück. Also müsste es so funzen.
Übersetzt du es dann in Latex oder lässt du es als in Word so
show_config
-------
"Aber es gibt ja kRaSSe SuppOrtEr die MeinEn Alter, dass Sie KrAss MOd sind UnD feTT in Der SchOOl ruLLoern WeiL isch KRaSS der MOD bin - unD wEnn dEin PosTcoUnt sUcKt, alDer, dAnn hAlTs Maul, k?" - Verständliche und klar formulierte Aussage eines Hip-Hoppers
Geändert von Lord_Pinhead (17.01.07 um 18:04:05 Uhr).
|
(Offline)
|
|
17.01.07, 18:02:53
|
#8
|
Big Daddy
Registriert seit: 02.02.03
Alter: 37
Geschlecht:
Beiträge: 4.974
IRC Zeilen: 10670
Quizrunden gewonnen: 3
|
Zitat von Lord_Pinhead
Hm, stimmt, das Array wird statisch angelegt. realloc() kann immernoch ausgetrickst werden. Bleibt nur das man das Feld mit einer If-Abfrage prüft:
Ungetestet
if ((String = (char *) malloc(StringSize)) == NULL)
{
printf("\nSpeicherfehler.");
exit(1)
}
Wenn nicht genug Speicher bereit gestellt werden kann, gibt malloc eigentlich immer Null zurück. Also müsste es so funzen.
|
Stimme dir voll zu! Allerdings gehts mir in dem Script nicht darum zu zeigen wie man ordentlich Programmiert, sondern wie man mit Strukturen, Listen .. umgeht. Von daher lege ich da keinen Wert drauf
C++ ist böse
Die Unterschiede [der Programmiersprachen] sind enorm: Während Programme wie die Schreibsoftware Microsoft Word mit HTML programmiert wurden, greifen die Entwickler von Metzel-Games oft zu der Hacker-Programmiersprache C++. Wie gefährlich diese Sprache für Jugendliche ist, zeigte sich erst im September 2009, als der schülerVZ-Hacker Matthias L. vor seinem Selbstmord einen Abschiedsbrief verfaßte – in C++.
|
(Offline)
|
|
17.01.07, 21:21:23
|
#9
|
B.O.F.H.
Registriert seit: 03.08.02
Ort: Hof
Alter: 41
Geschlecht:
Beiträge: 4.966
|
Naja, aber man sollte vielleicht darauf hinweisen das in vielen Bereichen Tücken stecken
show_config
-------
"Aber es gibt ja kRaSSe SuppOrtEr die MeinEn Alter, dass Sie KrAss MOd sind UnD feTT in Der SchOOl ruLLoern WeiL isch KRaSS der MOD bin - unD wEnn dEin PosTcoUnt sUcKt, alDer, dAnn hAlTs Maul, k?" - Verständliche und klar formulierte Aussage eines Hip-Hoppers
|
(Offline)
|
|
18.01.07, 01:55:48
|
#10
|
Registered Users
Registriert seit: 18.09.05
Alter: 49
Beiträge: 970
|
Habs bis jetzt noch nicht gelesen, aber der Thread kommt mir ganz recht
Ich mach ein Fernstudium zum PC-Betreuer. Da kommt dieses Thema garantiert noch vor. Gut zu wissen, das es ein paar "Cracks" unter Spieleplanetariern gibt
Hab mich schon schwer getan, mit dem Stellenwertsystem und dem Segmentierten Speicher Adressen...
[ http://ganjataz.com/css/sigs/reason1-firefox-notIE.gif ]
|
(Offline)
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
<
b
r
/
>
<
d
i
v
c
l
a
s
s
=
"
s
m
a
l
l
f
o
n
t
"
a
l
i
g
n
=
"
c
e
n
t
e
r
"
>
$
v
b
p
h
r
a
s
e
[
a
l
l
_
t
i
m
e
s
_
a
r
e
_
g
m
t
_
x
_
t
i
m
e
_
n
o
w
_
i
s
_
y
]
<
/
d
i
v
>
<
b
r
/
>
$
s
p
a
c
e
r
_
c
l
o
s
e
<
!
-
-
/
c
o
n
t
e
n
t
a
r
e
a
t
a
b
l
e
-
-
>
<
f
o
r
m
a
c
t
i
o
n
=
"
$
v
b
o
p
t
i
o
n
s
[
f
o
r
u
m
h
o
m
e
]
.
p
h
p
"
m
e
t
h
o
d
=
"
g
e
t
"
>
<
d
i
v
a
l
i
g
n
=
"
c
e
n
t
e
r
"
c
l
a
s
s
=
"
p
a
g
e
"
>
<
b
r
/
>
<
d
i
v
c
l
a
s
s
=
"
s
m
a
l
l
f
o
n
t
"
a
l
i
g
n
=
"
c
e
n
t
e
r
"
>
<
!
-
-
D
o
n
o
t
r
e
m
o
v
e
t
h
i
s
c
o
p
y
r
i
g
h
t
n
o
t
i
c
e
-
-
>
$
v
b
p
h
r
a
s
e
[
p
o
w
e
r
e
d
_
b
y
_
v
b
u
l
l
e
t
i
n
]
<
b
r
/
>
T
e
m
p
l
a
t
e
-
M
o
d
i
f
i
k
a
t
i
o
n
e
n
d
u
r
c
h
<
a
h
r
e
f
=
"
h
t
t
p
:
/
/
w
w
w
.
v
b
h
a
c
k
s
-
g
e
r
m
a
n
y
.
o
r
g
/
m
i
s
c
.
p
h
p
?
d
o
=
f
i
n
d
r
e
l
e
a
s
e
&
a
m
p
;
p
r
o
d
u
c
t
=
t
m
s
"
>
T
M
S
<
/
a
>
<
!
-
-
D
o
n
o
t
r
e
m
o
v
e
t
h
i
s
c
o
p
y
r
i
g
h
t
n
o
t
i
c
e
-
-
>
<
/
d
i
v
>
<
d
i
v
c
l
a
s
s
=
"
s
m
a
l
l
f
o
n
t
"
a
l
i
g
n
=
"
c
e
n
t
e
r
"
>
<
!
-
-
D
o
n
o
t
r
e
m
o
v
e
$
c
r
o
n
i
m
a
g
e
o
r
y
o
u
r
s
c
h
e
d
u
l
e
d
t
a
s
k
s
w
i
l
l
c
e
a
s
e
t
o
f
u
n
c
t
i
o
n
-
-
>
$
c
r
o
n
i
m
a
g
e
<
!
-
-
D
o
n
o
t
r
e
m
o
v
e
$
c
r
o
n
i
m
a
g
e
o
r
y
o
u
r
s
c
h
e
d
u
l
e
d
t
a
s
k
s
w
i
l
l
c
e
a
s
e
t
o
f
u
n
c
t
i
o
n
-
-
>
S
t
y
l
e
c
r
?
?
e
p
a
r
<
a
h
r
e
f
=
"
h
t
t
p
:
/
/
w
w
w
.
v
b
u
l
l
e
t
i
n
-
r
e
s
s
o
u
r
c
e
s
.
c
o
m
/
f
o
r
u
m
/
m
e
m
b
e
r
.
p
h
p
?
u
=
1
"
>
A
l
l
a
n
<
/
a
>
-
<
a
h
r
e
f
=
"
h
t
t
p
:
/
/
w
w
w
.
v
b
u
l
l
e
t
i
n
-
r
e
s
s
o
u
r
c
e
s
.
c
o
m
"
>
v
B
u
l
l
e
t
i
n
-
R
e
s
s
o
u
r
c
e
s
.
c
o
m
<
/
a
>
<
b
r
/
>
$
v
b
o
p
t
i
o
n
s
[
c
o
p
y
r
i
g
h
t
t
e
x
t
]
<
/
d
i
v
>
<
b
r
>
<
t
a
b
l
e
c
e
l
l
p
a
d
d
i
n
g
=
"
$
s
t
y
l
e
v
a
r
[
c
e
l
l
p
a
d
d
i
n
g
]
"
c
e
l
l
s
p
a
c
i
n
g
=
"
0
"
b
o
r
d
e
r
=
"
0
"
w
i
d
t
h
=
"
$
s
t
y
l
e
v
a
r
[
o
u
t
e
r
t
a
b
l
e
w
i
d
t
h
]
"
h
e
i
g
h
t
=
"
3
5
"
a
l
i
g
n
=
"
c
e
n
t
e
r
"
>
<
t
r
>
<
i
f
c
o
n
d
i
t
i
o
n
=
"
$
s
h
o
w
[
'
q
u
i
c
k
c
h
o
o
s
e
r
'
]
"
>
<
t
d
s
t
y
l
e
=
"
b
a
c
k
g
r
o
u
n
d
:
#
F
F
F
F
F
F
u
r
l
(
$
s
t
y
l
e
v
a
r
[
i
m
g
d
i
r
_
m
i
s
c
]
/
f
o
n
d
_
f
o
o
t
e
r
.
g
i
f
)
;
"
>
<
s
e
l
e
c
t
n
a
m
e
=
"
s
t
y
l
e
i
d
"
o
n
c
h
a
n
g
e
=
"
s
w
i
t
c
h
_
i
d
(
t
h
i
s
,
'
s
t
y
l
e
'
)
"
>
<
o
p
t
g
r
o
u
p
l
a
b
e
l
=
"
$
v
b
p
h
r
a
s
e
[
q
u
i
c
k
_
s
t
y
l
e
_
c
h
o
o
s
e
r
]
"
>
$
q
u
i
c
k
c
h
o
o
s
e
r
b
i
t
s
<
/
o
p
t
g
r
o
u
p
>
<
/
s
e
l
e
c
t
>
<
/
t
d
>
<
/
i
f
>
<
i
f
c
o
n
d
i
t
i
o
n
=
"
$
s
h
o
w
[
'
l
a
n
g
u
a
g
e
c
h
o
o
s
e
r
'
]
"
>
<
t
d
s
t
y
l
e
=
"
b
a
c
k
g
r
o
u
n
d
:
#
F
F
F
F
F
F
u
r
l
(
$
s
t
y
l
e
v
a
r
[
i
m
g
d
i
r
_
m
i
s
c
]
/
f
o
n
d
_
f
o
o
t
e
r
.
g
i
f
)
;
"
>
<
s
e
l
e
c
t
n
a
m
e
=
"
l
a
n
g
i
d
"
o
n
c
h
a
n
g
e
=
"
s
w
i
t
c
h
_
i
d
(
t
h
i
s
,
'
l
a
n
g
'
)
"
>
<
o
p
t
g
r
o
u
p
l
a
b
e
l
=
"
$
v
b
p
h
r
a
s
e
[
q
u
i
c
k
_
l
a
n
g
u
a
g
e
_
c
h
o
o
s
e
r
]
"
>
$
l
a
n
g
u
a
g
e
c
h
o
o
s
e
r
b
i
t
s
<
/
o
p
t
g
r
o
u
p
>
<
/
s
e
l
e
c
t
>
<
/
t
d
>
<
/
i
f
>
<
t
d
a
l
i
g
n
=
"
$
s
t
y
l
e
v
a
r
[
r
i
g
h
t
]
"
w
i
d
t
h
=
"
1
0
0
%
"
s
t
y
l
e
=
"
b
a
c
k
g
r
o
u
n
d
:
#
F
F
F
F
F
F
u
r
l
(
$
s
t
y
l
e
v
a
r
[
i
m
g
d
i
r
_
m
i
s
c
]
/
f
o
n
d
_
f
o
o
t
e
r
.
g
i
f
)
;
"
>
<
d
i
v
c
l
a
s
s
=
"
s
m
a
l
l
f
o
n
t
"
>
<
s
t
r
o
n
g
>
<
i
f
c
o
n
d
i
t
i
o
n
=
"
$
s
h
o
w
[
'
c
o
n
t
a
c
t
u
s
'
]
"
>
<
a
h
r
e
f
=
"
$
v
b
o
p
t
i
o
n
s
[
c
o
n
t
a
c
t
u
s
l
i
n
k
]
"
r
e
l
=
"
n
o
f
o
l
l
o
w
"
>
$
v
b
p
h
r
a
s
e
[
c
o
n
t
a
c
t
_
u
s
]
<
/
a
>
-
<
/
i
f
>
<
i
f
c
o
n
d
i
t
i
o
n
=
"
$
v
b
o
p
t
i
o
n
s
[
'
h
o
m
e
t
i
t
l
e
'
]
"
>
<
a
h
r
e
f
=
"
$
v
b
o
p
t
i
o
n
s
[
h
o
m
e
u
r
l
]
"
>
$
v
b
o
p
t
i
o
n
s
[
h
o
m
e
t
i
t
l
e
]
<
/
a
>
-
<
/
i
f
>
<
i
f
c
o
n
d
i
t
i
o
n
=
"
$
s
h
o
w
[
'
a
d
m
i
n
c
p
l
i
n
k
'
]
"
>
<
a
h
r
e
f
=
"
$
a
d
m
i
n
c
p
d
i
r
/
i
n
d
e
x
.
p
h
p
$
s
e
s
s
i
o
n
[
s
e
s
s
i
o
n
u
r
l
_
q
]
"
>
$
v
b
p
h
r
a
s
e
[
a
d
m
i
n
]
<
/
a
>
-
<
/
i
f
>
<
i
f
c
o
n
d
i
t
i
o
n
=
"
$
s
h
o
w
[
'
m
o
d
c
p
l
i
n
k
'
]
"
>
<
a
h
r
e
f
=
"
$
m
o
d
c
p
d
i
r
/
i
n
d
e
x
.
p
h
p
$
s
e
s
s
i
o
n
[
s
e
s
s
i
o
n
u
r
l
_
q
]
"
>
$
v
b
p
h
r
a
s
e
[
m
o
d
]
<
/
a
>
-
<
/
i
f
>
<
i
f
c
o
n
d
i
t
i
o
n
=
"
$
v
b
o
p
t
i
o
n
s
[
'
a
r
c
h
i
v
e
e
n
a
b
l
e
d
'
]
"
>
<
a
h
r
e
f
=
"
a
r
c
h
i
v
e
/
i
n
d
e
x
.
p
h
p
"
>
$
v
b
p
h
r
a
s
e
[
a
r
c
h
i
v
e
]
<
/
a
>
-
<
/
i
f
>
<
i
f
c
o
n
d
i
t
i
o
n
=
"
$
v
b
o
p
t
i
o
n
s
[
p
r
i
v
a
c
y
u
r
l
]
"
>
<
a
h
r
e
f
=
"
$
v
b
o
p
t
i
o
n
s
[
p
r
i
v
a
c
y
u
r
l
]
"
>
$
v
b
p
h
r
a
s
e
[
p
r
i
v
a
c
y
_
s
t
a
t
e
m
e
n
t
]
<
/
a
>
-
<
/
i
f
>
<
a
h
r
e
f
=
"
#
t
o
p
"
o
n
c
l
i
c
k
=
"
s
e
l
f
.
s
c
r
o
l
l
T
o
(
0
,
0
)
;
r
e
t
u
r
n
f
a
l
s
e
;
"
>
$
v
b
p
h
r
a
s
e
[
t
o
p
]
<
/
a
>
<
/
s
t
r
o
n
g
>
<
/
d
i
v
>
<
/
t
d
>
<
/
t
r
>
<
/
t
a
b
l
e
>
<
/
d
i
v
>
<
t
d
w
i
d
t
h
=
"
2
3
"
s
t
y
l
e
=
"
b
a
c
k
g
r
o
u
n
d
-
i
m
a
g
e
:
u
r
l
(
$
s
t
y
l
e
v
a
r
[
i
m
g
d
i
r
_
m
i
s
c
]
/
r
i
g
h
t
.
g
i
f
)
"
>
<
i
m
g
s
r
c
=
"
$
s
t
y
l
e
v
a
r
[
i
m
g
d
i
r
_
m
i
s
c
]
/
r
i
g
h
t
.
g
i
f
"
w
i
d
t
h
=
"
2
3
"
b
o
r
d
e
r
=
"
0
"
a
l
t
=
"
"
/
>
<
/
t
d
>
<
/
t
r
>
<
/
t
a
b
l
e
>
<
/
f
o
r
m
>
<
i
f
c
o
n
d
i
t
i
o
n
=
"
$
s
h
o
w
[
'
d
s
t
_
c
o
r
r
e
c
t
i
o
n
'
]
"
>
<
!
-
-
a
u
t
o
D
S
T
c
o
r
r
e
c
t
i
o
n
c
o
d
e
-
-
>
<
f
o
r
m
a
c
t
i
o
n
=
"
p
r
o
f
i
l
e
.
p
h
p
?
d
o
=
d
s
t
"
m
e
t
h
o
d
=
"
p
o
s
t
"
n
a
m
e
=
"
d
s
t
f
o
r
m
"
>
<
i
n
p
u
t
t
y
p
e
=
"
h
i
d
d
e
n
"
n
a
m
e
=
"
s
"
v
a
l
u
e
=
"
$
s
e
s
s
i
o
n
[
s
e
s
s
i
o
n
h
a
s
h
]
"
/
>
<
i
n
p
u
t
t
y
p
e
=
"
h
i
d
d
e
n
"
n
a
m
e
=
"
s
e
c
u
r
i
t
y
t
o
k
e
n
"
v
a
l
u
e
=
"
$
b
b
u
s
e
r
i
n
f
o
[
s
e
c
u
r
i
t
y
t
o
k
e
n
]
"
/
>
<
i
n
p
u
t
t
y
p
e
=
"
h
i
d
d
e
n
"
n
a
m
e
=
"
d
o
"
v
a
l
u
e
=
"
d
s
t
"
/
>
<
/
f
o
r
m
>
<
s
c
r
i
p
t
t
y
p
e
=
"
t
e
x
t
/
j
a
v
a
s
c
r
i
p
t
"
>
<
!
-
-
v
a
r
t
z
O
f
f
s
e
t
=
$
b
b
u
s
e
r
i
n
f
o
[
t
i
m
e
z
o
n
e
o
f
f
s
e
t
]
+
$
b
b
u
s
e
r
i
n
f
o
[
d
s
t
o
n
o
f
f
]
;
v
a
r
u
t
c
O
f
f
s
e
t
=
n
e
w
D
a
t
e
(
)
.
g
e
t
T
i
m
e
z
o
n
e
O
f
f
s
e
t
(
)
/
6
0
;
i
f
(
M
a
t
h
.
a
b
s
(
t
z
O
f
f
s
e
t
+
u
t
c
O
f
f
s
e
t
)
=
=
1
)
{
/
/
D
s
t
o
f
f
s
e
t
i
s
1
s
o
i
t
s
c
h
a
n
g
e
d
d
o
c
u
m
e
n
t
.
f
o
r
m
s
.
d
s
t
f
o
r
m
.
s
u
b
m
i
t
(
)
;
}
/
/
-
-
>
<
/
s
c
r
i
p
t
>
<
!
-
-
/
a
u
t
o
D
S
T
c
o
r
r
e
c
t
i
o
n
c
o
d
e
-
-
>
<
/
i
f
>
<
s
c
r
i
p
t
t
y
p
e
=
"
t
e
x
t
/
j
a
v
a
s
c
r
i
p
t
"
>
<
!
-
-
/
/
M
a
i
n
v
B
u
l
l
e
t
i
n
J
a
v
a
s
c
r
i
p
t
I
n
i
t
i
a
l
i
z
a
t
i
o
n
v
B
u
l
l
e
t
i
n
_
i
n
i
t
(
)
;
/
/
-
-
>
<
/
s
c
r
i
p
t
>
$
m
y
_
a
d
_
p
o
s
i
t
i
o
n
|