text:
\section{Introduction}

For heterotic string compactified on $\bf T^6$, there exists a
remarkable formula that gives the exact degeneracies of the dyonic
quarter BPS states in the four-dimensional theory
\cite{Dijkgraaf:1996it, LopesCardoso:2004xf, Shih:2005uc,
Gaiotto:2005hc, Shih:2005he, LopesCardoso:2006bg}. A similar formula
has been proposed also for Type-II string compactified on $\bf{T^6}$
\cite{Shih:2005qf, Pioline:2005vi}.

The  spectrum of dyons encapsulates valuable information about the
nonperturbative structure of the theory. Moreover, when the charge
of the dyon is large, it gravitates to form a black hole. The
logarithm of the degeneracies can then be compared with the
Bekenstein-Hawking-Wald entropy. In favorable situations, one can
hope to make exact comparisons between macroscopic and microscopic
degeneracies beyond leading order as was done  for the electric
states \cite{Dabholkar:2004yr, Sen:2005pu, Sen:2005ch,
Dabholkar:2005dt, Dabholkar:2005by} in an appropriate ensemble
\cite{Ooguri:2004zv}.

It is therefore of considerable interest to see if one can obtain a
similar exact formula for counting dyons in more general
compactifications. An interesting class of models where the
computations are  tractable are the CHL orbifolds
\cite{Chaudhuri:1995fk, Chaudhuri:1995bf} of the heterotic string
that result in ${\cal N}=4$ models in four dimensions with gauge
groups of reduced rank. Toroidally compactified heterotic string
results in a gauge group of rank 28. A CHL compactification is
obtained by orbifolding the heterotic string compactified on $\bf
T^4 \times \tilde{S}^1 \times S^1$ by a $\mathbb{Z}_N$ symmetry
generated by $\alpha T_{1/N}$, where $\alpha$ is an order N symmetry
of the internal CFT of the heterotic string compactified on $\bf
T^4$, and $T_{1/N}$ is an order $N$ translation along the circle
$\bf \tilde{S}^1$. The internal symmetry $\alpha$ has a nontrivial
action on the gauge bosons and hence some combinations of bosons are
projected out in the orbifold theory. Because of the order $N$ shift
that accompanies $\alpha$, the twisted sectors are massive and  no
additional gauge bosons arise in the twisted sector. The resulting
theory then has gauge group with a rank smaller than $28$. Using
string-string duality, this heterotic compactification is dual to an
orbifold of Type-II on $\bf K3 \times \tilde{S}^1 \times S^1$ by a
$\mathbb{Z}_N$ symmetry generated by $\tilde\alpha T_{1/N}$, where
$\tilde\alpha$ is an order $N$ symmetry in the internal CFT of the
$\bf K3$.

The S-duality group of a CHL orbifold is a congruence subgroup
$\Gamma_1(N)$ of the $SL(2, \mathbb{Z})$ S-duality symmetry of the
original toroidally compactified heterotic string theory. As a
result, the dyonic degeneracies are expected to display interesting
differences for various orbifolds. Recently a formula  for the exact
dyonic degeneracies for CHL orbifold was proposed
\cite{Jatkar:2005bh} for the cases $N = 2, 3, 5, 7$  generalizing
the work of \cite{Dijkgraaf:1996it}. Let us  summarize this
proposal. For a $\mathbb{Z}_N$ orbifold, the dyonic degeneracies are
encapsulated by a Siegel modular forms $\Phi_k(\Omega)$ of level $N$
and index $k$ as a function of period matrices $\Omega$ of a genus
two Riemann surface\footnote{ Definitions of various quantities
mentioned here in the introduction are given in $\S{\ref{Siegel}}$
and $\S{\ref{Borcherds}}$.}. We denote each case by  the pair $(N,
k)$. The index $k$ is related to the level $N$ by the relation
\begin{equation}\label{level}
    k = {24\over N+1}- 2.
\end{equation}
The original example of toroidally compactified heterotic string is
included in this list as a special case $(1, 10)$. To obtain the
dyonic degeneracy, Jatkar and Sen define
$\tilde{\Phi}_k(\tilde{\Omega})$ related to $\Phi_k(\Omega)$ by an
$SP(2, \mathbb{Z})$ transformations with a Fourier expansion
\begin{equation}\label{tildephi}
    {1\over \tilde\Phi_k(\tilde \Omega)} ={1\over N\, K}
   \sum_{m,n,p\atop m\ge -1,n\ge -1/N}
   e^{2 \pi i(m \tilde\rho
     + n\tilde\sigma + p\tilde \nu)} g(m,n,p)\, ,
\end{equation}
where $K$ is an appropriate constant and
$\tilde \Omega =
\left(
  \begin{array}{cc}
    \tilde \rho & \tilde \nu \\
    \tilde \nu & \tilde \sigma \\
  \end{array}
\right) $. Consider now  a dyonic state with a charge vector $Q=
(Q_e, Q_m)$ which is a doublet of the $SL(2, \mathbb{R})$. Here
$Q_e$ and $Q_m$ are the electric and magnetic charges that transform
as vectors of the T-duality symmetry $O(r-6, 6; \mathbb{Z})$ for a
rank $r$ CHL compactification with $r =2k +4$. The $Q_e^2$, $Q_m^2$,
and $Q_e \cdot Q_m$ be the T-duality invariant
combinations\footnote{The T-duality group of the CHL model is
actually a subgroup of $O(r-6, 6; \mathbb{R})$ symmetry that we have
used here. The degeneracy formula proposed in \cite{Jatkar:2005bh}
therefore is likely to be valid for a restricted class of dyons. In
general, the degeneracy can also depend on more subtle invariants of
the arithmetic subgroup that cannot be written as invariants of the
continuous Lie group as is in the case of electric states.}. The
degeneracy of dyons $d(Q)$ is then given in terms of the Fourier
coefficients by
\begin{equation}\label{degen}
    d(Q) = g(\frac{1}{2} Q_m^2, \frac{1}{2} Q_e^2, Q_e\cdot Q_m).
\end{equation}

The degeneracy $d(Q)$ obtained this way satisfies three nontrivial
physical consistency checks \cite{Jatkar:2005bh}. It is manifestly
invariant under the S-duality group $\Gamma_1(N)$, it agrees with
the Bekenstein-Hawking-Wald entropy of the corresponding black holes
to leading and the first subleading order \cite{Dijkgraaf:1996it,
LopesCardoso:2004xf}, and finally it is integral as expected for an
object that  counts the number of states.

The task of understanding the dyon spectrum is then reduced to
understanding the physics contained in the Siegel modular forms
$\Phi_k(\Omega)$. In the best understood  case $(1, 10)$, the
modular form $\Phi_{10}(\Omega)$ is the well-known Igusa cusp form
which is the unique cusp form of weight $10$.  In  the original
proposal of Dijkgraaf, Verlinde, Verlinde \cite{Dijkgraaf:1996it},
the relation of this modular form to the counting of dyons was
conjectured based on various consistency checks and a heuristic
derivation of the properties of NS5-brane worldvolume theory
\cite{Dijkgraaf:1996it, Dijkgraaf:2002ac}. This conjecture used in
an essential way  the perturbative string computations in
\cite{Kawai:1995hy} of threshold corrections of heterotic string on
$\bf K3 \times T^2$ where the Igusa cusp form naturally appears. In
\cite{Dijkgraaf:1996xw}, the Igusa form made its appearance in an
apparently unrelated context in connection with the elliptic genus
of the symmetric product of $\bf K3$, which counts the bound states
comprising the D1-D5-P black hole in five dimensions
\cite{Strominger:1996sh}. A new perspective on the dyon counting
formula and a definitive connection between the 4d and 5d formulae
was provided in \cite{Shih:2005uc} using the 4d-5d lift of
\cite{Gaiotto:2005gf}. It related the 4d dyonic degeneracies to 5d
degeneracies of the D1-D5-P black holes computed by the elliptic
genus of the symmetric product of $\bf K3$ providing a physical
re-derivation of the dyon counting formula.

Our objective is to obtain a similar physical derivation of the
spectrum of dyons in  CHL compactifications. Towards this end, we
outline in $\S{\ref{Siegel}}$ a general procedure for deriving the
modular forms $\Phi_k$ using a generalization of Borcherds lift
which we call `Multiplicative Lift'. This lift results in a a Siegel
modular form of level $N$ and weight $k$ of $G_0(N)$ in a product
representation, starting with a weak Jacobi form of weight zero and
index one of $\Gamma_0(N)$. The resulting formula suggests a
physical interpretation using the idea of 4d-5d lift proposed in
\cite{Gaiotto:2005gf, Shih:2005uc}. With this interpretation,   the
modular form $\Phi_k$ that counts dyons in four dimensions is
naturally related to a quantity that counts the bound states of
D1-D5-P in five dimensions. In $\S{\ref{Example}}$ we illustrate
this general procedure for the special case $(2, 6)$ and the Siegel
modular form $\Phi_6$. We discuss various aspects of our physical
interpretation using 4d-5d lift in $\S{\ref{Interpret}}$ and obtain
as a byproduct the exact degeneracies of spinning black holes in CHL
compactifications to five dimensions.

One of the mysterious aspects of the counting formula is the
appearance of the genus two modular group. A physical explanation
for this phenomenon was proposed in \cite{Gaiotto:2005hc} by
relating the dyon degeneracies to string webs. Lifting the string
webs to Euclidean M-theory 5-branes wrapping on $\bf K3$ naturally
results in a genus-two Riemann surface using the fact that M5-brane
on $\bf K3$ is the fundamental heterotic string. We offer a similar
interpretation of our results  in $\S{\ref{Web}}$. We show using
factorization that the product formula for $\Phi_6$ has a natural
representation as a chiral, genus-two partition function of the
left-moving heterotic string.

Details of the construction of the  modular forms $\Phi_k$ for the
remaining pairs $(N, k)$ using multiplicative lift   will be
presented in a forthcoming publication along with a  more complete
discussion of the physical interpretation outlined in this note
\cite{Dabholkar:2006}.

\section{Siegel Modular Forms of Level $N$ \label{Siegel}}

Let us recall some relevant facts about Siegel modular forms. Let
$\Omega$ be the period matrix of a genus two Riemann surface. It is
given by a $(2\times 2)$ symmetric matrix with complex entries
\begin{equation}\label{period}
   \Omega = \left(
              \begin{array}{cc}
                \rho & \nu \\
                \nu & \sigma \\
              \end{array}
            \right)
\end{equation}
satisfying
\begin{equation}\label{cond1}
    \Im{(\rho)} > 0,\quad \Im{(\sigma)} > 0,\quad \Im{(\rho)}\, \Im{(\sigma)}
> \Im{(\nu)}^2,
\end{equation}
and parametrizes  the `Siegel upper half plane' in the the space of
$(\rho, \nu, \sigma)$. There is a natural symplectic action on the
period matrix by the group $Sp(2, \mathbb{Z})$ as follows. We  write
an element $g$ of $Sp(2, \textbf{Z})$ as a $(4\times 4)$  matrix in
a block-diagonal form as
\begin{equation}\label{sp}
   \left(
  \begin{array}{cc}
    A & B \\
    C & D \\
  \end{array}
\right),
\end{equation}
where $A, B, C, D$ are all $(2\times 2)$ matrices with integer
entries. They  satisfy
\begin{equation}\label{cond}
   AB^T=BA^T, \qquad  CD^T=DC^T, \qquad AD^T-BC^T=I\, ,
\end{equation}
so that $g^t J g =J$ where $J = \left(
                                  \begin{array}{cc}
                                    0 & -I \\
                                    I & 0 \\
                                  \end{array}
                                \right)$
is the symplectic form. The action of $g$  on the period matrix is
then  given by
\begin{equation}\label{trans}
    \Omega \to (A \Omega + B )(C\Omega + D ) ^{-1}.
\end{equation}
The $Sp(2, \mathbb{Z})$ group is generated by the following three
types of  $(4 \times 4)$ matrices with integer entries
\begin{eqnarray}\label{egroup}
   g_1(a,b,c,d) &\equiv& \pmatrix{ a & 0 & b & 0 \cr
     0 & 1 & 0 & 0\cr c & 0 & d & 0\cr 0 & 0 & 0 & 1}\, ,  \quad ad-bc=1,
   \nonumber \\
   g_2 &\equiv& \pmatrix{0 & 1 & 0 & 0 \cr -1 & 0 & 0 & 0\cr
     0 & 0 & 0 & 1\cr 0 & 0 & -1 & 0}\, , \nonumber \\
   g_3(\lambda, \mu) &\equiv& \pmatrix{ 1 & 0 & 0 & \mu \cr
     \lambda & 1 & \mu & 0\cr 0 & 0 & 1 & -\lambda\cr
     0 & 0 & 0 & 1}\, .
