Upload OrthoViTForImageClassification
Browse files- README.md +199 -0
 - config.json +2038 -0
 - configuration_ortho_vit.py +92 -0
 - model.safetensors +3 -0
 - modeling_ortho_vit.py +455 -0
 - residual.py +60 -0
 
    	
        README.md
    ADDED
    
    | 
         @@ -0,0 +1,199 @@ 
     | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
| 
         | 
|
| 1 | 
         
            +
            ---
         
     | 
| 2 | 
         
            +
            library_name: transformers
         
     | 
| 3 | 
         
            +
            tags: []
         
     | 
| 4 | 
         
            +
            ---
         
     | 
| 5 | 
         
            +
             
     | 
| 6 | 
         
            +
            # Model Card for Model ID
         
     | 
| 7 | 
         
            +
             
     | 
| 8 | 
         
            +
            <!-- Provide a quick summary of what the model is/does. -->
         
     | 
| 9 | 
         
            +
             
     | 
| 10 | 
         
            +
             
     | 
| 11 | 
         
            +
             
     | 
| 12 | 
         
            +
            ## Model Details
         
     | 
| 13 | 
         
            +
             
     | 
| 14 | 
         
            +
            ### Model Description
         
     | 
| 15 | 
         
            +
             
     | 
| 16 | 
         
            +
            <!-- Provide a longer summary of what this model is. -->
         
     | 
| 17 | 
         
            +
             
     | 
| 18 | 
         
            +
            This is the model card of a 🤗 transformers model that has been pushed on the Hub. This model card has been automatically generated.
         
     | 
| 19 | 
         
            +
             
     | 
| 20 | 
         
            +
            - **Developed by:** [More Information Needed]
         
     | 
| 21 | 
         
            +
            - **Funded by [optional]:** [More Information Needed]
         
     | 
| 22 | 
         
            +
            - **Shared by [optional]:** [More Information Needed]
         
     | 
| 23 | 
         
            +
            - **Model type:** [More Information Needed]
         
     | 
| 24 | 
         
            +
            - **Language(s) (NLP):** [More Information Needed]
         
     | 
| 25 | 
         
            +
            - **License:** [More Information Needed]
         
     | 
| 26 | 
         
            +
            - **Finetuned from model [optional]:** [More Information Needed]
         
     | 
| 27 | 
         
            +
             
     | 
| 28 | 
         
            +
            ### Model Sources [optional]
         
     | 
| 29 | 
         
            +
             
     | 
| 30 | 
         
            +
            <!-- Provide the basic links for the model. -->
         
     | 
| 31 | 
         
            +
             
     | 
| 32 | 
         
            +
            - **Repository:** [More Information Needed]
         
     | 
| 33 | 
         
            +
            - **Paper [optional]:** [More Information Needed]
         
     | 
| 34 | 
         
            +
            - **Demo [optional]:** [More Information Needed]
         
     | 
| 35 | 
         
            +
             
     | 
| 36 | 
         
            +
            ## Uses
         
     | 
| 37 | 
         
            +
             
     | 
| 38 | 
         
            +
            <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
         
     | 
| 39 | 
         
            +
             
     | 
| 40 | 
         
            +
            ### Direct Use
         
     | 
| 41 | 
         
            +
             
     | 
| 42 | 
         
            +
            <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
         
     | 
| 43 | 
         
            +
             
     | 
| 44 | 
         
            +
            [More Information Needed]
         
     | 
| 45 | 
         
            +
             
     | 
| 46 | 
         
            +
            ### Downstream Use [optional]
         
     | 
| 47 | 
         
            +
             
     | 
| 48 | 
         
            +
            <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
         
     | 
| 49 | 
         
            +
             
     | 
| 50 | 
         
            +
            [More Information Needed]
         
     | 
| 51 | 
         
            +
             
     | 
| 52 | 
         
            +
            ### Out-of-Scope Use
         
     | 
| 53 | 
         
            +
             
     | 
| 54 | 
         
            +
            <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
         
     | 
| 55 | 
         
            +
             
     | 
| 56 | 
         
            +
            [More Information Needed]
         
     | 
| 57 | 
         
            +
             
     | 
| 58 | 
         
            +
            ## Bias, Risks, and Limitations
         
     | 
| 59 | 
         
            +
             
     | 
| 60 | 
         
            +
            <!-- This section is meant to convey both technical and sociotechnical limitations. -->
         
     | 
| 61 | 
         
            +
             
     | 
| 62 | 
         
            +
            [More Information Needed]
         
     | 
| 63 | 
         
            +
             
     | 
| 64 | 
         
            +
            ### Recommendations
         
     | 
| 65 | 
         
            +
             
     | 
| 66 | 
         
            +
            <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
         
     | 
| 67 | 
         
            +
             
     | 
| 68 | 
         
            +
            Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
         
     | 
| 69 | 
         
            +
             
     | 
| 70 | 
         
            +
            ## How to Get Started with the Model
         
     | 
| 71 | 
         
            +
             
     | 
| 72 | 
         
            +
            Use the code below to get started with the model.
         
     | 
| 73 | 
         
            +
             
     | 
| 74 | 
         
            +
            [More Information Needed]
         
     | 
| 75 | 
         
            +
             
     | 
| 76 | 
         
            +
            ## Training Details
         
     | 
| 77 | 
         
            +
             
     | 
| 78 | 
         
            +
            ### Training Data
         
     | 
| 79 | 
         
            +
             
     | 
| 80 | 
         
            +
            <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
         
     | 
| 81 | 
         
            +
             
     | 
| 82 | 
         
            +
            [More Information Needed]
         
     | 
| 83 | 
         
            +
             
     | 
| 84 | 
         
            +
            ### Training Procedure
         
     | 
| 85 | 
         
            +
             
     | 
| 86 | 
         
            +
            <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
         
     | 
| 87 | 
         
            +
             
     | 
| 88 | 
         
            +
            #### Preprocessing [optional]
         
     | 
| 89 | 
         
            +
             
     | 
| 90 | 
         
            +
            [More Information Needed]
         
     | 
| 91 | 
         
            +
             
     | 
| 92 | 
         
            +
             
     | 
| 93 | 
         
            +
            #### Training Hyperparameters
         
     | 
| 94 | 
         
            +
             
     | 
| 95 | 
         
            +
            - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
         
     | 
| 96 | 
         
            +
             
     | 
| 97 | 
         
            +
            #### Speeds, Sizes, Times [optional]
         
     | 
| 98 | 
         
            +
             
     | 
| 99 | 
         
            +
            <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
         
     | 
| 100 | 
         
            +
             
     | 
| 101 | 
         
            +
            [More Information Needed]
         
     | 
| 102 | 
         
            +
             
     | 
| 103 | 
         
            +
            ## Evaluation
         
     | 
| 104 | 
         
            +
             
     | 
| 105 | 
         
            +
            <!-- This section describes the evaluation protocols and provides the results. -->
         
     | 
| 106 | 
         
            +
             
     | 
| 107 | 
         
            +
            ### Testing Data, Factors & Metrics
         
     | 
| 108 | 
         
            +
             
     | 
| 109 | 
         
            +
            #### Testing Data
         
     | 
| 110 | 
         
            +
             
     | 
| 111 | 
         
            +
            <!-- This should link to a Dataset Card if possible. -->
         
     | 
| 112 | 
         
            +
             
     | 
| 113 | 
         
            +
            [More Information Needed]
         
     | 
| 114 | 
         
            +
             
     | 
| 115 | 
         
            +
            #### Factors
         
     | 
| 116 | 
         
            +
             
     | 
| 117 | 
         
            +
            <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
         
     | 
| 118 | 
         
            +
             
     | 
| 119 | 
         
            +
            [More Information Needed]
         
     | 
| 120 | 
         
            +
             
     | 
| 121 | 
         
            +
            #### Metrics
         
     | 
| 122 | 
         
            +
             
     | 
| 123 | 
         
            +
            <!-- These are the evaluation metrics being used, ideally with a description of why. -->
         
     | 
| 124 | 
         
            +
             
     | 
| 125 | 
         
            +
            [More Information Needed]
         
     | 
| 126 | 
         
            +
             
     | 
| 127 | 
         
            +
            ### Results
         
     | 
| 128 | 
         
            +
             
     | 
| 129 | 
         
            +
            [More Information Needed]
         
     | 
| 130 | 
         
            +
             
     | 
| 131 | 
         
            +
            #### Summary
         
     | 
| 132 | 
         
            +
             
     | 
| 133 | 
         
            +
             
     | 
| 134 | 
         
            +
             
     | 
| 135 | 
         
            +
            ## Model Examination [optional]
         
     | 
| 136 | 
         
            +
             
     | 
| 137 | 
         
            +
            <!-- Relevant interpretability work for the model goes here -->
         
     | 
| 138 | 
         
            +
             
     | 
| 139 | 
         
            +
            [More Information Needed]
         
     | 
| 140 | 
         
            +
             
     | 
| 141 | 
         
            +
            ## Environmental Impact
         
     | 
| 142 | 
         
            +
             
     | 
| 143 | 
         
            +
            <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
         
     | 
| 144 | 
         
            +
             
     | 
| 145 | 
         
            +
            Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
         
     | 
| 146 | 
         
            +
             
     | 
| 147 | 
         
            +
            - **Hardware Type:** [More Information Needed]
         
     | 
| 148 | 
         
            +
            - **Hours used:** [More Information Needed]
         
     | 
| 149 | 
         
            +
            - **Cloud Provider:** [More Information Needed]
         
     | 
| 150 | 
         
            +
            - **Compute Region:** [More Information Needed]
         
     | 
| 151 | 
         
            +
            - **Carbon Emitted:** [More Information Needed]
         
     | 
| 152 | 
         
            +
             
     | 
| 153 | 
         
            +
            ## Technical Specifications [optional]
         
     | 
| 154 | 
         
            +
             
     | 
| 155 | 
         
            +
            ### Model Architecture and Objective
         
     | 
| 156 | 
         
            +
             
     | 
| 157 | 
         
            +
            [More Information Needed]
         
     | 
| 158 | 
         
            +
             
     | 
| 159 | 
         
            +
            ### Compute Infrastructure
         
     | 
| 160 | 
         
            +
             
     | 
| 161 | 
         
            +
            [More Information Needed]
         
     | 
| 162 | 
         
            +
             
     | 
| 163 | 
         
            +
            #### Hardware
         
     | 
| 164 | 
         
            +
             
     | 
| 165 | 
         
            +
            [More Information Needed]
         
     | 
| 166 | 
         
            +
             
     | 
| 167 | 
         
            +
            #### Software
         
     | 
| 168 | 
         
            +
             
     | 
| 169 | 
         
            +
            [More Information Needed]
         
     | 
| 170 | 
         
            +
             
     | 
| 171 | 
         
            +
            ## Citation [optional]
         
     | 
| 172 | 
         
            +
             
     | 
| 173 | 
         
            +
            <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
         
     | 
| 174 | 
         
            +
             
     | 
| 175 | 
         
            +
            **BibTeX:**
         
     | 
| 176 | 
         
            +
             
     | 
| 177 | 
         
            +
            [More Information Needed]
         
     | 
| 178 | 
         
            +
             
     | 
| 179 | 
         
            +
            **APA:**
         
     | 
| 180 | 
         
            +
             
     | 
| 181 | 
         
            +
            [More Information Needed]
         
     | 
| 182 | 
         
            +
             
     | 
| 183 | 
         
            +
            ## Glossary [optional]
         
     | 
| 184 | 
         
            +
             
     | 
| 185 | 
         
            +
            <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
         
     | 
| 186 | 
         
            +
             
     | 
| 187 | 
         
            +
            [More Information Needed]
         
     | 
| 188 | 
         
            +
             
     | 
| 189 | 
         
            +
            ## More Information [optional]
         
     | 
| 190 | 
         
            +
             
     | 
| 191 | 
         
            +
            [More Information Needed]
         
     | 
| 192 | 
         
            +
             
     | 
| 193 | 
         
            +
            ## Model Card Authors [optional]
         
     | 
| 194 | 
         
            +
             
     | 
| 195 | 
         
            +
            [More Information Needed]
         
     | 
| 196 | 
         
            +
             
     | 
| 197 | 
         
            +
            ## Model Card Contact
         
     | 
| 198 | 
         
            +
             
     | 
| 199 | 
         
            +
            [More Information Needed]
         
     | 
    	
        config.json
    ADDED
    
    | 
         @@ -0,0 +1,2038 @@ 
     | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
| 
         | 
