1
0

1 Commits

Author SHA1 Message Date
a4c9879472 thesis: Add chapter 5: comparison 2025-07-28 10:44:11 +02:00
46 changed files with 216 additions and 1577 deletions

2
.gitignore vendored
View File

@@ -4,5 +4,3 @@ bin/
*.o
*.log
*.pdf
related-work/
main

View File

@@ -1,10 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File: intercept
# Author: Lorenz Stechauner <e12119052@student.tuwien.ac.at>
# Lorenz Stechauner <lorenz.stechauner@necronda.net>
import argparse
import subprocess
import os

View File

@@ -1,10 +1,4 @@
/**
* File: intercept.c
* Author: Lorenz Stechauner <e12119052@student.tuwien.ac.at>
* Lorenz Stechauner <lorenz.stechauner@necronda.net>
*/
#define _GNU_SOURCE
#include <getopt.h>
@@ -1232,7 +1226,7 @@ int sym(getopt)(const int argc, char *const argv[], const char *shortopts) {
else if_invalid(getopt)
}
const int ret = __real_getopt(argc, argv, shortopts);
msg("return %i; optind %i", ret, optind);
msg("return %i", ret);
return ret;
}
@@ -1246,7 +1240,7 @@ void sym(exit)(int status) {
char msg_buf[BUFFER_SIZE];
rcv(msg_buf, sizeof(msg_buf));
if_modify_int("exit", int, status)
else if_invalid(exit)
else if_invalid(getopt)
}
__real_exit(status);
}
@@ -1425,7 +1419,7 @@ int sym(sigaction)(int sig, const struct sigaction *restrict act, struct sigacti
if (sigismember(&act->sa_mask, i) != 1)
continue;
if (maskstr[0] != 0) strcat(maskstr, ",");
sprintf(maskstr + strlen(maskstr), "%i:%s", i, getsigstr(i));
strcat(maskstr, getsigstr(i));
}
if (!verbosity) {
msg("sigaction(%i:%s, %p:{}, %p)" ret_str, sig, sigstr, act, oact, ret_data);
@@ -1468,7 +1462,7 @@ int sym(sigaction)(int sig, const struct sigaction *restrict act, struct sigacti
if (sigismember(&oact->sa_mask, i) != 1)
continue;
if (maskstr[0] != 0) strcat(maskstr, ",");
sprintf(maskstr + strlen(maskstr), "%i:%s", i, getsigstr(i));
strcat(maskstr, getsigstr(i));
}
msg("return %i; errno %s; oact={sa_flags: 0x%x:%s, %s: %p, sa_mask: [%s]}", ret, strerrorname_np(errno), oact->sa_flags, flgstr, name, ptr, maskstr);
} else {

View File

@@ -1,6 +0,0 @@
main
server
*.csv
*.txt
*.log
*.zip

View File

@@ -1,19 +0,0 @@
CC=gcc
CFLAGS=-std=c99 -pedantic -Wall -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_POSIX_C_SOURCE=200809L -g
.PHONY: all clean
all: default
default: main server
%.o: %.c
$(CC) -c -o $@ $^ $(CFLAGS)
main: main.o
$(CC) -o $@ $^ $(CFLAGS) -lc
server: server.o
$(CC) -o $@ $^ $(CFLAGS) -lc
clean:
rm -rf main *.o

View File

@@ -1,33 +0,0 @@
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
int main(const int argc, const char *argv[]) {
if (argc != 2) {
fprintf(stderr, "usage: main <cycles>\n");
return 1;
}
const long cycles = strtol(argv[1], NULL, 10);
struct timespec start, end;
clock_gettime(CLOCK_MONOTONIC, &start);
int pipes[2];
for (int i = 0; i < cycles; i++) {
if (pipe(pipes) != 0) {
fprintf(stderr, "unable to create pipes: %s\n", strerror(errno));
exit(1);
}
close(pipes[0]);
close(pipes[1]);
}
clock_gettime(CLOCK_MONOTONIC, &end);
const long duration = end.tv_sec * 1000000000 + end.tv_nsec - start.tv_sec * 1000000000 - start.tv_nsec;
printf("start: %li.%09li\nend: %li.%09li\nduration: %li,%03li,%03li ns\n", start.tv_sec, start.tv_nsec, end.tv_sec, end.tv_nsec, duration / 1000000, duration / 1000 % 1000, duration % 1000);
}

View File

@@ -1,67 +0,0 @@
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <stdlib.h>
int main(const int argc, const char *argv[]) {
if (argc != 3) {
fprintf(stderr, "usage: server <path> <mode>\n");
return 1;
}
const char *path = argv[1];
const char *mode = argv[2];
int fd;
if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) {
fprintf(stderr, "unable to create socket: %s\n", strerror(errno));
return 1;
}
struct sockaddr_un addr = {.sun_family = AF_UNIX};
strcpy(addr.sun_path, path);
if (bind(fd, (struct sockaddr *) &addr, sizeof(addr)) != 0) {
fprintf(stderr, "unable to bind socket: %s\n", strerror(errno));
close(fd);
return 1;
}
if (listen(fd, 4) != 0) {
fprintf(stderr, "unable to listen on socket: %s\n", strerror(errno));
close(fd);
return 1;
}
size_t len = 4096;
char *line = malloc(len);
while (1) {
int client_fd;
if ((client_fd = accept(fd, NULL, NULL)) == -1) {
fprintf(stderr, "unable to accept connection: %s\n", strerror(errno));
break;
}
FILE *client;
if ((client = fdopen(client_fd, "w+")) == NULL) {
fprintf(stderr, "unable open stream: %s\n", strerror(errno));
close(client_fd);
continue;
}
for (int n = 0; getline(&line, &len, client) > 0; n++) {
if (n % 2 == 1) {
fprintf(client, "%s\n", mode);
}
}
fclose(client);
}
free(line);
close(fd);
unlink(path);
}

View File

@@ -1,35 +0,0 @@
#!/bin/bash
REPEAT=30
CYCLES=50
function test() {
echo $@
for c in $(seq 1 $CYCLES); do
for i in $(seq 1 $REPEAT); do
echo "cycles: $((c * 100)) ($i/$REPEAT)"
$@ $((c * 100))
sleep 1
done
done
}
rm -f /tmp/test.ok.sock /tmp/test.return.sock /tmp/intercept.performance.ok.sock /tmp/intercept.performance.return.sock
./server /tmp/test.ok.sock 'ok' &
./server /tmp/test.return.sock 'return 0' &
test ./main
cd ../intercept
test ./intercept -o -i - -- ../perf/main
test ./intercept -o -i stderr -- ../perf/main
test ./intercept -o -i file:out.log -- ../perf/main
cd ../server/src
./performance -m ok &
./performance -m return &
cd ../../intercept
sleep 1
test ./intercept -o -i unix:/tmp/test.ok.sock -- ../perf/main
test ./intercept -o -i unix:/tmp/test.return.sock -- ../perf/main
test ./intercept -o -i unix:/tmp/intercept.performance.ok.sock -- ../perf/main
test ./intercept -o -i unix:/tmp/intercept.performance.return.sock -- ../perf/main

View File

@@ -1,10 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File: intercept/__init__.py
# Author: Lorenz Stechauner <e12119052@student.tuwien.ac.at>
# Lorenz Stechauner <lorenz.stechauner@necronda.net>
from __future__ import annotations
from typing import Optional, TypedDict, NamedTuple, NotRequired, BinaryIO
from socketserver import UnixStreamServer, StreamRequestHandler, ThreadingMixIn
@@ -27,7 +23,7 @@ class Flags(NamedTuple):
flags: list[str]
StructTimeSpec = TypedDict('StructTimeSpec', {'tv_sec': int, 'tv_nsec': int})
StructSigAction = TypedDict('StructSigAction', {'sa_flags': Flags, 'sa_handler': NotRequired[Pointer], 'sa_sigaction': NotRequired[Pointer], 'sa_mask': list[Constant]})
StructSigAction = TypedDict('StructSigAction', {'sa_flags': Flags, 'sa_handler': NotRequired[Pointer], 'sa_sigaction': NotRequired[Pointer], 'sa_mask': list[str]})
StructSockAddr = TypedDict('StructSockAddr', {'sa_family': Constant, 'sa_data': NotRequired[bytes],
'sun_path': NotRequired[bytes],
'sin_addr': NotRequired[bytes], 'sin_port': NotRequired[int],
@@ -267,7 +263,7 @@ class Parser:
idx += 1
value = int(value, 0) if value != '(nil)' else 0
return PointerTo(val, value), idx
m = re.match(r'[A-Z0-9_]+|\?', argument[idx:])
m = re.match(r'[A-Z0-9_]+', argument[idx:])
if m is not None:
value = m.group(0)
idx += len(value)
@@ -306,8 +302,6 @@ class Parser:
self.pid, self.tid = int(pid), int(tid)
if len(self.stack) == 0:
self.stack[(self.pid, self.tid)] = []
elif (self.pid, self.tid) not in self.stack:
self.stack[(self.pid, self.tid)] = []
if not data.startswith(b'return ') and not data == b'return':
call = data.decode('utf-8')
#print(f'[{self.pid}][{self.tid}] {call}')
@@ -350,10 +344,6 @@ class Parser:
other_vals = ret[1].strip() if len(ret) > 1 else ''
ret_value, _ = Parser.parse_arg(ret[0][7:])
kwargs = {}
if other_vals.startswith('optind '):
ret = other_vals[7:].split(';', 1)
kwargs['optind'] = int(ret[0].strip())
other_vals = ret[1].strip() if len(ret) > 1 else ''
if other_vals.startswith('errno '):
ret = other_vals[6:].split(';', 1)
kwargs['errno'] = ret[0].strip()
@@ -414,7 +404,7 @@ class Parser:
def before_getopt(self, argc: int, argv: PointerTo[list[PointerTo[bytes]]], optstring: PointerTo[bytes]) -> str:
raise NotImplementedError()
def after_getopt(self, argc: int, argv: PointerTo[list[PointerTo[bytes]]], optstring: PointerTo[bytes],
ret_value: int, optind: int = None) -> None:
ret_value: int) -> None:
raise NotImplementedError()
def before_exit(self, status: int) -> str:
raise NotImplementedError()

View File

@@ -1,10 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File: intercept/standard.py
# Author: Lorenz Stechauner <e12119052@student.tuwien.ac.at>
# Lorenz Stechauner <lorenz.stechauner@necronda.net>
from __future__ import annotations
from intercept import *

View File

@@ -1,45 +0,0 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File: performance
# Author: Lorenz Stechauner <e12119052@student.tuwien.ac.at>
# Lorenz Stechauner <lorenz.stechauner@necronda.net>
import argparse
import intercept
import intercept.standard
MODE: str
class Handler(intercept.standard.Handler):
def before_pipe(self, fildes_ptr: intercept.Pointer) -> str:
return 'return 0' if MODE == 'return' else 'ok'
def after_pipe(self, fildes_ptr: intercept.Pointer,
ret_value: int, errno: str = None, fildes: list[int] = None) -> None:
pass
def before_close(self, fildes: int) -> str:
return 'return 0' if MODE == 'return' else 'ok'
def after_close(self, fildes: int,
ret_value: int, errno: str = None) -> None:
pass
def main() -> None:
global MODE
parser = argparse.ArgumentParser()
parser.add_argument('-m', '--mode', choices=['ok', 'return'])
args = parser.parse_args()
MODE = args.mode
socket_name = f'/tmp/intercept.performance.{MODE}.sock'
intercept.intercept(socket_name, Handler)
if __name__ == '__main__':
main()

View File

@@ -1,10 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File: test-interrupts
# Author: Lorenz Stechauner <e12119052@student.tuwien.ac.at>
# Lorenz Stechauner <lorenz.stechauner@necronda.net>
import os
import sys
import argparse

View File

@@ -1,10 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File: test-memory
# Author: Lorenz Stechauner <e12119052@student.tuwien.ac.at>
# Lorenz Stechauner <lorenz.stechauner@necronda.net>
import argparse
import subprocess
import os

View File

@@ -1,10 +1,6 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File: test-return-values
# Author: Lorenz Stechauner <e12119052@student.tuwien.ac.at>
# Lorenz Stechauner <lorenz.stechauner@necronda.net>
import os
import sys
import argparse
@@ -106,7 +102,7 @@ def main() -> None:
entry[ret] = set()
entry[ret].add(tuple(c for c in iter_tree_ok(child)))
allowed_cleanup_functions = ['malloc', 'free', 'freeaddrinfo', 'close', 'exit', 'sigaction']
allowed_cleanup_functions = ['malloc', 'free', 'freeaddrinfo', 'close', 'exit']
for call, errors in calls.items():
if len(errors) <= 1:
continue

1
thesis/.gitignore vendored
View File

@@ -2,7 +2,6 @@
/intro.*
/example.*
/*.pdf
!/*v*.pdf
/*.txt
/_minted/
*.acn

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,9 +1,3 @@
% Abstract
This thesis presents methods for intercepting and manipulating function calls in Linux systems, with a focus on supporting automated testing of student programs in the Operating Systems course.
The central contribution is the development of \texttt{intercept.so}, a shared object preloaded via the \texttt{LD\_PRELOAD} mechanism, which enables function call interception at runtime without requiring modifications to the program or its source code.
The library records detailed information about function calls, including arguments, return values, and call locations, allowing precise reconstruction and analysis of program execution.
Furthermore, it introduces controlled manipulation of intercepted calls---modifying arguments, forcing failures, or mocking return values---through a simple communication protocol, enabling robust automated tests of error handling and resource management.
Performance evaluations show minimal overhead in practical scenarios, making the approach suitable for educational use.
Compared to existing tools such as \texttt{strace} or \texttt{ltrace}, this solution offers greater flexibility by combining interception with manipulation capabilities.
Overall, the approach provides a flexible and transparent foundation for automated testing of low-level C programs, improving reliability while imposing negligible runtime overhead.
Lorem Ipsum.

View File

@@ -1,10 +1,3 @@
% Kurzfassung
Diese Arbeit stellt Methoden zum Abfangen und Manipulieren von Funktionsaufrufen in Linux-Systemen vor, mit dem Schwerpunkt auf der Unterstützung automatisierter Tests von Studierendenprogrammen im Rahmen der Betriebssysteme-Lehrveranstaltung.
Der zentrale Beitrag ist die Entwicklung von \texttt{intercept.so}, einer Shared Object-Bibliothek, die über den Mechanismus \texttt{LD\_PRELOAD} eingebunden wird und so das Abfangen von Funktionsaufrufen zur Laufzeit ermöglicht, ohne dass Änderungen am Programm oder dessen Quellcode erforderlich sind.
Die Bibliothek protokolliert detaillierte Informationen über Funktionsaufrufe, einschließlich Argumenten, Rückgabewerten und Aufrufstellen, wodurch eine präzise Rekonstruktion und Analyse der Programmausführung möglich wird.
Darüber hinaus erlaubt sie die kontrollierte Manipulation abgefangener Aufrufe -- etwa durch das Ändern von Argumenten, das Erzwingen von Fehlern oder das Simulieren von Rückgabewerten -- mittels eines einfachen Kommunikationsprotokolls.
Dies ermöglicht robuste automatisierte Tests zur Überprüfung von Fehlerbehandlung und Ressourcenverwaltung.
Leistungsmessungen zeigen, dass der Ansatz in praktischen Szenarien nur minimale Laufzeitkosten verursacht und sich somit gut für den Einsatz in der Lehre eignet.
Im Vergleich zu bestehenden Werkzeugen wie \texttt{strace} oder \texttt{ltrace} bietet die Lösung eine größere Flexibilität, da sie das Abfangen mit Manipulationsmöglichkeiten kombiniert.
Insgesamt stellt der Ansatz eine flexible und transparente Grundlage für automatisierte Tests von Low-Level-C-Programmen dar, verbessert deren Zuverlässigkeit und verursacht dabei nur vernachlässigbaren Laufzeit-Overhead.
Lorem Ipsum.

View File

@@ -1,56 +1,20 @@
\chapter{Introduction}\label{ch:introduction}
Intercepting (also known as Hooking, or Tracing) system or function calls allows one to trace what a given program does.
This information is useful for security analysis or when testing or verifying a program.
This chapter gives a general overview about what the motivation and goal for this work were (Section~\ref{sec:motivation-and-goal}), and what the difference between system calls and function calls is (Section~\ref{sec:definitions}).
Lorem Ipsum.
\section{TODO: Why intercept?}
\section{Motivation and Goal}\label{sec:motivation-and-goal}
Lorem Ipsum.
When teaching students about Operating Systems, their interfaces, and standard libraries, C is still a widely used language, especially when using Linux.
Therefore, it is obvious why many university courses still require students to write their assignments and exams in C\@.
The problem when trying to verify whether students have correctly implemented their assignment, is that low-level OS constructs (like semaphores, pipes, sockets, memory management) make it hard to run automated tests, because the testing system needs to keep track, set up, and verify the usage of these resources.
\section{TODO: Why are current solutions not enough?}
The goal of this work was to find a way to easily intercept system or function calls, and to verify if students called the right functions, with the right arguments, at the right time.
This restriction in scope allows focusing on simple binary programs without having to think about complex or I/O heavy programs.
Furthermore, in this setting the source code of the student's programs is obviously available, because this is what they need to deliver.
The availability of source code is a key concern when trying to intercept function or system calls, as will be clear in the next chapters.
Lorem Ipsum.
\section{TODO: Linux/C/ELF call structure}
\section{Definitions}\label{sec:definitions}
Lorem Ipsum.
First, function calls, system calls, and their differences need to be defined.
The following subsections concern these definitions.
\section{TODO: System Calls vs. Function Calls}\label{sec:system-calls-vs-function-calls}
\subsection{Function Calls}\label{subsec:function-calls}
Generally, a function in C (and also most other programming languages) is a piece of code that may be called, and therefore executed, from elsewhere.
Functions have zero or more arguments and return a single value.
When calling a function, the caller places the return address onto the stack.
This address indicates where the function should continue executing when it is finished.
Functions are used to structure programs, reuse functionality, or expose functionality in libraries.
Other languages than C differentiate between functions, methods, procedures, and so on.
A function written in the source code is almost always compiled to a function in the resulting binary.
Intercepting calls to functions allows one to see the function name, arguments, return value, and return address.
\subsection{System Calls}\label{subsec:system-calls}
In contrast to functions, system calls are calls to the kernel itself.
Many operations on a modern operating system require special privileges, which a simple user-space process does not have.
By invoking a system call, the (user-space) process hands control over to the (privileged) kernel, and requests an operation to be performed.
\cite[Chapter~10]{linuxkernel}
How exactly these system calls work depends on the architecture and operating system.
But generally, the process places the system call number and its arguments in defined registers and then executes a special system call opcode.
Then the kernel executes the requested operation and places the return value inside another register, and lastly hands the execution back to the process.
\cite[Chapter~10]{linuxkernel}
Intercepting system calls allows one to see the system call number, arguments, and return value.
One has to keep in mind, that many system-related functionalities are not, in fact, translated to system calls one-to-one.
For example, \texttt{malloc}~\cite{malloc.3} has no dedicated system call, it is managed by the C standard library internally.
Many system calls have corresponding wrapper functions in the C standard library (like \texttt{open}, \texttt{close}, \texttt{sem\_wait}).
Lorem Ipsum.

View File

@@ -1,17 +1,18 @@
\chapter{Intercepting Function Calls}\label{ch:intercepting-function-calls}
In this chapter, all steps on how to intercept function calls in this work are discussed.
In this chapter all steps on how to intercept function calls in this work are discussed.
An example of what the resulting interception looks like may be found in Section~\ref{sec:intercepting-example}.
Furthermore, an overview on how to test given programs is presented in Section~\ref{sec:automated-testing-on-intercepted-function-calls}.
How these function calls may be manipulated is discussed in Chapter~\ref{ch:manipulating-function-calls}.
This chapter does not discuss how these function calls may be manipulated in any way.
For that see Chapter~\ref{ch:manipulating-function-calls}.
\section{Identified Methods for Intercepting Function and System Calls}\label{sec:methods-for-intercepting}
First, one has to answer the question on \textit{how exactly} to intercept function or system calls.
At the beginning of this work, it was not yet determined if the interception of function calls, system calls, or both should be used to achieve the overarching goal (see Section~\ref{sec:motivation-and-goal}).
This first section tries to list all possible and relevant methods on how to intercept function or system calls but does not claim exhaustiveness.
At the beginning of this work it was not yet determined if the interception of function calls, system calls, or both should be used to achieve the overarching goal (see\todo{Goals}).
This first section tries to list all possible methods on how to intercept function or system calls but does not claim completeness.
The order of the following subsections is roughly based on the thought process on finding the most appropriate method suitable for this work.
@@ -56,7 +57,8 @@ exit_group(0) = ?
\label{lst:strace}
\end{listing}
This approach works well for debugging and other use cases, but intercepting system calls alone does not satisfy the requirements of this work.
This approach works great for debugging and other use-cases,
but only intercepting system calls does not statisfy the requirements for this work.
\subsection{\texttt{ltrace} Command}\label{subsec:ltrace}
@@ -66,7 +68,7 @@ It works similarly to \texttt{strace} (see \ref{subsec:strace}).
\cite{ltrace.1}
Listings~\ref{lst:main.c} and~\ref{lst:ltrace} illustrate what the output of \texttt{ltrace} looks like.
In contrast to the output of \texttt{strace}, now only ``real'' calls to library functions are included in the output.
In contrast to the output of \texttt{strace} now only ``real'' calls to library functions are included in the output.
Therefore, a lot less ``noise'' is generated (see omitted lines in Listing~\ref{lst:strace}).
Again, the function arguments are displayed in a ``pretty'' way.
This command uses so-called prototype functions~\cite{ltrace.conf.5} to format function arguments.
@@ -133,7 +135,7 @@ See the gcc(1) Linux manual page~\cite[Section OPTIONS]{gcc.1}:
This means, by specifying \texttt{-Wl,-{}-wrap=\textit{symbol}} when compiling using gcc,
all calls from the currently compiled program to \texttt{\textit{symbol}} are redirected to \texttt{\_\_wrap\_\textit{symbol}}.
To call the real function inside the wrapper, \texttt{\_\_real\_\textit{symbol}} may be used.
Listings~\ref{lst:wrap.c} and~\ref{lst:wrap} illustrate this by overriding the \texttt{malloc} function of the C standard library.
Listings~\ref{lst:wrap.c} and~\ref{lst:wrap} try to illustrate this by overriding the \texttt{malloc} function of the C standard library.
\begin{listing}[htbp]
\inputminted[linenos]{c}{src/listings/wrap.c}
@@ -157,7 +159,7 @@ Therefore, the source code (or the corresponding \texttt{*.out} files) needs to
Note, only calls from the targeted source code will be redirected, calls from other libraries won't.
Theoretically, it should be possible to re-link a given binary without having access to its source code.
But due to other more straight-forward methods (see Subsection~\ref{subsec:preloading}), this has not been investigated further.
But due to other more straight-forward methods (see Subsection~\ref{subsec:preloading}), this has not been further investigated.
\subsection{Preloading using \texttt{LD\_PRELOAD}}\label{subsec:preloading}
@@ -186,7 +188,7 @@ See the ld.so(8) Linux manual page~\cite[Section ENVIRONMENT]{ld.so.8}:
\end{quote}
This means, by setting the environment variable \texttt{LD\_PRELOAD}, it is possible to override specific functions.
Listings~\ref{lst:preload.c} and~\ref{lst:preload} illustrate this by overriding the \texttt{malloc} function of the C standard library.
Listings~\ref{lst:preload.c} and~\ref{lst:preload} try to illustrate this by overriding the \texttt{malloc} function of the C standard library.
\begin{listing}[htbp]
\inputminted[linenos]{c}{src/listings/preload.c}
@@ -209,17 +211,17 @@ The function \texttt{dlsym} is used to retrieve the original address of the \tex
\cite{dlsym.3}
By using this method, it is possible to override, and therefore wrap, any function as long as the targeted binary was not statically linked.
However, one must be aware that, not only function calls inside the targeted binary, but also calls inside other libraries (e.g., \texttt{malloc}), are redirected to the overriding function.
Although, one has to be aware that not only function calls inside the targeted binary, but also calls inside other libraries (e.g., to \texttt{malloc}) are redirected to the overriding function.
\subsection{Conclusion}\label{subsec:methods-for-intercepting-conclusion}
During the research on different approaches to intercepting system and function calls,
it has been found, that the most reliable way to achieve the goals of this work (see Section~\ref{sec:motivation-and-goal}) is to intercept function calls instead of system calls.
This is because---as long as the programs to test are dynamically linked---intercepting function calls allows one to intercept many more calls and in a more flexible way.
it has been found that the most reliable way to achieve the goals of this work (see \todo{Goals}) is to intercept function calls instead of system calls.
This is because (as long as the programs to test are dynamically linked), intercepting function calls allows one to intercept many more calls and in a more flexible way.
Therefore, from now on this work only considers function calls and no system calls directly.
In this work, preloading (see Subsection~\ref{subsec:preloading}) was chosen to be used
In this work preloading (see Subsection~\ref{subsec:preloading}) was chosen to be used
because it is simple to use (``clean'' source code, easy to compile and run programs with it) and offers the means to arbitrarily execute code when the intercepted function call is redirected.
The following sections concern the next steps in what else is needed to create a powerful ``interceptor''.
@@ -229,7 +231,7 @@ The following sections concern the next steps in what else is needed to create a
After deciding to use the preloading method to intercept function calls, a more detailed plan is needed to continue developing.
It was decided to have one single \texttt{intercept.so} file as a resulting artifact which then may be loaded via the \texttt{LD\_PRELOAD} environment variable.
The easiest and most straightforward way to structure the source code was to put all code in one single C file.
Listing~\ref{lst:intercept-preload.c} gives an overview of the underlying code structure.
Listing~\ref{lst:intercept-preload.c} gives an overview over the grounding code structure.
For each function that should be intercepted, this function simply has to be declared and defined the same way \texttt{malloc} was.
\begin{listing}[htbp]
@@ -242,8 +244,8 @@ For each function that should be intercepted, this function simply has to be dec
\section{Retrieving Function Argument Values}\label{sec:retrieving-function-argument-values}
Now that the first steps have been done, one needs to think about what exactly to record when intercepting.
A simple notification that a given function was called would not be sufficient.
Within the following subsections, effort is put into getting as much information as possible from each function call.
A simple notification that a given function was called would be too less.
Within the following subsections it is tried to get as much information as possible from each function call.
As already mentioned, \texttt{ltrace} uses prototype functions to format its function arguments.
This allows \texttt{ltrace} to ``dynamically'' display function arguments for any new or unknown functions without the need for recompilation.
@@ -253,13 +255,13 @@ However, due to implementation complexity reasons and the need for ``complex'' r
This means that each function formats its arguments and return values itself without any configuration option.
The reason for retrieving as much information as possible from each function call is that at a later point in time it is possible to completely reconstruct the exact function calls and their sequence.
This allows an analysis on these records to be performed independently of the corresponding execution of the program.
It should always be possible to fully parse the recorded calls without any specific knowledge of specific functions, their argument types, or return value type.
This allows analysis on these records to be performed independently of the corresponding execution of the program.
It should always be possible for any parser to fully parse the recorded calls without any specific knowledge of specific functions, their argument types, or return value type.
\subsection{Numbers}\label{subsec:retrieving-numbers}
The simplest types of arguments are plain numbers, like integers (\texttt{int}, \texttt{long}, \ldots) or floating point numbers (\texttt{float}, \texttt{double}).
The most simple types of argument are plain numbers, like integers (\texttt{int}, \texttt{long}, \ldots) or floating point numbers (\texttt{float}, \texttt{double}).
(In fact, \textit{all} arguments are represented as numbers or integers.
See the following subsections for examples.)
Plain numbers may be formatted simply as what they are, in base 10 notation, or with a prefix like \texttt{0x} for hexadecimal or \texttt{0} for octal representation.
@@ -268,7 +270,8 @@ Example: \texttt{malloc(123)} (or \texttt{malloc(0x7B)}).
\subsection{Unspecific Pointers}\label{subsec:retrieving-unspecific-pointers}
Pointers without additional type information (such as \texttt{void *}) can essentially be treated as integers.
Pointers with no further information known about (like \texttt{void *}) are essentially integers.
Therefore, they may be treated as such.
Example: \texttt{free(0x55624164b2a0)}.
@@ -282,7 +285,7 @@ Special values inside the string are escaped with a backslash.
Example: \texttt{sem\_unlink(0x1234:"/test-semaphore")}.
Another type of string-like data in C is a buffer with a known length.
Another type of ``string'' in C is a buffer with a known length.
When buffers are used, usually another argument is passed to the function which indicates the length of the buffer.
This fact may be used to print out the contents of the buffer in the same way as normal C strings.
@@ -290,7 +293,7 @@ Example: \texttt{write(3, 0x1234:"Test\textbackslash{}x00ABC", 8)}.
\subsection{Flags}\label{subsec:retrieving-flags}
Some functions have one of their arguments dedicated to flags which may be combined by bitwise XOR\@.
Some functions have one of their arguments dedicated to flags which may be combined by bitwise XOR.
These arguments are also of type integer.
To distinguish flag arguments from others, a pipe symbol (\texttt{|}) is used after the colon and between the flags.
@@ -298,10 +301,10 @@ Example: \texttt{open(0x1234:"test.txt", 0102:|O\_CREAT|O\_RDWR|, 0644)}.
\subsection{Constants}\label{subsec:retrieving-constants}
For some functions, constants are used.
These constants are typically implemented as C macros (\texttt{\#define}) in the source code.
For some functions constants are used.
These constants are typically used C macros in the source code.
This makes the source code more readable (and portable).
Constants are represented as an integer, again followed by a colon, this time without any special characters to distinguish them from other types.
Constants are represented as an integer again followed by a colon, this time without any special characters to disdinguish them from other types.
Example: \texttt{socket(2:AF\_INET, 1:SOCK\_STREAM, 6)}.
@@ -317,7 +320,7 @@ Example: \\
\subsection{Pointers to Structures}\label{subsec:retrieving-pointers-to-structures}
In rare cases, structures (\texttt{struct}) are used as argument types.
In rare cases structures (\texttt{struct}) are used as argument types.
Two curly brackets (\texttt{\{\}}) are used to indicate structures.
Then the field names are displayed plainly, followed by a colon and then the value of that field.
Commas are used to separate the fields respectively.
@@ -336,10 +339,6 @@ Example (\texttt{malloc}): \\
\texttt{return 0x1234; errno 0}, \\
\texttt{return -1; errno ENOMEM}.
Some libc functions return their results via a pointer, which was previously given to them as an argument.
The \texttt{pipe} function is called with an \texttt{int} array of size two as an argument and stores its two pipe ends into this array.
The \texttt{read} function is called with a pointer to a buffer and a corresponding size and stores its read data into this buffer.
Example (\texttt{pipe}): \\
\texttt{return 0; errno 0; fildes=[3,4]}, \\
\texttt{return -1; errno ENFILE}.
@@ -349,13 +348,12 @@ Example (\texttt{read}): \\
\texttt{return -1; errno EINTR}.
\section{Determining Function Call Location}\label{sec:determining-function-call-location}
Besides argument values and return values, it would be interesting to know from where inside the intercepted program the function call came.
Besides from argument values and return values, it would be interesting to know from where inside the intercepted program the function call came from.
At first this seems quite impossible.
But a function always knows at least the return address, the address to set the instruction pointer to when the function finishes.
With this information, it may be estimated where the call to the current function came from.
But a function always knows at least the return address, the address to set then instruction pointer to when the function finishes.
With this information it may be estimated where the call to the current function came from.
\subsection{Return Address and Relative Position}\label{subsec:return-address-and-relative-position}
@@ -407,11 +405,11 @@ typedef struct {
\end{description}
\end{quote}
Using information from \texttt{Dl\_info}, it is possible to exactly determine the (shared) object where the call came from (\texttt{dli\_fname}).
Using information from \texttt{Dl\_info}, it is possible to exactly determine the (shared) object from where the call came from (\texttt{dli\_fname}).
Furthermore, it is possible to calculate the relative position inside this (shared) object using \texttt{dli\_fbase} and the return address itself.
Keep in mind that the return address may only be used as an estimation for the origin of the call.
Especially heavily optimized programs might use the same return address for functions in different code paths.
Optionally, a name of a ``symbol'' (function) may be retrieved, indicating where the function call came from.
Optionally, a name of a ``symbol'' (function) may be retrieved from where the function call came from.
\subsection{Source File and Line Number}\label{subsec:source-file-and-line-number}
@@ -464,7 +462,7 @@ These other environment variables are described in the following:
It is a list separated by commas, colons, or semicolons.
Wildcards (\texttt{*}) at the end of function names are possible.
A prefix of \texttt{-} indicates that the following function should not be intercepted.
Example: \texttt{*,-sem\_*} intercepts all functions except those which start with \texttt{sem\_}.
Example: \texttt{*,-sem\_} intercepts all functions except those which start with \texttt{sem\_}.
By default, all (implemented) functions are intercepted.
\item[\texttt{INTERCEPT\_LIBRARIES}]
This variable is used to specify which libraries' function calls should be intercepted.
@@ -488,7 +486,7 @@ The shared object currently supports intercepting the following functions:
\section{\texttt{intercept} Command}\label{sec:intercept-command}
To make the usage of the aforementioned shared object easier, a simple python script has been put together.
To make the usage of the aforementioned shared object more easy, a simple python script has been put together.
This script may be used as a command line tool.
See Listing~\ref{lst:intercept}.
@@ -546,57 +544,25 @@ This includes the offset relative to the calling binary and a source file and li
\begin{listing}[htbp]
\inputminted[fontsize=\tiny]{text}{src/listings/intercept-client.txt}
\caption{Recorded function calls from \texttt{./client}.}
\caption{Recoreded function calls from \texttt{./client}.}
\label{lst:intercept-client}
\end{listing}
\section{Automated Testing on Intercepted Function Calls}\label{sec:automated-testing-on-intercepted-function-calls}
The recorded function calls of a program run may now be used to perform checks and tests on them.
The recorded function calls of a program run now may be used to perform checks and tests on them.
It is trivially possible to check which functions were called and in what order.
Furthermore, it is possible to check various pre- and post-conditions for each function call.
This is beneficial because many library functions in C rely on these pre- and post-conditions, which are not enforced by the compiler or in any other way.
For example, the \texttt{malloc} function has the post-condition that the returned value later needs to be passed to \texttt{free} to avoid memory leaks.
The \texttt{free} function, on the other hand, has the pre-condition that the passed value was previously acquired using \texttt{malloc} and may not be yet freed.
Any violation of such pre- and post-conditions may be reported as non-compliant behavior.
The \texttt{free} function, on the other hand, has the pre-condition that the passed value was previously acquired using \texttt{malloc} and may not be yet free'd.
Any violation of such pre- and post-conditions may be reported as incompliant behavior.
\cite{malloc.3}
This means that intercepted function calls allow a tester to check whether programmers use library functions in compliance with their specifications.
This means that intercepted function calls allow a tester to check if programmers use library function in compliance to their specification.
Other checks may also include guards to calls to ``forbidden'' functions, or that specific functions must be called exactly three times.
Another important post-condition of most library functions is the return value, which in most cases indicates success or failure of an operation.
However, intercepting of calls alone may not be able to verify if a program really checks the return value of a function and acts accordingly.
Chapter~\ref{ch:manipulating-function-calls} shows how this problem may be solved.
\subsection{Validating Memory Management}\label{subsec:testing-memory-management}
The most basic memory management functions in the C standard library are the following.
\begin{description}
\item[\texttt{malloc}, \texttt{calloc}]
Allocate memory. \cite{malloc.3}
\item[\texttt{realloc}, \texttt{reallocarray}]
Change the size of a previously allocated memory block and possibly move the block to another position in virtual memory. \cite{malloc.3}
\item[\texttt{free}]
Free previously allocated memory. \cite{malloc.3}
\item[\texttt{getaddrinfo}]
Allocate and initialize a linked list of \texttt{addrinfo} structures. \cite{getaddrinfo.3}
\item[\texttt{freeaddrinfo}]
Frees memory previously allocated by \texttt{getaddrinfo} for the dynamically allocated linked list. \cite{getaddrinfo.3}
\item[\texttt{getline}, \texttt{getdelim}]
Used to split strings.
Allocate memory on their own, which must be freed afterward. \cite{getline.3}
\end{description}
By only intercepting these functions, it is possible to check if all allocated memory blocks in a simple program were properly allocated and freed.
\subsection{Validating Resource Management}\label{subsec:validating-resource-management}
In addition to memory management, the proper use of other resources---most notably file descriptors---can also be checked.
Many functions in the C standard library rely on file descriptors.
It may be checked if file descriptors were properly acquired, if only previously acquired file descriptors are used, and if these file descriptors are closed after their use.
Relevant for this work are also semaphores because they do not rely on file descriptor in their API\@.
Due to time restrictions, no detailed list for validating resource management has been put together.

View File

@@ -1,139 +0,0 @@
\chapter{Related Work}\label{ch:related-work}
This chapter gives a rough overview on techniques and methods to intercept or hook system calls and function calls.
See also Section~\ref{sec:methods-for-intercepting}.
Some relevant methods will be discussed there in more detail.
\section{System and Function Call Hooking in Literature}\label{sec:call-hooking-in-literature}
The following subsections explore some applications of system and function call hooking.
There are possibly many other use-cases, but the following were deemed most important.
\subsection{Classification of Hooking Techniques}\label{subsec:classification}
Lopez et al. \cite{lopez2017} classify subroutine hooking techniques as follows:
\begin{itemize}
\setlength\itemsep{0em}
\item Subroutine Type: Function / System call.
\item Hook Insertion: Static (before execution) / Dynamic (during execution).
\item Instrumentation Type: Active (``manipulation'') / Passive (``interception'').
\item Hooking Location: On-device / Off-device (most used for mobile devices).
\item Hooking Scope: Inner Functions / Exported Functions (e.g.,\ libraries).
\item OS Modification: Required / Not Required.
\item Availability of Source Code: Open-source / Closed-source.
\item Pricing Model: Free / Paid.
\end{itemize}
The technique developed in this work would be classified as follows:
Function, Static, Active+Passive, On-device, Exported Functions, OS Modification Not Required, target program may be Closed-source, Free.
\subsection{Linux Systems}\label{subsec:linux-systems}
Yasukata et al. \cite{zpoline} introduced zpoline, a system call hooking technique using binary rewriting.
See Subsection~\ref{subsec:zpoline} for more details.
Hong et al. \cite{datahook} developed DataHook, a system call hooking technique based on glibc.
See Subsection~\ref{subsec:datahook} for more details.
\subsection{Windows Systems}\label{subsec:windows-systems}
Hunt and Brubacher \cite{detours} developed Detours, a library for instrumenting arbitrary Win32 functions on x86 machines.
Detours intercepts Win32 functions by re-writing target function images.
Based on this method, Sze and Sekar developed Spif \cite{spif} (see next subsection).
\subsection{Security Applications}\label{subsec:security-applications}
Fraser et al. \cite{fraser2000} introduced a general mechanism for securing unmodified commercial software by wrapping system calls at the library interface.
They hook system calls by replacing the standard library entry points with wrapper functions, similar to \texttt{LD\_PRELOAD}.
The wrapper functions are able to perform security checks or other security measures.
Garfinkel et al. \cite{ostia} developed Ostia, a sandboxing system, which uses system call hooking to secure applications.
They implemented their own ELF binary loader to load their emulation library into memory before the sandboxed program starts.
To communicate between this library and their \textit{agent}, they use Unix domain sockets.
The \textit{agent} then responds, according to its policies.
This is a similar approach to the one of this work (see Chapter~\ref{ch:manipulating-function-calls}).
Sze and Sekar \cite{spif} introduced Spif, an approach that defends against malware by tracking code and data origin on Windows systems.
They use Detours \cite{detours} to intercept low-level Windows API calls.
Kern \cite{kern2023} discusses the use of \texttt{LD\_PRELOAD} in cloud environments for HTTP deception.
This is done to analyze malware or other adversaries in real environments without their knowledge and without any risk of danger.
Examples are to override the \texttt{send} and \texttt{recv} functions of libc.
With some modifications, the technique presented in this work may also be used in this context to intercept and manipulate \texttt{send} and \texttt{recv} calls.
\subsection{Software Distribution}\label{subsec:software-distribution}
Guo and Engler \cite{guo2011cde} use system call hooking for creating portable software.
They developed CDE, which logs all files a program accesses during execution, including shared libraries.
All accessed files and the environment are bundled together and may now be executed on any other system having a compatible kernel without having to install any dependencies.
This would also be possible with the use of logged function calls like in this work (e.g., see Section~\ref{sec:intercepting-example}).
\subsection{Rapid Prototyping}\label{subsec:rapid-prototyping}
Spillane et al. \cite{spillane2007} use \texttt{ptrace} to hook system calls of another process to simulate these calls using a user-space program.
This is useful for rapid prototyping (e.g., file systems) by developing a user-space program first, and then, using the gained insight, porting it into kernel-space.
\section{Function Call Hooking}\label{sec:function-call-hooking}
All underlying techniques for function call interception on Linux systems are mentioned in Section~\ref{sec:methods-for-intercepting}.
See \texttt{ltrace} (Subsection~\ref{subsec:ltrace}), wrapper functions (Subsection~\ref{subsec:wrapper-functions}), and \texttt{LD\_PRELOAD} (Subsection~\ref{subsec:preloading}).
\section{System Call Hooking}\label{sec:system-call-hooking}
This section discusses further techniques regarding system call interception.
This excludes techniques discussed in Section~\ref{sec:methods-for-intercepting},
like \texttt{ptrace} (Subsection~\ref{subsec:ptrace}), and \texttt{strace} (Subsection~\ref{subsec:strace}).
Almost all following methods use binary rewriting to replace system calls with other instructions (except SUD, Subsection~\ref{subsec:syscall-user-dispatch}).
This is one of the reasons why they are not mentioned in Section~\ref{sec:methods-for-intercepting}.
Another reason is that this work focuses on function call interception rather than system call interception.
\subsection{\texttt{int3} Signaling}\label{subsec:int3-signaling}
\texttt{int3} is a one-byte instruction (\texttt{0xcc}) that invokes a software interrupt.
On Linux, the kernel handles it and raises \texttt{SIGTRAP} to the user-space process that executed \texttt{int3}.
The \texttt{int3} signaling technique exploits this behavior to hook system calls; it replaces \texttt{syscall}/\texttt{sysenter} with \texttt{int3} and employs the signal handler for \texttt{SIGTRAP} as the hook function.
Since \texttt{int3} is one byte, it can replace an arbitrary instruction without breaking neighboring instructions.
This technique is traditionally used in debuggers to implement breakpoints.
However, signal handling incurs a large overhead because it involves context manipulation by the kernel.
\cite{zpoline}
\subsection{Syscall User Dispatch (SUD)}\label{subsec:syscall-user-dispatch}
Syscall User Dispatch (SUD)~\cite{sud} was added in Linux 5.11, and it offers a way to redirect system calls to arbitrary user-space code.
For the SUD feature, the kernel implements a hook point at the entry point of system calls.
A user-space process can activate SUD via the \texttt{prctl} interface.
When SUD is activated, the hook point raises \texttt{SIGSYS} to the user-space process.
This mechanism allows a user-space program to leverage the \texttt{SIGSYS} signal handler as the system call hook.
However, similarly to the \texttt{int3} signaling technique, SUD imposes a significant performance penalty on the user-space program due to the overhead of the signal handling.
\cite{zpoline}
\subsection{zpoline}\label{subsec:zpoline}
zpoline is a system call hook mechanism for x86-64 CPUs.
Binary rewriting is used to replace (two-byte) \texttt{syscall}/\texttt{sysenter} instructions with a (two-byte) \texttt{callq *\%rax} instruction.
Because this instruction jumps to \texttt{rax}, where also the syscall number is stored, the trampoline code has to be initialized beginning at virtual address 0.
zpoline is exhaustive and achieves very low performance reduction (28--761 times less overhead compared to other exhaustive system call hooking techniques).
\cite{zpoline}
\subsection{DataHook}\label{subsec:datahook}
DataHook is a system call hooking technique for 32-bit programs based on glibc running on x86 or x86-64 machines.
It relies on glibc's way of performing system calls, namely a \texttt{call *\%gs:0x10} instruction to call the \texttt{\_\_kernel\_vsyscall} function.
The content of \texttt{gs:0x10} is backed up and modified to jump to a given hook function.
DataHook is only exhaustive when used on glibc-based programs.
It achieves a very low performance reduction (5--1429 times less overhead compared to existing hooking techniques).
\cite{datahook}

View File

@@ -0,0 +1,104 @@
\chapter{Manipulating Function Calls}\label{ch:manipulating-function-calls}
This chapter discusses how to manipulate function calls and how this may be used to test programs.
For how function calls may be intercepted at all, see Chapter~\ref{ch:intercepting-function-calls}.
This chapter builds on the basis of the previous one and expands its functions.
``Manipulation'' in this context means to change the arguments of a function then running it normally, or skipping the execution of the real function completely and simply returning a given value (``mocking'').
These techniques allow in-depth testing of programs.
In contrast to simply recording and logging function calls which may be controlled via environment variables, manipulation of such function calls requires some other process to indicate how to handle each call.
This work uses simple sockets to communicate between the process of the program to be tested and a ``server'' which decides what action to perform for each function call.
Currently, only communication over Unix sockets is implemented, but communication over TCP sockets is also easily possible.
Figure~\ref{fig:control-flow} illustrates the control flow for manipulating function calls.
\begin{figure}
\begin{sequencediagram}
\newthread{p}{:Program}
\newinst{l}{:\texttt{\textit{lib}.so}}
\newinst{i}{:\texttt{intercept.so}}
\newthreadShift[gray]{s}{:Server}{2cm}
%\begin{sdblock}{Normal Call}{}
% \begin{call}{p}{read()}{l}{return a}
% \end{call}
%\end{sdblock}
\begin{sdblock}{Intercepted Call}{}
\begin{call}{p}{malloc(x)}{i}{return a}
\mess{i}{{``malloc(x)''}}{s}
\mess{s}{``ok''}{i}
\begin{call}{i}{malloc(x)}{l}{return a}
\end{call}
\mess{i}{``return a''}{s}
\end{call}
\end{sdblock}
\begin{sdblock}{Manipulated Call}{}
\begin{call}{p}{malloc(x)}{i}{return a}
\mess{i}{{``malloc(x)''}}{s}
\mess{s}{``modify y''}{i}
\begin{call}{i}{malloc(y)}{l}{return a}
\end{call}
\mess{i}{``return a''}{s}
\end{call}
\end{sdblock}
\begin{sdblock}{Mocked Call}{}
\begin{call}{p}{malloc(x)}{i}{return z}
\mess{i}{{``malloc(x)''}}{s}
\mess{s}{``fail'' / ``return z''}{i}
\mess{i}{``return z''}{s}
\end{call}
\end{sdblock}
\end{sequencediagram}
\centering
\caption{Simplified Control Flow for Function Call Manipulation.}
\label{fig:control-flow}
\end{figure}
\section{Defining a Protocol}\label{sec:defining-a-protocol}
When using a socket to communicate with another process, a protocol definition is needed.
This works defines a text-based protocol in which line breaks denote the end of a message.
The following subsections describe the defined message types.
\subsection{\textit{Init} Message (Client \textrightarrow{} Server)}\label{subsec:init-message}
This message is the first message sent in a newly established connection.
The client (\texttt{intercept.so}) uses it to identify the running program to the server (PID, path, \dots).
\subsection{\textit{Call} Message (Client \textrightarrow{} Server)}\label{subsec:call-message}
For each function call the client sends this message to the server and waits for a reply (\textit{Action} message).
The contents of this message type correspond to the first line of an intercepted function call (see Section~\ref{sec:automated-testing-on-intercepted-function-calls}).
\subsection{\textit{Action} Message (Server \textrightarrow{} Client)}\label{subsec:action-message}
After receiving a \textit{Call} message from the client, the server decides what the client should do with this call.
The server responds in one of four possible ways:
\begin{description}
\item[\texttt{"ok"}] indicates that the function should be called normally.
\item[\texttt{"modify \textit{ARG...}"}] indicates that the arguments of the function should be changed according to the message before the call to the function.
\item[\texttt{"fail \textit{ERROR}"}] indicates that the function should not be called and instead should fail with the given error code.
\item[\texttt{"return \textit{VALUE}"}] indicates that the function should simply return the provided value without calling the real function.
\end{description}
\subsection{\textit{Return} Message (Client \textrightarrow{} Server)}\label{subsec:return-message}
This message informs the server about the resulting return value.
The server does not acknowledge this message.
The contents of this message type correspond the second line of an intercepted function call (see Section~\ref{sec:automated-testing-on-intercepted-function-calls}).
\section{Creating a Socket Server in Python}\label{sec:creating-a-socket-server-in-python}
Lorem Ipsum.
\section{Automated Testing using Function Call Manipulation}\label{sec:automated-testing-using-function-call-manipulation}
Lorem Ipsum.

View File

@@ -0,0 +1,4 @@
\chapter{Comparison to similar Solutions}\label{ch:comparison}
Lorem Ipsum.

View File

@@ -1,184 +0,0 @@
\chapter{Manipulating Function Calls}\label{ch:manipulating-function-calls}
This chapter discusses how to manipulate function calls and how this may be used to test programs.
How function calls may be intercepted at all has been discussed in Chapter~\ref{ch:intercepting-function-calls}.
This chapter builds on the basis of the previous one and expands its functions.
In this context, ``manipulation'' means changing the arguments of a function before calling it with the modified arguments, or skipping the execution of the real function completely and simply returning a given value (``mocking'').
These techniques allow in-depth testing of programs.
In contrast to simply recording and logging function calls, which may be controlled via environment variables, manipulation of such function calls requires some other process to indicate how to handle each call.
This work uses simple Unix domain sockets to communicate between the process of the program to be tested, and a ``server'', which decides what action to perform for each function call.
Currently, only communication over Unix domain sockets is implemented, but communication over TCP sockets is also easily possible.
This approach is similar to the one used in \cite{ostia} to communicate with the \textit{agent}.
Figure~\ref{fig:control-flow} illustrates the control flow for manipulating function calls.
\begin{figure}
\begin{sequencediagram}
\newthread{p}{:Program}
\newinst{l}{:\texttt{\textit{lib}.so}}
\newinst{i}{:\texttt{intercept.so}}
\newthreadShift[gray]{s}{:Server}{2cm}
%\begin{sdblock}{Normal Call}{}
% \begin{call}{p}{read()}{l}{return a}
% \end{call}
%\end{sdblock}
\begin{sdblock}{Intercepted Call}{}
\begin{call}{p}{malloc(x)}{i}{return a}
\mess{i}{{``malloc(x)''}}{s}
\mess{s}{``ok''}{i}
\begin{call}{i}{malloc(x)}{l}{return a}
\end{call}
\mess{i}{``return a''}{s}
\end{call}
\end{sdblock}
\begin{sdblock}{Modified Call}{}
\begin{call}{p}{malloc(x)}{i}{return b}
\mess{i}{{``malloc(x)''}}{s}
\mess{s}{``modify y''}{i}
\begin{call}{i}{malloc(y)}{l}{return b}
\end{call}
\mess{i}{``return b''}{s}
\end{call}
\end{sdblock}
\begin{sdblock}{Mocked Call}{}
\begin{call}{p}{malloc(x)}{i}{return c}
\mess{i}{{``malloc(x)''}}{s}
\mess{s}{``fail'' / ``return c''}{i}
\mess{i}{``return c''}{s}
\end{call}
\end{sdblock}
\end{sequencediagram}
\centering
\caption{Simplified Control Flow for Function Call Manipulation.}
\label{fig:control-flow}
\end{figure}
\section{Defining a Protocol}\label{sec:defining-a-protocol}
When using a socket to communicate with another process, a protocol definition is needed.
This work defines a text-based protocol in which line breaks denote the end of a message.
The following subsections describe the defined message types.
\subsection{\textit{Init} Message (Client \textrightarrow{} Server)}\label{subsec:init-message}
This message is the first message sent in a newly established connection.
The client (\texttt{intercept.so}) uses it to identify the running program to the server (PID, path, \dots).
\subsection{\textit{Call} Message (Client \textrightarrow{} Server)}\label{subsec:call-message}
For each function call, the client sends this message to the server and waits for a reply (\textit{Action} message).
The contents of this message type correspond to the first line of an intercepted function call (see Section~\ref{sec:automated-testing-on-intercepted-function-calls}).
\subsection{\textit{Action} Message (Server \textrightarrow{} Client)}\label{subsec:action-message}
After receiving a \textit{Call} message from the client, the server decides what the client should do with this call.
The server responds in one of four possible ways:
\begin{description}
\item[\texttt{"ok"}] indicates that the function should be called normally.
\item[\texttt{"modify \textit{ARG...}"}] indicates that the arguments of the function should be changed according to the message before the call to the function.
\item[\texttt{"fail \textit{ERROR}"}] indicates that the function should not be called and instead should fail with the given error code.
\item[\texttt{"return \textit{VALUE}"}] indicates that the function should simply return the provided value without calling the real function.
\end{description}
\subsection{\textit{Return} Message (Client \textrightarrow{} Server)}\label{subsec:return-message}
This message informs the server about the resulting return value.
The server does not acknowledge this message.
The contents of this message type correspond to the second line of an intercepted function call (see Section~\ref{sec:automated-testing-on-intercepted-function-calls}).
\section{Automated Testing using Function Call Manipulation}\label{sec:automated-testing-using-function-call-manipulation}
As seen in Figure~\ref{fig:control-flow} function call manipulation allows for mocking individual calls.
Mocking may be used to see how the program behaves when individual calls to a function fail, or return an unusual, but valid, value.
The simplest way to automatically test programs is to run them multiple times, allowing a single function call to fail in each run.
The resulting sequence of function calls now may be put together to a call sequence graph (or tree).
By analyzing this call graph, it is possible to decide if a program correctly terminated, when faced with a failed function call.
This may be the case when the following function calls differ from those which were recorded on a default run (without any mocked function calls).
\subsection{Testing Return Value Checks}\label{subsec:testing-return-value-checks}
Figure~\ref{fig:call-sequence} shows the simplified and collapsed call sequence graph of the prior example in Section~\ref{sec:intercepting-example}.
Each edge between two nodes without any label indicates the next function call on a normal run of the program.
Edges labeled with ``fail'' indicate the next function call after a mocked failed call.
In reality, there are multiple failing paths, one for each possible error return value.
However, in this example they all yield the same resulting path, and have therefore been collapsed.
To test if a programmer always checked the return value of a function and acted accordingly, this resulting call sequence graph now may be analyzed.
At first glance, this test appears trivial.
The simplest approach is to verify that after a failing function call only ``cleanup'' function calls (\texttt{free}, \texttt{close}, \texttt{exit}, \dots) follow.
For simple programs, this assumption may hold, but there are many exceptions.
For example, what if the program recognizes the failed call correctly as failed but recovers and continues to operate normally?
Or what if the ``cleanup'' path is very complex and includes function calls not priorly marked as valid cleanup functions?
However, for simple programs (like those mentioned in Section~\ref{sec:motivation-and-goal}), the simplest approach from above suffices.
\begin{figure}
\begin{tikzpicture}[node distance=15mm, thick, main/.style = {draw, circle}, text centered]
\newcommand{\fncall}[2]{\tiny{\begin{tabular}{c}\normalsize{\texttt{#1}}\\\texttt{#2}\end{tabular}}}
\node[main] (1)[elips] {\fncall{getopt}{client+0x1ac5, client.c:186}};
\node[main] (2)[elips] [below of=1] {\fncall{getaddrinfo}{client+0x147b, client.c:74}};
\node[main] (3)[elips] [below of=2] {\fncall{socket}{client+0x14f2, client.c:81}};
\node[main] (4)[elips] [below of=3] {\fncall{connect}{client+0x15f3, client.c:104}};
\node[main] (5)[elips] [below of=4] {\fncall{freeaddrinfo}{client+0x1638, client.c:114}};
\node[main] (6)[elips] [below of=5] {\fncall{send}{client+0x1f5c, client.c:277}};
\node[main] (7)[elips] [below of=6] {\fncall{recv}{client+0x1fa1, client.c:284}};
\node[main] (8)[elips] [below of=7] {\fncall{recv}{client+0x2062, client.c:300}};
\node[main] (9)[elips] [below of=8] {\fncall{recv}{client+0x2442, client.c:360}};
\node[main] (10)[elips] [below of=9] {\fncall{recv}{client+0x2442, client.c:360}};
\node[main] (11)[elips] [below of=10] {\fncall{close}{client+0x2489, client.c:375}};
\node[main] (12)[elips] [below of=11] {\fncall{exit}{sys+0x0}};
\node[main] (2f1)[elips] [right=10mm of 2] {\fncall{exit}{sys+0x0}};
\node[main] (3f1)[elips] [right=10mm of 3] {\fncall{freeaddrinfo}{client+0x1638, client.c:114}};
\node[main] (4f1)[elips] [right=10mm of 4] {\fncall{close}{client+0x1611, client.c:106}};
\draw[->] (1) -- (2);
\draw[->] (2) -- (3);
\draw[->] (2) -- node[midway, above, sloped, pos=0.5] {fail} (2f1);
\draw[->] (3) -- (4);
\draw[->] (3) -- node[midway, above, sloped, pos=0.5] {fail} (3f1);
\draw[->] (3f1) -- (2f1);
\draw[->] (4) -- (5);
\draw[->] (4) -- node[midway, above, sloped, pos=0.5] {fail} (4f1);
\draw[->] (4f1) -- (3f1);
\draw[->] (5) -- (6);
\draw[->] (6) -- (7);
\draw[->] (7) -- (8);
\draw[->] (8) -- (9);
\draw[->] (9) -- (10);
\draw[->] (10) -- (11);
\draw[->] (11) -- (12);
\draw[->] (6) to [out=0,in=-4,looseness=2] node[midway, above, pos=0.05] {fail} (11);
\draw[->] (7) to [out=0,in=-2,looseness=1.75] node[midway, above, pos=0.075] {fail} (11);
\draw[->] (8) to [out=0,in=0,looseness=1.5] node[midway, above, pos=0.1] {fail} (11);
\draw[->] (9) to [out=0,in=2,looseness=1.25] node[midway, above, pos=0.1] {fail} (11);
\draw[->] (10) to [out=0,in=3,looseness=1] node[midway, above, pos=0.1] {fail} (11);
\end{tikzpicture}
\centering
\caption{Simplified Call Sequence Graph of \texttt{./client}.}
\label{fig:call-sequence}
\end{figure}
\subsection{Testing Correct Handling of Interrupts}\label{subsec:testing-interrupts}
Many functions (like \texttt{read}, \texttt{write}, or \texttt{sem\_wait}) are interruptable by signals.
When this happens, they return a value indicating an error and set \texttt{errno} to \texttt{EINTR}.
Usually, the program is expected to repeat the call until it gets a real return value or error other than \texttt{EINTR}.
Therefore, testing correct handling of interrupts is a different type of test in contrast to general tests on return value checks as seen in Subsection~\ref{subsec:testing-return-value-checks}.
It is relatively simple to test if a program correctly handles interrupts.
On any function call that may yield \texttt{EINTR} mock the call and return exactly that error.
Afterward, check if the same function is called again.
To increase confidence in the result, one may repeat this process multiple times.
As in the test in Subsection~\ref{subsec:testing-return-value-checks}, the handling of the interrupt may involve calls to other functions, so this method is not always the right choice.
But for simple programs, it totally suffices.

View File

@@ -1,232 +0,0 @@
\chapter{Evaluation}\label{ch:evaluation}
This chapter evaluates the developed approach in terms of both its practical usefulness and its performance.
Section~\ref{sec:usefulness} examines how well the library and tools support automated testing in the context of the Operating Systems course.
Section~\ref{sec:performance} analyzes the performance overhead introduced by intercepting function calls.
\section{Usefulness for the Operating Systems Course}\label{sec:usefulness}
Up until recently the Operating Systems course (mentioned in Section~\ref{sec:motivation-and-goal}) was split into three exercise blocks:
Files, Shared Memory, Semaphores; Related Processes and Inter-Process Communication via Unnamed Pipes; and Sockets.
Table~\ref{tab:functions} lists all functions presented in the course and their implementation status in \texttt{intercept.so}.
As one may see, simple file stream functions are not currently implemented in \texttt{intercept.so}.
This is because of time restrictions on this work, and the fact that simple file operations may be tested easily in the conventional way of checking the resulting output.
Note that the future implementation of single functions is not very complex.
All other functions have at least interception and mocking (returning, failing) implemented.
For some functions the modification of function arguments has been implemented.
\begin{table}[h!]
\centering
\begin{threeparttable}
\begin{tabular}{ c|l|c }
Ex. Block & Functions & Implementation \\
\hline
- & malloc, calloc, realloc, reallocarray, free & \texttt{icmrf} \\
- & getopt & \texttt{ic-rf} \\
- & sigaction & \texttt{ic-{}-f} \\
- & mmap & \texttt{ic-rf} \\
- & munmap & \texttt{icmrf} \\
- & close & \texttt{icmrf} \\
\hline
1 & open, fopen, fdopen & \texttt{-{}-{}-{}-{}-} \\
1 & read, pread, write, pwrite & \texttt{ic-rf} \\
1 & fread, fgets, fgetc, fwrite, fputs, fputc, fprintf, fseek & \texttt{-{}-{}-{}-{}-} \\
1 & ferror, feof, clearerr, fileno, fflush, fclose & \texttt{-{}-{}-{}-{}-} \\
1 & getline, getdelim & \texttt{ic-rf} \\
1 & shm\_open, ftruncate, shm\_unlink & \texttt{icmrf} \\
1 & sem\_open, shm\_close, sem\_unlink & \texttt{icmrf} \\
1 & sem\_wait, sem\_post & \texttt{icmrf} \\
1 & sem\_trywait, sem\_timedwait & \texttt{icmrf} \\
1 & sem\_getvalue, sem\_destroy & \texttt{icmrf} \\
\hline
2 & fork, wait, waitpid & \texttt{icmrf} \\
2 & exec*, fexecve & \texttt{ic-rf} \\
2 & exit & \texttt{icm-{}-} \\
2 & pipe & \texttt{ic-rf} \\
2 & dup, dup2, dup3 & \texttt{icmrf} \\
\hline
3 & socket, bind, accept, connect & \texttt{ic-rf} \\
3 & listen & \texttt{icmrf} \\
3 & getaddrinfo & \texttt{ic-rf} \\
3 & freeaddrinfo & \texttt{icmrf} \\
3 & send, recv & \texttt{ic-rf} \\
3 & sendto, sendmsg, recvfrom, recvmsg & \texttt{ic-rf} \\
3 & setsockopt & \texttt{-{}-{}-{}-{}-} \\
\end{tabular}
\begin{tablenotes}
\item[\texttt{i}] Function may be intercepted.
\item[\texttt{c}] Complex function arguments or return value(s) are recorded fully.
\item[\texttt{m}] Function arguments may be modified.
\item[\texttt{r}] Function may be mocked using a specified return value.
\item[\texttt{f}] Function may be mocked using a specified error value.
\end{tablenotes}
\caption{List of relevant functions and their implementation status.}
\label{tab:functions}
\end{threeparttable}
\end{table}
\section{Performance}\label{sec:performance}
Although high performance was not a primary goal of this work, the performance degradation caused by interception and manipulation should not be excessive.
The following two subsections test and discuss the performance degradation of \texttt{intercept.so} compared to running a program without any interception or hooking.
\subsection{Performance when Intercepting}\label{subsec:performance-intercepting}
To test the performance of \texttt{intercept.so}, the following measurement environment was set up.
On an x86-64 machine with an AMD Ryzen 7 7700X 8-Core processor, a simple program was called with an increasing number of iterations it had to perform.
The program simply called the \texttt{pipe} function and then closed the created pipes in a for loop.
At first execution time of the program was measured without using \texttt{intercept.so} (``Baseline'').
Then \texttt{intercept.so} was preloaded, but without any action to perform when intercepting (``Intercepting'').
After that, logging to \texttt{stderr} was enabled (``Logging to stderr'').
Finally, the logs were written to a file (``Logging to file'').
For each of the four variants, the program was called with an iteration count beginning at 100 and increasing in steps of 100 up to 5000.
Each measurement was taken 30 times, with one second between program executions to rule out statistical outliers.
Figure~\ref{fig:intercept-performance} illustrates the results.
It is clearly visible that the initialization step of \texttt{intercept.so} always takes around 10 ms.
In comparison to that, the performance degradation of the intercepting procedure alone is negligible, only around +13\% compared to the baseline execution (see ``Intercept -- 10 ms'' and ``Baseline'').
Most of the delay is caused by logging the recorded function calls.
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[
xmin=100, xmax=5000,
ymin=0, ymax=150,
scaled y ticks=false,
ymajorgrids=true,
grid style=dashed,
legend pos=north west,
legend cell align={left},
width=\textwidth,
xlabel=Iterations,
ylabel=Execution Time,
x unit=\#,
y unit=\si{\milli\second},
]
\addplot[color=blue] table [x=Cycles, y expr=\thisrow{Baseline Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
\addlegendentry{Baseline}
\addplot[name path=a_top,color=blue!50,forget plot] table [x=Cycles, y expr=(\thisrow{Baseline Avg} + \thisrow{Baseline SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[name path=a_down,color=blue!50,forget plot] table [x=Cycles, y expr=(\thisrow{Baseline Avg} - \thisrow{Baseline SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[blue!20,fill opacity=0.2] fill between[of=a_top and a_down];
\addlegendentry{Baseline ±SD}
\addplot[color=green] table [x=Cycles, y expr=\thisrow{Intercept Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
\addlegendentry{Intercepting}
\addplot[name path=b_top,color=green!50,forget plot] table [x=Cycles, y expr=(\thisrow{Intercept Avg} + \thisrow{Intercept SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[name path=b_down,color=green!50,forget plot] table [x=Cycles, y expr=(\thisrow{Intercept Avg} - \thisrow{Intercept SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[green!20,fill opacity=0.2] fill between[of=b_top and b_down];
\addlegendentry{Intercepting ±SD}
\addplot[color=teal] table [x=Cycles, y expr=(\thisrow{Intercept Avg} - 10000000) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addlegendentry{Intercepting -- 10 ms}
\addplot[color=red] table [x=Cycles, y expr=\thisrow{Stderr Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
\addlegendentry{Logging to stderr}
\addplot[name path=c_top,color=red!50,forget plot] table [x=Cycles, y expr=(\thisrow{Stderr Avg} + \thisrow{Stderr SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[name path=c_down,color=red!50,forget plot] table [x=Cycles, y expr=(\thisrow{Stderr Avg} - \thisrow{Stderr SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[red!20,fill opacity=0.2] fill between[of=c_top and c_down];
\addlegendentry{Logging to stderr ±SD}
\addplot[color=orange] table [x=Cycles, y expr=\thisrow{File Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
\addlegendentry{Logging to File}
\addplot[name path=d_top,color=orange!50,forget plot] table [x=Cycles, y expr=(\thisrow{File Avg} + \thisrow{File SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[name path=d_down,color=orange!50,forget plot] table [x=Cycles, y expr=(\thisrow{File Avg} - \thisrow{File SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[orange!20,fill opacity=0.2] fill between[of=d_top and d_down];
\addlegendentry{Logging to File ±SD}
\end{axis}
\end{tikzpicture}
\caption{Execution times of a simple program using \texttt{intercept.so} with different output modes.}
\label{fig:intercept-performance}
\end{figure}
\subsection{Performance when Manipulating}\label{subsec:performance-manipulating}
Meaningful performance evaluation of function call manipulation requires a specific server implementation, since the response speed of the server dominates overall performance.
As seen in Subsection~\ref{subsec:performance-intercepting}, most delay comes not from intercepting itself, but from the further processing.
This also applies to function call manipulation.
The performance degradation heavily depends on the response speed of the used socket.
Despite this, a simple performance test has been conducted.
The setup was the same as in Subsection~\ref{subsec:performance-intercepting}.
But this time \texttt{intercept.so} was configured to connect to a Unix domain socket.
At first, a simple C program was used to respond to the messages on the socket, only using \texttt{getline} and \texttt{fprintf}.
For the first test run the program always responded with the \texttt{"ok"} command (``Manipulate (simple ok)''), for the second with the \texttt{"return 0"} command (``Manipulate (simple return)'').
After that, the default Python implementation developed in this work, which parses the incoming messages automatically, was tested.
Again, at first always responding with the \texttt{"ok"} command (``Manipulate (Python ok)''), and then with the \texttt{"return 0"} command (``Manipulate (Python return)'').
Figure~\ref{fig:manipulate-performance} illustrates the results and some previous measurements for context.
Results of the simple C program show, that the communication over the socket alone has only minimal overhead compared with ``Logging to stderr''.
Due to the parsing of messages the Python program has slightly worse performance degradation.
The ``return'' test is slightly faster compared to the ``ok'' test, because the \texttt{pipe} function normally responds with \texttt{return 0; errno 0; fildes=[7,8]}, but when using \texttt{"return 0"} it responds with \texttt{return 0; errno 0}, which is less data to parse.
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[
xmin=100, xmax=5000,
ymin=0, ymax=400,
scaled y ticks=false,
ymajorgrids=true,
grid style=dashed,
legend pos=north west,
legend cell align={left},
width=\textwidth,
xlabel=Iterations,
ylabel=Execution Time,
x unit=\#,
y unit=\si{\milli\second},
]
\addplot[color=blue] table [x=Cycles, y expr=\thisrow{Baseline Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
\addlegendentry{Baseline}
\addplot[name path=a_top,color=blue!50,forget plot] table [x=Cycles, y expr=(\thisrow{Baseline Avg} + \thisrow{Baseline SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[name path=a_down,color=blue!50,forget plot] table [x=Cycles, y expr=(\thisrow{Baseline Avg} - \thisrow{Baseline SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[blue!20,fill opacity=0.2] fill between[of=a_top and a_down];
\addlegendentry{Baseline ±SD}
\addplot[color=green] table [x=Cycles, y expr=\thisrow{Intercept Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
\addlegendentry{Intercepting}
\addplot[name path=b_top,color=green!50,forget plot] table [x=Cycles, y expr=(\thisrow{Intercept Avg} + \thisrow{Intercept SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[name path=b_down,color=green!50,forget plot] table [x=Cycles, y expr=(\thisrow{Intercept Avg} - \thisrow{Intercept SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[green!20,fill opacity=0.2] fill between[of=b_top and b_down];
\addlegendentry{Intercepting ±SD}
\addplot[color=red] table [x=Cycles, y expr=\thisrow{Ok Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
\addlegendentry{Manipulate (simple ok)}
\addplot[name path=d_top,color=red!50,forget plot] table [x=Cycles, y expr=(\thisrow{Ok Avg} + \thisrow{Ok SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[name path=d_down,color=red!50,forget plot] table [x=Cycles, y expr=(\thisrow{Ok Avg} - \thisrow{Ok SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[red!20,fill opacity=0.2] fill between[of=d_top and d_down];
\addlegendentry{Manipulate (simple ok) ±SD}
\addplot[color=orange] table [x=Cycles, y expr=\thisrow{Return Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
\addlegendentry{Manipulate (simple return)}
\addplot[name path=d_top,color=orange!50,forget plot] table [x=Cycles, y expr=(\thisrow{Return Avg} + \thisrow{Return SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[name path=d_down,color=orange!50,forget plot] table [x=Cycles, y expr=(\thisrow{Return Avg} - \thisrow{Return SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[orange!20,fill opacity=0.2] fill between[of=d_top and d_down];
\addlegendentry{Manipulate (simple return) ±SD}
\addplot[color=cyan] table [x=Cycles, y expr=\thisrow{PyOk Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
\addlegendentry{Manipulate (Python ok)}
\addplot[name path=d_top,color=cyan!50,forget plot] table [x=Cycles, y expr=(\thisrow{PyOk Avg} + \thisrow{PyOk SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[name path=d_down,color=cyan!50,forget plot] table [x=Cycles, y expr=(\thisrow{PyOk Avg} - \thisrow{PyOk SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[cyan!20,fill opacity=0.2] fill between[of=d_top and d_down];
\addlegendentry{Manipulate (Python ok) ±SD}
\addplot[color=magenta] table [x=Cycles, y expr=\thisrow{PyReturn Avg}/1000000, col sep=semicolon] {src/performance/stat.csv};
\addlegendentry{Manipulate (Python return)}
\addplot[name path=d_top,color=magenta!50,forget plot] table [x=Cycles, y expr=(\thisrow{PyReturn Avg} + \thisrow{PyReturn SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[name path=d_down,color=magenta!50,forget plot] table [x=Cycles, y expr=(\thisrow{PyReturn Avg} - \thisrow{PyReturn SD}) / 1000000, col sep=semicolon] {src/performance/stat.csv};
\addplot[magenta!20,fill opacity=0.2] fill between[of=d_top and d_down];
\addlegendentry{Manipulate (Python return) ±SD}
\end{axis}
\end{tikzpicture}
\caption{Execution times of a simple program using \texttt{intercept.so} with different manipulation modes.}
\label{fig:manipulate-performance}
\end{figure}

View File

@@ -0,0 +1,12 @@
\chapter{Related Work}\label{ch:related-work}
Lorem Ipsum.
What other solutions are available?
What are the differences?
What are the characteristics?
https://sholtrop.dev/blog/on-intercepting-linux-syscalls/
https://github.com/yasukata/zpoline

View File

@@ -1,27 +1,9 @@
\chapter{Conclusion}\label{ch:conclusion}
The primary goal of this work was to support the Operating Systems course by providing a practical and reliable way to automatically test students' C programs.
Exercises in this course often involve low-level concepts such as semaphores, sockets, and shared memory, which are difficult to test automatically with conventional approaches.
The motivation was therefore to develop a technique that allows intercepting function calls in order to verify whether students invoked the correct functions with appropriate arguments and in the correct order.
Lorem Ipsum.
To address these challenges, this work presented \texttt{intercept.so}, a shared object file intended to be preloaded using \texttt{LD\_PRELOAD}, which may be used to intercept function calls on Linux systems.
Furthermore, a supporting Python program, \texttt{intercept}, was presented to make the shared object easier to use.
By using preloading to hook or intercept function calls, the overhead and performance degradation remain negligible for the purpose of testing student submissions.
To make use of intercepted function calls, some techniques of automatic testing of simple C programs were discussed.
Perhaps do some study/``research'' on performance (CPU/memory/\dots).
In addition, the work has shown that creating an automated testing tool for the Operating Systems course assignments is both feasible and practical.
The evaluation indicates that performance overhead is negligible and therefore not a hindrance to real-world use.
Finally, since the approach relies on standard and portable mechanisms, the solution can be considered future-proof and adaptable to other environments.
The source code of the programs developed in this work is attached below.
(Not all PDF viewers may open/download attachments.)
\texttt{intercept.so}:
\textattachfile[mimetype=text/plain]{../proj/intercept/src/intercept.c}{\textcolor{blue}{\texttt{intercept.c}}} (source code), and
\textattachfile[mimetype=text/plain]{../proj/intercept/Makefile}{\textcolor{blue}{\texttt{Makefile}}}.
\textattachfile[mimetype=text/plain]{../proj/intercept/intercept}{\textcolor{blue}{\texttt{intercept}}} (Python program).
Automatic testing:
\textattachfile[mimetype=application/zip]{src/attachments/auto-test.zip}{\textcolor{blue}{\texttt{auto-test.zip}}} (zipped Python programs).
%\attachfile[appearance=false,print=false,mimetype=text/plain,description=intercept.c]{../proj/intercept/src/intercept.c}
%\attachfile[appearance=false,print=false,mimetype=text/plain,description=Makefile]{../proj/intercept/Makefile}

View File

@@ -37,12 +37,6 @@
@manual{malloc.3,
title = {malloc(3) -- Library Functions Manual -- Linux manual pages},
}
@manual{getaddrinfo.3,
title = {getaddrinfo(3) -- Library Functions Manual -- Linux manual pages},
}
@manual{getline.3,
title = {getline(3) -- Library Functions Manual -- Linux manual pages},
}
@book{netsectools2005,
author = {Dhanjani, Nitesh and Clarke, Justin},
title = {Network Security Tools},
@@ -52,123 +46,7 @@
publisher = {O'Reilly},
url = {https://litux.nl/mirror/networksecuritytools/0596007949/toc.html},
}
@book{linuxkernel,
author = {Daniel P. Bovet and Marco Cesati},
title = {Understanding the Linux Kernel},
subtitle = {From I/O Ports to Process Management},
edition = {3rd},
date = {November 2005},
isbn = {978-0-596-00565-8},
publisher = {O'Reilly},
}
@manual{gcc,
title = {Using the GNU Compiler Collection (GCC)},
url = {https://gcc.gnu.org/onlinedocs/gcc/index.html},
}
@manual{sud,
title = {Syscall User Dispatch -- The Linux Kernel documentation},
url = {https://docs.kernel.org/admin-guide/syscall-user-dispatch.html},
}
@inproceedings{zpoline,
author = {Kenichi Yasukata and Hajime Tazaki and Pierre-Louis Aublin and Kenta Ishiguro},
title = {zpoline: a system call hook mechanism based on binary rewriting},
booktitle = {2023 USENIX Annual Technical Conference (USENIX ATC '23)},
year = {2023},
isbn = {978-1-939133-35-9},
address = {Boston, MA},
pages = {293--300},
url = {https://www.usenix.org/conference/atc23/presentation/yasukata},
publisher = {USENIX Association},
month = jul,
}
@article{datahook,
author = {Hong, Quan and Li, Jiaqi and Zhang, Wen and Zhai, Lidong},
title = {DataHook: An Efficient and Lightweight System Call Hooking Technique without Instruction Modification},
year = {2025},
issue_date = {July 2025},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {2},
number = {ISSTA},
url = {https://doi.org/10.1145/3728874},
doi = {10.1145/3728874},
journal = {Proc. ACM Softw. Eng.},
month = jun,
articleno = {ISSTA005},
numpages = {21},
keywords = {DataHook, Hooking technique, Software analysis, Software debugging, System call},
}
@article{lopez2017,
title={A survey on function and system call hooking approaches},
author={Lopez, Juan and Babun, Leonardo and Aksu, Hidayet and Uluagac, A. Selcuk},
journal={Journal of Hardware and Systems Security},
volume={1},
number={2},
pages={114--136},
year={2017},
publisher={Springer},
}
@masterthesis{kern2023,
author = {Patrick Kern},
title = {Injecting Shared Libraries with LD\_PRELOAD for Cyber Deception},
school = {TU Wien},
year = {2023},
}
@inproceedings{guo2011cde,
title={CDE: Using system call interposition to automatically create portable software packages},
author={Guo, Philip J. and Engler, Dawson},
booktitle={2011 USENIX Annual Technical Conference (USENIX ATC 11)},
year={2011},
}
@inproceedings{detours,
title={Detours: Binary interception of Win32 functions},
author={Galen Hunt and Doug Brubacher},
booktitle={Windows NT 3rd symposium},
year={1999},
}
@inproceedings{spillane2007,
author = {Spillane, Richard P. and Wright, Charles P. and Sivathanu, Gopalan and Zadok, Erez},
title = {Rapid file system development using ptrace},
year = {2007},
isbn = {9781595937513},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/1281700.1281722},
doi = {10.1145/1281700.1281722},
booktitle = {Proceedings of the 2007 Workshop on Experimental Computer Science},
pages = {22es},
keywords = {rapid prototyping, monitors},
location = {San Diego, California},
series = {ExpCS '07},
}
@inproceedings{spif,
author = {Sze, Wai Kit and Sekar, R.},
title = {Provenance-based Integrity Protection for Windows},
year = {2015},
isbn = {9781450336826},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/2818000.2818011},
doi = {10.1145/2818000.2818011},
booktitle = {Proceedings of the 31st Annual Computer Security Applications Conference},
pages = {211220},
numpages = {10},
location = {Los Angeles, CA, USA},
series = {ACSAC '15},
}
@inproceedings{ostia,
title={Ostia: A Delegating Architecture for Secure System Call Interposition},
author={Garfinkel, Tal and Pfaff, Ben and Rosenblum, Mendel},
booktitle={NDSS},
year={2004},
}
@inproceedings{fraser2000,
author={Fraser, T. and Badger, L. and Feldman, M.},
booktitle={Proceedings DARPA Information Survivability Conference and Exposition. DISCEX'00},
title={Hardening COTS software with generic software wrappers},
year={2000},
volume={2},
number={},
pages={323-337 vol.2},
doi={10.1109/DISCEX.2000.821530},
}

Binary file not shown.

Binary file not shown.

View File

@@ -1,50 +0,0 @@
0324229;0344789;0315172;0366980;0451151;0462482;0446011;0296485;0465337;0405983;0343554;0440008;0465907;0449405;0348523;0361888;0358973;0335639;0323174;0333324;0434446;0444885;0455145;0433704;0316631;0440787;0464201;0453772;0438272;0314808
0613534;0585481;0624114;0707201;0626529;0729825;0782584;0682264;0592513;0788676;0615306;0619885;0818591;0608523;0603173;0642398;0606199;0794877;0647046;0624163;0786830;0623031;0630574;0588264;0766903;0706558;0741855;0920262;0822026;0635223
0915874;0929220;1354985;1253021;0970777;0876259;0918032;0873931;0920173;1045615;1097067;0876029;0905656;1020317;0950143;0951745;1152357;0927634;1178937;1007000;1016156;1086956;0890182;0928126;0877984;1030849;0931188;1325593;0972338;0960041
1457189;1225447;1443298;1345482;1255010;1345018;1228475;1480843;1238893;1185135;1416952;1351642;1326401;1356037;1200298;1234515;1257900;1182870;1175615;1307243;1238887;1271089;1275817;1269635;1331454;1376381;1361040;1392340;1314486;1278415
1521309;1644208;1452842;1587104;1814898;1534939;1578423;1540678;1507091;1548842;1521678;1638374;1487388;1752173;1573874;1508567;1487365;1667193;1762838;1807674;1541997;1453635;1574287;1723888;1569727;1498438;1784162;1593661;1551629;1538803
1822231;1856406;1896143;1744459;1909036;1804293;2031491;1835551;1764232;1930073;1751766;2003322;1839696;1984855;1865374;1884680;1781369;1920989;1838749;1832316;2312261;1831192;1808037;1838015;1866569;1938166;1789449;2026515;2255656;1900361
2249322;2038867;2235614;2346377;2350745;2435958;2226564;2220021;2186657;2418702;2076484;2216182;2111830;2137850;2214567;2388661;2044799;2188625;2183625;2099032;2230664;2376744;2157352;2189644;2171629;2132283;2277501;2172709;2148432;2187367
2840629;2714056;3141806;2771946;2452543;2438436;2583173;2758749;2733540;2701128;2338241;2385792;2315547;2598459;2463330;2686587;2569853;2778734;2605430;2459150;2497503;2617182;2874473;2881476;2731159;2360229;2800070;2855626;2305833;2588464
2978300;2626996;2933804;2631274;3037121;2939714;3036780;2841646;2610784;2877925;2946946;2634919;2657963;2935193;2753896;2737855;2756861;2829440;3144120;3112911;2776608;3107951;2616942;2708567;2764044;2815251;2860607;2597754;2755776;2746568
2999501;2902085;2940890;3118959;3049757;2920500;3238958;3070095;3217436;2939725;3034706;3040568;3048622;3480659;2993758;2893466;2930207;3083369;3046619;3269283;3239346;3517567;3081805;3383581;3234205;3369042;2918031;3161585;3067757;3071072
3543013;3210018;3363180;3404129;3413245;3500030;3192354;3387165;3357448;3659976;3444655;3337371;3357308;3506982;3391863;3432280;3403546;3654543;3171783;3366734;3207305;3389343;3181995;3563026;3181420;3687811;3437920;3353197;3630820;3452862
3575325;3688759;3666803;3519527;3884132;3680724;3482566;3721951;3699715;3858539;3868556;3597023;3690668;3687269;3970321;3472939;3639528;3643774;3965451;3642107;4044074;3741771;3642391;4113987;3770622;3684498;3595078;3832436;3670054;3722726
4098397;3995101;3962495;4017150;3984825;4076955;3949461;4158994;4043784;4190313;4131274;3785438;4133945;4241796;4129853;4145823;4148908;4294683;4218621;4174221;4005968;3874757;3936558;4056813;3959610;4040818;4166043;4149699;3911579;4640181
4666722;4289677;4486504;4537451;4197031;4297046;4320099;4110465;4325216;4077628;4070002;4295042;4295442;4443802;4370365;4095314;4266498;4286406;4423824;4323537;4304137;4504107;4540978;4272880;4295273;4306995;4059830;4100668;4306720;3905504
4921671;4576855;4588897;4761663;4429743;4209511;4905470;4367176;4751576;4808977;4805048;4390056;4327562;4162519;4448166;4151796;4899454;4805249;4608714;4807731;4501893;4559895;4592558;4567107;4779029;4553147;4563767;4534558;4598853;4187771
4866412;4869016;4860007;5015458;4884161;4776511;4907164;5362039;4501933;4871731;4992255;4878543;4975771;5257238;5042218;5221004;4782161;5216373;4757570;4697362;4897109;4883963;4900504;5029424;4868490;4722535;4913435;4952309;4922270;4867503
5138528;4961783;5176560;4987482;5190235;5459997;5166306;5177587;5164812;4942039;5194908;5430193;5182462;5310149;5183853;5203380;5316989;5303472;4959744;4895729;5276517;4969250;5143317;5426855;5161872;4968726;5017229;5187859;5360593;5136067
5468701;5814780;5631965;5476333;5513444;5553019;5488523;5540473;5379340;5533458;5494401;5182107;5262482;5583331;5671130;5509617;5498294;5485950;5173895;5466340;5472922;5190205;5412223;6033795;5241181;5893292;5456006;5467467;5844846;5193015
5738819;5522430;5510727;5906672;6174729;5763864;5888906;5784903;5692284;5815631;5772979;5899081;5500902;6141739;5893980;5713551;5799847;6178798;5465631;5998278;5806657;6073402;5835843;5788070;5906518;5790504;5683216;5906556;5753901;5470253
6051224;5853592;5934538;6381208;6163197;5902213;6338564;5936909;6069013;6060837;6042190;6102977;6099901;5932788;6298162;5861319;5900565;5800281;6063357;6143431;6113644;6201321;6114784;6089395;5833772;6054787;6204686;5948933;6061999;6235313
6334033;6503689;6375742;6404467;6392042;6039363;6440515;6339781;6364037;6065501;6471493;6397490;6674824;6052194;7032291;6207503;6381838;6353212;6389221;6367639;6337761;6337401;6421131;6386814;6255982;6113748;6369469;6456697;6455174;6611194
6500330;6330062;6706075;6530317;6545385;6532019;6746963;6367983;6374284;6738575;6658921;6645455;6625366;6705981;6371367;6521666;6565369;6528658;6409448;6588152;6686110;6872779;6931501;6857389;6880863;6664567;7105414;6807551;6495671;6399406
6672330;7073361;7003998;7313331;7286610;6973387;6791678;7007021;6786347;6936355;7017571;7090400;6956823;7053469;6974257;6741489;7023371;7066012;6704467;6702964;6961631;7228754;6986307;6627607;6970396;7006134;7066470;6943243;6972048;6649338
7326499;6962068;7266563;6911431;7462178;7379429;7796530;7496644;7800658;6952198;7276780;7273864;7364660;7245771;7339941;7351613;6947847;7330041;7364036;7332135;7186375;7249486;7588767;6927196;7364305;7021887;7307105;7319319;7253522;7270134
7605948;8106489;7805682;7375825;7690209;7613973;7679068;7482199;7350757;7900632;7722369;7670059;7866947;7794157;7615304;7562592;7270330;7699114;8007345;7682792;7729732;8174395;7822039;7879138;7744039;7683843;7272843;7601895;7643134;7559734
7928582;7910006;8049483;7914033;7906459;8521379;7872453;7892230;7672409;8272740;7554071;7561696;7603175;7864076;7817285;7563207;7245287;7552497;8043710;7093626;7212603;7360498;7211181;7478755;7164732;7218655;7125666;7212874;7508260;7647347
7795712;8189357;8138329;8263359;7993991;8296863;8169899;8252447;8326590;8345626;7768749;8307903;8215035;8545789;8187060;8267886;8121204;8176110;7862778;8165839;8127185;8412582;8161440;8153586;8275249;8146752;8257865;7784196;8172511;8354911
8509087;8472547;8556136;8149416;8064152;8656670;8636982;8759796;8126973;8741542;8494968;8511900;8489908;8269115;8147281;8613495;8477174;8233837;8552961;8573412;8564692;8660451;8334490;8491870;8817286;8494411;8176416;8535077;8065682;8259255
9021408;9136504;8445680;9025541;8849087;8438188;8813432;8952717;8906071;8857573;9025104;8934421;8578332;8992964;8813034;8868994;8813651;8376131;8627668;8878325;8830336;8508645;8807889;8842191;9219348;8909922;8368578;8628140;8805960;8858072
9165009;9231217;8940279;9095003;8673075;9083977;9237289;9130926;9013212;9188447;8658465;8834113;9663822;8645004;8962029;9159057;9091280;9155537;8662509;9054493;9093007;8663436;8781098;8663624;9068540;8634582;9265467;9169776;9233269;9105966
9494692;9402799;9235076;9546139;9322324;9415174;9427840;9537654;9036835;9726283;9440307;9275539;9195141;9210358;8918362;9067712;9809575;9642563;9056945;8956367;9382505;9823413;8978025;9338383;9640287;8944885;9580745;9045238;9057522;9424413
9782625;9239275;9224354;9707052;9351080;9434503;9755974;9517734;9231229;9666724;9864591;9994684;10018802;9888142;10011815;9918670;9792890;9901353;9767967;10056683;9790830;9975800;9727751;9830320;10516850;9778887;9734109;9886525;9911625;10084201
10000195;9657851;10232236;9721483;10272232;10016879;10160961;9999312;9637100;9684352;10133281;10266039;9621855;9506405;10211818;9746004;9830228;10158550;9512922;9790525;10048308;10416881;9515451;9647550;10224178;9529746;10121305;10163877;9517568;9928403
10421768;10132969;10688426;10106906;9929647;9990827;10390417;9905767;10412267;10336458;10398738;10451902;10050624;10371300;10009783;10386547;10629280;9950772;10657985;10555623;10345132;10563586;9917612;9803696;9818786;9904371;10589441;10159587;10318529;10403945
10630706;10658080;10134293;10644078;10512329;10779992;10615529;10235465;10254680;10743145;10145775;10793069;10781414;10739041;10107624;10809416;10704560;10106159;10388940;11319617;10696679;10791312;10298459;10657870;10583182;10718226;10090427;10640961;10426181;10465607
10881488;10359257;10713408;11308689;10958643;10947421;10594802;11056832;10654325;11324492;10553266;11139979;10534968;10896953;11190675;10522390;10992949;11168639;10592655;10962695;10920771;11070554;11426587;11333895;11180383;10985984;11212145;10922637;10661087;10901002
11155829;11647177;11442615;11427946;11287331;11305155;11267792;11245226;11291314;10809125;11308054;10790957;11328274;11265658;10882993;11572356;11603765;11310783;11013995;11225976;10908797;11530358;10785325;10880840;11292301;10857663;11254275;11960429;10766084;11165761
11515911;11448687;12109624;11078907;11353942;11025461;11787301;11607812;11628984;11300612;11006328;10985637;11817685;11574872;11463794;11816110;11556414;11935440;11761751;11298519;11251307;11604292;11393801;11733662;11599839;11098945;11390191;11551034;11580639;12167329
11923365;12048197;11972059;11901269;11280200;11700326;11320036;11419519;12074680;11211723;11616349;12064199;11351802;12175041;11366240;11998317;12299611;12037641;11340395;11556376;12334456;12227778;12067245;12124957;11866132;11973230;12041422;12073812;11953157;11405624
12165580;12072636;11948004;12189664;12181347;11749946;12493871;12468883;12070215;12804270;12241448;11720767;12386840;12541347;11735673;11931434;12306871;11889510;11536743;12381752;12143971;11920557;12159750;11936934;12076798;12210566;12254710;11540395;12268377;12387466
12860132;12326958;12498590;13018087;13087401;11969921;11935164;12709205;12695297;11853071;12625670;12549392;12505166;12618296;12592202;12466949;12762272;12707935;12544596;12846364;12704987;11894035;11878815;12608740;12637082;12030917;12633435;13020382;12547248;12669562
12883407;12871883;13135373;12804562;12850540;12982435;12201361;12916256;13116836;12700795;12925553;12588587;12515887;12196458;12134657;12317409;12609595;12454023;12789023;12834291;12821393;12848275;12917449;12845869;12890947;12606473;12596182;12212699;12944367;12964774
13103532;12555711;13224236;12699930;13022374;13055685;13031392;12493757;13341830;13369392;13101625;13567236;13289496;13090599;13194350;13109376;13030624;13056702;13179199;13222071;13141274;13041311;12746400;13334358;13441633;13359063;13234561;12677644;13404980;13216927
12862878;13032789;13852354;12997780;13633951;12851015;13445744;13751910;12949793;13557710;13356249;12893515;13608246;13386846;13515756;13208681;13422364;13931650;13719038;13240160;13395459;12921144;13428833;13335593;12971158;13474902;12714910;13144049;13034497;13453207
13758577;14074689;13842176;13661048;14205731;13434579;13761890;13684310;14184878;13995821;13949449;13272981;14397487;13373295;13611946;13790602;13158790;14006147;13174148;14033529;13842098;13652441;13585632;12963639;13200787;13505694;13645906;13266103;13759266;14130262
13933161;14529924;14379613;13568303;13590316;14588294;13754692;13670109;13977613;14016046;13735353;13678745;14379368;13794515;13531497;13966768;13582285;14018658;14309581;14735985;14100767;14101857;13900937;14350096;13724817;14134419;13547224;13678206;13706581;14338198
13650840;14458753;13829225;13584172;14928740;13582498;14444343;15004536;13676589;13607125;13863628;14244043;13971536;13659059;14758977;14583799;14669985;14561905;14493144;14025527;14428236;14550140;13574475;13653098;14306539;13801353;14810051;14648670;14328320;14719374
14419936;14946733;15384388;14470703;13993701;13871395;14440644;14565295;14734231;14393641;14839072;15116748;14812198;14104511;14849931;14186210;14691525;14922883;14630817;14767651;14382705;15069311;14018471;14705129;14743412;14706220;13964758;14108124;14621616;14839176
14845317;14986819;14241920;15045270;14663814;14194859;14682600;14389995;14946089;14419522;14734641;15116264;14320088;14851865;14619940;14832787;14418988;15109371;14928601;14747262;14904333;14963168;14426211;15066025;14295507;14603794;14952884;15001387;14620524;14327327
15629681;15281389;15345592;15363897;15640709;15488638;14675978;15458107;15023250;15577887;14696205;15337242;14731703;14935758;14813301;15280823;14479005;15668852;15016680;14700830;15443718;15528250;15400795;15071165;15242125;14832384;15422923;14714997;15544939;15649651
1 0324229 0344789 0315172 0366980 0451151 0462482 0446011 0296485 0465337 0405983 0343554 0440008 0465907 0449405 0348523 0361888 0358973 0335639 0323174 0333324 0434446 0444885 0455145 0433704 0316631 0440787 0464201 0453772 0438272 0314808
2 0613534 0585481 0624114 0707201 0626529 0729825 0782584 0682264 0592513 0788676 0615306 0619885 0818591 0608523 0603173 0642398 0606199 0794877 0647046 0624163 0786830 0623031 0630574 0588264 0766903 0706558 0741855 0920262 0822026 0635223
3 0915874 0929220 1354985 1253021 0970777 0876259 0918032 0873931 0920173 1045615 1097067 0876029 0905656 1020317 0950143 0951745 1152357 0927634 1178937 1007000 1016156 1086956 0890182 0928126 0877984 1030849 0931188 1325593 0972338 0960041
4 1457189 1225447 1443298 1345482 1255010 1345018 1228475 1480843 1238893 1185135 1416952 1351642 1326401 1356037 1200298 1234515 1257900 1182870 1175615 1307243 1238887 1271089 1275817 1269635 1331454 1376381 1361040 1392340 1314486 1278415
5 1521309 1644208 1452842 1587104 1814898 1534939 1578423 1540678 1507091 1548842 1521678 1638374 1487388 1752173 1573874 1508567 1487365 1667193 1762838 1807674 1541997 1453635 1574287 1723888 1569727 1498438 1784162 1593661 1551629 1538803
6 1822231 1856406 1896143 1744459 1909036 1804293 2031491 1835551 1764232 1930073 1751766 2003322 1839696 1984855 1865374 1884680 1781369 1920989 1838749 1832316 2312261 1831192 1808037 1838015 1866569 1938166 1789449 2026515 2255656 1900361
7 2249322 2038867 2235614 2346377 2350745 2435958 2226564 2220021 2186657 2418702 2076484 2216182 2111830 2137850 2214567 2388661 2044799 2188625 2183625 2099032 2230664 2376744 2157352 2189644 2171629 2132283 2277501 2172709 2148432 2187367
8 2840629 2714056 3141806 2771946 2452543 2438436 2583173 2758749 2733540 2701128 2338241 2385792 2315547 2598459 2463330 2686587 2569853 2778734 2605430 2459150 2497503 2617182 2874473 2881476 2731159 2360229 2800070 2855626 2305833 2588464
9 2978300 2626996 2933804 2631274 3037121 2939714 3036780 2841646 2610784 2877925 2946946 2634919 2657963 2935193 2753896 2737855 2756861 2829440 3144120 3112911 2776608 3107951 2616942 2708567 2764044 2815251 2860607 2597754 2755776 2746568
10 2999501 2902085 2940890 3118959 3049757 2920500 3238958 3070095 3217436 2939725 3034706 3040568 3048622 3480659 2993758 2893466 2930207 3083369 3046619 3269283 3239346 3517567 3081805 3383581 3234205 3369042 2918031 3161585 3067757 3071072
11 3543013 3210018 3363180 3404129 3413245 3500030 3192354 3387165 3357448 3659976 3444655 3337371 3357308 3506982 3391863 3432280 3403546 3654543 3171783 3366734 3207305 3389343 3181995 3563026 3181420 3687811 3437920 3353197 3630820 3452862
12 3575325 3688759 3666803 3519527 3884132 3680724 3482566 3721951 3699715 3858539 3868556 3597023 3690668 3687269 3970321 3472939 3639528 3643774 3965451 3642107 4044074 3741771 3642391 4113987 3770622 3684498 3595078 3832436 3670054 3722726
13 4098397 3995101 3962495 4017150 3984825 4076955 3949461 4158994 4043784 4190313 4131274 3785438 4133945 4241796 4129853 4145823 4148908 4294683 4218621 4174221 4005968 3874757 3936558 4056813 3959610 4040818 4166043 4149699 3911579 4640181
14 4666722 4289677 4486504 4537451 4197031 4297046 4320099 4110465 4325216 4077628 4070002 4295042 4295442 4443802 4370365 4095314 4266498 4286406 4423824 4323537 4304137 4504107 4540978 4272880 4295273 4306995 4059830 4100668 4306720 3905504
15 4921671 4576855 4588897 4761663 4429743 4209511 4905470 4367176 4751576 4808977 4805048 4390056 4327562 4162519 4448166 4151796 4899454 4805249 4608714 4807731 4501893 4559895 4592558 4567107 4779029 4553147 4563767 4534558 4598853 4187771
16 4866412 4869016 4860007 5015458 4884161 4776511 4907164 5362039 4501933 4871731 4992255 4878543 4975771 5257238 5042218 5221004 4782161 5216373 4757570 4697362 4897109 4883963 4900504 5029424 4868490 4722535 4913435 4952309 4922270 4867503
17 5138528 4961783 5176560 4987482 5190235 5459997 5166306 5177587 5164812 4942039 5194908 5430193 5182462 5310149 5183853 5203380 5316989 5303472 4959744 4895729 5276517 4969250 5143317 5426855 5161872 4968726 5017229 5187859 5360593 5136067
18 5468701 5814780 5631965 5476333 5513444 5553019 5488523 5540473 5379340 5533458 5494401 5182107 5262482 5583331 5671130 5509617 5498294 5485950 5173895 5466340 5472922 5190205 5412223 6033795 5241181 5893292 5456006 5467467 5844846 5193015
19 5738819 5522430 5510727 5906672 6174729 5763864 5888906 5784903 5692284 5815631 5772979 5899081 5500902 6141739 5893980 5713551 5799847 6178798 5465631 5998278 5806657 6073402 5835843 5788070 5906518 5790504 5683216 5906556 5753901 5470253
20 6051224 5853592 5934538 6381208 6163197 5902213 6338564 5936909 6069013 6060837 6042190 6102977 6099901 5932788 6298162 5861319 5900565 5800281 6063357 6143431 6113644 6201321 6114784 6089395 5833772 6054787 6204686 5948933 6061999 6235313
21 6334033 6503689 6375742 6404467 6392042 6039363 6440515 6339781 6364037 6065501 6471493 6397490 6674824 6052194 7032291 6207503 6381838 6353212 6389221 6367639 6337761 6337401 6421131 6386814 6255982 6113748 6369469 6456697 6455174 6611194
22 6500330 6330062 6706075 6530317 6545385 6532019 6746963 6367983 6374284 6738575 6658921 6645455 6625366 6705981 6371367 6521666 6565369 6528658 6409448 6588152 6686110 6872779 6931501 6857389 6880863 6664567 7105414 6807551 6495671 6399406
23 6672330 7073361 7003998 7313331 7286610 6973387 6791678 7007021 6786347 6936355 7017571 7090400 6956823 7053469 6974257 6741489 7023371 7066012 6704467 6702964 6961631 7228754 6986307 6627607 6970396 7006134 7066470 6943243 6972048 6649338
24 7326499 6962068 7266563 6911431 7462178 7379429 7796530 7496644 7800658 6952198 7276780 7273864 7364660 7245771 7339941 7351613 6947847 7330041 7364036 7332135 7186375 7249486 7588767 6927196 7364305 7021887 7307105 7319319 7253522 7270134
25 7605948 8106489 7805682 7375825 7690209 7613973 7679068 7482199 7350757 7900632 7722369 7670059 7866947 7794157 7615304 7562592 7270330 7699114 8007345 7682792 7729732 8174395 7822039 7879138 7744039 7683843 7272843 7601895 7643134 7559734
26 7928582 7910006 8049483 7914033 7906459 8521379 7872453 7892230 7672409 8272740 7554071 7561696 7603175 7864076 7817285 7563207 7245287 7552497 8043710 7093626 7212603 7360498 7211181 7478755 7164732 7218655 7125666 7212874 7508260 7647347
27 7795712 8189357 8138329 8263359 7993991 8296863 8169899 8252447 8326590 8345626 7768749 8307903 8215035 8545789 8187060 8267886 8121204 8176110 7862778 8165839 8127185 8412582 8161440 8153586 8275249 8146752 8257865 7784196 8172511 8354911
28 8509087 8472547 8556136 8149416 8064152 8656670 8636982 8759796 8126973 8741542 8494968 8511900 8489908 8269115 8147281 8613495 8477174 8233837 8552961 8573412 8564692 8660451 8334490 8491870 8817286 8494411 8176416 8535077 8065682 8259255
29 9021408 9136504 8445680 9025541 8849087 8438188 8813432 8952717 8906071 8857573 9025104 8934421 8578332 8992964 8813034 8868994 8813651 8376131 8627668 8878325 8830336 8508645 8807889 8842191 9219348 8909922 8368578 8628140 8805960 8858072
30 9165009 9231217 8940279 9095003 8673075 9083977 9237289 9130926 9013212 9188447 8658465 8834113 9663822 8645004 8962029 9159057 9091280 9155537 8662509 9054493 9093007 8663436 8781098 8663624 9068540 8634582 9265467 9169776 9233269 9105966
31 9494692 9402799 9235076 9546139 9322324 9415174 9427840 9537654 9036835 9726283 9440307 9275539 9195141 9210358 8918362 9067712 9809575 9642563 9056945 8956367 9382505 9823413 8978025 9338383 9640287 8944885 9580745 9045238 9057522 9424413
32 9782625 9239275 9224354 9707052 9351080 9434503 9755974 9517734 9231229 9666724 9864591 9994684 10018802 9888142 10011815 9918670 9792890 9901353 9767967 10056683 9790830 9975800 9727751 9830320 10516850 9778887 9734109 9886525 9911625 10084201
33 10000195 9657851 10232236 9721483 10272232 10016879 10160961 9999312 9637100 9684352 10133281 10266039 9621855 9506405 10211818 9746004 9830228 10158550 9512922 9790525 10048308 10416881 9515451 9647550 10224178 9529746 10121305 10163877 9517568 9928403
34 10421768 10132969 10688426 10106906 9929647 9990827 10390417 9905767 10412267 10336458 10398738 10451902 10050624 10371300 10009783 10386547 10629280 9950772 10657985 10555623 10345132 10563586 9917612 9803696 9818786 9904371 10589441 10159587 10318529 10403945
35 10630706 10658080 10134293 10644078 10512329 10779992 10615529 10235465 10254680 10743145 10145775 10793069 10781414 10739041 10107624 10809416 10704560 10106159 10388940 11319617 10696679 10791312 10298459 10657870 10583182 10718226 10090427 10640961 10426181 10465607
36 10881488 10359257 10713408 11308689 10958643 10947421 10594802 11056832 10654325 11324492 10553266 11139979 10534968 10896953 11190675 10522390 10992949 11168639 10592655 10962695 10920771 11070554 11426587 11333895 11180383 10985984 11212145 10922637 10661087 10901002
37 11155829 11647177 11442615 11427946 11287331 11305155 11267792 11245226 11291314 10809125 11308054 10790957 11328274 11265658 10882993 11572356 11603765 11310783 11013995 11225976 10908797 11530358 10785325 10880840 11292301 10857663 11254275 11960429 10766084 11165761
38 11515911 11448687 12109624 11078907 11353942 11025461 11787301 11607812 11628984 11300612 11006328 10985637 11817685 11574872 11463794 11816110 11556414 11935440 11761751 11298519 11251307 11604292 11393801 11733662 11599839 11098945 11390191 11551034 11580639 12167329
39 11923365 12048197 11972059 11901269 11280200 11700326 11320036 11419519 12074680 11211723 11616349 12064199 11351802 12175041 11366240 11998317 12299611 12037641 11340395 11556376 12334456 12227778 12067245 12124957 11866132 11973230 12041422 12073812 11953157 11405624
40 12165580 12072636 11948004 12189664 12181347 11749946 12493871 12468883 12070215 12804270 12241448 11720767 12386840 12541347 11735673 11931434 12306871 11889510 11536743 12381752 12143971 11920557 12159750 11936934 12076798 12210566 12254710 11540395 12268377 12387466
41 12860132 12326958 12498590 13018087 13087401 11969921 11935164 12709205 12695297 11853071 12625670 12549392 12505166 12618296 12592202 12466949 12762272 12707935 12544596 12846364 12704987 11894035 11878815 12608740 12637082 12030917 12633435 13020382 12547248 12669562
42 12883407 12871883 13135373 12804562 12850540 12982435 12201361 12916256 13116836 12700795 12925553 12588587 12515887 12196458 12134657 12317409 12609595 12454023 12789023 12834291 12821393 12848275 12917449 12845869 12890947 12606473 12596182 12212699 12944367 12964774
43 13103532 12555711 13224236 12699930 13022374 13055685 13031392 12493757 13341830 13369392 13101625 13567236 13289496 13090599 13194350 13109376 13030624 13056702 13179199 13222071 13141274 13041311 12746400 13334358 13441633 13359063 13234561 12677644 13404980 13216927
44 12862878 13032789 13852354 12997780 13633951 12851015 13445744 13751910 12949793 13557710 13356249 12893515 13608246 13386846 13515756 13208681 13422364 13931650 13719038 13240160 13395459 12921144 13428833 13335593 12971158 13474902 12714910 13144049 13034497 13453207
45 13758577 14074689 13842176 13661048 14205731 13434579 13761890 13684310 14184878 13995821 13949449 13272981 14397487 13373295 13611946 13790602 13158790 14006147 13174148 14033529 13842098 13652441 13585632 12963639 13200787 13505694 13645906 13266103 13759266 14130262
46 13933161 14529924 14379613 13568303 13590316 14588294 13754692 13670109 13977613 14016046 13735353 13678745 14379368 13794515 13531497 13966768 13582285 14018658 14309581 14735985 14100767 14101857 13900937 14350096 13724817 14134419 13547224 13678206 13706581 14338198
47 13650840 14458753 13829225 13584172 14928740 13582498 14444343 15004536 13676589 13607125 13863628 14244043 13971536 13659059 14758977 14583799 14669985 14561905 14493144 14025527 14428236 14550140 13574475 13653098 14306539 13801353 14810051 14648670 14328320 14719374
48 14419936 14946733 15384388 14470703 13993701 13871395 14440644 14565295 14734231 14393641 14839072 15116748 14812198 14104511 14849931 14186210 14691525 14922883 14630817 14767651 14382705 15069311 14018471 14705129 14743412 14706220 13964758 14108124 14621616 14839176
49 14845317 14986819 14241920 15045270 14663814 14194859 14682600 14389995 14946089 14419522 14734641 15116264 14320088 14851865 14619940 14832787 14418988 15109371 14928601 14747262 14904333 14963168 14426211 15066025 14295507 14603794 14952884 15001387 14620524 14327327
50 15629681 15281389 15345592 15363897 15640709 15488638 14675978 15458107 15023250 15577887 14696205 15337242 14731703 14935758 14813301 15280823 14479005 15668852 15016680 14700830 15443718 15528250 15400795 15071165 15242125 14832384 15422923 14714997 15544939 15649651

View File

@@ -1,50 +0,0 @@
12386073;10054904;10597530;10062469;10451459;11034914;10769732;11010135;10524027;10147651;10461115;10720075;10047908;10613609;10119276;10479631;10334140;10275777;10011367;10301939;10350272;10102642;10549503;10370889;10089536;10160502;10226790;10315121;10005193;10239204
10584811;10799245;10733036;10760640;10483565;10719952;10964843;10416144;10277045;10792098;10889276;10699349;10522378;10982295;11079964;10666897;10749746;10733044;11106365;10533569;11455658;10212830;10819980;11010147;10349163;10321499;10921095;10638539;10779761;10864295
11407642;10962984;11056495;10588132;11362034;11362956;10934760;10533777;10909500;10527444;11040844;11311345;10895954;10657594;10913257;11412089;10719012;11187715;11341572;11652031;11275384;10772024;10694434;10536729;10627605;10773096;10786882;10768046;10823863;11026023
11234695;11389954;11708298;11275684;11204585;11438636;11389591;11585911;11572184;11614887;10858477;11351198;11100384;11802307;11590650;11242938;11086898;11357500;10938592;11885277;11372497;11072560;11566533;11131684;11570788;10936758;11285990;11356907;11888471;11369000
11511905;11562352;11826821;11853393;11692202;11905824;11828204;12333208;12224748;11925611;11649811;11783037;11540920;11550007;11754571;11337978;11672593;11339921;12039791;11542101;11656269;11411539;11926692;11517522;11512292;11165564;11959625;11784667;11369777;12102409
11942040;12382850;11675477;12016374;12034900;12083524;12433558;11911751;12256126;12246437;12311641;11997896;11658662;12320688;11931038;12284519;12275250;11643984;12001974;11881772;11748895;11773703;12216907;12316099;11596903;12210615;12285449;11793681;11982585;12222217
11989649;13049061;12382717;12526654;12286781;12284937;12618351;12294586;12222126;12622748;12444785;12930611;12326917;12116604;12153834;12583642;12201335;12260117;12100631;13060400;12100360;12523845;11960220;12608349;12304482;12111010;12191014;11978935;12011358;12587228
13127028;12842189;13018418;12493466;12729371;12767996;12947881;12651872;12201935;12551298;12927713;12373404;12356391;12770328;12731003;12619248;12527631;12639246;13149718;12856335;12418420;12938733;12795918;12769556;12991604;12752483;13108057;12621732;12846644;13108208
13653840;12668350;13187410;13509652;13456850;13141882;12885860;13216737;12457825;12418208;12632281;13083641;13645813;12570431;13159216;12650545;13285119;12994879;13104992;12427917;13426431;13072838;12673659;12871741;12880838;12808949;13201155;12732703;13261381;12709797
13134849;13393585;13143373;13313450;13814596;13292451;13170425;13450333;13881424;12968547;13254086;13366322;13594622;13115568;13612015;13234739;13188449;13525719;13347986;13370279;14144641;14038787;13469140;13406178;13562950;13033570;13171466;13195413;13941649;13822219
13606143;13489809;13894680;14059425;13291958;13201353;13552829;13250547;13368725;13672498;13779977;14023296;13929004;13802540;13930076;13769286;14133507;13402319;13892603;13972406;13626350;13530785;13816928;14029507;13794593;14224512;13936466;13937088;14555248;13853727
13811767;14214381;14415719;13918000;13436325;14359613;13890763;14798380;14222577;14371761;14206773;14311699;14271498;13963467;13773960;13646247;13932311;14260940;14057587;14222984;14059808;14241147;14008144;14205803;13933164;14433771;14500923;14212261;13890021;14224031
14262827;14396659;14383393;14331869;14286137;14342157;14461521;13762628;14156566;14267805;14621743;13909934;14108255;14780473;14138874;14585284;14551506;13987270;14049029;14837077;14600439;14339050;14729600;14408754;14777321;14049551;14346136;14063506;14781724;14424658
14750651;14704778;15024950;15484646;15116388;14462765;14499967;14721444;14845768;14937609;14848802;14592755;14666790;14375854;14842456;15198516;14711913;15280245;15448606;15216474;14994417;14623823;15217242;14733888;14678337;14862299;14371118;14608275;14911933;14655335
15038841;14544264;15341997;15506971;15252127;14976141;15149842;14753439;14620766;15447196;14800296;15175587;14770909;14872437;15051739;15095695;15470744;15239234;14793585;15384107;15168691;15407842;14796535;15562504;15494409;15246068;15421182;15021794;15186017;14836156
15648534;15318674;15052028;15830839;15249645;15302418;16545696;15117551;15158330;15722020;15367579;15509658;15300005;15519987;15737202;15237519;16080118;15372911;15205120;15333764;15492092;15218794;15582789;15386362;15579700;15471336;15935348;15057088;15196702;15274053
16053377;15425229;15523340;15654518;15840242;15978594;15484951;15697359;15795029;15590504;15557325;15658906;15466476;15607183;15766074;16408186;15732195;15391063;15632848;15968146;16209560;16317782;15744202;15956649;16041154;16284021;15774507;16302996;15528782;15361553
16108540;16097908;16351656;16402885;16507941;16479123;15220125;16361198;15934959;15918365;16072018;15923844;15933120;16035000;15759378;16362023;15874962;15773522;15651342;16367858;15898124;16508933;15842143;15470240;15726382;16931869;16103672;16545590;15947914;16456902
16395120;16442213;16500705;17113316;16219049;16722106;16506401;16136123;16206200;16381623;16697382;16193482;16230453;16225923;16182176;16048372;16294745;16937256;16838952;16425028;16158353;16719865;16561833;16604326;16342892;16323594;16176320;16352346;16536818;16337276
17261737;16771304;16832814;16552032;17248869;17553193;16550998;17729278;16138066;16742502;17250295;16994893;16139094;17524660;16774879;16633279;16910773;17182816;17042762;17745976;16758801;17245264;16465635;16689325;17417658;17349153;17161384;16836003;16781166;17004945
16999282;17093206;17841472;17268598;17001513;17076269;17309776;16721280;16847137;17135191;17183895;17261638;17497257;17107191;17032173;17872790;16962045;16744307;17138278;17576216;17294421;17642361;16919956;17105237;17403210;17123161;17536029;17194839;16895792;17119390
17261367;17702129;17223881;17625177;16971385;17318022;17412076;17622608;17184529;17747250;17123576;17275443;17762988;17661789;17389675;16937208;17408809;17796248;17944498;17510737;17378867;17003421;18150767;17786613;17663852;17273027;17521301;17841968;17480369;17125905
18191289;18056453;17777468;18583605;17779289;17987225;18185332;17739849;17280860;17819865;18065626;18040893;17684105;17924544;18189062;18604443;17860777;17768665;17892438;17482685;17917665;17141186;17366023;17537419;17667082;18208210;17823687;17582732;18175102;17972194
18187745;18669095;18912701;18065072;18116432;18352242;17956669;17617894;18065447;17819116;18175121;18216822;18514834;18731576;17654800;17788690;18253520;18747665;17932630;18099887;18010469;18528332;18053593;18757969;17593685;17887967;18788344;17912013;18340299;18707605
18598692;17802766;18575454;18231011;18485928;18241239;19069787;18922567;19229257;18344247;18387170;18990498;18735398;18222616;19020183;19234071;18842977;19114234;18183756;18313429;18206959;19112758;18482957;18652519;18297634;18928565;18812276;18961017;17984529;18936308
18565993;18370400;19226511;19103150;19509462;19029223;18650874;18360516;19522202;19077595;19451243;19209140;19054677;18663914;18666508;18816810;18384667;19067640;19117125;18853502;18600152;18938573;19232847;18899105;19183739;18480014;19054847;18889994;19013183;18292126
18844483;18664631;19483659;19872084;19089017;19616295;19694749;19667192;18648103;18972967;19494073;19364400;19336384;19261968;19063241;18854741;19508677;19177589;19246774;19797056;18684135;18503051;19407414;19573566;19192533;18519089;19322717;19101595;19247490;19733465
19627877;19587970;19464268;19687122;20098564;20236572;19706436;19984769;19198053;19268481;19214375;19873699;19977742;19834704;19456563;19182569;19948812;19766407;20004530;19413025;19987504;19842481;19089722;19392022;19418653;19560960;20166439;19995047;19269190;19851913
19785994;20753901;20741867;20579590;19023716;20309742;20070926;20572611;19412802;20188393;19689028;19615346;19712604;20386875;19781496;19489527;19774732;19614950;19646190;19562586;19893850;20046918;19913949;20686593;20212559;19762171;19926963;19489088;20151757;19891380
20246341;20645547;20589849;20529221;19967356;20618682;20876694;20032458;19974064;20599743;20591587;19901733;20382850;20517060;20647162;20622824;20031862;20422141;20213164;20349289;20218022;20237509;19904801;19795006;20571097;20450731;20753831;20127091;20183450;21302257
21287819;20618548;20461699;20574868;20578554;20401931;20510822;20757882;20913996;20649601;21035622;20756596;20515677;20567528;20709404;20674035;20389942;19847453;20834371;20524539;20334530;20054003;20593492;20736531;20776006;20608813;20379463;20154425;20626083;20450469
21376070;20888662;20654806;21170751;20890223;21652227;20804504;21091722;21338010;21125587;20891922;20842756;20929223;21067982;21601169;20945332;20584919;21136763;20699583;20974317;21184996;20733699;21366258;21218672;20131232;20656524;20347443;21098383;20289950;21268474
21419195;21229916;21157495;21498267;21406278;21126042;21764673;21458117;22251670;20526503;21323072;22116836;21245430;20783492;21854692;21127138;21227062;20781245;21050868;21315884;20863924;21850031;21161752;20947974;21303204;21123014;21111241;21022739;20546803;21901316
21270839;20840723;21564008;21655105;21684231;22522750;23000188;20948078;21386491;22054740;21124150;20930692;21479539;21148375;22208134;21658864;21699153;22037921;21402145;21420139;21648825;21452090;21663952;21176714;20913272;21200970;21575106;21760947;21787388;21680361
21879606;22884691;22164930;22842707;21907229;22608529;21860466;21766882;21565890;21863851;21830967;22018031;21764948;21750949;21551080;22000522;22632461;21722692;21981043;21788088;21901699;21998727;22042241;22059163;22232309;22550695;22562321;22165686;22503462;22171718
22066853;22174493;21749586;22339113;23047528;22546513;22574397;22251257;22137676;22202602;22200247;22148998;21534043;21809478;21920654;22367421;22229272;22542209;22109918;22253760;22421140;22414309;22602051;22429837;22227333;22615127;21911791;22565441;22115284;22685487
22421545;22804651;22910827;23188095;22490249;22861850;22787937;22648786;22822924;22500898;22056202;22566466;23120559;22607202;22798172;23505245;23001566;23402815;23013880;23129363;22621838;22102969;22276658;22584393;22815203;22990641;22358873;23214495;22224711;22753268
22626501;23479076;22948646;23007791;22908408;23306942;22913104;22141056;23761541;23192314;22742332;23163128;22712482;23130043;22224985;22793057;22919193;22239713;22496442;22983798;23749552;23493044;23366939;22456039;23154364;22763365;22797090;22596782;23349943;22874350
23462941;23551714;23129413;23035400;22810042;23229345;23274653;24059385;24130893;23078690;23094101;23069633;23199475;23926726;23525807;23537791;23730804;23441370;23960642;23639446;24058208;23009903;23938362;23503368;23975444;24290536;24330333;23660423;23258322;23514008
23238594;23426296;24085104;23391675;23893902;24189574;23088487;23649617;23732798;23658013;24151329;23685265;24339233;23233248;24107953;24096801;23776910;23478110;23359981;23511493;24031903;24114692;24319289;24327544;24323777;23747519;24177704;23525378;23605012;24159757
23531660;24170077;24262045;23877341;24120316;24368881;23753505;24365582;23676426;24856955;24431579;24332687;23930408;24264596;24154371;23535881;23501123;23594344;24315984;23812075;24685568;23580262;23575816;23747298;24271643;25035446;23723431;24200936;24501529;24107934
24430431;23545092;24306027;23636389;24874248;24606850;24111588;24440154;24503067;24354739;24405066;25013325;24065858;24573853;24234184;24087460;24551538;24689056;24431595;24224674;24767067;25312291;24800388;23529213;23827802;23948395;23917423;24445437;24271389;24347367
24237084;24129554;24540050;24210662;25243295;24792560;25602208;25071268;24287989;24379797;24586365;24956985;24320118;23777907;24060585;24770422;25252435;25281051;24691197;24721646;24361829;24952062;25138373;25018379;24699371;24598434;24216445;24368869;24926077;24494972
24953289;25014076;24477076;25669166;25319058;25222280;24970702;24996302;24652626;25012382;25272497;25444140;25390664;25524161;25190105;24707252;25626230;25175566;25095578;26052362;24435628;24951278;24948844;25119654;25000834;24651317;24205182;25015172;24824692;25097040
25350773;25854477;25496305;25708623;25962014;25905984;24884585;25943657;25949137;25418477;26114407;25414740;26334252;25692748;26297060;25906170;26234849;25883408;25355353;25240080;25979662;25248407;25098194;25239437;25267952;26022994;25855499;25564593;25739314;25530076
25516170;26149819;24801566;26388710;26163454;25696148;25749311;25470971;25637715;25904361;25430123;26545932;26026618;25864401;26946728;25575491;26355942;26017868;25358033;25809353;26302256;25857806;26397030;25807156;26758028;25511154;25789493;25466606;26129611;26344808
26164908;25441036;26359416;25864054;25576206;26202940;25279281;26041830;25245004;25651461;25947504;25379451;25859493;25979114;26209578;26315515;26520261;26288643;25564479;25786499;25941590;26026384;25401823;26417410;26027815;25929065;25953020;26380398;26096537;25721410
26274052;25825664;25899166;26458657;25943026;26495538;26623405;27171665;27018088;26904008;25609019;26300999;26646097;26528540;26516567;26153533;27709938;27290253;27118931;26600698;26784523;26938804;26383687;26765395;26173329;26364358;27696785;26853144;26759974;26207212
26801992;26654017;26141084;26740434;26655890;26569773;26886515;27067606;27011287;26925411;26718389;27123483;26565915;26459889;26690737;27155124;26841789;27636476;26832148;26209815;27470282;27465924;27252729;26640595;27143638;26099537;26448732;27136903;26688255;26357455
27219092;27119309;27477463;27030167;27916724;27400143;27497461;27638915;26870919;26794028;27429690;27134948;26505170;27079520;27404178;27165655;27004504;26961670;27416940;27293393;26904341;26229421;27636095;26882474;27245799;27368094;26366535;26638974;27124342;27519297
1 12386073 10054904 10597530 10062469 10451459 11034914 10769732 11010135 10524027 10147651 10461115 10720075 10047908 10613609 10119276 10479631 10334140 10275777 10011367 10301939 10350272 10102642 10549503 10370889 10089536 10160502 10226790 10315121 10005193 10239204
2 10584811 10799245 10733036 10760640 10483565 10719952 10964843 10416144 10277045 10792098 10889276 10699349 10522378 10982295 11079964 10666897 10749746 10733044 11106365 10533569 11455658 10212830 10819980 11010147 10349163 10321499 10921095 10638539 10779761 10864295
3 11407642 10962984 11056495 10588132 11362034 11362956 10934760 10533777 10909500 10527444 11040844 11311345 10895954 10657594 10913257 11412089 10719012 11187715 11341572 11652031 11275384 10772024 10694434 10536729 10627605 10773096 10786882 10768046 10823863 11026023
4 11234695 11389954 11708298 11275684 11204585 11438636 11389591 11585911 11572184 11614887 10858477 11351198 11100384 11802307 11590650 11242938 11086898 11357500 10938592 11885277 11372497 11072560 11566533 11131684 11570788 10936758 11285990 11356907 11888471 11369000
5 11511905 11562352 11826821 11853393 11692202 11905824 11828204 12333208 12224748 11925611 11649811 11783037 11540920 11550007 11754571 11337978 11672593 11339921 12039791 11542101 11656269 11411539 11926692 11517522 11512292 11165564 11959625 11784667 11369777 12102409
6 11942040 12382850 11675477 12016374 12034900 12083524 12433558 11911751 12256126 12246437 12311641 11997896 11658662 12320688 11931038 12284519 12275250 11643984 12001974 11881772 11748895 11773703 12216907 12316099 11596903 12210615 12285449 11793681 11982585 12222217
7 11989649 13049061 12382717 12526654 12286781 12284937 12618351 12294586 12222126 12622748 12444785 12930611 12326917 12116604 12153834 12583642 12201335 12260117 12100631 13060400 12100360 12523845 11960220 12608349 12304482 12111010 12191014 11978935 12011358 12587228
8 13127028 12842189 13018418 12493466 12729371 12767996 12947881 12651872 12201935 12551298 12927713 12373404 12356391 12770328 12731003 12619248 12527631 12639246 13149718 12856335 12418420 12938733 12795918 12769556 12991604 12752483 13108057 12621732 12846644 13108208
9 13653840 12668350 13187410 13509652 13456850 13141882 12885860 13216737 12457825 12418208 12632281 13083641 13645813 12570431 13159216 12650545 13285119 12994879 13104992 12427917 13426431 13072838 12673659 12871741 12880838 12808949 13201155 12732703 13261381 12709797
10 13134849 13393585 13143373 13313450 13814596 13292451 13170425 13450333 13881424 12968547 13254086 13366322 13594622 13115568 13612015 13234739 13188449 13525719 13347986 13370279 14144641 14038787 13469140 13406178 13562950 13033570 13171466 13195413 13941649 13822219
11 13606143 13489809 13894680 14059425 13291958 13201353 13552829 13250547 13368725 13672498 13779977 14023296 13929004 13802540 13930076 13769286 14133507 13402319 13892603 13972406 13626350 13530785 13816928 14029507 13794593 14224512 13936466 13937088 14555248 13853727
12 13811767 14214381 14415719 13918000 13436325 14359613 13890763 14798380 14222577 14371761 14206773 14311699 14271498 13963467 13773960 13646247 13932311 14260940 14057587 14222984 14059808 14241147 14008144 14205803 13933164 14433771 14500923 14212261 13890021 14224031
13 14262827 14396659 14383393 14331869 14286137 14342157 14461521 13762628 14156566 14267805 14621743 13909934 14108255 14780473 14138874 14585284 14551506 13987270 14049029 14837077 14600439 14339050 14729600 14408754 14777321 14049551 14346136 14063506 14781724 14424658
14 14750651 14704778 15024950 15484646 15116388 14462765 14499967 14721444 14845768 14937609 14848802 14592755 14666790 14375854 14842456 15198516 14711913 15280245 15448606 15216474 14994417 14623823 15217242 14733888 14678337 14862299 14371118 14608275 14911933 14655335
15 15038841 14544264 15341997 15506971 15252127 14976141 15149842 14753439 14620766 15447196 14800296 15175587 14770909 14872437 15051739 15095695 15470744 15239234 14793585 15384107 15168691 15407842 14796535 15562504 15494409 15246068 15421182 15021794 15186017 14836156
16 15648534 15318674 15052028 15830839 15249645 15302418 16545696 15117551 15158330 15722020 15367579 15509658 15300005 15519987 15737202 15237519 16080118 15372911 15205120 15333764 15492092 15218794 15582789 15386362 15579700 15471336 15935348 15057088 15196702 15274053
17 16053377 15425229 15523340 15654518 15840242 15978594 15484951 15697359 15795029 15590504 15557325 15658906 15466476 15607183 15766074 16408186 15732195 15391063 15632848 15968146 16209560 16317782 15744202 15956649 16041154 16284021 15774507 16302996 15528782 15361553
18 16108540 16097908 16351656 16402885 16507941 16479123 15220125 16361198 15934959 15918365 16072018 15923844 15933120 16035000 15759378 16362023 15874962 15773522 15651342 16367858 15898124 16508933 15842143 15470240 15726382 16931869 16103672 16545590 15947914 16456902
19 16395120 16442213 16500705 17113316 16219049 16722106 16506401 16136123 16206200 16381623 16697382 16193482 16230453 16225923 16182176 16048372 16294745 16937256 16838952 16425028 16158353 16719865 16561833 16604326 16342892 16323594 16176320 16352346 16536818 16337276
20 17261737 16771304 16832814 16552032 17248869 17553193 16550998 17729278 16138066 16742502 17250295 16994893 16139094 17524660 16774879 16633279 16910773 17182816 17042762 17745976 16758801 17245264 16465635 16689325 17417658 17349153 17161384 16836003 16781166 17004945
21 16999282 17093206 17841472 17268598 17001513 17076269 17309776 16721280 16847137 17135191 17183895 17261638 17497257 17107191 17032173 17872790 16962045 16744307 17138278 17576216 17294421 17642361 16919956 17105237 17403210 17123161 17536029 17194839 16895792 17119390
22 17261367 17702129 17223881 17625177 16971385 17318022 17412076 17622608 17184529 17747250 17123576 17275443 17762988 17661789 17389675 16937208 17408809 17796248 17944498 17510737 17378867 17003421 18150767 17786613 17663852 17273027 17521301 17841968 17480369 17125905
23 18191289 18056453 17777468 18583605 17779289 17987225 18185332 17739849 17280860 17819865 18065626 18040893 17684105 17924544 18189062 18604443 17860777 17768665 17892438 17482685 17917665 17141186 17366023 17537419 17667082 18208210 17823687 17582732 18175102 17972194
24 18187745 18669095 18912701 18065072 18116432 18352242 17956669 17617894 18065447 17819116 18175121 18216822 18514834 18731576 17654800 17788690 18253520 18747665 17932630 18099887 18010469 18528332 18053593 18757969 17593685 17887967 18788344 17912013 18340299 18707605
25 18598692 17802766 18575454 18231011 18485928 18241239 19069787 18922567 19229257 18344247 18387170 18990498 18735398 18222616 19020183 19234071 18842977 19114234 18183756 18313429 18206959 19112758 18482957 18652519 18297634 18928565 18812276 18961017 17984529 18936308
26 18565993 18370400 19226511 19103150 19509462 19029223 18650874 18360516 19522202 19077595 19451243 19209140 19054677 18663914 18666508 18816810 18384667 19067640 19117125 18853502 18600152 18938573 19232847 18899105 19183739 18480014 19054847 18889994 19013183 18292126
27 18844483 18664631 19483659 19872084 19089017 19616295 19694749 19667192 18648103 18972967 19494073 19364400 19336384 19261968 19063241 18854741 19508677 19177589 19246774 19797056 18684135 18503051 19407414 19573566 19192533 18519089 19322717 19101595 19247490 19733465
28 19627877 19587970 19464268 19687122 20098564 20236572 19706436 19984769 19198053 19268481 19214375 19873699 19977742 19834704 19456563 19182569 19948812 19766407 20004530 19413025 19987504 19842481 19089722 19392022 19418653 19560960 20166439 19995047 19269190 19851913
29 19785994 20753901 20741867 20579590 19023716 20309742 20070926 20572611 19412802 20188393 19689028 19615346 19712604 20386875 19781496 19489527 19774732 19614950 19646190 19562586 19893850 20046918 19913949 20686593 20212559 19762171 19926963 19489088 20151757 19891380
30 20246341 20645547 20589849 20529221 19967356 20618682 20876694 20032458 19974064 20599743 20591587 19901733 20382850 20517060 20647162 20622824 20031862 20422141 20213164 20349289 20218022 20237509 19904801 19795006 20571097 20450731 20753831 20127091 20183450 21302257
31 21287819 20618548 20461699 20574868 20578554 20401931 20510822 20757882 20913996 20649601 21035622 20756596 20515677 20567528 20709404 20674035 20389942 19847453 20834371 20524539 20334530 20054003 20593492 20736531 20776006 20608813 20379463 20154425 20626083 20450469
32 21376070 20888662 20654806 21170751 20890223 21652227 20804504 21091722 21338010 21125587 20891922 20842756 20929223 21067982 21601169 20945332 20584919 21136763 20699583 20974317 21184996 20733699 21366258 21218672 20131232 20656524 20347443 21098383 20289950 21268474
33 21419195 21229916 21157495 21498267 21406278 21126042 21764673 21458117 22251670 20526503 21323072 22116836 21245430 20783492 21854692 21127138 21227062 20781245 21050868 21315884 20863924 21850031 21161752 20947974 21303204 21123014 21111241 21022739 20546803 21901316
34 21270839 20840723 21564008 21655105 21684231 22522750 23000188 20948078 21386491 22054740 21124150 20930692 21479539 21148375 22208134 21658864 21699153 22037921 21402145 21420139 21648825 21452090 21663952 21176714 20913272 21200970 21575106 21760947 21787388 21680361
35 21879606 22884691 22164930 22842707 21907229 22608529 21860466 21766882 21565890 21863851 21830967 22018031 21764948 21750949 21551080 22000522 22632461 21722692 21981043 21788088 21901699 21998727 22042241 22059163 22232309 22550695 22562321 22165686 22503462 22171718
36 22066853 22174493 21749586 22339113 23047528 22546513 22574397 22251257 22137676 22202602 22200247 22148998 21534043 21809478 21920654 22367421 22229272 22542209 22109918 22253760 22421140 22414309 22602051 22429837 22227333 22615127 21911791 22565441 22115284 22685487
37 22421545 22804651 22910827 23188095 22490249 22861850 22787937 22648786 22822924 22500898 22056202 22566466 23120559 22607202 22798172 23505245 23001566 23402815 23013880 23129363 22621838 22102969 22276658 22584393 22815203 22990641 22358873 23214495 22224711 22753268
38 22626501 23479076 22948646 23007791 22908408 23306942 22913104 22141056 23761541 23192314 22742332 23163128 22712482 23130043 22224985 22793057 22919193 22239713 22496442 22983798 23749552 23493044 23366939 22456039 23154364 22763365 22797090 22596782 23349943 22874350
39 23462941 23551714 23129413 23035400 22810042 23229345 23274653 24059385 24130893 23078690 23094101 23069633 23199475 23926726 23525807 23537791 23730804 23441370 23960642 23639446 24058208 23009903 23938362 23503368 23975444 24290536 24330333 23660423 23258322 23514008
40 23238594 23426296 24085104 23391675 23893902 24189574 23088487 23649617 23732798 23658013 24151329 23685265 24339233 23233248 24107953 24096801 23776910 23478110 23359981 23511493 24031903 24114692 24319289 24327544 24323777 23747519 24177704 23525378 23605012 24159757
41 23531660 24170077 24262045 23877341 24120316 24368881 23753505 24365582 23676426 24856955 24431579 24332687 23930408 24264596 24154371 23535881 23501123 23594344 24315984 23812075 24685568 23580262 23575816 23747298 24271643 25035446 23723431 24200936 24501529 24107934
42 24430431 23545092 24306027 23636389 24874248 24606850 24111588 24440154 24503067 24354739 24405066 25013325 24065858 24573853 24234184 24087460 24551538 24689056 24431595 24224674 24767067 25312291 24800388 23529213 23827802 23948395 23917423 24445437 24271389 24347367
43 24237084 24129554 24540050 24210662 25243295 24792560 25602208 25071268 24287989 24379797 24586365 24956985 24320118 23777907 24060585 24770422 25252435 25281051 24691197 24721646 24361829 24952062 25138373 25018379 24699371 24598434 24216445 24368869 24926077 24494972
44 24953289 25014076 24477076 25669166 25319058 25222280 24970702 24996302 24652626 25012382 25272497 25444140 25390664 25524161 25190105 24707252 25626230 25175566 25095578 26052362 24435628 24951278 24948844 25119654 25000834 24651317 24205182 25015172 24824692 25097040
45 25350773 25854477 25496305 25708623 25962014 25905984 24884585 25943657 25949137 25418477 26114407 25414740 26334252 25692748 26297060 25906170 26234849 25883408 25355353 25240080 25979662 25248407 25098194 25239437 25267952 26022994 25855499 25564593 25739314 25530076
46 25516170 26149819 24801566 26388710 26163454 25696148 25749311 25470971 25637715 25904361 25430123 26545932 26026618 25864401 26946728 25575491 26355942 26017868 25358033 25809353 26302256 25857806 26397030 25807156 26758028 25511154 25789493 25466606 26129611 26344808
47 26164908 25441036 26359416 25864054 25576206 26202940 25279281 26041830 25245004 25651461 25947504 25379451 25859493 25979114 26209578 26315515 26520261 26288643 25564479 25786499 25941590 26026384 25401823 26417410 26027815 25929065 25953020 26380398 26096537 25721410
48 26274052 25825664 25899166 26458657 25943026 26495538 26623405 27171665 27018088 26904008 25609019 26300999 26646097 26528540 26516567 26153533 27709938 27290253 27118931 26600698 26784523 26938804 26383687 26765395 26173329 26364358 27696785 26853144 26759974 26207212
49 26801992 26654017 26141084 26740434 26655890 26569773 26886515 27067606 27011287 26925411 26718389 27123483 26565915 26459889 26690737 27155124 26841789 27636476 26832148 26209815 27470282 27465924 27252729 26640595 27143638 26099537 26448732 27136903 26688255 26357455
50 27219092 27119309 27477463 27030167 27916724 27400143 27497461 27638915 26870919 26794028 27429690 27134948 26505170 27079520 27404178 27165655 27004504 26961670 27416940 27293393 26904341 26229421 27636095 26882474 27245799 27368094 26366535 26638974 27124342 27519297

View File

@@ -1,50 +0,0 @@
11437553;12137288;11705973;11537837;11461139;11571642;11701964;11450287;11834551;11375463;11610546;11299384;11145456;11730529;11972747;11874788;11897502;11221133;11344952;11289504;11980612;11604785;11504719;11530380;11226421;11531160;11329030;11852313;11674769;11444494
14052111;13837816;13712043;14281615;14470630;13896089;14591464;14230315;14021490;13961474;14399542;14621763;14635017;14460470;14763266;14216498;14278158;14626700;14582254;14175738;14438316;14187962;14138766;14039924;14952331;14172821;14599146;14835293;14374682;14200464
17180853;16873828;17011415;17355560;16830614;16936990;17964549;17074857;17280515;17191863;16955797;17453460;16955947;16579659;17330871;16592011;16405319;16557464;17039814;17358874;17151432;17186490;16937910;17036960;17280212;16685078;17172111;17030979;16615134;16789240
19559451;19984383;19635217;19407266;19659554;19931410;19880672;19397317;19969575;19421805;19686767;19151131;19799484;19897725;19518080;20147758;19439328;19408539;19417023;19211726;19635145;20026704;20036301;19594486;19359381;19508690;19531626;20538111;20122376;20501600
22673304;22863539;22522811;23175153;22944064;22974694;22554501;23137800;23061091;22917032;22392427;22446752;22150139;23130666;22584358;24296681;22297563;23217412;22190787;22827017;22514323;22286831;23013738;22909135;22066134;22109580;22461178;22215465;22465566;22518709
24633079;25499957;24937357;25002964;24940682;25930587;24968254;25745477;25071175;24949520;24693835;25110131;25243647;25021367;24826671;25022330;25069630;24725314;25438013;25142001;24575003;26924579;25072195;24960960;25134295;25299685;25030985;24853301;24654746;25053348
28130121;27484651;27717641;27720268;27719094;27850480;27821792;27566949;27564944;27422129;27966131;27510378;30901409;27467031;27666943;28069777;27371489;27533772;27648705;27978071;27329076;27794244;28271839;27735350;27946159;28004462;27631411;27946079;28357744;28346632
31916398;30874042;30560926;30122858;31020925;30691068;30620089;30693031;30123961;30588008;30933847;30630911;30825789;30592224;30957672;30396235;31646754;30695544;30152924;30236937;31144774;30175918;30133956;31103111;30702616;30250280;30994671;30135969;35398228;30146549
33063722;32608798;33106303;32687080;32871667;33156831;33353378;33551812;33303542;33307269;34485338;33969591;33520282;33113856;33198198;33258404;33073678;32972502;33033731;32939778;33513197;33874386;33941565;33179903;32790299;33128083;32881665;32936652;32956900;32976960
35733239;36589177;36119425;35501641;35679444;35479347;35264081;35347661;35915019;35835455;36195341;35658924;36278979;36103953;36223334;35753275;35600646;36509577;37795394;35443576;35743815;36194025;36416194;35971185;35369361;35858364;35442951;35755757;36375254;35791305
38455195;40675369;38593493;38820672;38832175;38733724;38568865;39371447;38565569;38318200;38532215;38642398;38691582;39053292;39167543;38712963;38749214;38704296;38358918;38514779;38743210;38531102;38450204;38016065;38218335;38061152;38396011;38266387;38714844;39130608
41260687;41116738;42772770;41332754;41453941;40879423;41355168;41664365;41384434;41680757;41020370;41345069;41191159;41797288;41554951;41011081;41525284;41129297;43168642;43124056;42570976;41318925;41287713;41467169;41616399;43784852;41358830;41384780;41539400;41331547
43887910;43786084;43796894;44328331;43863654;43562611;44375322;43685027;44487118;45235525;44454054;44404147;43700476;43387921;44037719;44612981;43646421;44076363;43721147;44268212;43635151;43996537;43629377;43873448;44448289;44869814;45086122;43906721;43866314;43957600
47081329;46615648;46317242;46423997;49226246;46928152;46808214;46394610;46678108;47322454;47181998;46318663;46635283;46699489;46723866;46911076;47165589;46265023;46530316;46763761;46930163;47184414;46982684;46927344;46551657;46314521;46543213;46804327;46619260;46449491
49360829;49080216;49606433;49209497;49348115;49038846;49306092;49427658;49762796;49375115;49305872;49387830;49570213;49321764;49356981;49098692;49459639;49747156;49663033;49234154;49096528;49028184;50306755;49543880;49199785;49355885;49388328;48845569;49220413;49184504
51791483;52024023;52253892;51829105;51764530;53598416;52265276;51778407;53413116;51938787;51925591;52400478;52263914;52135906;51953143;52180396;51803613;52839647;52556948;52973013;52037665;52590693;54354097;52489077;51989912;51911949;52414783;51897533;52177311;51613724
54520289;56763769;54800159;55804943;55563116;54750403;54456788;54700199;54666321;54888452;54830589;54565879;54575947;54934961;54984325;54888531;55045554;54423833;55031497;55065062;55752029;54929008;54458649;54832572;55379218;54198676;54562030;54571487;55155616;55041036
57403491;61360128;60245045;60131735;60578760;59604945;57957129;57441702;60410924;61600081;61410914;57923132;56944230;57829331;57200029;57451470;57297742;57412694;58289946;57219235;57230231;57202057;57474173;57310045;58022873;60322257;57861670;57238716;57883773;58071766
60543173;60673795;59943981;61169583;61514610;59962490;60188647;60125735;59875760;60634589;59756351;59642771;60559092;60368753;59993208;59989019;60400469;60776701;60728438;60741021;60013355;60294244;60020348;60369511;60048061;61895269;61545276;60353639;60072075;62974103
63488988;62519937;66149160;63213949;62802343;66779940;63018620;62609180;64066214;62967290;62680236;63177045;63546540;66189017;62640037;65891321;63143110;62630519;62877817;62573208;62504666;62023286;62924488;63180812;64357116;62659373;65953339;62570373;63798725;62384852
66052841;65917870;65459074;65569088;65579084;69305787;65232304;66010482;66095967;65516122;69488350;69094077;65468610;65257836;65774861;69780301;67196438;65366252;69208777;65280334;70427422;70521213;66344530;68209795;66555388;65032023;65587407;65550798;65634437;65291073
68501387;67832602;68153413;68002713;68116143;67896698;68173479;69902754;68333661;67688274;68299466;68620425;68016638;67808416;69448446;68217935;68207086;67859955;68122242;68285167;71131080;68465664;68914793;69081301;68034391;68059027;72513045;68443511;68351152;68550737
70878105;71087576;71047432;70652237;71406754;70828706;71951278;70846993;77804496;72334806;70716800;70657838;71129910;70542802;13929749;70969078;70786134;71058670;71002121;70808496;72302503;70595305;71111111;70725626;71135959;71274717;70933729;71379349;70909141;70957324
73617504;73809576;73454560;73449059;73222250;74701359;73250284;73544693;73382952;73301792;73828901;73430832;73607456;73278678;73889030;73419952;74223506;73333783;78359227;77982976;73177831;73643270;73844298;74274139;74607836;73749279;74388880;73574941;73438093;74146772
79041965;76523030;80680800;76629641;76074887;76863821;76306996;76602045;76280307;76051541;76838863;78017389;76434721;76412038;79171128;78112522;77423541;76164839;75988467;76106275;75944594;75881102;76556294;78392596;76493292;76886402;76269179;76939505;76119800;76739961
78910282;80878046;79312839;79698905;78823353;78698642;79390488;78927934;79679146;79027477;79353466;79549035;79125105;79162686;79342054;78882566;78616572;79392060;78897985;79300758;79000202;82011014;78897383;78629624;79059275;79558149;78750439;79127241;79545695;78607877
81698198;81573605;81910281;81882061;81815344;82059455;81529336;82490099;81801832;81704734;87907268;81392551;81965241;81932209;81701017;81436916;83201723;82253364;81395674;81845161;81757911;81968275;87384319;81704230;83904413;81715952;81580428;83449244;82034788;81417037
84138344;84317811;83946526;84911933;84799757;89920444;84897932;84399245;84377436;84672734;84252602;83950232;85081020;84661936;84857778;84355482;84479027;84550480;84492742;84378262;84361718;89948016;85073732;84449360;84469807;83948242;84360447;84669888;85018996;85072991
87088205;87007042;87208915;91964769;87832598;86912434;87452250;87269412;87505275;86657532;87335541;87138874;87179747;87299094;89635265;88185575;86935936;87690891;87265814;89485912;88536278;87124248;87155912;86726940;87473226;87323415;86931771;90220263;87226452;86811078
89964990;90485081;91126193;89454746;90217168;90451379;90002450;89488081;91905316;91897480;94958011;93163466;90223382;90264902;90560531;90640420;90042245;89582606;91379488;96286627;90112726;89809288;89784838;90572518;90932341;90046461;90242333;90069576;92937597;95463352
92198119;92678169;92719411;92484921;98576707;92895039;92532575;92250403;92543948;92752510;92550961;96821055;92963694;93913591;92913877;92714477;93800305;92437457;92631922;97139543;94559271;92620280;92261362;92156705;92375176;92250764;92515021;92334167;93278515;92789330
95306679;102224623;100803820;94847204;95229627;94872917;95673893;95456479;95537320;95042066;95049909;95089548;96125924;95241239;94927256;96328468;95749526;95591606;95767733;95438207;94923178;94979457;95936239;94700755;95175536;95051642;95164395;94948626;95360677;95142665
97825494;97995314;97830597;98410006;97892946;98565410;99683413;97844186;97596816;97658969;98088616;98206421;97928358;98491839;98613813;98682460;98103920;97971401;98772227;98208426;97938935;97438572;97575451;98192362;98171485;98276141;97779043;100756784;98510874;97360856
100177976;100863650;101059730;100747751;100671157;100442295;102518422;100120780;100911331;100318114;102784093;100326714;106685654;100436805;100842631;100467237;101138824;100056593;101416796;100706017;100503425;100331192;101535407;100518940;100701003;101046269;100762087;100004494;100392285;99949598
103659664;103703692;103505039;103464379;107885471;103119869;103042567;103255645;103725726;103274191;106699424;102669005;103579170;102766820;104859222;103321005;105097135;103660200;103103627;106373921;103517530;103156918;102955869;103518802;104720963;102579912;103115023;103358668;103682441;103468790
106393849;105882425;106216161;107961320;106368726;105736686;105543494;105889340;106280985;106464075;106646517;106295524;106534880;106463920;107444505;106267764;105890607;106679806;106030352;105964845;105862502;106452205;106124817;105964244;106280854;106365271;107278722;105833152;106567844;106261335
109269869;108837464;108690398;108374735;108849334;108075096;108793970;115599432;110294210;108664137;109038898;108971153;108852591;108591836;108626777;108139479;109052247;108972815;109499901;108570640;108957286;108452922;113194421;108495450;109000384;109055199;108533313;108576932;108551344;108811360
112161635;111592570;111830724;111956071;111365732;111008363;111979520;111581069;111002305;111382688;111775398;111224502;111766086;111136272;112114437;111367647;111121692;111139533;112168077;111969706;111692782;111302519;111560999;111548343;111686699;111451721;111290094;111694625;111393493;111536231
113987748;114823012;114668634;114195931;114514503;113754185;114194838;114041197;114527409;113979236;114393656;113870843;113995622;115648136;115465456;113882070;114829232;114145665;114579659;114416124;114350555;117028233;114255345;115912166;122138775;115464873;119968797;119368027;114217952;114088870
122281891;116188131;123831535;120096723;116806838;116520957;116816975;116480627;117563556;117073632;117131634;116768275;117319565;117927866;117274865;116783454;117259399;116450129;116961050;117411701;117157863;116614225;116620683;116915088;116786006;117888700;117065685;116408463;116499999;116434329
120671303;119979013;121068561;119735830;119761537;118959981;119817720;118852055;122775025;120304582;123551741;120185550;119512252;119301499;119470529;120244567;119537389;121244263;119595263;120259791;120104053;119119766;120140118;118894700;119369498;119154391;119669806;119501218;119393583;119876822
124588826;125298956;122851122;121624281;122237231;123479795;122845960;122262533;122248976;121773159;122476146;122540432;122579059;122035253;122249769;121811048;121914444;121915561;122731008;123818893;122019586;122439793;121941475;121906620;122718561;122210181;122642623;122291676;127732069;121785173
124751022;126168468;124675648;125099334;125016642;125104474;125047253;128731621;125276912;125304085;130987950;124932750;124865513;128454368;126041389;124760871;125228115;124841077;125350303;124675310;124968912;124484638;126466476;124992822;124888686;124838209;125030169;124692691;124644911;126494173
128090412;127540404;128333074;127477139;128083354;127879288;127978521;127652572;127484846;127469334;127562730;127995296;127715547;127674675;128658003;127711237;127549564;127553205;127516346;127691128;127899502;127562564;127939499;127660526;128278953;127031534;127626006;126978338;127763640;126990300
130521998;129971811;131005082;130752424;131420143;130728480;130364639;130017042;129991445;131060302;130581466;129792603;130421211;130121477;129854093;130708886;130070400;130276734;131224078;130520572;129616847;130693720;130305798;130290623;129817319;133300358;130981772;130908105;130157302;130318357
132921722;132690700;136041971;132620017;136884086;132726826;133381245;136449684;132851956;135201007;133494545;132688777;133587585;132593265;133124373;133102915;132851296;133363139;133588787;133018724;133768524;133045656;133141910;132710238;133437916;133414394;133249836;132923109;133280805;132724112
135693784;134918568;135865296;135185920;135435674;135137053;136169330;135375265;136131092;135284690;135676710;136040274;136133191;135762639;136469504;136490275;138371907;136326994;142122876;135062735;135637534;135253187;136520163;135199840;135566064;135461397;137804905;135693977;135519648;135959504
138320225;139347612;139673130;144319460;139359929;138302501;138575901;139022991;138720982;138644756;138778494;138495324;139391044;138770042;139372174;138462575;138810657;138728456;138821644;138372360;138841583;139172984;139979859;139307752;138892870;140890737;143763427;138783397;138905511;137853849
140941339;140522473;140647083;141018932;141341488;140649678;140732198;140825239;141908935;140976646;145911632;145443610;141400869;151699717;150322036;142178208;141074731;147332023;141083139;142282576;141301386;142784010;140988140;142091094;140815764;140951936;141218633;141008501;142237955;141411392
144688882;144428567;145446474;143924448;144131789;143830104;150076733;158397578;145531892;143757389;143596411;143203293;144359936;150219644;145122741;144091119;143725782;143768652;143762671;143538063;143773341;143974804;153742275;144117976;144011754;143543591;156212968;143708100;145168034;143216733
1 11437553 12137288 11705973 11537837 11461139 11571642 11701964 11450287 11834551 11375463 11610546 11299384 11145456 11730529 11972747 11874788 11897502 11221133 11344952 11289504 11980612 11604785 11504719 11530380 11226421 11531160 11329030 11852313 11674769 11444494
2 14052111 13837816 13712043 14281615 14470630 13896089 14591464 14230315 14021490 13961474 14399542 14621763 14635017 14460470 14763266 14216498 14278158 14626700 14582254 14175738 14438316 14187962 14138766 14039924 14952331 14172821 14599146 14835293 14374682 14200464
3 17180853 16873828 17011415 17355560 16830614 16936990 17964549 17074857 17280515 17191863 16955797 17453460 16955947 16579659 17330871 16592011 16405319 16557464 17039814 17358874 17151432 17186490 16937910 17036960 17280212 16685078 17172111 17030979 16615134 16789240
4 19559451 19984383 19635217 19407266 19659554 19931410 19880672 19397317 19969575 19421805 19686767 19151131 19799484 19897725 19518080 20147758 19439328 19408539 19417023 19211726 19635145 20026704 20036301 19594486 19359381 19508690 19531626 20538111 20122376 20501600
5 22673304 22863539 22522811 23175153 22944064 22974694 22554501 23137800 23061091 22917032 22392427 22446752 22150139 23130666 22584358 24296681 22297563 23217412 22190787 22827017 22514323 22286831 23013738 22909135 22066134 22109580 22461178 22215465 22465566 22518709
6 24633079 25499957 24937357 25002964 24940682 25930587 24968254 25745477 25071175 24949520 24693835 25110131 25243647 25021367 24826671 25022330 25069630 24725314 25438013 25142001 24575003 26924579 25072195 24960960 25134295 25299685 25030985 24853301 24654746 25053348
7 28130121 27484651 27717641 27720268 27719094 27850480 27821792 27566949 27564944 27422129 27966131 27510378 30901409 27467031 27666943 28069777 27371489 27533772 27648705 27978071 27329076 27794244 28271839 27735350 27946159 28004462 27631411 27946079 28357744 28346632
8 31916398 30874042 30560926 30122858 31020925 30691068 30620089 30693031 30123961 30588008 30933847 30630911 30825789 30592224 30957672 30396235 31646754 30695544 30152924 30236937 31144774 30175918 30133956 31103111 30702616 30250280 30994671 30135969 35398228 30146549
9 33063722 32608798 33106303 32687080 32871667 33156831 33353378 33551812 33303542 33307269 34485338 33969591 33520282 33113856 33198198 33258404 33073678 32972502 33033731 32939778 33513197 33874386 33941565 33179903 32790299 33128083 32881665 32936652 32956900 32976960
10 35733239 36589177 36119425 35501641 35679444 35479347 35264081 35347661 35915019 35835455 36195341 35658924 36278979 36103953 36223334 35753275 35600646 36509577 37795394 35443576 35743815 36194025 36416194 35971185 35369361 35858364 35442951 35755757 36375254 35791305
11 38455195 40675369 38593493 38820672 38832175 38733724 38568865 39371447 38565569 38318200 38532215 38642398 38691582 39053292 39167543 38712963 38749214 38704296 38358918 38514779 38743210 38531102 38450204 38016065 38218335 38061152 38396011 38266387 38714844 39130608
12 41260687 41116738 42772770 41332754 41453941 40879423 41355168 41664365 41384434 41680757 41020370 41345069 41191159 41797288 41554951 41011081 41525284 41129297 43168642 43124056 42570976 41318925 41287713 41467169 41616399 43784852 41358830 41384780 41539400 41331547
13 43887910 43786084 43796894 44328331 43863654 43562611 44375322 43685027 44487118 45235525 44454054 44404147 43700476 43387921 44037719 44612981 43646421 44076363 43721147 44268212 43635151 43996537 43629377 43873448 44448289 44869814 45086122 43906721 43866314 43957600
14 47081329 46615648 46317242 46423997 49226246 46928152 46808214 46394610 46678108 47322454 47181998 46318663 46635283 46699489 46723866 46911076 47165589 46265023 46530316 46763761 46930163 47184414 46982684 46927344 46551657 46314521 46543213 46804327 46619260 46449491
15 49360829 49080216 49606433 49209497 49348115 49038846 49306092 49427658 49762796 49375115 49305872 49387830 49570213 49321764 49356981 49098692 49459639 49747156 49663033 49234154 49096528 49028184 50306755 49543880 49199785 49355885 49388328 48845569 49220413 49184504
16 51791483 52024023 52253892 51829105 51764530 53598416 52265276 51778407 53413116 51938787 51925591 52400478 52263914 52135906 51953143 52180396 51803613 52839647 52556948 52973013 52037665 52590693 54354097 52489077 51989912 51911949 52414783 51897533 52177311 51613724
17 54520289 56763769 54800159 55804943 55563116 54750403 54456788 54700199 54666321 54888452 54830589 54565879 54575947 54934961 54984325 54888531 55045554 54423833 55031497 55065062 55752029 54929008 54458649 54832572 55379218 54198676 54562030 54571487 55155616 55041036
18 57403491 61360128 60245045 60131735 60578760 59604945 57957129 57441702 60410924 61600081 61410914 57923132 56944230 57829331 57200029 57451470 57297742 57412694 58289946 57219235 57230231 57202057 57474173 57310045 58022873 60322257 57861670 57238716 57883773 58071766
19 60543173 60673795 59943981 61169583 61514610 59962490 60188647 60125735 59875760 60634589 59756351 59642771 60559092 60368753 59993208 59989019 60400469 60776701 60728438 60741021 60013355 60294244 60020348 60369511 60048061 61895269 61545276 60353639 60072075 62974103
20 63488988 62519937 66149160 63213949 62802343 66779940 63018620 62609180 64066214 62967290 62680236 63177045 63546540 66189017 62640037 65891321 63143110 62630519 62877817 62573208 62504666 62023286 62924488 63180812 64357116 62659373 65953339 62570373 63798725 62384852
21 66052841 65917870 65459074 65569088 65579084 69305787 65232304 66010482 66095967 65516122 69488350 69094077 65468610 65257836 65774861 69780301 67196438 65366252 69208777 65280334 70427422 70521213 66344530 68209795 66555388 65032023 65587407 65550798 65634437 65291073
22 68501387 67832602 68153413 68002713 68116143 67896698 68173479 69902754 68333661 67688274 68299466 68620425 68016638 67808416 69448446 68217935 68207086 67859955 68122242 68285167 71131080 68465664 68914793 69081301 68034391 68059027 72513045 68443511 68351152 68550737
23 70878105 71087576 71047432 70652237 71406754 70828706 71951278 70846993 77804496 72334806 70716800 70657838 71129910 70542802 13929749 70969078 70786134 71058670 71002121 70808496 72302503 70595305 71111111 70725626 71135959 71274717 70933729 71379349 70909141 70957324
24 73617504 73809576 73454560 73449059 73222250 74701359 73250284 73544693 73382952 73301792 73828901 73430832 73607456 73278678 73889030 73419952 74223506 73333783 78359227 77982976 73177831 73643270 73844298 74274139 74607836 73749279 74388880 73574941 73438093 74146772
25 79041965 76523030 80680800 76629641 76074887 76863821 76306996 76602045 76280307 76051541 76838863 78017389 76434721 76412038 79171128 78112522 77423541 76164839 75988467 76106275 75944594 75881102 76556294 78392596 76493292 76886402 76269179 76939505 76119800 76739961
26 78910282 80878046 79312839 79698905 78823353 78698642 79390488 78927934 79679146 79027477 79353466 79549035 79125105 79162686 79342054 78882566 78616572 79392060 78897985 79300758 79000202 82011014 78897383 78629624 79059275 79558149 78750439 79127241 79545695 78607877
27 81698198 81573605 81910281 81882061 81815344 82059455 81529336 82490099 81801832 81704734 87907268 81392551 81965241 81932209 81701017 81436916 83201723 82253364 81395674 81845161 81757911 81968275 87384319 81704230 83904413 81715952 81580428 83449244 82034788 81417037
28 84138344 84317811 83946526 84911933 84799757 89920444 84897932 84399245 84377436 84672734 84252602 83950232 85081020 84661936 84857778 84355482 84479027 84550480 84492742 84378262 84361718 89948016 85073732 84449360 84469807 83948242 84360447 84669888 85018996 85072991
29 87088205 87007042 87208915 91964769 87832598 86912434 87452250 87269412 87505275 86657532 87335541 87138874 87179747 87299094 89635265 88185575 86935936 87690891 87265814 89485912 88536278 87124248 87155912 86726940 87473226 87323415 86931771 90220263 87226452 86811078
30 89964990 90485081 91126193 89454746 90217168 90451379 90002450 89488081 91905316 91897480 94958011 93163466 90223382 90264902 90560531 90640420 90042245 89582606 91379488 96286627 90112726 89809288 89784838 90572518 90932341 90046461 90242333 90069576 92937597 95463352
31 92198119 92678169 92719411 92484921 98576707 92895039 92532575 92250403 92543948 92752510 92550961 96821055 92963694 93913591 92913877 92714477 93800305 92437457 92631922 97139543 94559271 92620280 92261362 92156705 92375176 92250764 92515021 92334167 93278515 92789330
32 95306679 102224623 100803820 94847204 95229627 94872917 95673893 95456479 95537320 95042066 95049909 95089548 96125924 95241239 94927256 96328468 95749526 95591606 95767733 95438207 94923178 94979457 95936239 94700755 95175536 95051642 95164395 94948626 95360677 95142665
33 97825494 97995314 97830597 98410006 97892946 98565410 99683413 97844186 97596816 97658969 98088616 98206421 97928358 98491839 98613813 98682460 98103920 97971401 98772227 98208426 97938935 97438572 97575451 98192362 98171485 98276141 97779043 100756784 98510874 97360856
34 100177976 100863650 101059730 100747751 100671157 100442295 102518422 100120780 100911331 100318114 102784093 100326714 106685654 100436805 100842631 100467237 101138824 100056593 101416796 100706017 100503425 100331192 101535407 100518940 100701003 101046269 100762087 100004494 100392285 99949598
35 103659664 103703692 103505039 103464379 107885471 103119869 103042567 103255645 103725726 103274191 106699424 102669005 103579170 102766820 104859222 103321005 105097135 103660200 103103627 106373921 103517530 103156918 102955869 103518802 104720963 102579912 103115023 103358668 103682441 103468790
36 106393849 105882425 106216161 107961320 106368726 105736686 105543494 105889340 106280985 106464075 106646517 106295524 106534880 106463920 107444505 106267764 105890607 106679806 106030352 105964845 105862502 106452205 106124817 105964244 106280854 106365271 107278722 105833152 106567844 106261335
37 109269869 108837464 108690398 108374735 108849334 108075096 108793970 115599432 110294210 108664137 109038898 108971153 108852591 108591836 108626777 108139479 109052247 108972815 109499901 108570640 108957286 108452922 113194421 108495450 109000384 109055199 108533313 108576932 108551344 108811360
38 112161635 111592570 111830724 111956071 111365732 111008363 111979520 111581069 111002305 111382688 111775398 111224502 111766086 111136272 112114437 111367647 111121692 111139533 112168077 111969706 111692782 111302519 111560999 111548343 111686699 111451721 111290094 111694625 111393493 111536231
39 113987748 114823012 114668634 114195931 114514503 113754185 114194838 114041197 114527409 113979236 114393656 113870843 113995622 115648136 115465456 113882070 114829232 114145665 114579659 114416124 114350555 117028233 114255345 115912166 122138775 115464873 119968797 119368027 114217952 114088870
40 122281891 116188131 123831535 120096723 116806838 116520957 116816975 116480627 117563556 117073632 117131634 116768275 117319565 117927866 117274865 116783454 117259399 116450129 116961050 117411701 117157863 116614225 116620683 116915088 116786006 117888700 117065685 116408463 116499999 116434329
41 120671303 119979013 121068561 119735830 119761537 118959981 119817720 118852055 122775025 120304582 123551741 120185550 119512252 119301499 119470529 120244567 119537389 121244263 119595263 120259791 120104053 119119766 120140118 118894700 119369498 119154391 119669806 119501218 119393583 119876822
42 124588826 125298956 122851122 121624281 122237231 123479795 122845960 122262533 122248976 121773159 122476146 122540432 122579059 122035253 122249769 121811048 121914444 121915561 122731008 123818893 122019586 122439793 121941475 121906620 122718561 122210181 122642623 122291676 127732069 121785173
43 124751022 126168468 124675648 125099334 125016642 125104474 125047253 128731621 125276912 125304085 130987950 124932750 124865513 128454368 126041389 124760871 125228115 124841077 125350303 124675310 124968912 124484638 126466476 124992822 124888686 124838209 125030169 124692691 124644911 126494173
44 128090412 127540404 128333074 127477139 128083354 127879288 127978521 127652572 127484846 127469334 127562730 127995296 127715547 127674675 128658003 127711237 127549564 127553205 127516346 127691128 127899502 127562564 127939499 127660526 128278953 127031534 127626006 126978338 127763640 126990300
45 130521998 129971811 131005082 130752424 131420143 130728480 130364639 130017042 129991445 131060302 130581466 129792603 130421211 130121477 129854093 130708886 130070400 130276734 131224078 130520572 129616847 130693720 130305798 130290623 129817319 133300358 130981772 130908105 130157302 130318357
46 132921722 132690700 136041971 132620017 136884086 132726826 133381245 136449684 132851956 135201007 133494545 132688777 133587585 132593265 133124373 133102915 132851296 133363139 133588787 133018724 133768524 133045656 133141910 132710238 133437916 133414394 133249836 132923109 133280805 132724112
47 135693784 134918568 135865296 135185920 135435674 135137053 136169330 135375265 136131092 135284690 135676710 136040274 136133191 135762639 136469504 136490275 138371907 136326994 142122876 135062735 135637534 135253187 136520163 135199840 135566064 135461397 137804905 135693977 135519648 135959504
48 138320225 139347612 139673130 144319460 139359929 138302501 138575901 139022991 138720982 138644756 138778494 138495324 139391044 138770042 139372174 138462575 138810657 138728456 138821644 138372360 138841583 139172984 139979859 139307752 138892870 140890737 143763427 138783397 138905511 137853849
49 140941339 140522473 140647083 141018932 141341488 140649678 140732198 140825239 141908935 140976646 145911632 145443610 141400869 151699717 150322036 142178208 141074731 147332023 141083139 142282576 141301386 142784010 140988140 142091094 140815764 140951936 141218633 141008501 142237955 141411392
50 144688882 144428567 145446474 143924448 144131789 143830104 150076733 158397578 145531892 143757389 143596411 143203293 144359936 150219644 145122741 144091119 143725782 143768652 143762671 143538063 143773341 143974804 153742275 144117976 144011754 143543591 156212968 143708100 145168034 143216733

View File

@@ -1,50 +0,0 @@
11991752;11662537;11463378;11852468;11206774;11826767;12029693;11642055;11809993;11439769;12055023;11727250;12413903;12313005;11517920;11797774;12767532;11596713;11513872;12182818;11637291;11987476;11542735;11959600;11639164;11835267;12152658;12376164;11616427;11401919
13252705;14236318;13790236;14697879;13112401;13657877;13516679;13505860;14992202;13269414;13639707;13298150;13338970;13351622;14429821;13063400;13263510;13427341;13451679;13605448;13201368;13288739;13270883;13371309;13304498;13550408;13388502;13331521;13786869;13244918
15631533;15557938;15034976;14966362;15448203;15502660;14894921;15022410;15239131;15344056;15245513;16788428;14606876;16325854;15170757;15066864;15044469;14920196;14972128;14932138;15378069;15413677;15515517;15438927;15832146;15775324;15461428;15028073;15263573;15080504
16912332;16703163;16700517;16647022;17023979;16937801;17009170;17338744;17151237;16920615;17282479;20078109;16623473;16890894;17134891;19672636;16661235;16554358;16782491;16909007;16956092;17171137;17076262;17136871;17668638;16993400;16751788;19667932;17021344;17094086
19215666;19164797;18397699;18807649;18566136;19215183;18733272;18797779;18852745;18291258;18668413;19089145;18606762;18604157;18550793;18531434;18371772;18561141;18982925;19161843;21505769;19096826;18266835;18546190;18726881;18554554;18795655;18616395;18602377;18794091
20554526;20222738;20258429;20339157;20939867;20674098;20794973;20723503;21287623;20546987;20559611;20504734;20163358;20275897;20351224;20285506;20797656;20835026;20487838;20347875;20383743;20197310;20792330;20550167;20851596;20609652;20599813;20780065;20930217;20619420
22281372;22459890;22198940;21988399;22692701;22467172;22541687;22038937;22045639;22611953;22039397;22499734;22256420;22262148;22372543;22479802;22323276;22443570;22034261;22073508;21955097;22446455;22179493;22496442;25227528;22280508;22138030;22132400;22133181;22379700
23737349;24181954;23613335;24170682;23864124;23889644;23949150;24359861;23734689;24064393;24553905;24128194;25096813;24120929;24187168;24529064;24156208;24249038;29326920;24199943;29457555;23582239;24900272;24055508;24211302;25001882;24267320;24662729;23974698;25125611
25932063;25865423;26053340;25771992;27251497;25968235;25873777;25425532;25539936;26031213;25500315;26230480;27258664;25651740;25839156;26133820;26158688;25614887;25871629;26280272;25602080;25945068;26602630;25725610;25929458;26161870;25748922;26065852;26086080;27011353
27655940;27705396;27895777;28003718;27734373;27508490;27168116;27714123;27665454;27903187;27664662;27342604;27744236;27936089;27727161;27640152;28376296;27467526;28949474;27746758;32641239;27236453;27352387;27598407;27436752;27487570;27580049;27910923;27715663;27586150
29266148;29074931;30671002;29125708;29649519;29798799;30095156;29433476;28876951;29405681;29309331;29614918;30780726;29317135;29787943;29224123;30093688;29817761;29906463;30494038;34020568;29470742;29412248;29433228;30639137;31467901;29334364;29600543;29411222;29323292
33000655;31888055;31535349;30799565;31378283;31237768;31351851;31103626;30731392;31076983;31246633;30946638;31421469;31289986;31696518;31142037;31134259;30631120;30883292;30939991;30521446;30885123;31125060;30784828;30944299;31408260;31067660;31253398;31062526;30872255
33163006;33164360;33291365;32651819;32645126;33446867;33515719;32432640;32572582;32724608;32444523;34104496;32883388;33383330;32685681;33031593;33779740;32809664;32563931;32585392;32782085;32745633;33467287;33361079;32516836;32971961;33100633;32724840;32612591;33217529
34800792;34578740;34435731;34921085;34641079;34419837;35139631;34813380;35147413;35215866;34921922;35419509;34291622;35660127;35133032;34776105;34802919;34607988;35159923;34710366;34908583;35679543;34439758;34655871;34204248;35305181;35873889;34241259;34520993;34647069
36146918;37709119;36414077;39808115;36661157;36509422;36796871;36440306;36414004;36307868;36589737;44952809;36372021;37156368;39532296;36732022;38844536;36224361;36315136;36667990;35968539;35948072;36382604;36281146;36932697;37180549;36435718;38765553;36237992;37632938
38243105;37912771;37999209;38667159;38257885;38905352;42631595;37919646;37694143;37799227;41668357;38081557;40770970;38445593;38823889;38015785;38110199;37875460;39209747;37959603;38537830;38453024;38152719;38242354;38221844;38097072;39114299;38866626;38027853;38054214
40608449;39749933;39798342;41051853;39863213;40586119;40009442;39928609;39921111;39539959;39720571;40336179;39904338;39983402;39750235;39818741;40726066;40121301;39833078;39802528;40264568;40633096;40921404;40159371;40131496;44850528;39978718;39637672;40067169;39951163
41586394;42093099;41671888;41959347;41799866;42132695;41821418;42070973;43086400;41365280;41448372;41473810;42823097;41183096;42950071;42183994;41749384;41989441;41542901;41497112;41988003;41488574;41442334;41656581;42068211;42697866;42505532;41365763;41577261;41567285
44181668;43508759;43189198;43382274;43366142;43292910;43439334;43561783;47628234;43066417;43563834;43693005;43670130;44085849;44211482;43131103;43804861;43526638;44317796;43842199;43291258;43972126;43175463;43626941;43684382;43308219;43517716;43756460;43179608;43261377
44875247;45049996;45591569;45446538;44898813;45430194;45511273;45134039;44938105;45919294;46261589;45268957;45423392;44935246;45667201;44745118;45296018;45751944;45780900;46028240;45323207;45561524;45150803;45690362;45308278;45279422;44808526;45532412;45371760;45159637
47216047;47267457;46809567;47268018;54110817;47133604;46744687;46691634;47026987;47791535;46808440;46765365;47108873;47440566;48904875;47182914;47222603;47089473;47455515;48312932;47018544;47156632;46907427;46919510;47138143;47406406;46982701;46939006;46922284;46698979
48444744;48588955;48567422;49765301;49008709;48878845;48870662;57227571;49119092;48407217;48423980;48368691;48902660;51083560;50959338;48762742;49146061;48291258;49586853;48871956;48157026;48798172;49228686;48985356;49131469;49503592;48727972;48499117;48893776;48899004
50160508;50865949;50339635;50141741;50589181;51008375;50406855;50426212;50406233;50975168;50659097;50222886;50263487;50087912;50591640;50637048;50710623;50095905;50328257;51146317;50324973;50481624;50281935;50459581;50909816;51513699;49872486;50875666;50270701;50756573
52275587;52533329;52166414;52649855;52259445;55665698;61735900;52463913;53632375;52735991;54062471;52876765;51907761;53382906;52598825;52509798;52658337;53649934;62502548;54009694;52192169;52494697;52292058;58633315;53427466;52542425;52338831;52668952;53086725;52337827
53638437;53935213;54664377;54032722;53991792;64429984;59810741;55173536;54420162;54916677;54279319;53917454;54004022;54294567;53967572;54394702;54270981;53660243;53877667;54436442;54015915;54555531;63175137;53976068;54112660;54215689;54086771;53748239;53994018;54206699
56251175;56680125;56214983;55562104;55713908;56022487;55783092;55879208;56419035;56171977;55769423;55743533;56024328;55800200;55751317;55855066;56350970;56519429;55519293;56003545;55601443;55454718;55818696;56018263;55818164;56266376;56320792;55341496;55975949;56601056
58516408;57321414;58116640;58468882;58062446;57293380;58067612;58086752;57819118;57816422;57471612;57447985;57677250;57229109;57685028;57782003;57600520;57873165;59280244;57847748;57772232;57896234;57524551;58318753;57290945;57517626;57597330;58554870;57396920;58828349
59424327;59544681;59614196;59712858;59593055;59900393;59401353;59757084;59244137;59631741;59419858;59318813;60004405;59741684;59762495;59261829;59407674;59851745;59244889;59825785;59452487;59346853;59435634;59148165;59120632;59269500;60028283;59951696;59225875;59643806
61487409;61665083;61230248;61297148;61443268;60863182;61334149;61005259;61973049;62868068;61443697;60958147;62415865;62319441;61218171;61680068;61466310;61606682;60610419;61007328;60733648;60946571;61022007;61354743;61392885;62605382;65893763;61962814;60798111;61452072
63441265;63824379;63173968;63098218;63959722;63578601;62697428;64080104;63218720;64974131;62860323;62939587;63308383;63452524;62829252;62709947;62044069;62873456;62504319;63288512;63013157;63024318;62938391;62672343;62795903;63171874;62667393;63713937;63235687;63272732
64234376;64731647;65341718;65502688;64776479;64194476;64882210;64644661;75375878;64938292;64923811;64350157;69649753;65079172;64178984;65116385;65472989;64934422;65764113;64516920;64972495;65038663;65076628;65094321;64617202;65040246;64203028;66072854;64186418;64861827
66532452;66780765;66771847;66277140;66117209;66516840;66360407;68608503;66177870;66470230;68157910;66499856;65983398;65876313;68558394;66347260;67215396;69279473;68133858;67026590;66578955;66580910;66752743;72550246;66090276;66346704;67024219;66237481;68144816;66099297
67788063;68137601;68267073;68601441;68751183;68306890;71861764;68460577;68182747;68239406;67834449;68389065;69790518;68128629;68491224;68546972;68102889;70115289;69135555;68528767;68264043;65534088;68579866;68626125;69562024;68325951;68403593;68050435;72033662;70016616
70026963;70135995;69837205;69948252;70429203;70144701;70402381;70351342;69789440;70252203;70221668;70138257;70267940;70089270;70013322;70269660;69974958;69680114;70437370;69942203;70042207;69891171;71440428;70750632;70072916;69647960;69998030;69935228;70911053;71024874
72247899;72216394;71748398;71981600;71831789;71595400;71791837;79429147;71686576;71564069;71837074;72121559;71613824;71415245;71584934;72394707;71670112;71810273;71489852;72038305;71180739;71741830;71745758;72344700;71957368;71934333;71839078;71906169;71947469;72193366
74331839;74103827;73206144;73624695;74356215;73986407;73381742;73806949;73766512;77024158;74022139;73726490;73686997;74001734;73631825;73860489;75661487;73309207;73213392;73062749;73315339;73213151;73943734;73866132;73701338;73518252;77160275;75387391;77207747;73596944
75120809;75268941;79779276;80383084;76133930;75203763;75453084;75497654;75497804;75457415;76756006;75334968;75608758;74785338;77410858;75719439;76493177;75106892;75144916;75343832;75286715;75378745;74878252;76022339;75438785;77711298;74826424;75037235;75622491;74985700
77362718;77300589;77624017;77674535;77827149;77169791;76701845;77603283;78120969;78429270;77785317;76792259;77002197;76898285;77351996;78477321;76599284;77187205;76598121;77543648;77769184;76894227;77561921;77229427;77151676;77233746;77011803;76731641;76751326;84233509
79303763;79491547;78943575;79638412;78637768;79230299;79075973;78791546;78670832;84134371;78827525;78802200;78575705;79148105;78644659;79182116;79050918;79452269;79199382;79208305;79095744;78402732;78777985;78899334;78631929;78679799;78872679;79267007;78598055;78794959
80897167;80452838;80730574;80785807;80483141;80583719;80727084;80237400;80626867;80982788;80649200;80421463;80652046;80832708;80383658;81142766;80506488;80310044;80403470;80717713;80793645;82103507;80613515;80515416;81158324;80403468;80526547;84847498;80992558;80932043
83067882;82476004;89476805;82858000;84181452;82020001;82074595;82560586;82646738;82687865;82113430;82729040;82678009;82686017;82439744;82569450;82523715;82633205;82316106;88791776;83289026;82159748;82373199;82233108;81895130;82472382;82197992;82763536;83112453;84346521
84512715;90615380;84245642;84364239;89173816;85740944;83956417;84170164;84504440;84312263;84299912;92272935;84477402;84015782;84136456;84753357;84774618;84894419;83985306;91726952;84701616;84699440;83785557;91937309;84169645;83751972;84132591;84537602;84394710;84339809
86044226;85992306;86462305;86146365;86229834;85826072;85768889;86148811;85865184;86109943;85931509;86704213;85857574;85678645;85725623;85772761;85710063;85970463;85979581;85395101;85933348;86170625;85704918;85390121;85774681;85381893;85803244;85760072;86346947;85959763
86702559;87313900;87881467;88310189;92527407;87516942;87791610;88444903;87386815;87347462;87649859;88295545;88368694;87469516;87796957;87992488;87534226;87685388;87981719;87245150;88119191;87772279;87589938;87881587;87971280;87587191;87466209;87648575;89057251;87554198
88924359;89014914;91178270;89334165;89125210;89059989;89824578;89845010;91063681;89362398;89473754;89696872;89408245;89414717;89571583;89608775;89328615;89878145;89199632;89132464;89426661;89499934;89791237;89754283;89444613;89182663;89990807;89744814;89875654;89333129
90943786;91251061;91705715;91046551;91099069;91140168;91221753;91039669;97214624;91221199;91131368;90934316;91432858;91453232;92144140;91451034;91832102;91431745;91679343;90889223;91422180;90962979;93149536;91892474;90957064;91783300;91718036;91345624;91050391;91383521
92815971;95669183;93097565;92873260;93029734;93009548;92854980;96576517;92887523;93573291;94003113;92766844;93056509;92977489;98110781;93650482;92935272;93159298;93159784;93155672;93544232;93175352;93247460;92806077;92531217;93793156;92634290;92729917;93205099;92830116
95728490;96466662;94724755;94487421;94918826;95022630;95481265;94580232;94732412;94575332;95030826;95560589;95173362;94324383;94687307;94054696;94254046;95569201;94613673;94776201;94466991;95090195;94620189;94636320;94348557;94634383;95625575;94865152;94995423;94445926
96331303;96607162;96853043;96462259;96776934;96304575;96516575;96239461;96845504;97637686;96535543;96705375;96033818;97336163;96473726;96492757;95903636;96274049;96336297;97466373;99079357;96433460;97215031;96507153;97084894;96796513;101281352;96520733;98162289;96704387
97915162;97351840;97948510;97718809;98456091;98347874;98282431;98329761;98342433;98065233;98304711;100588957;99648323;97900491;98208683;98251062;97939208;98294813;98428392;98493329;98593246;101496978;98083376;98560131;104358638;98433476;98566993;99851942;98565428;98171815
1 11991752 11662537 11463378 11852468 11206774 11826767 12029693 11642055 11809993 11439769 12055023 11727250 12413903 12313005 11517920 11797774 12767532 11596713 11513872 12182818 11637291 11987476 11542735 11959600 11639164 11835267 12152658 12376164 11616427 11401919
2 13252705 14236318 13790236 14697879 13112401 13657877 13516679 13505860 14992202 13269414 13639707 13298150 13338970 13351622 14429821 13063400 13263510 13427341 13451679 13605448 13201368 13288739 13270883 13371309 13304498 13550408 13388502 13331521 13786869 13244918
3 15631533 15557938 15034976 14966362 15448203 15502660 14894921 15022410 15239131 15344056 15245513 16788428 14606876 16325854 15170757 15066864 15044469 14920196 14972128 14932138 15378069 15413677 15515517 15438927 15832146 15775324 15461428 15028073 15263573 15080504
4 16912332 16703163 16700517 16647022 17023979 16937801 17009170 17338744 17151237 16920615 17282479 20078109 16623473 16890894 17134891 19672636 16661235 16554358 16782491 16909007 16956092 17171137 17076262 17136871 17668638 16993400 16751788 19667932 17021344 17094086
5 19215666 19164797 18397699 18807649 18566136 19215183 18733272 18797779 18852745 18291258 18668413 19089145 18606762 18604157 18550793 18531434 18371772 18561141 18982925 19161843 21505769 19096826 18266835 18546190 18726881 18554554 18795655 18616395 18602377 18794091
6 20554526 20222738 20258429 20339157 20939867 20674098 20794973 20723503 21287623 20546987 20559611 20504734 20163358 20275897 20351224 20285506 20797656 20835026 20487838 20347875 20383743 20197310 20792330 20550167 20851596 20609652 20599813 20780065 20930217 20619420
7 22281372 22459890 22198940 21988399 22692701 22467172 22541687 22038937 22045639 22611953 22039397 22499734 22256420 22262148 22372543 22479802 22323276 22443570 22034261 22073508 21955097 22446455 22179493 22496442 25227528 22280508 22138030 22132400 22133181 22379700
8 23737349 24181954 23613335 24170682 23864124 23889644 23949150 24359861 23734689 24064393 24553905 24128194 25096813 24120929 24187168 24529064 24156208 24249038 29326920 24199943 29457555 23582239 24900272 24055508 24211302 25001882 24267320 24662729 23974698 25125611
9 25932063 25865423 26053340 25771992 27251497 25968235 25873777 25425532 25539936 26031213 25500315 26230480 27258664 25651740 25839156 26133820 26158688 25614887 25871629 26280272 25602080 25945068 26602630 25725610 25929458 26161870 25748922 26065852 26086080 27011353
10 27655940 27705396 27895777 28003718 27734373 27508490 27168116 27714123 27665454 27903187 27664662 27342604 27744236 27936089 27727161 27640152 28376296 27467526 28949474 27746758 32641239 27236453 27352387 27598407 27436752 27487570 27580049 27910923 27715663 27586150
11 29266148 29074931 30671002 29125708 29649519 29798799 30095156 29433476 28876951 29405681 29309331 29614918 30780726 29317135 29787943 29224123 30093688 29817761 29906463 30494038 34020568 29470742 29412248 29433228 30639137 31467901 29334364 29600543 29411222 29323292
12 33000655 31888055 31535349 30799565 31378283 31237768 31351851 31103626 30731392 31076983 31246633 30946638 31421469 31289986 31696518 31142037 31134259 30631120 30883292 30939991 30521446 30885123 31125060 30784828 30944299 31408260 31067660 31253398 31062526 30872255
13 33163006 33164360 33291365 32651819 32645126 33446867 33515719 32432640 32572582 32724608 32444523 34104496 32883388 33383330 32685681 33031593 33779740 32809664 32563931 32585392 32782085 32745633 33467287 33361079 32516836 32971961 33100633 32724840 32612591 33217529
14 34800792 34578740 34435731 34921085 34641079 34419837 35139631 34813380 35147413 35215866 34921922 35419509 34291622 35660127 35133032 34776105 34802919 34607988 35159923 34710366 34908583 35679543 34439758 34655871 34204248 35305181 35873889 34241259 34520993 34647069
15 36146918 37709119 36414077 39808115 36661157 36509422 36796871 36440306 36414004 36307868 36589737 44952809 36372021 37156368 39532296 36732022 38844536 36224361 36315136 36667990 35968539 35948072 36382604 36281146 36932697 37180549 36435718 38765553 36237992 37632938
16 38243105 37912771 37999209 38667159 38257885 38905352 42631595 37919646 37694143 37799227 41668357 38081557 40770970 38445593 38823889 38015785 38110199 37875460 39209747 37959603 38537830 38453024 38152719 38242354 38221844 38097072 39114299 38866626 38027853 38054214
17 40608449 39749933 39798342 41051853 39863213 40586119 40009442 39928609 39921111 39539959 39720571 40336179 39904338 39983402 39750235 39818741 40726066 40121301 39833078 39802528 40264568 40633096 40921404 40159371 40131496 44850528 39978718 39637672 40067169 39951163
18 41586394 42093099 41671888 41959347 41799866 42132695 41821418 42070973 43086400 41365280 41448372 41473810 42823097 41183096 42950071 42183994 41749384 41989441 41542901 41497112 41988003 41488574 41442334 41656581 42068211 42697866 42505532 41365763 41577261 41567285
19 44181668 43508759 43189198 43382274 43366142 43292910 43439334 43561783 47628234 43066417 43563834 43693005 43670130 44085849 44211482 43131103 43804861 43526638 44317796 43842199 43291258 43972126 43175463 43626941 43684382 43308219 43517716 43756460 43179608 43261377
20 44875247 45049996 45591569 45446538 44898813 45430194 45511273 45134039 44938105 45919294 46261589 45268957 45423392 44935246 45667201 44745118 45296018 45751944 45780900 46028240 45323207 45561524 45150803 45690362 45308278 45279422 44808526 45532412 45371760 45159637
21 47216047 47267457 46809567 47268018 54110817 47133604 46744687 46691634 47026987 47791535 46808440 46765365 47108873 47440566 48904875 47182914 47222603 47089473 47455515 48312932 47018544 47156632 46907427 46919510 47138143 47406406 46982701 46939006 46922284 46698979
22 48444744 48588955 48567422 49765301 49008709 48878845 48870662 57227571 49119092 48407217 48423980 48368691 48902660 51083560 50959338 48762742 49146061 48291258 49586853 48871956 48157026 48798172 49228686 48985356 49131469 49503592 48727972 48499117 48893776 48899004
23 50160508 50865949 50339635 50141741 50589181 51008375 50406855 50426212 50406233 50975168 50659097 50222886 50263487 50087912 50591640 50637048 50710623 50095905 50328257 51146317 50324973 50481624 50281935 50459581 50909816 51513699 49872486 50875666 50270701 50756573
24 52275587 52533329 52166414 52649855 52259445 55665698 61735900 52463913 53632375 52735991 54062471 52876765 51907761 53382906 52598825 52509798 52658337 53649934 62502548 54009694 52192169 52494697 52292058 58633315 53427466 52542425 52338831 52668952 53086725 52337827
25 53638437 53935213 54664377 54032722 53991792 64429984 59810741 55173536 54420162 54916677 54279319 53917454 54004022 54294567 53967572 54394702 54270981 53660243 53877667 54436442 54015915 54555531 63175137 53976068 54112660 54215689 54086771 53748239 53994018 54206699
26 56251175 56680125 56214983 55562104 55713908 56022487 55783092 55879208 56419035 56171977 55769423 55743533 56024328 55800200 55751317 55855066 56350970 56519429 55519293 56003545 55601443 55454718 55818696 56018263 55818164 56266376 56320792 55341496 55975949 56601056
27 58516408 57321414 58116640 58468882 58062446 57293380 58067612 58086752 57819118 57816422 57471612 57447985 57677250 57229109 57685028 57782003 57600520 57873165 59280244 57847748 57772232 57896234 57524551 58318753 57290945 57517626 57597330 58554870 57396920 58828349
28 59424327 59544681 59614196 59712858 59593055 59900393 59401353 59757084 59244137 59631741 59419858 59318813 60004405 59741684 59762495 59261829 59407674 59851745 59244889 59825785 59452487 59346853 59435634 59148165 59120632 59269500 60028283 59951696 59225875 59643806
29 61487409 61665083 61230248 61297148 61443268 60863182 61334149 61005259 61973049 62868068 61443697 60958147 62415865 62319441 61218171 61680068 61466310 61606682 60610419 61007328 60733648 60946571 61022007 61354743 61392885 62605382 65893763 61962814 60798111 61452072
30 63441265 63824379 63173968 63098218 63959722 63578601 62697428 64080104 63218720 64974131 62860323 62939587 63308383 63452524 62829252 62709947 62044069 62873456 62504319 63288512 63013157 63024318 62938391 62672343 62795903 63171874 62667393 63713937 63235687 63272732
31 64234376 64731647 65341718 65502688 64776479 64194476 64882210 64644661 75375878 64938292 64923811 64350157 69649753 65079172 64178984 65116385 65472989 64934422 65764113 64516920 64972495 65038663 65076628 65094321 64617202 65040246 64203028 66072854 64186418 64861827
32 66532452 66780765 66771847 66277140 66117209 66516840 66360407 68608503 66177870 66470230 68157910 66499856 65983398 65876313 68558394 66347260 67215396 69279473 68133858 67026590 66578955 66580910 66752743 72550246 66090276 66346704 67024219 66237481 68144816 66099297
33 67788063 68137601 68267073 68601441 68751183 68306890 71861764 68460577 68182747 68239406 67834449 68389065 69790518 68128629 68491224 68546972 68102889 70115289 69135555 68528767 68264043 65534088 68579866 68626125 69562024 68325951 68403593 68050435 72033662 70016616
34 70026963 70135995 69837205 69948252 70429203 70144701 70402381 70351342 69789440 70252203 70221668 70138257 70267940 70089270 70013322 70269660 69974958 69680114 70437370 69942203 70042207 69891171 71440428 70750632 70072916 69647960 69998030 69935228 70911053 71024874
35 72247899 72216394 71748398 71981600 71831789 71595400 71791837 79429147 71686576 71564069 71837074 72121559 71613824 71415245 71584934 72394707 71670112 71810273 71489852 72038305 71180739 71741830 71745758 72344700 71957368 71934333 71839078 71906169 71947469 72193366
36 74331839 74103827 73206144 73624695 74356215 73986407 73381742 73806949 73766512 77024158 74022139 73726490 73686997 74001734 73631825 73860489 75661487 73309207 73213392 73062749 73315339 73213151 73943734 73866132 73701338 73518252 77160275 75387391 77207747 73596944
37 75120809 75268941 79779276 80383084 76133930 75203763 75453084 75497654 75497804 75457415 76756006 75334968 75608758 74785338 77410858 75719439 76493177 75106892 75144916 75343832 75286715 75378745 74878252 76022339 75438785 77711298 74826424 75037235 75622491 74985700
38 77362718 77300589 77624017 77674535 77827149 77169791 76701845 77603283 78120969 78429270 77785317 76792259 77002197 76898285 77351996 78477321 76599284 77187205 76598121 77543648 77769184 76894227 77561921 77229427 77151676 77233746 77011803 76731641 76751326 84233509
39 79303763 79491547 78943575 79638412 78637768 79230299 79075973 78791546 78670832 84134371 78827525 78802200 78575705 79148105 78644659 79182116 79050918 79452269 79199382 79208305 79095744 78402732 78777985 78899334 78631929 78679799 78872679 79267007 78598055 78794959
40 80897167 80452838 80730574 80785807 80483141 80583719 80727084 80237400 80626867 80982788 80649200 80421463 80652046 80832708 80383658 81142766 80506488 80310044 80403470 80717713 80793645 82103507 80613515 80515416 81158324 80403468 80526547 84847498 80992558 80932043
41 83067882 82476004 89476805 82858000 84181452 82020001 82074595 82560586 82646738 82687865 82113430 82729040 82678009 82686017 82439744 82569450 82523715 82633205 82316106 88791776 83289026 82159748 82373199 82233108 81895130 82472382 82197992 82763536 83112453 84346521
42 84512715 90615380 84245642 84364239 89173816 85740944 83956417 84170164 84504440 84312263 84299912 92272935 84477402 84015782 84136456 84753357 84774618 84894419 83985306 91726952 84701616 84699440 83785557 91937309 84169645 83751972 84132591 84537602 84394710 84339809
43 86044226 85992306 86462305 86146365 86229834 85826072 85768889 86148811 85865184 86109943 85931509 86704213 85857574 85678645 85725623 85772761 85710063 85970463 85979581 85395101 85933348 86170625 85704918 85390121 85774681 85381893 85803244 85760072 86346947 85959763
44 86702559 87313900 87881467 88310189 92527407 87516942 87791610 88444903 87386815 87347462 87649859 88295545 88368694 87469516 87796957 87992488 87534226 87685388 87981719 87245150 88119191 87772279 87589938 87881587 87971280 87587191 87466209 87648575 89057251 87554198
45 88924359 89014914 91178270 89334165 89125210 89059989 89824578 89845010 91063681 89362398 89473754 89696872 89408245 89414717 89571583 89608775 89328615 89878145 89199632 89132464 89426661 89499934 89791237 89754283 89444613 89182663 89990807 89744814 89875654 89333129
46 90943786 91251061 91705715 91046551 91099069 91140168 91221753 91039669 97214624 91221199 91131368 90934316 91432858 91453232 92144140 91451034 91832102 91431745 91679343 90889223 91422180 90962979 93149536 91892474 90957064 91783300 91718036 91345624 91050391 91383521
47 92815971 95669183 93097565 92873260 93029734 93009548 92854980 96576517 92887523 93573291 94003113 92766844 93056509 92977489 98110781 93650482 92935272 93159298 93159784 93155672 93544232 93175352 93247460 92806077 92531217 93793156 92634290 92729917 93205099 92830116
48 95728490 96466662 94724755 94487421 94918826 95022630 95481265 94580232 94732412 94575332 95030826 95560589 95173362 94324383 94687307 94054696 94254046 95569201 94613673 94776201 94466991 95090195 94620189 94636320 94348557 94634383 95625575 94865152 94995423 94445926
49 96331303 96607162 96853043 96462259 96776934 96304575 96516575 96239461 96845504 97637686 96535543 96705375 96033818 97336163 96473726 96492757 95903636 96274049 96336297 97466373 99079357 96433460 97215031 96507153 97084894 96796513 101281352 96520733 98162289 96704387
50 97915162 97351840 97948510 97718809 98456091 98347874 98282431 98329761 98342433 98065233 98304711 100588957 99648323 97900491 98208683 98251062 97939208 98294813 98428392 98493329 98593246 101496978 98083376 98560131 104358638 98433476 98566993 99851942 98565428 98171815

View File

@@ -1,50 +0,0 @@
13622572;13051468;13095925;12945342;13356884;13055206;13531465;12814286;13043964;13449695;13303249;13379327;13261578;12912337;13658542;13114171;13320623;13093931;13274123;13263783;13845597;7108521;13084774;13711175;13856729;13002533;13144190;13722588;13259404;13010249
16613354;16087649;16349369;16448322;16951474;16161683;16759850;17038243;16348257;16186121;16572935;16076177;17043172;16433073;16303239;16394117;16342025;16325623;16898380;16467069;16134580;16353007;16034335;16669093;16057050;16616671;16293972;16396452;16764238;16569779
19543979;19540142;19332557;19761473;19466227;19659454;20171953;19865025;19956213;19851187;20080635;19905864;19906455;19330492;20089001;19812322;19788546;19644405;19375620;19543017;20151493;20259615;20920313;20331795;19522507;20520493;19888952;19599377;20488341;20161844
23351694;22687969;23798736;24163918;23657740;23144059;24094823;22596651;22802954;22975089;23150061;24120904;23301927;22581883;23355091;22843523;23997994;25033915;23114522;22966653;23550432;23033193;22654815;22695705;22496827;22431981;23032192;22928489;23051779;22992263
26870686;26306627;27097198;29707237;29526635;26295204;25770812;26097518;28083541;26116356;25892148;26067420;26521605;25895455;26176472;26373206;26755451;26284223;25707728;26317739;27324963;27794618;26280546;26676458;27129872;28031470;28134300;26546925;26967886;26809357
29423715;29693120;29487019;29498080;30052441;30800640;29841179;29501476;30368688;30126937;31832943;29197754;29224236;29767325;29153608;29752627;31028455;29415038;31336906;29932277;29605429;29829045;29993065;30032553;28966664;29247272;27118901;30263793;29791823;29220429
32154760;32377876;32456349;32697129;32624687;32348118;32394559;32440648;33043744;32638855;33242282;32647472;33406491;33213506;32719242;33230729;32715194;32781453;32804297;32791363;32737657;33708551;33284845;32071218;32525113;32679524;33029647;32795671;32742157;35060077
35908410;35699864;35456199;35468814;35612163;35918350;36259325;37486659;37110876;36433865;35661750;35718160;35715194;35530884;36183588;35310024;36098412;36426141;36063463;36291429;36015760;35730454;35991844;35875848;37427093;38957868;36243435;35673884;35977526;36490747
39887491;38749521;39013376;41040829;42470287;38850609;39364641;39382897;38519223;39022394;39441571;38973618;39442954;38556035;39533049;39608597;39357137;39313071;39459085;39436020;38932198;38690166;39261630;39553189;39560484;38410121;39260899;39549292;40444167;40023797
42495977;42392576;43299654;42350003;43178990;42396624;42713372;42383328;43491079;42075759;50776695;42882141;42590863;42496569;44734243;41930024;44205502;45305667;46179952;42146526;42726518;44367338;42857092;42262242;43367347;42079646;42190753;47466241;42376095;44373659
45209670;46375914;44762358;46361667;45386796;45456561;45515396;46019529;46207687;51697202;45591154;45390393;44571375;46397016;45072844;45933852;45355294;45640169;45693914;45210532;45971546;46628106;45825451;45673695;44643306;45714515;45256041;44902652;45441944;47710527
49131619;48472103;48002867;49753581;49407586;48379111;48826995;49280408;48883124;48036523;47718033;48691631;49595393;50638838;49418298;48805132;48495008;48945045;48087623;49033217;49800904;48636854;50098384;49632816;49330146;48655420;49330216;48638899;49051483;50294237
52102673;52218920;51817426;51940897;56952962;52235732;51092643;51247816;51817858;51696812;53100309;51730858;52053327;52131539;58700088;51483496;52005734;52825984;52364504;52558041;51209802;51120168;51558462;53913013;51902493;51513435;53206045;53969233;52276723;52180535
56340307;56302053;57469629;57441254;56964154;55476032;55860702;56343354;55847536;56911632;55529135;57125539;55692885;54537732;55492103;56742191;58799383;55275381;58614442;56168041;55204783;55724988;55895461;55553593;57900340;54928193;56165447;54856363;54548042;55989644
58416727;58021075;59125489;58419382;58065822;57638239;61770868;58849651;58022909;58013019;63528826;58296833;58351941;58324768;58793642;58091994;58092725;65033000;60926472;60141331;58682615;59088547;59666454;59446866;59219382;58433921;57496182;58591388;58603261;58332233
63359325;62200486;61418672;61952733;61899089;66339678;61818862;61597089;61452588;62784084;60525930;61276835;63110511;61023080;62080392;61757031;62227128;61163725;62200497;63064160;62153675;62183694;61428381;61516703;61574586;62177722;65392311;61451607;62512746;64735901
64595277;64688368;67218793;64104780;64015385;63743235;70296224;65548616;64350089;63767383;64632640;64848490;64755459;66148726;65864151;65544738;64251116;64891084;67764046;64807742;66133406;65804886;65352043;66721554;63754206;64693539;68620175;64597993;64414094;65552164
69482478;68437319;67282397;68094491;67174497;73166462;68094150;72845636;68290343;68379507;69109631;67913479;67018262;68402613;69541954;67852660;69393394;66816840;71185268;67980378;69014946;68014465;67559378;67556542;68388154;67908930;70011720;67924470;68491094;69310223
70962565;72069403;70761362;72807913;72102918;72510824;71001050;72387683;71291096;76940472;73221020;75844946;70801281;75598105;73752796;71933258;71207192;71717076;72183105;75151675;70339460;70909091;70903961;70861418;70642351;70678652;70322427;70942396;73165531;71584138
75287299;76363047;74328279;75408305;74937016;77055046;75074243;77561123;75502659;74046199;73559510;79007093;74409107;75272881;77523500;79125614;75529922;74208966;73590941;75724942;74825740;74084544;74140684;78166394;74697058;74627894;76464074;75280165;76801392;78086247
78075938;78202354;80179870;77770633;78085276;79019869;76740132;77986593;79956795;85945634;79989359;78808847;79465588;77416431;78372837;81247734;80383037;77953279;79203187;80481368;76737959;78187296;77754872;77405311;77425389;77714132;77583457;77173308;79439617;77923742
80595051;82478844;80352297;81944312;83944503;79530024;78634217;80353600;80111658;82518251;83887661;85427255;84292511;80011542;80534703;84993148;80681920;80899655;81112461;80480979;80136987;81782738;80960313;81036372;85660580;84079376;80473965;81226853;81093723;82220321
83207205;84334945;84309265;85290869;84986405;83760585;85174452;89507142;84073335;86404030;88646032;84994151;85152589;86792707;84141277;83681871;88791435;84548301;84161738;86718032;83356868;83518924;84969934;83348161;83251633;83074707;89510819;84071430;83805463;87259017
86102682;90399562;88043367;87659559;95273376;86947590;87377719;89403690;89406485;86845130;86830231;87054508;85889446;88021584;86052425;88607026;89547481;88715218;89702242;90340678;88616355;86842806;91853107;87246363;89122993;86954674;90312623;88085309;89511611;88692133
90385034;98742042;91701321;92086412;90949875;91055682;89904617;90849440;89790575;90257897;91355878;89506641;92341049;89808360;91614803;90710860;91856143;89910038;90222598;91273788;90803290;90570876;91336831;90940738;90940588;89852676;93210284;90712133;98174996;90303966
94368974;96012619;94343163;95231036;94494839;92740879;92988722;98712384;93113295;93990596;94426617;93774104;95812490;94728635;94153043;94244411;93048829;92587500;96120741;95144126;93932744;96425275;96126772;94617048;93431435;95364346;93929137;94206488;93588262;94536722
99565027;96761580;99778524;99509980;98232569;96573905;97757923;96543886;97465172;98553535;97904289;97475262;96739137;96349186;96883337;97443430;99263159;98907565;96850534;96076495;100650574;96284079;97891103;97623662;96056997;96474591;99497175;95579035;99146401;96503027
98925471;99786260;99730882;99494791;100633822;106028232;101593454;102457639;101029193;102119690;100458861;100264462;102238692;100390709;101232600;100047509;103263461;103730883;99476275;100176992;100330521;101192583;103271998;101887808;99734809;100616640;104505313;99457399;101667569;101743526
103457950;107902848;103541694;109332156;103724680;104202983;104820378;106967815;103042420;103787153;104232751;103801280;104136043;103123930;102208294;107328018;104725392;103034715;104831780;103532035;103097147;105236569;102391360;101480204;103106816;105860907;106394587;103641920;103507477;102790209
104360020;108875606;106381872;105480234;108378045;109550301;105815419;106254895;105864514;109186853;105822282;111819377;106187344;106318219;106780490;106094713;105785269;105865316;105853893;107582694;107813104;105775611;106040908;107545502;105959650;108734040;106328118;107414447;108061208;107897970
111100595;109640538;109355593;111930273;109515955;108271909;110745814;115038906;109038323;109628405;109584078;108943559;110770492;110034387;110386263;109001161;109164349;109439145;109601423;111516396;111959400;111495165;109237282;109777135;109593156;110132979;110975652;108438585;109254486;110293602
116521488;113936457;111686399;118259758;115161235;118658636;112544572;114400311;117431603;113817855;113687922;116080829;112527298;116100036;112718361;111368349;111679374;112850609;112959992;112877412;112958309;117635430;116568740;112470337;113503964;115166906;116037464;124832226;114424228;112868965
115790863;123623629;119068616;117349383;114768900;120919104;115155414;115693814;115516558;115230250;115509274;115747669;118800082;117084055;116734394;119117330;114972066;118168020;117552359;116338291;115609159;115908973;117256312;115595843;116720887;115481420;118908594;116418438;116493083;117063756
118715628;119089506;120132801;119821594;125412869;120587087;126841755;125893766;118296129;121295128;121081993;121617537;122328022;127671944;119616554;122593120;120835973;121521420;119362238;120039329;121203239;122855982;128858829;120832435;120286571;119812797;118786296;121083996;119443187;119582247
122549514;121650922;122158532;124755707;121931339;123748082;123891733;123546138;121951028;122857796;123285861;128906842;121921399;121791206;122674278;124775115;122093435;125159605;122667996;124489378;123111691;121821075;121936839;120237386;122086382;121078556;121713945;121382469;127094248;122033478
127438439;132396559;127836916;127429222;125552471;125640152;126525980;129088568;130422749;124874710;127222679;128725269;130088958;127439902;130325981;124842347;131700230;125130879;130072145;126328845;127516582;125014693;124744365;127598691;126233660;125541340;124598080;128946450;124748985;131733375
132295662;129646826;133344488;134021718;129049932;128337674;128586007;134367483;130575097;130241065;137711745;131617930;133627790;128750349;128082926;128718416;130622800;128696493;131363554;131397070;129904889;129926552;127895020;129087206;127150458;139230497;130987581;130077947;128448890;133216648
134171601;130918797;132368284;131637950;135933306;134696695;135686204;133726353;145815649;130583393;130815005;136295903;132883369;130769836;132543546;132233612;133652980;135041607;132505302;134761802;133519870;137561752;131030816;131950359;134052088;133335391;131993343;130931171;135141313;132628252
135541052;136128136;135548527;135027120;138316385;136399666;138643673;137125462;138266878;134244744;135800017;135507126;136452609;135274572;137218283;136780520;140624336;140127887;140079884;134515622;135889381;134850686;140391441;135982112;136180589;135916805;133680263;134973585;139314410;133918999
138986712;142403285;136345391;141014136;142132968;138336083;138282929;143684313;142643473;138306556;137962003;137474834;138780440;139353307;138125803;140626470;137669964;136825477;141730403;138491196;139834355;137730742;138574970;127215035;140933028;139617893;137024746;139184378;140716455;138911696
141531165;141613555;140548418;140228233;142061659;141065205;141599278;141352285;143772806;153580583;144616762;139724070;141148047;141291337;145657002;144605249;143885055;145189800;142350853;145952537;143419207;145123471;143594268;143710745;140689814;149554402;145406893;141377755;141331716;146599999
147503772;145770622;145375232;158056542;149419137;143973859;148110837;155944995;144314202;143831922;144102940;143864254;145018606;147169245;150113545;147784544;146858680;145973526;143527928;155422244;147389816;147246036;145717538;145839355;146014747;145418425;145575181;145108942;145763899;145884033
151411509;148403135;147849315;151406520;150073051;150873211;149887570;148307630;146098945;157760067;145892252;148016333;149132549;151615229;147483625;148831123;148091361;153088252;147631425;151973289;150891981;151121900;147934647;147601187;146474130;150304998;147221217;148939958;149797800;147234724
153451774;151637227;150783492;152830363;156110749;151563424;153166128;154282946;157617206;150539969;150632019;151966220;153188133;159235271;156361269;150838092;151260185;150743118;150064706;152044966;153287549;159403261;151105545;153375230;151452823;151781283;151591644;152311377;151741416;150639709
153076329;155566784;156124471;154405842;158103200;156951595;155082591;154198859;155552649;155615271;153550987;154061051;155091671;154024380;156497862;154408830;159849166;152754907;154893285;154991947;154392900;153815215;160860870;150805777;170084061;146224858;153299159;158595214;155664471;163205442
143852183;162824250;159635073;159650794;159174064;156748195;163199933;156500723;159362533;157486645;158547975;157957203;164252366;159573495;156461097;161633301;156021782;155265988;157401532;158051649;159042521;165826047;157148239;157825970;165535200;156797155;157607795;158665026;157471751;158782887
159714273;161728470;159700717;160074216;161652793;160270709;162664145;161454216;160341017;165961535;161094095;161452825;165691689;159136329;162627475;161829430;160766648;159780315;160582178;160890099;163931108;162110800;159825224;165406334;162609071;166525377;163241986;161031908;160006949;161035375
165221115;163162842;164451185;165014864;164883458;165847727;162739669;165497706;165598383;163909731;164345581;164160871;163782944;166123047;163264313;163883731;165573065;172214453;167402311;162743629;165347956;162457622;164043194;164251719;164065908;163486278;162498974;164038775;168172084;164464486
167690276;167102249;167820870;170278973;166506028;169813566;166558290;170883853;167968420;167029950;169331367;166428718;168518943;167480669;170254036;166923864;166964083;169504746;168660700;170289206;167027727;168448598;166166889;165999363;172418838;167987449;167806757;169921030;166448109;166777391
175653105;175399992;170659521;170181248;171324087;170480933;171005285;172378843;168423813;172148535;171628211;172161791;171806919;169181761;170259052;175676985;170281425;173142765;172841778;171032801;172025507;173463501;170760621;178233481;173665114;173743948;174209616;173827752;182049953;169462681
1 13622572 13051468 13095925 12945342 13356884 13055206 13531465 12814286 13043964 13449695 13303249 13379327 13261578 12912337 13658542 13114171 13320623 13093931 13274123 13263783 13845597 7108521 13084774 13711175 13856729 13002533 13144190 13722588 13259404 13010249
2 16613354 16087649 16349369 16448322 16951474 16161683 16759850 17038243 16348257 16186121 16572935 16076177 17043172 16433073 16303239 16394117 16342025 16325623 16898380 16467069 16134580 16353007 16034335 16669093 16057050 16616671 16293972 16396452 16764238 16569779
3 19543979 19540142 19332557 19761473 19466227 19659454 20171953 19865025 19956213 19851187 20080635 19905864 19906455 19330492 20089001 19812322 19788546 19644405 19375620 19543017 20151493 20259615 20920313 20331795 19522507 20520493 19888952 19599377 20488341 20161844
4 23351694 22687969 23798736 24163918 23657740 23144059 24094823 22596651 22802954 22975089 23150061 24120904 23301927 22581883 23355091 22843523 23997994 25033915 23114522 22966653 23550432 23033193 22654815 22695705 22496827 22431981 23032192 22928489 23051779 22992263
5 26870686 26306627 27097198 29707237 29526635 26295204 25770812 26097518 28083541 26116356 25892148 26067420 26521605 25895455 26176472 26373206 26755451 26284223 25707728 26317739 27324963 27794618 26280546 26676458 27129872 28031470 28134300 26546925 26967886 26809357
6 29423715 29693120 29487019 29498080 30052441 30800640 29841179 29501476 30368688 30126937 31832943 29197754 29224236 29767325 29153608 29752627 31028455 29415038 31336906 29932277 29605429 29829045 29993065 30032553 28966664 29247272 27118901 30263793 29791823 29220429
7 32154760 32377876 32456349 32697129 32624687 32348118 32394559 32440648 33043744 32638855 33242282 32647472 33406491 33213506 32719242 33230729 32715194 32781453 32804297 32791363 32737657 33708551 33284845 32071218 32525113 32679524 33029647 32795671 32742157 35060077
8 35908410 35699864 35456199 35468814 35612163 35918350 36259325 37486659 37110876 36433865 35661750 35718160 35715194 35530884 36183588 35310024 36098412 36426141 36063463 36291429 36015760 35730454 35991844 35875848 37427093 38957868 36243435 35673884 35977526 36490747
9 39887491 38749521 39013376 41040829 42470287 38850609 39364641 39382897 38519223 39022394 39441571 38973618 39442954 38556035 39533049 39608597 39357137 39313071 39459085 39436020 38932198 38690166 39261630 39553189 39560484 38410121 39260899 39549292 40444167 40023797
10 42495977 42392576 43299654 42350003 43178990 42396624 42713372 42383328 43491079 42075759 50776695 42882141 42590863 42496569 44734243 41930024 44205502 45305667 46179952 42146526 42726518 44367338 42857092 42262242 43367347 42079646 42190753 47466241 42376095 44373659
11 45209670 46375914 44762358 46361667 45386796 45456561 45515396 46019529 46207687 51697202 45591154 45390393 44571375 46397016 45072844 45933852 45355294 45640169 45693914 45210532 45971546 46628106 45825451 45673695 44643306 45714515 45256041 44902652 45441944 47710527
12 49131619 48472103 48002867 49753581 49407586 48379111 48826995 49280408 48883124 48036523 47718033 48691631 49595393 50638838 49418298 48805132 48495008 48945045 48087623 49033217 49800904 48636854 50098384 49632816 49330146 48655420 49330216 48638899 49051483 50294237
13 52102673 52218920 51817426 51940897 56952962 52235732 51092643 51247816 51817858 51696812 53100309 51730858 52053327 52131539 58700088 51483496 52005734 52825984 52364504 52558041 51209802 51120168 51558462 53913013 51902493 51513435 53206045 53969233 52276723 52180535
14 56340307 56302053 57469629 57441254 56964154 55476032 55860702 56343354 55847536 56911632 55529135 57125539 55692885 54537732 55492103 56742191 58799383 55275381 58614442 56168041 55204783 55724988 55895461 55553593 57900340 54928193 56165447 54856363 54548042 55989644
15 58416727 58021075 59125489 58419382 58065822 57638239 61770868 58849651 58022909 58013019 63528826 58296833 58351941 58324768 58793642 58091994 58092725 65033000 60926472 60141331 58682615 59088547 59666454 59446866 59219382 58433921 57496182 58591388 58603261 58332233
16 63359325 62200486 61418672 61952733 61899089 66339678 61818862 61597089 61452588 62784084 60525930 61276835 63110511 61023080 62080392 61757031 62227128 61163725 62200497 63064160 62153675 62183694 61428381 61516703 61574586 62177722 65392311 61451607 62512746 64735901
17 64595277 64688368 67218793 64104780 64015385 63743235 70296224 65548616 64350089 63767383 64632640 64848490 64755459 66148726 65864151 65544738 64251116 64891084 67764046 64807742 66133406 65804886 65352043 66721554 63754206 64693539 68620175 64597993 64414094 65552164
18 69482478 68437319 67282397 68094491 67174497 73166462 68094150 72845636 68290343 68379507 69109631 67913479 67018262 68402613 69541954 67852660 69393394 66816840 71185268 67980378 69014946 68014465 67559378 67556542 68388154 67908930 70011720 67924470 68491094 69310223
19 70962565 72069403 70761362 72807913 72102918 72510824 71001050 72387683 71291096 76940472 73221020 75844946 70801281 75598105 73752796 71933258 71207192 71717076 72183105 75151675 70339460 70909091 70903961 70861418 70642351 70678652 70322427 70942396 73165531 71584138
20 75287299 76363047 74328279 75408305 74937016 77055046 75074243 77561123 75502659 74046199 73559510 79007093 74409107 75272881 77523500 79125614 75529922 74208966 73590941 75724942 74825740 74084544 74140684 78166394 74697058 74627894 76464074 75280165 76801392 78086247
21 78075938 78202354 80179870 77770633 78085276 79019869 76740132 77986593 79956795 85945634 79989359 78808847 79465588 77416431 78372837 81247734 80383037 77953279 79203187 80481368 76737959 78187296 77754872 77405311 77425389 77714132 77583457 77173308 79439617 77923742
22 80595051 82478844 80352297 81944312 83944503 79530024 78634217 80353600 80111658 82518251 83887661 85427255 84292511 80011542 80534703 84993148 80681920 80899655 81112461 80480979 80136987 81782738 80960313 81036372 85660580 84079376 80473965 81226853 81093723 82220321
23 83207205 84334945 84309265 85290869 84986405 83760585 85174452 89507142 84073335 86404030 88646032 84994151 85152589 86792707 84141277 83681871 88791435 84548301 84161738 86718032 83356868 83518924 84969934 83348161 83251633 83074707 89510819 84071430 83805463 87259017
24 86102682 90399562 88043367 87659559 95273376 86947590 87377719 89403690 89406485 86845130 86830231 87054508 85889446 88021584 86052425 88607026 89547481 88715218 89702242 90340678 88616355 86842806 91853107 87246363 89122993 86954674 90312623 88085309 89511611 88692133
25 90385034 98742042 91701321 92086412 90949875 91055682 89904617 90849440 89790575 90257897 91355878 89506641 92341049 89808360 91614803 90710860 91856143 89910038 90222598 91273788 90803290 90570876 91336831 90940738 90940588 89852676 93210284 90712133 98174996 90303966
26 94368974 96012619 94343163 95231036 94494839 92740879 92988722 98712384 93113295 93990596 94426617 93774104 95812490 94728635 94153043 94244411 93048829 92587500 96120741 95144126 93932744 96425275 96126772 94617048 93431435 95364346 93929137 94206488 93588262 94536722
27 99565027 96761580 99778524 99509980 98232569 96573905 97757923 96543886 97465172 98553535 97904289 97475262 96739137 96349186 96883337 97443430 99263159 98907565 96850534 96076495 100650574 96284079 97891103 97623662 96056997 96474591 99497175 95579035 99146401 96503027
28 98925471 99786260 99730882 99494791 100633822 106028232 101593454 102457639 101029193 102119690 100458861 100264462 102238692 100390709 101232600 100047509 103263461 103730883 99476275 100176992 100330521 101192583 103271998 101887808 99734809 100616640 104505313 99457399 101667569 101743526
29 103457950 107902848 103541694 109332156 103724680 104202983 104820378 106967815 103042420 103787153 104232751 103801280 104136043 103123930 102208294 107328018 104725392 103034715 104831780 103532035 103097147 105236569 102391360 101480204 103106816 105860907 106394587 103641920 103507477 102790209
30 104360020 108875606 106381872 105480234 108378045 109550301 105815419 106254895 105864514 109186853 105822282 111819377 106187344 106318219 106780490 106094713 105785269 105865316 105853893 107582694 107813104 105775611 106040908 107545502 105959650 108734040 106328118 107414447 108061208 107897970
31 111100595 109640538 109355593 111930273 109515955 108271909 110745814 115038906 109038323 109628405 109584078 108943559 110770492 110034387 110386263 109001161 109164349 109439145 109601423 111516396 111959400 111495165 109237282 109777135 109593156 110132979 110975652 108438585 109254486 110293602
32 116521488 113936457 111686399 118259758 115161235 118658636 112544572 114400311 117431603 113817855 113687922 116080829 112527298 116100036 112718361 111368349 111679374 112850609 112959992 112877412 112958309 117635430 116568740 112470337 113503964 115166906 116037464 124832226 114424228 112868965
33 115790863 123623629 119068616 117349383 114768900 120919104 115155414 115693814 115516558 115230250 115509274 115747669 118800082 117084055 116734394 119117330 114972066 118168020 117552359 116338291 115609159 115908973 117256312 115595843 116720887 115481420 118908594 116418438 116493083 117063756
34 118715628 119089506 120132801 119821594 125412869 120587087 126841755 125893766 118296129 121295128 121081993 121617537 122328022 127671944 119616554 122593120 120835973 121521420 119362238 120039329 121203239 122855982 128858829 120832435 120286571 119812797 118786296 121083996 119443187 119582247
35 122549514 121650922 122158532 124755707 121931339 123748082 123891733 123546138 121951028 122857796 123285861 128906842 121921399 121791206 122674278 124775115 122093435 125159605 122667996 124489378 123111691 121821075 121936839 120237386 122086382 121078556 121713945 121382469 127094248 122033478
36 127438439 132396559 127836916 127429222 125552471 125640152 126525980 129088568 130422749 124874710 127222679 128725269 130088958 127439902 130325981 124842347 131700230 125130879 130072145 126328845 127516582 125014693 124744365 127598691 126233660 125541340 124598080 128946450 124748985 131733375
37 132295662 129646826 133344488 134021718 129049932 128337674 128586007 134367483 130575097 130241065 137711745 131617930 133627790 128750349 128082926 128718416 130622800 128696493 131363554 131397070 129904889 129926552 127895020 129087206 127150458 139230497 130987581 130077947 128448890 133216648
38 134171601 130918797 132368284 131637950 135933306 134696695 135686204 133726353 145815649 130583393 130815005 136295903 132883369 130769836 132543546 132233612 133652980 135041607 132505302 134761802 133519870 137561752 131030816 131950359 134052088 133335391 131993343 130931171 135141313 132628252
39 135541052 136128136 135548527 135027120 138316385 136399666 138643673 137125462 138266878 134244744 135800017 135507126 136452609 135274572 137218283 136780520 140624336 140127887 140079884 134515622 135889381 134850686 140391441 135982112 136180589 135916805 133680263 134973585 139314410 133918999
40 138986712 142403285 136345391 141014136 142132968 138336083 138282929 143684313 142643473 138306556 137962003 137474834 138780440 139353307 138125803 140626470 137669964 136825477 141730403 138491196 139834355 137730742 138574970 127215035 140933028 139617893 137024746 139184378 140716455 138911696
41 141531165 141613555 140548418 140228233 142061659 141065205 141599278 141352285 143772806 153580583 144616762 139724070 141148047 141291337 145657002 144605249 143885055 145189800 142350853 145952537 143419207 145123471 143594268 143710745 140689814 149554402 145406893 141377755 141331716 146599999
42 147503772 145770622 145375232 158056542 149419137 143973859 148110837 155944995 144314202 143831922 144102940 143864254 145018606 147169245 150113545 147784544 146858680 145973526 143527928 155422244 147389816 147246036 145717538 145839355 146014747 145418425 145575181 145108942 145763899 145884033
43 151411509 148403135 147849315 151406520 150073051 150873211 149887570 148307630 146098945 157760067 145892252 148016333 149132549 151615229 147483625 148831123 148091361 153088252 147631425 151973289 150891981 151121900 147934647 147601187 146474130 150304998 147221217 148939958 149797800 147234724
44 153451774 151637227 150783492 152830363 156110749 151563424 153166128 154282946 157617206 150539969 150632019 151966220 153188133 159235271 156361269 150838092 151260185 150743118 150064706 152044966 153287549 159403261 151105545 153375230 151452823 151781283 151591644 152311377 151741416 150639709
45 153076329 155566784 156124471 154405842 158103200 156951595 155082591 154198859 155552649 155615271 153550987 154061051 155091671 154024380 156497862 154408830 159849166 152754907 154893285 154991947 154392900 153815215 160860870 150805777 170084061 146224858 153299159 158595214 155664471 163205442
46 143852183 162824250 159635073 159650794 159174064 156748195 163199933 156500723 159362533 157486645 158547975 157957203 164252366 159573495 156461097 161633301 156021782 155265988 157401532 158051649 159042521 165826047 157148239 157825970 165535200 156797155 157607795 158665026 157471751 158782887
47 159714273 161728470 159700717 160074216 161652793 160270709 162664145 161454216 160341017 165961535 161094095 161452825 165691689 159136329 162627475 161829430 160766648 159780315 160582178 160890099 163931108 162110800 159825224 165406334 162609071 166525377 163241986 161031908 160006949 161035375
48 165221115 163162842 164451185 165014864 164883458 165847727 162739669 165497706 165598383 163909731 164345581 164160871 163782944 166123047 163264313 163883731 165573065 172214453 167402311 162743629 165347956 162457622 164043194 164251719 164065908 163486278 162498974 164038775 168172084 164464486
49 167690276 167102249 167820870 170278973 166506028 169813566 166558290 170883853 167968420 167029950 169331367 166428718 168518943 167480669 170254036 166923864 166964083 169504746 168660700 170289206 167027727 168448598 166166889 165999363 172418838 167987449 167806757 169921030 166448109 166777391
50 175653105 175399992 170659521 170181248 171324087 170480933 171005285 172378843 168423813 172148535 171628211 172161791 171806919 169181761 170259052 175676985 170281425 173142765 172841778 171032801 172025507 173463501 170760621 178233481 173665114 173743948 174209616 173827752 182049953 169462681

View File

@@ -1,50 +0,0 @@
13293759;13073590;13025155;13588724;13167112;13142995;13018222;13109019;13565248;13188594;13648711;12835836;12977393;13006980;13709780;13444583;12784937;13380027;13146031;13330591;12959748;12918337;13025606;13138246;13195668;13021929;13187071;13241047;13024504;13162062
16148395;16131542;16831116;16291344;16491484;16145670;16149788;16425656;15707686;16767342;16787281;16416588;16403542;16345469;16765980;16113126;16750459;16893087;16471555;16487496;16441607;16785447;17140019;16287897;16157834;15812962;16461516;16313618;16211348;16807069
19626377;19756991;19101002;20034572;19044322;19132805;19942282;19454511;19192741;19429092;20142714;24682736;21195046;23255884;20784956;19152643;18901854;18906803;17534689;18262227;18373785;18459402;18829513;18348045;18638551;18627861;18208722;18276625;18422891;17911123
21262898;21222348;21340369;20944638;22235675;20914929;20799083;21237148;21593131;21065483;21344818;21218491;21290181;21394856;22507104;21978253;20528216;22313957;23055403;20541161;20505311;22567282;20486444;22184736;21402801;21259421;21876345;21410406;21345158;20846146
24295572;23761019;24330560;24656405;24476314;24689349;24155509;24346641;24221928;24933886;23540639;26004855;24097346;25580417;24590436;26893909;23447668;24148375;23645434;24209113;23874871;24287516;24393252;25745820;24096744;24814073;23524809;24309659;24581509;24174486
28027789;27688508;28249873;27167853;27626516;27385136;26914608;26068709;27384856;27766149;26997490;27609683;29858389;27315129;28071856;27578773;29230434;27659632;26648961;26673108;27258830;27533065;27351832;28318176;27111292;28970127;27470944;26388072;27385858;27610196
30281634;30429643;29110761;30304839;30107885;29666464;32222378;30598863;30499389;30419503;30060393;30385166;30474060;29429373;29415265;30128165;31564355;30116182;28798072;31405436;29987230;29989134;31356701;29375227;31264872;31532885;32014524;30829152;31997601;31448109
35611777;35519107;36007790;36264641;34842808;35099930;36548494;35746941;36093717;35402069;35977141;39007258;35527243;36086624;35046506;34579865;35054301;36300340;34387240;35082436;34396979;35520340;34909850;35257958;36317093;35433691;36040284;36032769;35644011;35843850
39350779;38404123;37870172;40214964;39559326;38772422;39016177;40246345;38809664;39245043;37711973;39334738;38118757;40042979;38847458;42125670;42408020;38935990;38782391;39061555;38674731;42649511;39108838;39020365;39102215;38866745;39800536;38237258;38567312;39375107
41531312;40708076;42343756;41869079;41300050;41977261;42531652;39708557;44147984;42911222;43987220;41776649;45570067;42464101;42106132;40295963;42991539;43447318;42582211;43409514;41747513;42494029;42862136;40535670;42463279;43102886;42571781;43869301;42479191;42247729
47600686;45592631;45196168;44184115;46188804;44817580;46083689;44018571;44496444;45272778;45900462;45933095;45154377;45470784;43960299;46489059;45878509;46201929;45660413;44345339;44073740;45572763;45841397;43608442;42667928;45567763;42609214;42717686;41828392;42524950
43563786;45938296;44871214;46492386;45360730;45426477;45594034;46390698;45559557;45551552;47306153;44695001;45329098;44285623;45448341;45609284;45986771;43144548;45226488;44961261;44368725;43526554;46666896;46962313;46744819;45480093;43860725;47584716;48214895;48500943
51876847;52351602;52121473;51765740;51446106;51782673;51577302;53319750;52287958;52172823;51799295;50637189;50761863;51222451;51826197;52742955;50060986;52198043;52496745;51270935;49661136;51484993;51942755;50213773;51775689;56577803;54044143;51090934;52220878;50974788
56007101;53572423;55100052;55428302;54446728;55902216;53920192;54837129;54498629;55323308;55097326;57179376;53422221;54244594;55463450;55142635;55311946;54227280;55996671;56075214;55892557;55003884;54914361;55079282;57285854;55094842;56376110;55732455;54983224;54548918
58086276;58788916;57464894;58395679;57712276;58852630;59480875;58723378;58603324;57987022;57645055;59284693;58990048;57131854;57049945;58061217;57525042;59203474;58010217;58367825;58598685;57547025;58972364;56723187;58052590;59172133;57438152;58986822;59212932;58502738
61496596;61318388;60620608;62090103;61874803;64982183;60872288;59946263;60544950;61941404;62539290;60437531;67235457;61244675;60939841;61322808;62307898;62396972;60880064;62853092;62930793;61538699;62307468;66614486;61674344;61189718;59972765;61270074;62523819;60731084
66525072;65435959;64664805;66020067;64562285;65748438;63722007;70809426;65789548;64967495;64194638;63566904;65073381;64936154;65035428;65389268;64164921;63533189;64551855;65851519;65077120;65849916;64137667;64821842;65302378;65333218;65043364;65462230;63389138;64501457
68721245;68000219;68518830;69621591;68044876;68064355;68146224;68232733;68582325;65887289;66537917;67156945;67799868;68353658;70216722;67899664;68478091;68444216;68134882;69221111;68997604;69060286;67296668;66950292;68544431;68740764;68998457;68488973;68022613;67699614
70303451;71210691;72063053;71293652;69977265;70806523;70433255;71952116;70670878;71373418;71468243;71523480;71378257;71813115;71586904;71957637;70457532;71839517;72663854;71916116;70772075;71258804;71483042;70207424;70791143;71032995;70946216;71399329;71212514;70347648
73755904;75924563;74807214;74362958;73537127;73446130;72923592;75081640;75377727;75396804;74785602;74108783;74756335;74778158;75339342;73676930;74141757;73418457;74866531;75425089;75777516;74585042;74285658;76561936;74847353;72912610;75724995;76737980;75442694;74902962
75745093;78984741;78601554;79022274;76556736;77271190;79856772;77693163;75557778;76010330;76886951;78478834;78797977;75685959;78541477;78016373;75781735;78184711;76347088;75875638;77231903;77108924;78310807;77376916;75233817;79288875;76540776;79163701;77865890;81477743
80635471;80493754;80150175;82408588;81550715;81270900;83089927;81260229;82986404;82941768;83453156;85106158;81947109;79782878;81611263;81052013;81400953;80580574;80651593;84468605;81419119;80174462;81113663;81469658;81978499;80759253;80290539;82099215;80827856;81932560
86680900;83847605;84087693;84219951;84113103;84260931;83940756;86630933;84677173;82959393;84906760;85400042;85273405;84075039;83192779;81377098;84609912;85326429;82753361;84024791;85075981;83962179;85477754;85282914;83928293;84528763;83795494;83915668;83666051;82509176
86362469;87878365;89146378;88575164;87093074;86993971;88384162;86241103;87954434;86768351;87156858;88941920;87520127;88164904;87636264;88411906;86661452;88049669;86988320;88621825;86807517;87048819;86482053;89620203;90826245;87721099;87098375;88143073;87295179;86850531
90577831;90340447;91342150;91517663;90168922;89460842;91183892;89873397;90700991;90533685;100498746;90051333;90039601;89589463;90487254;90543083;92326881;91068648;90442086;91331941;91203059;91083667;91816766;90710288;90429821;90427708;90534326;91582910;90596166;89989313
94242677;95983011;93534998;97282294;94903556;94169195;94465382;93722202;94234993;93216647;94364255;92924968;95835083;93790766;95492155;92556820;93335729;94511933;94489559;96074108;94321832;93646736;94212479;94532143;93414834;95148574;93395896;95009152;95191708;95150097
101281313;97084239;98263058;99464861;98710340;97303246;95437318;97199645;96183794;96561981;97047759;98249812;97017810;97503146;97596678;97527915;98117103;98480772;96005536;96710550;97119358;98420755;97767021;97016518;96954797;98825214;96691484;97448540;98861786;97794224
99309860;100087587;104834503;102229383;97657738;101879921;98129959;101047418;101325260;99720120;100579405;98560238;100964687;100793723;101338917;101866055;101022900;100503698;99581430;101586460;101515561;100022209;100835926;100681295;98890182;100773614;103146111;101245054;100423441;101263600
103176861;101274241;107428121;103315632;103758806;105303118;104288770;102952373;105369597;104304800;103077217;103848381;103882317;103635055;103282106;103593864;102755218;102779326;103354487;103493609;104168034;105559377;104154778;104210748;105059202;104195868;103018753;102406720;104887838;103763987
104479031;108352143;107994386;107468270;105887428;107362624;106737465;106180469;107073360;109656307;107228211;107485073;106957936;107216429;106270584;106894421;104872188;106487478;106229875;106874262;108010929;105365509;108020628;106951913;107506385;106372945;107730031;107526634;107081556;106517006
111913128;110898731;109714701;111470044;110336785;114364027;112039054;115399778;111663442;111220257;108837601;110860065;110009597;111128649;110467329;110668331;109557956;109770400;110101426;111319591;110246108;110741705;110485394;110736995;108765430;107881757;111064454;109046759;107417291;115020930
115090414;115000560;113113690;113325493;116011421;114351473;113767706;114167846;114176883;115255016;113504822;114037933;112493782;114606351;113207954;113978156;112543349;117086577;113520113;111003685;114529240;114800720;110866087;114413505;115105534;117672501;118024858;116668773;114187524;113851669
117432001;119698572;116823475;116160332;120375872;118038494;118141736;119408375;115911406;116999829;118967545;115747407;116380461;116169960;114445338;116870145;116178247;116001832;116299863;115127287;115440338;121794198;116453173;114403135;115901918;116042222;118475947;115959711;117076789;116536045
120230289;119313601;118434577;119956204;119558699;121880707;122571414;120375612;118963659;119436491;120477401;121968358;119370322;121176724;118761885;119830719;119763899;120230620;123017103;120867121;120443836;121770252;120466239;120362807;119976424;118650519;17400042;121149712;121562848;119045710
127147218;122654968;122584781;123604159;125278614;124305776;122124182;123138019;122541687;124211042;123719113;122033115;122846742;121853194;126183599;123281359;124459497;122762347;124541587;122441421;122102941;124382697;123237184;123049808;123715005;123535214;125472422;119224999;126962347;122937077
126026062;126820972;125297070;125944924;126879876;125668544;128516569;128245710;125272693;126081410;128558651;125918622;130798128;127379521;126333922;126700948;126907381;125944964;126932790;125233066;128036502;127372016;134243436;124204139;125431002;128345756;130350475;126937420;127124013;127932951
133940286;127082152;131642364;128342109;131778720;133685849;129934344;132108533;128611845;130025281;130274387;129941868;130885608;129516700;130055190;131565374;130743772;130530627;132663406;130629118;126012707;128514505;134436804;128782037;130103814;129699125;129852504;131278104;128792137;121975213
130958080;132410433;131103764;132495167;136005554;133724435;131782648;143681031;132918684;133946107;138074959;131233367;134548131;134829601;132602808;134151618;132311129;132416835;133380445;132932862;134893545;134673526;134236414;134513354;132922562;134440972;135645191;134135938;134708234;134951839
135037687;134701030;136007397;136928243;136591346;136208590;136444600;135512653;137763301;134978170;135173151;138792218;136297514;136765936;136395284;136748643;136671603;136982720;137000935;135700499;136081132;134896331;134871142;136590555;135777159;136830282;135893415;137024181;136295629;135405664
139263948;137593771;138042476;140229641;138897374;138958523;139463468;141608710;138312533;139392009;139347361;139674278;140022488;138628409;140630082;139504488;138952361;140332633;138329366;138776819;139001527;138404682;139347261;143028550;147144807;138634391;139868638;140802469;139693827;139574855
143216837;141511081;142243779;145327012;142649411;142172801;141026315;140815635;145104298;143876964;144341611;142399113;142555858;143299278;144109238;132331590;148986499;146170818;142683237;141685080;142878157;142640223;141818320;142960367;144204784;142905000;142064410;141939997;141201788;140802409
146754757;149508156;147901042;146177161;150913547;145474841;145292345;147100711;146131371;144682155;147425495;146581569;146887256;145882426;148307084;144821387;145410225;145929989;148376129;148017059;147056947;145540950;147119488;146098778;146252798;145682827;145185617;144036406;146517123;146068850
149140159;151260865;150753075;150463400;150096263;150159867;149218582;153450294;149410656;148457908;150132274;149196579;150075904;149484901;147550269;149687627;147900702;149873158;149445053;149695652;147867798;149034713;146295993;152552334;148656736;150036857;150884731;148465614;145516623;149787652
154687387;153290883;152982722;153173925;154023823;151197923;151075834;151594546;150089922;154414786;153252498;154975669;157253621;152534930;151418822;151178094;151983574;154008312;152977142;153392302;153697487;153203082;154605908;155593534;154681595;152964137;152980699;149385618;153699050;153091775
153765660;156015918;152704651;156083861;156804586;155109570;154471917;155995288;153660464;152854052;156349789;152914871;153600968;151276626;154029013;155225646;153973194;153257419;155404986;156189697;155295343;155190949;156987433;154718989;160283911;156710322;154452329;157501104;155282217;160709491
160357685;158227210;160072228;160163376;155267959;158169728;158944499;158188626;160437411;153475204;161465375;158253873;159852259;159680354;156678190;156628052;158438592;159686216;157448823;161403275;157802722;159049764;158610258;158004897;160229495;159584197;160321144;160037541;159104030;158764308
161526906;163006591;166927397;164468261;161394317;163339821;163058182;162970000;160321115;166133509;162525954;159893379;164348769;161770410;163902098;164906106;166187765;163576612;161331254;163447551;161594567;159776192;163897969;158191762;161851428;163253072;163133127;163424246;161870556;163356484
165402193;165676348;167694603;166326224;165327938;165218806;166042602;166459074;165459094;163389899;166995641;165258934;165079263;163165571;167691567;169061529;168578317;164809708;165191632;166095806;165478903;165697438;163092499;163989398;162096778;165990491;164847862;164361454;164459264;165855437
166302719;171449445;168446700;170049526;173827253;170562186;168704984;171085947;171160463;167124070;169020680;168600630;167565873;169585902;168732257;167603867;168582475;166624447;169468483;169942748;169498862;171722699;165196032;170458814;168776994;172456721;168030108;170350193;167387796;168873022
172249586;172854977;170788097;172906768;172915946;170279554;172401653;172376374;171588688;170625239;173866209;169334281;171883172;177166786;173873403;174937769;172629678;171411763;173121527;170239216;172972156;170475738;171420260;171661269;171306869;173665278;172436591;172686088;173077291;173355323
1 13293759 13073590 13025155 13588724 13167112 13142995 13018222 13109019 13565248 13188594 13648711 12835836 12977393 13006980 13709780 13444583 12784937 13380027 13146031 13330591 12959748 12918337 13025606 13138246 13195668 13021929 13187071 13241047 13024504 13162062
2 16148395 16131542 16831116 16291344 16491484 16145670 16149788 16425656 15707686 16767342 16787281 16416588 16403542 16345469 16765980 16113126 16750459 16893087 16471555 16487496 16441607 16785447 17140019 16287897 16157834 15812962 16461516 16313618 16211348 16807069
3 19626377 19756991 19101002 20034572 19044322 19132805 19942282 19454511 19192741 19429092 20142714 24682736 21195046 23255884 20784956 19152643 18901854 18906803 17534689 18262227 18373785 18459402 18829513 18348045 18638551 18627861 18208722 18276625 18422891 17911123
4 21262898 21222348 21340369 20944638 22235675 20914929 20799083 21237148 21593131 21065483 21344818 21218491 21290181 21394856 22507104 21978253 20528216 22313957 23055403 20541161 20505311 22567282 20486444 22184736 21402801 21259421 21876345 21410406 21345158 20846146
5 24295572 23761019 24330560 24656405 24476314 24689349 24155509 24346641 24221928 24933886 23540639 26004855 24097346 25580417 24590436 26893909 23447668 24148375 23645434 24209113 23874871 24287516 24393252 25745820 24096744 24814073 23524809 24309659 24581509 24174486
6 28027789 27688508 28249873 27167853 27626516 27385136 26914608 26068709 27384856 27766149 26997490 27609683 29858389 27315129 28071856 27578773 29230434 27659632 26648961 26673108 27258830 27533065 27351832 28318176 27111292 28970127 27470944 26388072 27385858 27610196
7 30281634 30429643 29110761 30304839 30107885 29666464 32222378 30598863 30499389 30419503 30060393 30385166 30474060 29429373 29415265 30128165 31564355 30116182 28798072 31405436 29987230 29989134 31356701 29375227 31264872 31532885 32014524 30829152 31997601 31448109
8 35611777 35519107 36007790 36264641 34842808 35099930 36548494 35746941 36093717 35402069 35977141 39007258 35527243 36086624 35046506 34579865 35054301 36300340 34387240 35082436 34396979 35520340 34909850 35257958 36317093 35433691 36040284 36032769 35644011 35843850
9 39350779 38404123 37870172 40214964 39559326 38772422 39016177 40246345 38809664 39245043 37711973 39334738 38118757 40042979 38847458 42125670 42408020 38935990 38782391 39061555 38674731 42649511 39108838 39020365 39102215 38866745 39800536 38237258 38567312 39375107
10 41531312 40708076 42343756 41869079 41300050 41977261 42531652 39708557 44147984 42911222 43987220 41776649 45570067 42464101 42106132 40295963 42991539 43447318 42582211 43409514 41747513 42494029 42862136 40535670 42463279 43102886 42571781 43869301 42479191 42247729
11 47600686 45592631 45196168 44184115 46188804 44817580 46083689 44018571 44496444 45272778 45900462 45933095 45154377 45470784 43960299 46489059 45878509 46201929 45660413 44345339 44073740 45572763 45841397 43608442 42667928 45567763 42609214 42717686 41828392 42524950
12 43563786 45938296 44871214 46492386 45360730 45426477 45594034 46390698 45559557 45551552 47306153 44695001 45329098 44285623 45448341 45609284 45986771 43144548 45226488 44961261 44368725 43526554 46666896 46962313 46744819 45480093 43860725 47584716 48214895 48500943
13 51876847 52351602 52121473 51765740 51446106 51782673 51577302 53319750 52287958 52172823 51799295 50637189 50761863 51222451 51826197 52742955 50060986 52198043 52496745 51270935 49661136 51484993 51942755 50213773 51775689 56577803 54044143 51090934 52220878 50974788
14 56007101 53572423 55100052 55428302 54446728 55902216 53920192 54837129 54498629 55323308 55097326 57179376 53422221 54244594 55463450 55142635 55311946 54227280 55996671 56075214 55892557 55003884 54914361 55079282 57285854 55094842 56376110 55732455 54983224 54548918
15 58086276 58788916 57464894 58395679 57712276 58852630 59480875 58723378 58603324 57987022 57645055 59284693 58990048 57131854 57049945 58061217 57525042 59203474 58010217 58367825 58598685 57547025 58972364 56723187 58052590 59172133 57438152 58986822 59212932 58502738
16 61496596 61318388 60620608 62090103 61874803 64982183 60872288 59946263 60544950 61941404 62539290 60437531 67235457 61244675 60939841 61322808 62307898 62396972 60880064 62853092 62930793 61538699 62307468 66614486 61674344 61189718 59972765 61270074 62523819 60731084
17 66525072 65435959 64664805 66020067 64562285 65748438 63722007 70809426 65789548 64967495 64194638 63566904 65073381 64936154 65035428 65389268 64164921 63533189 64551855 65851519 65077120 65849916 64137667 64821842 65302378 65333218 65043364 65462230 63389138 64501457
18 68721245 68000219 68518830 69621591 68044876 68064355 68146224 68232733 68582325 65887289 66537917 67156945 67799868 68353658 70216722 67899664 68478091 68444216 68134882 69221111 68997604 69060286 67296668 66950292 68544431 68740764 68998457 68488973 68022613 67699614
19 70303451 71210691 72063053 71293652 69977265 70806523 70433255 71952116 70670878 71373418 71468243 71523480 71378257 71813115 71586904 71957637 70457532 71839517 72663854 71916116 70772075 71258804 71483042 70207424 70791143 71032995 70946216 71399329 71212514 70347648
20 73755904 75924563 74807214 74362958 73537127 73446130 72923592 75081640 75377727 75396804 74785602 74108783 74756335 74778158 75339342 73676930 74141757 73418457 74866531 75425089 75777516 74585042 74285658 76561936 74847353 72912610 75724995 76737980 75442694 74902962
21 75745093 78984741 78601554 79022274 76556736 77271190 79856772 77693163 75557778 76010330 76886951 78478834 78797977 75685959 78541477 78016373 75781735 78184711 76347088 75875638 77231903 77108924 78310807 77376916 75233817 79288875 76540776 79163701 77865890 81477743
22 80635471 80493754 80150175 82408588 81550715 81270900 83089927 81260229 82986404 82941768 83453156 85106158 81947109 79782878 81611263 81052013 81400953 80580574 80651593 84468605 81419119 80174462 81113663 81469658 81978499 80759253 80290539 82099215 80827856 81932560
23 86680900 83847605 84087693 84219951 84113103 84260931 83940756 86630933 84677173 82959393 84906760 85400042 85273405 84075039 83192779 81377098 84609912 85326429 82753361 84024791 85075981 83962179 85477754 85282914 83928293 84528763 83795494 83915668 83666051 82509176
24 86362469 87878365 89146378 88575164 87093074 86993971 88384162 86241103 87954434 86768351 87156858 88941920 87520127 88164904 87636264 88411906 86661452 88049669 86988320 88621825 86807517 87048819 86482053 89620203 90826245 87721099 87098375 88143073 87295179 86850531
25 90577831 90340447 91342150 91517663 90168922 89460842 91183892 89873397 90700991 90533685 100498746 90051333 90039601 89589463 90487254 90543083 92326881 91068648 90442086 91331941 91203059 91083667 91816766 90710288 90429821 90427708 90534326 91582910 90596166 89989313
26 94242677 95983011 93534998 97282294 94903556 94169195 94465382 93722202 94234993 93216647 94364255 92924968 95835083 93790766 95492155 92556820 93335729 94511933 94489559 96074108 94321832 93646736 94212479 94532143 93414834 95148574 93395896 95009152 95191708 95150097
27 101281313 97084239 98263058 99464861 98710340 97303246 95437318 97199645 96183794 96561981 97047759 98249812 97017810 97503146 97596678 97527915 98117103 98480772 96005536 96710550 97119358 98420755 97767021 97016518 96954797 98825214 96691484 97448540 98861786 97794224
28 99309860 100087587 104834503 102229383 97657738 101879921 98129959 101047418 101325260 99720120 100579405 98560238 100964687 100793723 101338917 101866055 101022900 100503698 99581430 101586460 101515561 100022209 100835926 100681295 98890182 100773614 103146111 101245054 100423441 101263600
29 103176861 101274241 107428121 103315632 103758806 105303118 104288770 102952373 105369597 104304800 103077217 103848381 103882317 103635055 103282106 103593864 102755218 102779326 103354487 103493609 104168034 105559377 104154778 104210748 105059202 104195868 103018753 102406720 104887838 103763987
30 104479031 108352143 107994386 107468270 105887428 107362624 106737465 106180469 107073360 109656307 107228211 107485073 106957936 107216429 106270584 106894421 104872188 106487478 106229875 106874262 108010929 105365509 108020628 106951913 107506385 106372945 107730031 107526634 107081556 106517006
31 111913128 110898731 109714701 111470044 110336785 114364027 112039054 115399778 111663442 111220257 108837601 110860065 110009597 111128649 110467329 110668331 109557956 109770400 110101426 111319591 110246108 110741705 110485394 110736995 108765430 107881757 111064454 109046759 107417291 115020930
32 115090414 115000560 113113690 113325493 116011421 114351473 113767706 114167846 114176883 115255016 113504822 114037933 112493782 114606351 113207954 113978156 112543349 117086577 113520113 111003685 114529240 114800720 110866087 114413505 115105534 117672501 118024858 116668773 114187524 113851669
33 117432001 119698572 116823475 116160332 120375872 118038494 118141736 119408375 115911406 116999829 118967545 115747407 116380461 116169960 114445338 116870145 116178247 116001832 116299863 115127287 115440338 121794198 116453173 114403135 115901918 116042222 118475947 115959711 117076789 116536045
34 120230289 119313601 118434577 119956204 119558699 121880707 122571414 120375612 118963659 119436491 120477401 121968358 119370322 121176724 118761885 119830719 119763899 120230620 123017103 120867121 120443836 121770252 120466239 120362807 119976424 118650519 17400042 121149712 121562848 119045710
35 127147218 122654968 122584781 123604159 125278614 124305776 122124182 123138019 122541687 124211042 123719113 122033115 122846742 121853194 126183599 123281359 124459497 122762347 124541587 122441421 122102941 124382697 123237184 123049808 123715005 123535214 125472422 119224999 126962347 122937077
36 126026062 126820972 125297070 125944924 126879876 125668544 128516569 128245710 125272693 126081410 128558651 125918622 130798128 127379521 126333922 126700948 126907381 125944964 126932790 125233066 128036502 127372016 134243436 124204139 125431002 128345756 130350475 126937420 127124013 127932951
37 133940286 127082152 131642364 128342109 131778720 133685849 129934344 132108533 128611845 130025281 130274387 129941868 130885608 129516700 130055190 131565374 130743772 130530627 132663406 130629118 126012707 128514505 134436804 128782037 130103814 129699125 129852504 131278104 128792137 121975213
38 130958080 132410433 131103764 132495167 136005554 133724435 131782648 143681031 132918684 133946107 138074959 131233367 134548131 134829601 132602808 134151618 132311129 132416835 133380445 132932862 134893545 134673526 134236414 134513354 132922562 134440972 135645191 134135938 134708234 134951839
39 135037687 134701030 136007397 136928243 136591346 136208590 136444600 135512653 137763301 134978170 135173151 138792218 136297514 136765936 136395284 136748643 136671603 136982720 137000935 135700499 136081132 134896331 134871142 136590555 135777159 136830282 135893415 137024181 136295629 135405664
40 139263948 137593771 138042476 140229641 138897374 138958523 139463468 141608710 138312533 139392009 139347361 139674278 140022488 138628409 140630082 139504488 138952361 140332633 138329366 138776819 139001527 138404682 139347261 143028550 147144807 138634391 139868638 140802469 139693827 139574855
41 143216837 141511081 142243779 145327012 142649411 142172801 141026315 140815635 145104298 143876964 144341611 142399113 142555858 143299278 144109238 132331590 148986499 146170818 142683237 141685080 142878157 142640223 141818320 142960367 144204784 142905000 142064410 141939997 141201788 140802409
42 146754757 149508156 147901042 146177161 150913547 145474841 145292345 147100711 146131371 144682155 147425495 146581569 146887256 145882426 148307084 144821387 145410225 145929989 148376129 148017059 147056947 145540950 147119488 146098778 146252798 145682827 145185617 144036406 146517123 146068850
43 149140159 151260865 150753075 150463400 150096263 150159867 149218582 153450294 149410656 148457908 150132274 149196579 150075904 149484901 147550269 149687627 147900702 149873158 149445053 149695652 147867798 149034713 146295993 152552334 148656736 150036857 150884731 148465614 145516623 149787652
44 154687387 153290883 152982722 153173925 154023823 151197923 151075834 151594546 150089922 154414786 153252498 154975669 157253621 152534930 151418822 151178094 151983574 154008312 152977142 153392302 153697487 153203082 154605908 155593534 154681595 152964137 152980699 149385618 153699050 153091775
45 153765660 156015918 152704651 156083861 156804586 155109570 154471917 155995288 153660464 152854052 156349789 152914871 153600968 151276626 154029013 155225646 153973194 153257419 155404986 156189697 155295343 155190949 156987433 154718989 160283911 156710322 154452329 157501104 155282217 160709491
46 160357685 158227210 160072228 160163376 155267959 158169728 158944499 158188626 160437411 153475204 161465375 158253873 159852259 159680354 156678190 156628052 158438592 159686216 157448823 161403275 157802722 159049764 158610258 158004897 160229495 159584197 160321144 160037541 159104030 158764308
47 161526906 163006591 166927397 164468261 161394317 163339821 163058182 162970000 160321115 166133509 162525954 159893379 164348769 161770410 163902098 164906106 166187765 163576612 161331254 163447551 161594567 159776192 163897969 158191762 161851428 163253072 163133127 163424246 161870556 163356484
48 165402193 165676348 167694603 166326224 165327938 165218806 166042602 166459074 165459094 163389899 166995641 165258934 165079263 163165571 167691567 169061529 168578317 164809708 165191632 166095806 165478903 165697438 163092499 163989398 162096778 165990491 164847862 164361454 164459264 165855437
49 166302719 171449445 168446700 170049526 173827253 170562186 168704984 171085947 171160463 167124070 169020680 168600630 167565873 169585902 168732257 167603867 168582475 166624447 169468483 169942748 169498862 171722699 165196032 170458814 168776994 172456721 168030108 170350193 167387796 168873022
50 172249586 172854977 170788097 172906768 172915946 170279554 172401653 172376374 171588688 170625239 173866209 169334281 171883172 177166786 173873403 174937769 172629678 171411763 173121527 170239216 172972156 170475738 171420260 171661269 171306869 173665278 172436591 172686088 173077291 173355323

View File

@@ -1,50 +0,0 @@
17216356;16955417;17116330;17316731;17063448;17122082;16805635;17508706;16852286;17592139;17356259;16894588;17223499;16915630;17074489;16664359;17287775;17252766;16800475;17329266;17173382;17119116;16925368;16969945;16852787;17040584;17339566;16683788;17333795;17653930
23794712;23862985;24060801;24371546;24444849;23795733;24303864;23634319;23978861;23562759;24610382;23791736;24009901;23799321;24105698;24221785;23706109;23873575;26407646;24416855;24397186;23775815;24226393;24448667;24329915;23720327;24178219;23862223;23813308;24431523
30559812;30788056;30593116;31121687;31389429;31431912;30999669;30909744;30594479;30462602;31829908;31038164;30603146;31046741;30487701;30999139;31045579;31297750;31217193;31039617;30594439;30834498;30814107;30605350;30854526;30821221;30938230;31733190;32656410;31472822
37320142;37958487;37255877;37484643;38858081;38217552;37863632;38122016;38612051;40952955;37276878;37806471;37992082;37981963;37890875;39330993;37599668;37658722;40429926;37753538;40256678;38064624;37285335;38065496;37701035;37711426;37290124;37628053;37941895;38169970
45862577;45620616;48323676;43992582;45198353;45139068;44564227;45449933;44785388;44189907;45677929;45412160;46317886;44943125;44625326;44126193;44510883;44121754;45188945;45570659;44327255;44878500;47583093;44008162;45249273;44445836;44285193;44244964;48182131;41330793
50926221;51787770;54909217;51294730;51477787;53681223;51634763;51675041;51594504;50792540;52002930;51898446;52168523;51307395;51298537;52171418;53492856;51311563;54976237;51456235;51555297;50907364;53966158;51791719;51732443;52999393;52085101;51615806;51646857;51435274
61338712;59022056;59238308;58122191;61895789;60887143;58939886;58189122;61152019;60553733;58627707;58702804;58892112;58266283;57741009;59228760;58352060;59916380;58301662;57940417;59091091;59026194;57507383;59298806;59619651;58011717;59350688;58856083;59352070;58475822
65709445;66250580;64801114;65457575;68168890;65682242;66409380;65733943;65243157;66239007;65141267;65247374;65098905;65668986;66026203;64768912;65709366;64511239;68741978;64764312;66518252;66803358;65328292;65096430;65519706;65603760;65597938;64715978;67647895;66410472
71990893;72053765;71700988;72379130;72087101;71774531;71766084;73482701;73950995;72589370;71967357;71708141;71016644;71946857;71617786;72070368;72876530;70810681;72048235;73180753;72697912;72463003;73770403;71450840;71484195;71889385;71929173;73608056;72346827;72323842
78834035;80121866;78668663;78062893;78451670;79032402;78406492;78971885;84900744;78418045;78811572;78611602;81212743;77987375;78669836;80508321;78759711;79319533;86634435;79063433;79616372;79106608;79646330;80233675;79172246;79374179;79997334;79920615;80541084;79062401
85327196;87119161;86098340;85895233;85591061;85343718;86349901;85628304;85623284;85919982;85596672;85926144;87175820;86457620;86995760;86283231;86241650;86257040;87043232;87570941;86270455;85819216;85225789;86468111;85840668;86206801;86103670;85654966;85237472;86921265
92972493;93933327;92611870;94000538;91486316;94488289;92429184;93282869;93139309;92718919;92898089;92781291;94069703;91924180;94036728;92989407;93872228;93911143;92957224;93198013;92051859;91661828;92183896;95554939;92728738;93006430;92936284;92430487;92493901;94113398
98808432;95982081;99309660;99810166;100205126;102976820;99400718;100508337;98945390;102426968;99386089;100475643;99261957;106011697;99799044;99485432;99146071;100553426;102147443;100443601;100136964;99621027;101525059;98961632;103117945;98681817;98664041;100996660;99208173;99736803
108415124;107416407;108071243;106024202;106472787;107212880;106227438;108647226;114776207;106767562;106040785;106745198;106247227;105411818;106228260;111033650;106252177;105979746;106645334;110791908;107695081;111459580;106116774;113281983;106161120;110456725;106755969;106679832;106653520;106330330
115006566;113537592;113166679;114422668;113110329;113667105;113394403;113205475;115630503;113634060;113367610;112763854;112417218;113215605;114902514;113739396;113392800;117462015;113756610;114739657;113718716;114154696;117746328;113401688;112643008;114108736;115438199;112440965;113513846;114074570
121230623;119343032;120345287;120657916;121651724;119848618;120345206;118642847;119515739;121551688;124974793;119272955;122770014;120873988;120441915;119663607;119012829;121458507;121330718;118995295;118532101;120907634;119237837;127198779;120001016;127675570;119749595;123089808;121776007;121819181
127976526;127916740;126696811;127802237;126718854;125889387;129328783;125831203;128777618;127878876;127564754;126552860;126765856;128530526;128686260;129115758;128049047;128311861;126326679;133265990;125971908;128565244;127321540;126933503;126028038;127990534;125669228;131198569;127154274;126797498
133585604;131281832;134820902;133375203;133861301;135041943;135585313;134715687;140205150;134769301;133823708;133372307;134319654;134941127;134995944;133728593;132741087;133526919;133352990;132973571;134814630;133047575;135345746;135913643;133881109;133836413;133426113;136501499;133568851;136396915
142422534;141449296;141176605;141492491;140759652;140878334;140365093;141501439;141722359;149706396;142102620;143672392;140621102;139987937;141071400;140148250;141644397;139825841;141974521;141583108;140928401;142551887;141106949;140073765;141477602;142551125;141302691;141624869;139651562;140648316
146058985;147107980;146037042;149132728;147791303;147068263;148657040;147084525;148395421;153201031;147888292;147719102;147563599;153780872;148130153;152894152;149100816;146324123;145902250;146578879;147412254;146097180;155828294;150412615;151915865;146673353;148932188;149010651;146766345;152658574
156504392;154877390;162629625;156627843;155127447;154439737;156324962;152580972;153456700;158732076;154307569;152876849;153663493;155513691;153125464;153552617;160719461;153664415;153872190;155221451;155197484;154992194;160876879;153037032;156411091;155194859;155014738;155464806;153624227;153268073
166231509;163654134;161693320;169244704;162148397;160490154;159765932;164658251;161255868;160475475;160699172;162005158;160076969;160099232;163440227;159432943;177949256;163416099;161810329;161262410;164671227;160026059;161262781;161423845;161191502;162136805;161593916;160859335;163122097;161303701
168165981;166961192;168155170;167792813;168696636;168057820;169642771;167504662;167941574;169168125;167838092;167815067;166752876;171815176;171153536;166989598;167674583;171863311;167535862;170248582;169725582;166667159;178263911;170634013;168978366;167622292;169211410;167503439;167623443;171756262
176194696;182108457;174906784;174992923;180392541;175300633;172326364;174478369;175972734;173890022;174041147;176428382;180423852;176064482;174756392;174819144;176601510;180225255;182668199;175012782;180580087;175494842;174041218;177072909;175160200;174535682;176954989;173702477;174055595;176303459
181792291;182919449;183311894;182993603;183574956;182991830;182997090;186238871;181651787;184508076;182250074;184779496;181863290;182177142;186236948;184266796;183444312;180766542;182181400;185290362;185148155;184057909;182089350;180634023;182168455;180698148;189251936;182302326;180621479;187393653
190420966;188207971;187586148;190661044;188213041;193567962;192431486;195171037;188552613;189216027;189143906;187985448;188261335;187351501;188590015;189125841;187668129;193453148;189802710;193398632;192355809;193892956;188948676;190345880;187126011;190774405;188697195;187381740;186797251;189952934
195191227;195157021;200918615;195581198;194386318;196075552;194956048;196149226;194682074;194006147;194688797;197438439;200930518;201318445;195973272;195114749;196350308;200200545;203603480;197761559;197081734;199667837;194544026;204422497;196203641;196287786;197774706;196200666;200992430;194112314
203626325;201243789;203170196;216353691;201079780;210599020;200784023;202753713;204994814;206152360;200360137;201941971;204829281;203256363;202540928;201566539;203348854;207135658;204589103;205399703;201724126;207400724;205181658;203206877;202338855;201285692;204866303;202536911;202504678;201313236
206350186;208478496;208124796;209074138;211361538;209582659;215846953;209799412;208902593;210648568;208100920;213036143;215106500;209165396;208337712;211711400;211050933;210301711;206187148;208964084;211961638;209155667;210463878;212114295;223823246;208584904;211486091;205834842;210055492;209841214
219531859;216939213;217121580;213635893;217187819;216707472;219096951;218039018;215550767;214392197;214081983;216964543;216378921;215668637;220105948;215205334;216593309;216791396;211163803;217429631;216092643;216225041;220354474;217242947;218511400;206682546;215852204;219796576;216700038;220144284
224334453;223222245;230419649;224972758;221115326;225405162;222765465;226762548;224042655;221702973;226018818;223817456;239499834;222577037;223960885;224680058;223170013;226721648;223363901;223725236;232805962;224692582;221962098;224862203;234124593;220872434;225296029;222678425;225767518;224344233
228766275;232841611;230385522;230237133;228574271;234491899;231016613;231687451;228209199;228927800;229747619;231527409;229041632;230113092;233502751;237737739;231152398;229536277;229374401;228683294;229977167;230447854;231426723;228704575;228484055;230935385;228984140;231833065;229190472;228242876
239616993;235951175;236028335;236510235;236999269;237228807;235664967;235382806;236519624;236090537;236022775;238406993;240199609;236486950;238887020;236605771;235192336;239328090;236069045;237848575;236126638;239025570;235917630;234010993;238372747;235541256;237601643;241447433;237564572;233562528
246775701;241270287;242937899;244740824;248353257;242775571;243190511;243670387;245016581;242893101;241387646;244937067;243869876;244074244;242250078;243181083;245671669;243595731;243808657;243761524;248116175;243105376;242620119;241856280;244429256;244461289;243256119;246257862;242322890;244380261
250473622;253263171;255709722;250377325;250582765;251875055;250047021;264639964;248671558;249885085;252361914;254215268;249624617;252395270;250253423;258972764;249201773;249539722;251975020;257798996;248951425;250675095;249266459;254265727;246218666;250901417;245390752;248639907;247636751;248859315
257608154;258671377;256549129;257592914;253721486;260842080;257864143;257655767;257541845;260874383;255188686;260049625;259711325;261529179;262650145;259918499;256215409;263509772;257824947;261923058;257001662;262660516;258648452;258400118;256541354;259363747;256265556;255403355;257805258;257578096
269925631;265072519;269217621;263715813;268511845;266576511;264468812;263143177;271047088;267667138;264674151;262909581;264530892;264681306;263080004;261604566;264931464;264706074;264508700;272767653;261734420;263671147;265559168;267624194;262471938;265567574;265403884;245022514;250730765;264017382
270480895;271188995;273413272;278167502;270542875;270321795;271067908;271997231;278521482;269376941;269807842;269650846;276051927;270113137;270311624;271659522;275126693;269256297;270673520;271245035;271162233;269734169;269907076;270699190;281981770;270622431;273969357;268925112;272507436;270912766
287228600;276384346;279519528;279757422;275789806;277128857;277552323;278861130;282206766;277366216;274667300;276407664;278977187;278587185;277941776;277085927;279375993;276744630;277606470;274441497;285700878;281904823;277254743;280619415;278131201;279113378;285021791;278085672;275937361;278571799
284038030;289354960;284890913;288323037;285439121;286192591;285211056;286795476;284250352;287925549;285962040;283503434;293772633;286489487;285094456;283733431;284816092;285672062;283982276;284470918;282840107;284911166;287315886;284010890;289943680;284375419;283984948;284704251;282886074;284290804
289525894;293200941;302801906;295425960;292762866;293959259;293372864;294221049;292820015;294215638;291715691;289163864;290914999;299175991;288729657;291166719;291085680;268550218;289786055;300172583;290276762;293715808;294119285;303412790;289573719;290961496;294290417;290562697;292302670;291171394
297394000;308779054;301249548;304836003;295485887;301829388;299870929;295955051;300056980;307413007;301293612;296488109;296471978;298751233;300836629;301104963;297199826;298990598;301676647;296809353;301678589;300086955;297798782;298214433;307282607;298329686;302456936;302946280;299242355;304207679
304529757;303703185;304687854;295212544;309663608;305231534;304533080;306091401;306854679;305949172;307223387;304906178;311615212;304390612;306307500;305280977;305372816;303246129;305676498;306267189;305953738;313665388;306789518;305050206;303455214;306789607;307465004;305132905;305832259;304364977
310731984;318297228;322294303;314749789;319081618;309847288;314951563;312006237;315733997;312863770;314527643;315955508;311128634;312452366;311284438;311310408;315152531;319490301;284197801;311612927;308025631;313926037;316462704;315623367;316428347;314539633;313468144;310795781;313906167;310813815
316206874;320897361;318837082;319544922;321507129;326771315;320785521;318668542;313862178;323956234;320043413;316580720;317638182;319876005;318109640;317089040;321779066;324665114;324802842;319344036;20802600;324898428;317720740;317982670;318701832;316367701;316664781;318140918;318531149;316584211
326440543;324808129;326115920;327239481;325586778;333262557;335536371;326355435;326906299;318384149;297674420;325392156;330073385;331814130;325338471;328055228;326759932;328850208;340636494;326368949;325323389;327610450;327192795;325701105;327120173;323259603;329155362;324615708;327008413;327013814
332268081;330538458;332114180;336987444;331628151;341172164;332086555;331755359;331128497;331396909;330442277;333994114;332746390;331942662;337795547;330347902;329199262;333050061;332865331;331670751;334731831;334783131;334845121;330055069;334228999;332304666;330725766;335912041;333701068;333142549
334635961;343115718;335572066;341129073;335530174;338042834;346284808;339413226;339443375;339655588;341441070;340253003;341316086;336155041;339596943;339331946;342168888;341901296;340653893;340873671;340809446;345654434;339413303;340871597;340234213;341966572;341418092;335932794;337646115;346991540
350134319;345312185;348360769;344785146;346156681;343593923;353763385;345554776;346614623;345096493;347288116;351547653;349451224;347118284;347055200;349498215;339113523;345837225;345319445;344136939;348025542;343649086;348462694;369445143;347215751;344617886;349206634;346095877;350053485;349356064
354332249;355884145;355950635;356160324;349996864;355103272;357894734;357087832;354300435;355912579;350221951;352601341;355234325;352979177;356330182;353996110;355329640;351454965;349794306;358937796;360477148;356239995;351716413;354844012;352884160;352274802;354124779;352987992;350130809;353125209
1 17216356 16955417 17116330 17316731 17063448 17122082 16805635 17508706 16852286 17592139 17356259 16894588 17223499 16915630 17074489 16664359 17287775 17252766 16800475 17329266 17173382 17119116 16925368 16969945 16852787 17040584 17339566 16683788 17333795 17653930
2 23794712 23862985 24060801 24371546 24444849 23795733 24303864 23634319 23978861 23562759 24610382 23791736 24009901 23799321 24105698 24221785 23706109 23873575 26407646 24416855 24397186 23775815 24226393 24448667 24329915 23720327 24178219 23862223 23813308 24431523
3 30559812 30788056 30593116 31121687 31389429 31431912 30999669 30909744 30594479 30462602 31829908 31038164 30603146 31046741 30487701 30999139 31045579 31297750 31217193 31039617 30594439 30834498 30814107 30605350 30854526 30821221 30938230 31733190 32656410 31472822
4 37320142 37958487 37255877 37484643 38858081 38217552 37863632 38122016 38612051 40952955 37276878 37806471 37992082 37981963 37890875 39330993 37599668 37658722 40429926 37753538 40256678 38064624 37285335 38065496 37701035 37711426 37290124 37628053 37941895 38169970
5 45862577 45620616 48323676 43992582 45198353 45139068 44564227 45449933 44785388 44189907 45677929 45412160 46317886 44943125 44625326 44126193 44510883 44121754 45188945 45570659 44327255 44878500 47583093 44008162 45249273 44445836 44285193 44244964 48182131 41330793
6 50926221 51787770 54909217 51294730 51477787 53681223 51634763 51675041 51594504 50792540 52002930 51898446 52168523 51307395 51298537 52171418 53492856 51311563 54976237 51456235 51555297 50907364 53966158 51791719 51732443 52999393 52085101 51615806 51646857 51435274
7 61338712 59022056 59238308 58122191 61895789 60887143 58939886 58189122 61152019 60553733 58627707 58702804 58892112 58266283 57741009 59228760 58352060 59916380 58301662 57940417 59091091 59026194 57507383 59298806 59619651 58011717 59350688 58856083 59352070 58475822
8 65709445 66250580 64801114 65457575 68168890 65682242 66409380 65733943 65243157 66239007 65141267 65247374 65098905 65668986 66026203 64768912 65709366 64511239 68741978 64764312 66518252 66803358 65328292 65096430 65519706 65603760 65597938 64715978 67647895 66410472
9 71990893 72053765 71700988 72379130 72087101 71774531 71766084 73482701 73950995 72589370 71967357 71708141 71016644 71946857 71617786 72070368 72876530 70810681 72048235 73180753 72697912 72463003 73770403 71450840 71484195 71889385 71929173 73608056 72346827 72323842
10 78834035 80121866 78668663 78062893 78451670 79032402 78406492 78971885 84900744 78418045 78811572 78611602 81212743 77987375 78669836 80508321 78759711 79319533 86634435 79063433 79616372 79106608 79646330 80233675 79172246 79374179 79997334 79920615 80541084 79062401
11 85327196 87119161 86098340 85895233 85591061 85343718 86349901 85628304 85623284 85919982 85596672 85926144 87175820 86457620 86995760 86283231 86241650 86257040 87043232 87570941 86270455 85819216 85225789 86468111 85840668 86206801 86103670 85654966 85237472 86921265
12 92972493 93933327 92611870 94000538 91486316 94488289 92429184 93282869 93139309 92718919 92898089 92781291 94069703 91924180 94036728 92989407 93872228 93911143 92957224 93198013 92051859 91661828 92183896 95554939 92728738 93006430 92936284 92430487 92493901 94113398
13 98808432 95982081 99309660 99810166 100205126 102976820 99400718 100508337 98945390 102426968 99386089 100475643 99261957 106011697 99799044 99485432 99146071 100553426 102147443 100443601 100136964 99621027 101525059 98961632 103117945 98681817 98664041 100996660 99208173 99736803
14 108415124 107416407 108071243 106024202 106472787 107212880 106227438 108647226 114776207 106767562 106040785 106745198 106247227 105411818 106228260 111033650 106252177 105979746 106645334 110791908 107695081 111459580 106116774 113281983 106161120 110456725 106755969 106679832 106653520 106330330
15 115006566 113537592 113166679 114422668 113110329 113667105 113394403 113205475 115630503 113634060 113367610 112763854 112417218 113215605 114902514 113739396 113392800 117462015 113756610 114739657 113718716 114154696 117746328 113401688 112643008 114108736 115438199 112440965 113513846 114074570
16 121230623 119343032 120345287 120657916 121651724 119848618 120345206 118642847 119515739 121551688 124974793 119272955 122770014 120873988 120441915 119663607 119012829 121458507 121330718 118995295 118532101 120907634 119237837 127198779 120001016 127675570 119749595 123089808 121776007 121819181
17 127976526 127916740 126696811 127802237 126718854 125889387 129328783 125831203 128777618 127878876 127564754 126552860 126765856 128530526 128686260 129115758 128049047 128311861 126326679 133265990 125971908 128565244 127321540 126933503 126028038 127990534 125669228 131198569 127154274 126797498
18 133585604 131281832 134820902 133375203 133861301 135041943 135585313 134715687 140205150 134769301 133823708 133372307 134319654 134941127 134995944 133728593 132741087 133526919 133352990 132973571 134814630 133047575 135345746 135913643 133881109 133836413 133426113 136501499 133568851 136396915
19 142422534 141449296 141176605 141492491 140759652 140878334 140365093 141501439 141722359 149706396 142102620 143672392 140621102 139987937 141071400 140148250 141644397 139825841 141974521 141583108 140928401 142551887 141106949 140073765 141477602 142551125 141302691 141624869 139651562 140648316
20 146058985 147107980 146037042 149132728 147791303 147068263 148657040 147084525 148395421 153201031 147888292 147719102 147563599 153780872 148130153 152894152 149100816 146324123 145902250 146578879 147412254 146097180 155828294 150412615 151915865 146673353 148932188 149010651 146766345 152658574
21 156504392 154877390 162629625 156627843 155127447 154439737 156324962 152580972 153456700 158732076 154307569 152876849 153663493 155513691 153125464 153552617 160719461 153664415 153872190 155221451 155197484 154992194 160876879 153037032 156411091 155194859 155014738 155464806 153624227 153268073
22 166231509 163654134 161693320 169244704 162148397 160490154 159765932 164658251 161255868 160475475 160699172 162005158 160076969 160099232 163440227 159432943 177949256 163416099 161810329 161262410 164671227 160026059 161262781 161423845 161191502 162136805 161593916 160859335 163122097 161303701
23 168165981 166961192 168155170 167792813 168696636 168057820 169642771 167504662 167941574 169168125 167838092 167815067 166752876 171815176 171153536 166989598 167674583 171863311 167535862 170248582 169725582 166667159 178263911 170634013 168978366 167622292 169211410 167503439 167623443 171756262
24 176194696 182108457 174906784 174992923 180392541 175300633 172326364 174478369 175972734 173890022 174041147 176428382 180423852 176064482 174756392 174819144 176601510 180225255 182668199 175012782 180580087 175494842 174041218 177072909 175160200 174535682 176954989 173702477 174055595 176303459
25 181792291 182919449 183311894 182993603 183574956 182991830 182997090 186238871 181651787 184508076 182250074 184779496 181863290 182177142 186236948 184266796 183444312 180766542 182181400 185290362 185148155 184057909 182089350 180634023 182168455 180698148 189251936 182302326 180621479 187393653
26 190420966 188207971 187586148 190661044 188213041 193567962 192431486 195171037 188552613 189216027 189143906 187985448 188261335 187351501 188590015 189125841 187668129 193453148 189802710 193398632 192355809 193892956 188948676 190345880 187126011 190774405 188697195 187381740 186797251 189952934
27 195191227 195157021 200918615 195581198 194386318 196075552 194956048 196149226 194682074 194006147 194688797 197438439 200930518 201318445 195973272 195114749 196350308 200200545 203603480 197761559 197081734 199667837 194544026 204422497 196203641 196287786 197774706 196200666 200992430 194112314
28 203626325 201243789 203170196 216353691 201079780 210599020 200784023 202753713 204994814 206152360 200360137 201941971 204829281 203256363 202540928 201566539 203348854 207135658 204589103 205399703 201724126 207400724 205181658 203206877 202338855 201285692 204866303 202536911 202504678 201313236
29 206350186 208478496 208124796 209074138 211361538 209582659 215846953 209799412 208902593 210648568 208100920 213036143 215106500 209165396 208337712 211711400 211050933 210301711 206187148 208964084 211961638 209155667 210463878 212114295 223823246 208584904 211486091 205834842 210055492 209841214
30 219531859 216939213 217121580 213635893 217187819 216707472 219096951 218039018 215550767 214392197 214081983 216964543 216378921 215668637 220105948 215205334 216593309 216791396 211163803 217429631 216092643 216225041 220354474 217242947 218511400 206682546 215852204 219796576 216700038 220144284
31 224334453 223222245 230419649 224972758 221115326 225405162 222765465 226762548 224042655 221702973 226018818 223817456 239499834 222577037 223960885 224680058 223170013 226721648 223363901 223725236 232805962 224692582 221962098 224862203 234124593 220872434 225296029 222678425 225767518 224344233
32 228766275 232841611 230385522 230237133 228574271 234491899 231016613 231687451 228209199 228927800 229747619 231527409 229041632 230113092 233502751 237737739 231152398 229536277 229374401 228683294 229977167 230447854 231426723 228704575 228484055 230935385 228984140 231833065 229190472 228242876
33 239616993 235951175 236028335 236510235 236999269 237228807 235664967 235382806 236519624 236090537 236022775 238406993 240199609 236486950 238887020 236605771 235192336 239328090 236069045 237848575 236126638 239025570 235917630 234010993 238372747 235541256 237601643 241447433 237564572 233562528
34 246775701 241270287 242937899 244740824 248353257 242775571 243190511 243670387 245016581 242893101 241387646 244937067 243869876 244074244 242250078 243181083 245671669 243595731 243808657 243761524 248116175 243105376 242620119 241856280 244429256 244461289 243256119 246257862 242322890 244380261
35 250473622 253263171 255709722 250377325 250582765 251875055 250047021 264639964 248671558 249885085 252361914 254215268 249624617 252395270 250253423 258972764 249201773 249539722 251975020 257798996 248951425 250675095 249266459 254265727 246218666 250901417 245390752 248639907 247636751 248859315
36 257608154 258671377 256549129 257592914 253721486 260842080 257864143 257655767 257541845 260874383 255188686 260049625 259711325 261529179 262650145 259918499 256215409 263509772 257824947 261923058 257001662 262660516 258648452 258400118 256541354 259363747 256265556 255403355 257805258 257578096
37 269925631 265072519 269217621 263715813 268511845 266576511 264468812 263143177 271047088 267667138 264674151 262909581 264530892 264681306 263080004 261604566 264931464 264706074 264508700 272767653 261734420 263671147 265559168 267624194 262471938 265567574 265403884 245022514 250730765 264017382
38 270480895 271188995 273413272 278167502 270542875 270321795 271067908 271997231 278521482 269376941 269807842 269650846 276051927 270113137 270311624 271659522 275126693 269256297 270673520 271245035 271162233 269734169 269907076 270699190 281981770 270622431 273969357 268925112 272507436 270912766
39 287228600 276384346 279519528 279757422 275789806 277128857 277552323 278861130 282206766 277366216 274667300 276407664 278977187 278587185 277941776 277085927 279375993 276744630 277606470 274441497 285700878 281904823 277254743 280619415 278131201 279113378 285021791 278085672 275937361 278571799
40 284038030 289354960 284890913 288323037 285439121 286192591 285211056 286795476 284250352 287925549 285962040 283503434 293772633 286489487 285094456 283733431 284816092 285672062 283982276 284470918 282840107 284911166 287315886 284010890 289943680 284375419 283984948 284704251 282886074 284290804
41 289525894 293200941 302801906 295425960 292762866 293959259 293372864 294221049 292820015 294215638 291715691 289163864 290914999 299175991 288729657 291166719 291085680 268550218 289786055 300172583 290276762 293715808 294119285 303412790 289573719 290961496 294290417 290562697 292302670 291171394
42 297394000 308779054 301249548 304836003 295485887 301829388 299870929 295955051 300056980 307413007 301293612 296488109 296471978 298751233 300836629 301104963 297199826 298990598 301676647 296809353 301678589 300086955 297798782 298214433 307282607 298329686 302456936 302946280 299242355 304207679
43 304529757 303703185 304687854 295212544 309663608 305231534 304533080 306091401 306854679 305949172 307223387 304906178 311615212 304390612 306307500 305280977 305372816 303246129 305676498 306267189 305953738 313665388 306789518 305050206 303455214 306789607 307465004 305132905 305832259 304364977
44 310731984 318297228 322294303 314749789 319081618 309847288 314951563 312006237 315733997 312863770 314527643 315955508 311128634 312452366 311284438 311310408 315152531 319490301 284197801 311612927 308025631 313926037 316462704 315623367 316428347 314539633 313468144 310795781 313906167 310813815
45 316206874 320897361 318837082 319544922 321507129 326771315 320785521 318668542 313862178 323956234 320043413 316580720 317638182 319876005 318109640 317089040 321779066 324665114 324802842 319344036 20802600 324898428 317720740 317982670 318701832 316367701 316664781 318140918 318531149 316584211
46 326440543 324808129 326115920 327239481 325586778 333262557 335536371 326355435 326906299 318384149 297674420 325392156 330073385 331814130 325338471 328055228 326759932 328850208 340636494 326368949 325323389 327610450 327192795 325701105 327120173 323259603 329155362 324615708 327008413 327013814
47 332268081 330538458 332114180 336987444 331628151 341172164 332086555 331755359 331128497 331396909 330442277 333994114 332746390 331942662 337795547 330347902 329199262 333050061 332865331 331670751 334731831 334783131 334845121 330055069 334228999 332304666 330725766 335912041 333701068 333142549
48 334635961 343115718 335572066 341129073 335530174 338042834 346284808 339413226 339443375 339655588 341441070 340253003 341316086 336155041 339596943 339331946 342168888 341901296 340653893 340873671 340809446 345654434 339413303 340871597 340234213 341966572 341418092 335932794 337646115 346991540
49 350134319 345312185 348360769 344785146 346156681 343593923 353763385 345554776 346614623 345096493 347288116 351547653 349451224 347118284 347055200 349498215 339113523 345837225 345319445 344136939 348025542 343649086 348462694 369445143 347215751 344617886 349206634 346095877 350053485 349356064
50 354332249 355884145 355950635 356160324 349996864 355103272 357894734 357087832 354300435 355912579 350221951 352601341 355234325 352979177 356330182 353996110 355329640 351454965 349794306 358937796 360477148 356239995 351716413 354844012 352884160 352274802 354124779 352987992 350130809 353125209

View File

@@ -1,50 +0,0 @@
15890167;15247295;15576857;15468806;15231023;15375524;15391145;15516609;15416153;15887994;15829860;15639409;15374953;15447464;15403739;15105588;15476682;15602187;15150826;15891209;16475920;15653807;16096571;15555885;15207126;15419470;16043276;15674127;15522731;15577839
20582869;20760525;20847295;20951267;23177759;21412617;20556057;21038818;21312572;21152470;21205052;20733953;20946468;20503964;21436513;21057334;21336028;21145756;21249238;20829590;20984802;21204861;20907262;20824671;21090860;20681912;20770455;20950265;20536859;21494316
26235492;25985354;26497072;25739775;26261552;26337020;25981066;26144184;26367689;26029269;26208239;26380615;26352019;26528634;26640191;26018308;26606856;25885179;26021073;26532881;26106641;25663757;27053106;26323042;26182398;25878997;30120398;26676311;26025532;26636864
31593050;31131539;32291191;31419391;32308124;31227306;31982499;31483355;31993250;31929064;31665541;30864649;33171527;32038417;34752681;30946148;31957109;30996095;31359403;31860711;32207898;31308915;32370476;31400143;33603229;34934084;32627206;30765175;33653758;34008649
36945947;36229972;36815113;39786557;37750176;36488957;36564063;37724355;36359254;37058877;36695238;37111661;40659800;39072284;36917462;37548001;37479909;36942731;36920147;36245993;41423660;36772750;37630893;37459969;37197098;36520318;38167599;37147450;36975535;37077263
42900950;41934726;44029400;41798490;41681211;45518234;41679017;41414060;43873096;42640752;41225863;41572950;42986917;42415333;41681682;42123904;43223990;41904266;41485860;42735697;42124706;42099467;42069448;42602337;42480019;41987348;41397258;42008319;42502673;47869298
47271012;47562861;48077113;47221575;47066042;48079949;46725918;48215023;46390565;47521780;50017938;47571497;47605834;47550066;48917352;47382389;47785134;47272714;48673747;47241113;46985805;47270681;47954364;47451443;46895038;46805794;49968332;46717962;48607908;47805894
53702082;54610273;52199722;52380826;53161107;53713193;52502723;52522762;54071432;52468827;53012838;52852826;54036334;52293014;52723984;52108535;52965275;52415653;51818238;53292272;53534365;55922472;52979823;54430232;52728323;52812828;52370916;51935406;54533001;52685029
57656463;57173941;58150917;57938362;57483355;59007848;57772449;57343773;58694607;58643307;60396586;58868365;57322211;57202888;58292252;57956047;58263737;65261513;59545757;57529024;58435041;57913333;58501541;57584983;59579302;57198169;60099146;58216535;57834450;58671011
65259298;62488435;62701690;62363391;67199822;62744294;63297412;61997798;64057866;63502272;62592237;63191606;64035021;66413379;62723012;63729274;64179552;63079908;64519606;63373059;63507712;63306449;63867483;64211425;65111519;63032305;63444449;62838658;63766787;63240882
68919876;69193259;70826524;68740306;69778019;71533332;68496210;68208619;67840591;68499335;71127300;68554964;68226173;67961567;69137440;70194271;68980073;76521529;70594522;68642364;72895749;67364803;75714666;72664839;69087352;68068425;69848577;69245771;67927019;67353080
73972448;73754303;76863115;75558311;75089697;73803308;73677123;72718442;75520837;72045550;74166987;74288384;76468997;75952098;73259738;76945916;73732190;73390453;74017125;74222846;75343181;72775353;73912250;73373049;68088775;75334874;75823898;72825351;75097522;77213017
79762699;77878926;80164993;81274166;78694325;79084756;78439989;78918723;80086640;79026774;95463586;79147559;78080118;78359041;80911218;79188369;79527690;79143200;79611183;83418067;82852474;78387256;79851251;78653405;78245760;79194661;83885107;78424208;79537689;78836773
85009730;85473444;85956937;84388278;86443365;85862153;84265348;85429628;86014680;85769852;89528521;83798247;84900086;83645399;83724564;84732238;86617716;86403948;89213437;84923943;85831061;84933291;84383097;85123912;85040389;87202446;84542990;86277511;84407004;84534723
89043004;88957708;91141757;88937108;89904244;90388499;89876630;88909283;90389771;88805652;90795361;90223246;89943760;88436882;90979901;91892581;92363208;88862712;91621733;90346266;95711558;95609909;90941456;90869846;89604720;90098181;90776254;89312349;89494464;89957217
97622744;93073162;97798668;95487821;95344712;97940453;95485277;94426422;94521757;93376404;105940785;94329653;95249667;94660257;95542548;95769701;96886298;97089765;94580752;94784470;96648334;95623175;98211462;96310015;95511978;94606923;94516988;95405710;98110966;96141375
99538379;106219207;102047502;100533309;99044767;99294484;102017523;99426702;99187816;102729562;99391192;99114653;100704854;100581263;101548418;101257973;100286398;101165161;99207043;101314763;102471398;99112228;103257702;99267701;99590370;100392655;102240538;99683001;102243394;99586563
108446000;107218215;106512789;105822242;105424767;107204267;106829175;107082620;106881047;105749441;105283582;110213936;107114632;104543689;107951353;107941314;108198546;105010519;106523890;108046730;109853683;110561043;109727197;108363046;108066468;106711837;104443303;106555893;107006471;106296938
112992283;113802013;112449274;111438804;111124452;110313470;112584258;110853583;114376653;112487780;109370581;111232081;111675826;110875836;112765521;110017262;113644746;111669163;111105504;111553447;112749139;114083020;112898500;111877639;109783506;109590679;111572083;110145522;111907278;114427111
117145822;116968988;114544199;117405148;119068741;116050807;114781351;114954238;117523128;117303279;116242600;115774558;116894442;117099602;116850897;116867479;117030156;116942736;115489652;115128999;120948978;114970951;119924670;115673902;117191831;117387423;115034725;117452460;116218373;115414486
125029034;123458260;122103198;121454604;121254403;121381671;122437190;121527355;126623032;121407652;121772153;121416941;125018664;120012622;122504231;123195909;121345261;122891485;123504220;123059122;120780348;123136603;121690764;121830998;120884392;120274823;122690012;126826288;121673480;121083379
130273289;126015396;125362634;127872689;127446617;126461066;126103478;128155931;125876125;127425396;126539539;134252849;127896856;129008132;124913147;133293278;131231117;125797171;126465114;125427911;129475634;128744298;126316924;126611649;132549458;126666747;128440025;125328778;126337143;129157955
130977913;134528486;135474772;130985217;134372663;131311904;134112445;130091404;132622570;131813853;135622981;132561210;132556732;130015877;131944186;131468379;134018682;130834493;132670023;140692496;131594475;130501624;133956992;133911654;138583122;130785668;132287457;132039753;129305301;131168044
138703187;136402992;138459962;138110201;138907485;139273649;135870243;137202100;139217520;136774356;139013251;136930950;137330991;136199946;136563123;135134257;139321643;152626286;135275242;135889721;139832128;135135319;138179125;135742964;138884750;139343615;141481775;137789585;145569836;137649211
157758714;144817739;145287415;144932322;141337083;141659110;145056645;142644411;143199264;141928656;147904769;141940849;142859831;141732573;142613492;143228501;142206537;142707865;146337072;146235253;139633400;141265803;144639100;144604444;145383041;141881283;144108556;142357151;143904158;145469079
154908435;154078768;148582260;146739957;149783161;147902825;149710619;147104097;149709959;146580085;148077615;147352291;152582450;147901853;147428009;146996518;159265341;159492233;146200395;150772000;148488977;148331260;148502203;147438279;154276422;146215424;147306071;146143043;151455883;149158624
152545627;151553033;154806997;152103045;153166789;152302975;151579022;151784353;152216165;151492855;157494958;154024150;152117101;152805865;153347582;152788962;153406106;153062165;153783010;150410895;156462956;154721270;154813320;155860181;155526140;157831284;158246865;154628439;151423249;147790606
159892323;160597438;160155817;158030893;160764423;157776647;156633920;157110228;163367971;157801185;164307542;157665210;161432085;159785515;165383651;157156869;161291050;160180074;158357841;160893816;160847305;157827046;157946408;161490750;163608168;157727572;161717973;158183831;159913694;157495489
163190113;162527240;166101099;162508424;164279508;162556197;175082924;162854839;165045420;163246874;168607256;164883835;164054418;165566097;165647555;167013198;166675840;163608048;164709486;164022957;165184832;162392899;165193870;166696700;164906259;165955376;165799751;165125848;162976897;163790474
172999501;171771106;170048396;169801164;174295467;169656162;168504956;171815522;169516589;169851442;174009290;168854428;171084617;168888534;180950474;167160405;169430751;168911389;169016614;170224479;172039147;167701760;169463004;175075668;168280299;168792938;175149923;171342029;169389802;169442965
175521448;172736658;173671220;177978439;175093593;176356707;181799079;174298113;174561547;180187116;180608517;173405051;177795963;172833526;177326157;175086109;173743531;184363018;177032995;173947248;173622656;175408447;176787647;173554643;173560034;171794010;175450559;174284225;175985573;178363169
183419338;177961094;180376825;182561966;181480698;178212946;180973509;178553840;184472472;177743120;179971675;179578809;183220120;180408948;177989610;181720846;183080326;180777386;178941476;179865107;180801042;182053445;179319003;179684926;180871800;179277351;184680728;179971715;182236201;181876579
187544141;182583829;187038124;182875788;183868253;183418666;184249868;192960061;186658223;190364741;187593096;182910596;186482521;186987135;186483372;183564952;183104493;183031121;187521256;184368118;185132548;189092160;191233474;190087570;185057352;187572035;194055247;185326627;182792455;188854415
198685826;198021121;190372907;188366825;193295846;187881508;191990160;191543570;189436931;187538089;189385420;188057532;192217203;190059906;189872410;202429255;193528680;187494944;191539191;190026742;191440738;186139131;189142587;189426891;190362817;190250899;188456610;189106287;192983026;189556174
196330283;200214517;200742386;193060637;199010228;196527588;197751093;195661318;194000139;192498702;196597964;194671589;196529100;196461077;197674304;194992043;194410640;197482349;198218124;196080355;194030659;199917197;206351433;195486377;193808816;197587634;198172334;194360031;194659986;193426691
203906075;201702989;203618685;196858442;200509763;197732998;201722067;202915463;205549960;214283961;199438042;197887780;204746413;200042190;199361282;203909551;210788986;205110353;200403414;199374248;204026098;200354159;202070265;203803565;205303399;200253532;203800799;201959569;202396421;199537506
206573155;207800859;210711324;205198585;208522777;205510022;213012191;207097047;208534650;204391581;205578696;207815848;207501535;207133658;206475124;210766392;205997833;213237149;205596871;207521103;209769919;202541574;209401399;207739780;204843733;217217541;205361222;209512927;207465896;207259142
214942074;210663922;213624996;211237761;215372513;211603413;222493068;213427882;218473330;210090764;210320692;212578024;216749478;210750170;213604365;216937545;212640946;212376441;214756972;209164378;218417831;212826949;209940631;210484882;214946162;211211600;211009345;212690593;216205517;217811108
218866355;216257830;223778464;214618713;224399395;216416859;216760389;214599906;214858170;220415336;221300111;216535230;217211749;216258490;226544478;218110020;214875143;214514420;218174236;213914770;217307536;216781029;217530761;218350299;215268430;217138496;225272117;221900392;217382331;216998403
221808432;225871796;223393262;221733396;222789374;219206729;222706393;224694209;235159015;224256977;222539858;220987912;225188593;224246256;221185457;228672797;221718086;223362041;229564967;224034422;226855674;220592862;227720711;223554246;222908507;224037048;222237830;220197823;227818631;222577412
222473208;225440435;229414573;230760478;227226176;227174065;231336010;230015355;227901864;227698597;228047828;228551520;228463529;226676234;230252958;231500892;235299028;224898657;233371670;226940349;229167612;228504228;228197761;228154166;228301573;226892596;229658569;227627429;226806057;227103235
235098957;234791989;236535438;233017318;236907444;232236666;231999303;232108356;235993452;236829562;234036175;232927112;236446605;236072777;234659480;230891924;236469911;231267666;237144686;230769756;233736872;243189072;233542572;233648880;238122994;231504999;234688046;229358654;234153474;235114868
236695280;241124176;246418660;243480992;241827187;238004573;240988682;242348223;241408570;236669790;241346770;236124156;239150808;236091373;242462065;239072816;238628319;238010324;240894127;240272144;236083887;237791618;239672345;237769164;241904678;237859821;242528514;237122122;239636164;242121952
244246464;245447266;242180766;241492514;250701691;244651755;241019412;239249581;246849680;240688086;241545728;243602899;245673075;242409522;241004252;250000705;251283526;240953703;239901151;241700620;254444249;239820604;240456214;244728765;244980255;242406075;248421134;238703646;242546960;241113695
250358853;252991295;256861241;250744845;249919436;248943874;250532741;246230322;250689958;246086071;249235011;246410173;252435282;246813098;252665671;251135157;245220042;246685780;250476161;246262445;249944184;245767229;253523994;247596415;249122452;247180455;268012546;252839168;250506951;247839560
258515678;255127351;258955696;254929936;257120708;255260410;251038578;251595313;260031844;250808930;254935016;251289568;259027632;255518956;252075913;246677056;256439341;249725069;252087416;257319427;259038108;258461814;254816898;263053978;260230594;256285701;250760969;251863198;261576438;255489159
259321952;263157220;272091170;260371930;259655502;261236025;263857305;262687715;259170527;258860603;264639611;265202478;256972983;257182030;263181238;256587892;258218211;261507725;270820172;260866925;257210917;258769045;261769726;261496413;253811309;270609021;260821256;256978755;258132254;260367212
269766659;276595133;264859481;262269320;273838428;264149377;263233691;263289309;265181649;266004584;268310019;273395936;272923906;262079551;267123386;263578424;265421077;263970278;263576039;264467026;266602721;262467839;261393944;267669901;269241426;264429344;269717555;268683909;267981609;266332845
269295882;269933656;270469120;269883778;269199344;267957123;249796162;267844783;269603533;268826979;272428882;275080932;268788032;268638531;274391609;276691945;273982291;269626067;266799235;268074241;269502226;266269533;277943886;275201319;273155099;267433111;273326603;268854473;270295282;273872838
274518336;276481394;288608270;272996229;281990727;274486455;273340120;271979287;279091163;281867607;271331644;272972824;279792281;279090092;273962884;272123177;283408151;275907086;270838692;248005141;282220165;270342455;275627731;274080193;283139528;270895374;277110943;276570359;278170059;272635617
1 15890167 15247295 15576857 15468806 15231023 15375524 15391145 15516609 15416153 15887994 15829860 15639409 15374953 15447464 15403739 15105588 15476682 15602187 15150826 15891209 16475920 15653807 16096571 15555885 15207126 15419470 16043276 15674127 15522731 15577839
2 20582869 20760525 20847295 20951267 23177759 21412617 20556057 21038818 21312572 21152470 21205052 20733953 20946468 20503964 21436513 21057334 21336028 21145756 21249238 20829590 20984802 21204861 20907262 20824671 21090860 20681912 20770455 20950265 20536859 21494316
3 26235492 25985354 26497072 25739775 26261552 26337020 25981066 26144184 26367689 26029269 26208239 26380615 26352019 26528634 26640191 26018308 26606856 25885179 26021073 26532881 26106641 25663757 27053106 26323042 26182398 25878997 30120398 26676311 26025532 26636864
4 31593050 31131539 32291191 31419391 32308124 31227306 31982499 31483355 31993250 31929064 31665541 30864649 33171527 32038417 34752681 30946148 31957109 30996095 31359403 31860711 32207898 31308915 32370476 31400143 33603229 34934084 32627206 30765175 33653758 34008649
5 36945947 36229972 36815113 39786557 37750176 36488957 36564063 37724355 36359254 37058877 36695238 37111661 40659800 39072284 36917462 37548001 37479909 36942731 36920147 36245993 41423660 36772750 37630893 37459969 37197098 36520318 38167599 37147450 36975535 37077263
6 42900950 41934726 44029400 41798490 41681211 45518234 41679017 41414060 43873096 42640752 41225863 41572950 42986917 42415333 41681682 42123904 43223990 41904266 41485860 42735697 42124706 42099467 42069448 42602337 42480019 41987348 41397258 42008319 42502673 47869298
7 47271012 47562861 48077113 47221575 47066042 48079949 46725918 48215023 46390565 47521780 50017938 47571497 47605834 47550066 48917352 47382389 47785134 47272714 48673747 47241113 46985805 47270681 47954364 47451443 46895038 46805794 49968332 46717962 48607908 47805894
8 53702082 54610273 52199722 52380826 53161107 53713193 52502723 52522762 54071432 52468827 53012838 52852826 54036334 52293014 52723984 52108535 52965275 52415653 51818238 53292272 53534365 55922472 52979823 54430232 52728323 52812828 52370916 51935406 54533001 52685029
9 57656463 57173941 58150917 57938362 57483355 59007848 57772449 57343773 58694607 58643307 60396586 58868365 57322211 57202888 58292252 57956047 58263737 65261513 59545757 57529024 58435041 57913333 58501541 57584983 59579302 57198169 60099146 58216535 57834450 58671011
10 65259298 62488435 62701690 62363391 67199822 62744294 63297412 61997798 64057866 63502272 62592237 63191606 64035021 66413379 62723012 63729274 64179552 63079908 64519606 63373059 63507712 63306449 63867483 64211425 65111519 63032305 63444449 62838658 63766787 63240882
11 68919876 69193259 70826524 68740306 69778019 71533332 68496210 68208619 67840591 68499335 71127300 68554964 68226173 67961567 69137440 70194271 68980073 76521529 70594522 68642364 72895749 67364803 75714666 72664839 69087352 68068425 69848577 69245771 67927019 67353080
12 73972448 73754303 76863115 75558311 75089697 73803308 73677123 72718442 75520837 72045550 74166987 74288384 76468997 75952098 73259738 76945916 73732190 73390453 74017125 74222846 75343181 72775353 73912250 73373049 68088775 75334874 75823898 72825351 75097522 77213017
13 79762699 77878926 80164993 81274166 78694325 79084756 78439989 78918723 80086640 79026774 95463586 79147559 78080118 78359041 80911218 79188369 79527690 79143200 79611183 83418067 82852474 78387256 79851251 78653405 78245760 79194661 83885107 78424208 79537689 78836773
14 85009730 85473444 85956937 84388278 86443365 85862153 84265348 85429628 86014680 85769852 89528521 83798247 84900086 83645399 83724564 84732238 86617716 86403948 89213437 84923943 85831061 84933291 84383097 85123912 85040389 87202446 84542990 86277511 84407004 84534723
15 89043004 88957708 91141757 88937108 89904244 90388499 89876630 88909283 90389771 88805652 90795361 90223246 89943760 88436882 90979901 91892581 92363208 88862712 91621733 90346266 95711558 95609909 90941456 90869846 89604720 90098181 90776254 89312349 89494464 89957217
16 97622744 93073162 97798668 95487821 95344712 97940453 95485277 94426422 94521757 93376404 105940785 94329653 95249667 94660257 95542548 95769701 96886298 97089765 94580752 94784470 96648334 95623175 98211462 96310015 95511978 94606923 94516988 95405710 98110966 96141375
17 99538379 106219207 102047502 100533309 99044767 99294484 102017523 99426702 99187816 102729562 99391192 99114653 100704854 100581263 101548418 101257973 100286398 101165161 99207043 101314763 102471398 99112228 103257702 99267701 99590370 100392655 102240538 99683001 102243394 99586563
18 108446000 107218215 106512789 105822242 105424767 107204267 106829175 107082620 106881047 105749441 105283582 110213936 107114632 104543689 107951353 107941314 108198546 105010519 106523890 108046730 109853683 110561043 109727197 108363046 108066468 106711837 104443303 106555893 107006471 106296938
19 112992283 113802013 112449274 111438804 111124452 110313470 112584258 110853583 114376653 112487780 109370581 111232081 111675826 110875836 112765521 110017262 113644746 111669163 111105504 111553447 112749139 114083020 112898500 111877639 109783506 109590679 111572083 110145522 111907278 114427111
20 117145822 116968988 114544199 117405148 119068741 116050807 114781351 114954238 117523128 117303279 116242600 115774558 116894442 117099602 116850897 116867479 117030156 116942736 115489652 115128999 120948978 114970951 119924670 115673902 117191831 117387423 115034725 117452460 116218373 115414486
21 125029034 123458260 122103198 121454604 121254403 121381671 122437190 121527355 126623032 121407652 121772153 121416941 125018664 120012622 122504231 123195909 121345261 122891485 123504220 123059122 120780348 123136603 121690764 121830998 120884392 120274823 122690012 126826288 121673480 121083379
22 130273289 126015396 125362634 127872689 127446617 126461066 126103478 128155931 125876125 127425396 126539539 134252849 127896856 129008132 124913147 133293278 131231117 125797171 126465114 125427911 129475634 128744298 126316924 126611649 132549458 126666747 128440025 125328778 126337143 129157955
23 130977913 134528486 135474772 130985217 134372663 131311904 134112445 130091404 132622570 131813853 135622981 132561210 132556732 130015877 131944186 131468379 134018682 130834493 132670023 140692496 131594475 130501624 133956992 133911654 138583122 130785668 132287457 132039753 129305301 131168044
24 138703187 136402992 138459962 138110201 138907485 139273649 135870243 137202100 139217520 136774356 139013251 136930950 137330991 136199946 136563123 135134257 139321643 152626286 135275242 135889721 139832128 135135319 138179125 135742964 138884750 139343615 141481775 137789585 145569836 137649211
25 157758714 144817739 145287415 144932322 141337083 141659110 145056645 142644411 143199264 141928656 147904769 141940849 142859831 141732573 142613492 143228501 142206537 142707865 146337072 146235253 139633400 141265803 144639100 144604444 145383041 141881283 144108556 142357151 143904158 145469079
26 154908435 154078768 148582260 146739957 149783161 147902825 149710619 147104097 149709959 146580085 148077615 147352291 152582450 147901853 147428009 146996518 159265341 159492233 146200395 150772000 148488977 148331260 148502203 147438279 154276422 146215424 147306071 146143043 151455883 149158624
27 152545627 151553033 154806997 152103045 153166789 152302975 151579022 151784353 152216165 151492855 157494958 154024150 152117101 152805865 153347582 152788962 153406106 153062165 153783010 150410895 156462956 154721270 154813320 155860181 155526140 157831284 158246865 154628439 151423249 147790606
28 159892323 160597438 160155817 158030893 160764423 157776647 156633920 157110228 163367971 157801185 164307542 157665210 161432085 159785515 165383651 157156869 161291050 160180074 158357841 160893816 160847305 157827046 157946408 161490750 163608168 157727572 161717973 158183831 159913694 157495489
29 163190113 162527240 166101099 162508424 164279508 162556197 175082924 162854839 165045420 163246874 168607256 164883835 164054418 165566097 165647555 167013198 166675840 163608048 164709486 164022957 165184832 162392899 165193870 166696700 164906259 165955376 165799751 165125848 162976897 163790474
30 172999501 171771106 170048396 169801164 174295467 169656162 168504956 171815522 169516589 169851442 174009290 168854428 171084617 168888534 180950474 167160405 169430751 168911389 169016614 170224479 172039147 167701760 169463004 175075668 168280299 168792938 175149923 171342029 169389802 169442965
31 175521448 172736658 173671220 177978439 175093593 176356707 181799079 174298113 174561547 180187116 180608517 173405051 177795963 172833526 177326157 175086109 173743531 184363018 177032995 173947248 173622656 175408447 176787647 173554643 173560034 171794010 175450559 174284225 175985573 178363169
32 183419338 177961094 180376825 182561966 181480698 178212946 180973509 178553840 184472472 177743120 179971675 179578809 183220120 180408948 177989610 181720846 183080326 180777386 178941476 179865107 180801042 182053445 179319003 179684926 180871800 179277351 184680728 179971715 182236201 181876579
33 187544141 182583829 187038124 182875788 183868253 183418666 184249868 192960061 186658223 190364741 187593096 182910596 186482521 186987135 186483372 183564952 183104493 183031121 187521256 184368118 185132548 189092160 191233474 190087570 185057352 187572035 194055247 185326627 182792455 188854415
34 198685826 198021121 190372907 188366825 193295846 187881508 191990160 191543570 189436931 187538089 189385420 188057532 192217203 190059906 189872410 202429255 193528680 187494944 191539191 190026742 191440738 186139131 189142587 189426891 190362817 190250899 188456610 189106287 192983026 189556174
35 196330283 200214517 200742386 193060637 199010228 196527588 197751093 195661318 194000139 192498702 196597964 194671589 196529100 196461077 197674304 194992043 194410640 197482349 198218124 196080355 194030659 199917197 206351433 195486377 193808816 197587634 198172334 194360031 194659986 193426691
36 203906075 201702989 203618685 196858442 200509763 197732998 201722067 202915463 205549960 214283961 199438042 197887780 204746413 200042190 199361282 203909551 210788986 205110353 200403414 199374248 204026098 200354159 202070265 203803565 205303399 200253532 203800799 201959569 202396421 199537506
37 206573155 207800859 210711324 205198585 208522777 205510022 213012191 207097047 208534650 204391581 205578696 207815848 207501535 207133658 206475124 210766392 205997833 213237149 205596871 207521103 209769919 202541574 209401399 207739780 204843733 217217541 205361222 209512927 207465896 207259142
38 214942074 210663922 213624996 211237761 215372513 211603413 222493068 213427882 218473330 210090764 210320692 212578024 216749478 210750170 213604365 216937545 212640946 212376441 214756972 209164378 218417831 212826949 209940631 210484882 214946162 211211600 211009345 212690593 216205517 217811108
39 218866355 216257830 223778464 214618713 224399395 216416859 216760389 214599906 214858170 220415336 221300111 216535230 217211749 216258490 226544478 218110020 214875143 214514420 218174236 213914770 217307536 216781029 217530761 218350299 215268430 217138496 225272117 221900392 217382331 216998403
40 221808432 225871796 223393262 221733396 222789374 219206729 222706393 224694209 235159015 224256977 222539858 220987912 225188593 224246256 221185457 228672797 221718086 223362041 229564967 224034422 226855674 220592862 227720711 223554246 222908507 224037048 222237830 220197823 227818631 222577412
41 222473208 225440435 229414573 230760478 227226176 227174065 231336010 230015355 227901864 227698597 228047828 228551520 228463529 226676234 230252958 231500892 235299028 224898657 233371670 226940349 229167612 228504228 228197761 228154166 228301573 226892596 229658569 227627429 226806057 227103235
42 235098957 234791989 236535438 233017318 236907444 232236666 231999303 232108356 235993452 236829562 234036175 232927112 236446605 236072777 234659480 230891924 236469911 231267666 237144686 230769756 233736872 243189072 233542572 233648880 238122994 231504999 234688046 229358654 234153474 235114868
43 236695280 241124176 246418660 243480992 241827187 238004573 240988682 242348223 241408570 236669790 241346770 236124156 239150808 236091373 242462065 239072816 238628319 238010324 240894127 240272144 236083887 237791618 239672345 237769164 241904678 237859821 242528514 237122122 239636164 242121952
44 244246464 245447266 242180766 241492514 250701691 244651755 241019412 239249581 246849680 240688086 241545728 243602899 245673075 242409522 241004252 250000705 251283526 240953703 239901151 241700620 254444249 239820604 240456214 244728765 244980255 242406075 248421134 238703646 242546960 241113695
45 250358853 252991295 256861241 250744845 249919436 248943874 250532741 246230322 250689958 246086071 249235011 246410173 252435282 246813098 252665671 251135157 245220042 246685780 250476161 246262445 249944184 245767229 253523994 247596415 249122452 247180455 268012546 252839168 250506951 247839560
46 258515678 255127351 258955696 254929936 257120708 255260410 251038578 251595313 260031844 250808930 254935016 251289568 259027632 255518956 252075913 246677056 256439341 249725069 252087416 257319427 259038108 258461814 254816898 263053978 260230594 256285701 250760969 251863198 261576438 255489159
47 259321952 263157220 272091170 260371930 259655502 261236025 263857305 262687715 259170527 258860603 264639611 265202478 256972983 257182030 263181238 256587892 258218211 261507725 270820172 260866925 257210917 258769045 261769726 261496413 253811309 270609021 260821256 256978755 258132254 260367212
48 269766659 276595133 264859481 262269320 273838428 264149377 263233691 263289309 265181649 266004584 268310019 273395936 272923906 262079551 267123386 263578424 265421077 263970278 263576039 264467026 266602721 262467839 261393944 267669901 269241426 264429344 269717555 268683909 267981609 266332845
49 269295882 269933656 270469120 269883778 269199344 267957123 249796162 267844783 269603533 268826979 272428882 275080932 268788032 268638531 274391609 276691945 273982291 269626067 266799235 268074241 269502226 266269533 277943886 275201319 273155099 267433111 273326603 268854473 270295282 273872838
50 274518336 276481394 288608270 272996229 281990727 274486455 273340120 271979287 279091163 281867607 271331644 272972824 279792281 279090092 273962884 272123177 283408151 275907086 270838692 248005141 282220165 270342455 275627731 274080193 283139528 270895374 277110943 276570359 278170059 272635617

View File

@@ -1,51 +0,0 @@
Cycles;Baseline Avg;Baseline SD;Intercept Avg;Intercept SD;Stderr Avg;Stderr SD;File Avg;File SD;Ok Avg;Ok SD;Return Avg;Return SD;PyOk Avg;PyOk SD;PyReturn Avg;PyReturn SD
100;394522;59714;10427113;462988;11575964;253473;11831990;348689;13076474;1162271;13177050;232828;17114683;255467;15571675;304178
200;684480;89390;10728908;272181;14325139;305707;13554674;460807;16456310;289818;16431464;328445;24131234;520354;21056080;487110
300;1004806;131581;10962041;312386;17027194;323923;15330088;441731;19882310;382739;19387692;1501689;31026008;469559;26380650;771419
400;1304127;83545;11372661;270890;19712621;347909;17249057;900721;23220259;603311;21422406;658317;38149373;939016;32128353;1107946
500;1592256;105898;11709378;273902;22697282;462435;18822538;574087;26851989;1010867;24460937;758839;45071880;1339034;37456301;1244316
600;1895442;130464;12047917;247568;25117703;456337;20575498;266024;29783448;831999;27577395;793483;52053112;1097029;42532242;1356564
700;2213827;104975;12361110;300385;27882492;634943;22382673;573662;32845440;559622;30507109;895084;59129922;1097927;47687095;863862
800;2628305;201520;12754461;245304;30815541;974036;24578416;1370113;36157934;750879;35652768;860188;65820532;998922;53092810;938485
900;2825817;162314;12993031;356629;33225179;414261;26037719;462749;39436945;796004;39342039;1201289;72232752;767761;58484564;1533793
1000;3108772;170260;13431961;307448;35931523;507563;27869838;962124;43469749;1907452;42401106;1213179;79670603;1840701;63659220;1148797
1100;3406111;146170;13777606;306016;38686328;485222;29861891;980317;45853904;1279935;44848600;1390247;86139757;621780;69738219;2240494
1200;3725777;156594;14126528;277721;41647628;705704;31178678;460041;49035716;695564;45621733;1325123;93095429;902275;74307838;1794152
1300;4087469;156785;14358058;280611;44086243;460197;32979343;423141;52497584;1632619;51856861;1275990;100191141;1814128;80135020;3262696
1400;4292505;167374;14846268;296761;46809938;541389;34869115;432616;56190011;1089663;55203609;914387;107766603;2362379;85479265;1389504
1500;4572214;225571;15114237;287681;49361025;279845;37212031;1781779;59116185;1689085;58285709;749010;113992447;1269982;90473175;1713998
1600;4923082;174615;15460129;327486;52305548;611924;38625303;1135684;62279307;1274413;61953282;1695522;121063828;2245106;96033275;2312777
1700;5166483;153378;15791758;298803;54938031;513068;40254955;949560;65382680;1506830;65115356;1331748;127720565;1626984;100748551;1649820
1800;5497751;209020;16085585;366356;58477674;1507994;41892868;498818;68688056;1504520;68228749;880714;134391688;1582336;107186154;1589397
1900;5805956;193667;16427008;257386;60505802;716086;43707906;813608;72153172;1749906;71204672;639830;141534098;1787621;111845567;1418496
2000;6059830;149468;16976318;415427;63510717;1323394;45371320;371778;75689663;1580709;74722980;979545;148737463;2653304;116676154;1474490
2100;6377742;190684;17196797;289761;66726951;1794964;47414718;1348167;78754328;1798845;77583191;1497809;155363324;2473707;122408936;1673891
2200;6623121;189853;17470183;303551;68567720;1023095;49269993;1644584;81715194;1847263;81630235;1266921;162580027;3575716;127848212;2435339
2300;6952906;176805;17876859;336883;69392158;10556124;50527003;363668;85161444;1925442;84283344;1124784;168991977;2334144;132760346;2491277
2400;7288966;221144;18215274;381104;73997790;1207150;53676400;2638128;88515266;1956049;87714794;1047669;176316871;2664706;138427180;3428852
2500;7687086;214686;18630693;393414;76931585;1135647;55006778;2629415;91372314;2103385;91015096;1907795;183353388;2070291;143987804;3191243
2600;7632633;363416;18909524;344719;79271877;687461;55975072;345029;94539841;1303073;94438459;1044190;189836061;2321304;149616169;3588693
2700;8174560;181199;19231438;387669;82347089;1557451;57872052;490032;97678038;1347481;97621552;1146042;197259039;2894388;153469866;2291787
2800;8447899;213732;19670216;328248;84893831;1408698;59542864;265835;101249601;1661554;100727209;1440325;203936177;3275245;159844758;2318524
2900;8804464;218130;19956270;431572;87686022;1182234;61601833;981957;104308050;1786214;103876640;1148094;210448418;3403192;165006808;2449638
3000;9010784;248166;20376781;336594;91068853;1782507;63178755;558420;106994264;1560907;106959716;1037735;216539614;2782129;170782294;2861060
3100;9331103;266569;20577490;278614;93221976;1568136;65392427;2128048;110128834;1347250;110771591;1790119;225322807;4036079;175905233;2913873
3200;9778768;280983;20965405;359323;95722907;1632923;67069912;1365944;114724502;2801907;114345455;1651313;230459357;2103196;180736097;1911002
3300;9909117;283939;21283196;422513;98212371;671946;68701884;1196483;116953218;1948013;116975388;1719466;237007031;1793911;186427075;3133767
3400;10253423;272824;21563196;476725;100947909;1262629;70202232;398452;121516666;2752272;116900460;18828606;243965577;1742249;190953641;3516285
3500;10549094;282951;22085786;363989;103828023;1230160;72095327;1412804;122976733;1810316;123544404;1617207;251422319;3911285;196557186;2842641
3600;10932319;280437;22273127;312981;106331558;513011;74155843;1156209;127525307;2349155;127181318;1985368;258570335;2400550;202445599;3652985
3700;11219472;293693;22752743;363381;109179786;1510549;75889598;1338718;130899357;2840471;130113483;2428192;264318118;5261600;207869651;2975572
3800;11514828;307166;22943067;418169;111560051;338207;77553942;1357759;133639518;2945802;134020974;2403253;271979896;3103527;213578445;3157841
3900;11824172;343282;23547573;417688;115156892;1981115;79134316;992767;136624026;1986892;136212234;920525;278799056;3039350;218077995;3368338
4000;12123878;296372;23814232;375398;117444661;1697465;80847115;834244;138963968;2892888;139715392;1778420;285639371;2351648;224054024;3285788
4100;12526596;347080;24076190;411786;120001747;1042786;83079117;1736204;143419406;2973443;142664064;2611749;292438496;5864424;228461888;2473895
4200;12715912;279629;24341732;416874;122699007;1258274;85512780;2631994;147069820;3579741;146571150;1463553;300491237;3464580;234442167;2762145
4300;13111242;258811;24656266;428479;125560493;1443093;85918169;297761;149378298;2451718;149485075;1587550;305708071;2985253;239783643;2561444
4400;13303073;325634;25067172;387431;127711585;372280;87929683;975369;152833570;2522128;153113653;1656150;313055332;6297144;243740800;3929135
4500;13697463;356756;25683108;375100;130526503;693141;89582972;505995;155724988;4075062;155227342;2044938;309578675;54625956;250101014;4378895
4600;13977464;344027;25925755;460848;133495971;1127336;91597602;1157872;158610112;3912888;158811576;1730808;326519995;6710607;255335223;3916086
4700;14213956;470038;25919071;354324;136075667;1366941;93461991;1220158;161771244;2003348;162846180;1940000;332985345;2558187;261185171;4275170
4800;14576705;375812;26600502;505971;139289408;1414807;94883034;524994;164754921;1944789;165493142;1553616;340248426;2999981;266618479;3845083
4900;14708572;286603;26813061;385730;142436712;2843052;96930580;1047072;168167032;1638428;169239730;1898011;347728876;4980985;270105550;4902415
5000;15199882;359091;27142509;386736;145702391;3939916;98716605;1358384;172570367;2825799;172350252;1561780;354276939;2652007;275452799;6886489
1 Cycles Baseline Avg Baseline SD Intercept Avg Intercept SD Stderr Avg Stderr SD File Avg File SD Ok Avg Ok SD Return Avg Return SD PyOk Avg PyOk SD PyReturn Avg PyReturn SD
2 100 394522 59714 10427113 462988 11575964 253473 11831990 348689 13076474 1162271 13177050 232828 17114683 255467 15571675 304178
3 200 684480 89390 10728908 272181 14325139 305707 13554674 460807 16456310 289818 16431464 328445 24131234 520354 21056080 487110
4 300 1004806 131581 10962041 312386 17027194 323923 15330088 441731 19882310 382739 19387692 1501689 31026008 469559 26380650 771419
5 400 1304127 83545 11372661 270890 19712621 347909 17249057 900721 23220259 603311 21422406 658317 38149373 939016 32128353 1107946
6 500 1592256 105898 11709378 273902 22697282 462435 18822538 574087 26851989 1010867 24460937 758839 45071880 1339034 37456301 1244316
7 600 1895442 130464 12047917 247568 25117703 456337 20575498 266024 29783448 831999 27577395 793483 52053112 1097029 42532242 1356564
8 700 2213827 104975 12361110 300385 27882492 634943 22382673 573662 32845440 559622 30507109 895084 59129922 1097927 47687095 863862
9 800 2628305 201520 12754461 245304 30815541 974036 24578416 1370113 36157934 750879 35652768 860188 65820532 998922 53092810 938485
10 900 2825817 162314 12993031 356629 33225179 414261 26037719 462749 39436945 796004 39342039 1201289 72232752 767761 58484564 1533793
11 1000 3108772 170260 13431961 307448 35931523 507563 27869838 962124 43469749 1907452 42401106 1213179 79670603 1840701 63659220 1148797
12 1100 3406111 146170 13777606 306016 38686328 485222 29861891 980317 45853904 1279935 44848600 1390247 86139757 621780 69738219 2240494
13 1200 3725777 156594 14126528 277721 41647628 705704 31178678 460041 49035716 695564 45621733 1325123 93095429 902275 74307838 1794152
14 1300 4087469 156785 14358058 280611 44086243 460197 32979343 423141 52497584 1632619 51856861 1275990 100191141 1814128 80135020 3262696
15 1400 4292505 167374 14846268 296761 46809938 541389 34869115 432616 56190011 1089663 55203609 914387 107766603 2362379 85479265 1389504
16 1500 4572214 225571 15114237 287681 49361025 279845 37212031 1781779 59116185 1689085 58285709 749010 113992447 1269982 90473175 1713998
17 1600 4923082 174615 15460129 327486 52305548 611924 38625303 1135684 62279307 1274413 61953282 1695522 121063828 2245106 96033275 2312777
18 1700 5166483 153378 15791758 298803 54938031 513068 40254955 949560 65382680 1506830 65115356 1331748 127720565 1626984 100748551 1649820
19 1800 5497751 209020 16085585 366356 58477674 1507994 41892868 498818 68688056 1504520 68228749 880714 134391688 1582336 107186154 1589397
20 1900 5805956 193667 16427008 257386 60505802 716086 43707906 813608 72153172 1749906 71204672 639830 141534098 1787621 111845567 1418496
21 2000 6059830 149468 16976318 415427 63510717 1323394 45371320 371778 75689663 1580709 74722980 979545 148737463 2653304 116676154 1474490
22 2100 6377742 190684 17196797 289761 66726951 1794964 47414718 1348167 78754328 1798845 77583191 1497809 155363324 2473707 122408936 1673891
23 2200 6623121 189853 17470183 303551 68567720 1023095 49269993 1644584 81715194 1847263 81630235 1266921 162580027 3575716 127848212 2435339
24 2300 6952906 176805 17876859 336883 69392158 10556124 50527003 363668 85161444 1925442 84283344 1124784 168991977 2334144 132760346 2491277
25 2400 7288966 221144 18215274 381104 73997790 1207150 53676400 2638128 88515266 1956049 87714794 1047669 176316871 2664706 138427180 3428852
26 2500 7687086 214686 18630693 393414 76931585 1135647 55006778 2629415 91372314 2103385 91015096 1907795 183353388 2070291 143987804 3191243
27 2600 7632633 363416 18909524 344719 79271877 687461 55975072 345029 94539841 1303073 94438459 1044190 189836061 2321304 149616169 3588693
28 2700 8174560 181199 19231438 387669 82347089 1557451 57872052 490032 97678038 1347481 97621552 1146042 197259039 2894388 153469866 2291787
29 2800 8447899 213732 19670216 328248 84893831 1408698 59542864 265835 101249601 1661554 100727209 1440325 203936177 3275245 159844758 2318524
30 2900 8804464 218130 19956270 431572 87686022 1182234 61601833 981957 104308050 1786214 103876640 1148094 210448418 3403192 165006808 2449638
31 3000 9010784 248166 20376781 336594 91068853 1782507 63178755 558420 106994264 1560907 106959716 1037735 216539614 2782129 170782294 2861060
32 3100 9331103 266569 20577490 278614 93221976 1568136 65392427 2128048 110128834 1347250 110771591 1790119 225322807 4036079 175905233 2913873
33 3200 9778768 280983 20965405 359323 95722907 1632923 67069912 1365944 114724502 2801907 114345455 1651313 230459357 2103196 180736097 1911002
34 3300 9909117 283939 21283196 422513 98212371 671946 68701884 1196483 116953218 1948013 116975388 1719466 237007031 1793911 186427075 3133767
35 3400 10253423 272824 21563196 476725 100947909 1262629 70202232 398452 121516666 2752272 116900460 18828606 243965577 1742249 190953641 3516285
36 3500 10549094 282951 22085786 363989 103828023 1230160 72095327 1412804 122976733 1810316 123544404 1617207 251422319 3911285 196557186 2842641
37 3600 10932319 280437 22273127 312981 106331558 513011 74155843 1156209 127525307 2349155 127181318 1985368 258570335 2400550 202445599 3652985
38 3700 11219472 293693 22752743 363381 109179786 1510549 75889598 1338718 130899357 2840471 130113483 2428192 264318118 5261600 207869651 2975572
39 3800 11514828 307166 22943067 418169 111560051 338207 77553942 1357759 133639518 2945802 134020974 2403253 271979896 3103527 213578445 3157841
40 3900 11824172 343282 23547573 417688 115156892 1981115 79134316 992767 136624026 1986892 136212234 920525 278799056 3039350 218077995 3368338
41 4000 12123878 296372 23814232 375398 117444661 1697465 80847115 834244 138963968 2892888 139715392 1778420 285639371 2351648 224054024 3285788
42 4100 12526596 347080 24076190 411786 120001747 1042786 83079117 1736204 143419406 2973443 142664064 2611749 292438496 5864424 228461888 2473895
43 4200 12715912 279629 24341732 416874 122699007 1258274 85512780 2631994 147069820 3579741 146571150 1463553 300491237 3464580 234442167 2762145
44 4300 13111242 258811 24656266 428479 125560493 1443093 85918169 297761 149378298 2451718 149485075 1587550 305708071 2985253 239783643 2561444
45 4400 13303073 325634 25067172 387431 127711585 372280 87929683 975369 152833570 2522128 153113653 1656150 313055332 6297144 243740800 3929135
46 4500 13697463 356756 25683108 375100 130526503 693141 89582972 505995 155724988 4075062 155227342 2044938 309578675 54625956 250101014 4378895
47 4600 13977464 344027 25925755 460848 133495971 1127336 91597602 1157872 158610112 3912888 158811576 1730808 326519995 6710607 255335223 3916086
48 4700 14213956 470038 25919071 354324 136075667 1366941 93461991 1220158 161771244 2003348 162846180 1940000 332985345 2558187 261185171 4275170
49 4800 14576705 375812 26600502 505971 139289408 1414807 94883034 524994 164754921 1944789 165493142 1553616 340248426 2999981 266618479 3845083
50 4900 14708572 286603 26813061 385730 142436712 2843052 96930580 1047072 168167032 1638428 169239730 1898011 347728876 4980985 270105550 4902415
51 5000 15199882 359091 27142509 386736 145702391 3939916 98716605 1358384 172570367 2825799 172350252 1561780 354276939 2652007 275452799 6886489

View File

@@ -10,8 +10,8 @@
\begin{filecontents*}[overwrite]{\jobname.xmpdata}
\Author{\authorname} % The author's name in the document properties.
\Title{Intercepting and Manipulating System/Function Calls in Linux Systems} % The document's title in the document properties.
\Language{en-US} % The document's language in the document properties. Select 'en-US', 'en-GB', or 'de-AT'.
\Keywords{system call\sep syscall\sep function call\sep intercept\sep hook} % The document's keywords in the document properties (separated by '\sep ').
\Language{de-AT} % The document's language in the document properties. Select 'en-US', 'en-GB', or 'de-AT'.
\Keywords{a\sep list\sep of\sep keywords} % The document's keywords in the document properties (separated by '\sep ').
\Publisher{TU Wien} % The document's publisher in the document properties.
\Subject{Thesis} % The document's subject in the document properties.
\end{filecontents*}
@@ -41,17 +41,7 @@
\usepackage{chngcntr}
\counterwithin{listing}{chapter}
\usepackage{pgf-umlsd}
\usepackage{textcomp}
\usepackage{tikz}
\usepackage{csvsimple}
\usetikzlibrary{shapes}
\usetikzlibrary{intersections}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\usepgfplotslibrary{units}
\usepackage[flushleft]{threeparttable}
\usepackage{siunitx}
\usepackage{attachfile}
%\usepackage{attachfile}
\newcommand{\newthreadShift}[4][gray!30]{
\newinst[#4]{#2}{#3}
@@ -61,8 +51,6 @@
\tikzstyle{instcolor#2}=[fill=#1]
}
\tikzset{elips/.style={ellipse,draw,minimum width=2em,minimum height=1.8em,inner ysep=0pt},}
% Set PDF document properties
\hypersetup{
pdfpagelayout = TwoPageRight, % How the document is shown in PDF viewers (optional).
@@ -99,7 +87,7 @@
% Required data.
\setregnumber{12119052}
\setdate{04}{09}{2025} % Set date with 3 arguments: {day}{month}{year}.
\setdate{01}{06}{2025} % Set date with 3 arguments: {day}{month}{year}.
\settitle{\thesistitle}{Abfangen und Manipulieren von\\System-/Funktionsaufrufen in\\Linux-Systemen} % Sets English and German version of the title (both can be English or German). If your title contains commas, enclose it with additional curvy brackets (i.e., {{your title}}) or define it as a macro as done with \thesistitle.
%\setsubtitle{Optional Subtitle of the Thesis}{Optionaler Untertitel der Arbeit} % Sets English and German version of the subtitle (both can be English or German).
@@ -158,19 +146,18 @@
% Switch to arabic numbering and start the enumeration of chapters in the table of content.
\mainmatter
\input{src/01.introduction}
\input{src/02.related-work}
\input{src/03.intercept}
\input{src/04.manipulate}
\input{src/05.evaluation}
\input{src/02.intercept}
\input{src/03.manipulate}
\input{src/04.comparison}
\input{src/05.related-work}
\input{src/06.conclusion}
\backmatter
% Declare the use of AI tools as mentioned in the statement of originality.
% Use either the English aitools or the German kitools.
%\begin{aitools}
% No generative AI tools were used in and for this work whatsoever.
% The only exception was the use of ChatGPT for proofreading and refining of the abstract.
%\end{aitools}
\begin{aitools}
\todo{Enter your text here.}
\end{aitools}
%\begin{kitools}
%\todo{Ihr Text hier.}
@@ -180,15 +167,15 @@
\listoffigures % Starred version, i.e., \listoffigures*, removes the toc entry.
% Use an optional list of tables.
%\cleardoublepage % Start list of tables on the next empty right hand page.
\cleardoublepage % Start list of tables on the next empty right hand page.
\listoftables % Starred version, i.e., \listoftables*, removes the toc entry.
% Use an optional list of algorithms.
%\listofalgorithms
%\addcontentsline{toc}{chapter}{List of Algorithms}
\listofalgorithms
\addcontentsline{toc}{chapter}{List of Algorithms}
% Use an optional list of listings.
%\cleardoublepage
\cleardoublepage
\listof{listing}{\listoflistingscaption}
\addcontentsline{toc}{chapter}{\listoflistingscaption}

View File

@@ -408,18 +408,23 @@
oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe
der Quelle als Entlehnung kenntlich gemacht habe.}]{Statement}%
\CreatePolylingual[
english={
I further declare that I have used generative AI tools only as an aid, and that my own intellectual and creative efforts predominate in this work.
%In the appendix ``Overview of Generative AI Tools Used'' I have listed all generative AI tools that were used in the creation of this work, and indicated where in the work they were used.
%If whole passages of text were used without substantial changes, I have indicated the input (prompts) I formulated and the IT application used with its product name and version number/date.
The only use of a generative AI tool was ChatGPT, which was used for proof reading, for rephrasing single sentences and paragraphs, and to create the abstract.
},
naustrian={
Ich erkl\"are weiters, dass ich mich generativer KI-Tools lediglich als Hilfsmittel bedient habe und in der vorliegenden Arbeit mein gestalterischer Einfluss \"uberwiegt.
%Im Anhang \glqq\"Ubersicht verwendeter Hilfsmittel\grqq\ habe ich alle generativen KI-Tools gelistet, die verwendet wurden, und angegeben, wo und wie sie verwendet wurden.
%F\"ur Textpassagen, die ohne substantielle \"Anderungen \"ubernommen wurden, haben ich jeweils die von mir formulierten Eingaben (Prompts) und die verwendete IT-Anwendung mit ihrem Produktnamen und Versionsnummer/Datum angegeben.
Das einzige verwendete generative KI-Tool war ChatGPT, welches zum Korrekturlesen, bei der Umformulierung einzelner Sätze und Paragraphen, und zum Erstellen der Kurzfassung verwenet wurde.
}]{AIStatement}%
english={I further declare that I have used generative AI tools only as an aid,
and that my own intellectual and creative efforts predominate in this
work. In the appendix ``Overview of Generative AI Tools Used'' I have
listed all generative AI tools that were used in the creation of this
work, and indicated where in the work they were used. If whole passages
of text were used without substantial changes, I have indicated the
input (prompts) I formulated and the IT application used with its
product name and version number/date.},
naustrian={Ich erkl\"are weiters, dass ich mich generativer KI-Tools lediglich als
Hilfsmittel bedient habe und in der vorliegenden Arbeit mein
gestalterischer Einfluss \"uberwiegt. Im Anhang \glqq\"Ubersicht verwendeter
Hilfsmittel\grqq\ habe ich alle generativen KI-Tools gelistet, die verwendet
wurden, und angegeben, wo und wie sie verwendet wurden. F\"ur
Textpassagen, die ohne substantielle \"Anderungen \"ubernommen wurden, haben
ich jeweils die von mir formulierten Eingaben (Prompts) und die
verwendete IT-Anwendung mit ihrem Produktnamen und Versionsnummer/Datum
angegeben.}]{AIStatement}%
\CreatePolylingual[
english=Overview of Gen. AI Tools Used,
naustrian=Übersicht verwendeter Hilfsmittel]{AIToolsChapter}%