text:
\section{Introduction}

Continuous Variable (CV) quantum computing in the measurement based approach~\cite{Briegel2001,Raussendorf2001one} has gained significant interest following recent experiments in which large cluster states have been constructed with time~\cite{yokoyama2013optical} or frequency~\cite{Chen2014} encoding. The ability to perform a quantum computation (QC) on a resource state that is consumed in time opens the possibility of scaling the computation to large mode numbers.
One of the difficulties associated with CV measurement based quantum computing (MBQC) is that finite squeezing engenders errors that propagate through the computation and contribute extra noise to the result~\cite{Nielsen2006,Gu2009}. Recently, however, a fault tolerant CV MBQC protocol was proposed~\cite{Menicucci2014} that utilizes extra ancillary modes and necessitates the squeezing of each input mode to be above a finite, albeit demanding, threshold.
This result is encouraging and supports the positive outlook for CV MBQC. However, a need still exists for QC protocols that minimize errors as much as possible for a given degree of squeezing and do so without introducing additional resources.

In the traditional MBQC approach, the employed resource state is a cluster state.
This is a highly entangled state for which the variances of specific quadrature combinations, called the nullifiers, tend to zero in the limit of infinite squeezing. These nullifiers are
expressed by
\begin{equation}
\label{eq:quadratures_cluster}
\hat \delta_i \equiv \left( \hat{p}_i^{C} - \sum_l V_{il} \hat{x}_l^{C} \right)   \hspace{0.25cm} \forall  \hspace{0.1cm}  i = 1,..., N,
\end{equation}
where $V$ is the adjacency matrix associated to the cluster state and $\hat{x}_i^{C}, \hat{p}_i^{C}$ are the amplitude and phase quadratures associated with each mode $i$ of the cluster state~\cite{Nielsen2006, Gu2009}.
A $N$-mode cluster state in CV can be constructed by sending $N$ squeezed modes into a suitably chosen linear optical network~\cite{vanLoock2007, vanLoock2008, Su07, Furusawa2011, Su12}.

In this work we provide an optimization strategy for quantum computation that diminishes errors arising from finite squeezing in the modes used to create the ancillary cluster state. In particular, if the squeezing degree is not equivalent for all of the input modes, this approach optimally redistributes the available correlations among the transformed modes. The ability to employ optimization strategies is shown to result from tunable degrees of freedom contained within the unitary matrix that fabricates cluster states from a set of squeezed states.

The linear optical network associated with a given unitary matrix is most commonly implemented by a series of optical elements, such as beam splitters and phase shifters, when the input squeezed modes are each embedded in a different spatial mode. The layout of the optical network is determined by a specific decomposition procedure~\cite{vanLoock2007}. Our optimization method could therefore be readily implementable in any experimental group, as it provides the optimal unitary matrix that can be decomposed in the corresponding practical series of optical elements.

After setting the problem in Sec.\ref{se:problem}, we derive a compact analytical expression in Sec.\ref{se:Derivation} for the unitary matrix which allows the generation of a cluster state starting from squeezed states; this expression possesses tunable degrees of freedom. Then, we show that these degrees of freedom can be exploited to reduce noise in a cluster state measurement (Sec.\ref{se:opt-clu}) and also in the result of a quantum computation (Sec.\ref{se:opt-mbqc}). We conclude in Sec.\ref{se:conclusions}.

\section{Problem setting}
\label{se:problem}