|
| 1 | 
         
            +
            {
         
     | 
| 2 | 
         
            +
              "architectures": [
         
     | 
| 3 | 
         
            +
                "OrthoViTForImageClassification"
         
     | 
| 4 | 
         
            +
              ],
         
     | 
| 5 | 
         
            +
              "attention_probs_dropout_prob": 0.0,
         
     | 
| 6 | 
         
            +
              "auto_map": {
         
     | 
| 7 | 
         
            +
                "AutoConfig": "configuration_ortho_vit.OrthoViTConfig",
         
     | 
| 8 | 
         
            +
                "AutoModelForImageClassification": "modeling_ortho_vit.OrthoViTForImageClassification"
         
     | 
| 9 | 
         
            +
              },
         
     | 
| 10 | 
         
            +
              "elementwise_affine_ln": false,
         
     | 
| 11 | 
         
            +
              "encoder_stride": 16,
         
     | 
| 12 | 
         
            +
              "hidden_act": "gelu_fast",
         
     | 
| 13 | 
         
            +
              "hidden_dropout_prob": 0.0,
         
     | 
| 14 | 
         
            +
              "hidden_size": 768,
         
     | 
| 15 | 
         
            +
              "id2label": {
         
     | 
| 16 | 
         
            +
                "0": "LABEL_0",
         
     | 
| 17 | 
         
            +
                "1": "LABEL_1",
         
     | 
| 18 | 
         
            +
                "2": "LABEL_2",
         
     | 
| 19 | 
         
            +
                "3": "LABEL_3",
         
     | 
| 20 | 
         
            +
                "4": "LABEL_4",
         
     | 
| 21 | 
         
            +
                "5": "LABEL_5",
         
     | 
| 22 | 
         
            +
                "6": "LABEL_6",
         
     | 
| 23 | 
         
            +
                "7": "LABEL_7",
         
     | 
| 24 | 
         
            +
                "8": "LABEL_8",
         
     | 
| 25 | 
         
            +
                "9": "LABEL_9",
         
     | 
| 26 | 
         
            +
                "10": "LABEL_10",
         
     | 
| 27 | 
         
            +
                "11": "LABEL_11",
         
     | 
| 28 | 
         
            +
                "12": "LABEL_12",
         
     | 
| 29 | 
         
            +
                "13": "LABEL_13",
         
     | 
| 30 | 
         
            +
                "14": "LABEL_14",
         
     | 
| 31 | 
         
            +
                "15": "LABEL_15",
         
     | 
| 32 | 
         
            +
                "16": "LABEL_16",
         
     | 
| 33 | 
         
            +
                "17": "LABEL_17",
         
     | 
| 34 | 
         
            +
                "18": "LABEL_18",
         
     | 
| 35 | 
         
            +
                "19": "LABEL_19",
         
     | 
| 36 | 
         
            +
                "20": "LABEL_20",
         
     | 
| 37 | 
         
            +
                "21": "LABEL_21",
         
     | 
| 38 | 
         
            +
                "22": "LABEL_22",
         
     | 
| 39 | 
         
            +
                "23": "LABEL_23",
         
     | 
| 40 | 
         
            +
                "24": "LABEL_24",
         
     | 
| 41 | 
         
            +
                "25": "LABEL_25",
         
     | 
| 42 | 
         
            +
                "26": "LABEL_26",
         
     | 
| 43 | 
         
            +
                "27": "LABEL_27",
         
     | 
| 44 | 
         
            +
                "28": "LABEL_28",
         
     | 
| 45 | 
         
            +
                "29": "LABEL_29",
         
     | 
| 46 | 
         
            +
                "30": "LABEL_30",
         
     | 
| 47 | 
         
            +
                "31": "LABEL_31",
         
     | 
| 48 | 
         
            +
                "32": "LABEL_32",
         
     | 
| 49 | 
         
            +
                "33": "LABEL_33",
         
     | 
| 50 | 
         
            +
                "34": "LABEL_34",
         
     | 
| 51 | 
         
            +
                "35": "LABEL_35",
         
     | 
| 52 | 
         
            +
                "36": "LABEL_36",
         
     | 
| 53 | 
         
            +
                "37": "LABEL_37",
         
     | 
| 54 | 
         
            +
                "38": "LABEL_38",
         
     | 
| 55 | 
         
            +
                "39": "LABEL_39",
         
     | 
| 56 | 
         
            +
                "40": "LABEL_40",
         
     | 
| 57 | 
         
            +
                "41": "LABEL_41",
         
     | 
| 58 | 
         
            +
                "42": "LABEL_42",
         
     | 
| 59 | 
         
            +
                "43": "LABEL_43",
         
     | 
| 60 | 
         
            +
                "44": "LABEL_44",
         
     | 
| 61 | 
         
            +
                "45": "LABEL_45",
         
     | 
| 62 | 
         
            +
                "46": "LABEL_46",
         
     | 
| 63 | 
         
            +
                "47": "LABEL_47",
         
     | 
| 64 | 
         
            +
                "48": "LABEL_48",
         
     | 
| 65 | 
         
            +
                "49": "LABEL_49",
         
     | 
| 66 | 
         
            +
                "50": "LABEL_50",
         
     | 
| 67 | 
         
            +
                "51": "LABEL_51",
         
     | 
| 68 | 
         
            +
                "52": "LABEL_52",
         
     | 
| 69 | 
         
            +
                "53": "LABEL_53",
         
     | 
| 70 | 
         
            +
                "54": "LABEL_54",
         
     | 
| 71 | 
         
            +
                "55": "LABEL_55",
         
     | 
| 72 | 
         
            +
                "56": "LABEL_56",
         
     | 
| 73 | 
         
            +
                "57": "LABEL_57",
         
     | 
| 74 | 
         
            +
                "58": "LABEL_58",
         
     | 
| 75 | 
         
            +
                "59": "LABEL_59",
         
     | 
| 76 | 
         
            +
                "60": "LABEL_60",
         
     | 
| 77 | 
         
            +
                "61": "LABEL_61",
         
     | 
| 78 | 
         
            +
                "62": "LABEL_62",
         
     | 
| 79 | 
         
            +
                "63": "LABEL_63",
         
     | 
| 80 | 
         
            +
                "64": "LABEL_64",
         
     | 
| 81 | 
         
            +
                "65": "LABEL_65",
         
     | 
| 82 | 
         
            +
                "66": "LABEL_66",
         
     | 
| 83 | 
         
            +
                "67": "LABEL_67",
         
     | 
| 84 | 
         
            +
                "68": "LABEL_68",
         
     | 
| 85 | 
         
            +
                "69": "LABEL_69",
         
     | 
| 86 | 
         
            +
                "70": "LABEL_70",
         
     | 
| 87 | 
         
            +
                "71": "LABEL_71",
         
     | 
| 88 | 
         
            +
                "72": "LABEL_72",
         
     | 
| 89 | 
         
            +
                "73": "LABEL_73",
         
     | 
| 90 | 
         
            +
                "74": "LABEL_74",
         
     | 
| 91 | 
         
            +
                "75": "LABEL_75",
         
     | 
| 92 | 
         
            +
                "76": "LABEL_76",
         
     | 
| 93 | 
         
            +
                "77": "LABEL_77",
         
     | 
| 94 | 
         
            +
                "78": "LABEL_78",
         
     | 
| 95 | 
         
            +
                "79": "LABEL_79",
         
     | 
| 96 | 
         
            +
                "80": "LABEL_80",
         
     | 
| 97 | 
         
            +
                "81": "LABEL_81",
         
     | 
| 98 | 
         
            +
                "82": "LABEL_82",
         
     | 
| 99 | 
         
            +
                "83": "LABEL_83",
         
     | 
| 100 | 
         
            +
                "84": "LABEL_84",
         
     | 
| 101 | 
         
            +
                "85": "LABEL_85",
         
     | 
| 102 | 
         
            +
                "86": "LABEL_86",
         
     | 
| 103 | 
         
            +
                "87": "LABEL_87",
         
     | 
| 104 | 
         
            +
                "88": "LABEL_88",
         
     | 
| 105 | 
         
            +
                "89": "LABEL_89",
         
     | 
| 106 | 
         
            +
                "90": "LABEL_90",
         
     | 
| 107 | 
         
            +
                "91": "LABEL_91",
         
     | 
| 108 | 
         
            +
                "92": "LABEL_92",
         
     | 
| 109 | 
         
            +
                "93": "LABEL_93",
         
     | 
| 110 | 
         
            +
                "94": "LABEL_94",
         
     | 
| 111 | 
         
            +
                "95": "LABEL_95",
         
     | 
| 112 | 
         
            +
                "96": "LABEL_96",
         
     | 
| 113 | 
         
            +
                "97": "LABEL_97",
         
     | 
| 114 | 
         
            +
                "98": "LABEL_98",
         
     | 
| 115 | 
         
            +
                "99": "LABEL_99",
         
     | 
| 116 | 
         
            +
                "100": "LABEL_100",
         
     | 
| 117 | 
         
            +
                "101": "LABEL_101",
         
     | 
| 118 | 
         
            +
                "102": "LABEL_102",
         
     | 
| 119 | 
         
            +
                "103": "LABEL_103",
         
     | 
| 120 | 
         
            +
                "104": "LABEL_104",
         
     | 
| 121 | 
         
            +
                "105": "LABEL_105",
         
     | 
| 122 | 
         
            +
                "106": "LABEL_106",
         
     | 
| 123 | 
         
            +
                "107": "LABEL_107",
         
     | 
| 124 | 
         
            +
                "108": "LABEL_108",
         
     | 
| 125 | 
         
            +
                "109": "LABEL_109",
         
     | 
| 126 | 
         
            +
                "110": "LABEL_110",
         
     | 
| 127 | 
         
            +
                "111": "LABEL_111",
         
     | 
| 128 | 
         
            +
                "112": "LABEL_112",
         
     | 
| 129 | 
         
            +
                "113": "LABEL_113",
         
     | 
| 130 | 
         
            +
                "114": "LABEL_114",
         
     | 
| 131 | 
         
            +
                "115": "LABEL_115",
         
     | 
| 132 | 
         
            +
                "116": "LABEL_116",
         
     | 
| 133 | 
         
            +
                "117": "LABEL_117",
         
     | 
| 134 | 
         
            +
                "118": "LABEL_118",
         
     | 
| 135 | 
         
            +
                "119": "LABEL_119",
         
     | 
| 136 | 
         
            +
                "120": "LABEL_120",
         
     | 
| 137 | 
         
            +
                "121": "LABEL_121",
         
     | 
| 138 | 
         
            +
                "122": "LABEL_122",
         
     | 
| 139 | 
         
            +
                "123": "LABEL_123",
         
     | 
| 140 | 
         
            +
                "124": "LABEL_124",
         
     | 
| 141 | 
         
            +
                "125": "LABEL_125",
         
     | 
| 142 | 
         
            +
                "126": "LABEL_126",
         
     | 
| 143 | 
         
            +
                "127": "LABEL_127",
         
     | 
| 144 | 
         
            +
                "128": "LABEL_128",
         
     | 
| 145 | 
         
            +
                "129": "LABEL_129",
         
     | 
| 146 | 
         
            +
                "130": "LABEL_130",
         
     | 
| 147 | 
         
            +
                "131": "LABEL_131",
         
     | 
| 148 | 
         
            +
                "132": "LABEL_132",
         
     | 
| 149 | 
         
            +
                "133": "LABEL_133",
         
     | 
| 150 | 
         
            +
                "134": "LABEL_134",
         
     | 
| 151 | 
         
            +
                "135": "LABEL_135",
         
     | 
| 152 | 
         
            +
                "136": "LABEL_136",
         
     | 
| 153 | 
         
            +
                "137": "LABEL_137",
         
     | 
| 154 | 
         
            +
                "138": "LABEL_138",
         
     | 
| 155 | 
         
            +
                "139": "LABEL_139",
         
     | 
| 156 | 
         
            +
                "140": "LABEL_140",
         
     | 
| 157 | 
         
            +
                "141": "LABEL_141",
         
     | 
| 158 | 
         
            +
                "142": "LABEL_142",
         
     | 
| 159 | 
         
            +
                "143": "LABEL_143",
         
     | 
| 160 | 
         
            +
                "144": "LABEL_144",
         
     | 
| 161 | 
         
            +
                "145": "LABEL_145",
         
     | 
| 162 | 
         
            +
                "146": "LABEL_146",
         
     | 
| 163 | 
         
            +
                "147": "LABEL_147",
         
     | 
| 164 | 
         
            +
                "148": "LABEL_148",
         
     | 
| 165 | 
         
            +
                "149": "LABEL_149",
         
     | 
| 166 | 
         
            +
                "150": "LABEL_150",
         
     | 
| 167 | 
         
            +
                "151": "LABEL_151",
         
     | 
| 168 | 
         
            +
                "152": "LABEL_152",
         
     | 
| 169 | 
         
            +
                "153": "LABEL_153",
         
     | 
| 170 | 
         
            +
                "154": "LABEL_154",
         
     | 
| 171 | 
         
            +
                "155": "LABEL_155",
         
     | 
| 172 | 
         
            +
                "156": "LABEL_156",
         
     | 
| 173 | 
         
            +
                "157": "LABEL_157",
         
     | 
| 174 | 
         
            +
                "158": "LABEL_158",
         
     | 
| 175 | 
         
            +
                "159": "LABEL_159",
         
     | 
| 176 | 
         
            +
                "160": "LABEL_160",
         
     | 
| 177 | 
         
            +
                "161": "LABEL_161",
         
     | 
| 178 | 
         
            +
                "162": "LABEL_162",
         
     | 
| 179 | 
         
            +
                "163": "LABEL_163",
         
     | 
| 180 | 
         
            +
                "164": "LABEL_164",
         
     | 
| 181 | 
         
            +
                "165": "LABEL_165",
         
     | 
| 182 | 
         
            +
                "166": "LABEL_166",
         
     | 
| 183 | 
         
            +
                "167": "LABEL_167",
         
     | 
| 184 | 
         
            +
                "168": "LABEL_168",
         
     | 
| 185 | 
         
            +
                "169": "LABEL_169",
         
     | 
| 186 | 
         
            +
                "170": "LABEL_170",
         
     | 
| 187 | 
         
            +
                "171": "LABEL_171",
         
     | 
| 188 | 
         
            +
                "172": "LABEL_172",
         
     | 
| 189 | 
         
            +
                "173": "LABEL_173",
         
     | 
| 190 | 
         
            +
                "174": "LABEL_174",
         
     | 
| 191 | 
         
            +
                "175": "LABEL_175",
         
     | 
| 192 | 
         
            +
                "176": "LABEL_176",
         
     | 
| 193 | 
         
            +
                "177": "LABEL_177",
         
     | 
| 194 | 
         
            +
                "178": "LABEL_178",
         
     | 
| 195 | 
         
            +
                "179": "LABEL_179",
         
     | 
| 196 | 
         
            +
                "180": "LABEL_180",
         
     | 
| 197 | 
         
            +
                "181": "LABEL_181",
         
     | 
| 198 | 
         
            +
                "182": "LABEL_182",
         
     | 
| 199 | 
         
            +
                "183": "LABEL_183",
         
     | 
| 200 | 
         
            +
                "184": "LABEL_184",
         
     | 
| 201 | 
         
            +
                "185": "LABEL_185",
         
     | 
| 202 | 
         
            +
                "186": "LABEL_186",
         
     | 
| 203 | 
         
            +
                "187": "LABEL_187",
         
     | 
| 204 | 
         
            +
                "188": "LABEL_188",
         
     | 
| 205 | 
         
            +
                "189": "LABEL_189",
         
     | 
| 206 | 
         
            +
                "190": "LABEL_190",
         
     | 
| 207 | 
         
            +
                "191": "LABEL_191",
         
     | 
| 208 | 
         
            +
                "192": "LABEL_192",
         
     | 
| 209 | 
         
            +
                "193": "LABEL_193",
         
     | 
| 210 | 
         
            +
                "194": "LABEL_194",
         
     | 
| 211 | 
         
            +
                "195": "LABEL_195",
         
     | 
| 212 | 
         
            +
                "196": "LABEL_196",
         
     | 
| 213 | 
         
            +
                "197": "LABEL_197",
         
     | 
| 214 | 
         
            +
                "198": "LABEL_198",
         
     | 
| 215 | 
         
            +
                "199": "LABEL_199",
         
     | 
| 216 | 
         
            +
                "200": "LABEL_200",
         
     | 
| 217 | 
         
            +
                "201": "LABEL_201",
         
     | 
| 218 | 
         
            +
                "202": "LABEL_202",
         
     | 
| 219 | 
         
            +
                "203": "LABEL_203",
         
     | 
| 220 | 
         
            +
                "204": "LABEL_204",
         
     | 
| 221 | 
         
            +
                "205": "LABEL_205",
         
     | 
| 222 | 
         
            +
                "206": "LABEL_206",
         
     | 
| 223 | 
         
            +
                "207": "LABEL_207",
         
     | 
| 224 | 
         
            +
                "208": "LABEL_208",
         
     | 
| 225 | 
         
            +
                "209": "LABEL_209",
         
     | 
| 226 | 
         
            +
                "210": "LABEL_210",
         
     | 
| 227 | 
         
            +
                "211": "LABEL_211",
         
     | 
| 228 | 
         
            +
                "212": "LABEL_212",
         
     | 
| 229 | 
         
            +
                "213": "LABEL_213",
         
     | 
| 230 | 
         
            +
                "214": "LABEL_214",
         
     | 
| 231 | 
         
            +
                "215": "LABEL_215",
         
     | 
| 232 | 
         
            +
                "216": "LABEL_216",
         
     | 
| 233 | 
         
            +
                "217": "LABEL_217",
         
     | 
| 234 | 
         
            +
                "218": "LABEL_218",
         
     | 
| 235 | 
         
            +
                "219": "LABEL_219",
         
     | 
| 236 | 
         
            +
                "220": "LABEL_220",
         
     | 
| 237 | 
         
            +
                "221": "LABEL_221",
         
     | 
| 238 | 
         
            +
                "222": "LABEL_222",
         
     | 
| 239 | 
         
            +
                "223": "LABEL_223",
         
     | 
| 240 | 
         
            +
                "224": "LABEL_224",
         
     | 
| 241 | 
         
            +
                "225": "LABEL_225",
         
     | 
| 242 | 
         
            +
                "226": "LABEL_226",
         
     | 
| 243 | 
         
            +
                "227": "LABEL_227",
         
     | 
| 244 | 
         
            +
                "228": "LABEL_228",
         
     | 
| 245 | 
         
            +
                "229": "LABEL_229",
         
     | 
| 246 | 
         
            +
                "230": "LABEL_230",
         
     | 
| 247 | 
         
            +
                "231": "LABEL_231",
         
     | 
| 248 | 
         
            +
                "232": "LABEL_232",
         
     | 
| 249 | 
         
            +
                "233": "LABEL_233",
         
     | 
| 250 | 
         
            +
                "234": "LABEL_234",
         
     | 
| 251 | 
         
            +
                "235": "LABEL_235",
         
     | 
| 252 | 
         
            +
                "236": "LABEL_236",
         
     | 
| 253 | 
         
            +
                "237": "LABEL_237",
         
     | 
| 254 | 
         
            +
                "238": "LABEL_238",
         
     | 
| 255 | 
         
            +
                "239": "LABEL_239",
         
     | 
| 256 | 
         
            +
                "240": "LABEL_240",
         
     | 
| 257 | 
         
            +
                "241": "LABEL_241",
         
     | 
| 258 | 
         
            +
                "242": "LABEL_242",
         
     | 
| 259 | 
         
            +
                "243": "LABEL_243",
         
     | 
| 260 | 
         
            +
                "244": "LABEL_244",
         
     | 
| 261 | 
         
            +
                "245": "LABEL_245",
         
     | 
| 262 | 
         
            +
                "246": "LABEL_246",
         
     | 
| 263 | 
         
            +
                "247": "LABEL_247",
         
     | 
| 264 | 
         
            +
                "248": "LABEL_248",
         
     | 
| 265 | 
         
            +
                "249": "LABEL_249",
         
     | 
| 266 | 
         
            +
                "250": "LABEL_250",
         
     | 
| 267 | 
         
            +
                "251": "LABEL_251",
         
     | 
| 268 | 
         
            +
                "252": "LABEL_252",
         
     | 
| 269 | 
         
            +
                "253": "LABEL_253",
         
     | 
| 270 | 
         
            +
                "254": "LABEL_254",
         
     | 
| 271 | 
         
            +
                "255": "LABEL_255",
         
     | 
| 272 | 
         
            +
                "256": "LABEL_256",
         
     | 
| 273 | 
         
            +
                "257": "LABEL_257",
         
     | 
| 274 | 
         
            +
                "258": "LABEL_258",
         
     | 
| 275 | 
         
            +
                "259": "LABEL_259",
         
     | 
| 276 | 
         
            +
                "260": "LABEL_260",
         
     | 
| 277 | 
         
            +
                "261": "LABEL_261",
         
     | 
| 278 | 
         
            +
                "262": "LABEL_262",
         
     | 
| 279 | 
         
            +
                "263": "LABEL_263",
         
     | 
| 280 | 
         
            +
                "264": "LABEL_264",
         
     | 
| 281 | 
         
            +
                "265": "LABEL_265",
         
     | 
| 282 | 
         
            +
                "266": "LABEL_266",
         
     | 
| 283 | 
         
            +
                "267": "LABEL_267",
         
     | 
| 284 | 
         
            +
                "268": "LABEL_268",
         
     | 
| 285 | 
         
            +
                "269": "LABEL_269",
         
     | 
| 286 | 
         
            +
                "270": "LABEL_270",
         
     | 
| 287 | 
         
            +
                "271": "LABEL_271",
         
     | 
| 288 | 
         
            +
                "272": "LABEL_272",
         
     | 
| 289 | 
         
            +
                "273": "LABEL_273",
         
     | 
| 290 | 
         
            +
                "274": "LABEL_274",
         
     | 
| 291 | 
         
            +
                "275": "LABEL_275",
         
     | 
| 292 | 
         
            +
                "276": "LABEL_276",
         
     | 
| 293 | 
         
            +
                "277": "LABEL_277",
         
     | 
| 294 | 
         
            +
                "278": "LABEL_278",
         
     | 
| 295 | 
         
            +
                "279": "LABEL_279",
         
     | 
| 296 | 
         
            +
                "280": "LABEL_280",
         
     | 
| 297 | 
         
            +
                "281": "LABEL_281",
         
     | 
| 298 | 
         
            +
                "282": "LABEL_282",
         
     | 
| 299 | 
         
            +
                "283": "LABEL_283",
         
     | 
| 300 | 
         
            +
                "284": "LABEL_284",
         
     | 
| 301 | 
         
            +
                "285": "LABEL_285",
         
     | 
| 302 | 
         
            +
                "286": "LABEL_286",
         
     | 
| 303 | 
         
            +
                "287": "LABEL_287",
         
     | 
| 304 | 
         
            +
                "288": "LABEL_288",
         
     | 
| 305 | 
         
            +
                "289": "LABEL_289",
         
     | 
| 306 | 
         
            +
                "290": "LABEL_290",
         
     | 
| 307 | 
         
            +
                "291": "LABEL_291",
         
     | 
| 308 | 
         
            +
                "292": "LABEL_292",
         
     | 
| 309 | 
         
            +
                "293": "LABEL_293",
         
     | 
| 310 | 
         
            +
                "294": "LABEL_294",
         
     | 
| 311 | 
         
            +
                "295": "LABEL_295",
         
     | 
| 312 | 
         
            +
                "296": "LABEL_296",
         
     | 
| 313 | 
         
            +
                "297": "LABEL_297",
         
     | 
| 314 | 
         
            +
                "298": "LABEL_298",
         
     | 
| 315 | 
         
            +
                "299": "LABEL_299",
         
     | 
| 316 | 
         
            +
                "300": "LABEL_300",
         
     | 
| 317 | 
         
            +
                "301": "LABEL_301",
         
     | 
| 318 | 
         
            +
                "302": "LABEL_302",
         
     | 
| 319 | 
         
            +
                "303": "LABEL_303",
         
     | 
| 320 | 
         
            +
                "304": "LABEL_304",
         
     | 
| 321 | 
         
            +
                "305": "LABEL_305",
         
     | 
| 322 | 
         
            +
                "306": "LABEL_306",
         
     | 
| 323 | 
         
            +
                "307": "LABEL_307",
         
     | 
| 324 | 
         
            +
                "308": "LABEL_308",
         
     | 
| 325 | 
         
            +
                "309": "LABEL_309",
         
     | 
| 326 | 
         
            +
                "310": "LABEL_310",
         
     | 
| 327 | 
         
            +
                "311": "LABEL_311",
         
     | 
| 328 | 
         
            +
                "312": "LABEL_312",
         
     | 
| 329 | 
         
            +
                "313": "LABEL_313",
         
     | 
| 330 | 
         
            +
                "314": "LABEL_314",
         
     | 
| 331 | 
         
            +
                "315": "LABEL_315",
         
     | 
| 332 | 
         
            +
                "316": "LABEL_316",
         
     | 
| 333 | 
         
            +
                "317": "LABEL_317",
         
     | 
| 334 | 
         
            +
                "318": "LABEL_318",
         
     | 
| 335 | 
         
            +
                "319": "LABEL_319",
         
     | 
| 336 | 
         
            +
                "320": "LABEL_320",
         
     | 
| 337 | 
         
            +
                "321": "LABEL_321",
         
     | 
| 338 | 
         
            +
                "322": "LABEL_322",
         
     | 
| 339 | 
         
            +
                "323": "LABEL_323",
         
     | 
| 340 | 
         
            +
                "324": "LABEL_324",
         
     | 
| 341 | 
         
            +
                "325": "LABEL_325",
         
     | 
| 342 | 
         
            +
                "326": "LABEL_326",
         
     | 
| 343 | 
         
            +
                "327": "LABEL_327",
         
     | 
| 344 | 
         
            +
                "328": "LABEL_328",
         
     | 
| 345 | 
         
            +
                "329": "LABEL_329",
         
     | 
| 346 | 
         
            +
                "330": "LABEL_330",
         
     | 
| 347 | 
         
            +
                "331": "LABEL_331",
         
     | 
| 348 | 
         
            +
                "332": "LABEL_332",
         
     | 
| 349 | 
         
            +
                "333": "LABEL_333",
         
     | 
| 350 | 
         
            +
                "334": "LABEL_334",
         
     | 
| 351 | 
         
            +
                "335": "LABEL_335",
         
     | 
| 352 | 
         
            +
                "336": "LABEL_336",
         
     | 
| 353 | 
         
            +
                "337": "LABEL_337",
         
     | 
| 354 | 
         
            +
                "338": "LABEL_338",
         
     | 
| 355 | 
         
            +
                "339": "LABEL_339",
         
     | 
| 356 | 
         
            +
                "340": "LABEL_340",
         
     | 
| 357 | 
         
            +
                "341": "LABEL_341",
         
     | 
| 358 | 
         
            +
                "342": "LABEL_342",
         
     | 
| 359 | 
         
            +
                "343": "LABEL_343",
         
     | 
| 360 | 
         
            +
                "344": "LABEL_344",
         
     | 
| 361 | 
         
            +
                "345": "LABEL_345",
         
     | 
| 362 | 
         
            +
                "346": "LABEL_346",
         
     | 
| 363 | 
         
            +
                "347": "LABEL_347",
         
     | 
| 364 | 
         
            +
                "348": "LABEL_348",
         
     | 
| 365 | 
         
            +
                "349": "LABEL_349",
         
     | 
| 366 | 
         
            +
                "350": "LABEL_350",
         
     | 
| 367 | 
         
            +
                "351": "LABEL_351",
         
     | 
| 368 | 
         
            +
                "352": "LABEL_352",
         
     | 
| 369 | 
         
            +
                "353": "LABEL_353",
         
     | 
| 370 | 
         
            +
                "354": "LABEL_354",
         
     | 
| 371 | 
         
            +
                "355": "LABEL_355",
         
     | 
| 372 | 
         
            +
                "356": "LABEL_356",
         
     | 
| 373 | 
         
            +
                "357": "LABEL_357",
         
     | 
| 374 | 
         
            +
                "358": "LABEL_358",
         
     | 
| 375 | 
         
            +
                "359": "LABEL_359",
         
     | 
| 376 | 
         
            +
                "360": "LABEL_360",
         
     | 
| 377 | 
         
            +
                "361": "LABEL_361",
         
     | 
| 378 | 
         
            +
                "362": "LABEL_362",
         
     | 
| 379 | 
         
            +
                "363": "LABEL_363",
         
     | 
| 380 | 
         
            +
                "364": "LABEL_364",
         
     | 
| 381 | 
         
            +
                "365": "LABEL_365",
         
     | 
| 382 | 
         
            +
                "366": "LABEL_366",
         
     | 
| 383 | 
         
            +
                "367": "LABEL_367",
         
     | 
| 384 | 
         
            +
                "368": "LABEL_368",
         
     | 
| 385 | 
         
            +
                "369": "LABEL_369",
         
     | 
| 386 | 
         
            +
                "370": "LABEL_370",
         
     | 
| 387 | 
         
            +
                "371": "LABEL_371",
         
     | 
| 388 | 
         
            +
                "372": "LABEL_372",
         
     | 
| 389 | 
         
            +
                "373": "LABEL_373",
         
     | 
| 390 | 
         
            +
                "374": "LABEL_374",
         
     | 
| 391 | 
         
            +
                "375": "LABEL_375",
         
     | 
| 392 | 
         
            +
                "376": "LABEL_376",
         
     | 
| 393 | 
         
            +
                "377": "LABEL_377",
         
     | 
| 394 | 
         
            +
                "378": "LABEL_378",
         
     | 
| 395 | 
         
            +
                "379": "LABEL_379",
         
     | 
| 396 | 
         
            +
                "380": "LABEL_380",
         
     | 
| 397 | 
         
            +
                "381": "LABEL_381",
         
     | 
| 398 | 
         
            +
                "382": "LABEL_382",
         
     | 
| 399 | 
         
            +
                "383": "LABEL_383",
         
     | 
| 400 | 
         
            +
                "384": "LABEL_384",
         
     | 
| 401 | 
         
            +
                "385": "LABEL_385",
         
     | 
| 402 | 
         
            +
                "386": "LABEL_386",
         
     | 
| 403 | 
         
            +
                "387": "LABEL_387",
         
     | 
| 404 | 
         
            +
                "388": "LABEL_388",
         
     | 
| 405 | 
         
            +
                "389": "LABEL_389",
         
     | 
| 406 | 
         
            +
                "390": "LABEL_390",
         
     | 
| 407 | 
         
            +
                "391": "LABEL_391",
         
     | 
| 408 | 
         
            +
                "392": "LABEL_392",
         
     | 
| 409 | 
         
            +
                "393": "LABEL_393",
         
     | 
| 410 | 
         
            +
                "394": "LABEL_394",
         
     | 
| 411 | 
         
            +
                "395": "LABEL_395",
         
     | 
| 412 | 
         
            +
                "396": "LABEL_396",
         
     | 
| 413 | 
         
            +
                "397": "LABEL_397",
         
     | 
| 414 | 
         
            +
                "398": "LABEL_398",
         
     | 
| 415 | 
         
            +
                "399": "LABEL_399",
         
     | 
| 416 | 
         
            +
                "400": "LABEL_400",
         
     | 
| 417 | 
         
            +
                "401": "LABEL_401",
         
     | 
| 418 | 
         
            +
                "402": "LABEL_402",
         
     | 
| 419 | 
         
            +
                "403": "LABEL_403",
         
     | 
| 420 | 
         
            +
                "404": "LABEL_404",
         
     | 
| 421 | 
         
            +
                "405": "LABEL_405",
         
     | 
| 422 | 
         
            +
                "406": "LABEL_406",
         
     | 
| 423 | 
         
            +
                "407": "LABEL_407",
         
     | 
| 424 | 
         
            +
                "408": "LABEL_408",
         
     | 
| 425 | 
         
            +
                "409": "LABEL_409",
         
     | 
| 426 | 
         
            +
                "410": "LABEL_410",
         
     | 
| 427 | 
         
            +
                "411": "LABEL_411",
         
     | 
| 428 | 
         
            +
                "412": "LABEL_412",
         
     | 
| 429 | 
         
            +
                "413": "LABEL_413",
         
     | 
| 430 | 
         
            +
                "414": "LABEL_414",
         
     | 
| 431 | 
         
            +
                "415": "LABEL_415",
         
     | 
| 432 | 
         
            +
                "416": "LABEL_416",
         
     | 
| 433 | 
         
            +
                "417": "LABEL_417",
         
     | 
| 434 | 
         
            +
                "418": "LABEL_418",
         
     | 
| 435 | 
         
            +
                "419": "LABEL_419",
         
     | 
| 436 | 
         
            +
                "420": "LABEL_420",
         
     | 
| 437 | 
         
            +
                "421": "LABEL_421",
         
     | 
| 438 | 
         
            +
                "422": "LABEL_422",
         
     | 
| 439 | 
         
            +
                "423": "LABEL_423",
         
     | 
| 440 | 
         
            +
                "424": "LABEL_424",
         
     | 
| 441 | 
         
            +
                "425": "LABEL_425",
         
     | 
| 442 | 
         
            +
                "426": "LABEL_426",
         
     | 
| 443 | 
         
            +
                "427": "LABEL_427",
         
     | 
| 444 | 
         
            +
                "428": "LABEL_428",
         
     | 
| 445 | 
         
            +
                "429": "LABEL_429",
         
     | 
| 446 | 
         
            +
                "430": "LABEL_430",
         
     | 
| 447 | 
         
            +
                "431": "LABEL_431",
         
     | 
| 448 | 
         
            +
                "432": "LABEL_432",
         
     | 
| 449 | 
         
            +
                "433": "LABEL_433",
         
     | 
| 450 | 
         
            +
                "434": "LABEL_434",
         
     | 
| 451 | 
         
            +
                "435": "LABEL_435",
         
     | 
| 452 | 
         
            +
                "436": "LABEL_436",
         
     | 
| 453 | 
         
            +
                "437": "LABEL_437",
         
     | 
| 454 | 
         
            +
                "438": "LABEL_438",
         
     | 
| 455 | 
         
            +
                "439": "LABEL_439",
         
     | 
| 456 | 
         
            +
                "440": "LABEL_440",
         
     | 
| 457 | 
         
            +
                "441": "LABEL_441",
         
     | 
| 458 | 
         
            +
                "442": "LABEL_442",
         
     | 
| 459 | 
         
            +
                "443": "LABEL_443",
         
     | 
| 460 | 
         
            +
                "444": "LABEL_444",
         
     | 
| 461 | 
         
            +
                "445": "LABEL_445",
         
     | 
| 462 | 
         
            +
                "446": "LABEL_446",
         
     | 
| 463 | 
         
            +
                "447": "LABEL_447",
         
     | 
| 464 | 
         
            +
                "448": "LABEL_448",
         
     | 
| 465 | 
         
            +
                "449": "LABEL_449",
         
     | 
| 466 | 
         
            +
                "450": "LABEL_450",
         
     | 
| 467 | 
         
            +
                "451": "LABEL_451",
         
     | 
| 468 | 
         
            +
                "452": "LABEL_452",
         
     | 
| 469 | 
         
            +
                "453": "LABEL_453",
         
     | 
| 470 | 
         
            +
                "454": "LABEL_454",
         
     | 
| 471 | 
         
            +
                "455": "LABEL_455",
         
     | 
| 472 | 
         
            +
                "456": "LABEL_456",
         
     | 
| 473 | 
         
            +
                "457": "LABEL_457",
         
     | 
| 474 | 
         
            +
                "458": "LABEL_458",
         
     | 
| 475 | 
         
            +
                "459": "LABEL_459",
         
     | 
| 476 | 
         
            +
                "460": "LABEL_460",
         
     | 
| 477 | 
         
            +
                "461": "LABEL_461",
         
     | 
| 478 | 
         
            +
                "462": "LABEL_462",
         
     | 
| 479 | 
         
            +
                "463": "LABEL_463",
         
     | 
| 480 | 
         
            +
                "464": "LABEL_464",
         
     | 
| 481 | 
         
            +
                "465": "LABEL_465",
         
     | 
| 482 | 
         
            +
                "466": "LABEL_466",
         
     | 
| 483 | 
         
            +
                "467": "LABEL_467",
         
     | 
| 484 | 
         
            +
                "468": "LABEL_468",
         
     | 
| 485 | 
         
            +
                "469": "LABEL_469",
         
     | 
| 486 | 
         
            +
                "470": "LABEL_470",
         
     | 
| 487 | 
         
            +
                "471": "LABEL_471",
         
     | 
| 488 | 
         
            +
                "472": "LABEL_472",
         
     | 
| 489 | 
         
            +
                "473": "LABEL_473",
         
     | 
| 490 | 
         
            +
                "474": "LABEL_474",
         
     | 
| 491 | 
         
            +
                "475": "LABEL_475",
         
     | 
| 492 | 
         
            +
                "476": "LABEL_476",
         
     | 
| 493 | 
         
            +
                "477": "LABEL_477",
         
     | 
| 494 | 
         
            +
                "478": "LABEL_478",
         
     | 
| 495 | 
         
            +
                "479": "LABEL_479",
         
     | 
| 496 | 
         
            +
                "480": "LABEL_480",
         
     | 
| 497 | 
         
            +
                "481": "LABEL_481",
         
     | 
| 498 | 
         
            +
                "482": "LABEL_482",
         
     | 
| 499 | 
         
            +
                "483": "LABEL_483",
         
     | 
| 500 | 
         
            +
                "484": "LABEL_484",
         
     | 
| 501 | 
         
            +
                "485": "LABEL_485",
         
     | 
| 502 | 
         
            +
                "486": "LABEL_486",
         
     | 
| 503 | 
         
            +
                "487": "LABEL_487",
         
     | 
| 504 | 
         
            +
                "488": "LABEL_488",
         
     | 
| 505 | 
         
            +
                "489": "LABEL_489",
         
     | 
| 506 | 
         
            +
                "490": "LABEL_490",
         
     | 
| 507 | 
         
            +
                "491": "LABEL_491",
         
     | 
| 508 | 
         
            +
                "492": "LABEL_492",
         
     | 
| 509 | 
         
            +
                "493": "LABEL_493",
         
     | 
| 510 | 
         
            +
                "494": "LABEL_494",
         
     | 
| 511 | 
         
            +
                "495": "LABEL_495",
         
     | 
| 512 | 
         
            +
                "496": "LABEL_496",
         
     | 
| 513 | 
         
            +
                "497": "LABEL_497",
         
     | 
| 514 | 
         
            +
                "498": "LABEL_498",
         
     | 
| 515 | 
         
            +
                "499": "LABEL_499",
         
     | 
| 516 | 
         
            +
                "500": "LABEL_500",
         
     | 
| 517 | 
         
            +
                "501": "LABEL_501",
         
     | 
| 518 | 
         
            +
                "502": "LABEL_502",
         
     | 
| 519 | 
         
            +
                "503": "LABEL_503",
         
     | 
| 520 | 
         
            +
                "504": "LABEL_504",
         
     | 
| 521 | 
         
            +
                "505": "LABEL_505",
         
     | 
| 522 | 
         
            +
                "506": "LABEL_506",
         
     | 
| 523 | 
         
            +
                "507": "LABEL_507",
         
     | 
| 524 | 
         
            +
                "508": "LABEL_508",
         
     | 
| 525 | 
         
            +
                "509": "LABEL_509",
         
     | 
| 526 | 
         
            +
                "510": "LABEL_510",
         
     | 
| 527 | 
         
            +
                "511": "LABEL_511",
         
     | 
| 528 | 
         
            +
                "512": "LABEL_512",
         
     | 
| 529 | 
         
            +
                "513": "LABEL_513",
         
     | 
| 530 | 
         
            +
                "514": "LABEL_514",
         
     | 
| 531 | 
         
            +
                "515": "LABEL_515",
         
     | 
| 532 | 
         
            +
                "516": "LABEL_516",
         
     | 
| 533 | 
         
            +
                "517": "LABEL_517",
         
     | 
| 534 | 
         
            +
                "518": "LABEL_518",
         
     | 
| 535 | 
         
            +
                "519": "LABEL_519",
         
     | 
| 536 | 
         
            +
                "520": "LABEL_520",
         
     | 
| 537 | 
         
            +
                "521": "LABEL_521",
         
     | 
| 538 | 
         
            +
                "522": "LABEL_522",
         
     | 
| 539 | 
         
            +
                "523": "LABEL_523",
         
     | 
| 540 | 
         
            +
                "524": "LABEL_524",
         
     | 
| 541 | 
         
            +
                "525": "LABEL_525",
         
     | 
| 542 | 
         
            +
                "526": "LABEL_526",
         
     | 
| 543 | 
         
            +
                "527": "LABEL_527",
         
     | 
| 544 | 
         
            +
                "528": "LABEL_528",
         
     | 
| 545 | 
         
            +
                "529": "LABEL_529",
         
     | 
| 546 | 
         
            +
                "530": "LABEL_530",
         
     | 
| 547 | 
         
            +
                "531": "LABEL_531",
         
     | 
| 548 | 
         
            +
                "532": "LABEL_532",
         
     | 
| 549 | 
         
            +
                "533": "LABEL_533",
         
     | 
| 550 | 
         
            +
                "534": "LABEL_534",
         
     | 
| 551 | 
         
            +
                "535": "LABEL_535",
         
     | 
| 552 | 
         
            +
                "536": "LABEL_536",
         
     | 
| 553 | 
         
            +
                "537": "LABEL_537",
         
     | 
| 554 | 
         
            +
                "538": "LABEL_538",
         
     | 
| 555 | 
         
            +
                "539": "LABEL_539",
         
     | 
| 556 | 
         
            +
                "540": "LABEL_540",
         
     | 
| 557 | 
         
            +
                "541": "LABEL_541",
         
     | 
| 558 | 
         
            +
                "542": "LABEL_542",
         
     | 
| 559 | 
         
            +
                "543": "LABEL_543",
         
     | 
| 560 | 
         
            +
                "544": "LABEL_544",
         
     | 
| 561 | 
         
            +
                "545": "LABEL_545",
         
     | 
| 562 | 
         
            +
                "546": "LABEL_546",
         
     | 
| 563 | 
         
            +
                "547": "LABEL_547",
         
     | 
| 564 | 
         
            +
                "548": "LABEL_548",
         
     | 
| 565 | 
         
            +
                "549": "LABEL_549",
         
     | 
| 566 | 
         
            +
                "550": "LABEL_550",
         
     | 
| 567 | 
         
            +
                "551": "LABEL_551",
         
     | 
| 568 | 
         
            +
                "552": "LABEL_552",
         
     | 
| 569 | 
         
            +
                "553": "LABEL_553",
         
     | 
| 570 | 
         
            +
                "554": "LABEL_554",
         
     | 
| 571 | 
         
            +
                "555": "LABEL_555",
         
     | 
| 572 | 
         
            +
                "556": "LABEL_556",
         
     | 
| 573 | 
         
            +
                "557": "LABEL_557",
         
     | 
| 574 | 
         
            +
                "558": "LABEL_558",
         
     | 
| 575 | 
         
            +
                "559": "LABEL_559",
         
     | 
| 576 | 
         
            +
                "560": "LABEL_560",
         
     | 
| 577 | 
         
            +
                "561": "LABEL_561",
         
     | 
| 578 | 
         
            +
                "562": "LABEL_562",
         
     | 
| 579 | 
         
            +
                "563": "LABEL_563",
         
     | 
| 580 | 
         
            +
                "564": "LABEL_564",
         
     | 
| 581 | 
         
            +
                "565": "LABEL_565",
         
     | 
| 582 | 
         
            +
                "566": "LABEL_566",
         
     | 
| 583 | 
         
            +
                "567": "LABEL_567",
         
     | 
| 584 | 
         
            +
                "568": "LABEL_568",
         
     | 
| 585 | 
         
            +
                "569": "LABEL_569",
         
     | 
| 586 | 
         
            +
                "570": "LABEL_570",
         
     | 
| 587 | 
         
            +
                "571": "LABEL_571",
         
     | 
| 588 | 
         
            +
                "572": "LABEL_572",
         
     | 
| 589 | 
         
            +
                "573": "LABEL_573",
         
     | 
| 590 | 
         
            +
                "574": "LABEL_574",
         
     | 
| 591 | 
         
            +
                "575": "LABEL_575",
         
     | 
| 592 | 
         
            +
                "576": "LABEL_576",
         
     | 
| 593 | 
         
            +
                "577": "LABEL_577",
         
     | 
| 594 | 
         
            +
                "578": "LABEL_578",
         
     | 
| 595 | 
         
            +
                "579": "LABEL_579",
         
     | 
| 596 | 
         
            +
                "580": "LABEL_580",
         
     | 
| 597 | 
         
            +
                "581": "LABEL_581",
         
     | 
| 598 | 
         
            +
                "582": "LABEL_582",
         
     | 
| 599 | 
         
            +
                "583": "LABEL_583",
         
     | 
| 600 | 
         
            +
                "584": "LABEL_584",
         
     | 
| 601 | 
         
            +
                "585": "LABEL_585",
         
     | 
| 602 | 
         
            +
                "586": "LABEL_586",
         
     | 
| 603 | 
         
            +
                "587": "LABEL_587",
         
     | 
| 604 | 
         
            +
                "588": "LABEL_588",
         
     | 
| 605 | 
         
            +
                "589": "LABEL_589",
         
     | 
| 606 | 
         
            +
                "590": "LABEL_590",
         
     | 
| 607 | 
         
            +
                "591": "LABEL_591",
         
     | 
| 608 | 
         
            +
                "592": "LABEL_592",
         
     | 
| 609 | 
         
            +
                "593": "LABEL_593",
         
     | 
| 610 | 
         
            +
                "594": "LABEL_594",
         
     | 
| 611 | 
         
            +
                "595": "LABEL_595",
         
     | 
| 612 | 
         
            +
                "596": "LABEL_596",
         
     | 
| 613 | 
         
            +
                "597": "LABEL_597",
         
     | 
| 614 | 
         
            +
                "598": "LABEL_598",
         
     | 
| 615 | 
         
            +
                "599": "LABEL_599",
         
     | 
| 616 | 
         
            +
                "600": "LABEL_600",
         
     | 
| 617 | 
         
            +
                "601": "LABEL_601",
         
     | 
| 618 | 
         
            +
                "602": "LABEL_602",
         
     | 
| 619 | 
         
            +
                "603": "LABEL_603",
         
     | 
| 620 | 
         
            +
                "604": "LABEL_604",
         
     | 
| 621 | 
         
            +
                "605": "LABEL_605",
         
     | 
| 622 | 
         
            +
                "606": "LABEL_606",
         
     | 
| 623 | 
         
            +
                "607": "LABEL_607",
         
     | 
| 624 | 
         
            +
                "608": "LABEL_608",
         
     | 
| 625 | 
         
            +
                "609": "LABEL_609",
         
     | 
| 626 | 
         
            +
                "610": "LABEL_610",
         
     | 
| 627 | 
         
            +
                "611": "LABEL_611",
         
     | 
| 628 | 
         
            +
                "612": "LABEL_612",
         
     | 
| 629 | 
         
            +
                "613": "LABEL_613",
         
     | 
| 630 | 
         
            +
                "614": "LABEL_614",
         
     | 
| 631 | 
         
            +
                "615": "LABEL_615",
         
     | 
| 632 | 
         
            +
                "616": "LABEL_616",
         
     | 
| 633 | 
         
            +
                "617": "LABEL_617",
         
     | 
| 634 | 
         
            +
                "618": "LABEL_618",
         
     | 
| 635 | 
         
            +
                "619": "LABEL_619",
         
     | 
| 636 | 
         
            +
                "620": "LABEL_620",
         
     | 
| 637 | 
         
            +
                "621": "LABEL_621",
         
     | 
| 638 | 
         
            +
                "622": "LABEL_622",
         
     | 
| 639 | 
         
            +
                "623": "LABEL_623",
         
     | 
| 640 | 
         
            +
                "624": "LABEL_624",
         
     | 
| 641 | 
         
            +
                "625": "LABEL_625",
         
     | 
| 642 | 
         
            +
                "626": "LABEL_626",
         
     | 
| 643 | 
         
            +
                "627": "LABEL_627",
         
     | 
| 644 | 
         
            +
                "628": "LABEL_628",
         
     | 
| 645 | 
         
            +
                "629": "LABEL_629",
         
     | 
| 646 | 
         
            +
                "630": "LABEL_630",
         
     | 
| 647 | 
         
            +
                "631": "LABEL_631",
         
     | 
| 648 | 
         
            +
                "632": "LABEL_632",
         
     | 
| 649 | 
         
            +
                "633": "LABEL_633",
         
     | 
| 650 | 
         
            +
                "634": "LABEL_634",
         
     | 
| 651 | 
         
            +
                "635": "LABEL_635",
         
     | 
| 652 | 
         
            +
                "636": "LABEL_636",
         
     | 
| 653 | 
         
            +
                "637": "LABEL_637",
         
     | 
| 654 | 
         
            +
                "638": "LABEL_638",
         
     | 
| 655 | 
         
            +
                "639": "LABEL_639",
         
     | 
| 656 | 
         
            +
                "640": "LABEL_640",
         
     | 
| 657 | 
         
            +
                "641": "LABEL_641",
         
     | 
| 658 | 
         
            +
                "642": "LABEL_642",
         
     | 
| 659 | 
         
            +
                "643": "LABEL_643",
         
     | 
| 660 | 
         
            +
                "644": "LABEL_644",
         
     | 
| 661 | 
         
            +
                "645": "LABEL_645",
         
     | 
| 662 | 
         
            +
                "646": "LABEL_646",
         
     | 
| 663 | 
         
            +
                "647": "LABEL_647",
         
     | 
| 664 | 
         
            +
                "648": "LABEL_648",
         
     | 
| 665 | 
         
            +
                "649": "LABEL_649",
         
     | 
| 666 | 
         
            +
                "650": "LABEL_650",
         
     | 
| 667 | 
         
            +
                "651": "LABEL_651",
         
     | 
| 668 | 
         
            +
                "652": "LABEL_652",
         
     | 
| 669 | 
         
            +
                "653": "LABEL_653",
         
     | 
| 670 | 
         
            +
                "654": "LABEL_654",
         
     | 
| 671 | 
         
            +
                "655": "LABEL_655",
         
     | 
| 672 | 
         
            +
                "656": "LABEL_656",
         
     | 
| 673 | 
         
            +
                "657": "LABEL_657",
         
     | 
| 674 | 
         
            +
                "658": "LABEL_658",
         
     | 
| 675 | 
         
            +
                "659": "LABEL_659",
         
     | 
| 676 | 
         
            +
                "660": "LABEL_660",
         
     | 
| 677 | 
         
            +
                "661": "LABEL_661",
         
     | 
| 678 | 
         
            +
                "662": "LABEL_662",
         
     | 
| 679 | 
         
            +
                "663": "LABEL_663",
         
     | 
| 680 | 
         
            +
                "664": "LABEL_664",
         
     | 
| 681 | 
         
            +
                "665": "LABEL_665",
         
     | 
| 682 | 
         
            +
                "666": "LABEL_666",
         
     | 
| 683 | 
         
            +
                "667": "LABEL_667",
         
     | 
| 684 | 
         
            +
                "668": "LABEL_668",
         
     | 
| 685 | 
         
            +
                "669": "LABEL_669",
         
     | 
| 686 | 
         
            +
                "670": "LABEL_670",
         
     | 
| 687 | 
         
            +
                "671": "LABEL_671",
         
     | 
| 688 | 
         
            +
                "672": "LABEL_672",
         
     | 
| 689 | 
         
            +
                "673": "LABEL_673",
         
     | 
| 690 | 
         
            +
                "674": "LABEL_674",
         
     | 
| 691 | 
         
            +
                "675": "LABEL_675",
         
     | 
| 692 | 
         
            +
                "676": "LABEL_676",
         
     | 
| 693 | 
         
            +
                "677": "LABEL_677",
         
     | 
| 694 | 
         
            +
                "678": "LABEL_678",
         
     | 
| 695 | 
         
            +
                "679": "LABEL_679",
         
     | 
| 696 | 
         
            +
                "680": "LABEL_680",
         
     | 
| 697 | 
         
            +
                "681": "LABEL_681",
         
     | 
| 698 | 
         
            +
                "682": "LABEL_682",
         
     | 
| 699 | 
         
            +
                "683": "LABEL_683",
         
     | 
| 700 | 
         
            +
                "684": "LABEL_684",
         
     | 
| 701 | 
         
            +
                "685": "LABEL_685",
         
     | 
| 702 | 
         
            +
                "686": "LABEL_686",
         
     | 
| 703 | 
         
            +
                "687": "LABEL_687",
         
     | 
| 704 | 
         
            +
                "688": "LABEL_688",
         
     | 
| 705 | 
         
            +
                "689": "LABEL_689",
         
     | 
| 706 | 
         
            +
                "690": "LABEL_690",
         
     | 
| 707 | 
         
            +
                "691": "LABEL_691",
         
     | 
| 708 | 
         
            +
                "692": "LABEL_692",
         
     | 
| 709 | 
         
            +
                "693": "LABEL_693",
         
     | 
| 710 | 
         
            +
                "694": "LABEL_694",
         
     | 
| 711 | 
         
            +
                "695": "LABEL_695",
         
     | 
| 712 | 
         
            +
                "696": "LABEL_696",
         
     | 
| 713 | 
         
            +
                "697": "LABEL_697",
         
     | 
| 714 | 
         
            +
                "698": "LABEL_698",
         
     | 
| 715 | 
         
            +
                "699": "LABEL_699",
         
     | 
| 716 | 
         
            +
                "700": "LABEL_700",
         
     | 
| 717 | 
         
            +
                "701": "LABEL_701",
         
     | 
| 718 | 
         
            +
                "702": "LABEL_702",
         
     | 
| 719 | 
         
            +
                "703": "LABEL_703",
         
     | 
| 720 | 
         
            +
                "704": "LABEL_704",
         
     | 
| 721 | 
         
            +
                "705": "LABEL_705",
         
     | 
| 722 | 
         
            +
                "706": "LABEL_706",
         
     | 
| 723 | 
         
            +
                "707": "LABEL_707",
         
     | 
| 724 | 
         
            +
                "708": "LABEL_708",
         
     | 
| 725 | 
         
            +
                "709": "LABEL_709",
         
     | 
| 726 | 
         
            +
                "710": "LABEL_710",
         
     | 
| 727 | 
         
            +
                "711": "LABEL_711",
         
     | 
| 728 | 
         
            +
                "712": "LABEL_712",
         
     | 
| 729 | 
         
            +
                "713": "LABEL_713",
         
     | 
| 730 | 
         
            +
                "714": "LABEL_714",
         
     | 
| 731 | 
         
            +
                "715": "LABEL_715",
         
     | 
| 732 | 
         
            +
                "716": "LABEL_716",
         
     | 
| 733 | 
         
            +
                "717": "LABEL_717",
         
     | 
| 734 | 
         
            +
                "718": "LABEL_718",
         
     | 
| 735 | 
         
            +
                "719": "LABEL_719",
         
     | 
| 736 | 
         
            +
                "720": "LABEL_720",
         
     | 
| 737 | 
         
            +
                "721": "LABEL_721",
         
     | 
| 738 | 
         
            +
                "722": "LABEL_722",
         
     | 
| 739 | 
         
            +
                "723": "LABEL_723",
         
     | 
| 740 | 
         
            +
                "724": "LABEL_724",
         
     | 
| 741 | 
         
            +
                "725": "LABEL_725",
         
     | 
| 742 | 
         
            +
                "726": "LABEL_726",
         
     | 
| 743 | 
         
            +
                "727": "LABEL_727",
         
     | 
| 744 | 
         
            +
                "728": "LABEL_728",
         
     | 
| 745 | 
         
            +
                "729": "LABEL_729",
         
     | 
| 746 | 
         
            +
                "730": "LABEL_730",
         
     | 
| 747 | 
         
            +
                "731": "LABEL_731",
         
     | 
| 748 | 
         
            +
                "732": "LABEL_732",
         
     | 
| 749 | 
         
            +
                "733": "LABEL_733",
         
     | 
| 750 | 
         
            +
                "734": "LABEL_734",
         
     | 
| 751 | 
         
            +
                "735": "LABEL_735",
         
     | 
| 752 | 
         
            +
                "736": "LABEL_736",
         
     | 
| 753 | 
         
            +
                "737": "LABEL_737",
         
     | 
| 754 | 
         
            +
                "738": "LABEL_738",
         
     | 
| 755 | 
         
            +
                "739": "LABEL_739",
         
     | 
| 756 | 
         
            +
                "740": "LABEL_740",
         
     | 
| 757 | 
         
            +
                "741": "LABEL_741",
         
     | 
| 758 | 
         
            +
                "742": "LABEL_742",
         
     | 
| 759 | 
         
            +
                "743": "LABEL_743",
         
     | 
| 760 | 
         
            +
                "744": "LABEL_744",
         
     | 
| 761 | 
         
            +
                "745": "LABEL_745",
         
     | 
| 762 | 
         
            +
                "746": "LABEL_746",
         
     | 
| 763 | 
         
            +
                "747": "LABEL_747",
         
     | 
| 764 | 
         
            +
                "748": "LABEL_748",
         
     | 
| 765 | 
         
            +
                "749": "LABEL_749",
         
     | 
| 766 | 
         
            +
                "750": "LABEL_750",
         
     | 
| 767 | 
         
            +
                "751": "LABEL_751",
         
     | 
| 768 | 
         
            +
                "752": "LABEL_752",
         
     | 
| 769 | 
         
            +
                "753": "LABEL_753",
         
     | 
| 770 | 
         
            +
                "754": "LABEL_754",
         
     | 
| 771 | 
         
            +
                "755": "LABEL_755",
         
     | 
| 772 | 
         
            +
                "756": "LABEL_756",
         
     | 
| 773 | 
         
            +
                "757": "LABEL_757",
         
     | 
| 774 | 
         
            +
                "758": "LABEL_758",
         
     | 
| 775 | 
         
            +
                "759": "LABEL_759",
         
     | 
| 776 | 
         
            +
                "760": "LABEL_760",
         
     | 
| 777 | 
         
            +
                "761": "LABEL_761",
         
     | 
| 778 | 
         
            +
                "762": "LABEL_762",
         
     | 
| 779 | 
         
            +
                "763": "LABEL_763",
         
     | 
| 780 | 
         
            +
                "764": "LABEL_764",
         
     | 
| 781 | 
         
            +
                "765": "LABEL_765",
         
     | 
| 782 | 
         
            +
                "766": "LABEL_766",
         
     | 
| 783 | 
         
            +
                "767": "LABEL_767",
         
     | 
| 784 | 
         
            +
                "768": "LABEL_768",
         
     | 
| 785 | 
         
            +
                "769": "LABEL_769",
         
     | 
| 786 | 
         
            +
                "770": "LABEL_770",
         
     | 
| 787 | 
         
            +
                "771": "LABEL_771",
         
     | 
| 788 | 
         
            +
                "772": "LABEL_772",
         
     | 
| 789 | 
         
            +
                "773": "LABEL_773",
         
     | 
| 790 | 
         
            +
                "774": "LABEL_774",
         
     | 
| 791 | 
         
            +
                "775": "LABEL_775",
         
     | 
| 792 | 
         
            +
                "776": "LABEL_776",
         
     | 
| 793 | 
         
            +
                "777": "LABEL_777",
         
     | 
| 794 | 
         
            +
                "778": "LABEL_778",
         
     | 
| 795 | 
         
            +
                "779": "LABEL_779",
         
     | 
| 796 | 
         
            +
                "780": "LABEL_780",
         
     | 
| 797 | 
         
            +
                "781": "LABEL_781",
         
     | 
| 798 | 
         
            +
                "782": "LABEL_782",
         
     | 
| 799 | 
         
            +
                "783": "LABEL_783",
         
     | 
| 800 | 
         
            +
                "784": "LABEL_784",
         
     | 
| 801 | 
         
            +
                "785": "LABEL_785",
         
     | 
| 802 | 
         
            +
                "786": "LABEL_786",
         
     | 
| 803 | 
         
            +
                "787": "LABEL_787",
         
     | 
| 804 | 
         
            +
                "788": "LABEL_788",
         
     | 
| 805 | 
         
            +
                "789": "LABEL_789",
         
     | 
| 806 | 
         
            +
                "790": "LABEL_790",
         
     | 
| 807 | 
         
            +
                "791": "LABEL_791",
         
     | 
| 808 | 
         
            +
                "792": "LABEL_792",
         
     | 
| 809 | 
         
            +
                "793": "LABEL_793",
         
     | 
| 810 | 
         
            +
                "794": "LABEL_794",
         
     | 
| 811 | 
         
            +
                "795": "LABEL_795",
         
     | 
| 812 | 
         
            +
                "796": "LABEL_796",
         
     | 
| 813 | 
         
            +
                "797": "LABEL_797",
         
     | 
| 814 | 
         
            +
                "798": "LABEL_798",
         
     | 
| 815 | 
         
            +
                "799": "LABEL_799",
         
     | 
| 816 | 
         
            +
                "800": "LABEL_800",
         
     | 
| 817 | 
         
            +
                "801": "LABEL_801",
         
     | 
| 818 | 
         
            +
                "802": "LABEL_802",
         
     | 
| 819 | 
         
            +
                "803": "LABEL_803",
         
     | 
| 820 | 
         
            +
                "804": "LABEL_804",
         
     | 
| 821 | 
         
            +
                "805": "LABEL_805",
         
     | 
| 822 | 
         
            +
                "806": "LABEL_806",
         
     | 
| 823 | 
         
            +
                "807": "LABEL_807",
         
     | 
| 824 | 
         
            +
                "808": "LABEL_808",
         
     | 
| 825 | 
         
            +
                "809": "LABEL_809",
         
     | 
| 826 | 
         
            +
                "810": "LABEL_810",
         
     | 
| 827 | 
         
            +
                "811": "LABEL_811",
         
     | 
| 828 | 
         
            +
                "812": "LABEL_812",
         
     | 
| 829 | 
         
            +
                "813": "LABEL_813",
         
     | 
| 830 | 
         
            +
                "814": "LABEL_814",
         
     | 
| 831 | 
         
            +
                "815": "LABEL_815",
         
     | 
| 832 | 
         
            +
                "816": "LABEL_816",
         
     | 
| 833 | 
         
            +
                "817": "LABEL_817",
         
     | 
| 834 | 
         
            +
                "818": "LABEL_818",
         
     | 
| 835 | 
         
            +
                "819": "LABEL_819",
         
     | 
| 836 | 
         
            +
                "820": "LABEL_820",
         
     | 
| 837 | 
         
            +
                "821": "LABEL_821",
         
     | 
| 838 | 
         
            +
                "822": "LABEL_822",
         
     | 
| 839 | 
         
            +
                "823": "LABEL_823",
         
     | 
| 840 | 
         
            +
                "824": "LABEL_824",
         
     | 
| 841 | 
         
            +
                "825": "LABEL_825",
         
     | 
| 842 | 
         
            +
                "826": "LABEL_826",
         
     | 
| 843 | 
         
            +
                "827": "LABEL_827",
         
     | 
| 844 | 
         
            +
                "828": "LABEL_828",
         
     | 
| 845 | 
         
            +
                "829": "LABEL_829",
         
     | 
| 846 | 
         
            +
                "830": "LABEL_830",
         
     | 
| 847 | 
         
            +
                "831": "LABEL_831",
         
     | 
| 848 | 
         
            +
                "832": "LABEL_832",
         
     | 
| 849 | 
         
            +
                "833": "LABEL_833",
         
     | 
| 850 | 
         
            +
                "834": "LABEL_834",
         
     | 
| 851 | 
         
            +
                "835": "LABEL_835",
         
     | 
| 852 | 
         
            +
                "836": "LABEL_836",
         
     | 
| 853 | 
         
            +
                "837": "LABEL_837",
         
     | 
| 854 | 
         
            +
                "838": "LABEL_838",
         
     | 
| 855 | 
         
            +
                "839": "LABEL_839",
         
     | 
| 856 | 
         
            +
                "840": "LABEL_840",
         
     | 
| 857 | 
         
            +
                "841": "LABEL_841",
         
     | 
| 858 | 
         
            +
                "842": "LABEL_842",
         
     | 
| 859 | 
         
            +
                "843": "LABEL_843",
         
     | 
| 860 | 
         
            +
                "844": "LABEL_844",
         
     | 
| 861 | 
         
            +
                "845": "LABEL_845",
         
     | 
| 862 | 
         
            +
                "846": "LABEL_846",
         
     | 
| 863 | 
         
            +
                "847": "LABEL_847",
         
     | 
| 864 | 
         
            +
                "848": "LABEL_848",
         
     | 
| 865 | 
         
            +
                "849": "LABEL_849",
         
     | 
| 866 | 
         
            +
                "850": "LABEL_850",
         
     | 
| 867 | 
         
            +
                "851": "LABEL_851",
         
     | 
| 868 | 
         
            +
                "852": "LABEL_852",
         
     | 
| 869 | 
         
            +
                "853": "LABEL_853",
         
     | 
| 870 | 
         
            +
                "854": "LABEL_854",
         
     | 
| 871 | 
         
            +
                "855": "LABEL_855",
         
     | 
| 872 | 
         
            +
                "856": "LABEL_856",
         
     | 
| 873 | 
         
            +
                "857": "LABEL_857",
         
     | 
| 874 | 
         
            +
                "858": "LABEL_858",
         
     | 
| 875 | 
         
            +
                "859": "LABEL_859",
         
     | 
| 876 | 
         
            +
                "860": "LABEL_860",
         
     | 
| 877 | 
         
            +
                "861": "LABEL_861",
         
     | 
| 878 | 
         
            +
                "862": "LABEL_862",
         
     | 
| 879 | 
         
            +
                "863": "LABEL_863",
         
     | 
| 880 | 
         
            +
                "864": "LABEL_864",
         
     | 
| 881 | 
         
            +
                "865": "LABEL_865",
         
     | 
| 882 | 
         
            +
                "866": "LABEL_866",
         
     | 
| 883 | 
         
            +
                "867": "LABEL_867",
         
     | 
| 884 | 
         
            +
                "868": "LABEL_868",
         
     | 
| 885 | 
         
            +
                "869": "LABEL_869",
         
     | 
| 886 | 
         
            +
                "870": "LABEL_870",
         
     | 
| 887 | 
         
            +
                "871": "LABEL_871",
         
     | 
| 888 | 
         
            +
                "872": "LABEL_872",
         
     | 
| 889 | 
         
            +
                "873": "LABEL_873",
         
     | 
| 890 | 
         
            +
                "874": "LABEL_874",
         
     | 
| 891 | 
         
            +
                "875": "LABEL_875",
         
     | 
| 892 | 
         
            +
                "876": "LABEL_876",
         
     | 
| 893 | 
         
            +
                "877": "LABEL_877",
         
     | 
| 894 | 
         
            +
                "878": "LABEL_878",
         
     | 
| 895 | 
         
            +
                "879": "LABEL_879",
         
     | 
| 896 | 
         
            +
                "880": "LABEL_880",
         
     | 
| 897 | 
         
            +
                "881": "LABEL_881",
         
     | 
| 898 | 
         
            +
                "882": "LABEL_882",
         
     | 
| 899 | 
         
            +
                "883": "LABEL_883",
         
     | 
| 900 | 
         
            +
                "884": "LABEL_884",
         
     | 
| 901 | 
         
            +
                "885": "LABEL_885",
         
     | 
| 902 | 
         
            +
                "886": "LABEL_886",
         
     | 
| 903 | 
         
            +
                "887": "LABEL_887",
         
     | 
| 904 | 
         
            +
                "888": "LABEL_888",
         
     | 
| 905 | 
         
            +
                "889": "LABEL_889",
         
     | 
| 906 | 
         
            +
                "890": "LABEL_890",
         
     | 
| 907 | 
         
            +
                "891": "LABEL_891",
         
     | 
| 908 | 
         
            +
                "892": "LABEL_892",
         
     | 
| 909 | 
         
            +
                "893": "LABEL_893",
         
     | 
| 910 | 
         
            +
                "894": "LABEL_894",
         
     | 
| 911 | 
         
            +
                "895": "LABEL_895",
         
     | 
| 912 | 
         
            +
                "896": "LABEL_896",
         
     | 
| 913 | 
         
            +
                "897": "LABEL_897",
         
     | 
| 914 | 
         
            +
                "898": "LABEL_898",
         
     | 
| 915 | 
         
            +
                "899": "LABEL_899",
         
     | 
| 916 | 
         
            +
                "900": "LABEL_900",
         
     | 
| 917 | 
         
            +
                "901": "LABEL_901",
         
     | 
| 918 | 
         
            +
                "902": "LABEL_902",
         
     | 
| 919 | 
         
            +
                "903": "LABEL_903",
         
     | 
| 920 | 
         
            +
                "904": "LABEL_904",
         
     | 
| 921 | 
         
            +
                "905": "LABEL_905",
         
     | 
| 922 | 
         
            +
                "906": "LABEL_906",
         
     | 
| 923 | 
         
            +
                "907": "LABEL_907",
         
     | 
| 924 | 
         
            +
                "908": "LABEL_908",
         
     | 
| 925 | 
         
            +
                "909": "LABEL_909",
         
     | 
| 926 | 
         
            +
                "910": "LABEL_910",
         
     | 
| 927 | 
         
            +
                "911": "LABEL_911",
         
     | 
| 928 | 
         
            +
                "912": "LABEL_912",
         
     | 
| 929 | 
         
            +
                "913": "LABEL_913",
         
     | 
| 930 | 
         
            +
                "914": "LABEL_914",
         
     | 
| 931 | 
         
            +
                "915": "LABEL_915",
         
     | 
| 932 | 
         
            +
                "916": "LABEL_916",
         
     | 
| 933 | 
         
            +
                "917": "LABEL_917",
         
     | 
| 934 | 
         
            +
                "918": "LABEL_918",
         
     | 
| 935 | 
         
            +
                "919": "LABEL_919",
         
     | 
| 936 | 
         
            +
                "920": "LABEL_920",
         
     | 
| 937 | 
         
            +
                "921": "LABEL_921",
         
     | 
| 938 | 
         
            +
                "922": "LABEL_922",
         
     | 
| 939 | 
         
            +
                "923": "LABEL_923",
         
     | 
| 940 | 
         
            +
                "924": "LABEL_924",
         
     | 
| 941 | 
         
            +
                "925": "LABEL_925",
         
     | 
| 942 | 
         
            +
                "926": "LABEL_926",
         
     | 
| 943 | 
         
            +
                "927": "LABEL_927",
         
     | 
| 944 | 
         
            +
                "928": "LABEL_928",
         
     | 
| 945 | 
         
            +
                "929": "LABEL_929",
         
     | 
| 946 | 
         
            +
                "930": "LABEL_930",
         
     | 
| 947 | 
         
            +
                "931": "LABEL_931",
         
     | 
| 948 | 
         
            +
                "932": "LABEL_932",
         
     | 
| 949 | 
         
            +
                "933": "LABEL_933",
         
     | 
| 950 | 
         
            +
                "934": "LABEL_934",
         
     | 
| 951 | 
         
            +
                "935": "LABEL_935",
         
     | 
| 952 | 
         
            +
                "936": "LABEL_936",
         
     | 
| 953 | 
         
            +
                "937": "LABEL_937",
         
     | 
| 954 | 
         
            +
                "938": "LABEL_938",
         
     | 
| 955 | 
         
            +
                "939": "LABEL_939",
         
     | 
| 956 | 
         
            +
                "940": "LABEL_940",
         
     | 
| 957 | 
         
            +
                "941": "LABEL_941",
         
     | 
| 958 | 
         
            +
                "942": "LABEL_942",
         
     | 
| 959 | 
         
            +
                "943": "LABEL_943",
         
     | 
| 960 | 
         
            +
                "944": "LABEL_944",
         
     | 
| 961 | 
         
            +
                "945": "LABEL_945",
         
     | 
| 962 | 
         
            +
                "946": "LABEL_946",
         
     | 
| 963 | 
         
            +
                "947": "LABEL_947",
         
     | 
| 964 | 
         
            +
                "948": "LABEL_948",
         
     | 
| 965 | 
         
            +
                "949": "LABEL_949",
         
     | 
| 966 | 
         
            +
                "950": "LABEL_950",
         
     | 
| 967 | 
         
            +
                "951": "LABEL_951",
         
     | 
| 968 | 
         
            +
                "952": "LABEL_952",
         
     | 
| 969 | 
         
            +
                "953": "LABEL_953",
         
     | 
| 970 | 
         
            +
                "954": "LABEL_954",
         
     | 
| 971 | 
         
            +
                "955": "LABEL_955",
         
     | 
| 972 | 
         
            +
                "956": "LABEL_956",
         
     | 
| 973 | 
         
            +
                "957": "LABEL_957",
         
     | 
| 974 | 
         
            +
                "958": "LABEL_958",
         
     | 
| 975 | 
         
            +
                "959": "LABEL_959",
         
     | 
| 976 | 
         
            +
                "960": "LABEL_960",
         
     | 
| 977 | 
         
            +
                "961": "LABEL_961",
         
     | 
| 978 | 
         
            +
                "962": "LABEL_962",
         
     | 
| 979 | 
         
            +
                "963": "LABEL_963",
         
     | 
| 980 | 
         
            +
                "964": "LABEL_964",
         
     | 
| 981 | 
         
            +
                "965": "LABEL_965",
         
     | 
| 982 | 
         
            +
                "966": "LABEL_966",
         
     | 
| 983 | 
         
            +
                "967": "LABEL_967",
         
     | 
| 984 | 
         
            +
                "968": "LABEL_968",
         
     | 
| 985 | 
         
            +
                "969": "LABEL_969",
         
     | 
| 986 | 
         
            +
                "970": "LABEL_970",
         
     | 
| 987 | 
         
            +
                "971": "LABEL_971",
         
     | 
| 988 | 
         
            +
                "972": "LABEL_972",
         
     | 
| 989 | 
         
            +
                "973": "LABEL_973",
         
     | 
| 990 | 
         
            +
                "974": "LABEL_974",
         
     | 
| 991 | 
         
            +
                "975": "LABEL_975",
         
     | 
| 992 | 
         
            +
                "976": "LABEL_976",
         
     | 
| 993 | 
         
            +
                "977": "LABEL_977",
         
     | 
| 994 | 
         
            +
                "978": "LABEL_978",
         
     | 
| 995 | 
         
            +
                "979": "LABEL_979",
         
     | 
| 996 | 
         
            +
                "980": "LABEL_980",
         
     | 
| 997 | 
         
            +
                "981": "LABEL_981",
         
     | 
| 998 | 
         
            +
                "982": "LABEL_982",
         
     | 
| 999 | 
         
            +
                "983": "LABEL_983",
         
     | 
| 1000 | 
         
            +
                "984": "LABEL_984",
         
     | 
| 1001 | 
         
            +
                "985": "LABEL_985",
         
     | 
| 1002 | 
         
            +
                "986": "LABEL_986",
         
     | 
| 1003 | 
         
            +
                "987": "LABEL_987",
         
     | 
| 1004 | 
         
            +
                "988": "LABEL_988",
         
     | 
| 1005 | 
         
            +
                "989": "LABEL_989",
         
     | 
| 1006 | 
         
            +
                "990": "LABEL_990",
         
     | 
| 1007 | 
         
            +
                "991": "LABEL_991",
         
     | 
| 1008 | 
         
            +
                "992": "LABEL_992",
         
     | 
| 1009 | 
         
            +
                "993": "LABEL_993",
         
     | 
| 1010 | 
         
            +
                "994": "LABEL_994",
         
     | 
| 1011 | 
         
            +
                "995": "LABEL_995",
         
     | 
| 1012 | 
         
            +
                "996": "LABEL_996",
         
     | 
| 1013 | 
         
            +
                "997": "LABEL_997",
         
     | 
| 1014 | 
         
            +
                "998": "LABEL_998",
         
     | 
| 1015 | 
         
            +
                "999": "LABEL_999"
         
     | 
| 1016 | 
         
            +
              },
         
     | 
| 1017 | 
         
            +
              "image_size": 224,
         
     | 
| 1018 | 
         
            +
              "initializer_range": 0.02,
         
     | 
| 1019 | 
         
            +
              "intermediate_size": 3072,
         
     | 
| 1020 | 
         
            +
              "label2id": {
         
     | 
| 1021 | 
         
            +
                "LABEL_0": 0,
         
     | 
| 1022 | 
         
            +
                "LABEL_1": 1,
         
     | 
| 1023 | 
         
            +
                "LABEL_10": 10,
         
     | 
| 1024 | 
         
            +
                "LABEL_100": 100,
         
     | 
| 1025 | 
         
            +
                "LABEL_101": 101,
         
     | 
| 1026 | 
         
            +
                "LABEL_102": 102,
         
     | 
| 1027 | 
         
            +
                "LABEL_103": 103,
         
     | 
| 1028 | 
         
            +
                "LABEL_104": 104,
         
     | 
| 1029 | 
         
            +
                "LABEL_105": 105,
         
     | 
| 1030 | 
         
            +
                "LABEL_106": 106,
         
     | 
| 1031 | 
         
            +
                "LABEL_107": 107,
         
     | 
| 1032 | 
         
            +
                "LABEL_108": 108,
         
     | 
| 1033 | 
         
            +
                "LABEL_109": 109,
         
     | 
| 1034 | 
         
            +
                "LABEL_11": 11,
         
     | 
| 1035 | 
         
            +
                "LABEL_110": 110,
         
     | 
| 1036 | 
         
            +
                "LABEL_111": 111,
         
     | 
| 1037 | 
         
            +
                "LABEL_112": 112,
         
     | 
| 1038 | 
         
            +
                "LABEL_113": 113,
         
     | 
| 1039 | 
         
            +
                "LABEL_114": 114,
         
     | 
| 1040 | 
         
            +
                "LABEL_115": 115,
         
     | 
| 1041 | 
         
            +
                "LABEL_116": 116,
         
     | 
| 1042 | 
         
            +
                "LABEL_117": 117,
         
     | 
| 1043 | 
         
            +
                "LABEL_118": 118,
         
     | 
| 1044 | 
         
            +
                "LABEL_119": 119,
         
     | 
| 1045 | 
         
            +
                "LABEL_12": 12,
         
     | 
| 1046 | 
         
            +
                "LABEL_120": 120,
         
     | 
| 1047 | 
         
            +
                "LABEL_121": 121,
         
     | 
| 1048 | 
         
            +
                "LABEL_122": 122,
         
     | 
| 1049 | 
         
            +
                "LABEL_123": 123,
         
     | 
| 1050 | 
         
            +
                "LABEL_124": 124,
         
     | 
| 1051 | 
         
            +
                "LABEL_125": 125,
         
     | 
| 1052 | 
         
            +
                "LABEL_126": 126,
         
     | 
| 1053 | 
         
            +
                "LABEL_127": 127,
         
     | 
| 1054 | 
         
            +
                "LABEL_128": 128,
         
     | 
| 1055 | 
         
            +
                "LABEL_129": 129,
         
     | 
| 1056 | 
         
            +
                "LABEL_13": 13,
         
     | 
| 1057 | 
         
            +
                "LABEL_130": 130,
         
     | 
| 1058 | 
         
            +
                "LABEL_131": 131,
         
     | 
| 1059 | 
         
            +
                "LABEL_132": 132,
         
     | 
| 1060 | 
         
            +
                "LABEL_133": 133,
         
     | 
| 1061 | 
         
            +
                "LABEL_134": 134,
         
     | 
| 1062 | 
         
            +
                "LABEL_135": 135,
         
     | 
| 1063 | 
         
            +
                "LABEL_136": 136,
         
     | 
| 1064 | 
         
            +
                "LABEL_137": 137,
         
     | 
| 1065 | 
         
            +
                "LABEL_138": 138,
         
     | 
| 1066 | 
         
            +
                "LABEL_139": 139,
         
     | 
| 1067 | 
         
            +
                "LABEL_14": 14,
         
     | 
| 1068 | 
         
            +
                "LABEL_140": 140,
         
     | 
| 1069 | 
         
            +
                "LABEL_141": 141,
         
     | 
| 1070 | 
         
            +
                "LABEL_142": 142,
         
     | 
| 1071 | 
         
            +
                "LABEL_143": 143,
         
     | 
| 1072 | 
         
            +
                "LABEL_144": 144,
         
     | 
| 1073 | 
         
            +
                "LABEL_145": 145,
         
     | 
| 1074 | 
         
            +
                "LABEL_146": 146,
         
     | 
| 1075 | 
         
            +
                "LABEL_147": 147,
         
     | 
| 1076 | 
         
            +
                "LABEL_148": 148,
         
     | 
| 1077 | 
         
            +
                "LABEL_149": 149,
         
     | 
| 1078 | 
         
            +
                "LABEL_15": 15,
         
     | 
| 1079 | 
         
            +
                "LABEL_150": 150,
         
     | 
| 1080 | 
         
            +
                "LABEL_151": 151,
         
     | 
| 1081 | 
         
            +
                "LABEL_152": 152,
         
     | 
| 1082 | 
         
            +
                "LABEL_153": 153,
         
     | 
| 1083 | 
         
            +
                "LABEL_154": 154,
         
     | 
| 1084 | 
         
            +
                "LABEL_155": 155,
         
     | 
| 1085 | 
         
            +
                "LABEL_156": 156,
         
     | 
| 1086 | 
         
            +
                "LABEL_157": 157,
         
     | 
| 1087 | 
         
            +
                "LABEL_158": 158,
         
     | 
| 1088 | 
         
            +
                "LABEL_159": 159,
         
     | 
| 1089 | 
         
            +
                "LABEL_16": 16,
         
     | 
| 1090 | 
         
            +
                "LABEL_160": 160,
         
     | 
| 1091 | 
         
            +
                "LABEL_161": 161,
         
     | 
| 1092 | 
         
            +
                "LABEL_162": 162,
         
     | 
| 1093 | 
         
            +
                "LABEL_163": 163,
         
     | 
| 1094 | 
         
            +
                "LABEL_164": 164,
         
     | 
| 1095 | 
         
            +
                "LABEL_165": 165,
         
     | 
| 1096 | 
         
            +
                "LABEL_166": 166,
         
     | 
| 1097 | 
         
            +
                "LABEL_167": 167,
         
     | 
| 1098 | 
         
            +
                "LABEL_168": 168,
         
     | 
| 1099 | 
         
            +
                "LABEL_169": 169,
         
     | 
| 1100 | 
         
            +
                "LABEL_17": 17,
         
     | 
| 1101 | 
         
            +
                "LABEL_170": 170,
         
     | 
| 1102 | 
         
            +
                "LABEL_171": 171,
         
     | 
| 1103 | 
         
            +
                "LABEL_172": 172,
         
     | 
| 1104 | 
         
            +
                "LABEL_173": 173,
         
     | 
| 1105 | 
         
            +
                "LABEL_174": 174,
         
     | 
| 1106 | 
         
            +
                "LABEL_175": 175,
         
     | 
| 1107 | 
         
            +
                "LABEL_176": 176,
         
     | 
| 1108 | 
         
            +
                "LABEL_177": 177,
         
     | 
| 1109 | 
         
            +
                "LABEL_178": 178,
         
     | 
| 1110 | 
         
            +
                "LABEL_179": 179,
         
     | 
| 1111 | 
         
            +
                "LABEL_18": 18,
         
     | 
| 1112 | 
         
            +
                "LABEL_180": 180,
         
     | 
| 1113 | 
         
            +
                "LABEL_181": 181,
         
     | 
| 1114 | 
         
            +
                "LABEL_182": 182,
         
     | 
| 1115 | 
         
            +
                "LABEL_183": 183,
         
     | 
| 1116 | 
         
            +
                "LABEL_184": 184,
         
     | 
| 1117 | 
         
            +
                "LABEL_185": 185,
         
     | 
| 1118 | 
         
            +
                "LABEL_186": 186,
         
     | 
| 1119 | 
         
            +
                "LABEL_187": 187,
         
     | 
| 1120 | 
         
            +
                "LABEL_188": 188,
         
     | 
| 1121 | 
         
            +
                "LABEL_189": 189,
         
     | 
| 1122 | 
         
            +
                "LABEL_19": 19,
         
     | 
| 1123 | 
         
            +
                "LABEL_190": 190,
         
     | 
| 1124 | 
         
            +
                "LABEL_191": 191,
         
     | 
| 1125 | 
         
            +
                "LABEL_192": 192,
         
     | 
| 1126 | 
         
            +
                "LABEL_193": 193,
         
     | 
| 1127 | 
         
            +
                "LABEL_194": 194,
         
     | 
| 1128 | 
         
            +
                "LABEL_195": 195,
         
     | 
| 1129 | 
         
            +
                "LABEL_196": 196,
         
     | 
| 1130 | 
         
            +
                "LABEL_197": 197,
         
     | 
| 1131 | 
         
            +
                "LABEL_198": 198,
         
     | 
| 1132 | 
         
            +
                "LABEL_199": 199,
         
     | 
| 1133 | 
         
            +
                "LABEL_2": 2,
         
     | 
| 1134 | 
         
            +
                "LABEL_20": 20,
         
     | 
| 1135 | 
         
            +
                "LABEL_200": 200,
         
     | 
| 1136 | 
         
            +
                "LABEL_201": 201,
         
     | 
| 1137 | 
         
            +
                "LABEL_202": 202,
         
     | 
| 1138 | 
         
            +
                "LABEL_203": 203,
         
     | 
| 1139 | 
         
            +
                "LABEL_204": 204,
         
     | 
| 1140 | 
         
            +
                "LABEL_205": 205,
         
     | 
| 1141 | 
         
            +
                "LABEL_206": 206,
         
     | 
| 1142 | 
         
            +
                "LABEL_207": 207,
         
     | 
| 1143 | 
         
            +
                "LABEL_208": 208,
         
     | 
| 1144 | 
         
            +
                "LABEL_209": 209,
         
     | 
| 1145 | 
         
            +
                "LABEL_21": 21,
         
     | 
| 1146 | 
         
            +
                "LABEL_210": 210,
         
     | 
| 1147 | 
         
            +
                "LABEL_211": 211,
         
     | 
| 1148 | 
         
            +
                "LABEL_212": 212,
         
     | 
| 1149 | 
         
            +
                "LABEL_213": 213,
         
     | 
| 1150 | 
         
            +
                "LABEL_214": 214,
         
     | 
| 1151 | 
         
            +
                "LABEL_215": 215,
         
     | 
| 1152 | 
         
            +
                "LABEL_216": 216,
         
     | 
| 1153 | 
         
            +
                "LABEL_217": 217,
         
     | 
| 1154 | 
         
            +
                "LABEL_218": 218,
         
     | 
| 1155 | 
         
            +
                "LABEL_219": 219,
         
     | 
| 1156 | 
         
            +
                "LABEL_22": 22,
         
     | 
| 1157 | 
         
            +
                "LABEL_220": 220,
         
     | 
| 1158 | 
         
            +
                "LABEL_221": 221,
         
     | 
| 1159 | 
         
            +
                "LABEL_222": 222,
         
     | 
| 1160 | 
         
            +
                "LABEL_223": 223,
         
     | 
| 1161 | 
         
            +
                "LABEL_224": 224,
         
     | 
| 1162 | 
         
            +
                "LABEL_225": 225,
         
     | 
| 1163 | 
         
            +
                "LABEL_226": 226,
         
     | 
| 1164 | 
         
            +
                "LABEL_227": 227,
         
     | 
| 1165 | 
         
            +
                "LABEL_228": 228,
         
     | 
| 1166 | 
         
            +
                "LABEL_229": 229,
         
     | 
| 1167 | 
         
            +
                "LABEL_23": 23,
         
     | 
| 1168 | 
         
            +
                "LABEL_230": 230,
         
     | 
| 1169 | 
         
            +
                "LABEL_231": 231,
         
     | 
| 1170 | 
         
            +
                "LABEL_232": 232,
         
     | 
| 1171 | 
         
            +
                "LABEL_233": 233,
         
     | 
| 1172 | 
         
            +
                "LABEL_234": 234,
         
     | 
| 1173 | 
         
            +
                "LABEL_235": 235,
         
     | 
| 1174 | 
         
            +
                "LABEL_236": 236,
         
     | 
| 1175 | 
         
            +
                "LABEL_237": 237,
         
     | 
| 1176 | 
         
            +
                "LABEL_238": 238,
         
     | 
| 1177 | 
         
            +
                "LABEL_239": 239,
         
     | 
| 1178 | 
         
            +
                "LABEL_24": 24,
         
     | 
| 1179 | 
         
            +
                "LABEL_240": 240,
         
     | 
| 1180 | 
         
            +
                "LABEL_241": 241,
         
     | 
| 1181 | 
         
            +
                "LABEL_242": 242,
         
     | 
| 1182 | 
         
            +
                "LABEL_243": 243,
         
     | 
| 1183 | 
         
            +
                "LABEL_244": 244,
         
     | 
| 1184 | 
         
            +
                "LABEL_245": 245,
         
     | 
| 1185 | 
         
            +
                "LABEL_246": 246,
         
     | 
| 1186 | 
         
            +
                "LABEL_247": 247,
         
     | 
| 1187 | 
         
            +
                "LABEL_248": 248,
         
     | 
| 1188 | 
         
            +
                "LABEL_249": 249,
         
     | 
| 1189 | 
         
            +
                "LABEL_25": 25,
         
     | 
| 1190 | 
         
            +
                "LABEL_250": 250,
         
     | 
| 1191 | 
         
            +
                "LABEL_251": 251,
         
     | 
| 1192 | 
         
            +
                "LABEL_252": 252,
         
     | 
| 1193 | 
         
            +
                "LABEL_253": 253,
         
     | 
| 1194 | 
         
            +
                "LABEL_254": 254,
         
     | 
| 1195 | 
         
            +
                "LABEL_255": 255,
         
     | 
| 1196 | 
         
            +
                "LABEL_256": 256,
         
     | 
| 1197 | 
         
            +
                "LABEL_257": 257,
         
     | 
| 1198 | 
         
            +
                "LABEL_258": 258,
         
     | 
| 1199 | 
         
            +
                "LABEL_259": 259,
         
     | 
| 1200 | 
         
            +
                "LABEL_26": 26,
         
     | 
| 1201 | 
         
            +
                "LABEL_260": 260,
         
     | 
| 1202 | 
         
            +
                "LABEL_261": 261,
         
     | 
| 1203 | 
         
            +
                "LABEL_262": 262,
         
     | 
| 1204 | 
         
            +
                "LABEL_263": 263,
         
     | 
| 1205 | 
         
            +
                "LABEL_264": 264,
         
     | 
| 1206 | 
         
            +
                "LABEL_265": 265,
         
     | 
| 1207 | 
         
            +
                "LABEL_266": 266,
         
     | 
| 1208 | 
         
            +
                "LABEL_267": 267,
         
     | 
| 1209 | 
         
            +
                "LABEL_268": 268,
         
     | 
| 1210 | 
         
            +
                "LABEL_269": 269,
         
     | 
| 1211 | 
         
            +
                "LABEL_27": 27,
         
     | 
| 1212 | 
         
            +
                "LABEL_270": 270,
         
     | 
| 1213 | 
         
            +
                "LABEL_271": 271,
         
     | 
| 1214 | 
         
            +
                "LABEL_272": 272,
         
     | 
| 1215 | 
         
            +
                "LABEL_273": 273,
         
     | 
| 1216 | 
         
            +
                "LABEL_274": 274,
         
     | 
| 1217 | 
         
            +
                "LABEL_275": 275,
         
     | 
| 1218 | 
         
            +
                "LABEL_276": 276,
         
     | 
| 1219 | 
         
            +
                "LABEL_277": 277,
         
     | 
| 1220 | 
         
            +
                "LABEL_278": 278,
         
     | 
| 1221 | 
         
            +
                "LABEL_279": 279,
         
     | 
| 1222 | 
         
            +
                "LABEL_28": 28,
         
     | 
| 1223 | 
         
            +
                "LABEL_280": 280,
         
     | 
| 1224 | 
         
            +
                "LABEL_281": 281,
         
     | 
| 1225 | 
         
            +
                "LABEL_282": 282,
         
     | 
| 1226 | 
         
            +
                "LABEL_283": 283,
         
     | 
| 1227 | 
         
            +
                "LABEL_284": 284,
         
     | 
| 1228 | 
         
            +
                "LABEL_285": 285,
         
     | 
| 1229 | 
         
            +
                "LABEL_286": 286,
         
     | 
| 1230 | 
         
            +
                "LABEL_287": 287,
         
     | 
| 1231 | 
         
            +
                "LABEL_288": 288,
         
     | 
| 1232 | 
         
            +
                "LABEL_289": 289,
         
     | 
| 1233 | 
         
            +
                "LABEL_29": 29,
         
     | 
| 1234 | 
         
            +
                "LABEL_290": 290,
         
     | 
| 1235 | 
         
            +
                "LABEL_291": 291,
         
     | 
| 1236 | 
         
            +
                "LABEL_292": 292,
         
     | 
| 1237 | 
         
            +
                "LABEL_293": 293,
         
     | 
| 1238 | 
         
            +
                "LABEL_294": 294,
         
     | 
| 1239 | 
         
            +
                "LABEL_295": 295,
         
     | 
| 1240 | 
         
            +
                "LABEL_296": 296,
         
     | 
| 1241 | 
         
            +
                "LABEL_297": 297,
         
     | 
| 1242 | 
         
            +
                "LABEL_298": 298,
         
     | 
| 1243 | 
         
            +
                "LABEL_299": 299,
         
     | 
| 1244 | 
         
            +
                "LABEL_3": 3,
         
     | 
| 1245 | 
         
            +
                "LABEL_30": 30,
         
     | 
| 1246 | 
         
            +
                "LABEL_300": 300,
         
     | 
| 1247 | 
         
            +
                "LABEL_301": 301,
         
     | 
| 1248 | 
         
            +
                "LABEL_302": 302,
         
     | 
| 1249 | 
         
            +
                "LABEL_303": 303,
         
     | 
| 1250 | 
         
            +
                "LABEL_304": 304,
         
     | 
| 1251 | 
         
            +
                "LABEL_305": 305,
         
     | 
| 1252 | 
         
            +
                "LABEL_306": 306,
         
     | 
| 1253 | 
         
            +
                "LABEL_307": 307,
         
     | 
| 1254 | 
         
            +
                "LABEL_308": 308,
         
     | 
| 1255 | 
         
            +
                "LABEL_309": 309,
         
     | 
| 1256 | 
         
            +
                "LABEL_31": 31,
         
     | 
| 1257 | 
         
            +
                "LABEL_310": 310,
         
     | 
| 1258 | 
         
            +
                "LABEL_311": 311,
         
     | 
| 1259 | 
         
            +
                "LABEL_312": 312,
         
     | 
| 1260 | 
         
            +
                "LABEL_313": 313,
         
     | 
| 1261 | 
         
            +
                "LABEL_314": 314,
         
     | 
| 1262 | 
         
            +
                "LABEL_315": 315,
         
     | 
| 1263 | 
         
            +
                "LABEL_316": 316,
         
     | 
| 1264 | 
         
            +
                "LABEL_317": 317,
         
     | 
| 1265 | 
         
            +
                "LABEL_318": 318,
         
     | 
| 1266 | 
         
            +
                "LABEL_319": 319,
         
     | 
| 1267 | 
         
            +
                "LABEL_32": 32,
         
     | 
| 1268 | 
         
            +
                "LABEL_320": 320,
         
     | 
| 1269 | 
         
            +
                "LABEL_321": 321,
         
     | 
| 1270 | 
         
            +
                "LABEL_322": 322,
         
     | 
| 1271 | 
         
            +
                "LABEL_323": 323,
         
     | 
| 1272 | 
         
            +
                "LABEL_324": 324,
         
     | 
| 1273 | 
         
            +
                "LABEL_325": 325,
         
     | 
| 1274 | 
         
            +
                "LABEL_326": 326,
         
     | 
| 1275 | 
         
            +
                "LABEL_327": 327,
         
     | 
| 1276 | 
         
            +
                "LABEL_328": 328,
         
     | 
| 1277 | 
         
            +
                "LABEL_329": 329,
         
     | 
| 1278 | 
         
            +
                "LABEL_33": 33,
         
     | 
| 1279 | 
         
            +
                "LABEL_330": 330,
         
     | 
| 1280 | 
         
            +
                "LABEL_331": 331,
         
     | 
| 1281 | 
         
            +
                "LABEL_332": 332,
         
     | 
| 1282 | 
         
            +
                "LABEL_333": 333,
         
     | 
| 1283 | 
         
            +
                "LABEL_334": 334,
         
     | 
| 1284 | 
         
            +
                "LABEL_335": 335,
         
     | 
| 1285 | 
         
            +
                "LABEL_336": 336,
         
     | 
| 1286 | 
         
            +
                "LABEL_337": 337,
         
     | 
| 1287 | 
         
            +
                "LABEL_338": 338,
         
     | 
| 1288 | 
         
            +
                "LABEL_339": 339,
         
     | 
| 1289 | 
         
            +
                "LABEL_34": 34,
         
     | 
| 1290 | 
         
            +
                "LABEL_340": 340,
         
     | 
| 1291 | 
         
            +
                "LABEL_341": 341,
         
     | 
| 1292 | 
         
            +
                "LABEL_342": 342,
         
     | 
| 1293 | 
         
            +
                "LABEL_343": 343,
         
     | 
| 1294 | 
         
            +
                "LABEL_344": 344,
         
     | 
| 1295 | 
         
            +
                "LABEL_345": 345,
         
     | 
| 1296 | 
         
            +
                "LABEL_346": 346,
         
     | 
| 1297 | 
         
            +
                "LABEL_347": 347,
         
     | 
| 1298 | 
         
            +
                "LABEL_348": 348,
         
     | 
| 1299 | 
         
            +
                "LABEL_349": 349,
         
     | 
| 1300 | 
         
            +
                "LABEL_35": 35,
         
     | 
| 1301 | 
         
            +
                "LABEL_350": 350,
         
     | 
| 1302 | 
         
            +
                "LABEL_351": 351,
         
     | 
| 1303 | 
         
            +
                "LABEL_352": 352,
         
     | 
| 1304 | 
         
            +
                "LABEL_353": 353,
         
     | 
| 1305 | 
         
            +
                "LABEL_354": 354,
         
     | 
| 1306 | 
         
            +
                "LABEL_355": 355,
         
     | 
| 1307 | 
         
            +
                "LABEL_356": 356,
         
     | 
| 1308 | 
         
            +
                "LABEL_357": 357,
         
     | 
| 1309 | 
         
            +
                "LABEL_358": 358,
         
     | 
| 1310 | 
         
            +
                "LABEL_359": 359,
         
     | 
| 1311 | 
         
            +
                "LABEL_36": 36,
         
     | 
| 1312 | 
         
            +
                "LABEL_360": 360,
         
     | 
| 1313 | 
         
            +
                "LABEL_361": 361,
         
     | 
| 1314 | 
         
            +
                "LABEL_362": 362,
         
     | 
| 1315 | 
         
            +
                "LABEL_363": 363,
         
     | 
| 1316 | 
         
            +
                "LABEL_364": 364,
         
     | 
| 1317 | 
         
            +
                "LABEL_365": 365,
         
     | 
| 1318 | 
         
            +
                "LABEL_366": 366,
         
     | 
| 1319 | 
         
            +
                "LABEL_367": 367,
         
     | 
| 1320 | 
         
            +
                "LABEL_368": 368,
         
     | 
| 1321 | 
         
            +
                "LABEL_369": 369,
         
     | 
| 1322 | 
         
            +
                "LABEL_37": 37,
         
     | 
| 1323 | 
         
            +
                "LABEL_370": 370,
         
     | 
| 1324 | 
         
            +
                "LABEL_371": 371,
         
     | 
| 1325 | 
         
            +
                "LABEL_372": 372,
         
     | 
| 1326 | 
         
            +
                "LABEL_373": 373,
         
     | 
| 1327 | 
         
            +
                "LABEL_374": 374,
         
     | 
| 1328 | 
         
            +
                "LABEL_375": 375,
         
     | 
| 1329 | 
         
            +
                "LABEL_376": 376,
         
     | 
| 1330 | 
         
            +
                "LABEL_377": 377,
         
     | 
| 1331 | 
         
            +
                "LABEL_378": 378,
         
     | 
| 1332 | 
         
            +
                "LABEL_379": 379,
         
     | 
| 1333 | 
         
            +
                "LABEL_38": 38,
         
     | 
| 1334 | 
         
            +
                "LABEL_380": 380,
         
     | 
| 1335 | 
         
            +
                "LABEL_381": 381,
         
     | 
| 1336 | 
         
            +
                "LABEL_382": 382,
         
     | 
| 1337 | 
         
            +
                "LABEL_383": 383,
         
     | 
| 1338 | 
         
            +
                "LABEL_384": 384,
         
     | 
| 1339 | 
         
            +
                "LABEL_385": 385,
         
     | 
| 1340 | 
         
            +
                "LABEL_386": 386,
         
     | 
| 1341 | 
         
            +
                "LABEL_387": 387,
         
     | 
| 1342 | 
         
            +
                "LABEL_388": 388,
         
     | 
| 1343 | 
         
            +
                "LABEL_389": 389,
         
     | 
| 1344 | 
         
            +
                "LABEL_39": 39,
         
     | 
| 1345 | 
         
            +
                "LABEL_390": 390,
         
     | 
| 1346 | 
         
            +
                "LABEL_391": 391,
         
     | 
| 1347 | 
         
            +
                "LABEL_392": 392,
         
     | 
| 1348 | 
         
            +
                "LABEL_393": 393,
         
     | 
| 1349 | 
         
            +
                "LABEL_394": 394,
         
     | 
| 1350 | 
         
            +
                "LABEL_395": 395,
         
     | 
| 1351 | 
         
            +
                "LABEL_396": 396,
         
     | 
| 1352 | 
         
            +
                "LABEL_397": 397,
         
     | 
| 1353 | 
         
            +
                "LABEL_398": 398,
         
     | 
| 1354 | 
         
            +
                "LABEL_399": 399,
         
     | 
| 1355 | 
         
            +
                "LABEL_4": 4,
         
     | 
| 1356 | 
         
            +
                "LABEL_40": 40,
         
     | 
| 1357 | 
         
            +
                "LABEL_400": 400,
         
     | 
| 1358 | 
         
            +
                "LABEL_401": 401,
         
     | 
| 1359 | 
         
            +
                "LABEL_402": 402,
         
     | 
| 1360 | 
         
            +
                "LABEL_403": 403,
         
     | 
| 1361 | 
         
            +
                "LABEL_404": 404,
         
     | 
| 1362 | 
         
            +
                "LABEL_405": 405,
         
     | 
| 1363 | 
         
            +
                "LABEL_406": 406,
         
     | 
| 1364 | 
         
            +
                "LABEL_407": 407,
         
     | 
| 1365 | 
         
            +
                "LABEL_408": 408,
         
     | 
| 1366 | 
         
            +
                "LABEL_409": 409,
         
     | 
| 1367 | 
         
            +
                "LABEL_41": 41,
         
     | 
| 1368 | 
         
            +
                "LABEL_410": 410,
         
     | 
| 1369 | 
         
            +
                "LABEL_411": 411,
         
     | 
| 1370 | 
         
            +
                "LABEL_412": 412,
         
     | 
| 1371 | 
         
            +
                "LABEL_413": 413,
         
     | 
| 1372 | 
         
            +
                "LABEL_414": 414,
         
     | 
| 1373 | 
         
            +
                "LABEL_415": 415,
         
     | 
| 1374 | 
         
            +
                "LABEL_416": 416,
         
     | 
| 1375 | 
         
            +
                "LABEL_417": 417,
         
     | 
| 1376 | 
         
            +
                "LABEL_418": 418,
         
     | 
| 1377 | 
         
            +
                "LABEL_419": 419,
         
     | 
| 1378 | 
         
            +
                "LABEL_42": 42,
         
     | 
| 1379 | 
         
            +
                "LABEL_420": 420,
         
     | 
| 1380 | 
         
            +
                "LABEL_421": 421,
         
     | 
| 1381 | 
         
            +
                "LABEL_422": 422,
         
     | 
| 1382 | 
         
            +
                "LABEL_423": 423,
         
     | 
| 1383 | 
         
            +
                "LABEL_424": 424,
         
     | 
| 1384 | 
         
            +
                "LABEL_425": 425,
         
     | 
| 1385 | 
         
            +
                "LABEL_426": 426,
         
     | 
| 1386 | 
         
            +
                "LABEL_427": 427,
         
     | 
| 1387 | 
         
            +
                "LABEL_428": 428,
         
     | 
| 1388 | 
         
            +
                "LABEL_429": 429,
         
     | 
| 1389 | 
         
            +
                "LABEL_43": 43,
         
     | 
| 1390 | 
         
            +
                "LABEL_430": 430,
         
     | 
| 1391 | 
         
            +
                "LABEL_431": 431,
         
     | 
| 1392 | 
         
            +
                "LABEL_432": 432,
         
     | 
| 1393 | 
         
            +
                "LABEL_433": 433,
         
     | 
| 1394 | 
         
            +
                "LABEL_434": 434,
         
     | 
| 1395 | 
         
            +
                "LABEL_435": 435,
         
     | 
| 1396 | 
         
            +
                "LABEL_436": 436,
         
     | 
| 1397 | 
         
            +
                "LABEL_437": 437,
         
     | 
| 1398 | 
         
            +
                "LABEL_438": 438,
         
     | 
| 1399 | 
         
            +
                "LABEL_439": 439,
         
     | 
| 1400 | 
         
            +
                "LABEL_44": 44,
         
     | 
| 1401 | 
         
            +
                "LABEL_440": 440,
         
     | 
| 1402 | 
         
            +
                "LABEL_441": 441,
         
     | 
| 1403 | 
         
            +
                "LABEL_442": 442,
         
     | 
| 1404 | 
         
            +
                "LABEL_443": 443,
         
     | 
| 1405 | 
         
            +
                "LABEL_444": 444,
         
     | 
| 1406 | 
         
            +
                "LABEL_445": 445,
         
     | 
| 1407 | 
         
            +
                "LABEL_446": 446,
         
     | 
| 1408 | 
         
            +
                "LABEL_447": 447,
         
     | 
| 1409 | 
         
            +
                "LABEL_448": 448,
         
     | 
| 1410 | 
         
            +
                "LABEL_449": 449,
         
     | 
| 1411 | 
         
            +
                "LABEL_45": 45,
         
     | 
| 1412 | 
         
            +
                "LABEL_450": 450,
         
     | 
| 1413 | 
         
            +
                "LABEL_451": 451,
         
     | 
| 1414 | 
         
            +
                "LABEL_452": 452,
         
     | 
| 1415 | 
         
            +
                "LABEL_453": 453,
         
     | 
| 1416 | 
         
            +
                "LABEL_454": 454,
         
     | 
| 1417 | 
         
            +
                "LABEL_455": 455,
         
     | 
| 1418 | 
         
            +
                "LABEL_456": 456,
         
     | 
| 1419 | 
         
            +
                "LABEL_457": 457,
         
     | 
| 1420 | 
         
            +
                "LABEL_458": 458,
         
     | 
| 1421 | 
         
            +
                "LABEL_459": 459,
         
     | 
| 1422 | 
         
            +
                "LABEL_46": 46,
         
     | 
| 1423 | 
         
            +
                "LABEL_460": 460,
         
     | 
| 1424 | 
         
            +
                "LABEL_461": 461,
         
     | 
| 1425 | 
         
            +
                "LABEL_462": 462,
         
     | 
| 1426 | 
         
            +
                "LABEL_463": 463,
         
     | 
| 1427 | 
         
            +
                "LABEL_464": 464,
         
     | 
| 1428 | 
         
            +
                "LABEL_465": 465,
         
     | 
| 1429 | 
         
            +
                "LABEL_466": 466,
         
     | 
| 1430 | 
         
            +
                "LABEL_467": 467,
         
     | 
| 1431 | 
         
            +
                "LABEL_468": 468,
         
     | 
| 1432 | 
         
            +
                "LABEL_469": 469,
         
     | 
| 1433 | 
         
            +
                "LABEL_47": 47,
         
     | 
| 1434 | 
         
            +
                "LABEL_470": 470,
         
     | 
| 1435 | 
         
            +
                "LABEL_471": 471,
         
     | 
| 1436 | 
         
            +
                "LABEL_472": 472,
         
     | 
| 1437 | 
         
            +
                "LABEL_473": 473,
         
     | 
| 1438 | 
         
            +
                "LABEL_474": 474,
         
     | 
| 1439 | 
         
            +
                "LABEL_475": 475,
         
     | 
| 1440 | 
         
            +
                "LABEL_476": 476,
         
     | 
| 1441 | 
         
            +
                "LABEL_477": 477,
         
     | 
| 1442 | 
         
            +
                "LABEL_478": 478,
         
     | 
| 1443 | 
         
            +
                "LABEL_479": 479,
         
     | 
| 1444 | 
         
            +
                "LABEL_48": 48,
         
     | 
| 1445 | 
         
            +
                "LABEL_480": 480,
         
     | 
| 1446 | 
         
            +
                "LABEL_481": 481,
         
     | 
| 1447 | 
         
            +
                "LABEL_482": 482,
         
     | 
| 1448 | 
         
            +
                "LABEL_483": 483,
         
     | 
| 1449 | 
         
            +
                "LABEL_484": 484,
         
     | 
| 1450 | 
         
            +
                "LABEL_485": 485,
         
     | 
| 1451 | 
         
            +
                "LABEL_486": 486,
         
     | 
| 1452 | 
         
            +
                "LABEL_487": 487,
         
     | 
| 1453 | 
         
            +
                "LABEL_488": 488,
         
     | 
| 1454 | 
         
            +
                "LABEL_489": 489,
         
     | 
| 1455 | 
         
            +
                "LABEL_49": 49,
         
     | 
| 1456 | 
         
            +
                "LABEL_490": 490,
         
     | 
| 1457 | 
         
            +
                "LABEL_491": 491,
         
     | 
| 1458 | 
         
            +
                "LABEL_492": 492,
         
     | 
| 1459 | 
         
            +
                "LABEL_493": 493,
         
     | 
| 1460 | 
         
            +
                "LABEL_494": 494,
         
     | 
| 1461 | 
         
            +
                "LABEL_495": 495,
         
     | 
| 1462 | 
         
            +
                "LABEL_496": 496,
         
     | 
| 1463 | 
         
            +
                "LABEL_497": 497,
         
     | 
| 1464 | 
         
            +
                "LABEL_498": 498,
         
     | 
| 1465 | 
         
            +
                "LABEL_499": 499,
         
     | 
| 1466 | 
         
            +
                "LABEL_5": 5,
         
     | 
| 1467 | 
         
            +
                "LABEL_50": 50,
         
     | 
| 1468 | 
         
            +
                "LABEL_500": 500,
         
     | 
| 1469 | 
         
            +
                "LABEL_501": 501,
         
     | 
| 1470 | 
         
            +
                "LABEL_502": 502,
         
     | 
| 1471 | 
         
            +
                "LABEL_503": 503,
         
     | 
| 1472 | 
         
            +
                "LABEL_504": 504,
         
     | 
| 1473 | 
         
            +
                "LABEL_505": 505,
         
     | 
| 1474 | 
         
            +
                "LABEL_506": 506,
         
     | 
| 1475 | 
         
            +
                "LABEL_507": 507,
         
     | 
| 1476 | 
         
            +
                "LABEL_508": 508,
         
     | 
| 1477 | 
         
            +
                "LABEL_509": 509,
         
     | 
| 1478 | 
         
            +
                "LABEL_51": 51,
         
     | 
| 1479 | 
         
            +
                "LABEL_510": 510,
         
     | 
| 1480 | 
         
            +
                "LABEL_511": 511,
         
     | 
| 1481 | 
         
            +
                "LABEL_512": 512,
         
     | 
| 1482 | 
         
            +
                "LABEL_513": 513,
         
     | 
| 1483 | 
         
            +
                "LABEL_514": 514,
         
     | 
| 1484 | 
         
            +
                "LABEL_515": 515,
         
     | 
| 1485 | 
         
            +
                "LABEL_516": 516,
         
     | 
| 1486 | 
         
            +
                "LABEL_517": 517,
         
     | 
| 1487 | 
         
            +
                "LABEL_518": 518,
         
     | 
| 1488 | 
         
            +
                "LABEL_519": 519,
         
     | 
| 1489 | 
         
            +
                "LABEL_52": 52,
         
     | 
| 1490 | 
         
            +
                "LABEL_520": 520,
         
     | 
| 1491 | 
         
            +
                "LABEL_521": 521,
         
     | 
| 1492 | 
         
            +
                "LABEL_522": 522,
         
     | 
| 1493 | 
         
            +
                "LABEL_523": 523,
         
     | 
| 1494 | 
         
            +
                "LABEL_524": 524,
         
     | 
| 1495 | 
         
            +
                "LABEL_525": 525,
         
     | 
| 1496 | 
         
            +
                "LABEL_526": 526,
         
     | 
| 1497 | 
         
            +
                "LABEL_527": 527,
         
     | 
| 1498 | 
         
            +
                "LABEL_528": 528,
         
     | 
| 1499 | 
         
            +
                "LABEL_529": 529,
         
     | 
| 1500 | 
         
            +
                "LABEL_53": 53,
         
     | 
| 1501 | 
         
            +
                "LABEL_530": 530,
         
     | 
| 1502 | 
         
            +
                "LABEL_531": 531,
         
     | 
| 1503 | 
         
            +
                "LABEL_532": 532,
         
     | 
| 1504 | 
         
            +
                "LABEL_533": 533,
         
     | 
| 1505 | 
         
            +
                "LABEL_534": 534,
         
     | 
| 1506 | 
         
            +
                "LABEL_535": 535,
         
     | 
| 1507 | 
         
            +
                "LABEL_536": 536,
         
     | 
| 1508 | 
         
            +
                "LABEL_537": 537,
         
     | 
| 1509 | 
         
            +
                "LABEL_538": 538,
         
     | 
| 1510 | 
         
            +
                "LABEL_539": 539,
         
     | 
| 1511 | 
         
            +
                "LABEL_54": 54,
         
     | 
| 1512 | 
         
            +
                "LABEL_540": 540,
         
     | 
| 1513 | 
         
            +
                "LABEL_541": 541,
         
     | 
| 1514 | 
         
            +
                "LABEL_542": 542,
         
     | 
| 1515 | 
         
            +
                "LABEL_543": 543,
         
     | 
| 1516 | 
         
            +
                "LABEL_544": 544,
         
     | 
| 1517 | 
         
            +
                "LABEL_545": 545,
         
     | 
| 1518 | 
         
            +
                "LABEL_546": 546,
         
     | 
| 1519 | 
         
            +
                "LABEL_547": 547,
         
     | 
| 1520 | 
         
            +
                "LABEL_548": 548,
         
     | 
| 1521 | 
         
            +
                "LABEL_549": 549,
         
     | 
| 1522 | 
         
            +
                "LABEL_55": 55,
         
     | 
| 1523 | 
         
            +
                "LABEL_550": 550,
         
     | 
| 1524 | 
         
            +
                "LABEL_551": 551,
         
     | 
| 1525 | 
         
            +
                "LABEL_552": 552,
         
     | 
| 1526 | 
         
            +
                "LABEL_553": 553,
         
     | 
| 1527 | 
         
            +
                "LABEL_554": 554,
         
     | 
| 1528 | 
         
            +
                "LABEL_555": 555,
         
     | 
| 1529 | 
         
            +
                "LABEL_556": 556,
         
     | 
| 1530 | 
         
            +
                "LABEL_557": 557,
         
     | 
| 1531 | 
         
            +
                "LABEL_558": 558,
         
     | 
| 1532 | 
         
            +
                "LABEL_559": 559,
         
     | 
| 1533 | 
         
            +
                "LABEL_56": 56,
         
     | 
| 1534 | 
         
            +
                "LABEL_560": 560,
         
     | 
| 1535 | 
         
            +
                "LABEL_561": 561,
         
     | 
| 1536 | 
         
            +
                "LABEL_562": 562,
         
     | 
| 1537 | 
         
            +
                "LABEL_563": 563,
         
     | 
| 1538 | 
         
            +
                "LABEL_564": 564,
         
     | 
| 1539 | 
         
            +
                "LABEL_565": 565,
         
     | 
| 1540 | 
         
            +
                "LABEL_566": 566,
         
     | 
| 1541 | 
         
            +
                "LABEL_567": 567,
         
     | 
| 1542 | 
         
            +
                "LABEL_568": 568,
         
     | 
| 1543 | 
         
            +
                "LABEL_569": 569,
         
     | 
| 1544 | 
         
            +
                "LABEL_57": 57,
         
     | 
| 1545 | 
         
            +
                "LABEL_570": 570,
         
     | 
| 1546 | 
         
            +
                "LABEL_571": 571,
         
     | 
| 1547 | 
         
            +
                "LABEL_572": 572,
         
     | 
| 1548 | 
         
            +
                "LABEL_573": 573,
         
     | 
| 1549 | 
         
            +
                "LABEL_574": 574,
         
     | 
| 1550 | 
         
            +
                "LABEL_575": 575,
         
     | 
| 1551 | 
         
            +
                "LABEL_576": 576,
         
     | 
| 1552 | 
         
            +
                "LABEL_577": 577,
         
     | 
| 1553 | 
         
            +
                "LABEL_578": 578,
         
     | 
| 1554 | 
         
            +
                "LABEL_579": 579,
         
     | 
| 1555 | 
         
            +
                "LABEL_58": 58,
         
     | 
| 1556 | 
         
            +
                "LABEL_580": 580,
         
     | 
| 1557 | 
         
            +
                "LABEL_581": 581,
         
     | 
| 1558 | 
         
            +
                "LABEL_582": 582,
         
     | 
| 1559 | 
         
            +
                "LABEL_583": 583,
         
     | 
| 1560 | 
         
            +
                "LABEL_584": 584,
         
     | 
| 1561 | 
         
            +
                "LABEL_585": 585,
         
     | 
| 1562 | 
         
            +
                "LABEL_586": 586,
         
     | 
| 1563 | 
         
            +
                "LABEL_587": 587,
         
     | 
| 1564 | 
         
            +
                "LABEL_588": 588,
         
     | 
| 1565 | 
         
            +
                "LABEL_589": 589,
         
     | 
| 1566 | 
         
            +
                "LABEL_59": 59,
         
     | 
| 1567 | 
         
            +
                "LABEL_590": 590,
         
     | 
| 1568 | 
         
            +
                "LABEL_591": 591,
         
     | 
| 1569 | 
         
            +
                "LABEL_592": 592,
         
     | 
| 1570 | 
         
            +
                "LABEL_593": 593,
         
     | 
| 1571 | 
         
            +
                "LABEL_594": 594,
         
     | 
| 1572 | 
         
            +
                "LABEL_595": 595,
         
     | 
| 1573 | 
         
            +
                "LABEL_596": 596,
         
     | 
| 1574 | 
         
            +
                "LABEL_597": 597,
         
     | 
| 1575 | 
         
            +
                "LABEL_598": 598,
         
     | 
| 1576 | 
         
            +
                "LABEL_599": 599,
         
     | 
| 1577 | 
         
            +
                "LABEL_6": 6,
         
     | 
| 1578 | 
         
            +
                "LABEL_60": 60,
         
     | 
| 1579 | 
         
            +
                "LABEL_600": 600,
         
     | 
| 1580 | 
         
            +
                "LABEL_601": 601,
         
     | 
| 1581 | 
         
            +
                "LABEL_602": 602,
         
     | 
| 1582 | 
         
            +
                "LABEL_603": 603,
         
     | 
| 1583 | 
         
            +
                "LABEL_604": 604,
         
     | 
| 1584 | 
         
            +
                "LABEL_605": 605,
         
     | 
| 1585 | 
         
            +
                "LABEL_606": 606,
         
     | 
| 1586 | 
         
            +
                "LABEL_607": 607,
         
     | 
| 1587 | 
         
            +
                "LABEL_608": 608,
         
     | 
| 1588 | 
         
            +
                "LABEL_609": 609,
         
     | 
| 1589 | 
         
            +
                "LABEL_61": 61,
         
     | 
| 1590 | 
         
            +
                "LABEL_610": 610,
         
     | 
| 1591 | 
         
            +
                "LABEL_611": 611,
         
     | 
| 1592 | 
         
            +
                "LABEL_612": 612,
         
     | 
| 1593 | 
         
            +
                "LABEL_613": 613,
         
     | 
| 1594 | 
         
            +
                "LABEL_614": 614,
         
     | 
| 1595 | 
         
            +
                "LABEL_615": 615,
         
     | 
| 1596 | 
         
            +
                "LABEL_616": 616,
         
     | 
| 1597 | 
         
            +
                "LABEL_617": 617,
         
     | 
| 1598 | 
         
            +
                "LABEL_618": 618,
         
     | 
| 1599 | 
         
            +
                "LABEL_619": 619,
         
     | 
| 1600 | 
         
            +
                "LABEL_62": 62,
         
     | 
| 1601 | 
         
            +
                "LABEL_620": 620,
         
     | 
| 1602 | 
         
            +
                "LABEL_621": 621,
         
     | 
| 1603 | 
         
            +
                "LABEL_622": 622,
         
     | 
| 1604 | 
         
            +
                "LABEL_623": 623,
         
     | 
| 1605 | 
         
            +
                "LABEL_624": 624,
         
     | 
| 1606 | 
         
            +
                "LABEL_625": 625,
         
     | 
| 1607 | 
         
            +
                "LABEL_626": 626,
         
     | 
| 1608 | 
         
            +
                "LABEL_627": 627,
         
     | 
| 1609 | 
         
            +
                "LABEL_628": 628,
         
     | 
| 1610 | 
         
            +
                "LABEL_629": 629,
         
     | 
| 1611 | 
         
            +
                "LABEL_63": 63,
         
     | 
| 1612 | 
         
            +
                "LABEL_630": 630,
         
     | 
| 1613 | 
         
            +
                "LABEL_631": 631,
         
     | 
| 1614 | 
         
            +
                "LABEL_632": 632,
         
     | 
| 1615 | 
         
            +
                "LABEL_633": 633,
         
     | 
| 1616 | 
         
            +
                "LABEL_634": 634,
         
     | 
| 1617 | 
         
            +
                "LABEL_635": 635,
         
     | 
| 1618 | 
         
            +
                "LABEL_636": 636,
         
     | 
| 1619 | 
         
            +
                "LABEL_637": 637,
         
     | 
| 1620 | 
         
            +
                "LABEL_638": 638,
         
     | 
| 1621 | 
         
            +
                "LABEL_639": 639,
         
     | 
| 1622 | 
         
            +
                "LABEL_64": 64,
         
     | 
| 1623 | 
         
            +
                "LABEL_640": 640,
         
     | 
| 1624 | 
         
            +
                "LABEL_641": 641,
         
     | 
| 1625 | 
         
            +
                "LABEL_642": 642,
         
     | 
| 1626 | 
         
            +
                "LABEL_643": 643,
         
     | 
| 1627 | 
         
            +
                "LABEL_644": 644,
         
     | 
| 1628 | 
         
            +
                "LABEL_645": 645,
         
     | 
| 1629 | 
         
            +
                "LABEL_646": 646,
         
     | 
| 1630 | 
         
            +
                "LABEL_647": 647,
         
     | 
| 1631 | 
         
            +
                "LABEL_648": 648,
         
     | 
| 1632 | 
         
            +
                "LABEL_649": 649,
         
     | 
| 1633 | 
         
            +
                "LABEL_65": 65,
         
     | 
| 1634 | 
         
            +
                "LABEL_650": 650,
         
     | 
| 1635 | 
         
            +
                "LABEL_651": 651,
         
     | 
| 1636 | 
         
            +
                "LABEL_652": 652,
         
     | 
| 1637 | 
         
            +
                "LABEL_653": 653,
         
     | 
| 1638 | 
         
            +
                "LABEL_654": 654,
         
     | 
| 1639 | 
         
            +
                "LABEL_655": 655,
         
     | 
| 1640 | 
         
            +
                "LABEL_656": 656,
         
     | 
| 1641 | 
         
            +
                "LABEL_657": 657,
         
     | 
| 1642 | 
         
            +
                "LABEL_658": 658,
         
     | 
| 1643 | 
         
            +
                "LABEL_659": 659,
         
     | 
| 1644 | 
         
            +
                "LABEL_66": 66,
         
     | 
| 1645 | 
         
            +
                "LABEL_660": 660,
         
     | 
| 1646 | 
         
            +
                "LABEL_661": 661,
         
     | 
| 1647 | 
         
            +
                "LABEL_662": 662,
         
     | 
| 1648 | 
         
            +
                "LABEL_663": 663,
         
     | 
| 1649 | 
         
            +
                "LABEL_664": 664,
         
     | 
| 1650 | 
         
            +
                "LABEL_665": 665,
         
     | 
| 1651 | 
         
            +
                "LABEL_666": 666,
         
     | 
| 1652 | 
         
            +
                "LABEL_667": 667,
         
     | 
| 1653 | 
         
            +
                "LABEL_668": 668,
         
     | 
| 1654 | 
         
            +
                "LABEL_669": 669,
         
     | 
| 1655 | 
         
            +
                "LABEL_67": 67,
         
     | 
| 1656 | 
         
            +
                "LABEL_670": 670,
         
     | 
| 1657 | 
         
            +
                "LABEL_671": 671,
         
     | 
| 1658 | 
         
            +
                "LABEL_672": 672,
         
     | 
| 1659 | 
         
            +
                "LABEL_673": 673,
         
     | 
| 1660 | 
         
            +
                "LABEL_674": 674,
         
     | 
| 1661 | 
         
            +
                "LABEL_675": 675,
         
     | 
| 1662 | 
         
            +
                "LABEL_676": 676,
         
     | 
| 1663 | 
         
            +
                "LABEL_677": 677,
         
     | 
| 1664 | 
         
            +
                "LABEL_678": 678,
         
     | 
| 1665 | 
         
            +
                "LABEL_679": 679,
         
     | 
| 1666 | 
         
            +
                "LABEL_68": 68,
         
     | 
| 1667 | 
         
            +
                "LABEL_680": 680,
         
     | 
| 1668 | 
         
            +
                "LABEL_681": 681,
         
     | 
| 1669 | 
         
            +
                "LABEL_682": 682,
         
     | 
| 1670 | 
         
            +
                "LABEL_683": 683,
         
     | 
| 1671 | 
         
            +
                "LABEL_684": 684,
         
     | 
| 1672 | 
         
            +
                "LABEL_685": 685,
         
     | 
| 1673 | 
         
            +
                "LABEL_686": 686,
         
     | 
| 1674 | 
         
            +
                "LABEL_687": 687,
         
     | 
| 1675 | 
         
            +
                "LABEL_688": 688,
         
     | 
| 1676 | 
         
            +
                "LABEL_689": 689,
         
     | 
| 1677 | 
         
            +
                "LABEL_69": 69,
         
     | 
| 1678 | 
         
            +
                "LABEL_690": 690,
         
     | 
| 1679 | 
         
            +
                "LABEL_691": 691,
         
     | 
| 1680 | 
         
            +
                "LABEL_692": 692,
         
     | 
| 1681 | 
         
            +
                "LABEL_693": 693,
         
     | 
| 1682 | 
         
            +
                "LABEL_694": 694,
         
     | 
| 1683 | 
         
            +
                "LABEL_695": 695,
         
     | 
| 1684 | 
         
            +
                "LABEL_696": 696,
         
     | 
| 1685 | 
         
            +
                "LABEL_697": 697,
         
     | 
| 1686 | 
         
            +
                "LABEL_698": 698,
         
     | 
| 1687 | 
         
            +
                "LABEL_699": 699,
         
     | 
| 1688 | 
         
            +
                "LABEL_7": 7,
         
     | 
| 1689 | 
         
            +
                "LABEL_70": 70,
         
     | 
| 1690 | 
         
            +
                "LABEL_700": 700,
         
     | 
| 1691 | 
         
            +
                "LABEL_701": 701,
         
     | 
| 1692 | 
         
            +
                "LABEL_702": 702,
         
     | 
| 1693 | 
         
            +
                "LABEL_703": 703,
         
     | 
| 1694 | 
         
            +
                "LABEL_704": 704,
         
     | 
| 1695 | 
         
            +
                "LABEL_705": 705,
         
     | 
| 1696 | 
         
            +
                "LABEL_706": 706,
         
     | 
| 1697 | 
         
            +
                "LABEL_707": 707,
         
     | 
| 1698 | 
         
            +
                "LABEL_708": 708,
         
     | 
| 1699 | 
         
            +
                "LABEL_709": 709,
         
     | 
| 1700 | 
         
            +
                "LABEL_71": 71,
         
     | 
| 1701 | 
         
            +
                "LABEL_710": 710,
         
     | 
| 1702 | 
         
            +
                "LABEL_711": 711,
         
     | 
| 1703 | 
         
            +
                "LABEL_712": 712,
         
     | 
| 1704 | 
         
            +
                "LABEL_713": 713,
         
     | 
| 1705 | 
         
            +
                "LABEL_714": 714,
         
     | 
| 1706 | 
         
            +
                "LABEL_715": 715,
         
     | 
| 1707 | 
         
            +
                "LABEL_716": 716,
         
     | 
| 1708 | 
         
            +
                "LABEL_717": 717,
         
     | 
| 1709 | 
         
            +
                "LABEL_718": 718,
         
     | 
| 1710 | 
         
            +
                "LABEL_719": 719,
         
     | 
| 1711 | 
         
            +
                "LABEL_72": 72,
         
     | 
| 1712 | 
         
            +
                "LABEL_720": 720,
         
     | 
| 1713 | 
         
            +
                "LABEL_721": 721,
         
     | 
| 1714 | 
         
            +
                "LABEL_722": 722,
         
     | 
| 1715 | 
         
            +
                "LABEL_723": 723,
         
     | 
| 1716 | 
         
            +
                "LABEL_724": 724,
         
     | 
| 1717 | 
         
            +
                "LABEL_725": 725,
         
     | 
| 1718 | 
         
            +
                "LABEL_726": 726,
         
     | 
| 1719 | 
         
            +
                "LABEL_727": 727,
         
     | 
| 1720 | 
         
            +
                "LABEL_728": 728,
         
     | 
| 1721 | 
         
            +
                "LABEL_729": 729,
         
     | 
| 1722 | 
         
            +
                "LABEL_73": 73,
         
     | 
| 1723 | 
         
            +
                "LABEL_730": 730,
         
     | 
| 1724 | 
         
            +
                "LABEL_731": 731,
         
     | 
| 1725 | 
         
            +
                "LABEL_732": 732,
         
     | 
| 1726 | 
         
            +
                "LABEL_733": 733,
         
     | 
| 1727 | 
         
            +
                "LABEL_734": 734,
         
     | 
| 1728 | 
         
            +
                "LABEL_735": 735,
         
     | 
| 1729 | 
         
            +
                "LABEL_736": 736,
         
     | 
| 1730 | 
         
            +
                "LABEL_737": 737,
         
     | 
| 1731 | 
         
            +
                "LABEL_738": 738,
         
     | 
| 1732 | 
         
            +
                "LABEL_739": 739,
         
     | 
| 1733 | 
         
            +
                "LABEL_74": 74,
         
     | 
| 1734 | 
         
            +
                "LABEL_740": 740,
         
     | 
| 1735 | 
         
            +
                "LABEL_741": 741,
         
     | 
| 1736 | 
         
            +
                "LABEL_742": 742,
         
     | 
| 1737 | 
         
            +
                "LABEL_743": 743,
         
     | 
| 1738 | 
         
            +
                "LABEL_744": 744,
         
     | 
| 1739 | 
         
            +
                "LABEL_745": 745,
         
     | 
| 1740 | 
         
            +
                "LABEL_746": 746,
         
     | 
| 1741 | 
         
            +
                "LABEL_747": 747,
         
     | 
| 1742 | 
         
            +
                "LABEL_748": 748,
         
     | 
| 1743 | 
         
            +
                "LABEL_749": 749,
         
     | 
| 1744 | 
         
            +
                "LABEL_75": 75,
         
     | 
| 1745 | 
         
            +
                "LABEL_750": 750,
         
     | 
| 1746 | 
         
            +
                "LABEL_751": 751,
         
     | 
| 1747 | 
         
            +
                "LABEL_752": 752,
         
     | 
| 1748 | 
         
            +
                "LABEL_753": 753,
         
     | 
| 1749 | 
         
            +
                "LABEL_754": 754,
         
     | 
| 1750 | 
         
            +
                "LABEL_755": 755,
         
     | 
| 1751 | 
         
            +
                "LABEL_756": 756,
         
     | 
| 1752 | 
         
            +
                "LABEL_757": 757,
         
     | 
| 1753 | 
         
            +
                "LABEL_758": 758,
         
     | 
| 1754 | 
         
            +
                "LABEL_759": 759,
         
     | 
| 1755 | 
         
            +
                "LABEL_76": 76,
         
     | 
| 1756 | 
         
            +
                "LABEL_760": 760,
         
     | 
| 1757 | 
         
            +
                "LABEL_761": 761,
         
     | 
| 1758 | 
         
            +
                "LABEL_762": 762,
         
     | 
| 1759 | 
         
            +
                "LABEL_763": 763,
         
     | 
| 1760 | 
         
            +
                "LABEL_764": 764,
         
     | 
| 1761 | 
         
            +
                "LABEL_765": 765,
         
     | 
| 1762 | 
         
            +
                "LABEL_766": 766,
         
     | 
| 1763 | 
         
            +
                "LABEL_767": 767,
         
     | 
| 1764 | 
         
            +
                "LABEL_768": 768,
         
     | 
| 1765 | 
         
            +
                "LABEL_769": 769,
         
     | 
| 1766 | 
         
            +
                "LABEL_77": 77,
         
     | 
| 1767 | 
         
            +
                "LABEL_770": 770,
         
     | 
| 1768 | 
         
            +
                "LABEL_771": 771,
         
     | 
| 1769 | 
         
            +
                "LABEL_772": 772,
         
     | 
| 1770 | 
         
            +
                "LABEL_773": 773,
         
     | 
| 1771 | 
         
            +
                "LABEL_774": 774,
         
     | 
| 1772 | 
         
            +
                "LABEL_775": 775,
         
     | 
| 1773 | 
         
            +
                "LABEL_776": 776,
         
     | 
| 1774 | 
         
            +
                "LABEL_777": 777,
         
     | 
| 1775 | 
         
            +
                "LABEL_778": 778,
         
     | 
| 1776 | 
         
            +
                "LABEL_779": 779,
         
     | 
| 1777 | 
         
            +
                "LABEL_78": 78,
         
     | 
| 1778 | 
         
            +
                "LABEL_780": 780,
         
     | 
| 1779 | 
         
            +
                "LABEL_781": 781,
         
     | 
| 1780 | 
         
            +
                "LABEL_782": 782,
         
     | 
| 1781 | 
         
            +
                "LABEL_783": 783,
         
     | 
| 1782 | 
         
            +
                "LABEL_784": 784,
         
     | 
| 1783 | 
         
            +
                "LABEL_785": 785,
         
     | 
| 1784 | 
         
            +
                "LABEL_786": 786,
         
     | 
| 1785 | 
         
            +
                "LABEL_787": 787,
         
     | 
| 1786 | 
         
            +
                "LABEL_788": 788,
         
     | 
| 1787 | 
         
            +
                "LABEL_789": 789,
         
     | 
| 1788 | 
         
            +
                "LABEL_79": 79,
         
     | 
| 1789 | 
         
            +
                "LABEL_790": 790,
         
     | 
| 1790 | 
         
            +
                "LABEL_791": 791,
         
     | 
| 1791 | 
         
            +
                "LABEL_792": 792,
         
     | 
| 1792 | 
         
            +
                "LABEL_793": 793,
         
     | 
| 1793 | 
         
            +
                "LABEL_794": 794,
         
     | 
| 1794 | 
         
            +
                "LABEL_795": 795,
         
     | 
| 1795 | 
         
            +
                "LABEL_796": 796,
         
     | 
| 1796 | 
         
            +
                "LABEL_797": 797,
         
     | 
| 1797 | 
         
            +
                "LABEL_798": 798,
         
     | 
| 1798 | 
         
            +
                "LABEL_799": 799,
         
     | 
| 1799 | 
         
            +
                "LABEL_8": 8,
         
     | 
| 1800 | 
         
            +
                "LABEL_80": 80,
         
     | 
| 1801 | 
         
            +
                "LABEL_800": 800,
         
     | 
| 1802 | 
         
            +
                "LABEL_801": 801,
         
     | 
| 1803 | 
         
            +
                "LABEL_802": 802,
         
     | 
| 1804 | 
         
            +
                "LABEL_803": 803,
         
     | 
| 1805 | 
         
            +
                "LABEL_804": 804,
         
     | 
| 1806 | 
         
            +
                "LABEL_805": 805,
         
     | 
| 1807 | 
         
            +
                "LABEL_806": 806,
         
     | 
| 1808 | 
         
            +
                "LABEL_807": 807,
         
     | 
| 1809 | 
         
            +
                "LABEL_808": 808,
         
     | 
| 1810 | 
         
            +
                "LABEL_809": 809,
         
     | 
| 1811 | 
         
            +
                "LABEL_81": 81,
         
     | 
| 1812 | 
         
            +
                "LABEL_810": 810,
         
     | 
| 1813 | 
         
            +
                "LABEL_811": 811,
         
     | 
| 1814 | 
         
            +
                "LABEL_812": 812,
         
     | 
| 1815 | 
         
            +
                "LABEL_813": 813,
         
     | 
| 1816 | 
         
            +
                "LABEL_814": 814,
         
     | 
| 1817 | 
         
            +
                "LABEL_815": 815,
         
     | 
| 1818 | 
         
            +
                "LABEL_816": 816,
         
     | 
| 1819 | 
         
            +
                "LABEL_817": 817,
         
     | 
| 1820 | 
         
            +
                "LABEL_818": 818,
         
     | 
| 1821 | 
         
            +
                "LABEL_819": 819,
         
     | 
| 1822 | 
         
            +
                "LABEL_82": 82,
         
     | 
| 1823 | 
         
            +
                "LABEL_820": 820,
         
     | 
| 1824 | 
         
            +
                "LABEL_821": 821,
         
     | 
| 1825 | 
         
            +
                "LABEL_822": 822,
         
     | 
| 1826 | 
         
            +
                "LABEL_823": 823,
         
     | 
| 1827 | 
         
            +
                "LABEL_824": 824,
         
     | 
| 1828 | 
         
            +
                "LABEL_825": 825,
         
     | 
| 1829 | 
         
            +
                "LABEL_826": 826,
         
     | 
| 1830 | 
         
            +
                "LABEL_827": 827,
         
     | 
| 1831 | 
         
            +
                "LABEL_828": 828,
         
     | 
| 1832 | 
         
            +
                "LABEL_829": 829,
         
     | 
| 1833 | 
         
            +
                "LABEL_83": 83,
         
     | 
| 1834 | 
         
            +
                "LABEL_830": 830,
         
     | 
| 1835 | 
         
            +
                "LABEL_831": 831,
         
     | 
| 1836 | 
         
            +
                "LABEL_832": 832,
         
     | 
| 1837 | 
         
            +
                "LABEL_833": 833,
         
     | 
| 1838 | 
         
            +
                "LABEL_834": 834,
         
     | 
| 1839 | 
         
            +
                "LABEL_835": 835,
         
     | 
| 1840 | 
         
            +
                "LABEL_836": 836,
         
     | 
| 1841 | 
         
            +
                "LABEL_837": 837,
         
     | 
| 1842 | 
         
            +
                "LABEL_838": 838,
         
     | 
| 1843 | 
         
            +
                "LABEL_839": 839,
         
     | 
| 1844 | 
         
            +
                "LABEL_84": 84,
         
     | 
| 1845 | 
         
            +
                "LABEL_840": 840,
         
     | 
| 1846 | 
         
            +
                "LABEL_841": 841,
         
     | 
| 1847 | 
         
            +
                "LABEL_842": 842,
         
     | 
| 1848 | 
         
            +
                "LABEL_843": 843,
         
     | 
| 1849 | 
         
            +
                "LABEL_844": 844,
         
     | 
| 1850 | 
         
            +
                "LABEL_845": 845,
         
     | 
| 1851 | 
         
            +
                "LABEL_846": 846,
         
     | 
| 1852 | 
         
            +
                "LABEL_847": 847,
         
     | 
| 1853 | 
         
            +
                "LABEL_848": 848,
         
     | 
| 1854 | 
         
            +
                "LABEL_849": 849,
         
     | 
| 1855 | 
         
            +
                "LABEL_85": 85,
         
     | 
| 1856 | 
         
            +
                "LABEL_850": 850,
         
     | 
| 1857 | 
         
            +
                "LABEL_851": 851,
         
     | 
| 1858 | 
         
            +
                "LABEL_852": 852,
         
     | 
| 1859 | 
         
            +
                "LABEL_853": 853,
         
     | 
| 1860 | 
         
            +
                "LABEL_854": 854,
         
     | 
| 1861 | 
         
            +
                "LABEL_855": 855,
         
     | 
| 1862 | 
         
            +
                "LABEL_856": 856,
         
     | 
| 1863 | 
         
            +
                "LABEL_857": 857,
         
     | 
| 1864 | 
         
            +
                "LABEL_858": 858,
         
     | 
| 1865 | 
         
            +
                "LABEL_859": 859,
         
     | 
| 1866 | 
         
            +
                "LABEL_86": 86,
         
     | 
| 1867 | 
         
            +
                "LABEL_860": 860,
         
     | 
| 1868 | 
         
            +
                "LABEL_861": 861,
         
     | 
| 1869 | 
         
            +
                "LABEL_862": 862,
         
     | 
| 1870 | 
         
            +
                "LABEL_863": 863,
         
     | 
| 1871 | 
         
            +
                "LABEL_864": 864,
         
     | 
| 1872 | 
         
            +
                "LABEL_865": 865,
         
     | 
| 1873 | 
         
            +
                "LABEL_866": 866,
         
     | 
| 1874 | 
         
            +
                "LABEL_867": 867,
         
     | 
| 1875 | 
         
            +
                "LABEL_868": 868,
         
     | 
| 1876 | 
         
            +
                "LABEL_869": 869,
         
     | 
| 1877 | 
         
            +
                "LABEL_87": 87,
         
     | 
| 1878 | 
         
            +
                "LABEL_870": 870,
         
     | 
| 1879 | 
         
            +
                "LABEL_871": 871,
         
     | 
| 1880 | 
         
            +
                "LABEL_872": 872,
         
     | 
| 1881 | 
         
            +
                "LABEL_873": 873,
         
     | 
| 1882 | 
         
            +
                "LABEL_874": 874,
         
     | 
| 1883 | 
         
            +
                "LABEL_875": 875,
         
     | 
| 1884 | 
         
            +
                "LABEL_876": 876,
         
     | 
| 1885 | 
         
            +
                "LABEL_877": 877,
         
     | 
| 1886 | 
         
            +
                "LABEL_878": 878,
         
     | 
| 1887 | 
         
            +
                "LABEL_879": 879,
         
     | 
| 1888 | 
         
            +
                "LABEL_88": 88,
         
     | 
| 1889 | 
         
            +
                "LABEL_880": 880,
         
     | 
| 1890 | 
         
            +
                "LABEL_881": 881,
         
     | 
| 1891 | 
         
            +
                "LABEL_882": 882,
         
     | 
| 1892 | 
         
            +
                "LABEL_883": 883,
         
     | 
| 1893 | 
         
            +
                "LABEL_884": 884,
         
     | 
| 1894 | 
         
            +
                "LABEL_885": 885,
         
     | 
| 1895 | 
         
            +
                "LABEL_886": 886,
         
     | 
| 1896 | 
         
            +
                "LABEL_887": 887,
         
     | 
| 1897 | 
         
            +
                "LABEL_888": 888,
         
     | 
| 1898 | 
         
            +
                "LABEL_889": 889,
         
     | 
| 1899 | 
         
            +
                "LABEL_89": 89,
         
     | 
| 1900 | 
         
            +
                "LABEL_890": 890,
         
     | 
| 1901 | 
         
            +
                "LABEL_891": 891,
         
     | 
| 1902 | 
         
            +
                "LABEL_892": 892,
         
     | 
| 1903 | 
         
            +
                "LABEL_893": 893,
         
     | 
| 1904 | 
         
            +
                "LABEL_894": 894,
         
     | 
| 1905 | 
         
            +
                "LABEL_895": 895,
         
     | 
| 1906 | 
         
            +
                "LABEL_896": 896,
         
     | 
| 1907 | 
         
            +
                "LABEL_897": 897,
         
     | 
| 1908 | 
         
            +
                "LABEL_898": 898,
         
     | 
| 1909 | 
         
            +
                "LABEL_899": 899,
         
     | 
| 1910 | 
         
            +
                "LABEL_9": 9,
         
     | 
| 1911 | 
         
            +
                "LABEL_90": 90,
         
     | 
| 1912 | 
         
            +
                "LABEL_900": 900,
         
     | 
| 1913 | 
         
            +
                "LABEL_901": 901,
         
     | 
| 1914 | 
         
            +
                "LABEL_902": 902,
         
     | 
| 1915 | 
         
            +
                "LABEL_903": 903,
         
     | 
| 1916 | 
         
            +
                "LABEL_904": 904,
         
     | 
| 1917 | 
         
            +
                "LABEL_905": 905,
         
     | 
| 1918 | 
         
            +
                "LABEL_906": 906,
         
     | 
| 1919 | 
         
            +
                "LABEL_907": 907,
         
     | 
| 1920 | 
         
            +
                "LABEL_908": 908,
         
     | 
| 1921 | 
         
            +
                "LABEL_909": 909,
         
     | 
| 1922 | 
         
            +
                "LABEL_91": 91,
         
     | 
| 1923 | 
         
            +
                "LABEL_910": 910,
         
     | 
| 1924 | 
         
            +
                "LABEL_911": 911,
         
     | 
| 1925 | 
         
            +
                "LABEL_912": 912,
         
     | 
| 1926 | 
         
            +
                "LABEL_913": 913,
         
     | 
| 1927 | 
         
            +
                "LABEL_914": 914,
         
     | 
| 1928 | 
         
            +
                "LABEL_915": 915,
         
     | 
| 1929 | 
         
            +
                "LABEL_916": 916,
         
     | 
| 1930 | 
         
            +
                "LABEL_917": 917,
         
     | 
| 1931 | 
         
            +
                "LABEL_918": 918,
         
     | 
| 1932 | 
         
            +
                "LABEL_919": 919,
         
     | 
| 1933 | 
         
            +
                "LABEL_92": 92,
         
     | 
| 1934 | 
         
            +
                "LABEL_920": 920,
         
     | 
| 1935 | 
         
            +
                "LABEL_921": 921,
         
     | 
| 1936 | 
         
            +
                "LABEL_922": 922,
         
     | 
| 1937 | 
         
            +
                "LABEL_923": 923,
         
     | 
| 1938 | 
         
            +
                "LABEL_924": 924,
         
     | 
| 1939 | 
         
            +
                "LABEL_925": 925,
         
     | 
| 1940 | 
         
            +
                "LABEL_926": 926,
         
     | 
| 1941 | 
         
            +
                "LABEL_927": 927,
         
     | 
| 1942 | 
         
            +
                "LABEL_928": 928,
         
     | 
| 1943 | 
         
            +
                "LABEL_929": 929,
         
     | 
| 1944 | 
         
            +
                "LABEL_93": 93,
         
     | 
| 1945 | 
         
            +
                "LABEL_930": 930,
         
     | 
| 1946 | 
         
            +
                "LABEL_931": 931,
         
     | 
| 1947 | 
         
            +
                "LABEL_932": 932,
         
     | 
| 1948 | 
         
            +
                "LABEL_933": 933,
         
     | 
| 1949 | 
         
            +
                "LABEL_934": 934,
         
     | 
| 1950 | 
         
            +
                "LABEL_935": 935,
         
     | 
| 1951 | 
         
            +
                "LABEL_936": 936,
         
     | 
| 1952 | 
         
            +
                "LABEL_937": 937,
         
     | 
| 1953 | 
         
            +
                "LABEL_938": 938,
         
     | 
| 1954 | 
         
            +
                "LABEL_939": 939,
         
     | 
| 1955 | 
         
            +
                "LABEL_94": 94,
         
     | 
| 1956 | 
         
            +
                "LABEL_940": 940,
         
     | 
| 1957 | 
         
            +
                "LABEL_941": 941,
         
     | 
| 1958 | 
         
            +
                "LABEL_942": 942,
         
     | 
| 1959 | 
         
            +
                "LABEL_943": 943,
         
     | 
| 1960 | 
         
            +
                "LABEL_944": 944,
         
     | 
| 1961 | 
         
            +
                "LABEL_945": 945,
         
     | 
| 1962 | 
         
            +
                "LABEL_946": 946,
         
     | 
| 1963 | 
         
            +
                "LABEL_947": 947,
         
     | 
| 1964 | 
         
            +
                "LABEL_948": 948,
         
     | 
| 1965 | 
         
            +
                "LABEL_949": 949,
         
     | 
| 1966 | 
         
            +
                "LABEL_95": 95,
         
     | 
| 1967 | 
         
            +
                "LABEL_950": 950,
         
     | 
| 1968 | 
         
            +
                "LABEL_951": 951,
         
     | 
| 1969 | 
         
            +
                "LABEL_952": 952,
         
     | 
| 1970 | 
         
            +
                "LABEL_953": 953,
         
     | 
| 1971 | 
         
            +
                "LABEL_954": 954,
         
     | 
| 1972 | 
         
            +
                "LABEL_955": 955,
         
     | 
| 1973 | 
         
            +
                "LABEL_956": 956,
         
     | 
| 1974 | 
         
            +
                "LABEL_957": 957,
         
     | 
| 1975 | 
         
            +
                "LABEL_958": 958,
         
     | 
| 1976 | 
         
            +
                "LABEL_959": 959,
         
     | 
| 1977 | 
         
            +
                "LABEL_96": 96,
         
     | 
| 1978 | 
         
            +
                "LABEL_960": 960,
         
     | 
| 1979 | 
         
            +
                "LABEL_961": 961,
         
     | 
| 1980 | 
         
            +
                "LABEL_962": 962,
         
     | 
| 1981 | 
         
            +
                "LABEL_963": 963,
         
     | 
| 1982 | 
         
            +
                "LABEL_964": 964,
         
     | 
| 1983 | 
         
            +
                "LABEL_965": 965,
         
     | 
| 1984 | 
         
            +
                "LABEL_966": 966,
         
     | 
| 1985 | 
         
            +
                "LABEL_967": 967,
         
     | 
| 1986 | 
         
            +
                "LABEL_968": 968,
         
     | 
| 1987 | 
         
            +
                "LABEL_969": 969,
         
     | 
| 1988 | 
         
            +
                "LABEL_97": 97,
         
     | 
| 1989 | 
         
            +
                "LABEL_970": 970,
         
     | 
| 1990 | 
         
            +
                "LABEL_971": 971,
         
     | 
| 1991 | 
         
            +
                "LABEL_972": 972,
         
     | 
| 1992 | 
         
            +
                "LABEL_973": 973,
         
     | 
| 1993 | 
         
            +
                "LABEL_974": 974,
         
     | 
| 1994 | 
         
            +
                "LABEL_975": 975,
         
     | 
| 1995 | 
         
            +
                "LABEL_976": 976,
         
     | 
| 1996 | 
         
            +
                "LABEL_977": 977,
         
     | 
| 1997 | 
         
            +
                "LABEL_978": 978,
         
     | 
| 1998 | 
         
            +
                "LABEL_979": 979,
         
     | 
| 1999 | 
         
            +
                "LABEL_98": 98,
         
     | 
| 2000 | 
         
            +
                "LABEL_980": 980,
         
     | 
| 2001 | 
         
            +
                "LABEL_981": 981,
         
     | 
| 2002 | 
         
            +
                "LABEL_982": 982,
         
     | 
| 2003 | 
         
            +
                "LABEL_983": 983,
         
     | 
| 2004 | 
         
            +
                "LABEL_984": 984,
         
     | 
| 2005 | 
         
            +
                "LABEL_985": 985,
         
     | 
| 2006 | 
         
            +
                "LABEL_986": 986,
         
     | 
| 2007 | 
         
            +
                "LABEL_987": 987,
         
     | 
| 2008 | 
         
            +
                "LABEL_988": 988,
         
     | 
| 2009 | 
         
            +
                "LABEL_989": 989,
         
     | 
| 2010 | 
         
            +
                "LABEL_99": 99,
         
     | 
| 2011 | 
         
            +
                "LABEL_990": 990,
         
     | 
| 2012 | 
         
            +
                "LABEL_991": 991,
         
     | 
| 2013 | 
         
            +
                "LABEL_992": 992,
         
     | 
| 2014 | 
         
            +
                "LABEL_993": 993,
         
     | 
| 2015 | 
         
            +
                "LABEL_994": 994,
         
     | 
| 2016 | 
         
            +
                "LABEL_995": 995,
         
     | 
| 2017 | 
         
            +
                "LABEL_996": 996,
         
     | 
| 2018 | 
         
            +
                "LABEL_997": 997,
         
     | 
| 2019 | 
         
            +
                "LABEL_998": 998,
         
     | 
| 2020 | 
         
            +
                "LABEL_999": 999
         
     | 
| 2021 | 
         
            +
              },
         
     | 
| 2022 | 
         
            +
              "layer_norm_eps": 1e-06,
         
     | 
| 2023 | 
         
            +
              "model_type": "ortho_vit",
         
     | 
| 2024 | 
         
            +
              "num_attention_heads": 12,
         
     | 
| 2025 | 
         
            +
              "num_channels": 3,
         
     | 
| 2026 | 
         
            +
              "num_hidden_layers": 12,
         
     | 
| 2027 | 
         
            +
              "orthogonal_method": "channel",
         
     | 
| 2028 | 
         
            +
              "patch_size": 16,
         
     | 
| 2029 | 
         
            +
              "pooler_act": "tanh",
         
     | 
| 2030 | 
         
            +
              "pooler_output_size": 768,
         
     | 
| 2031 | 
         
            +
              "qkv_bias": true,
         
     | 
| 2032 | 
         
            +
              "residual_connection": "orthogonal",
         
     | 
| 2033 | 
         
            +
              "residual_connection_dim": -1,
         
     | 
| 2034 | 
         
            +
              "residual_eps": 1e-06,
         
     | 
| 2035 | 
         
            +
              "residual_perturbation": null,
         
     | 
| 2036 | 
         
            +
              "torch_dtype": "float32",
         
     | 
| 2037 | 
         
            +
              "transformers_version": "4.52.3"
         
     | 
| 2038 | 
         
            +
            }
         
     | 
    	
        configuration_ortho_vit.py
    ADDED
    
    | 
         @@ -0,0 +1,92 @@ 
     | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