\end{eqnarray}
We are interested in a subgroup by $G_1(N)$ of $Sp(2, \mathbb{Z})$
generated by the matrices in (\ref{egroup}) with the additional
restriction
\begin{equation}\label{G}
   \hbox{$c=0$ mod $N$,
 \quad $a,d=1$
     mod $N$}.
\end{equation}
Note that with the restriction (\ref{G}), the elements $g_1(a, b, c,
d)$ generate the congruence subgroup $\Gamma_1(N)$ of $SL(2,
\mathbb{Z})$ which is the reason for choosing the name $G_1(N)$ for
the subgroup of $Sp( 2, \mathbb{Z})$ in this case. From the
definition of $G_1(N)$ it follows that if
\begin{equation}\label{belong}
    \pmatrix{A & B\cr C & D}\in G_1(N),
\end{equation}
then
\begin{equation}\label{GN}
   \hbox{$C={\bf 0}$
     mod $N$, \quad $\det A = 1$
     mod $N$, \quad $\det D=1$ mod $N$
   }
   \, .
\end{equation}
One can similarly define $G_0(N)$ corresponding to $\Gamma_0(N)$ by
relaxing the condition $a, d =1$ mod $N$ in (\ref{G}).

We are interested in a modular form $\Phi_k(\Omega)$  which
transforms as
\begin{equation}\label{phi}
    \Phi_k [(A \Omega + B )(C\Omega + D ) ^{-1}] =  \{\det{(C\Omega + D )}\}^k
    \Phi_k (\Omega),
\end{equation}
for matrices
$
\left(
  \begin{array}{cc}
    A & B \\
    C & D\\
  \end{array}
\right)
$
belonging to $G_1(N)$. We will actually construct modular forms of
the bigger group $G_0(N)$. Such a modular form is called a Siegel
modular form of level $N$ and weight $k$. From the definition
(\ref{phi}) it is clear that a product of two Siegel modular forms
$\Phi_{k_1}$ and $\Phi_{k_2}$ gives a Siegel modular form $\Phi_{k_1
+ k_2}$. The space of  modular forms is therefore a ring, graded by
the integer $k$. The graded ring of Siegel Modular forms for
$N=1,2,3,4$ is determined in a number of papers in the mathematics
literature \cite{Igusa:ig, Igusa:ig2, Ibukiyama:1991ibu3,
Hayashibu:2005sie, AI:2005ai1}. The special cases of our interest
for the pairs $(N,  k)$ listed in the introduction were constructed
explicitly in \cite{Jatkar:2005bh}.

In the theory of Siegel modular forms, the weak Jacobi forms of
genus one play a fundamental role. A weak Jacobi form
$\phi_{k,m}(\tau, z)$ of $\Gamma_0(N)$ transforms under modular
transformation
$
\left(
  \begin{array}{cc}
    a & b \\
    c & d \\
  \end{array}
\right) \in \Gamma_0(N)
$
as
\begin{equation}\label{modular}
\phi_{k,m}(\frac{a\tau+b}{c\tau+d},\frac{z}{c\tau+d})=(c\tau+d)^k
\exp{[\frac{2\pi i mc z^2}{c\tau+d}]}\,\phi_{k, m}(\tau,z).
\end{equation}
and under lattice shifts as
\begin{equation}\label{lattice}
\phi_{k,m}(\tau, z+\lambda\tau + \mu)
   = \exp\left[-2\pi i m(\lambda^2\tau + 2\lambda z)\right]
   \phi_{k,m}(\tau, z)\, , \quad \lambda,\mu\in \mathbb{Z}\, .
\end{equation}
Furthermore, it has a Fourier expansion
\begin{equation}\label{fj}
    \phi_{k,m}(\tau, z) = \sum_{n\geq 0, \, r\in \mathbb{Z}}c(4n m-r^2)q^{n}
    y^{r}.
\end{equation}
The significance of weak Jacobi forms in this context stems from the
fact that, with the transformation properties (\ref{modular}) and
(\ref{lattice}), the combination $\phi_{k, m} (\rho, \nu) \cdot
\exp(2\pi i m \sigma) $ transforms with weight $k$ under the group
elements $g_1(a, b, c, d)$ and $g_3(\lambda, \mu)$ in
(\ref{egroup}). Then, with some additional ingredients using the
property (\ref{fj}), one can also ensure the required transformation
properties under $g_2$ to obtain a Siegel modular form.

There are two methods for constructing a  Siegel modular form
starting with a weak Jacobi form which we summarize below.
\begin{itemize}
  \item Additive Lift

This  procedure  generalizes the  Maa{\ss}-Saito-Kurokawa lift
explained in detail for example in \cite{Eichler:1985ja}. We refer
to it as the `additive' lift because  it naturally gives the sum
representation of the modular form in terms of its Fourier
expansion. The starting `seed' for the additive lift is in general a
weak Jacobi form $\phi_{k, 1}(\rho, \nu)$ of weight $k$ and index
$1$. Let us denote the operation of additive lift by the symbol
${\cal A}[.]$. If a given weak Jacobi form $\phi_{k, 1}$ results in
a Siegel modular form $\Phi_k$ after the additive lift, then we can
write
\begin{equation}\label{liftrel}
    \Phi_k (\Omega) = {\cal A} [\phi_{k, 1}(\rho, \nu)].
\end{equation}

In the cases of our interest for the pairs $(N, k)$ above, this
procedure was used in \cite{Jatkar:2005bh} to obtain the modular
forms $\Phi_k$ listed there. The seed in these cases can be
expressed in terms of the unique cusp forms $f_k(\rho)$ of
$\Gamma_1(N)$ of weight $(k+2)$,
\begin{equation}\label{cusp}
    f_k(\rho) = \eta^{k+2}(\rho) \eta^{k+2}(N\rho),
\end{equation}
where $\eta(\rho)$ is the Dedekind eta function. The seed for the
additive lift is then given by
\begin{equation}\label{aseed}
    \phi_{k, 1}(\rho, \nu) = f_k(\rho) \, \frac{\theta_1^2(\rho,
    \nu)}{\eta^6(\rho)},
\end{equation}
where $\theta_1(\rho, \nu)$ is the usual Jacobi theta function.

  \item Multiplicative Lift

This procedure is in a sense a logarithmic version of the
Maa{\ss}-Saito-Kurokawa lift. We call it `multiplicative' because it
naturally results in the Borcherds product representation of the
modular form.   The starting `seed' for this lift is a weak Jacobi
form ${\phi}^k_{0,1}$ of weight zero and index one and the
superscript $k$ is added to denote the fact after multiplicative
lift it gives a weight $k$ form $\Phi_k$. Let us denote the
operation of multiplicative lift by the symbol ${\cal M}[.]$. If a
given weak Jacobi form ${\phi}^k_{0,1}$ results in a Siegel modular
form $\Phi_k$ after the multiplicative lift, then we can write
\begin{equation}\label{liftmult}
    \Phi_k (\Omega) =  {\cal M} [\phi^k_{0, 1}(\rho, \nu)].
\end{equation}

\end{itemize}

Given the specific Siegel modular forms $\Phi_k(\Omega)$ obtained by
additively lifting  the seeds $\phi_{k,1}$ in  (\ref{aseed}) for the
pairs $(N, k) = (1, 10), (2, 6), (3, 4), (7, 1)$ as in
\cite{Jatkar:2005bh}, we would like to know if the same Siegel forms
can be obtained as multiplicative lifts of some weak Jacobi forms
$\phi^k_{0,1}$. Such a relation between the additive and the
multiplicative lift is  very interesting mathematically for if it
exists, it gives a Borcherds product representation of a given
modular form.  However, to our knowledge, at present there are no
general theorems relating the two. Fortunately, as we describe next,
in the examples of interest to us, it seems possible to determine
the seed for the multiplicative lift from the seed for the additive
lift quite easily and explicitly. Finding such a multiplicative seed
to start with is a nontrivial step  and is not guaranteed to work in
general. But if one succeeds in finding the multiplicative seed
$\phi^k_{1, 0}$  given a $\Phi_k$ obtained from the  additive seeds
$\phi_{k,1}$ in (\ref{aseed}) then one can write
\begin{equation}\label{final}
   \Phi_k (\Omega) = {\cal A} [f_k(\rho) \, \frac{\theta_1^2(\rho,
    \nu)}{\eta^6(\rho)}] = {\cal M} [\phi^k_{0, 1}(\rho, \nu)].
\end{equation}

\section{Multiplicative Lift \label{Borcherds}}

We now outline  the general procedure for constructing modular forms
$\Phi_k(\Omega)$ as a Borcherds product \cite{Borcherds:1995si} by a
multiplicative lift following closely the treatment in
\cite{Ibukiyama:1991ibu3, Hayashibu:2005sie, AI:2005ai1}

For the special pair $(1, 10)$, which results in the Igusa cusp form
$\Phi_{10}$, the product representation was obtained by Gritsenko
and Nikulin \cite{gritsenko-1996-, Gritsenko:1995ek}. The starting
seed for this lift is a weak Jacobi form ${\phi}^{10}_{0,1}$ of
weight zero and index one
\begin{equation}\label{k3}
    {\phi}^{10}_{0,1} = 8 [ {\theta_2(\rho, \nu)^2 \over \theta_2(\rho)^2} +
    {\theta_3(\rho, \nu)^2 \over \theta_3(\rho)^2} +
    {\theta_4(\rho, \nu)^2 \over \theta_4(\rho)^2}],
\end{equation}
where $\theta_i(\rho, \nu)$ are the usual Jacobi theta functions. We
therefore have in this case the desired result
\begin{equation}\label{rel}
    \Phi_{10} (\Omega) = {\cal A}(\phi_{10,1}) = {\cal
    M}({\phi}^{10}_{0,1}).
\end{equation}
This weak Jacobi form happens to also equal the elliptic genus of
$\bf K3$. As a result, the multiplicative lift is closely related to
the elliptic genus of the symmetric product of $\bf K3$
\cite{Dijkgraaf:1996xw} which counts the bound states of the D1-D5-P
system in five dimensions. This coincidence, which at first sight is
purely accidental, turns out to have a deeper significance based on
the 4d-5d lift \cite{Gaiotto:2005gf}.

We would now like find  a similar product representation for the
remaining pairs of $(N, k)$ using the multiplicative lift so that we
can then try to find a similar physical interpretation using 4d-5d
lift. We first describe the general procedure of the multiplicative
lift for the group $G_0(N)$ and then specialize to the illustrative
case $(2, 6)$ of our interest, to obtain the product representation
of $\Phi_6$ using these methods.

As we have defined in $\S{\ref{Siegel}}$, the  group $G_{0}(N)$
consists of matrices with integer entries of the block-diagonal form
\begin{equation}
\lbrace \left(
\begin{array}{cc}
A & B\\
N C & D\\
\end{array}
\right) \, \in \, Sp(2,\mathbb{Z})\rbrace
\end{equation}
which contains the subgroup $\Gamma_0(N)$. A basic ingredient in the
construction of Siegel modular forms is the Hecke operator $T_{t}$
of $\Gamma_{0}(N)$ where $t$ is an integer. The main property of our
interest is that acting on a weak Jacobi form $\phi_{k,m}$ of weight
$k$ and index $m$, the Hecke operator $T_t$  generates a weak Jacobi
form $\phi_{k,mt} = T_{t}(\phi_{k,m})$ of weight $k$ and index $mt$.
Thus, on a modular form $\phi_{k,1}$, the Hecke operator $T_t$ acts
like   a raising operator that raises the index by $(t-1)$ units.
One subtlety that needs to be taken into account in the case of
$\Gamma_0(N)$ that does not arise for $SL(2, \mathbb{Z})$ is the
fact that $\Gamma_0(N)$ has multiple cusps in its fundamental domain
whereas $SL(2, \mathbb{Z})$ has a unique cusp at $i\infty$. As a
result, the Hecke operators that appear in the construction in this
case are a little more involved as we review in Appendix
\ref{Hecke}.

Let us now explain the basic idea behind the lift. Given a seed weak
Jacobi form $\phi^k_{0,1}(\rho, \nu)$ for the multiplicative lift,
we define
\begin{equation}\label{lphi}
    (L\phi^k_{0,1}) (\rho, \nu, \sigma) =
\sum_{t=1}^{\infty}T_t(\phi^k_{0,1})(\rho,\nu)\exp{(2\pi i \sigma
t)}.
\end{equation}
Now, $T_t(\phi^k_{0, 1})$ is a weak Jacobi form of weight $0$ and
index $t$. It then follows as explained in $\S{\ref{Siegel}}$, with
the transformation properties (\ref{modular}) and (\ref{lattice}),
the combination $T_t( \phi^k_{0, m})(\rho, \nu) \cdot \exp(2\pi i t
\sigma) $ is invariant under the group elements $g_1(a, b, c, d)$
and $g_3(\lambda, \mu)$ in (\ref{egroup}). Thus, each term in the
sum in (\ref{lphi}) and therefor $L\phi$ is also invariant under
these two elements.