Consider a general linear transformation, corresponding to a specific unitary matrix $U$, which acts on an initial set of squeezed modes $\vec{a}^{\, \text{squ}} = (\hat{a}^{\text{squ}}_1,...,\hat{a}^{\text{squ}}_N)$:
\begin{equation}
\label{eqtrasf-y0}
\vec{a} \, ' =  U \vec{a}^{\, \text{squ}},
\end{equation}
where $\vec{a} \, ' = (\hat{a}^{'}_1,...,\hat{a}^{'}_N) $ indicates the set of annihilation operators associated with the modes at the output of the transformation $U$.
A given task, such as the creation of cluster states or the execution of a QC, is accomplished through judicious selection of the $U$ matrix. This matrix is not unique, however, and several internal degrees of freedom may be exploited  to minimize errors associated with the task.

As an example, in the case of cluster state creation with finitely squeezed inputs, $U$ may be chosen so as to minimize the mean of the nullifier variances:
\begin{equation}
\label{eq:f1}
f_1 = \frac{1}{N} \sum_{i = 1}^N \frac{\Delta^2 \delta_i}{\Delta^2  \delta_i^0},
\end{equation}
where  $\left\{ \Delta^2 \hat \delta_i \right\}$ are the variances of the nullifiers defined in Eq.(\ref{eq:quadratures_cluster}), and $\left\{ \Delta^2 \hat \delta_i^0 \right\}$ are the shot noise variances, defined as the nullifier variances for vacua inputs. This choice of function $f_1$ is not unique, and other analogous functions may be defined \footnote{We obtain similar results by defining $\tilde{f}_1 = \text{Mean}\left[ \Delta^2 \hat \delta_i - \Delta^2 \hat \delta^0_i \right]$.}.

In the context of MBQC, the result is encoded in the output mode, which is affected by the excess noise incurred by finite squeezing. This can be reduced by minimizing
~\footnote{
Other choices are once again possible, e.g. one may minimize the noise of a single quadrature only. This may be useful depending upon the specific output mode readout.}
\begin{equation}
\label{eq:fitness3}
f_2 =
\Delta^2 {\hat{x}_{\text{extra}} } +  \Delta^2 {\hat{p}_{\text{extra}} }.
\end{equation}
As will be discussed later, those noise terms can be related to the nullifiers of the ancillary cluster used for the computation.

\section{Derivation of a general expression for the cluster unitary network}
\label{se:Derivation}

It has been shown in Ref.~\cite{vanLoock2007} that a cluster state with an adjacency matrix $V$ is obtained by applying a unitary matrix $U = U_V = X + i Y$ to a set of input squeezed modes as in Eq.(\ref{eqtrasf-y0}). This unitary matrix must satisfy the condition
\begin{equation}
\label{eq:x_and_y}
Y - V X  = 0.
\end{equation}
Then, the graph of the state expressed by (\ref{eqtrasf-y0}) coincides with $V$ in the limit of infinite squeezing (see Appendix~\ref{app:A}).

We now seek an explicit and compact analytical expression for the unitary transformation satisfying Eq.(\ref{eq:x_and_y}).
The unitary transformation of Eq.(\ref{eqtrasf-y0}) on the annihilation operators induces a transformation on the quadratures of each mode which is expressed by the symplectic matrix
\begin{equation}
\label{eq:boh199}
\left( \begin{array}{cccccccc}
\vec{x}^{\, C} \\
\vec{p}^{\, C} \\
\end{array} \right) =
\left( \begin{array}{cccccccc}
X & - Y \\
Y &  X \\
\end{array} \right)
\left( \begin{array}{cccccccc}
\vec{x}^{\, \text{squ}} \\
\vec{p}^{\, \text{squ}} \\
\end{array} \right)  \\
\end{equation}
where $X$ and $Y$ are defined as in Eq.(\ref{eq:x_and_y}), and where $(\vec{x}, \vec{p})^T = (\hat{x}_1, ..., \hat{x}_{N},\hat{p}_{1}, ..., \hat{p}_{N})^T$.
In order to be symplectic, the matrix of Eq.(\ref{eq:boh199}) must satisfy~\cite{dutta1995real}
\begin{eqnarray}
&& X X^T + Y Y^T = \mathcal{I} \label{eq:1} \\
&& X Y^T = Y X^T  \label{eq:2}
\end{eqnarray}
where $\mathcal{I}$ is the identity matrix.
With the use of Eq.(\ref{eq:x_and_y}), Eq.(\ref{eq:1}) and (\ref{eq:2}) one obtains
\begin{equation}
\label{eq:symme-eq}
X X^T = (V^2 + \mathcal{I})^{-1}.
\end{equation}
Hence, the symmetric solution $X_s = X_s^T$ is simply given by
\begin{equation}
\label{eq:sol}
X_s = (V^2 + \mathcal{I})^{-1/2}
\end{equation}
from which, using Eq.(\ref{eq:x_and_y}), one obtains  that $Y_s = V  (V^2 + \mathcal{I})^{-1/2}$ and hence
\begin{equation}
\label{eq:sol_symm}
{U_V}_s =(1 + i V)  (V^2 + \mathcal{I})^{-1/2}.
\end{equation}
Eq.(\ref{eq:sol_symm}) represents the symmetric solution ${U_V}_s = {U_V}_s^T$ for the linear network we were seeking.

Furthermore, notice that if $X_s$ and $Y_s$ satisfy Eq.(\ref{eq:x_and_y}), then $X = X_s \mathcal{O}$ and $Y = Y_s \mathcal{O}$  are also a solution for any real orthogonal matrix $\mathcal{O}$ due to the symmetry of Eq.(\ref{eq:symme-eq}), where $\mathcal{O} \mathcal{O}^T = \mathcal{I}$. Hence, we obtain the general solution for the unitary matrix yielding a cluster state with graph $V$, which is provided by
\begin{equation}
\label{eq:sol_all}
{U_V} (\vec{\theta})  =(\mathcal{I} + i V)  (V^2 + \mathcal{I})^{-1/2} \mathcal{O} (\vec{\theta}),
\end{equation}
where we have discarded the subscript ``s", and where we have rendered explicit the parameterization of $\mathcal{O}$ in terms of angular variables $\vec{\theta}$. These are $N (N-1)/2$ degrees of freedom, and can be chosen e.g. as Euler or Tait-Bryan angles.

\section{Optimization of cluster states}
\label{se:opt-clu}

The real orthogonal matrix $\mathcal{O}(\vec{\theta})$ appearing in Eq.(\ref{eq:sol_all}) may be freely chosen to mitigate the effects of finite squeezing on cluster state preparation and MBQC. Selection of an optimal matrix is achieved by employing an evolutionary strategy~\cite{roslund2009accelerated}, which is particularly suitable for high-dimensional parameter searches. In practice, we search for a $\vec{\theta}$ that minimizes a fitness function, such as the ones previously described.
Having discovered an optimal orthogonal matrix, the unitary matrix implementing the desired cluster state is fully specified by Eq.(\ref{eq:sol_all}).

If the squeezing levels for the input modes are uniform, all of the unitaries described by Eq.(\ref{eq:sol_all}) are equivalent, in that each nullifier of the resulting cluster state possesses the same level of noise.
For nonuniform squeezing levels, however, one may search for a unitary matrix $U_V$ that redistributes the available squeezing among the modes in a manner that optimizes some desired property, e.g., $f_1$ in  Eq.(\ref{eq:f1})~\footnote{An optimization following this spirit is performed analytically in Ref.~\cite{menicucci2011graphical} in a different context, with respect to local phase shifts only.}.

As an example, we consider the fabrication of a 4-mode linear cluster state. This state has been shown to be a universal resource for gaussian single-mode quantum computation~\cite{Ukai2010b}.
The input modes used to build the cluster state are assumed to possess realistic squeezing levels, such as those seen in the four-mode multimode state of Ref.~\cite{Roslund_13b}. Specifically, the squeezed quadrature variances relative to shot noise level are taken as $-7$dB, $-6$dB, $-4$dB, and $0$dB. The use of these modes to fashion a cluster state from the $U_{V}$ defined in Ref.\cite{vanLoock2008} yields the nullifier variances reported in Table~\ref{table-cluster} (with the convention $\Delta^2_{vac} = 1$), where the final nullifier lies at the shot noise level. Yet, by optimizing the angles $\vec{\theta}$ in Eq.(\ref{eq:sol_all}) to minimize $f_1$, all of the nullifier variances are lowered below the shot noise level and $f_1$  is reduced by $25 \%$. Consequently, the optimization successfully reduces the residual error induced by finite squeezing. Importantly, this procedure may be applied to a cluster state of arbitrary dimension as well as to the case of non-pure states.
The absolute values of each optimized nullifiers, as compared to the nullifiers obtained with the non-optimized network defined in Ref.\cite{vanLoock2008},  as well as the shot noise values, are visualized in the upper panel of Fig.\ref{fig:optimization}.
The lower panel of Fig.\ref{fig:optimization} instead represents how each nullifier converges to the optimized solution, highlighting how the fluctuations are re-distributed among the modes
\begin{figure}
\begin{minipage}{.98\columnwidth}
\includegraphics*[width=0.75\columnwidth]{nullifiers-absolute-c.pdf}
\end{minipage}
\begin{minipage}{.98\columnwidth}
\includegraphics*[width=0.85\columnwidth]{convergence-c.pdf}
\end{minipage}
\caption{(Color Online) Top: linear cluster state nullifier variances $\left\{ \Delta^2 \hat \delta_i \right\}$ for a non-optimized network (brown / gray), for the optimized network (yellow / light gray), as compared to the shot noise levels (black). Bottom: normalized nullifiers variances  $\left\{ \Delta^2 \hat \delta_i / \Delta^2 \hat \delta_i^0 \right\}$ as a function of the iteration (``generation" in the language of evolutionary strategies) of the algorithm. Upper lines: The red (dark) line is $\Delta^2 \hat \delta_1 / \Delta^2 \hat \delta_1^0$, the green (light) $\Delta^2 \hat \delta_3 / \Delta^2 \hat \delta_3^0$. Lower lines: The blue (dark)  is $\Delta^2 \hat \delta_2 / \Delta^2 \hat \delta_2^0$, the cyan (light) line is  $\Delta^2 \hat \delta_4 / \Delta^2 \hat \delta_4^0$.}
\label{fig:optimization}
\end{figure}
\begin{table}

\centering

\begin{tabular}{ l | c | r | }

  {} & Nullifier variances $\{ \frac{\Delta^2 \delta_i}{{\Delta^2 \delta_i}_0} \}$ & $f_1$ \\   \hline
  Network $U_V$ from Ref.\cite{vanLoock2008}  &  $\{0.20, 0.50, 0.24, 1.00\}$ &  0.49 \\   \hline
  Optimized network $U_V^{\text{best}}$ & \{0.45, 0.28, 0.45, 0.28\} & 0.37 \\     \hline

\end{tabular}
\caption{Comparison of nullifier variances for a 4-node linear cluster state with and without optimization of the unitary transformation $U$.  ${\Delta^2 \delta_i}_0$ are the shot noise (shot noise) levels, which are defined as the nullifier variances for vacua inputs.}

\label{table-cluster}

\end{table}

\section{MBQC error reduction}
\label{se:opt-mbqc}

The ability to minimize cluster state nullifiers may be directly translated to the task of reducing errors of a MBQC in the cluster-based approach~\cite{vanLoock2007}.
Consider a Gaussian single-mode MBQC, where the state that has to be processed is encoded by a single optical mode, and we want to implement a Gaussian transformation on this state. This input state is first ``attached" to a linear cluster state via teleportation: e.g., a beam-splitter interaction is applied between the input mode and the first mode of the cluster, and a measurement of the quadratures of these two modes follows.
A properly performed quadrature measurement effectively projects the unalterated input state on the second mode of the cluster state, apart from displacement operators which depend on the outcomes of the measurement, and which can be accounted for at the end of the calculation. Then, the second and, in general, third modes of the cluster state are measured on suitable quadratures, which depend on the computation that we want to perform and are determined with the recipe of Ref.~\cite{Ukai2010b}. These quadrature measurements on each mode can be equivalently described as a suitable rotation matrix $D_{\text{meas}}$, followed by a measurement in the same quadrature on all the modes, say, $\hat p$. In other words, measuring $\hat p$ on the modes $in$ and $1$ after having rotated them by $\pi/2$ corresponds to a measurement of $\hat{x}_{\text{in}}$ and $\hat{x}_1$.
Note that since all the measurements performed here are Gaussian, they can be done simultaneously - no adaptation of the measurement basis is effectively needed~\cite{Gu2009}.

Hence, in summary, the unitary in Eq.(\ref{eqtrasf-y0}) results from the product of three matrices: the unitary $U_V$ constructing the cluster from the input squeezed modes, the beamsplitter interaction between the input state and a single mode of the cluster, and a proper diagonal matrix specifying each mode's measurement quadrature:
\begin{equation}
\label{eq:q_comp}
U = U_{\text{comp}} = D_{\text{meas}} U_{\text{BS}} U_{V}(\vec{\theta}).
\end{equation}

As an example, we consider a Fourier transformation of the input state, i.e. $\left(  \begin{array}{cccccccc}
\hat{x}_{\text{out}} \\
\hat{p}_{\text{out}} \\ \end{array}
\right) =
\left(  \begin{array}{cccccccc}
0 & -1 \\
1 & 0 \\
\end{array} \right)
\left( \begin{array}{cccccccc}
\hat x_{\text{in}} \\
\hat p_{\text{in}} \\
\end{array} \right) =
\left(  \begin{array}{cccccccc}
- \hat p_{\text{in}} \\
\hat x_{\text{in}} \\
\end{array} \right)$.
The measurement matrix $D_{\text{meas}}$ along with the $U_{V}$ necessary to implement this QC by a three-mode cluster state are reported in Ref.~\cite{ferrini2013compact} (see also Appendix \ref{app:B}). The calculation of the output mode containing the computation result follows from Refs.~\cite{vanLoock2007,Furusawa_Book} and yields (see Appendix \ref{app:B})
\begin{eqnarray}
\label{eq:teleport_result4}
\hat{x}_{\text{out}}  &=& \hat{x}'_3 = -\hat{p}_{\text{in}} + {p}'_2 - \sqrt{2} {p}'_1 - \hat{\delta}_2  \\
\hat{p}_{\text{out}} &=& \hat{p}'_3 =  \hat{x}_{\text{in}}   - \sqrt{2} p'_{\text{in}}  - \hat{\delta}_1 + \hat{\delta}_3  \nonumber,
\end{eqnarray}
where $\hat{\delta}_{i}$ are the previously defined nullifiers depending upon the chosen realization of $U_{V}(\vec{\theta})$, and where $p_i$ are real numbers, given by the results of the quadrature measurements on modes $in, 1, 2$.
By optimizing $\mathcal O(\vec{\theta})$, we have already shown that the nullifier variances are minimized, thereby reducing the error of the QC.

As a demonstration of the optimization scheme in the context of MBQC, the squeezing distribution of Ref.~\cite{Roslund_13b} is again considered where the fourth (minimally squeezed) mode serves as the input mode.
In the absence of any optimization (i.e., $\mathcal{O}(\vec{\theta})  = \mathcal{I}$ and $U_{V}(\vec{\theta})$ is given in Ref.~\cite{ferrini2013compact}), the excess noise quadratures $\Delta^2 {\hat{x}_{\text{extra}} } = \Delta^2 \hat{\delta}_2 $ and $\Delta^2 {\hat{p}_{\text{extra}} } = \Delta^2(- \hat{\delta}_1 + \hat{\delta}_3 )$ in Eq.(\ref{eq:teleport_result4}) are detailed in Table~\ref{table-QC}
\footnote{As opposed to the output modes of Eq.(\ref{eq:teleport_result2}), the extra noise modes are not constrained by the uncertainty principle $\Delta^2 {\hat{x} } \Delta^2 {\hat{p }} \geq 1$ as they are added contributions, and can display $\Delta^2 {\hat{x}_{\text{extra}} } +\Delta^2 {\hat{p}_{\text{extra}} }  = 0$ in the limit of high squeezing. The shot noise limit yields $\Delta^2 {\hat{x}_{\text{extra}} } = 3$ and $\Delta^2 {\hat{p}_{\text{extra}} } = 2$, i.e. $\Delta^2 {\hat{x}_{\text{extra}} } + \Delta^2 {\hat{p}_{\text{extra}} } = 5$.}.
By optimizing $f_2$ over $\vec{\theta}$, it is possible to suppress the total noise by $\sim 35 \%$ (see Table~\ref{table-QC}). It is important to note that the obtained noise reduction is specific to the distribution of input squeezing values. Nonetheless, these results readily generalize to more complicated clusters, including the support of multimode operations.

\begin{table}

\centering

\begin{tabular}{ l | c |  c |   c | r | }

   {} & $\Delta^2 {\hat{x}_{\text{extra}} } $ & $\Delta^2 {\hat{p}_{\text{extra}} } $ &  $f_2$   \\
    \hline
  $U_{\text{comp}}$ from Ref.\cite{ferrini2013compact}   & 1.20 &  0.48 &    1.70 \\   \hline
  Optimized $U_{\text{comp}}^{\text{best}}$ & 0.60 & 0.50 & 1.10 \\ \hline

\end{tabular}

\caption{Comparison of a QC's excess noise with and without optimization of the unitary transformation $U$.}

\label{table-QC}

\end{table}

\section{Conclusions}
\label{se:conclusions}

In conclusion, we have demonstrated the use of optimization strategies to mitigate noise in MBQC that arises from finite squeezing. Within the traditional cluster-based framework, the transformation between the input squeezed modes and the desired network possesses several tunable degrees of freedom, which may be optimized in order to reduce the state's excess noise.

We stress that any experimental group investigating MBQC on cluster states generated by a linear optical network $U_V$ may employ these optimization strategies to mitigate errors associated with finite and nonuniform squeezing of the input modes. For instance, Refs.~\cite{Cai2014, Wang2014} detail the production of squeezed states from four-wave mixing in a hot rubidium vapour. The squeezed states produced in this vapor display a non-uniform squeezing distribution, which is ideally suited for application of our method.

This optimization strategy has already been successfully employed in the context of an experiment led by several of the authors. In particular, given an optimal choice of the cluster unitary matrix, cluster structures are observable within the quantum state generated by a synchronously pumped optical parametric oscillator~\cite{Roslund_13b}.

Similar protocols for noise reduction have likewise been discussed in the context of dual rail encoding~\cite{Alexander2014}. All of these schemes still remain within the domain of Gaussian transformations, and the inclusion of a non-Gaussian operation will prove necessary in order to provide an advantage with respect to classical computing~\cite{Mari2012}.

\section{Acknowledgments}

This work is supported by the European Research Council starting grant Frecquam and the French National Research Agency project Comb. C.F. is a member of the Institut Universitaire de France. J.R. acknowledges support from the European Commission through Marie Curie Actions, and Y.C. recognizes the China Scholarship Council.

redpajama_set_name: RedPajamaArXiv


text:
Álvaro Brechner
2 Films in collection
Alvaro Brechner was born in Montevideo in 1976 and has lived in Madrid since 2000. He graduated in Social Communication (Uruguay Catholic University, 1998) and obtained a Masters in Creative Documentary (Barcelona University, 1999). Between 2000 and 2007, he directed several short films (The Nine Mile Walk, Sofa, Second Anniversary) which premiered in over 140 International Festivals as well as dozens of documentaries (La Ley del Ring, Sefarad Testimonio de una ausencia, Papá, Por qué somos del Atleti).
In 2009, he wrote and directed his first feature film, Bad Day to Go Fishing, which participated in the Official Section of the Cannes Critics' Week. The film also took part in over 60 international festivals and garnered over 30 awards. In Uruguay, the film received 10 Fipresci awards, including Best Opera Prima and Best Uruguayan Film. In Spain, the film obtained three CEC nominations for Best Film, Best Script and Best Actor. In addition, the film represented Uruguay as Best Foreign Language Film at the Academy Oscar Awards. Mr. Kaplan, his second film (2014) was selected for over 40 International Festivals and became the Uruguayan representative at the 2015 Academy Oscar Awards as Best Foreign Film.
In December 2015, Brechner was named as one of the 10 emerging talents of Ibero-American cinema by Variety international magazine. Brechner has obtained the Uruguayan National Literature Prize and has taken part in several festivals as a member of the jury, including the Cannes Festival Critics' Week, Warsaw, Malaga, Sofa, Gijon, Torino and Valencia. A Twelve-Year Night (La noche de 12 años) is his third film.
2018 COMPAÑEROS - LA NOCHE DE 12 AÑOS
2014 MR. KAPLAN
2009 BAD DAY TO GO FISHING
2007 SEGUNDO ANIVERSARO (Short film)
2005 SOFIA (Short film)
2003 THE NINE MILE WALK (Short film)
Compañeros - La noche de 12 años (2018)
1973. Uruguay is governed by a military dictatorship. One autumn night, three Tupamaro prisoners are taken from their jail cells in a secret military operation. The order is precise: "As we can't kill them, let's drive them mad." The three men will remain in solitary confinement for twelve years. Among them is Pepe Mujica – later to become president of Uruguay. More
Mr. Kaplan (2014)
Jacob Kaplan lives an ordinary life. Nothing differentiates him from his other Jewish friends who fled Europe to South America because of WWII. Turning 70 has had a strange effect on him: he refuses to accept he is getting old. Grumpy, fed up with the new rabbi, his community and his family's lack of interest in its own heritage, he embarks on an unusual and quixotic project: to capture a restaurant owner, who he is convinced is a runaway Nazi. More
DVD Mr. Kaplan

redpajama_set_name: RedPajamaCommonCrawl


Welcome to the Pack 307 Northridge Web Page!
A little bit about us: Pack 307 has been sponsored by the First Presbyterian Church of Granada Hills since 1956. We are oriented toward teaching every boy basic skills of scouting, with emphasis on developing good citizenship, strengthening character, enhancing mental and physical fitness and building strong relationships. We do this through weekly Den meetings, field trips, service projects and outings, such as, day hikes, family camp-outs, and resident camp for the older boys.
With all of these activities, each boy has ample opportunity to learn new skills and to grow in Scouting. The Pack is divided into Dens of same age boys and 2015 marks the start of a whole new Cub Scouting Adventure Program! There are five rank advancements a Cub Scout could achieve: Tiger, Wolf, Bear, Webelo 1 & Webelo 2. The involvement of an adult teammate is required for Tiger Cub (1" grade) level. Parents are encouraged to be involved with the boys in all levels in the Pack.
The Scouting program is unique to others in that it encompasses a variety of skill and developmental areas, both academic and physical, while still maintaining a close relationship with family. The program allows time to spend with your son on a regular basis and have lots of fun doing it! As mentioned the program is very family oriented, so the whole family is invited to join in outings and events! Here are a few reasons to join scouting plus the 10 purposes of Cub Scouting!
• A chance to be more involved with your child.
• The opportunity to make new friends.
• Add to your skill set.
• To appreciate and be appreciated.
For more information, please click on the Contact Our Pack link above!


text:
Borosbenedek, 1911-ig Benedek ( vagy Benedic) falu Romániában, Fehér megyében. Közigazgatásilag Alsógáld községhez tartozik.

Fekvése
Az Erdélyi Hegyalján, az Erdélyi-érchegység lábánál, Gyulafehérvártól 22 kilométerre északra fekszik.

Nevének eredete
Nevét az 1200 körül élt Csanád nembeli Belenikről kapta. Román nevei is korábbi magyar névalakok átvételei. 1256-ban a kecskési váruradalomról, amelyhez tartozott, még Nogkechkes volt a neve, 1274-ben Belenig, 1299-ben Benemygh, 1332–34-ben Benenyk és Benedic, 1587-ben Benedikj. Előtagját bortermeléséről kapta. Már a 19. század folyamán is használták, a helységnévrendezéskor pedig hivatalossá vált.

Története
Kecskekő várának uradalmához tartozott, 1332-ben plébániával. A középkorban erős nemesi rétege volt. 1601-ben magyar lakosságú. Román lakóinak őseit 1630 előtt a tövisi Baxa Gergely diák telepítette Moldvából. A 18–19. században mezővárosként szerepelt. 1750-ben négy csizmadia, négy fazekas, négy kovács, három ötvös, két kádár, egy tímár, egy bognár és egy harisnyakészítő dolgozott benne. Jelentős volt bortermelése és gyümölcstermesztése. Ekkoriban román–magyar lakosságú: 1761-ben nyolcvan ortodox és öt görögkatolikus családot írtak össze benne, református egyháza Alsógálddal, Csáklyával és Felgyóggyal 1766-ban 133 férfit és 196 nőt számlált. 1784-ben Horea felkelői felperzselték nemesi udvarházait.

1848. október 23-án a csáklyai papok vezetésével a csáklyai, felsőgáldi, felgyógyi és diódi román felkelők lefegyverezték 26 magyar és zsidó nemzetőrét, megkötözték és Felgyógyra, onnan pedig Boroskrakkóba vitték őket. Egy asszonyt lándzsával átdöftek. Később a környék magyar nemesi családai a helybeli román pap oltalmába húzódtak. 1849. január 18-án a román parasztok 143 környékbeli magyart Benedeken megkínoztak és megöltek. Az áldozatok temetetlenül hevertek, míg August gyulafehérvári várparancsnok saját gyilkosaikkal el nem temettette őket. 1908-ban a magyarigeni járástól az újonnan létrehozott tövisi járáshoz csatolták. Református egyháza 1878-tól Tövis leányegyháza, 1937-től egy ideig Boroskrakkó társegyházközsége volt.

1910-ben 920 lakosa közül 874 volt román és 46 magyar anyanyelvű; 844 görögkatolikus, 35 ortodox, 24 református, 13 római katolikus és 4 zsidó vallású.

2002-ben 524 lakójából 503 volt román, 18 cigány és 3 magyar nemzetiségű; 491 ortodox és 26 görögkatolikus vallású.

Látnivalók
 A falu fölött cinteremmel kerítve áll a romos, egykor erődített, gótikus református templom. Az egyhajós, nyolcszög záródású szentélyű épület hajóját még egy középkori átépítés során bővítették. A 17. században újították, tornya 1768–88-ban épült. A gazdátlanul, gyülekezet nélkül maradt templom köveinek egy részét a falusiak elhordták. Várfala az 1920-as években még embermagasságban állt, a hajó mennyezete a második világháború idején omlott be.
 A Dealul Furcilor dombon valószínűleg az egyik 18. századi gyulafehérvári püspök által építtetett barokk kápolna.

Híres emberek
 Itt született 1919-ben Xantus Gyula festőművész.
 Itt született 1922-ben Nicolaie Pascu-Goia szobrász.

Jegyzetek

Források
 Gudor Kund Botond: Az eltűnt Gyulafehérvári Református Egyházmegye és egyházi közösségei. Kolozsvár – Barót, 2012,
 Benkő József: Transsilvania specialis. Bukarest, 1999
 Egyed Ákos: Erdély 1848–1849. Csíkszereda, 1998–1999
 Vetési László: Kicsiny sereg. Az utolsó utáni borosbenedeki magyar

 Szász András honlapja

Fehér megye települései
Alsó-Fehér vármegye települései

redpajama_set_name: RedPajamaWikipedia


Conventional 60Hz LCDs show extensive motion blur, and can be distracting when playing games with fast movement. The ASUS VG248QZ 144Hz fast gaming monitors half the effects of motion blur to deliver a perceivable difference for natural movement and crisp edges on fast paced gaming environments.
- Brightness(Max) : 350 cd/?
More links for "VG248QZ 24" 1920x1080 TN 144Hz Gaming Widescreen LED Monitor"


'Advanced BJJ Q&A with Emily Kwok' is the fourth app in the How to Defeat the Bigger Stronger Opponent series featuring world champion Emily Kwok and Stephan Kesting from Grapplearts.com.
In this app Emily goes into depth about the tricks and techniques she uses on a daily basis against taller, heavier and much stronger training partners - no matter how 'agro' they are.
All the material in this app was professionally filmed during a semi-private Q & A session in which Emily answered questions from white, blue, brown and blackbelts.
=> A World Champion's solutions for many of the most common problems encountered when fighting bigger, stronger opponents on the ground.
=> BONUS: purchase this app and receive Stephan's highly-reviewed 'The Roadmap for Brazilian Jiu-Jitsu' book for free!


text:
/* Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.flowable.cmmn.test.event;

import static org.assertj.core.api.Assertions.assertThat;

import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;

import org.flowable.cmmn.api.event.FlowableCaseStartedEvent;
import org.flowable.cmmn.api.runtime.CaseInstance;
import org.flowable.cmmn.engine.test.CmmnDeployment;
import org.flowable.cmmn.engine.test.FlowableCmmnTestCase;
import org.flowable.common.engine.api.delegate.event.AbstractFlowableEventListener;
import org.flowable.common.engine.api.delegate.event.FlowableEngineEventType;
import org.flowable.common.engine.api.delegate.event.FlowableEvent;
import org.flowable.common.engine.api.scope.ScopeTypes;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

/**
 * @author Filip Hrisafov
 */
public class CaseInstanceEventsTest extends FlowableCmmnTestCase {

    protected TestEventListener listener;

    @Before
    public void setUp() {
        listener = new TestEventListener();
        cmmnEngineConfiguration.getEventDispatcher().addEventListener(listener);
    }

    @After
    public void tearDown() {
        if (listener != null) {
            cmmnEngineConfiguration.getEventDispatcher().removeEventListener(listener);
        }
    }

    @Test
    @CmmnDeployment(resources = "org/flowable/cmmn/test/one-human-task-model.cmmn")
    public void testCaseInstanceEvents() {
        List<FlowableEvent> events = new ArrayList<>();
        listener.eventConsumer = (flowableEvent) -> {
            if (flowableEvent instanceof FlowableCaseStartedEvent) {
                FlowableCaseStartedEvent caseStartedEvent = (FlowableCaseStartedEvent) flowableEvent;
                CaseInstance eventCaseInstance = caseStartedEvent.getEntity();
                assertThat(eventCaseInstance.getBusinessKey()).isEqualTo("business key");
                assertThat(eventCaseInstance.getName()).isEqualTo("name");

                assertThat(caseStartedEvent.getProcessInstanceId()).isNull();
                assertThat(caseStartedEvent.getExecutionId()).isNull();
                assertThat(caseStartedEvent.getProcessDefinitionId()).isNull();
                assertThat(caseStartedEvent.getScopeType()).isEqualTo(ScopeTypes.CMMN);
                assertThat(caseStartedEvent.getScopeId())
                        .isNotNull()
                        .isEqualTo(eventCaseInstance.getId());
                assertThat(caseStartedEvent.getSubScopeId()).isNull();
                assertThat(caseStartedEvent.getScopeDefinitionId())
                        .isNotNull()
                        .isEqualTo(eventCaseInstance.getCaseDefinitionId());
                events.add(flowableEvent);
            }
        };

        cmmnRuntimeService.createCaseInstanceBuilder()
                .caseDefinitionKey("oneTaskCase")
                .businessKey("business key")
                .name("name")
                .start();

        assertThat(events)
                .extracting(FlowableEvent::getType)
                .containsExactly(FlowableEngineEventType.CASE_STARTED);
    }

    @Test
    @CmmnDeployment(resources = {
            "org/flowable/cmmn/test/event/CaseInstanceEventsTest.testSimpleSubCase.cmmn",
            "org/flowable/cmmn/test/one-human-task-model.cmmn"
    })
    public void testSubCaseStartedEvents() {
        List<FlowableEvent> events = new ArrayList<>();
        listener.eventConsumer = (flowableEvent) -> {
            if (flowableEvent instanceof FlowableCaseStartedEvent) {
                FlowableCaseStartedEvent caseStartedEvent = (FlowableCaseStartedEvent) flowableEvent;
                CaseInstance eventCaseInstance = caseStartedEvent.getEntity();
                assertThat(caseStartedEvent.getProcessInstanceId()).isNull();
                assertThat(caseStartedEvent.getExecutionId()).isNull();
                assertThat(caseStartedEvent.getProcessDefinitionId()).isNull();
                assertThat(caseStartedEvent.getScopeType()).isEqualTo(ScopeTypes.CMMN);
                assertThat(caseStartedEvent.getScopeId())
                        .isNotNull()
                        .isEqualTo(eventCaseInstance.getId());
                assertThat(caseStartedEvent.getSubScopeId()).isNull();
                assertThat(caseStartedEvent.getScopeDefinitionId())
                        .isNotNull()
                        .isEqualTo(eventCaseInstance.getCaseDefinitionId());

                if (events.isEmpty()) {
                    assertThat(eventCaseInstance.getBusinessKey()).isEqualTo("main key");
                    assertThat(eventCaseInstance.getName()).isEqualTo("name");

                } else {
                    assertThat(eventCaseInstance.getBusinessKey()).isEqualTo("child key");
                    assertThat(eventCaseInstance.getName()).isNull();
                }
                events.add(flowableEvent);
            }
        };

        cmmnRuntimeService.createCaseInstanceBuilder()
                .caseDefinitionKey("mainCase")
                .businessKey("main key")
                .name("name")
                .transientVariable("childBusinessKey", "child key")
                .start();

        assertThat(events)
                .extracting(FlowableEvent::getType)
                .containsExactly(
                        FlowableEngineEventType.CASE_STARTED,
                        FlowableEngineEventType.CASE_STARTED
                );
    }

    private static class TestEventListener extends AbstractFlowableEventListener {

        private Consumer<FlowableEvent> eventConsumer;

        @Override
        public void onEvent(FlowableEvent event) {
            if (eventConsumer != null) {
                eventConsumer.accept(event);
            }
        }

        @Override
        public boolean isFailOnException() {
            return true;
        }
    }
}

redpajama_set_name: RedPajamaGithub


Reader reviews and comments on The Last Year of the War, plus links to write your own review.
Susan Meissner writes a brilliantly vivid piece of important and little known history. It combines friendship, love, family during a devastating times and the questions of identity and the important story of immigrant parents that is perfectly placed in that it will be relatable to so many of us no matter what era we were born. Beautiful, poignant and heartwarming. "All the feels!" Highly recommended read.
A friendship made in an internment camp during WWII that lasted only eighteen months, but bonds and memories that lasted a lifetime.
Elise and Mariko met during WWII while attending school in an internment camp for Japanese and German Americans.
We follow both girls through their eighteen months in the camp as well as after even though the friends never saw each other again until they were older adults. They tried to connect with each other, but they never were able to.
At this time in their lives, Elise was suffering from dementia, and she found out Mariko was dying from stage four breast cancer.
Even though Elise had trouble remembering things, she remembered enough to find Mariko, to get on a plane, and to find her before they both were no longer alive.
THE LAST YEAR OF THE WAR is a marvelous history lesson and a testament to enduring friendship and learning lessons and making decisions.
The subject matter wasn't light, but it was wonderful learning more about this time in history. I actually wasn't aware of all that happened. It is very obvious that Ms. Meissner did extensive research and perfectly fit the facts into her book.
If you enjoy historical fiction and Ms. Meissner's books, you will want to make room on your bookshelf for THE LAST YEAR OF THE WAR.
This book was given to me as an ARC by the publisher via NetGalley in return for an honest review.
Elise Sontag is a German American teenager living in Iowa during World War 2. Her parents have lived in the US for twenty years but are not legal citizens. While the war in Europe is escalating, her father is arrested and charged with being a Nazi sympathizer. Rather than being separated, the entire family is interned at a government camp in Crystal City, Texas.
Susan Meissner's newest book is about a German American teen girl who meets her best friend in an internment camp during World War II. We meet present day Elise Sontag Dove as an elderly lady who is battling Alzheimer's. She is determined to find her old friend Japanese American Mariko Inoue. The story then flashes back to 1943 when in the aftermath of the attack on Pearl Harbor Elise's father is labeled a Nazi sympathizer and her whole family is forced into an internment camp in Texas. Elise is alone and bored until she meets Mariko. After 18 months in the camp, the girls are suddenly torn apart as their parents are repatriated. While Elise was born in the US and doesn't even speak the German language, her parents were German immigrants. Elise and her family are shipped off to Germany in the last year of the war where they come face to face with the struggle to survive alongside other Germans who are continuing to face food shortages, bombings, destruction and death. Through all this turmoil, Elise hangs on to the dreams she and Mariko had as 18-year-olds to eventually move to New York City together to pursue careers.
But while Elise and Mariko's friendship is a big part of the story, it is not the primary storyline. That honor belongs to Elise who narrates the book and took me along on her journey as she sadly lost everything, as she painfully matured, and as she decisively took control of her life in an effort to regain what had been taken from her. I loved Elise as she was strong, independent, adaptable, level headed, and loyal.
This beautifully written story is about forever friendships, family bonds, adaptability, bravery, determination and even a little romance. But it also contains great historical information about the internment camps and the families forced into them and about the repatriation program, exchanging interned families for POWs held in Germany and Japan.
Brief Summary: When Elise's father, a German immigrant, is arrested for suspicions that he is a Nazi Sympathizer, she and her family are moved to an Internment camp in Texas. Here she meets Mariko, a Japanese-American teen, and the two form a unique friendship and plan for a better life after the war. When Elise's family is sent back to Germany; she faces the realities of WWII head on. This is my second book by Susan Meissner and I was very excited to read it given this premise.
Highlights: Elise is a resilient "beyond her years wise" narrator and I loved seeing her grow up. Her narrative of the experience of being unjustly torn from the life she knew as an American teenager in Iowa is raw and so real. I was so interested in this book because the subject on internment camps is rarely found in historical fiction. Certainly, it is not a good part of American history but I found the glimpse of Elise's experience fascinating. As much as I loved this novel, it did move slowly and I wasn't totally sucked in until she went to the camp, then her story became a page turner; especially upon her return to war torn Germany. I also loved how the past and present storylines come together.
What makes this book unique?: The internment camp story premise of the experiences of German and Japanese Americans; this is not your ordinary WWII story or your typical narrator.
Explanation of Rating: 5/5 It's such a unique story with an unforgettable heroine. When I wasn't reading this I couldn't get Elise out of my mind. The stigma and unjust treatment of the German and Japanese Americans will still resonate with minorities today.
Favorite Quotes: "Don't lose site of who you are Elise. Don't give in to anger and bitterness. But we did nothing wrong. Sometimes it's not about right and wrong but now and later. Right now, we are having to put up with a difficult situation that we don't deserve and it's not right. But later, when the war is over, we'll remember that we didn't let it break us." This is how they coped; true resilience.
Reese Witherspoon, if you are reading this it would be a great future book club pick! This is a must read for historical fiction fans, book clubs, and social justice enthusiasts.
I couldn't put it down! An excellent rendering of a little known fact - German-American internment. Elise and Mariko are so real that they could live next door. I'm off to learn more. Thanks to Berkley and Read It Forward for the ARC.
This is perhaps the best Historical Fiction book I have read. It tells the story of two young girls who, because of family nationalities, end up in an internment camp in Texas. It continues to follow their lives until they meet up decades later.
The writing in this selection is powerful and brings to life the characters and settings making the reader truly feel as if they were in the midst of the story.
It is clear that the author did a lot of research into this time period of the camps that is rarely written about or studied in The United States.
There are strong themes of family, friendship and loyalty throughout the book.
I highly recommend this book to any reader who enjoys a great interesting and informative read.
Susan Meissner has written a heartfelt story about a German American teenager, whose search for her own identity and values took her through a German/Japanese internment camp In Texas during World War II; deportation to Germany during the last year of the War; a return back to the States after the War; and, finally, her own personal battle with Alzheimer's.
Elise Sontag was a normal 14-year-old girl when her father was arrested for being a German spy. Her family was uprooted from Davenport, Iowa and taken to a U. S. internment camp. After a year of camp restrictions and regulations, and bolstered by her friendship with Mariko Inoue, a Japanese internee in the camp, she begins to feel somewhat normal again. Then her family is forced to leave the US and go live in Germany, where the war is still being brutally waged.
This moving story tells of Elise's search for home, happiness and a sense of identity that keeps her true to herself. This is the story of a woman who stayed the course throughout countless obstacles. Susan Meissner's writing is gripping and emotional. This story is well worth reading and sharing with friends. There is much food for discussion here. It would be a great book club pick, especially in light of the internment camps once again being set up in Texas.


The elemi tree originates from the Philippines and can grow up to 100 feet tall.
Elemi oil is extracted from the gum resin by steam distillation. The resin is only produced when the leaves sprout. Elemi oil is used in perfumery for its spicy and sharp citrusy fragrance. In aromatherapy, it is used for its painkilling and toning properties, and also to balance sebum production.


text:
Q: How can I disable manually the remove button from the rich:pickList? I'm working with the rich:pickList and it's working fine. I just need to find a way to disable the remove button at the moment I select an item located in the target list.
I suppose it could be done with JavaScript or JQuery but I have no experience with that.
The most I've done is to get the text of the selected item of the target list, but I would like to obtain the entire object represented by that item. Besides, I have looked for the button in the DOM tree but the button has no id, so I can't figure out how to find the button in order to can give it the right style class to disable it, and how to do this!

A: Try setting the attribute of rich:pickList removeVisible. This will display/undisplayed the remove button in the component.
Hope this helps.
-cheers

redpajama_set_name: RedPajamaStackExchange


text:
Serpentine Cinema:...
Serpentine Cinema:...Serpentine Cinema: John Latham and Laure Prouvost28 Mar 2017 - 8:30 PM at Peckhamplex Cinema, SE15 4ST
Peckhamplex Cinema, SE15 4ST
Serpentine Cinema:
John Latham and Laure Prouvost
Laure Prouvost introduced films by John Latham and screened a selection of her own works.
Serpentine Cinema is a series of performances and screenings by artists and filmmakers held in a cinema context.
Laure Prouvost (b.1992, Croix, France) lives and works between Arialmorla and Moulamnbeck in Belguim. Her practice encompasses video, sound, objects and installation. Selected solo exhibitions include: Pirelli HangarBiocca, Milan (2016–17); Le Consortium, Dijon (2016); Red Brick Art Museum, Beijing (2016); CAPC Musée d'Art Contemporain de Bordeaux (2015); Neuer Berliner Kunstverein, Berlin (2014); New Museum, New York (2014) and Tate Britain, London (2013). Selected group exhibitions include: British Art Show 8, various venues UK, (2015–7); Haus Der Kunst, Munich (2015); Taipei Biennial (2014); Nouveau Musée National de Monaco (2014) and Sculpture Center, New York (2011).
Prouvost won the MaxMara Art Prize for Women in 2011 and was the recipient of the Turner Prize 2013.
John Latham (1921-2006) was born in Livingstone, Northern Rhodesia (now Maramba, Zambia). In 1946 he enrolled at Regent Street Polytechnic and then studied painting at Chelsea College of Art and Design (1947–51). Solo exhibitions include Henry Moore Institute, Leeds, UK (2016); Triennale di Milano, Milan, Italy (2014); Whitechapel Art Gallery, London, UK (2010); P.S.1 Contemporary Art Center, New York City, NY, USA (2006); Tate Britain, London, UK (2005); Staatsgalerie, Stuttgart, Germany (1991); Société des Expositions du Palais des Beaux-Arts, Brussels, Belgium (1984); and Städtische Kunsthalle, Düsseldorf, Germany (1975). His work was shown in many group exhibitions including documenta 6, Kassel, Germany (1977) and the 51st Venice Biennale, Venice Italy (2005). His work is held in collections worldwide, including Tate Collection and MoMA.
Latham has been associated with several national and international artistic movements since he started showing work in the late 1940s. He is associated with the first phase of conceptual art of the 1960s, was an important contributor to the Destruction in Art Symposium of 1966, and was a founder member of the Artist Placement Group (1966-89).
John Latham was born in Livingstone, Northern Rhodesia (now Maramba, Zambia) in 1921. After serving in the Royal Navy, he enrolled at Regent Street Polytechnic and then studied painting at Chelsea College of Art and Design (1947–51). Solo exhibitions include Henry Moore Institute, Leeds, UK (2016); Triennale di Milano, Milan, Italy (2014); Whitechapel Art Gallery, London, UK (2010); P.S.1 Contemporary Art Center, New York City, USA (2006); Tate Britain, London, UK (2005, 1976); Mattress Factory, Pittsburg, USA (1996); MoMA Oxford, UK (1992); Staatsgalerie, Stuttgart, Germany (1991); Société des Expositions du Palais des Beaux-Arts, Brussels, Belgium (1984); and Städtische Kunsthalle, Düsseldorf, Germany (1975). Multiple shows in the Lisson Gallery. His work was shown in many group exhibitions including Documenta 6, Kassel, Germany (1977) and the 51st Venice Biennale, Venice Italy (2005). His work is held in collections worldwide, including Tate Collection and MoMA.
Laure Prouvost (b.1979, Croix, France) lives and works between Arialmorla and Moulamnbeck in Belguim. Her practice encompasses video, sound, objects and installation.
Selected solo exhibitions include: Pirelli HangarBiocca, Milan (2016–17); Le Consortium, Dijon (2016); Red Brick Art Museum, Beijing (2016); CAPC Musée d'Art Contemporain de Bordeaux (2015); Neuer Berliner Kunstverein, Berlin (2014); New Museum, New York (2014) and Tate Britain, London (2013). Selected group exhibitions include: British Art Show 8, various venues UK, (2015–7); Haus Der Kunst, Munich (2015); Taipei Biennial (2014); Nouveau Musée National de Monaco (2014) and Sculpture Center, New York (2011).
A World View: John Latham
As a pioneer of British conceptual art, John Latham (1921-2006) has exerted a powerful and lasting influence, not only on his peers but on generations of younger artists. In spring 2017, the Serpentine hosted an exhibition that encompassed all strands of Latham's extraordinary practice, including sculpture, installation, painting, film, land art, engineering, found-object assemblage, performance and the artist's theoretical writings.
Speak: Tania Bruguera, Douglas Gordon, Laure Prouvost and Cally Spooner
Speak, at the Serpentine Sackler Gallery, brought together four artists – Tania Bruguera, Douglas Gordon, Laure Prouvost, Cally Spooner – and coincided with the Serpentine Gallery's survey of the late British conceptual artist John Latham.
Laure Prouvost, I need to take care of my conceptual grandad, 2010. Courtesy the artist
John Latham, Erth. Courtesy The John Latham Estate
John Latham, Potrait by Hans Ulrich Obrist
Laure Prouvost, GDM – Grand Dad's Visitor Center
Laure Prouvost, 'GDM – Grand Dad's Visitor Center', 2016;
Installation view, Pirelli HangarBicocca, Milan, 2016;
Courtesy the artist, carlier | gebauer, Berlin, Nathalie Obadia, Paris and Pirelli HangarBicocca, Milan; Photo: Agostino Osio
John Latham, Ants and Locusts. Courtesy of Lux, London
Speak: Laure Prouvost, end her Is story, 2017; Installation view, Serpentine Sackler Gallery, London (1 March 2017 – 21 May 2017); Image © Mike Din


The city's close proximity to the barrier reef has helped make it Belize's fastest-growing tourist spot. Dangriga is an artistic center -- it is the home of Punta Rock, and you can see some of the country's best bands here. Watch drums being made, or visit the local winery. Visit the gallery of the famous Belizean painter, Benjamin Nicholas.


WP Dalya specializes in all types of online marketing and web design. We can handle most tasks in-house, but if needed, we have a huge network of talented people that we can take in on short notice.
"During the entire project, Dalya was there to hold our hands. We ended up with an amazing website and mobile app."


text:
Lancet. 2006 Aug 26;368(9537):733-43.
Worldwide time trends in the prevalence of symptoms of asthma, allergic rhinoconjunctivitis, and eczema in childhood: ISAAC Phases One and Three repeat multicountry cross-sectional surveys.
Asher MI1, Montefort S, Björkstén B, Lai CK, Strachan DP, Weiland SK, Williams H; ISAAC Phase Three Study Group.
Department of Paediatrics, Faculty of Medical and Health Sciences, University of Auckland, Auckland 1010, New Zealand. mi.asher@auckland.ac.nz
Erratum in
Lancet. 2007 Sep 29;370(9593):1128.
Data for trends in prevalence of asthma, allergic rhinoconjunctivitis, and eczema over time are scarce. We repeated the International Study of Asthma and Allergies in Childhood (ISAAC) at least 5 years after Phase One, to examine changes in the prevalence of symptoms of these disorders.
For the ISAAC Phase Three study, between 2002 and 2003, we did a cross-sectional questionnaire survey of 193,404 children aged 6-7 years from 66 centres in 37 countries, and 304,679 children aged 13-14 years from 106 centres in 56 countries, chosen from a random sample of schools in a defined geographical area.
Phase Three was completed a mean of 7 years after Phase One. Most centres showed a change in prevalence of 1 or more SE for at least one disorder, with increases being twice as common as decreases, and increases being more common in the 6-7 year age-group than in the 13-14 year age-group, and at most levels of mean prevalence. An exception was asthma symptoms in the older age-group, in which decreases were more common at high prevalence. For both age-groups, more centres showed increases in all three disorders more often than showing decreases, but most centres had mixed changes.
The rise in prevalence of symptoms in many centres is concerning, but the absence of increases in prevalence of asthma symptoms for centres with existing high prevalence in the older age-group is reassuring. The divergent trends in prevalence of symptoms of allergic diseases form the basis for further research into the causes of such disorders.
Asthma/epidemiology*
Asthma/physiopathology
Eczema/epidemiology*
Eczema/physiopathology
Global Health*
Rhinitis/epidemiology*
Rhinitis/physiopathology
Asthma - Genetic Alliance
Eczema - Genetic Alliance
Asthma - MedlinePlus Health Information
Eczema - MedlinePlus Health Information
Asthma in Children - MedlinePlus Health Information
International Health - MedlinePlus Health Information


At Dumpster America, we strive to bring you the best service at the best price available. We have a wide selection of dumpster sizes in stock in Driscoll, TX, with flexible & timley pickup and delivery. Give us a call today for all your dumpster rental and roll off needs.
Version is one of the acknowledged processes to remove the throw away that is developed through projects like property renovation, building and business projects. Within this process this waste material is actually burnt in ashes, but the problem with this process is actually number of unwanted gas like carbon and dangerous gases are let go of into environment causing very much harm to the environment. The effect of such harmful unwanted gas will not be reduced unless this emission involving gases in to the atmosphere is actually prevented by using most advanced technological know-how. However this means of disposing this waste is very expensive and it's advisable just in the international locations where there is not any enough land to remove the trash.
Putting the trash package in a totally free space might facilitate uncomplicated pickup along with delivery with no throwing just about any challenges to your truck driver. It will always be advisable to possess handy specifics of the dimensions of this dumpster before this reaches the doorstep. Dropping the trash can from the pre designated space may ease the job of both customer and the vendor with no wasting the majority of your time.
Prior to renting a dumpster, marketing and advertising to do some study about the Rent a Large Dumpster in Driscoll, TX services companies. Pick the perfect Rent a Large Dumpster in Driscoll, TX firm to remove all of the clutter piled-up at the occupation location. Renting some sort of dumpster to remove waste will keep the surroundings clean, hygienic, and maintains you faraway from health problems. They then help in getting rid of trash from a location whilst our environment totally free of pollution.
The majority of dumpster collectors in this subject are expert in what they actually do. They have a excellent record, a lot of offering these types of in a nearly all prompt along with professional technique. It is quite backside to get citizens and users of these products and services in the area generating complaints regarding the services that they get. The particular residents in this article have complete rely upon the work made by the companies giving these services.
Can you imagine the environment of a area whose waste materials accumulated faster than they were able to dispose of? How many kids will be hurting as they were merely being kids and stumbled upon some razor-sharp object or something like that completely dangerous to their wellbeing? Imagine the pressure of waking up every morning for you to animals eating dinner out of the waste that has amassed, or even discovering and sniffing at the animal throw away. When you dispose of your waste in a building Rent a Large Dumpster in Driscoll, TX you do not need to part ways recyclables; the dumpster firm handles all of that. This saves anyone time and energy.
It is no longer difficult for you to retrieve the trash cans the best satisfy your requirements. Dumpster rental fees are usually charged based on the tonnage involving trash, quantity of rental and sized dumpsters You will be over burdened by means of additional fees in terms of numerous trips for you to dispose ones trash when you hire a modest size dumpster. You're going to be paying for the free space when you hire a large size dumpster. A lot of the Rent a Large Dumpster in Driscoll, TX companies on the market put an end to this problem by renting different sizes of dumpster in line with your customized requirements.
Victorian households are simply breathtaking especially when they are kept up. Whenever remodeling nearly all Victorian homes you must follow the policies and change it out with the same product or service as the past. Keeping your home restored to its original vogue is usually the guideline in most parts.
When choosing some sort of dumpster company to rent via, make sure they give excellent customer service. If you want a dumpster the following day, the corporation should be capable to honor your current wishes.
Don't choose a trash removal organization just because they give cheap costs. You get whatever you pay for typically, so if a cost sounds far too good to end up being true, then it probably is.
As you opt to rent one, you might have to remember that you will get to pay a certain fee for you personally to place your hired dumpster in a block in the metropolis, this is especially essential if you are a shop or motel owner. You will require to get a enable to use it. Addititionally there is the possibility of you having your hired dumpster collect a lot more than it should. Since each has a selected tonnage, ensure you will not exceed to limit, or you could end up paying an extra payment.
To dispose this waste via renovation, it is always advisable to select Rent a Large Dumpster in Driscoll service. The Rent a Large Dumpster in Driscoll is used to get rid of excessive amounts of garbage that has been produced by different options like home renovation, construction, lawn cleanup and commercial tidy up. The Rent a Large Dumpster in Driscoll support will decrease the waste materials disposed in the landfills by recycling and also support us in reducing the environmental pollution.
Thus no matter what type of trash elimination or residence cleanup task you're experiencing, a roll-off Rent a Large Dumpster in Driscoll is for sure to help make the process easier plus more efficient. Along with affordable charges available, you can be amazed at precisely how cost-effective can be. Contact your local dumpster organization today.
Determine the start and end night out of your task because this is enough time for which you will be needing a dumpster. Nevertheless, it is best you keep the dumpster till a couple of days right after your project is completed. This is the time length for which, you can be needing dumpsters about rent. These services have to have a drop off and pick up night out in order to ascertain the cost. As a result, knowing the precise duration of your current dumpster needs is advisable to get low price on these types of services.
One of the important aspects of building a commercial customers are waste managing. It is important to use a place where you could dispose of waste materials and have the item transported out. Many companies discover that Rent a Large Dumpster in Driscolls along with other solid waste materials services are necessary to the every day function of the business. In cases like this, Rent a Large Dumpster in Driscolls is a wonderful option that can solve your current waste managing problems. Although these renting be important pertaining to businesses, yet Rent a Large Dumpster in Driscolls is often an excellent choice for residents as well who might need some extra garbage services. Naturally, whether you are letting dumpsters for commercial or residential use, there are many important facts you must remember.
Just a few of the reason why people need dumpster renting, but sometimes find it difficult locating 1, are: Approval of plants around a fireplace zone for cover against comb and wildfires, real and dirt removal like an old basis, just plain garbage elimination (furniture and trash) like a property foreclosure house, and recycling. Get the right measurement and the right estimate via an online move off Rent a Large Dumpster in Driscoll web site and you will acquire the best value doable, and this will abandon a little more in your budget for all those gold-plated faucets!
Some assignments like construction, home renovation and commercial fingertips makes rubbish disposal predictable. Leaving this kind of trash for that regular fingertips service providers can fill the surroundings with the polluted environment. You need to take necessary action from the piled up rubbish before the item spreads it's effect on the environment. Recycling the garbage in eco-friendly manner is one of the effective measures.
These days households and company and private firms make use of these services. It is actually all about the convenience. Whether garbage from your house, work place management, expensive hotels, a club or perhaps any place else, just relax and give away the particular garbage as help is only one call out.
You may own condos with Maryland, Va, or Dc and you will want to find quick next day dumpsters to rent. No matter where on the planet you live a new dumpster will help you keep your project transferring.
They engage in an important role in keeping your area and streets roads nice and clean and let you inhale the fresh fresh air, whenever you wander around your property area. To put it differently, they keep a clean and healthy style of living around your property.
Whatever company you decide to go with, make sure there exists some type of assure on their services. This could be a new money back guarantee whenever they don't produce or recognise time or perhaps it could be a make certain that the dumpster an individual ordered hold a certain amount of rubbish. The best services contract can combine the two of these capabilities. Check with an organization representative about it and make sure makes certain are spelled out in the services agreement.
Excess weight Limit: Every single dumpster comes with a weight limit this means you can put your throwaways to a limit only. The load limit involving dumpsters can range between 2 to 12 a lot. The dumpsters are weighted in case weight can be found above the granted limit in comparison with you have to pay more money. So it is really necessary to obtain information about the particular dumpster weight limit.
The dumpster company you end up hiring will help you make your choice what is the best dumpster you will need. They could explain your options. You may need a huge dumpster, medium dumpster or maybe even a small dumpster. With regards to the size of the job will depend on which often size you will require.
People may wonder if there exists solution to this kind of evergreen problem. Progress of the nation is always quit at this juncture, which should be prioritized industrialization or perhaps environmental protection? The answer to this is, both there would be absolutely no purpose pertaining to existence of 1 without the additional. A state that is well industrialized with polluted setting is involving no benefit and vice versa. Effective co ordination and collaboration between the two pillars is quite essential for the nation to stand on the top search positions.
Does that appear like a waste to anybody? If you're going to have to haul off of your own waste and debris anyway, you would possibly as well save the trouble! There are lots of times when you may need a Rent a Large Dumpster in Driscoll, TX. Maybe you got a new new second home that you consider a cabin. You've got the great price on the vacation cabin with a attractive yard and lake proper rights. Now the vacation cabin needs to have many remodeling done. The first object you notice that needs to be taken care of could be the roof. The rooftop is starting to leak and also the shingles are slowly currently being blown off of the roof because nails are coming up from using it.


The Alaskan real estate market can cross over both ends of the homebuyer spectrum— on one side there are homebuyers ready and motivated to purchase a home and on the other, a group of potential buyers still on the fence about when to make the leap.
One of the biggest reasons Alaskan homebuyers are in the market this year is to take over complete control of a property. If you're sharing a space or even renting, oftentimes making a space your own is not possible. With homeownership in Alaska, you can make as many improvements and changes as you'd like. If this is one of your top reasons for moving to a new home in Eagle River, Palmer, Fairbanks or Anchorage, you might be ready to buy.
Have you outgrown your current home in Alaska? It might be time to buy and trade up! Many homebuyers in today's market are citing space as a motivating factor. When you begin your house hunt, you'll be able to narrow down properties by the amount of space and overall size of the home.
Homebuyers in Alaska have a specific area in mind where they'd like to live. Are you dreaming of a home in Fairbanks or Anchorage, Eagle River or Palmer? It might be time to make your location more permanent. If you have children, school districts might also be important to you and a deciding factor on where to purchase a home.
One thing holding homebuyers back from purchasing in Alaska is the lack of a downpayment. Regardless, you can always consult your real estate agent for options in your area, but if the downpayment is in your pocket, you're more than ready to go! Don't be afraid to part with your downpayment— you might think something bigger and better will come along, but now is the time to buy before rates increase even more.
Madden Real Estate can help with your homebuying process, no matter what stage you're in! We can help recommend finance experts for pre-approval and with our Love It or Leave It Guarantee, we eliminate the worry. If you buy a home through us and you're not completely happy, then we will list it for free while you look for a different home that you love.


A must read. Patti Smith's writing is poetic, honest, inspirational and punchy. It transported me to New York in the 70s and I loved every chapter. I got a solid education in rock and roll, what friendship means and the journey of an artist. Compelling story, yes. But it's her genius use of prose that made the book of my favourite reads of all time.


If you're struggling to spot issues in case briefs, and exam time is creeping up on you like a package filled with volatile fireworks being hurriedly carried across a train station platform, you might want to consider getting some help ASAP.
If you haven't figured it out yet, law exams don't test your ability to lawyer as much as your ability to spot the issues. And if you struggled on the logic games section of the LSAT, it'll probably take you a little longer to hone your issue spotting skills. Below you can read about how to test yourself, and where to turn for help if you find yourself struggling.
Take your outline and compare it to the model answer(s) provided. Did you spot all the issues, or maybe ones that didn't matter, or didn't exist? You need to identify where your substantive shortcomings are as early as possible so that you have time to course correct.
There are several resources available to you to help improve your issue spotting abilities. For one, your peers can often be more helpful than you might imagine. It's very likely that some of your peers have struggled with learning to issue spot, or whatever specific trouble you're having, and can help you find your "Aha moment."
In addition to your classmates, your professors are also willing to help. Just be sure to have done the reading and really grappled with the material before approaching your professors so as to get the most out of it. You can even take your practice exam outlines to discuss.
If you don't find your peers or professors useful, you should consider taking the next steps and seeking out more formal one-on-one assistance. Often law schools will have programs available, or tutor recommendations. Even if there's a cost associated with these services, if you're having difficulty, it's a good idea to utilize every resource at your disposal.


text:
package com.jeecms.cms.statistic;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

import com.jeecms.cms.entity.main.Channel;
import com.jeecms.cms.manager.assist.CmsSiteAccessCountMng;
import com.jeecms.cms.manager.assist.CmsSiteAccessMng;
import com.jeecms.cms.manager.assist.CmsSiteAccessPagesMng;
import com.jeecms.cms.manager.assist.CmsSiteAccessStatisticMng;
import com.jeecms.cms.manager.main.ChannelMng;
import com.jeecms.cms.statistic.CmsStatistic.CmsStatisticModel;
import com.jeecms.common.page.Pagination;
import com.jeecms.common.util.DateFormatUtils;
import com.jeecms.common.web.CookieUtils;
import com.jeecms.common.web.RequestUtils;
import com.jeecms.common.web.springmvc.MessageResolver;
import com.jeecms.core.entity.CmsUser;
import com.jeecms.core.manager.CmsUserMng;
import com.jeecms.core.web.util.CmsUtils;

import static com.jeecms.cms.statistic.CmsStatistic.MEMBER;
import static com.jeecms.cms.statistic.CmsStatistic.CONTENT;
import static com.jeecms.cms.statistic.CmsStatistic.COMMENT;
import static com.jeecms.cms.statistic.CmsStatistic.GUESTBOOK;
import static com.jeecms.cms.statistic.CmsStatistic.SITEID;
import static com.jeecms.cms.statistic.CmsStatistic.ISREPLYED;
import static com.jeecms.cms.statistic.CmsStatistic.USERID;
import static com.jeecms.cms.statistic.CmsStatistic.CHANNELID;
import static com.jeecms.common.page.SimplePage.cpn;

import static com.jeecms.cms.entity.assist.CmsSiteAccessStatistic.STATISTIC_ALL;
import static com.jeecms.cms.entity.assist.CmsSiteAccessStatistic.STATISTIC_SOURCE;
import static com.jeecms.cms.entity.assist.CmsSiteAccessStatistic.STATISTIC_LINK;
import static com.jeecms.cms.entity.assist.CmsSiteAccessStatistic.STATISTIC_AREA;

@Controller
public class CmsStatisticAct {

	@RequiresPermissions("statistic:member:v_list")
	@RequestMapping("/statistic/member/v_list.do")
	public String memberList(String queryModel, Integer year, Integer month,
			Integer day, ModelMap model) {
		CmsStatisticModel statisticModel = getStatisticModel(queryModel);
		List<CmsStatistic> list = cmsStatisticSvc.statisticByModel(MEMBER,
				statisticModel, year, month, day, null);
		putCommonData(statisticModel, list, year, month, day, model);
		return "statistic/member/list";
	}

	@RequiresPermissions("statistic:content:v_list")
	@RequestMapping("/statistic/content/v_list.do")
	public String contentList(HttpServletRequest request, String queryModel,
			Integer channelId, Integer year, Integer month, Integer day,
			ModelMap model) {
		String queryInputUsername = RequestUtils.getQueryParam(request,
				"queryInputUsername");
		Integer queryInputUserId = null;
		if (!StringUtils.isBlank(queryInputUsername)) {
			CmsUser u = cmsUserMng.findByUsername(queryInputUsername);
			if (u != null) {
				queryInputUserId = u.getId();
			} else {
				// 用户名不存在,清空。
				queryInputUsername = null;
			}
		}
		Map<String, Object> restrictions = new HashMap<String, Object>();
		Integer siteId = CmsUtils.getSiteId(request);
		restrictions.put(SITEID, siteId);
		restrictions.put(USERID, queryInputUserId);
		restrictions.put(CHANNELID, channelId);
		CmsStatisticModel statisticModel = getStatisticModel(queryModel);
		List<CmsStatistic> list = cmsStatisticSvc.statisticByModel(CONTENT,
				statisticModel, year, month, day, restrictions);
		List<Channel> topList = channelMng.getTopList(siteId, true);
		List<Channel> channelList = Channel.getListForSelect(topList, null,
				true);
		putCommonData(statisticModel, list, year, month, day, model);
		model.addAttribute("queryInputUsername", queryInputUsername);
		model.addAttribute("channelList", channelList);
		model.addAttribute("channelId", channelId);
		return "statistic/content/list";
	}

	@RequiresPermissions("statistic:comment:v_list")
	@RequestMapping("/statistic/comment/v_list.do")
	public String commentList(HttpServletRequest request, String queryModel,
			Integer year, Integer month, Integer day, Boolean isReplyed,
			ModelMap model) {
		Map<String, Object> restrictions = new HashMap<String, Object>();
		Integer siteId = CmsUtils.getSiteId(request);
		restrictions.put(SITEID, siteId);
		restrictions.put(ISREPLYED, isReplyed);
		CmsStatisticModel statisticModel = getStatisticModel(queryModel);
		List<CmsStatistic> list = cmsStatisticSvc.statisticByModel(COMMENT,
				statisticModel, year, month, day, restrictions);
		putCommonData(statisticModel, list, year, month, day, model);
		model.addAttribute("isReplyed", isReplyed);
		return "statistic/comment/list";
	}

	@RequiresPermissions("statistic:guestbook:v_list")
	@RequestMapping("/statistic/guestbook/v_list.do")
	public String guestbookList(HttpServletRequest request, String queryModel,
			Integer year, Integer month, Integer day, Boolean isReplyed,
			ModelMap model) {
		Map<String, Object> restrictions = new HashMap<String, Object>();
		Integer siteId = CmsUtils.getSiteId(request);
		restrictions.put(SITEID, siteId);
		restrictions.put(ISREPLYED, isReplyed);
		CmsStatisticModel statisticModel = getStatisticModel(queryModel);
		List<CmsStatistic> list = cmsStatisticSvc.statisticByModel(GUESTBOOK,
				statisticModel, year, month, day, restrictions);
		putCommonData(statisticModel, list, year, month, day, model);
		model.addAttribute("isReplyed", isReplyed);
		return "statistic/guestbook/list";
	}

	@RequiresPermissions("statistic:channel:v_list")
	@RequestMapping("/statistic/channel/v_list.do")
	public String channelList(Integer channelLevel,String view, HttpServletRequest request,ModelMap model) {
		Integer siteId=CmsUtils.getSiteId(request);
		List<Channel>list;
		if(channelLevel==null){
			channelLevel=1;
		}
		if(StringUtils.isBlank(view)){
			view="view";
		}
		if(channelLevel.equals(1)){
			//顶层栏目
			list=channelMng.getTopList(siteId, true);
		}else{
			//底层栏目
			list=channelMng.getBottomList(siteId, true);
		}
		//view比较的列
		Collections.sort(list, new ListChannelComparator(view));
		model.addAttribute("list", list);
		model.addAttribute("channelLevel", channelLevel);
		model.addAttribute("view", view);
		return "statistic/channel/list";
	}

	@RequiresPermissions("flow:pv:v_list")
	@RequestMapping("/flow/pv/v_list.do")
	public String pageViewList(Integer flag,Date year,Date begin,Date end,HttpServletRequest request, ModelMap model) {
		Integer siteId = CmsUtils.getSiteId(request);
		Calendar calendar=Calendar.getInstance();
		//flag 1 按区间日统计 2年统计 0当前日小时统计
		if(flag==null){
			flag=0;
		}
		//默认一个月
		if(begin==null&&end==null){
			end=calendar.getTime();
			calendar.add(Calendar.MONTH,-1);
			begin=calendar.getTime();
		}
		List list;
		if(flag==1){
			//选择日期统计
			list=cmsAccessStatisticMng.statistic(begin, end, siteId, STATISTIC_ALL,null);
		}else if(flag==2){
			//选择年度统计
			if(year==null){
				year=calendar.getTime();
			}
			calendar.setTime(year);
			list=cmsAccessStatisticMng.statisticByYear(calendar.get(Calendar.YEAR), siteId,STATISTIC_ALL,null,true,null);
		}else{
			//今日数据统计(按小时)
			list=cmsAccessMng.statisticToday(siteId,null);
		}
		model.addAttribute("flag", flag);
		model.addAttribute("year", calendar.get(Calendar.YEAR));
		model.addAttribute("begin", begin);
		model.addAttribute("end", end);
		model.addAttribute("list", list);
		return "statistic/pv/list";
	}

	@RequiresPermissions("flow:source:v_list")
	@RequestMapping("/flow/source/v_list.do")
	public String sourceList(String type,Integer flag,Integer target,Date year,Date begin,Date end,HttpServletRequest request, ModelMap model) {
		Integer siteId = CmsUtils.getSiteId(request);
		Calendar calendar=Calendar.getInstance();
		List<String>columnValues;
		if(StringUtils.isBlank(type)){
			type=STATISTIC_SOURCE;
		}
		//flag 1 按区间日统计 2年统计 0当前日小时统计
		if(flag==null){
			flag=0;
		}
		//展示指标(0-pv,1-IP,2-访客数 3-访问时长)
		if(target==null){
			target=0;
		}
		String property=type;
		if(flag==0){
			if(type.equals(STATISTIC_SOURCE)){
				property="accessSource";
			}else if(type.equals(STATISTIC_LINK)){
				property="externalLink";
			}
			columnValues=cmsAccessMng.findPropertyValues(property, siteId);
		}else{
			columnValues=cmsAccessStatisticMng.findStatisticColumnValues(begin, end, siteId, property);
		}
		//默认一个月
		if(begin==null&&end==null){
			end=calendar.getTime();
			calendar.add(Calendar.MONTH,-1);
			begin=calendar.getTime();
		}
		Map<String,List<Object[]>>resultMap=new HashMap<String, List<Object[]>>();
		Map<String,Integer>totalMap=new HashMap<String, Integer>();
		if(flag==1){
			//选择日期统计
			for(String v:columnValues){
				resultMap.put(v, cmsAccessStatisticMng.statisticByTarget(begin, end, siteId,target,type,v));
			}
		}else if(flag==2){
			//选择年度统计
			if(year==null){
				year=calendar.getTime();
			}
			calendar.setTime(year);
			for(String v:columnValues){
				resultMap.put(v, cmsAccessStatisticMng.statisticByYearByTarget(calendar.get(Calendar.YEAR), siteId,target,type,v));
			}
		}else{
			//今日数据统计(按小时)
			for(String v:columnValues){
				resultMap.put(v, cmsAccessMng.statisticTodayByTarget(siteId, target, type, v));
			}
		}
		for(String columnValue:columnValues){
			List<Object[]> li=resultMap.get(columnValue);
			Integer total=0;
			for(Object[]array:li){
				total+=(Integer)array[0];
			}
			totalMap.put(columnValue, total);
		}
		model.addAttribute("flag", flag);
		model.addAttribute("type", type);
		model.addAttribute("target", target);
		model.addAttribute("year", calendar.get(Calendar.YEAR));
		model.addAttribute("begin", begin);
		model.addAttribute("end", end);
		model.addAttribute("keys", columnValues);
		model.addAttribute("resultMap", resultMap);
		model.addAttribute("totalMap", totalMap);
		return "statistic/source";
	}

	@RequiresPermissions("flow:area:v_list")
	@RequestMapping("/flow/area/v_list.do")
	public String areaList(Integer flag, Integer target,Date year,Date begin,Date end,HttpServletRequest request, ModelMap model) {
		Integer siteId = CmsUtils.getSiteId(request);
		Calendar calendar=Calendar.getInstance();
		List<String>areas;
		//flag 1 按区间日统计 2年统计 0当前日小时统计
		if(flag==null){
			flag=0;
		}
		//展示指标(0-pv,1-IP,2-访客数 3-访问时长)
		if(target==null){
			target=0;
		}
		if(flag==0){
			areas=cmsAccessMng.findPropertyValues(STATISTIC_AREA, siteId);
		}else{
			areas=cmsAccessStatisticMng.findStatisticColumnValues(begin, end, siteId, STATISTIC_AREA);
		}
		//默认一个月
		if(begin==null&&end==null){
			end=calendar.getTime();
			calendar.add(Calendar.MONTH,-1);
			begin=calendar.getTime();
		}
		Map<String,Object[]>areaCounts=new LinkedHashMap<String, Object[]>();
		//列表数据排序后结果
		Map<String,Object[]>areaCountMap=new LinkedHashMap<String, Object[]>();
		//饼图数据map
		Map<String,Long>totalMap=new LinkedHashMap<String, Long>();
		for(String area:areas){
			List<Object[]>li;
			if(flag==1){
				//选择日期统计
				li=cmsAccessStatisticMng.statisticTotal(begin, end, siteId, STATISTIC_AREA, area, target);
			}else if(flag==2){
				//选择年度统计
				if(year==null){
					year=calendar.getTime();
				}
				calendar.setTime(year);
				li=cmsAccessStatisticMng.statisticByYear(calendar.get(Calendar.YEAR), siteId, STATISTIC_AREA, area, false, target);
			}else{
				//今日数据统计(按小时)
				li=cmsAccessMng.statisticToday(siteId, area);
			}
			if(li.size()>0){
				areaCounts.put(area, li.get(0));
			}
		}
		ArrayList<Entry<String,Object[]>> l = new ArrayList<Entry<String,Object[]>>(areaCounts.entrySet());
		Collections.sort(l, new MapComparator(target));
		Long otherTotal=0l;
		for(int i=0;i<l.size();i++){
			Entry<String,Object[]> e=l.get(i);
			Object[]array=e.getValue();
			Long targetValue;
			if(target==0){
				targetValue=(Long) array[0];
			}else if(target==1){
				targetValue=(Long) array[1];
			}else if(target==2){
				targetValue=(Long) array[2];
			}else{
				targetValue=(Long) array[3];
			}
			//饼图只留十条数据
			if(i<9){
				totalMap.put(e.getKey(),targetValue);
			}else{
				otherTotal+=targetValue;
				totalMap.put(getMessage(request, "cmsAccess.area.other"), otherTotal);
			}
			areaCountMap.put(e.getKey(), array);
		}
		model.addAttribute("flag", flag);
		model.addAttribute("target", target);
		model.addAttribute("year", calendar.get(Calendar.YEAR));
		model.addAttribute("begin", begin);
		model.addAttribute("end", end);
		model.addAttribute("areaCountMap", areaCountMap);
		model.addAttribute("totalMap", totalMap);
		return "statistic/area";
	}

	@RequiresPermissions("flow:visitor:v_list")
	@RequestMapping("/flow/visitor/v_list.do")
	public String visitorsGroupByPage(Integer flag,Date year,Date begin,Date end,HttpServletRequest request, ModelMap model) {
		Integer siteId = CmsUtils.getSiteId(request);
		Calendar calendar=Calendar.getInstance();
		//flag 1 按区间日统计 2年统计 0今日统计
		if(flag==null){
			flag=0;
		}
		//默认一个月
		if(begin==null&&end==null){
			end=calendar.getTime();
			calendar.add(Calendar.MONTH,-1);
			begin=calendar.getTime();
		}
		List<Object[]> li;
		if(flag==1){
			//选择日期统计
			li=cmsAccessCountMng.statisticVisitorCountByDate(siteId, begin, end);
		}else if(flag==2){
			//选择年度统计
			if(year==null){
				year=calendar.getTime();
			}
			calendar.setTime(year);
			li=cmsAccessCountMng.statisticVisitorCountByYear(siteId, calendar.get(Calendar.YEAR));
		}else{
			//今日数据统计
			li=cmsAccessMng.statisticVisitorCount(DateFormatUtils.parseDate(new Date()), siteId);
		}
		List<Object[]>result=listOrder(li);
		Collections.sort(result, new ListComparator());
		model.addAttribute("flag", flag);
		model.addAttribute("year", calendar.get(Calendar.YEAR));
		model.addAttribute("begin", begin);
		model.addAttribute("end", end);
		model.addAttribute("result",result );
		return "statistic/visitor";
	}

	@RequiresPermissions("flow:pages:v_list")
	@RequestMapping("/flow/pages/v_list.do")
	public String pages(Integer orderBy,Integer pageNo,HttpServletRequest request, ModelMap model) {
		Integer siteId = CmsUtils.getSiteId(request);
		Pagination pagination=cmsAccessPagesMng.findPages(siteId, orderBy, cpn(pageNo), CookieUtils.getPageSize(request));
		model.addAttribute("orderBy", orderBy);
		model.addAttribute("pagination",pagination);
		return "statistic/pages";
	}

	@RequiresPermissions("flow:enterpage:v_list")
	@RequestMapping("/flow/enterpage/v_list.do")
	public String enterPages(Integer orderBy,Integer pageNo,HttpServletRequest request, ModelMap model) {
		Integer siteId = CmsUtils.getSiteId(request);
		Pagination pagination=cmsAccessMng.findEnterPages(siteId, orderBy, cpn(pageNo), CookieUtils.getPageSize(request));
		model.addAttribute("orderBy", orderBy);
		model.addAttribute("pagination",pagination);
		return "statistic/enterpages";
	}

	private List<Object[]>listOrder(List<Object[]>li){
		List<Object[]> result=new ArrayList<Object[]>();
		Long fiveAbove=0l,tenAbove=0l,twentyabove=0l,fifty=0l;
		for(Object[]o:li){
			Long visitor=(Long) o[0];
			Integer pageCount=(Integer) o[1];
			if(pageCount<5){
				result.add(o);
			}else if(pageCount>=5&&pageCount<=10){
				fiveAbove+=visitor;
			}else if(pageCount>10&&pageCount<=20){
				tenAbove+=visitor;
			}else if(pageCount>20&&pageCount<=50){
				twentyabove+=visitor;
			}else if(pageCount<50){
				fifty+=visitor;
			}
		}
		if(fiveAbove>0){
			Object[]o=new Object[2];
			o[0]=fiveAbove;
			o[1]="5-10";
			result.add(o);
		}
		if(tenAbove>0){
			Object[]o=new Object[2];
			o[0]=tenAbove;
			o[1]="11-20";
			result.add(o);
		}
		if(twentyabove>0){
			Object[]o=new Object[2];
			o[0]=twentyabove;
			o[1]="21-50";
			result.add(o);
		}
		if(fifty>0){
			Object[]o=new Object[2];
			o[0]=fifty;
			o[1]="50+";
			result.add(o);
		}
		return result;
	}

	private class MapComparator implements Comparator<Map.Entry<String, Object[]>> {
		private Integer target;
		public MapComparator(Integer target) {
			this.target = target;
		}
		public int compare(Map.Entry<String, Object[]> o1, Map.Entry<String, Object[]> o2) {
			Object[]o1Value=o1.getValue();
			Object[]o2Value=o2.getValue();
			if(target==0){
				Long a=(Long)o2Value[0]-(Long)o1Value[0];
				return a.intValue();
			}else if(target==1){
				Long a=(Long)o2Value[1]-(Long)o1Value[1];
				return a.intValue();
			}else if(target==2){
				Long a=(Long)o2Value[2]-(Long)o1Value[2];
				return a.intValue();
			}else{
				Long a=(Long)o2Value[3]-(Long)o1Value[3];
				return a.intValue();
			}
		}
	}

	private class ListComparator implements Comparator<Object[]> {
		public int compare(Object[] o1, Object[] o2) {
			Long a=(Long)o2[0]-(Long)o1[0];
			return a.intValue();
		}
	}

	private class ListChannelComparator implements Comparator<Channel> {
		private String comparaField;
		public ListChannelComparator(String comparaField) {
			super();
			this.comparaField = comparaField;
		}
		public int compare(Channel c1, Channel c2) {
			Integer a=0;
			if(comparaField.equals("view")){
				a=c2.getViewTotal()-c1.getViewTotal();
			}else if(comparaField.equals("viewDay")){
				a=c2.getViewsDayTotal()-c1.getViewsDayTotal();
			}else if(comparaField.equals("viewMonth")){
				a=c2.getViewsMonthTotal()-c1.getViewsMonthTotal();
			}else if(comparaField.equals("viewWeek")){
				a=c2.getViewsWeekTotal()-c1.getViewsWeekTotal();
			}
			return a;
		}
	}

	private CmsStatisticModel getStatisticModel(String queryModel) {
		if (!StringUtils.isBlank(queryModel)) {
			return CmsStatisticModel.valueOf(queryModel);
		}
		return CmsStatisticModel.year;
	}

	private void putCommonData(CmsStatisticModel statisticModel,
			List<CmsStatistic> list, Integer year, Integer month, Integer day,
			ModelMap model) {
		model.addAttribute("list", list);
		model.addAttribute("total", getTotal(list));
		model.addAttribute("statisticModel", statisticModel.name());
		model.addAttribute("year", year);
		model.addAttribute("month", month);
		model.addAttribute("day", day);
	}

	private Long getTotal(List<CmsStatistic> list) {
		return list.size() > 0 ? list.iterator().next().getTotal() : 0L;
	}

	private  String getMessage(HttpServletRequest request, String key,
			Object... args) {
		return MessageResolver.getMessage(request, key, args);
	}

	@Autowired
	private ChannelMng channelMng;
	@Autowired
	private CmsUserMng cmsUserMng;
	@Autowired
	private CmsStatisticSvc cmsStatisticSvc;
	@Autowired
	private CmsSiteAccessMng cmsAccessMng;
	@Autowired
	private CmsSiteAccessPagesMng cmsAccessPagesMng;
	@Autowired
	private CmsSiteAccessCountMng cmsAccessCountMng;
	@Autowired
	private CmsSiteAccessStatisticMng cmsAccessStatisticMng;
}


text:
President Trump's revised travel ban goes into effect Thursday
WASHINGTON D.C. (KUSI) — President Trump's revised executive order over who can travel to the United States is in effect.
This means that citizens from the six countries named in the order will only be allowed in the U.S. if they have a bona fide relationship.
It's a big week for immigration in Washington.
First, the Supreme Court allowed part of the travel ban to take effect.
Now, Homeland Security officials said they're working alongside the president to take action against sanctuary cities.
President Trump's long-debated travel ban is in effect. The Supreme Court ruling anyone seeking to enter the United States from a list of six majority-Muslim countries must show a bona fide relationship with either an entity of a person in the U.S.
The State Department describes these relationships in guidelines sent to embassies and consulates. Only some family relationships fall under this umbrella, including parents, children, spouses, sons-and daughters-in-law and siblings.
Relationships not included are grandparents, grandchildren, aunts, uncles, cousins, nieces, nephews or other extended family.
And a bona fide relationship does not necessarily mean family ties. Someone with credible ties to institutions, like colleges or jobs, are also permitted to enter the country.
If a person traveling from Libya, Syria, Iran, Somalia, Yemen or Sudan, cannot show a bona fide relationship, they will be banned for 90 days, 120 for refugees.
The Department of Homeland Security has stressed that this will not affect people who arrive in the U.S. with legal travel documents or previously approved visas.
"Not focusing on people from one religion, or one culture, but focusing on, you know, every airport, every country around the world," said Secretary of Homeland Security, John Kelly.
The latest roll out is expected to be much smoother than the last time the so-called travel ban was implemented.
"President Trump has been clear that our borders are not open to illegal immigration, that we are a nation of law and that we will no longer look the other way. Well, we will no longer look the other way in the Interior either," Kelly said.
Just Thursday afternoon, the House passed two key immigration measures. The "No Sanctuary for Criminals" act puts pressure on cities to work with authorities to detain undocumented immigrants.
It would also allow the government to deny jurisdictions federal law enforcement funds, if they don't comply.
Another bill, "Kate's Law," increases penalties for repeat illegal entry to the U.S. Both bills now move to the Senate.


Why does repairing a ship cost so much?
The prices of the ship repair will increase as you level up and repair your ships in the game. If you are attempting to repair quickly, you will notice exponential increases in repair price. However, if you wait a day or two, you should notice ship repair prices go back down.


text:
Queen's and Bell announce new annual lecture
Bell and Queen's University today announced the launch of the Annual Bell Lecture on Mental Health and Anti-Stigma, an initiative aimed at raising awareness of mental health and reducing the stigma associated with mental illness.
Heather Stuart
The inaugural lecture, entitled Breaking the Silence, will be held on June 25 at the TIFF Bell Lightbox in Toronto and will feature leading mental health researcher Heather Stuart and award-winning author James FitzGerald. Michael Landsberg, popular host of TSN's Off the Record, will be the master of ceremonies.
"The Annual Bell Lecture aims at sparking a dialogue between scholars, people affected by mental illness and the wider community," says Daniel Woolf, Principal and Vice-Chancellor of Queen's University. "Queen's is proud to partner with Bell to launch this lecture series and work towards reducing the stigma often associated with mental illness."
Dr. Stuart is a world-leading researcher and the Bell Mental Health and Anti-Stigma Research Chair at Queen's University's Faculty of Health Sciences. Where much research around stigma has focused on the beliefs of the general public, Dr. Stuart works to describe and understand the experience of stigma from the perspective of people directly affected by mental illness and their families. She will discuss the nature and causes of mental illness stigma.
Mr. FitzGerald is author of the powerful memoir What Disturbs Our Blood: A Son's Quest to Redeem the Past, which won the 2012 Writers' Trust Non-Fiction Prize and was shortlisted for three other major literary awards. He will recount his own struggle to understand and avoid the fates of his grandfather and father – two prominent medical doctors who were plunged to the depths of suicidal depression.
"Bell is very pleased to work closely with Queen's University to support anti-stigma research and mental health awareness, including funding the world's first chair in anti-stigma research," said Mary Deacon, Chair of Bell Let's Talk. "The Annual Bell Lecture on Mental Health and Anti-Stigma will broaden the discussion to help fight the stigma, which remains the single biggest barrier to people seeking help."
The Bell Mental Health and Anti-Stigma Research Chair was established at Queen's in 2012 with a donation of $1-million from Bell Let's Talk to the Queen's Initiative Campaign.
More information about the Annual Bell Lecture
More information about Bell Let's Talk
More information about Heather Stuart and the Initiative Campaign
Inaugural Bell Lecture breaks the silence
Continuing the talk on mental health
Queen's, Bell Let's Talk renew commitment to mental health research
Canada's top doctor ready to tackle complex health-care issues
Queen's hosts Nobel Prize Laureates for sold-out public talk


dropped car off the night before and it was done the next morning! and told not to wash car for about a week which was very good to know. i was very pleased with the overall service of this company!
I was very satisfied with your service and your service technician. You have a customer for life!