| 
         | 
|
| 1 | 
         
            +
            # coding=utf-8
         
     | 
| 2 | 
         
            +
            # Copyright 2021 Google AI, Ross Wightman, The HuggingFace Inc. team. All rights reserved.
         
     | 
| 3 | 
         
            +
            # Copyright 2025 The Authors of Revisiting Residual Connections. All rights reserved.
         
     | 
| 4 | 
         
            +
            #
         
     | 
| 5 | 
         
            +
            # Licensed under the Apache License, Version 2.0 (the "License");
         
     | 
| 6 | 
         
            +
            # you may not use this file except in compliance with the License.
         
     | 
| 7 | 
         
            +
            # You may obtain a copy of the License at
         
     | 
| 8 | 
         
            +
            #
         
     | 
| 9 | 
         
            +
            #     http://www.apache.org/licenses/LICENSE-2.0
         
     | 
| 10 | 
         
            +
            #
         
     | 
| 11 | 
         
            +
            # Unless required by applicable law or agreed to in writing, software
         
     | 
| 12 | 
         
            +
            # distributed under the License is distributed on an "AS IS" BASIS,
         
     | 
| 13 | 
         
            +
            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 14 | 
         
            +
            # See the License for the specific language governing permissions and
         
     | 
| 15 | 
         
            +
            # limitations under the License.
         
     | 
