SlowGuess/NeurIPS_2023_OCR huggingface dataset:
5 When the approximation error  $\epsilon$  tends to zero, the sufficient condition in Theorem 2 requires entanglements to approach zero, unlike the necessary condition in Theorem 1 which requires entanglements to become no greater than  $\ln (R)$ . This is unavoidable. However, if for all canonical partitions  $(\mathcal{K},\mathcal{K}^c)\in \mathcal{C}_N$  the singular values of  $\llbracket \mathcal{A};\mathcal{K}\rrbracket$  trailing after the  $R^{\prime}$ th one are small, then we can also guarantee an assignment for the locally connected tensor network satisfying  $\| \mathcal{W}_{\mathrm{TN}} - \mathcal{A}\| \leq \epsilon$ , while  $QE(\mathcal{A};\mathcal{K})$  can be on the order of  $\ln (R)$  for all  $(\mathcal{K},\mathcal{K}^{c})\in \mathcal{C}_{N}$ . See Appendix C for details.
4.1 Accurate Prediction Is Equivalent to Fitting Data Tensor
As discussed in Section 3.1, the locally connected tensor network generating  $\mathcal{W}_{\mathrm{TN}} \in \mathbb{R}^{D_1 \times \dots \times D_N}$  is equivalent to a locally connected neural network, whose forward pass over a data instance  $(\mathbf{x}^{(1)}, \ldots, \mathbf{x}^{(N)})$  yields  $\langle \otimes_{n=1}^N \mathbf{x}^{(n)}, \mathcal{W}_{\mathrm{TN}} \rangle$ , where  $\mathbf{x}^{(1)} \in \mathbb{R}^{D_1}, \ldots, \mathbf{x}^{(N)} \in \mathbb{R}^{D_N}$ . Motivated by this fact, we consider a binary classification setting, in which the label  $y$  of the instance  $(\mathbf{x}^{(1)}, \ldots, \mathbf{x}^{(N)})$  is either 1 or -1, and the prediction  $\hat{y}$  is taken to be the sign of the output of the neural network, i.e.  $\hat{y} = \mathrm{sign}\bigl(\bigl\langle \otimes_{n=1}^N \mathbf{x}^{(n)}, \mathcal{W}_{\mathrm{TN}} \bigr\rangle\bigr)$ .
Suppose we are given a training set of labeled instances  $\left\{\left(\mathbf{x}^{(1,m)},\dots ,\mathbf{x}^{(N,m)}\right),y^{(m)}\right\}_{m = 1}^{M}$  drawn i.i.d. from some distribution, and we would like to learn the parameters of the neural network through the soft-margin support vector machine (SVM) objective, i.e. by optimizing:
$$
\min  _ {\| \mathcal {W} _ {\mathrm {T N}} \| \leq B} \frac {1}{M} \sum_ {m = 1} ^ {M} \max  \left\{0, 1 - y ^ {(m)} \left\langle \otimes_ {n = 1} ^ {N} \mathbf {x} ^ {(n, m)}, \mathcal {W} _ {\mathrm {T N}} \right\rangle \right\}, \tag {1}
$$
for a predetermined constant  $B > 0$ . We assume instances are normalized, i.e. the distribution is such that all vectors constituting an instance have norm no greater than one. We also assume that  $B \leq 1$ . In this case  $\left|y^{(m)}\bigl{\langle}\bigotimes_{n = 1}^{N}\mathbf{x}^{(n,m)},\mathcal{W}_{\mathrm{TN}}\bigr{\rangle}\right| \leq 1$ , so our optimization problem can be expressed as  $\min_{\| \mathcal{W}_{\mathrm{TN}}\| \leq B}1 - \langle \mathcal{D}_{\mathrm{emp}},\mathcal{W}_{\mathrm{TN}}\rangle$ , where
$$
\mathcal {D} _ {\mathrm {e m p}} := \frac {1}{M} \sum_ {m = 1} ^ {M} y ^ {(m)} \cdot \otimes_ {n = 1} ^ {N} \mathbf {x} ^ {(n, m)} \tag {2}
$$
is referred to as the empirical data tensor. This means that the accuracy over the training data is determined by how large the inner product  $\langle \mathcal{D}_{\mathrm{emp}},\mathcal{W}_{\mathrm{TN}}\rangle$  is.
Disregarding the degenerate case of  $\mathcal{D}_{\mathrm{emp}} = 0$  (in which the optimized objective is constant), the inner products  $\langle \mathcal{D}_{\mathrm{emp}}, \mathcal{W}_{\mathrm{TN}} \rangle$  and  $\langle \mathcal{D}_{\mathrm{emp}} / \| \mathcal{D}_{\mathrm{emp}} \|, \mathcal{W}_{\mathrm{TN}} \rangle$  differ by only a multiplicative (positive) constant, so fitting the training data amounts to optimizing  $\max_{\| \mathcal{W}_{\mathrm{TN}} \| \leq B} \langle \mathcal{D}_{\mathrm{emp}} / \| \mathcal{D}_{\mathrm{emp}} \|, \mathcal{W}_{\mathrm{TN}} \rangle$ . If  $\mathcal{W}_{\mathrm{TN}}$  can represent some  $\mathcal{W}$ , then it can also represent  $c \cdot \mathcal{W}$  for every  $c \in \mathbb{R}$ . Thus, we may equivalently optimize  $\max_{\mathcal{W}_{\mathrm{TN}}} \langle \mathcal{D}_{\mathrm{emp}} / \| \mathcal{D}_{\mathrm{emp}} \|, \mathcal{W}_{\mathrm{TN}} / \| \mathcal{W}_{\mathrm{TN}} \| \rangle$  and multiply the result by  $B$ . Fitting the training data therefore boils down to minimizing  $\left\| \frac{\mathcal{W}_{\mathrm{TN}}}{\|\mathcal{W}_{\mathrm{TN}}\|} - \frac{\mathcal{D}_{\mathrm{emp}}}{\|\mathcal{D}_{\mathrm{emp}}\|} \right\|$ . In other words, the accuracy achievable over the training data is determined by the extent to which  $\frac{\mathcal{W}_{\mathrm{TN}}}{\|\mathcal{W}_{\mathrm{TN}}\|}$  can fit the normalized empirical data tensor  $\frac{\mathcal{D}_{\mathrm{emp}}}{\|\mathcal{D}_{\mathrm{emp}}\|}$ .
The arguments above are independent of the training set size  $M$ , and in fact apply to the population loss as well, in which case  $\mathcal{D}_{\mathrm{emp}}$  is replaced by the population data tensor:
$$
\mathcal {D} _ {\text {p o p}} := \mathbb {E} _ {\left(\mathbf {x} ^ {(1)}, \dots , \mathbf {x} ^ {(N)}\right), y} \left[ y \cdot \otimes_ {n = 1} ^ {N} \mathbf {x} ^ {(n)} \right]. \tag {3}
$$
Disregarding the degenerate case of  $\mathcal{D}_{\mathrm{pop}} = 0$  (i.e. that in which the population loss is constant), it follows that the achievable accuracy over the population is determined by the extent to which  $\frac{\mathcal{W}_{\mathrm{TN}}}{\|\mathcal{W}_{\mathrm{TN}}\|}$  can fit the normalized population data tensor  $\frac{\mathcal{D}_{\mathrm{pop}}}{\|\mathcal{D}_{\mathrm{pop}}\|}$ . We refer to the minimal distance from it as the suboptimality in achievable accuracy.
Definition 3. In the context of the classification setting above, the suboptimality in achievable accuracy is  $\mathrm{SubOpt} \coloneqq \min_{\mathcal{W}_{\mathrm{TN}}} \left\| \frac{\mathcal{W}_{\mathrm{TN}}}{\|\mathcal{W}_{\mathrm{TN}}\|} - \frac{\mathcal{D}_{\mathrm{pop}}}{\|\mathcal{D}_{\mathrm{pop}}\|} \right\|$ .
4.2 Necessary and Sufficient Condition for Accurate Prediction
In the classification setting of Section 4.1, by invoking Theorems 1 and 2 from Section 3.2, we conclude that the suboptimality in achievable accuracy is small if and only if the population data tensor  $\mathcal{D}_{\mathrm{pop}}$  admits low entanglement under the canonical partitions of its axes (Definition 2). This is formalized in Corollary 1 below. The quantum entanglement of  $\mathcal{D}_{\mathrm{pop}}$  with respect to an arbitrary partition of its axes  $(\mathcal{K},\mathcal{K}^c)$ , where  $\mathcal{K}\subseteq [N]$ , is a measure of dependence between the data features indexed by  $\mathcal{K}$  and those indexed by  $\mathcal{K}^c$  — see Appendix D for intuition behind this. Thus, Corollary 1 implies that the suboptimality in achievable accuracy is small if and only if the data admits low dependence under the canonical partitions of features. Since canonical partitions comprise a subset with contiguous indices, we obtain a formalization of the intuition by which data distributions suitable for locally connected neural networks are those exhibiting a "local nature."
Directly evaluating the conditions required by Corollary 1 — low entanglement under canonical partitions for  $\mathcal{D}_{\mathrm{pop}}$  — is impractical, since: (i)  $\mathcal{D}_{\mathrm{pop}}$  is defined via an unknown data distribution
(Equation (3)); and (ii) computing the entanglements involves taking singular value decompositions of matrices with size exponential in the number of input variables  $N$ . Fortunately, as Proposition 2 in Appendix E shows,  $\mathcal{D}_{\mathrm{pop}}$  is with high probability well-approximated by the empirical data tensor  $\mathcal{D}_{\mathrm{emp}}$ . Moreover, the entanglement of  $\mathcal{D}_{\mathrm{emp}}$  under any partition can be computed efficiently, without explicitly storing or manipulating an exponentially large matrix — see Appendix F for an algorithm (originally proposed in [40]). Overall, we obtain an efficiently computable criterion (low entanglement under canonical partitions for  $\mathcal{D}_{\mathrm{emp}}$ ), that with high probability is both necessary and sufficient for low suboptimality in achievable accuracy (see Corollary 2 in Appendix E for a formalization).
Corollary 1. Consider the classification setting of Section 4.1, and let  $\epsilon \in [0,1/4]$ . If there exists a canonical partition  $(\mathcal{K},\mathcal{K}^c) \in \mathcal{C}_N$  (Definition 2) under which  $QE(\mathcal{D}_{\mathrm{pop}};\mathcal{K}) > \ln(R) + 2\epsilon \cdot \ln(D_{\mathcal{K}}) + 2\sqrt{2\epsilon}$ , where  $R$  is the width of the locally connected tensor network and  $D_{\mathcal{K}} \coloneqq \min\{\prod_{n \in \mathcal{K}} D_n, \prod_{n \in \mathcal{K}^c} D_n\}$ , then  $\mathrm{SubOpt} > \epsilon$ . Conversely, if for all  $(\mathcal{K},\mathcal{K}^c) \in \mathcal{C}_N$  it holds that  $QE(\mathcal{D}_{\mathrm{pop}};\mathcal{K}) \leq \frac{\epsilon^2}{8N - 12} \cdot \ln(R)$ , then  $\mathrm{SubOpt} \leq \epsilon$ .
Proof sketch (proof in Appendix M.4). The result follows from Theorems 1 and 2 after accounting for the normalization of  $\mathcal{W}_{\mathrm{TN}}$  in the definition of SubOpt (Definition 3).
4.3 Empirical Demonstration
Corollary 2 establishes that, with high probability, the locally connected tensor network (from Section 3.1) can achieve high prediction accuracy if and only if the empirical data tensor (Equation (2)) admits low entanglement under canonical partitions of its axes. We corroborate our formal analysis through experiments, demonstrating that its conclusions carry over to common locally connected architectures. Namely, applying convolutional neural networks, S4 (a popular recurrent neural network; see [26]), and a local self-attention model [46] to different datasets, we show that the achieved test accuracy is inversely correlated with the entanglements of the empirical data tensor under canonical partitions. Below is a description of experiments with one-dimensional (i.e. sequential) models and data. Additional experiments with two-dimensional (imagery) models and data are given in Appendix J.2.3.
Discerning the relation between entanglements of the empirical data tensor and performance (prediction accuracy) of locally connected neural networks requires datasets admitting different entanglements. A potential way to acquire such datasets is as follows. First, select a dataset on which locally connected neural networks perform well, in the hopes that it admits low entanglement under canonical partitions; natural candidates are datasets comprising images, text or audio. Subsequently, create "shuffled" variants of the dataset by repeatedly swapping the position of two features chosen at random.<sup>6</sup> This erodes the original arrangement of features in the data, and is expected to yield higher entanglement under canonical partitions.
We followed the blueprint above for a binary classification version of the Speech Commands audio dataset [64]. Figure 3 presents test accuracies achieved by a convolutional neural network, S4, and a local self-attention model, as well as average entanglement under canonical partitions of the empirical data tensor, against the number of random feature swaps performed to create the dataset. As expected, when the number of swaps increases, the average entanglement under canonical partitions becomes higher. At the same time, in accordance with our theory, the prediction accuracies of the locally connected neural networks substantially deteriorate, showing an inverse correlation with the entanglement under canonical partitions.
5 Enhancing Suitability of Data to Locally Connected Neural Networks
Our analysis (Sections 3 and 4) suggests that a data distribution is suitable for locally connected neural networks if and only if it admits low entanglement under canonical partitions of features. Motivated by this observation, we derive a preprocessing algorithm aimed to enhance the suitability of a data distribution to locally connected neural networks (Section 5.1 and Appendix G). Empirical evaluations demonstrate that it significantly improves prediction accuracies of common locally connected neural networks on various datasets (Section 5.2). For conciseness, the treatment in this section is limited to one-dimensional (sequential) models and data; see Appendix J.3 for an extension to arbitrary dimensions.
It is known that as the number of random position swaps goes to infinity, the arrangement of the features converges to a random permutation [18].
Figure 3: The prediction accuracies of common locally connected neural networks are inversely correlated with the entanglements of the data under canonical partitions of features, in compliance with our theory (Sections 4.1 and 4.2). Left: Average entanglement under canonical partitions (Definition 2) of the empirical data tensor (Equation (2)), for binary classification variants of the Speech Commands audio dataset [64] obtained by performing random position swaps between features. Right: Test accuracies achieved by a convolutional neural network (CNN) [17], S4 (a popular class of recurrent neural networks; see [26]), and a local self-attention model [46], against the number of random feature swaps performed to create the dataset. All: Reported are the means and standard deviations of the quantities specified above, taken over ten different random seeds. See Appendix J.2.3 for experiments over (two-dimensional) image data and Appendix L for implementation details.
5.1 Search for Feature Arrangement With Low Entanglement Under Canonical Partitions
Our analysis naturally leads to a recipe for enhancing the suitability of a data distribution to locally connected neural networks: given a dataset, search for an arrangement of features which leads to low entanglement under canonical partitions, and then arrange the features accordingly. Formally, suppose we have  $M \in \mathbb{N}$  training instances  $\left\{\left(\mathbf{x}^{(1,m)}, \ldots, \mathbf{x}^{(N,m)}\right), y^{(m)}\right\}_{m=1}^{M}$ , where  $y^{(m)} \in \{1, -1\}$  and  $\mathbf{x}^{(n,m)} \in \mathbb{R}^D$  for  $n \in [N], m \in [M]$ , with  $D \in \mathbb{N}$ . Assume without loss of generality that  $N$  is a power of two (if this is not the case we may add constant features as needed). The aforementioned recipe boils down to a search for a permutation  $\pi : [N] \to [N]$ , which when applied to feature indices leads the empirical data tensor  $\mathcal{D}_{\mathrm{emp}}$  (Equation (2)) to admit low entanglement under the canonical partitions of its axes (Definition 2).
A greedy realization of the foregoing search is as follows. Initially, partition the features into two equally sized sets  $\mathcal{K}_{1,1} \subset [N]$  and  $\mathcal{K}_{1,2} \coloneqq [N] \setminus \mathcal{K}_{1,1}$  such that the entanglement of  $\mathcal{D}_{\mathrm{emp}}$  with respect to  $(\mathcal{K}_{1,1}, \mathcal{K}_{1,2})$  is minimal. That is, find  $\mathcal{K}_{1,1} \in \operatorname{argmin}_{\mathcal{K} \subset [N], |\mathcal{K}| = N/2} QE(\mathcal{D}_{\mathrm{emp}}; \mathcal{K})$ . The permutation  $\pi$  will map  $\mathcal{K}_{1,1}$  to coordinates  $\{1, \dots, \frac{N}{2}\}$  and  $\mathcal{K}_{1,2}$  to  $\{\frac{N}{2} + 1, \dots, N\}$ . Then, partition  $\mathcal{K}_{1,1}$  into two equally sized sets  $\mathcal{K}_{2,1} \subset \mathcal{K}_{1,1}$  and  $\mathcal{K}_{2,2} \coloneqq \mathcal{K}_{1,1} \setminus \mathcal{K}_{2,1}$  such that the average of entanglements induced by these sets is minimal, i.e.  $\mathcal{K}_{2,1} \in \operatorname{argmin}_{\mathcal{K} \subset \mathcal{K}_{1,1}, |\mathcal{K}| = |\mathcal{K}_{1,1}|/2} \frac{1}{2} [QE(\mathcal{D}_{\mathrm{emp}}; \mathcal{K}) + QE(\mathcal{D}_{\mathrm{emp}}; \mathcal{K}_{1,1} \setminus \mathcal{K})]$ . The permutation  $\pi$  will map  $\mathcal{K}_{2,1}$  to coordinates  $\{1, \dots, \frac{N}{4}\}$  and  $\mathcal{K}_{2,2}$  to  $\{\frac{N}{4} + 1, \dots, \frac{N}{2}\}$ . A partition of  $\mathcal{K}_{1,2}$  into two equally sized sets  $\mathcal{K}_{2,3}$  and  $\mathcal{K}_{2,4}$  is obtained similarly, where  $\pi$  will map  $\mathcal{K}_{2,3}$  to coordinates  $\{\frac{N}{2} + 1, \dots, \frac{3N}{4}\}$  and  $\mathcal{K}_{2,4}$  to  $\{\frac{3N}{4} + 1, \dots, N\}$ . Continuing in the same fashion, until we reach subsets  $\mathcal{K}_{L,1}, \dots, \mathcal{K}_{L,N}$  consisting of a single feature index each, fully specifies the permutation  $\pi$ .
Unfortunately, the step lying at the heart of the above scheme — finding a balanced partition that minimizes average entanglement — is computationally prohibitive, and we are not aware of any tools that alleviate the computational difficulty. However, as discussed in Appendix G, if one replaces entanglement with an appropriate surrogate measure, then each search for a balanced partition minimizing average entanglement converts into a minimum balanced cut problem, which enjoys a wide array of established approximation tools [29]. We thus obtain a practical algorithm for enhancing the suitability of a data distribution to locally connected neural networks.
We empirically evaluate our feature rearrangement method, detailed in Appendix G, using common locally connected neural networks — a convolutional neural network, S4 (popular recurrent neural network; see [26]), and a local self-attention model [46] — over randomly permuted audio datasets (Section 5.2.1) and several tabular datasets (Section 5.2.2). For brevity, we defer some experiments and implementation details to Appendices K and L. Additional experiments with two-dimensional data are given in Appendix J.3.3.
5.2.1 Randomly Permuted Audio Datasets
Section 4.3 demonstrated that audio data admits low entanglement under canonical partitions of features, and that randomly permuting the position of features leads this entanglement to increase,
Table 1: Arranging features of randomly permuted audio data via our method (detailed in Appendix G) significantly improves the prediction accuracies of locally connected neural networks. Reported are test accuracies (mean and standard deviation over ten random seeds) of a convolutional neural network (CNN), S4 (a popular recurrent neural network; see [26]), and a local self-attention model [46], over the Speech Commands dataset [64] subject to different arrangements of features: (i) a random arrangement; (ii) an arrangement provided by applying our method to the random arrangement; and (iii) an arrangement provided by applying an adaptation of IGTD [67] — a heuristic scheme designed for convolutional neural networks — to the random arrangement. For each model, we highlight (in boldface) the highest mean accuracy if the difference between that and the second-highest mean accuracy is statistically significant (namely, is larger than the standard deviation corresponding to the former). Our method leads to significant improvements in prediction accuracies, surpassing the improvements brought forth by IGTD. See Appendix K for experiments demonstrating its scalability and implementation details.
Randomly Permuted	Our Method	IGTD
CNN	5.5 ± 0.5	18 ± 1.6	5.7 ± 0.6
S4	9.4 ± 0.8	30.1 ± 1.8	12.8 ± 1.3
Local-Attention	7.8 ± 0.5	12.9 ± 0.6	7 ± 0.6
while substantially degrading the prediction accuracy of locally connected neural networks. A sensible test for our method is to evaluate its ability to recover performance lost due to the random permutation of features.
For the Speech Commands dataset [64], Table 1 compares prediction accuracies of locally connected neural networks on the data: (i) subject to a random permutation of features; (ii) attained after rearranging the randomly permuted features via our method; and (iii) attained after rearranging the randomly permuted features via IGTD [67] — a heuristic scheme designed for convolutional neural networks (see Appendix A). As can be seen, our method leads to significant improvements, surpassing those brought forth by IGTD. Note that the performance lost due to the random permutation of features is not entirely recovered.<sup>7</sup> We believe this relates to phenomena outside the scope of the theory underlying our method (Sections 3 and 4), for example translation invariance in data being beneficial in terms of generalization. Investigation of such phenomena and suitable modification of our method are regarded as promising directions for future work.
The number of features in the audio dataset used in the experiment above is 2048. We demonstrate the scalability of Algorithm 2 by including in Appendix K an experiment over audio data with 50,000 features. In this experiment, instances of the minimum balanced cut problem encountered in Algorithm 2 entail graphs with up to  $25 \cdot 10^{8}$  edges. They are solved using the well-known edge sparsification algorithm of [57] that preserves weights of cuts, allowing for configurable compute and memory consumption (the more resources are consumed, the more accurate the solution will be).
5.2.2 Tabular Datasets
The prediction accuracies of locally connected neural networks on tabular data, i.e. on data in which features are arranged arbitrarily, is known to be subpar [56]. Tables 2 and 5 report results of experiments with locally connected neural networks over standard tabular benchmarks (namely "semeion", "isolet" and "dna" [60]), demonstrating that arranging features via our method leads to significant improvements in prediction accuracies, surpassing improvements brought forth by IGTD (a heuristic scheme designed for convolutional neural networks [67]). Note that our method does not lead to state of the art prediction accuracies on the evaluated benchmarks. However, the results suggest that it renders locally connected neural networks a viable option for tabular data. This option is particularly appealing in when the number of features is large settings, where many alternative approaches (e.g. ones involving fully connected neural networks) are impractical.
The question of what makes a data distribution suitable for deep learning is a fundamental open problem. Focusing on locally connected neural networks — a prevalent family of deep learning architectures that includes as special cases convolutional neural networks, recurrent neural networks (in particular the recent S4 models) and local self-attention models — we address this problem by
Accuracies on the original data are 59.8, 69.6 and 48.1 for CNN, S4 and Local-Attention, respectively. XGBoost, e.g., achieves prediction accuracies 91, 95.2 and 96 over semeion, isolet and dna, respectively.
Table 2: Arranging features of tabular datasets via our method (detailed in Appendix G) significantly improves the prediction accuracies of locally connected neural networks. Reported are results of experiments analogous to those of Table 1, but with the "semeion" and "isolet" tabular classification datasets [60]. Since to the arrangement of features in a tabular dataset is intended to be arbitrary, we regard as a baseline the prediction accuracies attained with a random permutation of features. For each combination of dataset and model, we highlight (in boldface) the highest mean accuracy if the difference between that and the second-highest mean accuracy is statistically significant (namely, is larger than the standard deviation corresponding to the former). As in the experiment of Table 1, rearranging the features according to our method leads to significant improvements in prediction accuracies, surpassing the improvements brought forth by IGTD. See Appendix K for experiments with an additional tabular dataset ("dna") and implementation details.
Dataset: semeion	Dataset: isolet
Baseline	Our Method	IGTD	Baseline	Our Method	IGTD
CNN	77.7 ± 1.4	80.0 ± 1.8	78.9 ± 1.9	91.0 ± 0.6	92.5 ± 0.4	92.0 ± 0.6
S4	82.5 ± 1.1	89.7 ± 0.5	86.0 ± 0.7	92.3 ± 0.4	93.4 ± 0.3	92.7 ± 0.5
Local-Attention	60.9 ± 4.9	78.0 ± 1.7	67.8 ± 2.6	82.0 ± 1.6	89.0 ± 0.6	85.7 ± 1.9
adopting theoretical tools from quantum physics. Our main theoretical result states that a certain locally connected neural network is capable of accurate prediction (i.e. can express a solution with low population loss) over a data distribution if and only if the data distribution admits low quantum entanglement under certain canonical partitions of features. Experiments with widespread locally connected neural networks corroborate this finding.