If $L\phi$  were invariant also under the exchange of $p$ and $q$
then it would be invariant under the element $g_2$ defined in
(\ref{egroup}) and one would obtain a Siegel modular form of weight
zero. This is almost true. To see this, we note that  $\exp (L
\phi^k_{0,1})$ can be written as an infinite product  using the
explicit representation of Hecke operators given in Appendix
(\ref{Hecke}):
\begin{equation}\label{product}
  \prod_{ l, m, n \in \mathbb{Z} \atop m >0}( 1 -(q^n y^l p^m
  )^{n_s} )^{ h_s n_s^{-1} c_{s, l}(4mn-l^2)},
\end{equation}
where  $ q \equiv \exp(2\pi i \rho), y \equiv \exp(2\pi i \nu), p
\equiv \exp(2\pi i \sigma)$ (\ref{L14}). In the product presentation
(\ref{product}), the coefficients $c_{s, l}(4mn-l^2)$ are manifestly
invariant under the exchange of $m$ and $n$. The product, however,
is not quite symmetric because the range of the products in
(\ref{product}) is not quite symmetric: $m$ is strictly positive
whereas $n$ can be zero. This asymmetry can be remedied by
multiplying the product (\ref{product}) by an appropriate function
as in \cite{gritsenko-1996-2, AI:2005ai1}. The required function can
essentially be determined by inspection to render the final product
symmetric in $p$ and $q$. Following this procedure one then obtains
a Siegel modular form as the multiplicative lift of the weak Jacobi
form $\phi^k_{0,1}(\rho, \nu)$,
\begin{equation}\label{final2}
  \Phi_k(\Omega) = {\cal M} [\phi^k_{0,1}] = q^a y^b p^c \prod_{(n, l, m) >0}( 1 -(q^n y^l p^m
  )^{n_s} )^{ h_s n_s^{-1} c_{s, l}(4mn-l^2)},
\end{equation}
for some integer $b$ and positive integers $a, c$. Here the notation
$(n, l, m) >0$ means that if (i) $m >0, n, l \in \mathbb{Z}$, or
(ii) $m=0, n >0, l\in \mathbb{Z}$, or (iii) $m= n= 0, l < 0$.

It is useful to write  the final answer for $\Phi_k(\Omega)$ as
follows
\begin{eqnarray}\label{final2hodge}
  \Phi_k(\Omega) &=& p^c H(\rho, \nu) \exp[L\phi^k_{0,1}(\rho, \nu,
  \sigma)],
\end{eqnarray}
\begin{eqnarray}\label{hodge2}
  H(\rho, \nu)&=& q^a y^b \prod_s \prod_{l, n \geq 1} ( 1- (q^n y^l)^{n_s})
  ( 1- (q^n y^l)^{n_s})^{n_s^{-1} h_s c_{s, l}(-l^2)}\\
  &\times& \prod_{n=1}^\infty ( 1- q^{n n_s})^{n_s^{-1}h_s
  c_{s,l}(0)} \prod_{l < 0}^\infty ( 1- y^{l n_s})^{n_s^{-1}h_s
  c_{s,l}(-l^2)},
\end{eqnarray}
in terms of the separate ingredients that go into the construction.
This rewriting is more suggestive for the physical interpretation,
as we discuss in the next section. Following Gritsenko
\cite{gritsenko-1999-}, we refer to the function $H(\rho, \nu)$ as
the `Hodge Anomaly'. The construction thus far is general and
applies to the construction of modular forms of weight $k$ which may
or may not be obtainable by an additive lift. In many cases however,
as in the cases of our interest, it might be be possible to obtain
the same modular form by using the two different lifts. To see the
relation between the two lifts in such a situation and to illustrate
the significance of the Hodge anomaly for our purpose, we next
specialize to the case $(2, 6)$. We show how to determine the
multiplicative seed and the Borcherds product given the specific
$\Phi_6$ obtained from the additive lift.

\section{Multiplicative Lift for $\Phi_{6}$ \label{Example}}

We want to determine the seed $\phi^6_{0, 1}$ whose multiplicative
lift  equals $\Phi_6$ constructed from the additive lift of
(\ref{aseed}). From the $p$ expansion of the additive representation
of $\Phi_6$ we conclude that the integer $c$ in (\ref{final2}) and
(\ref{final2hodge}) equals one. Then we see from (\ref{final2hodge})
that if $\Phi_6$ is to be a weight six Siegel modular form, $H(\rho,
\nu)$ must be a weak Jacobi form of weight six and index one. Such a
weak Jacobi form is in fact unique and hence must equal the seed
$\phi_{6, 1}$ that we used for the additive lift. In summary, the
Hodge anomaly is given by
\begin{eqnarray}
  H(\rho, \nu)  &=& \phi_{6,1}(\rho, \nu)=\eta^{2}
(\rho) \eta^{8}(2\rho)\theta_{1}^{2}(\rho, \nu) \\
   &=& q y (1 - y^{-1})^2\prod_{n=1}^\infty(1- q^{2n})^8 (1-q^n)^4 (1-q^n y)^2
   (1-q^ny^{-1})^2. \label{hodgeprod}
\end{eqnarray}
Comparing this product representation with (\ref{hodge2}), we
determine that
\begin{equation}\label{coeff}
    c_1(0) = 4, \quad c_1(-1) =2; \quad c_2(0) =8, \quad c_2(-1) =0;
\end{equation}
and moreover $c_1(n)=c_2(n) =0, \quad \forall\, n <-1$. This
information about the leading coefficients $c_s(n)$ obtained  from
the Hodge anomaly is sufficient to determine completely the
multiplicative seed ${\phi}^6_{0,1}$. Let us assume the seed to be a
weak Jacobi form\footnote{Strictly, it is enough that it is a `very
weak' Jacobi form as defined in \cite{AI:2005ai1} but from the
physical interpretation  that we give in the next section, we expect
and hence assume it to be a weak Jacobi form to find a consistent
solution.}. Now, proposition (6.1) in \cite{AI:2005ai1} states that
the space of weak Jacobi forms of even weight  is generated as
linear combinations of two weak forms $\phi_{-2,1}$ and $\phi_{0,1}$
which in turn are given in terms of elementary theta functions by
\begin{eqnarray}\label{ring}
   \phi_{-2,1}(\rho, \nu) = \frac{\theta_1^2(\rho,
    \nu)}{\eta^6(\rho)}  \\
  \phi_{0,1}(\rho, \nu)= 4 [ {\theta_2(\rho, \nu)^2 \over \theta_2(\rho)^2} +
    {\theta_3(\rho, \nu)^2 \over \theta_3(\rho)^2} +
    {\theta_4(\rho, \nu)^2 \over \theta_4(\rho)^2}]
\end{eqnarray}
The coefficients for this linear combination can take values in the
ring $A(\Gamma(N))$ of holomorphic modular forms of $\Gamma(N)$.
Basically, the coefficients have to be chosen so as to get the
correct weight. For our case, with $N=2$, the relevant holomorphic
modular form, is the one of weight two
\begin{equation}\label{alpha}
\alpha(\rho)=\theta_{3}^4 (2\rho)+\theta_{2}^4(2\rho).
\end{equation}
By virtue of the above-mentioned proposition, and using the
definitions in (\ref{ring}) and (\ref{alpha}), we can then write our
desired seed as the linear combination
\begin{equation}\label{linear}
\phi^6_{0, 1}(\rho, \nu) = A  \alpha(\rho) {\phi}_{-2,1}(\rho, \nu)
+ B {\phi}_{0, 1}(\rho, \nu),
\end{equation}
where $A$ and $B$ are constants. To determine the constants we
investigate the behavior near the cusps. For $\Gamma_0(2)$, there
are only two cusps, one at $i\infty$ and the other at $0$ in the
fundamental domain which we label by $s=1, 2$ respectively. Then the
various relevant quantities required in the final expression
(\ref{final2}) are given in our case by
\begin{eqnarray}
  g_1 = \left(
          \begin{array}{cc}
            1 & 0 \\
            0 & 1 \\
          \end{array}
        \right)
   &\quad & h_1 =1, \quad  z_1 =0,\quad n_1 = 1\\
  g_2 = \left(
          \begin{array}{cc}
            0& -1 \\
            1& 0 \\
          \end{array}
        \right)
   &\quad & h_1 = 2, \quad  z_2 =1,\quad n_2 = 2.
\end{eqnarray}
The $q$ expansion for $\phi_{-2,1}$ and $\phi_{0,1}$ at the cusp
$q=0$ is given by
\begin{equation}\label{phiexp1}
\phi_{-2,1}= (-2+y+y^{-1})+q(-12+8y+8y^{-1}-2y^{2}-2y^{-2})+.....
\end{equation}
\begin{equation}\label{phiexp2}
\phi_{0,1}=(10+y+y^{-1})+\,....
\end{equation}
The Fourier expansion of $\alpha(\rho)$ at the cusps $i\infty$ and
$0$ is given by,
\begin{eqnarray}\label{alphaexp1}
  \alpha(\rho) &=& 1 + 24 q + 24 q^2 + \ldots
\end{eqnarray}
near infinity and by
\begin{eqnarray}\label{alphaexp2}
  \rho^{-2} \alpha({-1}/{\rho}) &=& -\frac{1}{2}\alpha(\frac{\rho}{2})\\
                              &=&  -\frac{1}{2} + \ldots
\end{eqnarray}
near zero. Demanding that the leading terms in the Fourier expansion
of the linear combination (\ref{linear}) match with those given by
(\ref{coeff}) determines the coefficients $A= 4/3$ and $B= 2/3$ in
(\ref{linear}). The constraints are actually over-determined so the
fact that a solution  exists at all gives a check of the procedure.
Our final answer for the multiplicative lift is then
\begin{equation}\label{seed}
    \phi^6_{0, 1}(\rho, \nu) = {4\over 3} \alpha(\rho)
    {\phi}_{-2,1}(\rho, \nu) + {2\over 3}
    {\phi}_{0,1}(\rho, \nu).
\end{equation}
With this determination we can simply apply the formalism in the
previous section to determine
\begin{equation}\label{mathfinal}
    \Phi_6(\Omega) = {\cal M} [{4\over 3} \alpha(\rho)
    {\phi}_{-2,1}(\rho, \nu) + {2\over 3}
    {\phi}_{0, 1}(\rho, \nu)]
\end{equation}
by using the formula (\ref{final2}).

\section{Physical Interpretation of the Multiplicative Lift
\label{Interpret}}

Both $\exp (-L\phi)$ and the inverse of the  Hodge anomaly
$H^{-1}(\rho, \nu)$ that appear in the multiplicative lift in
(\ref{Borcherds}) have a natural physical interpretation  using the
4d-5d lift, which we discuss in this section and also in terms of
M-theory lift of string webs which we discuss in the next section.

Let us recall the basic idea behind  the 4d-5d lift
\cite{Gaiotto:2005gf}. Consider Type-IIA compactified on a
five-dimensional space $\bf M_5$ to five dimensions. Given a BPS
black hole in Type-IIA string theory in five dimensions, we can
obtain a black hole in four dimensions as follows. A
five-dimensional black hole situated in an asymptotically flat space
$\mathbb{R}^4$ can be embedded into an asymptotically Taub-NUT
geometry of unit charge. Intuitively, this is possible because near
the origin, the Taub-NUT geometry reduces to $\mathbb{R}^4$, so when
the Taub-NUT radius is much larger than the black hole radius, the
black hole does not see the difference between $\mathbb{R}^4$ and
Taub-NUT. Asymptotically, however, the Taub-NUT geometry is
$\mathbb{R}^3 \times \bf{S_{tn}^1}$. We can dimensionally reduce on
the Taub-NUT circle to obtain a four-dimensional compactification.
Now, Type-IIA is dual to M-theory compactified on the M-theory
circle $\textbf{S}^1_m$ so we can regard four-dimensional theory as
an M-theory compactification on $\bf M_5 \times S_{tn}^1 \times
S^1_m$. Now flipping the two circles, we can choose to regard the
Taub-NUT circle $\bf S_{tn}^1$  as the new M-theory circle. This in
turn is dual to a Type-IIA theory but in a different duality frame
than the original one. In this duality frame, the Taub-NUT space is
just the Kaluza-Klein 6-brane of M-theory dual to the D6-brane. Thus
the Taub-NUT charge of the original Type-IIA frame is interpreted in
as the D6 brane charge in the new Type-IIA frame and we obtain a BPS
state in four dimensions with a D6-brane charge. Since we can go
between the two descriptions by smoothly varying various moduli such
as the Taub-NUT radius and choosing appropriate duality frames, the
spectrum of BPS states is not expected to change. In this way, we
relate the spectrum of four-dimensional BPS states with D6-brane
charge to five-dimensional BPS states in Type-IIA.