| 16 | 
         
            +
            """ OrthoViT model configuration"""
         
     | 
| 17 | 
         
            +
             
     | 
| 18 | 
         
            +
            from transformers.models.vit.configuration_vit import ViTConfig
         
     | 
| 19 | 
         
            +
            from transformers.utils import logging
         
     | 
| 20 | 
         
            +
             
     | 
| 21 | 
         
            +
             
     | 
| 22 | 
         
            +
            logger = logging.get_logger(__name__)
         
     | 
| 23 | 
         
            +
             
     | 
| 24 | 
         
            +
            class OrthoViTConfig(ViTConfig):
         
     | 
| 25 | 
         
            +
                r"""
         
     | 
| 26 | 
         
            +
                This is the configuration class to store the configuration of an [`OrthoViTModel`].
         
     | 
| 27 | 
         
            +
                It is used to instantiate a ViT model with orthogonal residual connections
         
     | 
| 28 | 
         
            +
                according to the specified arguments, defining the model architecture. Instantiating a
         
     | 
| 29 | 
         
            +
                configuration with the defaults will yield a similar configuration to that of
         
     | 
| 30 | 
         
            +
                the ViT-base model.
         
     | 
| 31 | 
         
            +
             
     | 
| 32 | 
         
            +
                Configuration objects inherit from [`ViTConfig`] and can be used to control the model outputs.
         
     | 
| 33 | 
         
            +
                Read the documentation from [`ViTConfig`] for more information.
         
     | 
| 34 | 
         
            +
             
     | 
| 35 | 
         
            +
                Args:
         
     | 
| 36 | 
         
            +
                    residual_connection (`str`, *optional*, defaults to `"linear"`):
         
     | 
| 37 | 
         
            +
                        The type of residual connection to use. Can be "linear" or "orthogonal".
         
     | 
| 38 | 
         
            +
                    orthogonal_method (`str`, *optional*, defaults to `"channel"`):
         
     | 
| 39 | 
         
            +
                        The method for orthogonalization if `residual_connection` is "orthogonal".
         
     | 
| 40 | 
         
            +
                        Can be "channel" or "global". For ViT, "channel" is typically used for token embeddings.
         
     | 
| 41 | 
         
            +
                    residual_connection_dim (`int`, *optional*, defaults to -1):
         
     | 
| 42 | 
         
            +
                        The dimension along which to compute orthogonality. Defaults to -1 (last dimension).
         
     | 
| 43 | 
         
            +
                    residual_eps (`float`, *optional*, defaults to 1e-6):
         
     | 
| 44 | 
         
            +
                        Epsilon value for numerical stability in orthogonalization.
         
     | 
| 45 | 
         
            +
                    residual_perturbation (`float`, *optional*, defaults to `None`):
         
     | 
| 46 | 
         
            +
                        Magnitude of random perturbation to add to the module output before connection.
         
     | 
| 47 | 
         
            +
             
     | 
| 48 | 
         
            +
                Example:
         
     | 
| 49 | 
         
            +
             
     | 
| 50 | 
         
            +
                ```python
         
     | 
| 51 | 
         
            +
                >>> from modeling_ortho_vit import OrthoViTModel
         
     | 
| 52 | 
         
            +
                >>> from configuration_ortho_vit import OrthoViTConfig
         
     | 
| 53 | 
         
            +
             
     | 
| 54 | 
         
            +
                >>> # Initializing a ViT-base style configuration with orthogonal connections
         
     | 
| 55 | 
         
            +
                >>> configuration = OrthoViTConfig(residual_connection="orthogonal")
         
     | 
| 56 | 
         
            +
             
     | 
| 57 | 
         
            +
                >>> # Initializing a model (with random weights) from the ViT-base style configuration
         
     | 
| 58 | 
         
            +
                >>> model = OrthoViTModel(configuration)
         
     | 
| 59 | 
         
            +
             
     | 
| 60 | 
         
            +
                >>> # Accessing the model configuration
         
     | 
| 61 | 
         
            +
                >>> configuration = model.config
         
     | 
| 62 | 
         
            +
                ```"""
         
     | 
