Went though J.Howse notes.
Need * example concrete diagram * example fmmd analysisa case (the hi fi separates) * make the diagrams consistent *
This commit is contained in:
parent
882986fc02
commit
2d759ec6cb
@ -1,4 +1,4 @@
|
|||||||
|
PDF_READER = acroread
|
||||||
#
|
#
|
||||||
# Make the propositional logic diagram a paper
|
# Make the propositional logic diagram a paper
|
||||||
#
|
#
|
||||||
@ -9,7 +9,7 @@ paper: paper.tex logic_diagram_paper.tex
|
|||||||
#dvipdf paper pdflatex cannot use eps ffs
|
#dvipdf paper pdflatex cannot use eps ffs
|
||||||
pdflatex paper.tex
|
pdflatex paper.tex
|
||||||
mv paper.pdf logic_diagram_paper.pdf
|
mv paper.pdf logic_diagram_paper.pdf
|
||||||
okular logic_diagram_paper.pdf
|
$(PDF_READER) logic_diagram_paper.pdf
|
||||||
|
|
||||||
|
|
||||||
# Remove the need for referncing graphics in subdirectories
|
# Remove the need for referncing graphics in subdirectories
|
||||||
|
@ -167,7 +167,7 @@ The concrete definitions for PLD's and Spider Diagrams\cite{howse:sd} share many
|
|||||||
|
|
||||||
A concrete {\em Propositional logic diagram} is a set of labelled {\em contours}
|
A concrete {\em Propositional logic diagram} is a set of labelled {\em contours}
|
||||||
(closed curves) in the plane. The minimal regions formed by the closed curves
|
(closed curves) in the plane. The minimal regions formed by the closed curves
|
||||||
can by occupied by `test cases'.
|
can by occupied by `test cases' (represented by asterisks).
|
||||||
The `test cases' may be joined by joining lines.
|
The `test cases' may be joined by joining lines.
|
||||||
A group of `test cases' connected by joining lines
|
A group of `test cases' connected by joining lines
|
||||||
is defined as a `test case disjunction' or Spider.
|
is defined as a `test case disjunction' or Spider.
|
||||||
@ -228,8 +228,9 @@ $$ \mathbb{R}^{2} - \; \bigcup_{\hat{c} \in \hat{C}(\hat{d})}\hat{c}$$
|
|||||||
$$ \hat{z} = \bigcap_{c \in \mathcal{X}}
|
$$ \hat{z} = \bigcap_{c \in \mathcal{X}}
|
||||||
{interior}
|
{interior}
|
||||||
(\hat{c})
|
(\hat{c})
|
||||||
\; \cup \;
|
%\; \cup \;
|
||||||
\bigcap_{\hat{c} \in \hat{C}-X}
|
\cap % J.Howse correction 25MAR2011
|
||||||
|
\bigcap_{\hat{c} \in \hat{C}-X}
|
||||||
exterior (\hat{c})
|
exterior (\hat{c})
|
||||||
$$
|
$$
|
||||||
|
|
||||||
@ -248,7 +249,9 @@ is non empty, then $\hat{z}$ is a concrete zone of $\hat{d}$. A zone is a union
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Each minimal region in the plane may be inhabited by one or more `test cases'.
|
%%- Each minimal region in the plane may be inhabited by one or more `test cases'.
|
||||||
|
%%- above statement problematic, esp when having double sim diagrams, should have been zone anyway
|
||||||
|
|
||||||
% One or more because in software the same logical conditions mean existing in the same
|
% One or more because in software the same logical conditions mean existing in the same
|
||||||
% region. For electroincs or mechanical, one test case per region is
|
% region. For electroincs or mechanical, one test case per region is
|
||||||
% mandatory. How to describe ?????
|
% mandatory. How to describe ?????
|
||||||
@ -256,7 +259,7 @@ Each test case can be associated with the set of contours that enclose it.
|
|||||||
%defined the minimal region it inhabits.
|
%defined the minimal region it inhabits.
|
||||||
|
|
||||||
{
|
{
|
||||||
\definition{ $ \mathcal{Z}_{d}:T(d)\rightarrow \mathcal{C}$ is a function
|
\definition{ $ \mathcal{Z}_{d}:T(d)\rightarrow \mathcal{P}\mathcal{C}$ is a function
|
||||||
associating a test-point with a set of contours in the plane. This corresponds to the interior of the contours defining the zone.
|
associating a test-point with a set of contours in the plane. This corresponds to the interior of the contours defining the zone.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -300,7 +303,7 @@ An $SMG$ can be considered to be a collection of test~cases.
|
|||||||
|
|
||||||
%OR consider an $SMG$ as a tree whose nodes are test cases.
|
%OR consider an $SMG$ as a tree whose nodes are test cases.
|
||||||
|
|
||||||
Let d be a PLD : An $SMG$ is a collection of test~cases in d where
|
Let d be a PLD : A Symtomatically Merged Group ($SMG$) is a collection of test~cases in d where
|
||||||
the test~cases belong to a graph connected by joining lines.
|
the test~cases belong to a graph connected by joining lines.
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -343,8 +346,8 @@ To obtain the set of propositions from a PLD, each $SMG$ must be traversed
|
|||||||
along each joining line. For each test case
|
along each joining line. For each test case
|
||||||
in the $SMG$ a new section of the equation is exclusive-disjunctively appended to it.
|
in the $SMG$ a new section of the equation is exclusive-disjunctively appended to it.
|
||||||
%
|
%
|
||||||
Let conjunctive logic equation associated with a test case
|
The conjunctive logic term associated with a test case
|
||||||
be determined from the contours that enclose it.
|
is determined from the contours that enclose it.
|
||||||
i.e. the contours $\mathcal{X}$ from the zone it inhabits.
|
i.e. the contours $\mathcal{X}$ from the zone it inhabits.
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -369,25 +372,27 @@ $ a \wedge b \wedge c $.
|
|||||||
|
|
||||||
{
|
{
|
||||||
\definition{
|
\definition{
|
||||||
Let $\mathcal{G}$ be a function that returns a logic equation for a given $SMG$
|
Let $\mathcal{G}$ be a function that returns a logic term for a given $SMG$
|
||||||
$fmg$ in the diagram, where an SMG is a non empty set of test cases.
|
$fmg$ in the diagram, where an SMG is a non empty set of test cases.
|
||||||
% $t$ is a `test case'
|
% $t$ is a `test case'
|
||||||
$\mathcal{G}$ has a domain of SMG and a range of $P$ given as
|
$\mathcal{G}$ has domain of SMG and range of $P$ given as
|
||||||
as
|
|
||||||
$$ \mathcal{G}:SMG \rightarrow P. $$
|
$$ \mathcal{G}:SMG \rightarrow P. $$
|
||||||
|
|
||||||
The logic equation (using $oplus$ to represent exclusive-or) representing an SMG $p_{fmg}$ is given thus;
|
The logic term (using $oplus$ to represent exclusive-or) representing an SMG $p_{fmg}$ is given thus;
|
||||||
|
|
||||||
$$\mathcal{G}(fmg) = \bigoplus_{t \in fmg} (\; \mathcal{F}_{t} (t) \;) \; .$$
|
$$\mathcal{G}(fmg) = \bigoplus_{t \in fmg} (\; \mathcal{F}_{t} (t) \;) \; .$$
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
The semantics of the diagram is the set of logic equations representing all its SMGs,
|
The semantics of the diagram is the set of logic terms representing all its SMGs,
|
||||||
along with unused zones (i.e. zones that are not inhabited by SMGs).
|
along with unused zones (i.e. zones that are not inhabited by SMGs).
|
||||||
Thus the abstract representation of the diagram, becomes a list of logic equations
|
Thus the abstract representation of the diagram, becomes a list of logic terms
|
||||||
and unused available zones.
|
% and unused available zones
|
||||||
%
|
.
|
||||||
% THIS ABOVE COULD BE ANOTHER DEFINITION
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\section{Context, functional groups, failure modes and symptoms}
|
\section{Context, functional groups, failure modes and symptoms}
|
||||||
|
|
||||||
@ -446,7 +451,7 @@ with the joining lines defining the its symptom collection.
|
|||||||
The `symptom collection' represents the functional group
|
The `symptom collection' represents the functional group
|
||||||
at a higher level of failure mode abstraction. That is to say,
|
at a higher level of failure mode abstraction. That is to say,
|
||||||
the contours in the new diagram represent the ways in which the {\fg} considered
|
the contours in the new diagram represent the ways in which the {\fg} considered
|
||||||
as an entity can fail. The new represents the
|
as an entity can fail. The new diagram represents the
|
||||||
{\fg} as a higher level component, or {\textbf{derived component}}, with its own set of failure modes.
|
{\fg} as a higher level component, or {\textbf{derived component}}, with its own set of failure modes.
|
||||||
|
|
||||||
\ifthenelse {\boolean{paper}}
|
\ifthenelse {\boolean{paper}}
|
||||||
@ -574,7 +579,7 @@ substituting the test cases for their propositional logic equations gives
|
|||||||
\paragraph{Failure Analysis Interpretation}
|
\paragraph{Failure Analysis Interpretation}
|
||||||
Equation \ref{eqn:l_or} would be interpreted to mean that
|
Equation \ref{eqn:l_or} would be interpreted to mean that
|
||||||
either failure mode a or b occurring, would have the same failure symptom for the circuit/functional~group
|
either failure mode a or b occurring, would have the same failure symptom for the circuit/functional~group
|
||||||
under analysis.
|
under analysis. If $a \wedge b$ occurred this could have a completely different failure mode symptom.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -634,8 +639,9 @@ of $ R = b \oplus c $.
|
|||||||
\vspace{0.3cm}
|
\vspace{0.3cm}
|
||||||
\begin{tabular}{||c|c|l||} \hline \hline
|
\begin{tabular}{||c|c|l||} \hline \hline
|
||||||
{\em $SMG$ } & {\em Failure Mode equation } & {\em comments } \\ \hline
|
{\em $SMG$ } & {\em Failure Mode equation } & {\em comments } \\ \hline
|
||||||
Q & $(a)$ & Symptom Q is active when fault mode `a` is \\ \hline
|
|
||||||
P & $(b \wedge c)$ & Symptom P is active when `$b \wedge a$' is \\ \hline
|
P & $(b \wedge c)$ & Symptom P is active when `$b \wedge a$' is \\ \hline
|
||||||
|
Q & $(a)$ & Symptom Q is active when fault mode `a` is \\ \hline
|
||||||
R & $(b \oplus c)$ & Symptom R is active when either `b' or `c' is \\ \hline
|
R & $(b \oplus c)$ & Symptom R is active when either `b' or `c' is \\ \hline
|
||||||
% T & T & T \\ \hline \hline
|
% T & T & T \\ \hline \hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
@ -736,19 +742,19 @@ is represented by an inhibit gate.\cite{nasafta}[pp41-42],\cite{nucfta}.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
The diagram \ref{fig:inhibit} has a test case in the contour $C$.
|
The diagram \ref{fig:inhibit} has a test case in the contour $c$.
|
||||||
Contour $C$ is \textbf{enclosed} by contour $A$. This says
|
Contour $c$ is \textbf{enclosed} by contour $a$. This says
|
||||||
that for failure~mode $C$ to occur failure mode $A$
|
that for failure~mode $c$ to occur failure mode $a$
|
||||||
must have occurred.
|
must have occurred.
|
||||||
A famous example of this is the space shuttle `O' ring failure that
|
A famous example of this is the space shuttle `O' ring failure that
|
||||||
caused the 1986 Challenger disaster~\cite{challenger}~\cite{wdycwopt}.
|
caused the 1986 Challenger disaster~\cite{challenger}~\cite{wdycwopt}.
|
||||||
For the failure mode to occur, the ambient temperature had to
|
For the failure mode to occur, the ambient temperature had to
|
||||||
be below a critical value.
|
be below a critical value.
|
||||||
If we take the failure mode of the `O' ring to be $C$
|
If we take the failure mode of the `O' ring to be $c$
|
||||||
and the temperature below critical to be $A$, we can see that
|
and the temperature below critical to be $a$, we can see that
|
||||||
the low temperature failure~mode $C$ can only occur if $A$ is true.
|
the low temperature failure~mode $c$ can only occur if $a$ is true.
|
||||||
The `O' ring could fail in a different way independent of the critical temperature and this is
|
The `O' ring could fail in a different way independent of the critical temperature and this is
|
||||||
represented, for the sake of this example, by contour $D$.
|
represented, for the sake of this example, by contour $d$.
|
||||||
|
|
||||||
In terms of propositional logic, the inhibit gate of FTA\cite{nasafta}[pp 41-42], and the contour enclosure
|
In terms of propositional logic, the inhibit gate of FTA\cite{nasafta}[pp 41-42], and the contour enclosure
|
||||||
of PLD represent {\em implication}.
|
of PLD represent {\em implication}.
|
||||||
@ -775,158 +781,11 @@ $$ R3 = d $$
|
|||||||
|
|
||||||
|
|
||||||
\paragraph{How this would be interpreted in failure analysis}
|
\paragraph{How this would be interpreted in failure analysis}
|
||||||
In failure analysis, $R2$ is the symptom of either failure~mode $A$ or $C$
|
In failure analysis, $R2$ is the symptom of either failure~mode $a$
|
||||||
occurring. $R1$ is the symptom of $B$ or $A \wedge C$ occurring.
|
occurring, this may not necessarily lead to failure mode `c'. $R1$ is the symptom of $a \wedge c$ occurring,
|
||||||
Note that although $R2$ is a symptom of the functional~group, on its own
|
not that because $c$ is enclosed by $a$, $c$ cannot occur unless $a$ has.
|
||||||
it will not lead to a dangerous failure~mode of the subsystem.
|
|
||||||
|
|
||||||
|
|
||||||
% \subsection { Representing Logical Negation }
|
|
||||||
%
|
|
||||||
% \begin{figure}[h+]
|
|
||||||
% %\centering
|
|
||||||
% %\input{ldor.tex}
|
|
||||||
% \begin{center}
|
|
||||||
% \includegraphics[width=200pt,bb=0 0 450 404]{logic_diagram/ldneg.eps}
|
|
||||||
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
|
|
||||||
% \end{center}
|
|
||||||
% %\includegraphics[scale=0.60]{ldneg.eps}
|
|
||||||
% \caption{Logical Negation}
|
|
||||||
% \label{fig:ld_neg}
|
|
||||||
% \end{figure} % OR
|
|
||||||
%
|
|
||||||
% Diagram \ref{fig:ld_neg} represents the logical equation $$ P = a \wedge b \wedge \neg c $$.
|
|
||||||
%
|
|
||||||
% \paragraph{How this would be interpreted in failure analysis}
|
|
||||||
% In failure analysis this test case represents the scenario where failure modes $a$ and $b$
|
|
||||||
% are active but $c$ is not.
|
|
||||||
%
|
|
||||||
%
|
|
||||||
%
|
|
||||||
% \clearpage
|
|
||||||
% \subsection { Logical XOR example }
|
|
||||||
%
|
|
||||||
% An exclusive or condition is represented by diagram \ref{fig:ld_xor}.
|
|
||||||
% The Equations represented are as follows.
|
|
||||||
%
|
|
||||||
% firstly looking at the test case points
|
|
||||||
% $$ P = (\neg a \wedge b) $$
|
|
||||||
% $$ Q = (\neg b \wedge a) $$
|
|
||||||
%
|
|
||||||
% now joining them with the disjuctive line
|
|
||||||
% $$ R = P \vee Q $$
|
|
||||||
%
|
|
||||||
% Giving R as a Boolean equation
|
|
||||||
% $$ R = (\neg a \wedge b) \vee (\neg b \wedge a) $$
|
|
||||||
% or taking the symbol $\oplus$ to mean exclusive-or
|
|
||||||
% $$R = a \oplus b $$
|
|
||||||
%
|
|
||||||
%
|
|
||||||
% % \begin{figure}[h] %% SOMETHING IS WRONG says latex. very helpful tell me what it fucking is then
|
|
||||||
% % \centering
|
|
||||||
% % \caption{Example `XOR' Diagram}
|
|
||||||
% % \includegraphics[scale=0.80]{ldxor.eps}
|
|
||||||
% % \label{fig:ld_xor}
|
|
||||||
% % \end{figure} % XOR
|
|
||||||
%
|
|
||||||
%
|
|
||||||
% \begin{figure}[h+]
|
|
||||||
% %\centering
|
|
||||||
% %\input{millivolt_sensor.tex}
|
|
||||||
% \begin{center}
|
|
||||||
% % bb= llx lly urx ury;
|
|
||||||
% \includegraphics[width=200pt,bb=0pt 0pt 800pt 800pt]{logic_diagram/ldxor.eps}
|
|
||||||
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
|
|
||||||
% \end{center}
|
|
||||||
%
|
|
||||||
% %\includegraphics[scale=0.4]{ldxor.eps}
|
|
||||||
% \caption{Logical XOR}
|
|
||||||
% \label{fig:ld_xor}
|
|
||||||
% \end{figure}
|
|
||||||
%
|
|
||||||
% \clearpage
|
|
||||||
% \subsection { Logical IMPLICATION example }
|
|
||||||
%
|
|
||||||
%
|
|
||||||
% An implication $a \rightarrow b$ is represented by diagram \ref{fig:ld_imp}.
|
|
||||||
% The Equations represented are as follows.
|
|
||||||
%
|
|
||||||
% Looking at the conjuctive environment of the test cases
|
|
||||||
% $$P = (\neg a)$$
|
|
||||||
% $$Q = (b)$$
|
|
||||||
% From the joining `disjunctive' line R in the diagram.
|
|
||||||
% $$R = P \vee Q$$
|
|
||||||
% Leading to
|
|
||||||
% $$R = (\neg a) \vee (b)$$
|
|
||||||
% which is the standard logic equation for implication.
|
|
||||||
%
|
|
||||||
% \begin{figure}[h+]
|
|
||||||
% %\centering
|
|
||||||
% %\input{millivolt_sensor.tex}
|
|
||||||
% \begin{center}
|
|
||||||
% \includegraphics[width=200pt,bb=0 0 450 404]{logic_diagram/ldimp.eps}
|
|
||||||
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
|
|
||||||
% \end{center}
|
|
||||||
% %\includegraphics[scale=0.4]{ldimp.eps}
|
|
||||||
% \caption{Logical Implication}
|
|
||||||
% \label{fig:ld_imp}
|
|
||||||
% \end{figure}
|
|
||||||
%
|
|
||||||
% \tiny
|
|
||||||
% %\vspace{0.3cm}
|
|
||||||
% \begin{tabular}{||c|c|c|c||} \hline \hline
|
|
||||||
%
|
|
||||||
% {\em $a$ } & {\em $b$ } & {implication \em $(\neg a) \vee (b) $ } \\ \hline
|
|
||||||
% F & F & T \\ \hline
|
|
||||||
% F & T & T \\ \hline
|
|
||||||
% T & F & F \\ \hline
|
|
||||||
% T & T & T \\ \hline \hline:
|
|
||||||
% \end{tabular}
|
|
||||||
% %\vspace{0.3cm}
|
|
||||||
% \normalsize
|
|
||||||
%
|
|
||||||
% \clearpage
|
|
||||||
% \subsection { Diagram representing several Logic Equations Example }
|
|
||||||
%
|
|
||||||
%
|
|
||||||
% bb=0 0 450 404
|
|
||||||
%
|
|
||||||
%
|
|
||||||
% \begin{figure}[h+]
|
|
||||||
% %\centering
|
|
||||||
% %\input{millivolt_sensor.tex}
|
|
||||||
% \begin{center}
|
|
||||||
% \includegraphics[width=200pt,bb=0pt 0pt 600pt 600pt]{logic_diagram/ldmeq.eps}
|
|
||||||
% % resistor_pld.eps: 0x0 pixel, 300dpi, 0.00x0.00 cm, bb=0 0 450 404
|
|
||||||
% \end{center}
|
|
||||||
% %\includegraphics[scale=0.4]{ldmeq.eps}
|
|
||||||
% \caption{Several Logical Expressions}
|
|
||||||
% \label{fig:ld_meq}
|
|
||||||
% \end{figure}
|
|
||||||
%
|
|
||||||
% %The effect of using explicit negation, means that a test case being outside a given contour does not imply negation, it implies a `don't care'
|
|
||||||
% %condition.
|
|
||||||
%
|
|
||||||
% Three simple equations are represented in the diagram \ref{fig:ld_dc}.
|
|
||||||
%
|
|
||||||
% %The Set of contours $\mho$ represent the `don't care' conditions.
|
|
||||||
%
|
|
||||||
% The Equations represented are as follows.
|
|
||||||
%
|
|
||||||
% %$$ Q = a \; | \; \mho\{b,c\} $$
|
|
||||||
%
|
|
||||||
% %$$ P = b \wedge c \; | \; \mho\{a\} $$
|
|
||||||
%
|
|
||||||
% $$ Q = a $$
|
|
||||||
% $$ P = b \wedge c $$
|
|
||||||
% $$ R = b \vee c $$
|
|
||||||
%
|
|
||||||
% % XXXXXX gives annoying impossible to understand syntax messages
|
|
||||||
% %\small
|
|
||||||
% %\bibliography{vmgbibliography,mybib}
|
|
||||||
% %\bibliography{vmgbibliography}
|
|
||||||
% %\normalsize
|
|
||||||
%
|
|
||||||
\section{Intended use in FMMD}
|
\section{Intended use in FMMD}
|
||||||
|
|
||||||
The intention for these diagrams is that they are used to collect
|
The intention for these diagrams is that they are used to collect
|
||||||
@ -1010,43 +869,10 @@ The test case AFE represents the condition where all four engines have failed \c
|
|||||||
\label{fig:allfour}
|
\label{fig:allfour}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
%\subsection{Example Sub-system}
|
\section{Conclusion}
|
||||||
%
|
|
||||||
%For instance were a `power supply' being analysed there could be several
|
|
||||||
%individual component faults or combinations that lead to
|
|
||||||
%a situation where there is no power. This can be described as a state
|
|
||||||
%of the powersupply being modeelled as NO\_POWER.
|
|
||||||
%These can all be collected by DISJUCNTION, i.e. that this this or this
|
|
||||||
%fault occuring will cause the NO\_POWER fault. Visually this disjuction is
|
|
||||||
%indicated by the joining lines.
|
|
||||||
%As far as the user of the `power supply' is concerned, the power supply has failed
|
|
||||||
%with the failure mode $NO\_POWER$.
|
|
||||||
%The `power supply' module, after this process will have a defined set of
|
|
||||||
%fault modes and may be considered as a component at a higher
|
|
||||||
%level of abstraction. This module can then be combined
|
|
||||||
%with others at the same abstraction level.
|
|
||||||
%Note that because this is a fault collection process
|
|
||||||
%the number of component faults for a module
|
|
||||||
%must be less than or equal to the sum of the number of component faults.
|
|
||||||
|
|
||||||
%Typeset in \ \ {\huge \LaTeX} \ \ on \ \ \today
|
|
||||||
|
|
||||||
%\begin{verbatim}
|
|
||||||
%CVS Revision Identity $Id: logic_diagram.tex,v 1.17 2010/01/06 13:41:32 robin Exp $
|
|
||||||
%\end{verbatim}
|
|
||||||
%\ifthenelse {\boolean{paper}}
|
|
||||||
%{
|
|
||||||
% \bibliographystyle{plain}
|
|
||||||
% \bibliography{../vmgbibliography,../mybib}
|
|
||||||
%
|
|
||||||
%}
|
|
||||||
%{
|
|
||||||
%}
|
|
||||||
%Compiled last \today
|
|
||||||
%\end{document}
|
|
||||||
|
|
||||||
%\theend
|
|
||||||
|
|
||||||
|
% Elevator Pitch
|
||||||
|
|
||||||
%\pagebreak[4]
|
%\pagebreak[4]
|
||||||
\clearpage
|
\clearpage
|
Loading…
Reference in New Issue
Block a user