With this physical picture in mind, we now interpret the term
$\exp(-L\phi)$ in (\ref{final2hodge}) as counting the degeneracies
of the five dimensional BPS states that correspond to the
four-dimensional BPS states after the 4d-5d lift. For example, in
the familiar case $(1, 10)$ of toroidally compactified heterotic
string, the dual Type-II theory is compactified on $\bf K3 \times
\tilde{S}^1 \times S^1$. In the notation of the previous paragraph,
we then have $\bf M_5 = K3 \times \tilde{S}^1$. The five-dimensional
BPS state is described by the  D1-D5-P system. Its degeneracies are
counted by the elliptic genus of the symmetric product of $\bf K_3$.
In this case, indeed $\exp(-L\phi)$ above gives nothing but the
symmetric product elliptic genus evaluated in
\cite{Dijkgraaf:1996xw}.

In our case $(2, 6)$, D-brane configuration in five dimensions
corresponding to our dyonic state in four dimensions is obtained
simply by implementing the CHL orbifolding action in the open string
sector on the D1-D5-P system in five dimensions. The term
$\exp(-L\phi)$ in (\ref{final2hodge}) then has a natural
interpretation as a symmetric product elliptic genus. Because of the
shift in the orbifolding action, the resulting orbifold is a little
unusual and the elliptic genus is weak Jacobi form not of $SL(2,
\mathbb{Z})$ but of $\Gamma_0(2)$. The details of the orbifold
interpretation will be presented in \cite{Dabholkar:2006}.

The Hodge anomaly plays a special role in the 4d-5d lift. It is
naturally interpreted as the contribution of the bound states of
momentum and the single Taub-NUT 5-brane in the Type-IIB
description. A KK5-brane of IIB wrapping $\bf K_3 \times S^1$
carrying momentum along the $\bf S^1$  is T-dual to an NS5-brane of
IIA wrapping $\bf K_3 \times S^1$ carrying momentum which in turn is
dual to the heterotic fundamental string wrapping the circle with
momentum.\footnote{In
\cite{Shih:2005qf}, the Hodge anomaly for the $(1, 10)$ example is
interpreted as a single 5-brane contribution. This, however, is not
dual to the heterotic F1-P system and would not give the desired
form of the Hodge anomaly. For the purposes of 4d-5d lift, it is
essential to introduce Taub-NUT geometry which appears like
KK5-brane in IIB. In the 5d elliptic genus the bound states of this
KK5-brane and momentum are not accounted for. Therefore, the Hodge
anomaly is naturally identified as this additional contribution that
must be taken into account.}. These can be counted in perturbation theory
\cite{Dabholkar:1989jt,Dabholkar:1990yf,Dabholkar:2005by,Dabholkar:2005dt}
in both cases $(1, 10)$ and $(2, 6)$. The $y(1-y^{-1})$ term in the Hodge anomaly in (\ref{hodgeprod}) is more subtle and would require a more detailed analysis.

\section{M-theory lift of String Webs  \label{Web}}

The appearance in the dyon counting formulae of objects related to a
genus two Riemann surface such as the period matrix and the $G_0(N)$
subgroups of $Sp(2, \mathbb{Z})$ is quite surprising and demands a
deeper physical explanation. We now offer such an explanation
combining earlier work of \cite{kawai-1997-} and
\cite{Gaiotto:2005gf} in the toroidal $(1, 10)$  case and
generalizing it to CHL orbifolds.

To start with, let us reinterpret the Hodge anomaly following Kawai
\cite{kawai-1997-}. It can be written as
\begin{equation}\label{rehodge}
    H(\rho, \nu) = \eta^{8}
(\rho) \eta^{8}(2\rho)\frac{\theta_{1}^{2}(\rho, \nu)}{\eta^6(\rho)}
= Z(\rho) K^2(\rho, \nu),
\end{equation}
where $Z(\rho)\equiv \eta^{8} (\rho) \eta^{8}(2\rho)$ is the
one-loop partition function of the left-moving chiral 24-dimensional
bosonic string with the $\mathbb{Z}_2$ twist $\alpha$ of the CHL
orbifold action, and $K(\rho, \tau)$ is the prime form on the torus.
Let us also expand
\begin{equation}\label{ell}
    \exp(-L\phi^6_{0,1}(\rho, \nu)) = \sum_{N=0}^\infty p^N \chi_N
\end{equation}
We can then write from (\ref{final2hodge}),
\begin{eqnarray}\label{oneover}
 \frac{1}{\Phi_6(\Omega)} &= & \frac{1}{p} \frac{1}{H(\rho, \nu)}
    \exp(-L\phi^6_{0,1}(\rho, \nu)) \\
   &=& \sum_{N=0}^\infty p^{N-1} \frac{1}{K(\rho, \nu)^2} \chi_N\\
    &\sim&  \frac{1}{p} \frac{1}{K(\rho, \nu)^2} \frac{1}{Z(\rho)} +
    \ldots \label{tachpole}
\end{eqnarray}
\begin{figure}
\centering
\includegraphics[width=1.2in,angle=270]{web.epsi}
\caption{A dyon can be represented as a string web on a torus which
in M-theory looks like a genus two Riemann surface.  Factorization
of the product representation of $1/\Phi_k(\Omega)$ reveals this
Riemann surface.} \label{twoloop}
\end{figure}
In (\ref{tachpole}) above, we can identify $K^{-2}(\rho, \nu)$ as
the on-shell (chiral) tachyon propagator, and $Z(\rho)$ as the
one-loop left-moving partition function. If we denote by $X$ the
bosonic spacetime coordinate, then we have
\begin{equation}\label{tach}
    <e^{i k \cdot X}(\nu) e^{-i k \cdot X}(0)> = K^{-2} (\rho, \nu),
\end{equation}
where $k$ is the momentum  of an on-shell tachyon and the correlator
is evaluated on a genus one Riemann surface with complex structure
$\rho$. This is  exactly  the first term in the factorized expansion
in Fig.(\ref{twoloop}). The subleading terms at higher  $N$ denoted
by $\ldots$ in (\ref{tachpole}) come from contributions of string
states at higher mass-level $N-1$. Summing over all states gives the
genus two partition function.

This reinterpretation of $1/\Phi_6$ as the two-loop partition
function of the chiral bosonic string explains at a mathematical
level the appearance of genus two Riemann surface generalizing the
results of Kawai to the $(2, 6)$ case.  Note that the partition
function $Z(\rho)$ will be different in the two cases. In the (1,
10) case it equals $\eta^{-24}(\rho)$ and in the $(2, 6)$ case it
equals $\eta^{-8}(\rho) \eta^{-8}(2 \rho)$. This precisely captures
the effect  of CHL orbifolding on the chiral left moving bosons of
the heterotic string. To describe the $N=2$ orbifold action let us
consider the $E_8 \times E_8$ heterotic string. The orbifold twist
$\alpha$ then simply flips the two $E_8$ factors. We can compute the
partition function with a twist in the time direction $
\textrm{Tr}(\alpha q^H)$ where $H$ is the left-moving bosonic
Hamiltonian. Then, the eight light-cone bosons will contribute
$\eta^{-8}(\rho)$ as usual to the trace, but the sixteen bosons of
the internal $E_8 \times E_8$ torus will contribute
$\eta^{-8}(2\rho)$ instead of $\eta^{-16}(2\rho)$. The power changes
from $-16$ to $-8$ because eight bosons of the first $E_8$ factor
are mapped by $\alpha$ to the eight bosons of the second $E_8$. Thus
only those states that have equal number of oscillators from the two
$E_8$ factors contribute to the trace, thereby reducing effectively
the number of oscillators to $8$. The argument on the other hand is
doubled  to $2 \rho$ because when equal number of oscillators from
the two factors are present, the worldsheet energy is effectively
doubled. The tachyon propagator in the two cases is unchanged
because only light-cone bosons appear on shell which are not
affected by the orbifolding.

This mathematical rewriting  does not explain at a fundamental level
why the chiral bosonic string has anything to do with dyon counting.
This connection can be completed using with the heuristic picture
suggested in \cite{Gaiotto:2005hc}.

Under string-string duality, the $SL(2, \mathbb{Z})$  S-duality
group of the heterotic string gets mapped to the geometric $SL(2,
\mathbb{Z})$ of the Type-IIB string
\cite{Hull:1995nu,Witten:1995ex}. Thus, electric states correspond
to branes wrapping the $a$ cycle of the torus and magnetic states
correspond to branes wrapping the $b$ cycle of the torus. A general
dyon with electric and magnetic charges  $(n_e, n_m)$ of a given
$U(1)$ symmetry is then represented as a brane wrapping $(n_e, n_m)$
cycle of the torus. If a state is charged under more than one $U(1)$
fields then one gets instead a $(p, q)$ string web with different
winding numbers along the $a$ and the $b$ cycles. The angles and
lengths of the web are fixed by energetic considerations for a given
charge assignment  \cite{Sen:1997xi, Aharony:1997bh}. For our
purpose, we can consider D5 and NS5 branes wrapping the $\bf K3$
resulting in two different kinds of $(1, 0)$ and $(0, 1)$ strings. A
dyon in a particular duality frame then looks like the string web
made of these strings as in the first diagram Fig.(\ref{twoloop}).
In the M-theory lift of this diagram, both D5 and NS5 branes
correspond to M5 branes so the string in the web arises from
M-theory brane wrapping $\bf K3$. To count states, we require a
partition function with Euclidean time. Adding the circle direction
of time we can fatten the string web diagram which looks like a
particle Feynman diagram into a genus-two Riemann surface
representing a closed-string Feynman diagram as in the second
diagram in Fig.(\ref{twoloop}). Now, $\bf K3$-wrapped M5 brane is
nothing but the heterotic string. Furthermore, since we are counting
BPS states by an elliptic genus, the right-movers are in the ground
state and we are left with the two-loop partition function of the
bosonic string. This partition function is what we have constructed
by in the third diagram in  Fig.(\ref{twoloop}) as explained above
using factorization.

\section{Conclusions}

The exact spectrum of dyons in four dimensions and of spinning black
holes in five dimensions in CHL compactifications can be determined
using a Borcherds product representation of level $N$ Siegel modular
forms of $Sp( 2, \mathbb{Z})$. Various elements in the Borcherds
product have a natural interpretation from the perspective of 4d-5d
lift. The Hodge anomaly is identified the contribution of bound
states of Type-IIB KK5-brane with momentum. The remaining piece is
interpreted as arising from the symmetric product of  the orbifolded
D1-D5-P system. The appearance of an underlying chiral bosonic
string on a genus two Riemann surface in this construction has a
natural interpretation  as the Euclidean worldsheet of the  $\bf K3$
wrapped M5 brane on a string web in orbifolded theory. By
factorization, this connection with the Siegel modular form can be
made precise.

We have seen that a very rich and interesting mathematical structure
underlies the counting of BPS dyons and black holes. Given the
relation of Siegel modular forms to Generalized Kac-Moody algebras
\cite{Borcherds:1995si, gritsenko-1996-1, gritsenko-1996-2,
Harvey:1995fq}, their appearance in the counting is perhaps
indicative of a larger underlying symmetry of string theory. If so,
investigating this structure further might prove to be a fruitful
avenue towards uncovering the full structure of M-theory.