| 63 | 
         
            +
                model_type = "ortho_vit"
         
     | 
| 64 | 
         
            +
             
     | 
| 65 | 
         
            +
                def __init__(
         
     | 
| 66 | 
         
            +
                    self,
         
     | 
| 67 | 
         
            +
                    residual_connection="linear",
         
     | 
| 68 | 
         
            +
                    orthogonal_method="channel", # For ViT, 'channel' typically means along the hidden_dim
         
     | 
| 69 | 
         
            +
                    residual_connection_dim=-1,
         
     | 
| 70 | 
         
            +
                    residual_eps=1e-6,
         
     | 
| 71 | 
         
            +
                    residual_perturbation=None,
         
     | 
| 72 | 
         
            +
                    elementwise_affine_ln=False, # To match user's OrthoBlock norm1/norm2
         
     | 
| 73 | 
         
            +
                    **kwargs,
         
     | 
| 74 | 
         
            +
                ):
         
     | 
| 75 | 
         
            +
                    super().__init__(**kwargs)
         
     | 
| 76 | 
         
            +
                    self.residual_connection = residual_connection
         
     | 
| 77 | 
         
            +
                    self.orthogonal_method = orthogonal_method
         
     | 
| 78 | 
         
            +
                    self.residual_connection_dim = residual_connection_dim
         
     | 
| 79 | 
         
            +
                    self.residual_eps = residual_eps
         
     | 
| 80 | 
         
            +
                    self.residual_perturbation = residual_perturbation
         
     | 
| 81 | 
         
            +
                    self.elementwise_affine_ln = elementwise_affine_ln # For ViTLayer norms
         
     | 
| 82 | 
         
            +
             
     | 
| 83 | 
         
            +
                @property
         
     | 
| 84 | 
         
            +
                def residual_kwargs(self) -> dict:
         
     | 
| 85 | 
         
            +
                    # This property can be used by the model to easily access all residual connection parameters
         
     | 
| 86 | 
         
            +
                    return dict(
         
     | 
| 87 | 
         
            +
                        method=self.residual_connection,
         
     | 
| 88 | 
         
            +
                        orthogonal_method=self.orthogonal_method,
         
     | 
| 89 | 
         
            +
                        dim=self.residual_connection_dim,
         
     | 
| 90 | 
         
            +
                        perturbation=self.residual_perturbation,
         
     | 
| 91 | 
         
            +
                        # eps is handled via a registered buffer in the layer
         
     | 
| 92 | 
         
            +
                    )
         
     | 
    	
        model.safetensors
    ADDED
    
    | 
         @@ -0,0 +1,3 @@ 
     | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