\textsl{Note:} During the course of writing this paper, a related
paper appeared \cite{David:2006ji} with some overlap with our work
where the product representation is derived using yet another lift
called the `Theta Lift'.

\subsection*{Acknowledgements}

We would like to thank Eknath Ghate, Dileep Jatkar, Arvind Nair,
Dipendra Prasad, Ashoke Sen, and T. Venkataramana for useful
discussions. We are especially grateful to Davide Gaiotto for
explaining his paper and to  Rainer Schulze-Pillot for explaining
some elements of the Borcherds lift.

redpajama_set_name: RedPajamaArXiv


I'm a little late to the party this week as I was out of action Wednesday and Thursday with a tension headache, so no crafting for me!
The red dotty paper is mounted on 3D foam as is the journaling card so it nests inside the aperture of the frame.
I added wink of stella and nuvo drops to the journaling card to give it a bit of pop.
Then I finished the card off with a bright contrasting button and twine.
I hope you check out the lovely cards from the rest of the design team over on the blog and join in!
Oh so sweet! Your designs always make me smile, though I don't always have time to comment. Perfect colors, too. Bright, happy, fun...everything a card should be!


text:
import java.util.Locale

import org.junit.Test
import org.scalatest.junit.AssertionsForJUnit
import text.{JapaneseCharacterCaseConverter, StringNone, StringOption, StringSome}
import text.kanji.JISLevel1to2KanjiCharacter
import text.normalizer._
import text.parser.JapaneseSentenceSplitter

/**
  * @author ynupc
  *         Created on 2016/02/19
  */
class Day7TestSuite extends AssertionsForJUnit {

  private val hiraganaChar: Char = 'か'
  private val katakanaChar: Char = 'カ'
  private val kanjiChar:    Char = '漢'
  private val alphabetChar: Char = 'C'
  private val symbolChar:   Char = '+'

  private val hiraganaCodePoint: Int = Character.codePointAt(Array[Char](hiraganaChar), 0)
  private val katakanaCodePoint: Int = Character.codePointAt(Array[Char](katakanaChar), 0)
  private val kanjiCodePoint:    Int = Character.codePointAt(Array[Char](kanjiChar), 0)
  private val alphabetCodePoint: Int = Character.codePointAt(Array[Char](alphabetChar), 0)
  private val symbolCodePoint:   Int = Character.codePointAt(Array[Char](symbolChar),   0)

  @Test
  def testCharacterClass(): Unit = {
    assert(Character.getName(hiraganaCodePoint) == "HIRAGANA LETTER KA")
    assert(Character.getName(katakanaCodePoint) == "KATAKANA LETTER KA")
    assert(Character.getName(kanjiCodePoint)    == "CJK UNIFIED IDEOGRAPHS 6F22")
    assert(Character.getName(alphabetCodePoint) == "LATIN CAPITAL LETTER C")
    assert(Character.getName(symbolCodePoint)   == "PLUS SIGN")
  }

  @Test
  def testCharacterType(): Unit = {
    //index order
    assert( 0 == Character.UNASSIGNED)
    assert( 1 == Character.UPPERCASE_LETTER)
    assert( 2 == Character.LOWERCASE_LETTER)
    assert( 3 == Character.TITLECASE_LETTER)
    assert( 4 == Character.MODIFIER_LETTER)
    assert( 5 == Character.OTHER_LETTER)
    assert( 6 == Character.NON_SPACING_MARK)
    assert( 7 == Character.ENCLOSING_MARK)
    assert( 8 == Character.COMBINING_SPACING_MARK)
    assert( 9 == Character.DECIMAL_DIGIT_NUMBER)
    assert(10 == Character.LETTER_NUMBER)
    assert(11 == Character.OTHER_NUMBER)
    assert(12 == Character.SPACE_SEPARATOR)
    assert(13 == Character.LINE_SEPARATOR)
    assert(14 == Character.PARAGRAPH_SEPARATOR)
    assert(15 == Character.CONTROL)
    assert(16 == Character.FORMAT)
    //17?
    assert(18 == Character.PRIVATE_USE)
    assert(19 == Character.SURROGATE)
    assert(20 == Character.DASH_PUNCTUATION)
    assert(21 == Character.START_PUNCTUATION)
    assert(22 == Character.END_PUNCTUATION)
    assert(23 == Character.CONNECTOR_PUNCTUATION)
    assert(24 == Character.OTHER_PUNCTUATION)
    assert(25 == Character.MATH_SYMBOL)
    assert(26 == Character.CURRENCY_SYMBOL)
    assert(27 == Character.MODIFIER_SYMBOL)
    assert(28 == Character.OTHER_SYMBOL)
    assert(29 == Character.INITIAL_QUOTE_PUNCTUATION)
    assert(30 == Character.FINAL_QUOTE_PUNCTUATION)

    //alphabetical order
    assert( 8 == Character.COMBINING_SPACING_MARK)
    assert(23 == Character.CONNECTOR_PUNCTUATION)
    assert(15 == Character.CONTROL)
    assert(26 == Character.CURRENCY_SYMBOL)
    assert(20 == Character.DASH_PUNCTUATION)
    assert( 9 == Character.DECIMAL_DIGIT_NUMBER)
    assert( 7 == Character.ENCLOSING_MARK)
    assert(22 == Character.END_PUNCTUATION)
    assert(30 == Character.FINAL_QUOTE_PUNCTUATION)
    assert(16 == Character.FORMAT)
    assert(29 == Character.INITIAL_QUOTE_PUNCTUATION)
    assert(10 == Character.LETTER_NUMBER)
    assert(13 == Character.LINE_SEPARATOR)
    assert( 2 == Character.LOWERCASE_LETTER)
    assert(25 == Character.MATH_SYMBOL)
    assert( 4 == Character.MODIFIER_LETTER)
    assert(27 == Character.MODIFIER_SYMBOL)
    assert( 6 == Character.NON_SPACING_MARK)
    assert( 5 == Character.OTHER_LETTER)
    assert(11 == Character.OTHER_NUMBER)
    assert(24 == Character.OTHER_PUNCTUATION)
    assert(28 == Character.OTHER_SYMBOL)
    assert(14 == Character.PARAGRAPH_SEPARATOR)
    assert(18 == Character.PRIVATE_USE)
    assert(12 == Character.SPACE_SEPARATOR)
    assert(21 == Character.START_PUNCTUATION)
    assert(19 == Character.SURROGATE)
    assert( 3 == Character.TITLECASE_LETTER)
    assert( 0 == Character.UNASSIGNED)
    assert( 1 == Character.UPPERCASE_LETTER)

    //Char
    assert(Character.getType(hiraganaChar) == Character.OTHER_LETTER)
    assert(Character.getType(katakanaChar) == Character.OTHER_LETTER)
    assert(Character.getType(kanjiChar)    == Character.OTHER_LETTER)
    assert(Character.getType(alphabetChar) == Character.UPPERCASE_LETTER)
    assert(Character.getType(symbolChar)   == Character.MATH_SYMBOL)

    //コードポイント
    assert(Character.getType(hiraganaCodePoint) == Character.OTHER_LETTER)
    assert(Character.getType(katakanaCodePoint) == Character.OTHER_LETTER)
    assert(Character.getType(kanjiCodePoint)    == Character.OTHER_LETTER)
    assert(Character.getType(alphabetCodePoint) == Character.UPPERCASE_LETTER)
    assert(Character.getType(symbolCodePoint)   == Character.MATH_SYMBOL)
  }

  @Test
  def testCharacterDirectionality(): Unit = {
    //index order
    assert((-1: Byte) == Character.DIRECTIONALITY_UNDEFINED)
    assert(( 0: Byte) == Character.DIRECTIONALITY_LEFT_TO_RIGHT)
    assert(( 1: Byte) == Character.DIRECTIONALITY_RIGHT_TO_LEFT)
    assert(( 2: Byte) == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC)
    assert(( 3: Byte) == Character.DIRECTIONALITY_EUROPEAN_NUMBER)
    assert(( 4: Byte) == Character.DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR)
    assert(( 5: Byte) == Character.DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR)
    assert(( 6: Byte) == Character.DIRECTIONALITY_ARABIC_NUMBER)
    assert(( 7: Byte) == Character.DIRECTIONALITY_COMMON_NUMBER_SEPARATOR)
    assert(( 8: Byte) == Character.DIRECTIONALITY_NONSPACING_MARK)
    assert(( 9: Byte) == Character.DIRECTIONALITY_BOUNDARY_NEUTRAL)
    assert((10: Byte) == Character.DIRECTIONALITY_PARAGRAPH_SEPARATOR)
    assert((11: Byte) == Character.DIRECTIONALITY_SEGMENT_SEPARATOR)
    assert((12: Byte) == Character.DIRECTIONALITY_WHITESPACE)
    assert((13: Byte) == Character.DIRECTIONALITY_OTHER_NEUTRALS)
    assert((14: Byte) == Character.DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING)
    assert((15: Byte) == Character.DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE)
    assert((16: Byte) == Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING)
    assert((17: Byte) == Character.DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE)
    assert((18: Byte) == Character.DIRECTIONALITY_POP_DIRECTIONAL_FORMAT)

    //alphabetical order
    assert(( 6: Byte) == Character.DIRECTIONALITY_ARABIC_NUMBER)
    assert(( 9: Byte) == Character.DIRECTIONALITY_BOUNDARY_NEUTRAL)
    assert(( 7: Byte) == Character.DIRECTIONALITY_COMMON_NUMBER_SEPARATOR)
    assert(( 3: Byte) == Character.DIRECTIONALITY_EUROPEAN_NUMBER)
    assert(( 4: Byte) == Character.DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR)
    assert(( 5: Byte) == Character.DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR)
    assert(( 0: Byte) == Character.DIRECTIONALITY_LEFT_TO_RIGHT)
    assert((14: Byte) == Character.DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING)
    assert((15: Byte) == Character.DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE)
    assert(( 8: Byte) == Character.DIRECTIONALITY_NONSPACING_MARK)
    assert((13: Byte) == Character.DIRECTIONALITY_OTHER_NEUTRALS)
    assert((10: Byte) == Character.DIRECTIONALITY_PARAGRAPH_SEPARATOR)
    assert((18: Byte) == Character.DIRECTIONALITY_POP_DIRECTIONAL_FORMAT)
    assert(( 1: Byte) == Character.DIRECTIONALITY_RIGHT_TO_LEFT)
    assert(( 2: Byte) == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC)
    assert((16: Byte) == Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING)
    assert((17: Byte) == Character.DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE)
    assert((11: Byte) == Character.DIRECTIONALITY_SEGMENT_SEPARATOR)
    assert((-1: Byte) == Character.DIRECTIONALITY_UNDEFINED)
    assert((12: Byte) == Character.DIRECTIONALITY_WHITESPACE)

    //Char
    assert(Character.getDirectionality(hiraganaChar) == Character.DIRECTIONALITY_LEFT_TO_RIGHT)
    assert(Character.getDirectionality(katakanaChar) == Character.DIRECTIONALITY_LEFT_TO_RIGHT)
    assert(Character.getDirectionality(kanjiChar)    == Character.DIRECTIONALITY_LEFT_TO_RIGHT)
    assert(Character.getDirectionality(alphabetChar) == Character.DIRECTIONALITY_LEFT_TO_RIGHT)
    assert(Character.getDirectionality(symbolChar)   == Character.DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR)

    //コードポイント
    assert(Character.getDirectionality(hiraganaCodePoint) == Character.DIRECTIONALITY_LEFT_TO_RIGHT)
    assert(Character.getDirectionality(katakanaCodePoint) == Character.DIRECTIONALITY_LEFT_TO_RIGHT)
    assert(Character.getDirectionality(kanjiCodePoint)    == Character.DIRECTIONALITY_LEFT_TO_RIGHT)
    assert(Character.getDirectionality(alphabetCodePoint) == Character.DIRECTIONALITY_LEFT_TO_RIGHT)
    assert(Character.getDirectionality(symbolCodePoint)   == Character.DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR)
  }

  @Test
  def testCharacterUnicodeScriptOf(): Unit = {
    assert(Character.UnicodeScript.of(hiraganaCodePoint) == Character.UnicodeScript.HIRAGANA)
    assert(Character.UnicodeScript.of(katakanaCodePoint) == Character.UnicodeScript.KATAKANA)
    assert(Character.UnicodeScript.of(kanjiCodePoint)    == Character.UnicodeScript.HAN)
    assert(Character.UnicodeScript.of(alphabetCodePoint) == Character.UnicodeScript.LATIN)
    assert(Character.UnicodeScript.of(symbolCodePoint)   == Character.UnicodeScript.COMMON)
  }

  @Test
  def testCharacterUnicodeBlockOf(): Unit = {
    assert(Character.UnicodeBlock.of(hiraganaChar) == Character.UnicodeBlock.HIRAGANA)
    assert(Character.UnicodeBlock.of(katakanaChar) == Character.UnicodeBlock.KATAKANA)
    assert(Character.UnicodeBlock.of(kanjiChar)    == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS)
    assert(Character.UnicodeBlock.of(alphabetChar) == Character.UnicodeBlock.BASIC_LATIN)
    assert(Character.UnicodeBlock.of(symbolChar)   == Character.UnicodeBlock.BASIC_LATIN)

    assert(Character.UnicodeBlock.of(hiraganaCodePoint) == Character.UnicodeBlock.HIRAGANA)
    assert(Character.UnicodeBlock.of(katakanaCodePoint) == Character.UnicodeBlock.KATAKANA)
    assert(Character.UnicodeBlock.of(kanjiCodePoint)    == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS)
    assert(Character.UnicodeBlock.of(alphabetCodePoint) == Character.UnicodeBlock.BASIC_LATIN)
    assert(Character.UnicodeBlock.of(symbolCodePoint)   == Character.UnicodeBlock.BASIC_LATIN)
  }

  private val nullPoGa: NormalizedString = NormalizedString(StringOption("「ぬるぽ」「ガッ」"))

  @Test
  def testKatakana2Hiragana(): Unit = {
    assert(JapaneseCharacterCaseConverter.convertKatakana2Hiragana(nullPoGa).toString == "「ぬるぽ」「がっ」")
  }

  @Test
  def testHiragana2Katakana(): Unit = {
    assert(JapaneseCharacterCaseConverter.convertHiragana2Katakana(nullPoGa).toString == "「ヌルポ」「ガッ」")
  }

  @Test
  def testKanji(): Unit = {
    assert(JISLevel1to2KanjiCharacter.isDefined(kanjiChar))
    assert(JISLevel1to2KanjiCharacter.isDefined(Character.codePointAt(kanjiChar.toString, 0)))
  }

  private val upperCaseChar: Char = '\u01C7'//「LJ」
  private val titleCaseChar: Char = '\u01C8'//「Lj」
  private val lowerCaseChar: Char = '\u01C9'//「lj」

  private val upperCaseCodePoint: Int = Character.codePointAt(Array[Char](upperCaseChar), 0)
  private val titleCaseCodePoint: Int = Character.codePointAt(Array[Char](titleCaseChar), 0)
  private val lowerCaseCodePoint: Int = Character.codePointAt(Array[Char](lowerCaseChar), 0)

  @Test
  def testConverseLetterCaseOfCharacterWithChar(): Unit = {
    assert(Character.toUpperCase(upperCaseChar) == upperCaseChar)
    assert(Character.toUpperCase(titleCaseChar) == upperCaseChar)
    assert(Character.toUpperCase(lowerCaseChar) == upperCaseChar)

    assert(Character.toTitleCase(upperCaseChar) == titleCaseChar)
    assert(Character.toTitleCase(titleCaseChar) == titleCaseChar)
    assert(Character.toTitleCase(lowerCaseChar) == titleCaseChar)

    assert(Character.toLowerCase(upperCaseChar) == lowerCaseChar)
    assert(Character.toLowerCase(titleCaseChar) == lowerCaseChar)
    assert(Character.toLowerCase(lowerCaseChar) == lowerCaseChar)
  }

  @Test
  def testConverseLetterCaseOfCharacterWithCodePoint(): Unit = {
    assert(Character.toUpperCase(upperCaseCodePoint) == upperCaseChar)
    assert(Character.toUpperCase(titleCaseCodePoint) == upperCaseChar)
    assert(Character.toUpperCase(lowerCaseCodePoint) == upperCaseChar)

    assert(Character.toTitleCase(upperCaseCodePoint) == titleCaseChar)
    assert(Character.toTitleCase(titleCaseCodePoint) == titleCaseChar)
    assert(Character.toTitleCase(lowerCaseCodePoint) == titleCaseChar)

    assert(Character.toLowerCase(upperCaseCodePoint) == lowerCaseChar)
    assert(Character.toLowerCase(titleCaseCodePoint) == lowerCaseChar)
    assert(Character.toLowerCase(lowerCaseCodePoint) == lowerCaseChar)
  }

  private val locale: Locale = Locale.JAPAN

  @Test
  def testConverseLetterCaseOfString(): Unit = {
    val letterCase: String = "letter Case string"

    assert(letterCase.toUpperCase         == "LETTER CASE STRING")
    assert(letterCase.toUpperCase(locale) == "LETTER CASE STRING")

    assert(letterCase.toLowerCase         == "letter case string")
    assert(letterCase.toLowerCase(locale) == "letter case string")

    //文字列の1文字目を大文字にする
    assert(letterCase.capitalize == "Letter Case string")
  }

  private val wordVariants: String = "スパゲッティ,スパゲッティー,スパゲッテイ,スパゲティ,スパゲティー,スパゲテイ"
  private val nullString: String = null
  private val emptyString: String = ""

  @Test
  def testOption(): Unit = {
    assert(Option(wordVariants).nonEmpty)
    assert(Option(nullString).isEmpty)
    assert(Option(emptyString).nonEmpty)

    Option(wordVariants) match {
      case Some(str) =>
        assert(str == wordVariants)
      case None =>
        assert(false)
    }

    Option(emptyString) match {
      case Some(str) =>
        assert(str == emptyString)
      case None =>
        assert(false)
    }

    val wordVariantsOpt: Option[String] = Option(wordVariants)
    if (wordVariantsOpt.nonEmpty) {
      assert(wordVariantsOpt.get == wordVariants)
    }

    val nullStringOpt: Option[String] = Option(nullString)
    assert(nullStringOpt.getOrElse("ゲッティ") == "ゲッティ")
  }

  @Test
  def testStringOption(): Unit = {
    assert(StringOption(wordVariants).nonEmpty)
    assert(StringOption(nullString).isEmpty)
    assert(StringOption(emptyString).isEmpty)

    StringOption(wordVariants) match {
      case StringSome(str) =>
        assert(str == wordVariants)
      case StringNone =>
        assert(false)
    }

    StringOption(emptyString) match {
      case StringSome(str) =>
        assert(false)
      case StringNone =>
        assert(true)
    }
  }

  //\u30AC = 全角カタカナの「ガ」
  private val sOfU30AC = "\u30AC"
  //\u30AB = 全角カタカナの「カ」
  private val sOfU30AB = "\u30AB"
  //\uFF76 = 半角カタカナの「カ」
  private val sOfUFF76 = "\uFF76"
  //\u30F5 = 小書の全角カタカナの「ヵ」
  private val sOfU30F5 = "\u30F5"
  //\u32D5 = 丸囲いカタカナの「㋕」
  private val sOfU32D5 = "\u32D5"
  //\u309B = 全角濁点の「゙」
  private val sOfU309B = "\u309B"
  //\u3099 = 全角濁点の「゛」
  private val sOfU3099 = "\u3099"
  //\uFF9E = 半角濁点の「゙」
  private val sOfUFF9E = "\uFF9E"
  @Test
  def testNormalizedStringOfCompatibilityEquivalent(): Unit = {
    //カ
    val nsOfU30AB: NormalizedString = NormalizedString(StringOption(sOfU30AB))
    val nsOfUFF76: NormalizedString = NormalizedString(StringOption(sOfUFF76))
    val nsOfU30F5: NormalizedString = NormalizedString(StringOption(sOfU30F5))
    val nsOfU32D5: NormalizedString = NormalizedString(StringOption(sOfU32D5))
    //濁点
    val nsOfU309B: NormalizedString = NormalizedString(StringOption(sOfU309B))
    val nsOfU3099: NormalizedString = NormalizedString(StringOption(sOfU3099))
    val nsOfUFF9E: NormalizedString = NormalizedString(StringOption(sOfUFF9E))

    assert(nsOfU30AB.toString == sOfU30AB)
    assert(nsOfU30AB == nsOfUFF76)
    assert(nsOfU30AB != nsOfU30F5)
    assert(nsOfU30AB == nsOfU32D5)

    assert(nsOfU3099.toString == sOfU3099)
    assert(nsOfU3099 == nsOfUFF9E)
    assert(nsOfU3099 != nsOfU309B)
    assert(nsOfUFF9E != nsOfU309B)
  }

  @Test
  def testNormalizedStringOfCanonicalEquivalent(): Unit = {
    val nsOfU30AC: NormalizedString = NormalizedString(StringOption(sOfU30AC))

    val nsOfU30ABU309B: NormalizedString = NormalizedString(StringOption(sOfU30AB concat sOfU309B))
    val nsOfU30ABU3099: NormalizedString = NormalizedString(StringOption(sOfU30AB concat sOfU3099))
    val nsOfU30ABUFF9E: NormalizedString = NormalizedString(StringOption(sOfU30AB concat sOfUFF9E))

    val nsOfUFF76U309B: NormalizedString = NormalizedString(StringOption(sOfUFF76 concat sOfU309B))
    val nsOfUFF76U3099: NormalizedString = NormalizedString(StringOption(sOfUFF76 concat sOfU3099))
    val nsOfUFF76UFF9E: NormalizedString = NormalizedString(StringOption(sOfUFF76 concat sOfUFF9E))

    val nsOfU30F5U309B: NormalizedString = NormalizedString(StringOption(sOfU30F5 concat sOfU309B))
    val nsOfU30F5U3099: NormalizedString = NormalizedString(StringOption(sOfU30F5 concat sOfU3099))
    val nsOfU30F5UFF9E: NormalizedString = NormalizedString(StringOption(sOfU30F5 concat sOfUFF9E))

    val nsOfU32D5U309B: NormalizedString = NormalizedString(StringOption(sOfU32D5 concat sOfU309B))
    val nsOfU32D5U3099: NormalizedString = NormalizedString(StringOption(sOfU32D5 concat sOfU3099))
    val nsOfU32D5UFF9E: NormalizedString = NormalizedString(StringOption(sOfU32D5 concat sOfUFF9E))

    assert(nsOfU30AC.toString == sOfU30AC)

    assert(nsOfU30AC != nsOfU30ABU309B)
    assert(nsOfU30AC == nsOfU30ABU3099)
    assert(nsOfU30AC == nsOfU30ABUFF9E)

    assert(nsOfU30AC != nsOfUFF76U309B)
    assert(nsOfU30AC == nsOfUFF76U3099)
    assert(nsOfU30AC == nsOfUFF76UFF9E)

    assert(nsOfU30AC != nsOfU30F5U309B)
    assert(nsOfU30AC != nsOfU30F5U3099)
    assert(nsOfU30AC != nsOfU30F5UFF9E)

    assert(nsOfU30AC != nsOfU32D5U309B)
    assert(nsOfU30AC == nsOfU32D5U3099)
    assert(nsOfU30AC == nsOfU32D5UFF9E)
  }

  @Test
  def testNormalizedString(): Unit = {
    NormalizedString(StringOption(wordVariants)).toStringOption match {
      case StringSome(str) =>
        assert(str == "スパゲッティ,スパゲッティ,スパゲッティ,スパゲッティ,スパゲッティ,スパゲッティ")
      case StringNone =>
        assert(false)
    }
  }

  @Test
  def testNormalizedSentence(): Unit = {
    val text: String = """2005年にカンザス州教育委員会では、公教育において進化論と同様にインテリジェント・デザイン(ID説)の立場も教えなければいけないという決議が評決されることになっていた。前年の教育委員の改選で委員6人中4人を保守派が占めており、可決は確実と見られていた。これに抗議するために、2005年6月、アメリカ合衆国のオレゴン州立大学物理学科卒業生のボビー・ヘンダーソンは公開質問状を提出した。ヘンダーソンは自分のサイト "venganza.org" (スペイン語で復讐の意)において空飛ぶスパゲッティー・モンスターの概略を示して、明らかな証拠や、それに基づいて進化を説明できる十分な論理性・整合性があると論じ、創造論の一部として「空飛ぶスパゲティ・モンスター」を進化論やID説と同様に公立高校で教えることを公開質問状において提案した。"""
    val sentences = JapaneseSentenceSplitter.split(StringOption(text))
    //sentencesの型はSeq[NormalizedSentence]だが、NormalizedSentenceの型にはここからアクセスできないため、型を明示的に書けない。

    assert(sentences.length == 4)
    assert(sentences.head.text == """2005年にカンザス州教育委員会では、公教育において進化論と同様にインテリジェントデザイン(ID説)の立場も教えなければいけないという決議が評決されることになっていた。""")
    assert(sentences(1).text   == """前年の教育委員の改選で委員6人中4人を保守派が占めており、可決は確実と見られていた。""")
    assert(sentences(2).text   == """これに抗議するために、2005年6月、アメリカ合衆国のオレゴン州立大学物理学科卒業生のボビーヘンダーソンは公開質問状を提出した。""")
    assert(sentences.last.text == """ヘンダーソンは自分のサイト "venganza.org" (スペイン語で復讐の意)において空飛ぶスパゲッティモンスターの概略を示して、明らかな証拠や、それに基づいて進化を説明できる十分な論理性整合性があると論じ、創造論の一部として「空飛ぶスパゲッティモンスター」を進化論やID説と同様に公立高校で教えることを公開質問状において提案した。""")

    assert(JapaneseSentenceSplitter.split(StringOption("、")).isEmpty)
    assert(JapaneseSentenceSplitter.split(StringOption("、、")).isEmpty)
    assert(JapaneseSentenceSplitter.split(StringOption("、、。")).isEmpty)
    assert(JapaneseSentenceSplitter.split(StringOption("、。、")).isEmpty)
    assert(JapaneseSentenceSplitter.split(StringOption("。、、")).isEmpty)
    assert(JapaneseSentenceSplitter.split(StringOption("。")).isEmpty)
    assert(JapaneseSentenceSplitter.split(StringOption("。。")).isEmpty)
  }
}

redpajama_set_name: RedPajamaGithub


Asus P5E-VM DO + built-in NIC, please note to disable VT-d on motherboard BIOS.
Performance from the Thecus is quite amazing, I have been using it already for 2 years. Specs 5x 750GB Seagate SATA drives configured as RAID 6.


The mobilities group of the Gendering Asia Network has published a special issue of Norsk Geografisk Tidsskrift – Norwegian Journal of Geography (Volume 67, Issue 4, 2013) on the theme of Gendered Mobilities in Asia. See http://www.tandfonline.com/toc/sgeo20/67/4.
The Gendering Asia Network www.genderingasia.net is supported by NordForsk.


text:
Zdeněk Holub (ur. 1966) – czechosłowacki żużlowiec
 Zdeněk Holub (ur. 1996) – czeski żużlowiec

redpajama_set_name: RedPajamaWikipedia


I will be speaking on as the invited expert on Spanish food, wine and culture on two of these luxury train trips in July.
Short video report from Spanish television about this wonderful train.
Here is a report from Day One of a trip last year.
Several members of our group rode the AVE high-speed train from Madrid Atocha station to Zaragoza.
After the arrival of the group at 12:00h in the Delicias de Zaragoza station and comfortably boarding on the train, we had a cava (Spanish champagne) toast and were then taken to lunch in El Centro Comercial Puerto Venecia (outside the city) at Bal D'O Restaurant (OK food, but not recommended because of its location in a shopping mall, not worth the trip unless you have to go to Toys R Us or Ikea and I can't imagine you would visit Zaragoza for that!).
José Antonio Rodriguez, Renfe – Responsable Trenes Turísticos de Lujo, and Marcelino Cortes, Renfe – Jefe de Expedición at the cava toast to open the Tren Al Andalus Camino de Santiago inaugural trip. Beginning from Zaragoza Las Delicias station.
Photo by Gerry Dawes copyright 2013 / gerrydawes@aol.com / Canon EOS 6D / Tokina 17-35mm f/4.
Zaragoza was founded by Cesar Augusta in the year 24 B. C. And, under the name Medina Albaida Sarakosta, the Moors turned the ancient Roman city into one of the major centers of the cultural world during its time.
During our bus trip to Zaragoza, we visitted La Plaza de Las Catedrales, on which the statues of Goya and figures from his paintings grace a large square surrounded by la Basílica-Catedral del Pilar, la Catedral of San Salvador (knonw as La Seo, this cathedral has Moorish, Mudejar, Romanesque and Gothic with amazing Mudejar-design walls and towers.
Nuestra Señora del Pilar de Zaragoza, image of La Virgen del Pilar in a shop near the Cathedral.
Later that afternoon, we visited the well restored 11th century Moorish palace-castle fortress, la Aljafería, when Zaragoza was a taifa of Al-Andalus. After the Christian reconquest of Zaragoza, Aragonese kings stood watch over their armor the night before their investiture.
After the visit to Zaragoza, we re-boarded the train and rolled on towards to Miranda de Ebro (Burgos province), where we would spend the night on the train parked in the station. Along the way, we had our first dinner on board.


text:
Women, kids among 1,200 Afghan illegals jailed in Pakistan
Dec. 29, 2022 8:30 a.m.
Pakistani police in multiple raids detained at least 1,200 Afghan nationals, including women and children, who entered the southern port city of Karachi without valid travel documents, officials said.
The arrests brought criticism from around Afghanistan after images of locked up Afghan children were circulated online. The detentions underscored the strained relations between the two South Asian neighbors.
Police and local government officials said Wednesday the detainees will be deported to Afghanistan after serving jail sentences or when the paperwork for their release is completed by their attorneys.
Pakistani officials claim that most of the detainees wish to return home.
Although Pakistan routinely makes such arrests, multiple and apparently coordinated raids were launched beginning in October to detain Afghans staying in Karachi and elsewhere without valid documents.
Gul Din, an official at the Afghan Consulate in Karachi, said he was in contact with Pakistan about a "quick and dignified return" of the Afghan citizens to their homeland.
Pictures of some Afghan children crammed into a cell of the central jail in Karachi went viral on social media, drawing appeals for their release along with their parents.
At least 139 Afghan women and 165 children are among those being held at a high-security jail in Karachi, according to a report released this month by Pakistan's National Commission on Human Rights. The report was based on interviews with scores of imprisoned Afghan detainees.
In the Afghan capital of Kabul, Abdul Qahar Balkhi, a spokesman for the foreign affairs ministry, said embassy officials had expressed their concerns during meetings with their Pakistani counterparts.
"The Pakistani authorities have repeatedly pledged swift release of these detainees," he told The Associated Press, saying so far Pakistan had failed to "fully deliver on the commitment."
"We believe that such degrading treatment of Afghans in Pakistan is not in the interest of any party," Balkhi said. He said Afghans were advised not to enter Pakistan "unless absolutely necessary and without proper documentation."
In Karachi, Murtaza Wahab, a spokesman for the Sindh provincial government, said police recently arrested only those Afghans who were residing in the province without valid documents. He said such detainees will be deported. He did not say how many Afghans were arrested for illegally residing in Sindh this year.
But Moniza Kakar, a lawyer who helps such Afghan detainees, said at least 1,400 Afghans were being held in Karachi's jails. "We are not sure exactly how many Afghans are currently being held at jails in Pakistan. So far, we have facilitated the release of hundreds of Afghans to their country," she said.
Kakar said some pregnant Afghan women who fled Afghanistan to seek medical treatment and for other reasons, are among those detained in Karachi and elsewhere in Sindh province. She said one of the female Afghan detainees recently gave birth to a child in the Hyderabad jail.
Millions of Afghans fled their country to Pakistan during the 1979-1989 Soviet occupation of Afghanistan, creating one of the world's largest refugee populations. Since then, Pakistan has been hosting Afghans, urging them to register themselves with the U.N. and local authorities to avoid any risk of deportation.
According to a recently conducted United Nations-backed survey, 1.3 million registered Afghan refugees are residing in Pakistan.
"Following the takeover of Afghanistan by the Afghan Taliban, there has been a drastic rise in Afghans seeking to enter Pakistan for a multitude of reasons ranging from fleeing persecution, seeking medical aid and looking for job opportunities," the report released by the National Commission on Human Rights last week said.
Pakistan and neighboring Afghanistan have a history of bitter relations.
This month, Pakistan twice briefly closed a key border crossing for trade at the southwestern town of Chaman after clashes erupted between Pakistan and Afghan Taliban forces over the fencing of a remote border village.
The Taliban seized power in Afghanistan in 2021, sweeping into the capital, Kabul, and taking the rest of the country as U.S. and NATO forces were in the final weeks of a pullout after 20 years of war. Since then, over 100,000 Afghans have arrived in Pakistan to avoid persecution at home, although Afghanistan's Taliban rulers announced a pardon, urging their citizens not to leave the country.
Ahmed from Islamabad and Riazat Butt from Kabul, Afghanistan, contributed to this story.
By Adil Jawad And Munir Ahmed
Israel swears in Netanyahu as PM of hard-line government
A look at 6 Canadian police officers who were killed in recent months

redpajama_set_name: RedPajamaCommonCrawl


text:
Jesuit Higher Education Leaders Respond to President Trump's Executive Order
BY ISN STAFF | January 30, 2017
Last week President Trump issued an executive order that banned indefinitely Syrian refugees from entering the U.S., suspended all refugee admissions for 120 days, and blocked citizens of seven Muslim-majority countries, refugees or otherwise, from entering the United States for 90 days: Iran, Iraq, Libya, Somalia, Sudan, Syria, and Yemen.
Community and faith leaders across the country have made public statements about these actions, expressing concerns for the dignified treatment of vulnerable populations and offering assurances of protection and respect for individuals who may be affected in some way. In particular, leaders expressed support for community members who are Muslim and were specifically targeted by the refugee and immigration announcements made on Friday.
Presidents of Jesuit colleges and universities were some of the many higher education leaders who spoke out in support of these communities with statements shared via e-mail and social media over the past few days.
Citing the executive order focused on Muslim-majority countries, Fr. Bill Leahy, S.J. and fellow administrators at Boston College, in a statement published on the college's website, said "the order is also contrary to American understandings of this nation's role as a refuge and its place as a society that does not discriminate on the basis of religion or national origin." Fr. Leahy also said that Boston College is committed to ensuring that all community members feel "safe and valued."
Jack DeGioia, Ph.D., president of Georgetown University, noted that the university places special emphasis on "interreligious dialogue" and an "openness to different faith traditions and cultures" in a statement published on the university website and shared via his university Facebook account. He also noted Georgetown's desire to support a "diverse and vibrant Muslim community," on the university campus. Dr. DeGioia closed the statement with the following message: "In this moment of challenge and uncertainty, we have an ever more urgent responsibility to care for one another, to empathize with those in need, to dedicate our knowledge to service, and to place above all the betterment of humankind," and challenged the community to be animated by the call to action.
"We find enrichment and strength in our diversity," noted Stephen V. Sundborg, S.J., president of Seattle University, in a statement made available on the university website. Citing the Jesuit mission of the university, he stated declaratively that the university "strongly opposes the discriminatory and misguided executive order issued by the Trump administration on non-U.S. citizens from select countries."
Writing a message while attending a series of higher education network meetings in Washington, D.C., Fred Pestello, Ph.D., president of Saint Louis University, issued a statement in which he spoke decisively about those who could be impacted by the executive action, saying the university "will take every action within the law to protect all members of our community, including Muslim students and faculty" who are in the U.S. on visas.
Muslim female students at John Carroll University participate in a "Living the Mission" panel in March of 2014. [John Carroll University]
In a statement addressed to the John Carroll University community, Fr. Robert Niehoff, S.J., the school's president, noted that the university stands with a number of higher education networks, including the Association of Jesuit Colleges and Universities, the Association of Catholic Colleges and Universities (ACCU), and the National Association of Independent Colleges and Universities (NAICU) in advocating for "sensible immigration policies that do not discriminate against our students, faculty, and staff, while still protecting national security."
Citing the ideals of diversity, equity, and inclusion, Rev. Brian F. Linnane, S.J., president of Loyola University Maryland affirmed in a statement "that diversity in the Loyola community includes individuals and their families who are refugees, immigrants, or not U.S. citizens." He went on to further state that "because the seven nations included in the executive order are predominantly Muslim countries, I also want to assure those members of our community who are Muslim that they remain most welcome and valued members of our community."
Rev. Daniel S. Hendrickson, S.J., president of Creighton University stated concern surrounding the diminishment of the strength of American universities' research and education if the numbers of international students and faculty are sharply limited, and went on to affirm the commitment of the university, guided by Jesuit ideals, to "reach out in support of immigrants and refugees."
As interim president at Fairfield University, Lynn Babington referenced in a statement then-President, Jeffrey P. von Arx S.J.'s December signature of both the statement in support of the retention of the Deferred Action for Childhood Arrivals Program (DACA), as well as the AJCU's statement of ongoing support for undocumented immigrant students. Babington, with the rest of the administration at Fairfield, commits to "uphold and advocate for the rights of international students, faculty and staff to continue their education, research and other work."
"Though we do not know the ultimate outcome of the president's order (nor subsequent orders and legislation)," stated Joseph M. McShane, S.J., president of Fordham University, "please be assured that Fordham University stands with the tens of thousands of refugees and would-be immigrants affected by these laws. We have a long history as a University of and for immigrants, in a city and a nation built by immigrants."
Gonzaga University President Thayne M. McCulloh in a statement affirmed the university's fundamental commitments, reflected in the Mission Statement, to ". . . (the) dignity of the human person, social justice, diversity, intercultural competence, global engagement, solidarity with the poor and vulnerable, and care for the planet," particularly in relation to immigrant and "undocumented" students.
In a statement, Linda LeMura, president of LeMoyne College affirmed the school's commitment to immigrants and refugees, and suggested action to be taken, including: "Donate to or volunteer at local agencies such as Catholic Charities and Interfaith Works, which support the resettlement of refugees to Syracuse; donate to the ACLU; and attend campus lectures and programs coordinated by the Muslim Student Association, Multicultural Affairs, and faculty on topics of inclusion."
"Members of our LMU family are persons for and with others; affiliating them with terrorists violates their dignity, along with what has made and continues to make America great," stated Loyola Marymount University President Timothy Law Snyder.
Loyola University Chicago President Jo Ann Rooney issued the following words to the university community, responding to the fear and uncertainty expressed by many: "I want you to know that the University continues to advocate on a multitude of fronts, including local, regional, and national levels. Our focus is on ensuring the protection and dignity of all of the members of our community and society. For those feeling frightened or vulnerable in light of recent events, I hope to offer some solace as you do not stand alone in facing the future. Loyola University Chicago stands with you in solidarity and with moral clarity. We will never stop advocating to fashion a peaceful and just society that our faith calls us to build."
Kevin Wm. Wildes, S.J., president of Loyola University New Orleans in a statement offered affirmation of Jesuit, Catholic values in relation to acceptance of refugees, and offered words of prayer: "Give comfort to the more than 30,000 people worldwide who are forcibly displaced from their homes every day because of violence that is an affront to you. And heal the wounds of national, racial, and religious division so that we may always choose compassion over fear, hospitality over indifference, and human dignity over political expedience."
"We are steadfast in our commitment to serve all as a welcoming learning community that is open to people from a wide variety of backgrounds, perspectives and national origins," stated Marquette University President Michael R. Lovell. "Let's remember the larger American story. We are a nation of immigrants."
In statement from Rockhurst University President Rev. Thomas B Curran, S.J., the words of Pope Francis were quoted in relation to U.S. Immigration Policy: "Remember that authentic hospitality is a profound gospel value that nurtures love and is our greatest security against hateful acts of terrorism."
In a statement emailed to the university community, Saint Peter's University President Dr. Eugene Cornacchia stated the following: "We are a nation of immigrants. My father was an immigrant. I am the grandson of immigrants. My mother-in-law was an immigrant. In my time teaching at Saint Peter's University I have taught students from a wide variety of faith traditions and nationalities. They have greatly enriched the classroom experience for everyone and have also contributed to a richer social and cultural environment on campus, and in our nation and world. I am a better teacher, administrator, father and grandfather – a better human being – because I have come to know people of many different backgrounds."
"This executive order lies in sharp contrast to our mission to care for the most marginalized among us, and to cultivate the cross-cultural understanding that is necessary to address the tremendous problems facing our divided world," explained Fr. Michael E. Engh, S.J., president of Santa Clara University. "The actions of the White House have caused fear and anxiety among many of our international students, and we are committed to caring for them so they may continue their studies and pursue their dreams."
Donald Heller, Provost and Vice President of Academic Affairs at the University of San Francisco, strongly asserted in a statement to the campus community: "You are not alone. Yet the uncertainty of what lies ahead makes us all anxious and fearful. We are fortunate at USF and in the city of San Francisco that resources are available to assist, advise, and counsel. Neither is USF alone. We have joined with Jesuit institutions and academic associations nationally and internationally to build strength and advocacy."
A statement from University of Scranton President Kevin P. Quinn, S.J. affirmed Jesuit and Catholic solidarity with immigrants and refugees, and asserted that "welcoming neighbors from distant shores aligns with our American ideals and is a bedrock of our history in Northeastern Pennsylvania as well."
"Xavier prepares students for a world that is increasingly diverse, complex and interdependent," stated Xavier University President Fr. Mike Graham, S.J. "Furthermore, our Jesuit tradition compels us to be people for and with others. Driven by these commitments, I want to be clear that Xavier will remain steadfastly committed to being a diverse and inclusive community. All are welcome here regardless of faith, national origin or immigration status."
These statements by Jesuit college and university leaders come less than two months after twenty-seven Association of Jesuit Colleges and Universities presidents signed a statement in support of undocumented students and called for the Deferred Action for Childhood Arrivals (DACA) program to be sustained in some capacity. Throughout the 2016 presidential campaign, President Trump suggested that he would end the DACA program but has not yet issued an executive order to do so. Congressional leaders have initiated a legislative response known as the BRIDGE Act which would sustain the opportunities for undocumented young people brought to the U.S. as children, offering benefits similar to those currently received by DACA recipients. The United States Conference of Catholic Bishops, Association of Jesuit Colleges and Universities, and Ignatian Solidarity Network have all publicly supported the passage of the BRIDGE Act if President Trump does take action to eliminate DACA.
Editor's Note: This piece was originally published as part of the Ignatian Solidarity Network News From the Network series.
January 30, 2017 /0 Comments/by ISN Staff
Tags: Boston College, Creighton University, Fairfield University, Fordham University, Georgetown University, Gonzaga University, John Carroll University, LeMoyne College, Loyola Marymount University, Loyola University Chicago, Loyola University Maryland, Loyola University New Orleans, Marquette University, Rockhurst University, Saint Louis University, Saint Peter's University, Santa Clara University, Seattle University, University of San Francisco, University of Scranton, Xavier University
https://ignatiansolidarity.net/campaignforhospitality/wp-content/uploads/sites/17/2017/09/jesuit-statements-featured.jpg 450 845 ISN Staff https://s3-us-west-2.amazonaws.com/ignatiansolidarity/wp-content/uploads/sites/17/2017/06/22174326/Campaign-for-Hospitality-Final-300x285-1.png ISN Staff2017-01-30 15:51:022017-09-25 20:04:17Jesuit Higher Education Leaders Respond to President Trump's Executive Order
UndocuWeek at Xavier University
From Policies to People: Examining Immigration in Canada
Student Leaders at Stritch School of Medicine at Loyola University Chicago Support Peers with DACA Status
Personal Experience Leads to Work for Educational Equity for Dreamers at Marquette University
Jesuit Jam: Supporting Undocumented Students at Loyola University Chicago
The Table Has Grown: Encounter and Hospitality at Bellarmine Chapel
Jesuit Network Reacts to DACA Repeal Decision
Jesuit Campuses, Student Government Presidents Advocate for DACA Recipients & Dream Act
Canisius College Provides 13 Asylum Seekers Housing Amid Buffalo Influx
June 22, 2019 8:54 pm | By ISN Staff
Communion at the Border
January 28, 2019 6:58 pm | By Lena Chapin
NYC Catholics Hold Light In the Darkness Pilgrimage to New Jersey Detention Center
October 18, 2018 2:54 pm | By Kevin Tuerff
Jesuit Parishes Collaborate in Support of Immigrants, Detainees, and Refugees
September 19, 2018 7:09 pm | By Vince Herberholt
Two Feet of Love in Action at the Border
September 19, 2018 4:02 pm | By Lizzie Hudson
Jesuits in Formation Assist with Family Reunification Efforts in El Paso
August 30, 2018 6:51 pm | By ISN Staff
Coordinated By
Friends of Fe y Alegría in the United States
Jesuit Conference of Canada and the United States
Jesuit Refugee Service Canada
Jesuit Refugee Service/USA
Jesuit Schools Network
JustFaith Ministries
Kino Border Initiative
© Copyright 2017 - Ignatain Solidarity Network - Enfold WordPress Theme by Kriesi
Attending to the Migrant, Refugee, and Those on the Margins: The Jesuits in... Finding Hope in a Time of Desolation


text:
Christopher de Leon tests positive for coronavirus
Mar 17, 2020 8:28 PM PHT
The actor says he and his family and helpers are now under self-quarantine
MANILA, Philippines – Christopher de Leon said Tuesday, March 17 that he has tested positive for the coronavirus.
On Instagram, the Love Thy Woman actor wrote: "Today, our doctor confirmed that I have COVID-19. I've had no recent travel history outside of the Philippines and no known contact with anyone who is positive to have the virus. However, due to the nature of my work in the entertainment business, I have interacted with many people.
"I therefore ask anyone who has come in contact me within the last week or two to observe stringent self-quarantine, observe for symptoms and follow the triage procedures published by the DOH, whether asymptomatic or not. Please cooperate with the authorities in their contact tracing efforts."
He said that his wife, actress Sandy Andolong, their daughter, and helpers at home are now under self-quarantine.
"My wife Sandy, daughter Mica, and our kasambahay (helpers) are in self quarantine at home. In this time of trial, we ask for your prayers and we continue to praise and thank the Lord for His goodness in our lives."
A post shared by Bo de Leon (@sgt.pepper8) on Mar 17, 2020 at 4:39am PDT
The veteran actor is the latest celebrity to have tested positive for the coronavirus. A number of celebrities such as Tom Hanks, Rita Wilson, and Idris Elba earlier confirmed that they tested positive for the virus. They have since isolated themselves. (READ: Kristofer Hivju, Olga Kurylenko test positive for coronavirus
Christopher is currently on the afternoon drama Love Thy Woman, where he plays Adam Wong, the patriarch of the family. The show stars Kim Chiu, Sunshine Cruz, Eula Valdez, and Yam Concepcion. – Rappler.com


Finish Niki Kofman - Maelstrom on Space mode!
Start Niki Kofman - Maelstrom on Space mode!
Unlock the Niki Kofman - Maelstrom song on space mode!
Finish Niki Kofman - Tropicom on Space mode!
Collect 1700 beats on space mode!
Start Niki Kofman - Tropicom on Space mode!
Unlock the Niki Kofman - Tropicom song on space mode!
Finish Niki Kofman - Tropicom on Arrow mode!
Start Niki Kofman - Tropicom on Arrows mode!
Unlock the Niki Kofman - Tropicom song on arrows mode!
Collect 1500 beats on space mode!
Finish Rolipso - Jumble on Mouse mode!
Start Rolipso - Jumble on Mouse mode!
Unlock the Rolipso - Jumble song on mouse mode!
Collect 500 beats on cube mode!


With crew changeover taking place today, a fresh batch of leggers have just touched down in Cape Town, eager to join their teams for the third race of the 2017-18 edition: The Southern Ocean Leg.
Crew changeover is a significant milestone in a crew member's the Clipper Race journey, and one that Jan Banfield has been looking forward to since a chance encounter with Clipper Race Founder and Chairman Sir Robin Knox-Johnston, CEO William Ward and Head of Communications Julia Fry at Hong Kong airport 18 months ago.
Speaking about the chance meeting, Jan says: "William was sitting next to me at the airport and I just sort of nudged him and said 'can I just let you know that's Sir Robin Knox-Johnston over there!' and he just said 'yes I know, I am William Ward'.
Like some 40 per cent of crew members, Jan had no sailing experience prior to signing up to the Clipper Race. She explains: "I had never sailed in my life. I have always been very sporty and enjoy a bit of a challenge.
"After meeting Robin, William and Julia, I came home but couldn't sleep. I dreamt about the Clipper Race every night, read about it, kept dreaming about it. My poor husband, Wilf, got so fed up he said 'just do it!'. So, I signed up.
And when it comes to her fellow Unicef crew mates, Jan could not be happier to jump on board with them. She adds: "The Unicef crew is just full of really nice people. They are so supportive, non-judgemental, and if you get something wrong, they don't tell you off. Everybody just says, 'right, let's give you a hand', and everyone has different skills.
But for Jan there is an even greater incentive to get to Fremantle as quickly as possible, and that is to see her son and daughter-in-law, who live in the city. Jan explains: "We knew the fleet was going to be going to Western Australia, but we didn't know when I signed up that it was going to be Fremantle so it all has fallen into place. Just the whole thing feels like it's meant to be.
Whilst Jan is yet to begin racing, her Clipper Race has already been hugely rewarding, adding: "For me, it is not about me being Wilf's wife of 40 years, it's not about being a mother to our two wonderful kids, it's not about being a nurse for 36 years. This is stripping all that away and this is just me.
The Clipper Race will re-start on Tuesday 31 October and begin with the slipping lines ceremony at midday (local time). Keep up to speed with Jan and the rest of the Unicef team by visiting the Unicef Team Page on the Clipper Race website. Once the race has re-started, you can track progress on the Clipper Race Viewer.


Those who suffer from temporomandibular joint disorder (TMJ) often don't even know it. All they know is that frequent migraines, jaw pain, and neck pain interfere with their daily lives. But diagnosing and treating the root causes of TMJ can offer relief. At Galleria Dental Aesthetics, we specialize in neuromuscular dentistry, including TMJ. To learn more, please contact our Northern Virginia TMJ dentist today at 703-957-7069.
TMJ disorders cause a wide range of seemingly unrelated symptoms. The only commonality is that the patient suffers. But when TMJ is the cause, a dental orthotic or neuromuscular treatment may be able to help.
Dental orthotics, also called mouth guards, are oral appliances that a patient wears according to his or her own particular needs. Some patients may only need wear such a device at night, while others might require nearly full-time use. Regardless of the specifics, all orthotics aim to improve a patient's bite, which, in turn, helps relieve the underlying causes of TMJ symptoms.
But there are also other treatments available. From medications and heat or ice therapy to jaw exercises and orthodontics, TMJ can respond to a wide range of approaches. The important thing is to seek a diagnosis from a qualified neuromuscular dentist so that you can receive treatment.
If you suffer from headaches, jaw pain, or any of the other symptoms of TMJ, it may be time to consult with a neuromuscular dentist. To schedule an appointment with one of our Northern Virginia TMJ dentists, please contact Galleria Dental Aesthetics today at 703-957-7069.