| 
         | 
|
| 1 | 
         
            +
            version https://git-lfs.github.com/spec/v1
         
     | 
| 2 | 
         
            +
            oid sha256:a0d99e8aebb9719333f101b00f1110d881d3e084c80afbf8ca96c45891449b0a
         
     | 
| 3 | 
         
            +
            size 346141064
         
     | 
    	
        modeling_ortho_vit.py
    ADDED
    
    | 
         @@ -0,0 +1,455 @@ 
     | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
| 
         | 
|
| 1 | 
         
            +
            # coding=utf-8
         
     | 
| 2 | 
         
            +
            # Copyright 2021 Google AI, Ross Wightman, The HuggingFace Inc. team. All rights reserved.
         
     | 
| 3 | 
         
            +
            # Copyright 2025 The Authors of Revisiting Residual Connections. All rights reserved.
         
     | 
| 4 | 
         
            +
            #
         
     | 
| 5 | 
         
            +
            # Licensed under the Apache License, Version 2.0 (the "License");
         
     | 
| 6 | 
         
            +
            # you may not use this file except in compliance with the License.
         
     | 
| 7 | 
         
            +
            # You may obtain a copy of the License at
         
     | 
| 8 | 
         
            +
            #
         
     | 
| 9 | 
         
            +
            #     http://www.apache.org/licenses/LICENSE-2.0
         
     | 
| 10 | 
         
            +
            #
         
     | 
| 11 | 
         
            +
            # Unless required by applicable law or agreed to in writing, software
         
     | 
| 12 | 
         
            +
            # distributed under the License is distributed on an "AS IS" BASIS,
         
     | 
| 13 | 
         
            +
            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 14 | 
         
            +
            # See the License for the specific language governing permissions and
         
     | 
| 15 | 
         
            +
            # limitations under the License.
         
     | 
| 16 | 
         
            +
            """PyTorch OrthoViT model. 
         
     | 
| 17 | 
         
            +
            From Revisiting Residual Connections: Orthogonal Residual Connections for Vision Transformers.
         
     | 
| 18 | 
         
            +
            preprint arXiv:2505.11881
         
     | 
| 19 | 
         
            +
             
     | 
| 20 | 
         
            +
            Authors: Giyeong Oh, Woohyun Cho, Siyeol Kim, Suhwan Choi, Younjae Yu
         
     | 
| 21 | 
         
            +
            """
         
     | 
| 22 | 
         
            +
             
     | 
| 23 | 
         
            +
            import collections.abc
         
     | 
| 24 | 
         
            +
            import math
         
     | 
| 25 | 
         
            +
            from typing import Dict, List, Optional, Set, Tuple, Union
         
     | 
| 26 | 
         
            +
             
     | 
| 27 | 
         
            +
            import torch
         
     | 
| 28 | 
         
            +
            import torch.utils.checkpoint
         
     | 
| 29 | 
         
            +
            from torch import nn
         
     | 
| 30 | 
         
            +
            from torch.nn import BCEWithLogitsLoss, CrossEntropyLoss, MSELoss
         
     | 
| 31 | 
         
            +
             
     | 
| 32 | 
         
            +
            from transformers.activations import ACT2FN
         
     | 
| 33 | 
         
            +
            from transformers.modeling_outputs import (
         
     | 
| 34 | 
         
            +
                BaseModelOutput,
         
     | 
| 35 | 
         
            +
                BaseModelOutputWithPooling,
         
     | 
| 36 | 
         
            +
                ImageClassifierOutput,
         
     | 
| 37 | 
         
            +
            )
         
     | 
| 38 | 
         
            +
            from transformers.modeling_utils import PreTrainedModel
         
     | 
| 39 | 
         
            +
            from transformers.utils import logging, auto_docstring
         
     | 
| 40 | 
         
            +
            from transformers.models.vit.modeling_vit import ViTEmbeddings, ViTPatchEmbeddings, ViTSelfAttention, ViTSelfOutput, ViTAttention, ViTIntermediate, ViTPooler # Use HF implementations for these
         
     | 
| 41 | 
         
            +
             
     | 
| 42 | 
         
            +
            # Assuming connect.py is in the same directory
         
     | 
| 43 | 
         
            +
            # from .connect import connect # For use as a package
         
     | 
| 44 | 
         
            +
            # For standalone script, you might need to adjust import path or ensure connect.py is findable
         
     | 
| 45 | 
         
            +
            logger = logging.get_logger(__name__)
         
     | 
| 46 | 
         
            +
            try:
         
     | 
| 47 | 
         
            +
                from .residual import connect
         
     | 
| 48 | 
         
            +
            except ImportError:
         
     | 
| 49 | 
         
            +
                logger.warning("residual.py not found, using fallback linear connect function.")
         
     | 
| 50 | 
         
            +
                def connect(x, f_x, *args, **kwargs): # Linear connection fallback
         
     | 
| 51 | 
         
            +
                    """
         
     | 
| 52 | 
         
            +
                    Fallback connection function if connect.py is not available.
         
     | 
| 53 | 
         
            +
                    This will simply add the input x to the function output f_x.
         
     | 
| 54 | 
         
            +
                    This is a simple linear connection, not orthogonal.
         
     | 
| 55 | 
         
            +
                    """
         
     | 
| 56 | 
         
            +
                    return x + f_x 
         
     | 
| 57 | 
         
            +
             
     | 
| 58 | 
         
            +
            from .configuration_ortho_vit import OrthoViTConfig # Changed from ViTConfig
         
     | 
| 59 | 
         
            +
             
     | 
| 60 | 
         
            +
             
     | 
| 61 | 
         
            +
            logger = logging.get_logger(__name__)
         
     | 
| 62 | 
         
            +
             
     | 
| 63 | 
         
            +
            _CONFIG_FOR_DOC = "OrthoViTConfig"
         
     | 
| 64 | 
         
            +
             
     | 
| 65 | 
         
            +
            # Copied from transformers.models.vit.modeling_vit.ViTOutput
         
     | 
| 66 | 
         
            +
            # with the residual connection modified to use the `connect` function.
         
     | 
| 67 | 
         
            +
            class OrthoViTOutput(nn.Module):
         
     | 
| 68 | 
         
            +
                def __init__(self, config: OrthoViTConfig) -> None:
         
     | 
| 69 | 
         
            +
                    super().__init__()
         
     | 
| 70 | 
         
            +
                    self.dense = nn.Linear(config.intermediate_size, config.hidden_size)
         
     | 
| 71 | 
         
            +
                    self.dropout = nn.Dropout(config.hidden_dropout_prob)
         
     | 
| 72 | 
         
            +
                    # Orthogonal connection parameters are stored in config and passed to connect
         
     | 
| 73 | 
         
            +
                    self.config = config
         
     | 
| 74 | 
         
            +
                    # Register buffer for eps, ensuring it's on the correct device and non-persistent
         
     | 
| 75 | 
         
            +
                    self.register_buffer("residual_eps", torch.tensor([config.residual_eps], dtype=torch.float32), persistent=False)
         
     | 
| 76 | 
         
            +
             
     | 
| 77 | 
         
            +
             
     | 
| 78 | 
         
            +
                def forward(self, hidden_states: torch.Tensor, input_tensor: torch.Tensor, residual_input: torch.Tensor) -> torch.Tensor:
         
     | 
| 79 | 
         
            +
                    hidden_states = self.dense(hidden_states)
         
     | 
| 80 | 
         
            +
                    hidden_states = self.dropout(hidden_states)
         
     | 
| 81 | 
         
            +
             
     | 
| 82 | 
         
            +
                    # Use the connect function for the residual connection
         
     | 
| 83 | 
         
            +
                    # The 'input_tensor' to ViTOutput is the output of the intermediate layer.
         
     | 
| 84 | 
         
            +
                    # The 'residual_input' is the output of the attention block (hidden_states before layernorm_after).
         
     | 
| 85 | 
         
            +
                    hidden_states = connect(
         
     | 
| 86 | 
         
            +
                        x=residual_input,
         
     | 
| 87 | 
         
            +
                        f_x=hidden_states,
         
     | 
| 88 | 
         
            +
                        eps=self.residual_eps,
         
     | 
| 89 | 
         
            +
                        **self.config.residual_kwargs
         
     | 
| 90 | 
         
            +
                    )
         
     | 
| 91 | 
         
            +
                    return hidden_states
         
     | 
| 92 | 
         
            +
             
     | 
| 93 | 
         
            +
            class OrthoViTLayer(nn.Module):
         
     | 
| 94 | 
         
            +
                """This corresponds to the Block class in the timm implementation."""
         
     | 
| 95 | 
         
            +
             
     | 
| 96 | 
         
            +
                def __init__(self, config: OrthoViTConfig) -> None:
         
     | 
| 97 | 
         
            +
                    super().__init__()
         
     | 
| 98 | 
         
            +
                    self.chunk_size_feed_forward = config.chunk_size_feed_forward
         
     | 
| 99 | 
         
            +
                    self.seq_len_dim = 1
         
     | 
| 100 | 
         
            +
                    self.attention = ViTAttention(config) # Standard HF ViTAttention
         
     | 
| 101 | 
         
            +
                    self.intermediate = ViTIntermediate(config) # Standard HF ViTIntermediate
         
     | 
| 102 | 
         
            +
                    # self.output = ViTOutput(config) # Standard HF ViTOutput
         
     | 
| 103 | 
         
            +
                    self.output = OrthoViTOutput(config) # Use OrthoViTOutput for the second residual connection
         
     | 
| 104 | 
         
            +
             
     | 
| 105 | 
         
            +
                    self.layernorm_before = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps, elementwise_affine=config.elementwise_affine_ln)
         
     | 
| 106 | 
         
            +
                    self.layernorm_after = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps, elementwise_affine=config.elementwise_affine_ln)
         
     | 
| 107 | 
         
            +
                    self.config = config
         
     | 
| 108 | 
         
            +
                    # Register buffer for eps, ensuring it's on the correct device and non-persistent
         
     | 
| 109 | 
         
            +
                    self.register_buffer("residual_eps", torch.tensor([config.residual_eps], dtype=torch.float32), persistent=False)
         
     | 
| 110 | 
         
            +
                    self.residual_kwargs = self.config.residual_kwargs # Use the config's residual_kwargs
         
     | 
| 111 | 
         
            +
             
     | 
| 112 | 
         
            +
             
     | 
| 113 | 
         
            +
                def forward(
         
     | 
| 114 | 
         
            +
                    self,
         
     | 
| 115 | 
         
            +
                    hidden_states: torch.Tensor,
         
     | 
| 116 | 
         
            +
                    head_mask: Optional[torch.Tensor] = None,
         
     | 
| 117 | 
         
            +
                    output_attentions: bool = False,
         
     | 
| 118 | 
         
            +
                ) -> Union[Tuple[torch.Tensor, torch.Tensor], Tuple[torch.Tensor]]:
         
     | 
| 119 | 
         
            +
                    
         
     | 
| 120 | 
         
            +
                    # Input to Attention block
         
     | 
| 121 | 
         
            +
                    normed_hidden_states = self.layernorm_before(hidden_states)
         
     | 
| 122 | 
         
            +
                    self_attention_outputs = self.attention(
         
     | 
| 123 | 
         
            +
                        normed_hidden_states,
         
     | 
| 124 | 
         
            +
                        head_mask,
         
     | 
| 125 | 
         
            +
                        output_attentions=output_attentions,
         
     | 
| 126 | 
         
            +
                    )
         
     | 
| 127 | 
         
            +
                    attention_output = self_attention_outputs[0] # Output of ViTAttention (includes SelfAttention + SelfOutput)
         
     | 
| 128 | 
         
            +
                    outputs = self_attention_outputs[1:]  # add self attentions if we output attention weights
         
     | 
| 129 | 
         
            +
             
     | 
| 130 | 
         
            +
                    # First residual connection (after Attention)
         
     | 
| 131 | 
         
            +
                    # The `connect` function expects the module output (f_x) and the stream input (x)
         
     | 
| 132 | 
         
            +
                    # Here, hidden_states is x, and attention_output is f_x from the attention block
         
     | 
| 133 | 
         
            +
                    hidden_states = connect(
         
     | 
| 134 | 
         
            +
                        x=hidden_states, 
         
     | 
| 135 | 
         
            +
                        f_x=attention_output,
         
     | 
| 136 | 
         
            +
                        eps=self.residual_eps, # Use the buffer
         
     | 
| 137 | 
         
            +
                        **self.residual_kwargs
         
     | 
| 138 | 
         
            +
                    )
         
     | 
| 139 | 
         
            +
                    
         
     | 
| 140 | 
         
            +
                    # MLP block
         
     | 
| 141 | 
         
            +
                    # In ViT, layernorm is also applied after self-attention (and first residual)
         
     | 
| 142 | 
         
            +
                    # This `hidden_states` is now `x_{n+1}` from the attention block
         
     | 
| 143 | 
         
            +
                    mlp_input = self.layernorm_after(hidden_states)
         
     | 
| 144 | 
         
            +
                    intermediate_output = self.intermediate(mlp_input)
         
     | 
| 145 | 
         
            +
             
     | 
| 146 | 
         
            +
                    # Second residual connection (after MLP) is handled by OrthoViTOutput
         
     | 
| 147 | 
         
            +
                    # `hidden_states` is the residual stream input to the MLP's residual connection
         
     | 
| 148 | 
         
            +
                    # `intermediate_output` is the direct output of the MLP's main path (before adding to residual)
         
     | 
| 149 | 
         
            +
                    layer_output = self.output(intermediate_output, mlp_input, hidden_states) # mlp_input here is just for consistency with ViTOutput's original signature, OrthoViTOutput will use residual_input
         
     | 
| 150 | 
         
            +
             
     | 
| 151 | 
         
            +
                    outputs = (layer_output,) + outputs
         
     | 
| 152 | 
         
            +
             
     | 
| 153 | 
         
            +
                    return outputs
         
     | 
| 154 | 
         
            +
             
     | 
| 155 | 
         
            +
             
     | 
| 156 | 
         
            +
            class OrthoViTEncoder(nn.Module):
         
     | 
| 157 | 
         
            +
                def __init__(self, config: OrthoViTConfig) -> None:
         
     | 
| 158 | 
         
            +
                    super().__init__()
         
     | 
| 159 | 
         
            +
                    self.config = config
         
     | 
| 160 | 
         
            +
                    self.layer = nn.ModuleList([OrthoViTLayer(config) for _ in range(config.num_hidden_layers)]) # Use OrthoViTLayer
         
     | 
| 161 | 
         
            +
                    self.gradient_checkpointing = False
         
     | 
| 162 | 
         
            +
             
     | 
| 163 | 
         
            +
                def forward(
         
     | 
| 164 | 
         
            +
                    self,
         
     | 
| 165 | 
         
            +
                    hidden_states: torch.Tensor,
         
     | 
| 166 | 
         
            +
                    head_mask: Optional[torch.Tensor] = None,
         
     | 
| 167 | 
         
            +
                    output_attentions: bool = False,
         
     | 
| 168 | 
         
            +
                    output_hidden_states: bool = False,
         
     | 
| 169 | 
         
            +
                    return_dict: bool = True,
         
     | 
| 170 | 
         
            +
                ) -> Union[tuple, BaseModelOutput]:
         
     | 
| 171 | 
         
            +
                    all_hidden_states = () if output_hidden_states else None
         
     | 
| 172 | 
         
            +
                    all_self_attentions = () if output_attentions else None
         
     | 
| 173 | 
         
            +
             
     | 
| 174 | 
         
            +
                    for i, layer_module in enumerate(self.layer):
         
     | 
| 175 | 
         
            +
                        if output_hidden_states:
         
     | 
| 176 | 
         
            +
                            all_hidden_states = all_hidden_states + (hidden_states,)
         
     | 
| 177 | 
         
            +
             
     | 
| 178 | 
         
            +
                        layer_head_mask = head_mask[i] if head_mask is not None else None
         
     | 
| 179 | 
         
            +
             
     | 
| 180 | 
         
            +
                        if self.gradient_checkpointing and self.training:
         
     | 
| 181 | 
         
            +
                            layer_outputs = self._gradient_checkpointing_func(
         
     | 
| 182 | 
         
            +
                                layer_module.__call__,
         
     | 
| 183 | 
         
            +
                                hidden_states,
         
     | 
| 184 | 
         
            +
                                layer_head_mask,
         
     | 
| 185 | 
         
            +
                                output_attentions,
         
     | 
| 186 | 
         
            +
                            )
         
     | 
| 187 | 
         
            +
                        else:
         
     | 
| 188 | 
         
            +
                            layer_outputs = layer_module(hidden_states, layer_head_mask, output_attentions)
         
     | 
| 189 | 
         
            +
             
     | 
| 190 | 
         
            +
                        hidden_states = layer_outputs[0]
         
     | 
| 191 | 
         
            +
             
     | 
| 192 | 
         
            +
                        if output_attentions:
         
     | 
| 193 | 
         
            +
                            all_self_attentions = all_self_attentions + (layer_outputs[1],)
         
     | 
| 194 | 
         
            +
             
     | 
| 195 | 
         
            +
                    if output_hidden_states:
         
     | 
| 196 | 
         
            +
                        all_hidden_states = all_hidden_states + (hidden_states,)
         
     | 
| 197 | 
         
            +
             
     | 
| 198 | 
         
            +
                    if not return_dict:
         
     | 
| 199 | 
         
            +
                        return tuple(v for v in [hidden_states, all_hidden_states, all_self_attentions] if v is not None)
         
     | 
| 200 | 
         
            +
                    return BaseModelOutput(
         
     | 
| 201 | 
         
            +
                        last_hidden_state=hidden_states,
         
     | 
| 202 | 
         
            +
                        hidden_states=all_hidden_states,
         
     | 
| 203 | 
         
            +
                        attentions=all_self_attentions,
         
     | 
| 204 | 
         
            +
                    )
         
     | 
| 205 | 
         
            +
             
     | 
| 206 | 
         
            +
            # @add_start_docstrings(
         
     | 
| 207 | 
         
            +
            #     "The bare ViT MAE transformer outputting raw hidden-states without any specific head on top.",
         
     | 
| 208 | 
         
            +
            #     # VIT_START_DOCSTRING, # OrthoViT is custom
         
     | 
| 209 | 
         
            +
            # )
         
     | 
| 210 | 
         
            +
            # @auto_docstring
         
     | 
| 211 | 
         
            +
            class OrthoViTPreTrainedModel(PreTrainedModel): # Copied from ViTPreTrainedModel
         
     | 
| 212 | 
         
            +
                config_class = OrthoViTConfig # Use OrthoViTConfig
         
     | 
| 213 | 
         
            +
                base_model_prefix = "vit"
         
     | 
| 214 | 
         
            +
                main_input_name = "pixel_values"
         
     | 
| 215 | 
         
            +
                supports_gradient_checkpointing = True
         
     | 
| 216 | 
         
            +
                _no_split_modules = ["ViTEmbeddings", "OrthoViTLayer"] # Use OrthoViTLayer
         
     | 
| 217 | 
         
            +
                _supports_sdpa = True # Inherit from ViT
         
     | 
| 218 | 
         
            +
                _supports_flash_attn_2 = True # Inherit from ViT
         
     | 
| 219 | 
         
            +
             
     | 
| 220 | 
         
            +
             
     | 
| 221 | 
         
            +
                def _init_weights(self, module: Union[nn.Linear, nn.Conv2d, nn.LayerNorm]) -> None:
         
     | 
| 222 | 
         
            +
                    """Initialize the weights"""
         
     | 
| 223 | 
         
            +
                    if isinstance(module, (nn.Linear, nn.Conv2d)):
         
     | 
| 224 | 
         
            +
                        # Upcast the input in `fp32` and cast it back to desired `dtype` to avoid
         
     | 
| 225 | 
         
            +
                        # `trunc_normal_cpu` not implemented in `half` issues
         
     | 
| 226 | 
         
            +
                        module.weight.data = nn.init.trunc_normal_(
         
     | 
| 227 | 
         
            +
                            module.weight.data.to(torch.float32), mean=0.0, std=self.config.initializer_range
         
     | 
| 228 | 
         
            +
                        ).to(module.weight.dtype)
         
     | 
| 229 | 
         
            +
                        if module.bias is not None:
         
     | 
| 230 | 
         
            +
                            module.bias.data.zero_()
         
     | 
| 231 | 
         
            +
                    elif isinstance(module, nn.LayerNorm):
         
     | 
| 232 | 
         
            +
                        if module.elementwise_affine: # Only init if affine
         
     | 
| 233 | 
         
            +
                            module.bias.data.zero_()
         
     | 
| 234 | 
         
            +
                            module.weight.data.fill_(1.0)
         
     | 
| 235 | 
         
            +
                    elif isinstance(module, ViTEmbeddings): # Standard ViTEmbeddings init
         
     | 
| 236 | 
         
            +
                        module.position_embeddings.data = nn.init.trunc_normal_(
         
     | 
| 237 | 
         
            +
                            module.position_embeddings.data.to(torch.float32),
         
     | 
| 238 | 
         
            +
                            mean=0.0,
         
     | 
| 239 | 
         
            +
                            std=self.config.initializer_range,
         
     | 
| 240 | 
         
            +
                        ).to(module.position_embeddings.dtype)
         
     | 
| 241 | 
         
            +
             
     | 
| 242 | 
         
            +
                        module.cls_token.data = nn.init.trunc_normal_(
         
     | 
| 243 | 
         
            +
                            module.cls_token.data.to(torch.float32),
         
     | 
| 244 | 
         
            +
                            mean=0.0,
         
     | 
| 245 | 
         
            +
                            std=self.config.initializer_range,
         
     | 
| 246 | 
         
            +
                        ).to(module.cls_token.dtype)
         
     | 
| 247 | 
         
            +
             
     | 
| 248 | 
         
            +
            VIT_START_DOCSTRING = r"""
         
     | 
| 249 | 
         
            +
                This model is a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. Use
         
     | 
| 250 | 
         
            +
                it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage and
         
     | 
| 251 | 
         
            +
                behavior.
         
     | 
| 252 | 
         
            +
             
     | 
| 253 | 
         
            +
                Parameters:
         
     | 
| 254 | 
         
            +
                    config ([`OrthoViTConfig`]): Model configuration class with all the parameters of the model.
         
     | 
| 255 | 
         
            +
                        Initializing with a config file does not load the weights associated with the model, only the
         
     | 
| 256 | 
         
            +
                        configuration. Check out the [`~PreTrainedModel.from_pretrained`] method to load the model weights.
         
     | 
| 257 | 
         
            +
            """
         
     | 
| 258 | 
         
            +
             
     | 
| 259 | 
         
            +
            VIT_INPUTS_DOCSTRING = r"""
         
     | 
| 260 | 
         
            +
                Args:
         
     | 
| 261 | 
         
            +
                    pixel_values (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)`):
         
     | 
| 262 | 
         
            +
                        Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See
         
     | 
| 263 | 
         
            +
                        [`ViTImageProcessor.__call__`] for details.
         
     | 
| 264 | 
         
            +
             
     | 
| 265 | 
         
            +
                    head_mask (`torch.FloatTensor` of shape `(num_heads,)` or `(num_layers, num_heads)`, *optional*):
         
     | 
| 266 | 
         
            +
                        Mask to nullify selected heads of the self-attention modules. Mask values selected in `[0, 1]`:
         
     | 
| 267 | 
         
            +
             
     | 
| 268 | 
         
            +
                        - 1 indicates the head is **not masked**,
         
     | 
| 269 | 
         
            +
                        - 0 indicates the head is **masked**.
         
     | 
| 270 | 
         
            +
             
     | 
| 271 | 
         
            +
                    output_attentions (`bool`, *optional*):
         
     | 
| 272 | 
         
            +
                        Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned
         
     | 
| 273 | 
         
            +
                        tensors for more detail.
         
     | 
| 274 | 
         
            +
                    output_hidden_states (`bool`, *optional*):
         
     | 
| 275 | 
         
            +
                        Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for
         
     | 
| 276 | 
         
            +
                        more detail.
         
     | 
| 277 | 
         
            +
                    interpolate_pos_encoding (`bool`, *optional*):
         
     | 
| 278 | 
         
            +
                        Whether to interpolate the positional encoding if the input image resolution is different from the one
         
     | 
| 279 | 
         
            +
                        used during pre-training.
         
     | 
| 280 | 
         
            +
                    return_dict (`bool`, *optional*):
         
     | 
| 281 | 
         
            +
                        Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple.
         
     | 
| 282 | 
         
            +
            """
         
     | 
| 283 | 
         
            +
             
     | 
| 284 | 
         
            +
            # @add_start_docstrings(
         
     | 
| 285 | 
         
            +
            #     "The bare OrthoViT transformer outputting raw hidden-states without any specific head on top.",
         
     | 
| 286 | 
         
            +
            #     VIT_START_DOCSTRING,
         
     | 
| 287 | 
         
            +
            # )
         
     | 
| 288 | 
         
            +
            # @auto_docstring
         
     | 
| 289 | 
         
            +
            class OrthoViTModel(OrthoViTPreTrainedModel):
         
     | 
| 290 | 
         
            +
                def __init__(self, config: OrthoViTConfig, add_pooling_layer: bool = True, use_mask_token: bool = False):
         
     | 
| 291 | 
         
            +
                    super().__init__(config)
         
     | 
| 292 | 
         
            +
                    self.config = config
         
     | 
| 293 | 
         
            +
             
     | 
| 294 | 
         
            +
                    self.embeddings = ViTEmbeddings(config, use_mask_token=use_mask_token)
         
     | 
| 295 | 
         
            +
                    self.encoder = OrthoViTEncoder(config) # Use OrthoViTEncoder
         
     | 
| 296 | 
         
            +
             
     | 
| 297 | 
         
            +
                    self.layernorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) # No affine
         
     | 
| 298 | 
         
            +
                    self.pooler = ViTPooler(config) if add_pooling_layer else None
         
     | 
| 299 | 
         
            +
             
     | 
| 300 | 
         
            +
                    # Initialize weights and apply final processing
         
     | 
| 301 | 
         
            +
                    self.post_init()
         
     | 
| 302 | 
         
            +
             
     | 
| 303 | 
         
            +
                def get_input_embeddings(self) -> ViTPatchEmbeddings:
         
     | 
| 304 | 
         
            +
                    return self.embeddings.patch_embeddings
         
     | 
| 305 | 
         
            +
             
     | 
| 306 | 
         
            +
                def _prune_heads(self, heads_to_prune: Dict[int, List[int]]) -> None:
         
     | 
| 307 | 
         
            +
                    """
         
     | 
| 308 | 
         
            +
                    Prunes heads of the model. heads_to_prune: dict of {layer_num: list of heads to prune in this layer} See base
         
     | 
| 309 | 
         
            +
                    class PreTrainedModel
         
     | 
| 310 | 
         
            +
                    """
         
     | 
| 311 | 
         
            +
                    for layer, heads in heads_to_prune.items():
         
     | 
| 312 | 
         
            +
                        self.encoder.layer[layer].attention.prune_heads(heads)
         
     | 
| 313 | 
         
            +
             
     | 
| 314 | 
         
            +
                # @add_start_docstrings_to_model_forward(VIT_INPUTS_DOCSTRING)
         
     | 
| 315 | 
         
            +
                # @replace_return_docstrings(output_type=BaseModelOutputWithPooling, config_class=_CONFIG_FOR_DOC)
         
     | 
| 316 | 
         
            +
                # @auto_docstring
         
     | 
| 317 | 
         
            +
                def forward(
         
     | 
| 318 | 
         
            +
                    self,
         
     | 
| 319 | 
         
            +
                    pixel_values: Optional[torch.Tensor] = None,
         
     | 
| 320 | 
         
            +
                    bool_masked_pos: Optional[torch.BoolTensor] = None, # For MAE
         
     | 
| 321 | 
         
            +
                    head_mask: Optional[torch.Tensor] = None,
         
     | 
| 322 | 
         
            +
                    output_attentions: Optional[bool] = None,
         
     | 
| 323 | 
         
            +
                    output_hidden_states: Optional[bool] = None,
         
     | 
| 324 | 
         
            +
                    interpolate_pos_encoding: Optional[bool] = None,
         
     | 
| 325 | 
         
            +
                    return_dict: Optional[bool] = None,
         
     | 
| 326 | 
         
            +
                ) -> Union[Tuple, BaseModelOutputWithPooling]:
         
     | 
| 327 | 
         
            +
                    output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions
         
     | 
| 328 | 
         
            +
                    output_hidden_states = (
         
     | 
| 329 | 
         
            +
                        output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states
         
     | 
| 330 | 
         
            +
                    )
         
     | 
| 331 | 
         
            +
                    return_dict = return_dict if return_dict is not None else self.config.use_return_dict
         
     | 
| 332 | 
         
            +
             
     | 
| 333 | 
         
            +
                    if pixel_values is None:
         
     | 
| 334 | 
         
            +
                        raise ValueError("You have to specify pixel_values")
         
     | 
| 335 | 
         
            +
             
     | 
| 336 | 
         
            +
                    head_mask = self.get_head_mask(head_mask, self.config.num_hidden_layers)
         
     | 
| 337 | 
         
            +
             
     | 
| 338 | 
         
            +
                    expected_dtype = self.embeddings.patch_embeddings.projection.weight.dtype
         
     | 
| 339 | 
         
            +
                    if pixel_values.dtype != expected_dtype:
         
     | 
| 340 | 
         
            +
                        pixel_values = pixel_values.to(expected_dtype)
         
     | 
| 341 | 
         
            +
             
     | 
| 342 | 
         
            +
                    embedding_output = self.embeddings(
         
     | 
| 343 | 
         
            +
                        pixel_values, bool_masked_pos=bool_masked_pos, interpolate_pos_encoding=interpolate_pos_encoding
         
     | 
| 344 | 
         
            +
                    )
         
     | 
| 345 | 
         
            +
             
     | 
| 346 | 
         
            +
                    encoder_outputs = self.encoder(
         
     | 
| 347 | 
         
            +
                        embedding_output,
         
     | 
| 348 | 
         
            +
                        head_mask=head_mask,
         
     | 
| 349 | 
         
            +
                        output_attentions=output_attentions,
         
     | 
| 350 | 
         
            +
                        output_hidden_states=output_hidden_states,
         
     | 
| 351 | 
         
            +
                        return_dict=return_dict,
         
     | 
| 352 | 
         
            +
                    )
         
     | 
| 353 | 
         
            +
                    sequence_output = encoder_outputs[0]
         
     | 
| 354 | 
         
            +
                    sequence_output = self.layernorm(sequence_output) # Final LayerNorm
         
     | 
| 355 | 
         
            +
                    pooled_output = self.pooler(sequence_output) if self.pooler is not None else None
         
     | 
| 356 | 
         
            +
             
     | 
| 357 | 
         
            +
                    if not return_dict:
         
     | 
| 358 | 
         
            +
                        head_outputs = (sequence_output, pooled_output) if pooled_output is not None else (sequence_output,)
         
     | 
| 359 | 
         
            +
                        return head_outputs + encoder_outputs[1:]
         
     | 
| 360 | 
         
            +
             
     | 
| 361 | 
         
            +
                    return BaseModelOutputWithPooling(
         
     | 
| 362 | 
         
            +
                        last_hidden_state=sequence_output,
         
     | 
| 363 | 
         
            +
                        pooler_output=pooled_output,
         
     | 
| 364 | 
         
            +
                        hidden_states=encoder_outputs.hidden_states,
         
     | 
| 365 | 
         
            +
                        attentions=encoder_outputs.attentions,
         
     | 
| 366 | 
         
            +
                    )
         
     | 
| 367 | 
         
            +
             
     | 
| 368 | 
         
            +
            # @auto_docstring(
         
     | 
| 369 | 
         
            +
                # """
         
     | 
| 370 | 
         
            +
                # OrthoViT Model transformer with an image classification head on top (a linear layer on top of the final hidden state of
         
     | 
| 371 | 
         
            +
                # the [CLS] token) e.g. for ImageNet.
         
     | 
| 372 | 
         
            +
                # """
         
     | 
| 373 | 
         
            +
            # )
         
     | 
| 374 | 
         
            +
            class OrthoViTForImageClassification(OrthoViTPreTrainedModel):
         
     | 
| 375 | 
         
            +
                def __init__(self, config: OrthoViTConfig) -> None:
         
     | 
| 376 | 
         
            +
                    super().__init__(config)
         
     | 
| 377 | 
         
            +
             
     | 
| 378 | 
         
            +
                    self.num_labels = config.num_labels
         
     | 
| 379 | 
         
            +
                    self.vit = OrthoViTModel(config, add_pooling_layer=False) # Use OrthoViTModel
         
     | 
| 380 | 
         
            +
             
     | 
| 381 | 
         
            +
                    # Classifier head (standard HF: just a Linear layer)
         
     | 
| 382 | 
         
            +
                    # The user's original classifier was nn.Sequential(nn.LayerNorm(dim), nn.Linear(dim, num_classes))
         
     | 
| 383 | 
         
            +
                    # The OrthoViTModel's output (CLS token) is already layernormed by self.vit.layernorm.
         
     | 
| 384 | 
         
            +
                    # So, if that self.vit.layernorm corresponds to the user's classifier.0 (LayerNorm),
         
     | 
| 385 | 
         
            +
                    # then this classifier head should just be Linear.
         
     | 
| 386 | 
         
            +
                    # If an *additional* LN is needed on the CLS token, this needs to be nn.Sequential.
         
     | 
| 387 | 
         
            +
                    # For now, assume vit.layernorm covers the user's classifier.0.
         
     | 
| 388 | 
         
            +
                    self.classifier = nn.Linear(config.hidden_size, config.num_labels) if config.num_labels > 0 else nn.Identity()
         
     | 
| 389 | 
         
            +
             
     | 
| 390 | 
         
            +
                    # Initialize weights and apply final processing
         
     | 
| 391 | 
         
            +
                    self.post_init()
         
     | 
| 392 | 
         
            +
             
     | 
| 393 | 
         
            +
                # @auto_docstring
         
     | 
| 394 | 
         
            +
                def forward(
         
     | 
| 395 | 
         
            +
                    self,
         
     | 
| 396 | 
         
            +
                    pixel_values: Optional[torch.Tensor] = None,
         
     | 
| 397 | 
         
            +
                    head_mask: Optional[torch.Tensor] = None,
         
     | 
| 398 | 
         
            +
                    labels: Optional[torch.Tensor] = None,
         
     | 
| 399 | 
         
            +
                    output_attentions: Optional[bool] = None,
         
     | 
| 400 | 
         
            +
                    output_hidden_states: Optional[bool] = None,
         
     | 
| 401 | 
         
            +
                    interpolate_pos_encoding: Optional[bool] = None,
         
     | 
| 402 | 
         
            +
                    return_dict: Optional[bool] = None,
         
     | 
| 403 | 
         
            +
                ) -> Union[Tuple, ImageClassifierOutput]:
         
     | 
| 404 | 
         
            +
                    return_dict = return_dict if return_dict is not None else self.config.use_return_dict
         
     | 
| 405 | 
         
            +
             
     | 
| 406 | 
         
            +
                    outputs = self.vit(
         
     | 
| 407 | 
         
            +
                        pixel_values,
         
     | 
| 408 | 
         
            +
                        head_mask=head_mask,
         
     | 
| 409 | 
         
            +
                        output_attentions=output_attentions,
         
     | 
| 410 | 
         
            +
                        output_hidden_states=output_hidden_states,
         
     | 
| 411 | 
         
            +
                        interpolate_pos_encoding=interpolate_pos_encoding,
         
     | 
| 412 | 
         
            +
                        return_dict=return_dict,
         
     | 
| 413 | 
         
            +
                    )
         
     | 
| 414 | 
         
            +
             
     | 
| 415 | 
         
            +
                    sequence_output = outputs[0]
         
     | 
| 416 | 
         
            +
                    # Takes the CLS token representation for classification
         
     | 
| 417 | 
         
            +
                    logits = self.classifier(sequence_output[:, 0, :])
         
     | 
| 418 | 
         
            +
             
     | 
| 419 | 
         
            +
             
     | 
| 420 | 
         
            +
                    loss = None
         
     | 
| 421 | 
         
            +
                    if labels is not None:
         
     | 
| 422 | 
         
            +
                        labels = labels.to(logits.device)
         
     | 
| 423 | 
         
            +
                        if self.config.problem_type is None:
         
     | 
| 424 | 
         
            +
                            if self.num_labels == 1:
         
     | 
| 425 | 
         
            +
                                self.config.problem_type = "regression"
         
     | 
| 426 | 
         
            +
                            elif self.num_labels > 1 and (labels.dtype == torch.long or labels.dtype == torch.int):
         
     | 
| 427 | 
         
            +
                                self.config.problem_type = "single_label_classification"
         
     | 
| 428 | 
         
            +
                            else:
         
     | 
| 429 | 
         
            +
                                self.config.problem_type = "multi_label_classification"
         
     | 
| 430 | 
         
            +
             
     | 
| 431 | 
         
            +
                        if self.config.problem_type == "regression":
         
     | 
| 432 | 
         
            +
                            loss_fct = MSELoss()
         
     | 
| 433 | 
         
            +
                            if self.num_labels == 1:
         
     | 
| 434 | 
         
            +
                                loss = loss_fct(logits.squeeze(), labels.squeeze())
         
     | 
| 435 | 
         
            +
                            else:
         
     | 
| 436 | 
         
            +
                                loss = loss_fct(logits, labels)
         
     | 
| 437 | 
         
            +
                        elif self.config.problem_type == "single_label_classification":
         
     | 
| 438 | 
         
            +
                            loss_fct = CrossEntropyLoss()
         
     | 
| 439 | 
         
            +
                            loss = loss_fct(logits.view(-1, self.num_labels), labels.view(-1))
         
     | 
| 440 | 
         
            +
                        elif self.config.problem_type == "multi_label_classification":
         
     | 
| 441 | 
         
            +
                            loss_fct = BCEWithLogitsLoss()
         
     | 
| 442 | 
         
            +
                            loss = loss_fct(logits, labels)
         
     | 
| 443 | 
         
            +
             
     | 
| 444 | 
         
            +
                    if not return_dict:
         
     | 
| 445 | 
         
            +
                        output = (logits,) + outputs[1:]
         
     | 
| 446 | 
         
            +
                        return ((loss,) + output) if loss is not None else output
         
     | 
| 447 | 
         
            +
             
     | 
| 448 | 
         
            +
                    return ImageClassifierOutput(
         
     | 
| 449 | 
         
            +
                        loss=loss,
         
     | 
| 450 | 
         
            +
                        logits=logits,
         
     | 
| 451 | 
         
            +
                        hidden_states=outputs.hidden_states,
         
     | 
| 452 | 
         
            +
                        attentions=outputs.attentions,
         
     | 
| 453 | 
         
            +
                    )
         
     | 
| 454 | 
         
            +
             
     | 
| 455 | 
         
            +
            __all__ = ["OrthoViTConfig", "OrthoViTModel", "OrthoViTForImageClassification", "OrthoViTPreTrainedModel"]
         
     | 
    	
        residual.py
    ADDED
    
    | 
         @@ -0,0 +1,60 @@ 
     | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
| 
         | 
|
| 1 | 
         
            +
            import torch
         
     | 
| 2 | 
         
            +
             
     | 
| 3 | 
         
            +
            def _identity(x: torch.Tensor, f_x: torch.Tensor) -> torch.Tensor:
         
     | 
| 4 | 
         
            +
                """
         
     | 
| 5 | 
         
            +
                linear residual connection
         
     | 
| 6 | 
         
            +
                x   : residual stream
         
     | 
| 7 | 
         
            +
                f_x : attention/MLP/conv(if channel-wise) output
         
     | 
| 8 | 
         
            +
                """
         
     | 
| 9 | 
         
            +
                return f_x
         
     | 
| 10 | 
         
            +
             
     | 
| 11 | 
         
            +
            def _orthogonal_channel(x: torch.Tensor, f_x: torch.Tensor, dim: int, eps: float) -> torch.Tensor:
         
     | 
| 12 | 
         
            +
                """
         
     | 
| 13 | 
         
            +
                orthogonal residual connection
         
     | 
| 14 | 
         
            +
                x   : residual stream
         
     | 
| 15 | 
         
            +
                f_x : attention/MLP/conv(if channel-wise) output
         
     | 
| 16 | 
         
            +
                """
         
     | 
| 17 | 
         
            +
                dot      = (x * f_x).sum(dim, keepdim=True)
         
     | 
| 18 | 
         
            +
                norm_x2  = (x * x  ).sum(dim, keepdim=True) + eps
         
     | 
| 19 | 
         
            +
                scale = (dot / norm_x2).to(x.dtype) # for amp
         
     | 
| 20 | 
         
            +
                proj_out = scale * x
         
     | 
| 21 | 
         
            +
                return f_x - proj_out
         
     | 
| 22 | 
         
            +
             
     | 
| 23 | 
         
            +
            def _orthogonal_global(x: torch.Tensor, f_x: torch.Tensor, dim: int, eps: float) -> torch.Tensor:
         
     | 
| 24 | 
         
            +
                """
         
     | 
| 25 | 
         
            +
                orthogonal residual connection
         
     | 
| 26 | 
         
            +
                x   : residual stream
         
     | 
| 27 | 
         
            +
                f_x : conv output
         
     | 
| 28 | 
         
            +
                """    
         
     | 
| 29 | 
         
            +
                original_shape = x.shape
         
     | 
| 30 | 
         
            +
                positive_dim = dim if dim >= 0 else len(original_shape) + dim
         
     | 
| 31 | 
         
            +
             
     | 
| 32 | 
         
            +
                x_view   = x.flatten(dim)          # [B, CHW...]
         
     | 
| 33 | 
         
            +
                f_view   = f_x.flatten(dim)        # same
         
     | 
| 34 | 
         
            +
                dot      = (x_view * f_view).sum(dim=dim, keepdim=True)  # [B,1]
         
     | 
| 35 | 
         
            +
                norm_sq  = (x_view * x_view).sum(dim=dim, keepdim=True) + eps
         
     | 
| 36 | 
         
            +
             
     | 
| 37 | 
         
            +
                scale = (dot / norm_sq).to(x.dtype) # for amp
         
     | 
| 38 | 
         
            +
                unsqueeze_times = len(original_shape) - positive_dim - 1
         
     | 
| 39 | 
         
            +
                for _ in range(unsqueeze_times):
         
     | 
| 40 | 
         
            +
                    scale = scale.unsqueeze(-1)
         
     | 
| 41 | 
         
            +
                proj_out = scale * x  # broadcast
         
     | 
| 42 | 
         
            +
                return f_x - proj_out
         
     | 
| 43 | 
         
            +
             
     | 
| 44 | 
         
            +
            def connect(x, f_x, *, 
         
     | 
| 45 | 
         
            +
                        method="linear", orthogonal_method="global",
         
     | 
| 46 | 
         
            +
                        dim=-1, eps=1e-6, perturbation=None):
         
     | 
| 47 | 
         
            +
                if perturbation is not None:
         
     | 
| 48 | 
         
            +
                    raise NotImplementedError("perturbation is not implemented yet")
         
     | 
| 49 | 
         
            +
                if method == "linear":
         
     | 
| 50 | 
         
            +
                    return x + _identity(x, f_x)
         
     | 
| 51 | 
         
            +
                elif method == "orthogonal":
         
     | 
| 52 | 
         
            +
                    if orthogonal_method == "global":
         
     | 
| 53 | 
         
            +
                        return x + _orthogonal_global(x, f_x, dim, eps)
         
     | 
| 54 | 
         
            +
                    elif orthogonal_method == "channel":
         
     | 
| 55 | 
         
            +
                        return x + _orthogonal_channel(x, f_x, dim, eps)
         
     | 
| 56 | 
         
            +
                    else:
         
     | 
| 57 | 
         
            +
                        raise ValueError(f"unknown orthogonal  method: {method}")
         
     | 
| 58 | 
         
            +
                else:
         
     | 
| 59 | 
         
            +
                    raise ValueError(f"unknown connect method: {method}")
         
     | 
| 60 | 
         
            +
             
     |